diff --git a/.babelrc.json b/.babelrc.json
new file mode 100644
index 00000000..00ca841a
--- /dev/null
+++ b/.babelrc.json
@@ -0,0 +1,16 @@
+{
+  "sourceType": "unambiguous",
+  "presets": [
+    [
+      "@babel/preset-env",
+      {
+        "targets": {
+          "chrome": 100
+        }
+      }
+    ],
+    "@babel/preset-typescript",
+    "@babel/preset-react"
+  ],
+  "plugins": []
+}
diff --git a/.eslintignore b/.eslintignore
index 15b3d9dd..fd242800 100644
--- a/.eslintignore
+++ b/.eslintignore
@@ -2,4 +2,6 @@ dist
 node_modules
 build
 .eslintrc.js
-coverage
\ No newline at end of file
+coverage
+react-shim.js
+__mocks__/styleMock.js
\ No newline at end of file
diff --git a/.eslintrc.js b/.eslintrc.js
index be8192b4..7939b654 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -9,6 +9,7 @@ module.exports = {
     'plugin:react-hooks/recommended',
     'plugin:import/recommended',
     'plugin:import/typescript',
+    'plugin:storybook/recommended',
   ],
   plugins: [
     '@typescript-eslint',
@@ -25,34 +26,50 @@ module.exports = {
     es6: true,
   },
   parserOptions: {
+    project: './tsconfig.json',
     ecmaVersion: 2018,
     sourceType: 'module',
-    ecmaFeatures: {
-      jsx: true,
-    },
   },
   rules: {
     eqeqeq: 'error',
     'no-var': 'error',
     'prefer-const': 'error',
     curly: ['warn', 'multi-line', 'consistent'],
-    'no-console': 'off',
-    'import/no-unresolved': ['error', { commonjs: true, amd: true }],
+    'no-console': ['error', { allow: ['warn', 'info', 'error'] }],
+    'import/no-unresolved': [
+      'error',
+      {
+        commonjs: true,
+        amd: true,
+      },
+    ],
     'import/export': 'error',
     '@typescript-eslint/no-duplicate-imports': ['error'],
     '@typescript-eslint/explicit-module-boundary-types': 'off',
     '@typescript-eslint/no-unused-vars': [
       'warn',
-      { argsIgnorePattern: '^_', varsIgnorePattern: '^_' },
+      {
+        argsIgnorePattern: '^_',
+        varsIgnorePattern: '^_',
+      },
     ],
     '@typescript-eslint/no-use-before-define': 'off',
     '@typescript-eslint/no-empty-function': 'off',
     '@typescript-eslint/no-explicit-any': 'off',
-    'jest/consistent-test-it': ['error', { fn: 'it', withinDescribe: 'it' }],
+    'jest/consistent-test-it': [
+      'error',
+      {
+        fn: 'it',
+        withinDescribe: 'it',
+      },
+    ],
     'import/order': [
       'error',
       {
-        alphabetize: { order: 'asc', caseInsensitive: true },
+        alphabetize: {
+          order: 'asc',
+          caseInsensitive: true,
+        },
         groups: [
           'builtin',
           'external',
@@ -73,8 +90,9 @@ module.exports = {
         pathGroupsExcludedImportTypes: ['builtin'],
       },
     ],
-    'react/jsx-uses-react': 'off',
-    'react/react-in-jsx-scope': 'off',
+    // Disable it until we start supporting `react-jsx` again.
+    // 'react/jsx-uses-react': 'off',
+    // 'react/react-in-jsx-scope': 'off',
     'sort-imports': [
       'error',
       {
diff --git a/.nvmrc b/.nvmrc
index ecb0f8a9..d7cb9ec3 100644
--- a/.nvmrc
+++ b/.nvmrc
@@ -1 +1 @@
-18.13.0
\ No newline at end of file
+16.13.2
\ No newline at end of file
diff --git a/.storybook/main.ts b/.storybook/main.ts
new file mode 100644
index 00000000..a0ab4410
--- /dev/null
+++ b/.storybook/main.ts
@@ -0,0 +1,48 @@
+import { StorybookConfig } from '@storybook/react-webpack5';
+
+const webpack = require('webpack');
+const config: StorybookConfig = {
+  stories: ['../src/**/*.stories.mdx', '../src/**/*.stories.@(js|jsx|ts|tsx)'],
+  addons: [
+    '@storybook/addon-links',
+    '@storybook/addon-essentials',
+    '@storybook/addon-interactions',
+    '@storybook/addon-a11y',
+  ],
+  framework: {
+    name: '@storybook/react-webpack5',
+    options: {},
+  },
+  docs: {
+    autodocs: true,
+  },
+  typescript: {
+    reactDocgen: 'react-docgen-typescript',
+    reactDocgenTypescriptOptions: {
+      compilerOptions: {
+        allowSyntheticDefaultImports: false,
+        esModuleInterop: false,
+      },
+    },
+  },
+  core: {
+    disableTelemetry: true, // πŸ‘ˆ Disables telemetry
+    enableCrashReports: false, // πŸ‘ˆ Appends the crash reports to the telemetry events
+  },
+  webpackFinal: async (config, { configType }) => {
+    // `configType` has a value of 'DEVELOPMENT' or 'PRODUCTION'
+    // You can change the configuration based on that.
+    // 'PRODUCTION' is used when building the static version of storybook.
+
+    config?.plugins?.push(
+      new webpack.DefinePlugin({
+        __DEV__: configType === 'DEVELOPMENT',
+      }),
+    );
+
+    // Return the altered config
+    return config;
+  },
+};
+
+export default config;
diff --git a/.storybook/preview.ts b/.storybook/preview.ts
new file mode 100644
index 00000000..d3914580
--- /dev/null
+++ b/.storybook/preview.ts
@@ -0,0 +1,9 @@
+export const parameters = {
+  actions: { argTypesRegex: '^on[A-Z].*' },
+  controls: {
+    matchers: {
+      color: /(background|color)$/i,
+      date: /Date$/,
+    },
+  },
+};
diff --git a/.vscode/extensions.json b/.vscode/extensions.json
new file mode 100644
index 00000000..d7df89c9
--- /dev/null
+++ b/.vscode/extensions.json
@@ -0,0 +1,3 @@
+{
+  "recommendations": ["esbenp.prettier-vscode", "dbaeumer.vscode-eslint"]
+}
diff --git a/.vscode/settings.json b/.vscode/settings.json
new file mode 100644
index 00000000..30b9f4b0
--- /dev/null
+++ b/.vscode/settings.json
@@ -0,0 +1,17 @@
+{
+  "editor.formatOnSave": true,
+  "[javascript,typescript]": {
+    "editor.defaultFormatter": "esbenp.prettier-vscode"
+  },
+  "files.autoSave": "onFocusChange",
+  "editor.smoothScrolling": true,
+  "eslint.validate": [
+    "javascript",
+    "javascriptreact",
+    "typescript",
+    "typescriptreact"
+  ],
+  "editor.codeActionsOnSave": {
+    "source.fixAll.eslint": true
+  }
+}
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 1c761de6..f1c54cf4 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,61 @@
+# [0.3.0-next.4](https://github.com/jotai-labs/jotai-devtools/compare/v0.3.0-next.3...v0.3.0-next.4) (2023-03-02)
+
+### Bug Fixes
+
+- bundle in fonts for better stability
+  ([236cd75](https://github.com/jotai-labs/jotai-devtools/commit/236cd75c82add160635b0ded2fa2e0bfadc60e71))
+- fonts css
+  ([be8c16c](https://github.com/jotai-labs/jotai-devtools/commit/be8c16ccab78a0b9153b2a6c655d4f840547c73c))
+- use JetBrains mono fonts on NavLink
+  ([68cbe5a](https://github.com/jotai-labs/jotai-devtools/commit/68cbe5a4427ed1b5ea1bb968c1554a50f5ce1127))
+
+### Features
+
+- add option to display private atoms
+  ([d1875ee](https://github.com/jotai-labs/jotai-devtools/commit/d1875ee58ca2faa49512e30d1efc17f10b93de3b))
+
+# [0.3.0-next.3](https://github.com/jotai-labs/jotai-devtools/compare/v0.3.0-next.2...v0.3.0-next.3) (2023-02-17)
+
+### Bug Fixes
+
+- infer options type from Jotai
+  ([8ddad63](https://github.com/jotai-labs/jotai-devtools/commit/8ddad63821ce825b8871a14e7a6cc37eb2c93622))
+- use exactOptionalPropertyTypes
+  ([6c9cbdf](https://github.com/jotai-labs/jotai-devtools/commit/6c9cbdffa020e9f15e1e0198d18eefae0b2e4f28))
+
+### Features
+
+- add custom style nonce + remove global normalized styles
+  ([10d3c4a](https://github.com/jotai-labs/jotai-devtools/commit/10d3c4a93494bd27fc16d1607cc42ea3f2e00ae4))
+
+# [0.3.0-next.2](https://github.com/jotai-labs/jotai-devtools/compare/v0.3.0-next.1...v0.3.0-next.2) (2023-02-12)
+
+### Features
+
+- add error boundary
+  ([5667a05](https://github.com/jotai-labs/jotai-devtools/commit/5667a059da325ee8d0452e5d097d4eb14ab97c5e))
+
+# [0.3.0-next.1](https://github.com/jotai-labs/jotai-devtools/compare/v0.3.0-next.0...v0.3.0-next.1) (2023-02-10)
+
+### Bug Fixes
+
+- handle atom containing undefined values
+  ([c086a75](https://github.com/jotai-labs/jotai-devtools/commit/c086a75ed92066c78a3d42f5b3e5b924576bbee5))
+- inject react shim to the build
+  ([a20a235](https://github.com/jotai-labs/jotai-devtools/commit/a20a2355b08193fc4f8cde6dec85602ead7229df))
+
+### Features
+
+- make raw and parse value copyable
+  ([5348337](https://github.com/jotai-labs/jotai-devtools/commit/5348337530177f8db80e53d0d35e339cd78ad84c))
+
+# [0.3.0-next.0](https://github.com/jotai-labs/jotai-devtools/compare/v0.2.0...v0.3.0-next.0) (2023-02-07)
+
+### Features
+
+- **ui-devtools:** initial commit
+  ([7c38133](https://github.com/jotai-labs/jotai-devtools/commit/7c38133a360c0c97db6406becdc1bf939e1001e7))
+
 # [0.2.0](https://github.com/jotai-labs/jotai-devtools/compare/v0.2.0-next.1...v0.2.0) (2023-02-01)
 
 # [0.2.0-next.1](https://github.com/jotai-labs/jotai-devtools/compare/v0.2.0-next.0...v0.2.0-next.1) (2023-01-17)
diff --git a/README.md b/README.md
index 86e78334..32b1736b 100644
--- a/README.md
+++ b/README.md
@@ -1,21 +1,140 @@
-# jotai-devtools
+# Jotai DevTools
 
-## Prerequisites
+[![Build Status](https://img.shields.io/github/actions/workflow/status/jotaijs/jotai-devtools/ci.yml?style=flat&colorA=000000&colorB=259e02)](https://github.com/jotaijs/jotai-devtools/actions/workflows/ci.yml)
+[![Version](https://img.shields.io/npm/v/jotai-devtools?style=flat&colorA=000000&colorB=259e02)](https://www.npmjs.com/package/jotai-devtools)
 
-- Jotai version `>=1.11.0`
+## πŸš€ Features
+
+- Debug 🐞 atom values with ease
+- Out-of-the-box πŸ”Œ support for async/suspendible atoms
+- Built-in Dark mode πŸŒ—
+- βœ… Supports custom `store`
+- βœ… Works with provider-less mode
+- βœ… Works with Next.js
+- βœ… Supports custom `nonce` for CSP
+- βœ… Hides private atoms with ability to configure (requires Jotai `>=2.0.3`)
+- βœ… Tree-shakable and built for non-production environments
+
+## πŸ“Ί Preview
+
+<p>
+    <a href="https://www.npmjs.com/package/jotai-devtools">
+      <img alt="Jotai DevTools Screenshot" src="./docs/internal/demo-screenshot.png" width="750"/>
+  </a>
+</p>
+
+## ☝️ Prerequisites
+
+- Jotai version `>=1.11.0` (highly recommended to use `2.x.x`)
 - React version `>=17.0.0`
 
-## Setup
+## πŸ“¦ Setup
 
 ```sh
+# yarn
+yarn add jotai-devtools
+
 # npm
 npm install jotai-devtools --save
+```
 
-# yarn
-yarn add jotai-devtools
+## ✨ UI DevTools
+
+Enhance your development experience with the UI based Jotai DevTool
+
+[![Demo](https://img.shields.io/badge/demo-%F0%9F%9A%80-green?style=flat&colorA=000000&colorB=259e02)](https://codesandbox.io/s/jotai-devtools-demo-k5p12d)
+
+### Babel plugin setup - (Optional but highly recommended)
+
+Use Jotai babel plugins for optimal debugging experience. Find the complete
+guide on [jotai.org](https://jotai.org/docs/tools/babel)
+
+Eg.
+
+```ts
+{
+  "plugins": [
+    // Enables hot reload for atoms
+    "jotai/babel/plugin-react-refresh",
+    // Automatically adds debug labels to the atoms
+    "jotai/babel/plugin-debug-label"
+  ]
+}
+```
+
+### Next JS setup
+
+_You may skip this section if you're not using [Next.js](https://nextjs.org)._
+
+Enable `transpilePackages` for the UI CSS and components to be transpiled
+correctly.
+
+```ts
+// next.config.ts
+
+const nextConfig = {
+  // Learn more here - https://nextjs.org/docs/advanced-features/compiler#module-transpilation
+  // Required for font css to be imported correctly πŸ‘‡
+  transpilePackages: ['jotai-devtools'],
+};
+
+module.exports = nextConfig;
+```
+
+### Available props
+
+```ts
+type DevToolsProps = {
+  // Defaults to false
+  isInitialOpen?: boolean;
+  // pass a custom store
+  store?: Store;
+  // Defaults to light
+  theme?: 'dark' | 'light';
+  // Custom nonce to allowlist jotai-devtools specific inline styles via CSP
+  nonce?: string;
+  options?: {
+    // Private atoms are used internally in atoms like `atomWithStorage` or `atomWithLocation`, etc. to manage state.
+    // Defaults to `false`
+    shouldShowPrivateAtoms?: boolean;
+  };
+};
+```
+
+### Provider-less
+
+```tsx
+import { DevTools } from 'jotai-devtools';
+
+const App = () => {
+  return (
+    <>
+      <DevTools />
+      {/* your app */}
+    </>
+  );
+};
+```
+
+### With Provider
+
+```tsx
+import { createStore } from 'jotai';
+import { DevTools } from 'jotai-devtools';
+
+const customStore = createStore();
+
+const App = () => {
+  return (
+    <Provider store={customStore}>
+      <DevTools store={customStore} />
+      {/* your app */}
+    </Provider>
+  );
+};
 ```
 
-## API
+## Hooks
 
 Detailed documentation is available on
 [https://jotai.org/docs/api/devtools](https://jotai.org/docs/api/devtools)
@@ -65,5 +184,4 @@ Find the official migration guide on
 
 ### Other announcements
 
-✨ UI based devtools is
-[coming soon](https://twitter.com/dai_shi/status/1611717249471246338)!
+✨ [First announcement](https://twitter.com/dai_shi/status/1611717249471246338)
diff --git a/__mocks__/styleMock.js b/__mocks__/styleMock.js
new file mode 100644
index 00000000..f053ebf7
--- /dev/null
+++ b/__mocks__/styleMock.js
@@ -0,0 +1 @@
+module.exports = {};
diff --git a/__tests__/custom-render.tsx b/__tests__/custom-render.tsx
new file mode 100644
index 00000000..ba6d6bbc
--- /dev/null
+++ b/__tests__/custom-render.tsx
@@ -0,0 +1,9 @@
+import React, { PropsWithChildren, StrictMode } from 'react';
+import { RenderOptions, render } from '@testing-library/react';
+
+const AllTheProviders = ({ children }: PropsWithChildren) => {
+  return <StrictMode>{children}</StrictMode>;
+};
+
+export const customRender = (ui: React.ReactElement, options?: RenderOptions) =>
+  render(ui, { wrapper: AllTheProviders, ...options });
diff --git a/__tests__/devtools/AtomViewer.test.tsx b/__tests__/devtools/AtomViewer.test.tsx
new file mode 100644
index 00000000..06f59401
--- /dev/null
+++ b/__tests__/devtools/AtomViewer.test.tsx
@@ -0,0 +1,381 @@
+import React, { useMemo } from 'react';
+import { act, render, screen, waitFor } from '@testing-library/react';
+import userEvent from '@testing-library/user-event';
+import { atom, useAtomValue } from 'jotai';
+import { DevTools } from 'jotai-devtools';
+import { AnyAtom } from 'src/types';
+import { customRender } from '../custom-render';
+
+const BasicAtomsWithDevTools = () => {
+  // Create atoms inside the component so that they are recreated for each test
+  const countAtom = useMemo(() => atom(0), []);
+  countAtom.debugLabel = 'countAtom';
+  const doubleAtom = useMemo(
+    () => atom((get) => get(countAtom) * 2),
+    [countAtom],
+  );
+
+  useAtomValue(countAtom);
+  useAtomValue(doubleAtom);
+  return <DevTools isInitialOpen={true} />;
+};
+
+describe('DevTools - AtomViewer', () => {
+  describe('List of atoms', () => {
+    it('should render atom viewer without any errors if there are no atoms', async () => {
+      const { container } = customRender(<DevTools isInitialOpen={true} />);
+      await waitFor(() =>
+        expect(screen.getByText('πŸ‘» Jōtai DevTools')).toBeInTheDocument(),
+      );
+      expect(screen.getByText('Atom Viewer')).toBeInTheDocument();
+      expect(
+        screen.getByTestId('atom-list-no-atoms-found-message'),
+      ).toHaveTextContent('No Atoms found!');
+      expect(screen.getByLabelText('Search')).toBeInTheDocument();
+      expect(
+        screen.getByText(
+          'Select an atom from the left panel to view the details',
+        ),
+      ).toBeInTheDocument();
+      expect(container).toMatchSnapshot();
+    });
+
+    it('should render atom viewer with correct atoms without provider', async () => {
+      const { container } = customRender(<BasicAtomsWithDevTools />);
+      expect(screen.getByText('countAtom')).toBeInTheDocument();
+      // We did not add `debugLabel` to `doubleAtom` so it should be unlabeled
+      expect(screen.getByText('<unlabeled-atom>')).toBeInTheDocument();
+      expect(container).toMatchSnapshot();
+    });
+
+    describe('private atoms', () => {
+      const PrivateAtomsWithDevTools = ({
+        markAtomPrivate = true,
+        shouldShowPrivateAtoms = false,
+      }: {
+        markAtomPrivate?: boolean;
+        shouldShowPrivateAtoms?: boolean;
+      }) => {
+        // Create atoms inside the component so that they are recreated for each test
+        const countAtom = useMemo(() => atom(0), []);
+        countAtom.debugLabel = 'countAtom';
+
+        const privateAtom = useMemo(
+          () => atom((get) => get(countAtom) * 0),
+          [countAtom],
+        );
+        privateAtom.debugLabel = 'privateAtom';
+        privateAtom.debugPrivate = markAtomPrivate;
+
+        const doubleAtom = useMemo(
+          () => atom((get) => get(countAtom) * get(privateAtom)),
+          [countAtom, privateAtom],
+        );
+
+        useAtomValue(countAtom);
+        useAtomValue(doubleAtom);
+        useAtomValue(privateAtom);
+
+        return (
+          <DevTools
+            isInitialOpen={true}
+            options={{
+              shouldShowPrivateAtoms: shouldShowPrivateAtoms,
+            }}
+          />
+        );
+      };
+
+      it('should not render private atoms', async () => {
+        customRender(<PrivateAtomsWithDevTools />);
+        expect(screen.queryByText('privateAtom')).not.toBeInTheDocument();
+        expect(screen.getByText('countAtom')).toBeInTheDocument();
+        expect(screen.getByText('<unlabeled-atom>')).toBeInTheDocument();
+      });
+
+      it('should render private atoms when shouldShowPrivateAtoms is marked as true', async () => {
+        customRender(<PrivateAtomsWithDevTools shouldShowPrivateAtoms />);
+        expect(screen.getByText('privateAtom')).toBeInTheDocument();
+      });
+
+      it('should hide private atoms from dependents list when shouldShowPrivateAtoms is marked as false', async () => {
+        const { container } = customRender(<PrivateAtomsWithDevTools />);
+
+        await act(async () => {
+          await userEvent.click(screen.getByText('countAtom'));
+        });
+
+        expect(screen.getByText('Atom Details')).toBeInTheDocument();
+        expect(screen.getByText('Meta')).toBeInTheDocument();
+        expect(screen.getByText('Debug Label')).toBeInTheDocument();
+        expect(
+          screen.getByTestId('display-detail-item-value-countAtom'),
+        ).toHaveTextContent('countAtom');
+        expect(screen.getByText('Value type')).toBeInTheDocument();
+        expect(screen.getByText('number')).toBeInTheDocument();
+        expect(screen.queryByText('Private')).not.toBeInTheDocument();
+        expect(screen.queryByText('Yes')).not.toBeInTheDocument();
+
+        expect(screen.getByText('Raw value')).toBeInTheDocument();
+        expect(screen.getByTestId('atom-parsed-value')).toHaveTextContent('0');
+
+        expect(screen.getByText('Dependents')).toBeInTheDocument();
+        expect(
+          screen.queryByTestId('dependents-list-item-<unlabeled-atom>-0'),
+        ).toBeInTheDocument();
+        expect(
+          screen.queryByTestId('dependents-list-item-privateAtom-0'),
+        ).not.toBeInTheDocument();
+        expect(container).toMatchSnapshot();
+      });
+
+      it('should mark private atoms in atom details', async () => {
+        const { container } = customRender(
+          <PrivateAtomsWithDevTools shouldShowPrivateAtoms />,
+        );
+
+        await act(async () => {
+          await userEvent.click(screen.getByText('privateAtom'));
+        });
+
+        expect(screen.getByText('Atom Details')).toBeInTheDocument();
+        expect(screen.getByText('Meta')).toBeInTheDocument();
+        expect(screen.getByText('Debug Label')).toBeInTheDocument();
+        expect(
+          screen.getByTestId('display-detail-item-value-privateAtom'),
+        ).toHaveTextContent('privateAtom');
+        expect(screen.getByText('Value type')).toBeInTheDocument();
+        expect(screen.getByText('number')).toBeInTheDocument();
+        expect(screen.getByText('Private')).toBeInTheDocument();
+        expect(screen.getByText('Yes')).toBeInTheDocument();
+
+        expect(screen.getByText('Raw value')).toBeInTheDocument();
+        expect(screen.getByTestId('atom-parsed-value')).toHaveTextContent('0');
+
+        expect(screen.getByText('Dependents')).toBeInTheDocument();
+        expect(
+          screen.getByTestId('dependents-list-item-<unlabeled-atom>-0'),
+        ).toBeInTheDocument();
+        expect(container).toMatchSnapshot();
+      });
+    });
+
+    describe('Search', () => {
+      it('should search for atoms correctly', async () => {
+        const { container } = customRender(<BasicAtomsWithDevTools />);
+
+        await act(async () => {
+          await userEvent.type(screen.getByLabelText('Search'), 'count');
+        });
+
+        expect(
+          screen.queryByTestId('atom-list-no-atoms-found-message'),
+        ).not.toBeInTheDocument();
+        expect(screen.getByText('countAtom')).toBeInTheDocument();
+        expect(screen.queryByText('<unlabeled-atom>')).not.toBeInTheDocument();
+        expect(container).toMatchSnapshot();
+      });
+      it('should display an error if no atoms are found', async () => {
+        const { container } = customRender(<BasicAtomsWithDevTools />);
+
+        await act(async () => {
+          await userEvent.type(screen.getByLabelText('Search'), 'abc 123');
+        });
+        expect(
+          screen.getByTestId('atom-list-no-atoms-found-message'),
+        ).toHaveTextContent('No Atoms found!');
+        expect(screen.queryByText('countAtom')).not.toBeInTheDocument();
+        expect(screen.queryByText('<unlabeled-atom>')).not.toBeInTheDocument();
+        expect(container).toMatchSnapshot();
+      });
+    });
+
+    describe('auto unmount', () => {
+      it('should unselect the atom when an atom is unsubscribed', async () => {
+        const BasicAtoms = () => {
+          const countAtom = useMemo(() => atom(0), []);
+          countAtom.debugLabel = 'countAtom';
+          const doubleCountAtom = useMemo(
+            () => atom((get) => get(countAtom) * 2),
+            [countAtom],
+          );
+          doubleCountAtom.debugLabel = 'doubleCountAtom';
+          useAtomValue(doubleCountAtom);
+
+          return <div data-testid="basic-atoms"></div>;
+        };
+
+        const ToggleAbleAtomWithDevTools = () => {
+          const [shouldShow, setShouldShow] = React.useState(true);
+
+          const handleOntoggle = React.useCallback(() => {
+            setShouldShow((s) => !s);
+          }, [setShouldShow]);
+
+          return (
+            <>
+              {shouldShow ? <BasicAtoms /> : null}
+              <button onClick={handleOntoggle}>Toggle</button>
+            </>
+          );
+        };
+
+        const TestComponent = () => {
+          return (
+            <>
+              <DevTools isInitialOpen={true} />
+              <ToggleAbleAtomWithDevTools />
+            </>
+          );
+        };
+
+        customRender(<TestComponent />);
+        await act(async () => {
+          await userEvent.click(screen.getByText('doubleCountAtom'));
+        });
+        expect(
+          screen.getByTestId('display-detail-item-value-doubleCountAtom'),
+        ).toBeInTheDocument();
+
+        await act(async () => {
+          await userEvent.click(screen.getByText('Toggle'));
+        });
+
+        expect(screen.queryByText('Atom Details')).not.toBeInTheDocument();
+        expect(
+          screen.queryByText('display-detail-item-value-doubleCountAtom'),
+        ).not.toBeInTheDocument();
+        expect(
+          screen.getByTestId('atom-list-no-atoms-found-message'),
+        ).toHaveTextContent('No Atoms found!');
+        expect(screen.getByLabelText('Search')).toBeInTheDocument();
+        expect(
+          screen.getByText(
+            'Select an atom from the left panel to view the details',
+          ),
+        ).toBeInTheDocument();
+      });
+    });
+  });
+
+  describe('Atom details', () => {
+    describe('Raw value', () => {
+      it('should display an error when we are not able to parse the value', async () => {
+        class CircularClass {
+          circular: any;
+          constructor() {
+            this.circular = this;
+          }
+        }
+
+        const circularObject: InstanceType<typeof CircularClass> =
+          new CircularClass();
+
+        const CircularAtomWithDevTools = () => {
+          // Create atoms inside the component so that they are recreated for each test
+          const circularAtom = useMemo(() => atom(circularObject), []);
+          circularAtom.debugLabel = 'circularAtom';
+
+          useAtomValue(circularAtom);
+          return <DevTools isInitialOpen={true} />;
+        };
+
+        const { container } = customRender(<CircularAtomWithDevTools />);
+
+        await act(async () => {
+          await userEvent.click(screen.getByText('circularAtom'));
+        });
+
+        expect(screen.getByText('Atom Details')).toBeInTheDocument();
+        expect(screen.getByText('Meta')).toBeInTheDocument();
+        expect(screen.getByText('Debug Label')).toBeInTheDocument();
+
+        expect(screen.getByText('Raw value')).toBeInTheDocument();
+        expect(
+          screen.getByText('Failed to parse the value of the atom'),
+        ).toBeInTheDocument();
+        expect(screen.getByText('Dependents')).toBeInTheDocument();
+        expect(screen.getByText('No dependents')).toBeInTheDocument();
+        expect(container).toMatchSnapshot();
+      });
+
+      it('should display atom details when an atom is selected', async () => {
+        const { container } = customRender(<BasicAtomsWithDevTools />);
+
+        await act(async () => {
+          await userEvent.click(screen.getByText('countAtom'));
+        });
+
+        expect(screen.getByText('Atom Details')).toBeInTheDocument();
+        expect(screen.getByText('Meta')).toBeInTheDocument();
+        expect(screen.getByText('Debug Label')).toBeInTheDocument();
+        expect(
+          screen.getByTestId('display-detail-item-value-countAtom'),
+        ).toHaveTextContent('countAtom');
+        expect(screen.getByText('Value type')).toBeInTheDocument();
+        expect(screen.getByText('number')).toBeInTheDocument();
+
+        expect(screen.getByText('Raw value')).toBeInTheDocument();
+        expect(screen.getByTestId('atom-parsed-value')).toHaveTextContent('0');
+
+        expect(screen.getByText('Dependents')).toBeInTheDocument();
+        expect(
+          screen.getByTestId('dependents-list-item-<unlabeled-atom>-0'),
+        ).toBeInTheDocument();
+        expect(container).toMatchSnapshot();
+      });
+
+      it('should display the dependents of the atom correctly', async () => {
+        const { container } = render(<BasicAtomsWithDevTools />);
+
+        await act(async () => {
+          await userEvent.click(screen.getByText('<unlabeled-atom>'));
+        });
+
+        expect(screen.getByText('Atom Details')).toBeInTheDocument();
+
+        expect(screen.getByText('Dependents')).toBeInTheDocument();
+        expect(screen.getByText('No dependents')).toBeInTheDocument();
+        expect(container).toMatchSnapshot();
+      });
+
+      describe('Supports most primitive value types', () => {
+        const AtomRenderer = ({ atom }: { atom: AnyAtom }) => {
+          useAtomValue(atom);
+          return <DevTools isInitialOpen={true} />;
+        };
+
+        it.each`
+          type           | value                    | expected
+          ${'string'}    | ${'some-string'}         | ${'some-string'}
+          ${'number'}    | ${123}                   | ${123}
+          ${'boolean'}   | ${true}                  | ${true}
+          ${'boolean'}   | ${false}                 | ${false}
+          ${'null'}      | ${null}                  | ${'null'}
+          ${'undefined'} | ${undefined}             | ${'undefined'}
+          ${'bigint'}    | ${BigInt(123)}           | ${'123'}
+          ${'symbol'}    | ${Symbol('some-symbol')} | ${'Symbol(some-symbol)'}
+          ${'function'}  | ${() => () => 'hello'}   | ${"()=>'hello'"}
+          ${'object'}    | ${{ foo: 'bar' }}        | ${'{ "foo": "bar"}'}
+          ${'array'}     | ${[1, 2, 3]}             | ${'[ 1, 2, 3]'}
+        `(
+          'should parse "$type" value correctly',
+          async ({ value, expected }) => {
+            const valueAtom = atom(value);
+            valueAtom.debugLabel = 'valueAtom';
+
+            customRender(<AtomRenderer atom={valueAtom} />);
+
+            await act(async () => {
+              await userEvent.click(screen.getByText('valueAtom'));
+            });
+
+            expect(screen.getByTestId('atom-parsed-value')).toHaveTextContent(
+              expected,
+            );
+          },
+        );
+      });
+    });
+  });
+});
diff --git a/__tests__/devtools/__snapshots__/AtomViewer.test.tsx.snap b/__tests__/devtools/__snapshots__/AtomViewer.test.tsx.snap
new file mode 100644
index 00000000..c9fc91d2
--- /dev/null
+++ b/__tests__/devtools/__snapshots__/AtomViewer.test.tsx.snap
@@ -0,0 +1,13685 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`DevTools - AtomViewer Atom details Raw value should display an error when we are not able to parse the value 1`] = `
+.emotion-1 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  color: #000;
+  line-height: 1.55;
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale;
+  font-size: 16px;
+}
+
+.emotion-1 *,
+.emotion-1 *::before,
+.emotion-1 *::after {
+  box-sizing: border-box;
+}
+
+.emotion-2 {
+  -webkit-flex-direction: row;
+  -ms-flex-direction: row;
+  flex-direction: row;
+  position: fixed;
+  left: 0;
+  bottom: 0;
+  width: calc(100% - 20px);
+  border-color: #dee2e6;
+  border-width: 1px;
+  border-style: solid;
+  border-radius: 8px;
+  background: #fff;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-flex-direction: column;
+  -ms-flex-direction: column;
+  flex-direction: column;
+  z-index: 99999;
+  margin: 10px;
+  height: 370px;
+  max-height: 90%;
+}
+
+.emotion-3 {
+  width: 100%;
+  height: 5px;
+  cursor: row-resize;
+  z-index: 2;
+  position: absolute;
+  top: -2px;
+}
+
+.emotion-4 {
+  position: -webkit-sticky;
+  position: sticky;
+  top: 0;
+  z-index: 1;
+  width: 100%;
+}
+
+.emotion-5 {
+  padding: 10px;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-pack: justify;
+  -webkit-justify-content: space-between;
+  justify-content: space-between;
+}
+
+.emotion-7 {
+  box-sizing: border-box;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-flex-direction: row;
+  -ms-flex-direction: row;
+  flex-direction: row;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-flex-wrap: wrap;
+  -webkit-flex-wrap: wrap;
+  -ms-flex-wrap: wrap;
+  flex-wrap: wrap;
+  -webkit-box-pack: start;
+  -ms-flex-pack: start;
+  -webkit-justify-content: flex-start;
+  justify-content: flex-start;
+  gap: 16px;
+  margin-right: 10px;
+}
+
+.emotion-7>* {
+  box-sizing: border-box;
+  -webkit-box-flex: 0;
+  -webkit-flex-grow: 0;
+  -ms-flex-positive: 0;
+  flex-grow: 0;
+}
+
+.emotion-10 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: inherit;
+  font-size: inherit;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;
+  font-weight: 700;
+  font-size: 18px;
+  line-height: 1.45;
+  margin: 0;
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+}
+
+.emotion-10:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-10:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-12 {
+  -webkit-tap-highlight-color: transparent;
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  font-size: 9px;
+  height: 16px;
+  line-height: 14px;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  padding: 0 6.666666666666667px;
+  box-sizing: border-box;
+  display: -webkit-inline-box;
+  display: -webkit-inline-flex;
+  display: -ms-inline-flexbox;
+  display: inline-flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-pack: center;
+  -ms-flex-pack: center;
+  -webkit-justify-content: center;
+  justify-content: center;
+  width: auto;
+  text-transform: uppercase;
+  border-radius: 32px;
+  font-weight: 700;
+  letter-spacing: 0.25px;
+  cursor: inherit;
+  text-overflow: ellipsis;
+  overflow: hidden;
+  background: rgba(255, 244, 230, 1);
+  color: #fd7e14;
+  border: 1px solid transparent;
+}
+
+.emotion-12:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-12:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-13 {
+  white-space: nowrap;
+  overflow: hidden;
+  text-overflow: ellipsis;
+}
+
+.emotion-15 {
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+}
+
+.emotion-18 {
+  -webkit-tap-highlight-color: transparent;
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  cursor: pointer;
+  border: 0;
+  padding: 0;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  -ms-appearance: none;
+  appearance: none;
+  font-size: 16px;
+  background-color: transparent;
+  text-align: left;
+  color: #000;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  box-sizing: border-box;
+  border: 1px solid transparent;
+  background-color: #25262b;
+  color: #fff;
+  position: relative;
+  height: 28px;
+  min-height: 28px;
+  width: 28px;
+  min-width: 28px;
+  border-radius: 4px;
+  padding: 0;
+  line-height: 1;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-pack: center;
+  -ms-flex-pack: center;
+  -webkit-justify-content: center;
+  justify-content: center;
+}
+
+.emotion-18:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-18:focus:not(:focus-visible) {
+  outline: none;
+}
+
+@media (hover: hover) {
+  .emotion-18:hover {
+    background-color: #1A1B1E;
+  }
+}
+
+@media (hover: none) {
+  .emotion-18:active {
+    background-color: #1A1B1E;
+  }
+}
+
+.emotion-18:active {
+  -webkit-transform: scale(1);
+  -moz-transform: scale(1);
+  -ms-transform: scale(1);
+  transform: scale(1);
+}
+
+.emotion-18:disabled,
+.emotion-18[data-disabled] {
+  color: #ced4da;
+  cursor: not-allowed;
+  background-color: #f1f3f5;
+  border-color: #f1f3f5;
+  background-image: none;
+  pointer-events: none;
+}
+
+.emotion-18:disabled:active,
+.emotion-18[data-disabled]:active {
+  -webkit-transform: none;
+  -moz-transform: none;
+  -ms-transform: none;
+  transform: none;
+}
+
+.emotion-18[data-loading] {
+  pointer-events: none;
+}
+
+.emotion-18[data-loading]::before {
+  content: "";
+  position: absolute;
+  top: -1px;
+  left: -1px;
+  right: -1px;
+  bottom: -1px;
+  background-color: rgba(255, 255, 255, .5);
+  border-radius: 4px;
+  cursor: not-allowed;
+}
+
+.emotion-21 {
+  -webkit-tap-highlight-color: transparent;
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  cursor: pointer;
+  border: 0;
+  padding: 0;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  -ms-appearance: none;
+  appearance: none;
+  font-size: 16px;
+  background-color: transparent;
+  text-align: left;
+  color: #000;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  box-sizing: border-box;
+  border: 1px solid transparent;
+  background-color: transparent;
+  color: #868e96;
+  position: relative;
+  height: 28px;
+  min-height: 28px;
+  width: 28px;
+  min-width: 28px;
+  border-radius: 8px;
+  padding: 0;
+  line-height: 1;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-pack: center;
+  -ms-flex-pack: center;
+  -webkit-justify-content: center;
+  justify-content: center;
+  margin-left: 10px;
+}
+
+.emotion-21:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-21:focus:not(:focus-visible) {
+  outline: none;
+}
+
+@media (hover: hover) {
+  .emotion-21:hover {
+    background-color: rgba(248, 249, 250, 1);
+  }
+}
+
+@media (hover: none) {
+  .emotion-21:active {
+    background-color: rgba(248, 249, 250, 1);
+  }
+}
+
+.emotion-21:active {
+  -webkit-transform: scale(1);
+  -moz-transform: scale(1);
+  -ms-transform: scale(1);
+  transform: scale(1);
+}
+
+.emotion-21:disabled,
+.emotion-21[data-disabled] {
+  color: #ced4da;
+  cursor: not-allowed;
+  background-color: #f1f3f5;
+  border-color: #f1f3f5;
+  background-image: none;
+  pointer-events: none;
+}
+
+.emotion-21:disabled:active,
+.emotion-21[data-disabled]:active {
+  -webkit-transform: none;
+  -moz-transform: none;
+  -ms-transform: none;
+  transform: none;
+}
+
+.emotion-21[data-loading] {
+  pointer-events: none;
+}
+
+.emotion-21[data-loading]::before {
+  content: "";
+  position: absolute;
+  top: -1px;
+  left: -1px;
+  right: -1px;
+  bottom: -1px;
+  background-color: rgba(255, 255, 255, .5);
+  border-radius: 8px;
+  cursor: not-allowed;
+}
+
+.emotion-23 {
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-box-flex-wrap: wrap;
+  -webkit-flex-wrap: wrap;
+  -ms-flex-wrap: wrap;
+  flex-wrap: wrap;
+  -webkit-flex-direction: row;
+  -ms-flex-direction: row;
+  flex-direction: row;
+  -webkit-box-pack: start;
+  -ms-flex-pack: start;
+  -webkit-justify-content: flex-start;
+  justify-content: flex-start;
+  border-bottom: 2px solid #dee2e6;
+}
+
+.emotion-26 {
+  -webkit-tap-highlight-color: transparent;
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  cursor: pointer;
+  border: 0;
+  padding: 0;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  -ms-appearance: none;
+  appearance: none;
+  font-size: 16px;
+  background-color: transparent;
+  text-align: left;
+  color: #000;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  box-sizing: border-box;
+  position: relative;
+  padding: 10px 16px;
+  padding-left: 10px;
+  font-size: 14px;
+  white-space: nowrap;
+  z-index: 0;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-pack: center;
+  -ms-flex-pack: center;
+  -webkit-justify-content: center;
+  justify-content: center;
+  line-height: 1;
+  border-bottom: 2px solid transparent;
+  margin-bottom: -2px;
+  border-radius: 4px 4px 0 0;
+}
+
+.emotion-26:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-26:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-26:disabled {
+  opacity: 0.5;
+  cursor: not-allowed;
+}
+
+@media (hover: hover) {
+  .emotion-26:disabled:hover {
+    background-color: transparent;
+  }
+}
+
+@media (hover: none) {
+  .emotion-26:disabled:active {
+    background-color: transparent;
+  }
+}
+
+.emotion-26:focus {
+  z-index: 1;
+}
+
+@media (hover: hover) {
+  .emotion-26:hover {
+    background-color: #f8f9fa;
+    border-color: #dee2e6;
+  }
+}
+
+@media (hover: none) {
+  .emotion-26:active {
+    background-color: #f8f9fa;
+    border-color: #dee2e6;
+  }
+}
+
+.emotion-26[data-active] {
+  border-color: #25262b;
+  color: #000;
+}
+
+@media (hover: hover) {
+  .emotion-26[data-active]:hover {
+    border-color: #25262b;
+  }
+}
+
+@media (hover: none) {
+  .emotion-26[data-active]:active {
+    border-color: #25262b;
+  }
+}
+
+.emotion-27 {
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-box-pack: center;
+  -ms-flex-pack: center;
+  -webkit-justify-content: center;
+  justify-content: center;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+}
+
+.emotion-27:not(:only-child) {
+  margin-right: 7px;
+}
+
+.emotion-32 {
+  height: 100%;
+  overflow: hidden;
+  border-bottom-left-radius: 7px;
+  border-bottom-right-radius: 7px;
+}
+
+.emotion-33 {
+  padding: 10px;
+  padding-top: 0;
+  height: 100%;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-flex-direction: column;
+  -ms-flex-direction: column;
+  flex-direction: column;
+  background: #e9ecef;
+}
+
+.emotion-36 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  line-height: 1.55;
+  position: -webkit-sticky;
+  position: sticky;
+  top: 0;
+  padding-top: 10px;
+  padding-bottom: 10px;
+}
+
+.emotion-39 {
+  display: inline-block;
+  font-size: 14px;
+  font-weight: 500;
+  color: #212529;
+  word-break: break-word;
+  cursor: default;
+  -webkit-tap-highlight-color: transparent;
+}
+
+.emotion-42 {
+  position: relative;
+}
+
+.emotion-45 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  height: 36px;
+  -webkit-tap-highlight-color: transparent;
+  line-height: 34px;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  -ms-appearance: none;
+  appearance: none;
+  resize: none;
+  box-sizing: border-box;
+  font-size: 14px;
+  width: 100%;
+  color: #000;
+  display: block;
+  text-align: left;
+  min-height: 36px;
+  padding-left: 12px;
+  padding-right: 12px;
+  border-radius: 4px;
+  border: 1px solid #ced4da;
+  background-color: #fff;
+  -webkit-transition: border-color 100ms ease;
+  transition: border-color 100ms ease;
+}
+
+.emotion-45:disabled {
+  background-color: #f1f3f5;
+  color: #909296;
+  opacity: 0.6;
+  cursor: not-allowed;
+}
+
+.emotion-45:disabled::-webkit-input-placeholder {
+  color: #909296;
+}
+
+.emotion-45:disabled::-moz-placeholder {
+  color: #909296;
+}
+
+.emotion-45:disabled:-ms-input-placeholder {
+  color: #909296;
+}
+
+.emotion-45:disabled::placeholder {
+  color: #909296;
+}
+
+.emotion-45::-webkit-input-placeholder {
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+  color: #adb5bd;
+  opacity: 1;
+}
+
+.emotion-45::-moz-placeholder {
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+  color: #adb5bd;
+  opacity: 1;
+}
+
+.emotion-45:-ms-input-placeholder {
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+  color: #adb5bd;
+  opacity: 1;
+}
+
+.emotion-45::placeholder {
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+  color: #adb5bd;
+  opacity: 1;
+}
+
+.emotion-45::-webkit-inner-spin-button,
+.emotion-45::-webkit-outer-spin-button,
+.emotion-45::-webkit-search-decoration,
+.emotion-45::-webkit-search-cancel-button,
+.emotion-45::-webkit-search-results-button,
+.emotion-45::-webkit-search-results-decoration {
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  -ms-appearance: none;
+  appearance: none;
+}
+
+.emotion-45[type=number] {
+  -moz-appearance: textfield;
+}
+
+.emotion-45:focus,
+.emotion-45:focus-within {
+  outline: none;
+  border-color: #25262b;
+}
+
+.emotion-46 {
+  overflow: auto;
+}
+
+.emotion-49 {
+  -webkit-tap-highlight-color: transparent;
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  cursor: pointer;
+  border: 0;
+  padding: 0;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  -ms-appearance: none;
+  appearance: none;
+  font-size: 16px;
+  background-color: transparent;
+  text-align: left;
+  color: #000;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  box-sizing: border-box;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  width: 100%;
+  padding: 8px 12px;
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+  border-radius: 5px;
+}
+
+.emotion-49:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-49:focus:not(:focus-visible) {
+  outline: none;
+}
+
+@media (hover: hover) {
+  .emotion-49:hover {
+    background-color: #f8f9fa;
+  }
+}
+
+@media (hover: none) {
+  .emotion-49:active {
+    background-color: #f8f9fa;
+  }
+}
+
+.emotion-49[data-active] {
+  background-color: #25262b;
+  color: #fff;
+}
+
+@media (hover: hover) {
+  .emotion-49[data-active]:hover {
+    background-color: #1A1B1E;
+  }
+}
+
+@media (hover: none) {
+  .emotion-49[data-active]:active {
+    background-color: #1A1B1E;
+  }
+}
+
+.emotion-49[data-disabled] {
+  opacity: 0.4;
+  pointer-events: none;
+}
+
+.emotion-50 {
+  -webkit-flex: 1;
+  -ms-flex: 1;
+  flex: 1;
+  overflow: hidden;
+  text-overflow: ellipsis;
+}
+
+.emotion-54 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: inherit;
+  font-size: 14px;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+}
+
+.emotion-54:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-54:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-56 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: inherit;
+  font-size: inherit;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  font-family: JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;
+}
+
+.emotion-56:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-56:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-59 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: #868e96;
+  font-size: 12px;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  display: block;
+}
+
+.emotion-59:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-59:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-59[data-active] {
+  color: inherit;
+}
+
+.emotion-60 {
+  margin-left: 12px;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-box-pack: center;
+  -ms-flex-pack: center;
+  -webkit-justify-content: center;
+  justify-content: center;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-transition: -webkit-transform 150ms ease;
+  transition: transform 150ms ease;
+}
+
+.emotion-60[data-rotate] {
+  -webkit-transform: rotate(90deg);
+  -moz-transform: rotate(90deg);
+  -ms-transform: rotate(90deg);
+  transform: rotate(90deg);
+}
+
+.emotion-63 {
+  padding-left: 20px;
+}
+
+.emotion-65 {
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  padding: 5;
+  height: 100%;
+}
+
+.emotion-65 ._jotai-devtools-internal-panel-resize-handle {
+  -webkit-transition: max-height,min-height,height,0.2s ease-out;
+  transition: max-height,min-height,height,0.2s ease-out;
+}
+
+[data-resize-handle-active] .emotion-65 ._jotai-devtools-internal-panel-resize-handle,
+.emotion-65:hover ._jotai-devtools-internal-panel-resize-handle {
+  height: 90%;
+  min-height: 90%;
+  max-height: 90%;
+}
+
+.emotion-66 {
+  border-radius: 2rem;
+  vertical-align: middle;
+  margin: 5px;
+  background: #dee2e6;
+  width: 5px;
+  height: 20%;
+  min-height: 50px;
+  max-height: 100px;
+}
+
+.emotion-67 {
+  padding: 10px;
+  height: 100%;
+  position: relative;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-flex-direction: column;
+  -ms-flex-direction: column;
+  flex-direction: column;
+}
+
+.emotion-69 {
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-flex-direction: column;
+  -ms-flex-direction: column;
+  flex-direction: column;
+  -webkit-align-items: stretch;
+  -webkit-box-align: stretch;
+  -ms-flex-align: stretch;
+  align-items: stretch;
+  -webkit-box-pack: start;
+  -ms-flex-pack: start;
+  -webkit-justify-content: flex-start;
+  justify-content: flex-start;
+  gap: 16px;
+  height: auto;
+}
+
+.emotion-73 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: inherit;
+  font-size: inherit;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;
+  font-weight: 700;
+  font-size: 22px;
+  line-height: 1.4;
+  margin: 0;
+  margin-bottom: 10px;
+}
+
+.emotion-73:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-73:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-75 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: inherit;
+  font-size: inherit;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  margin-bottom: 10px;
+  font-weight: bold;
+}
+
+.emotion-75:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-75:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-76 {
+  margin-bottom: 10px;
+}
+
+.emotion-78 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: #868e96;
+  font-size: inherit;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  font-size: 10px;
+  font-weight: bold;
+  text-transform: uppercase;
+}
+
+.emotion-78:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-78:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-80 {
+  font-family: JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;
+  line-height: 1.55;
+  padding: 2px calc(10px / 2);
+  border-radius: 4px;
+  color: #1A1B1E;
+  background-color: rgba(248, 249, 250, 1);
+  font-size: 12px;
+}
+
+.emotion-88 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: inherit;
+  font-size: inherit;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  margin-bottom: 12px;
+  font-weight: bold;
+}
+
+.emotion-88:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-88:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-90 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: #e03131;
+  font-size: 14px;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  font-weight: 500;
+}
+
+.emotion-90:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-90:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-92 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: inherit;
+  font-size: inherit;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  margin-right: 5px;
+}
+
+.emotion-92:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-92:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-95 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: inherit;
+  font-size: inherit;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  margin-top: 20px;
+  margin-bottom: 10px;
+  font-weight: bold;
+}
+
+.emotion-95:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-95:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-97 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: inherit;
+  font-size: 14px;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  margin-bottom: 10px;
+}
+
+.emotion-97:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-97:focus:not(:focus-visible) {
+  outline: none;
+}
+
+<div>
+  <div
+    class="emotion-0 emotion-1 emotion-2"
+    data-testid="emotion-1"
+  >
+    <div
+      class="emotion-3"
+      data-testid="shell-resize-bar"
+    />
+    <div
+      class="emotion-4"
+    >
+      <div
+        class="emotion-5"
+      >
+        <div
+          class="emotion-6 emotion-7"
+        >
+          <h1
+            class="emotion-8 emotion-9 emotion-10"
+          >
+            πŸ‘» Jōtai DevTools
+          </h1>
+          <div
+            class="emotion-11 emotion-12"
+          >
+            <span
+              class="emotion-13 emotion-14"
+            >
+              Alpha
+            </span>
+          </div>
+        </div>
+        <div
+          class="emotion-15"
+        >
+          <button
+            class="emotion-16 emotion-17 emotion-18"
+            title="Toggle color scheme"
+            type="button"
+          >
+            <svg
+              class="icon icon-tabler icon-tabler-moon-stars"
+              fill="none"
+              height="16"
+              stroke="currentColor"
+              stroke-linecap="round"
+              stroke-linejoin="round"
+              stroke-width="2"
+              viewBox="0 0 24 24"
+              width="16"
+              xmlns="http://www.w3.org/2000/svg"
+            >
+              <path
+                d="M0 0h24v24H0z"
+                fill="none"
+                stroke="none"
+              />
+              <path
+                d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z"
+              />
+              <path
+                d="M17 4a2 2 0 0 0 2 2a2 2 0 0 0 -2 2a2 2 0 0 0 -2 -2a2 2 0 0 0 2 -2"
+              />
+              <path
+                d="M19 11h2m-1 -1v2"
+              />
+            </svg>
+          </button>
+          <button
+            class="emotion-16 emotion-17 emotion-21"
+            title="Minimize panel"
+            type="button"
+          >
+            <svg
+              class="icon icon-tabler icon-tabler-minus"
+              fill="none"
+              height="16"
+              stroke="currentColor"
+              stroke-linecap="round"
+              stroke-linejoin="round"
+              stroke-width="2"
+              viewBox="0 0 24 24"
+              width="16"
+              xmlns="http://www.w3.org/2000/svg"
+            >
+              <path
+                d="M0 0h24v24H0z"
+                fill="none"
+                stroke="none"
+              />
+              <line
+                x1="5"
+                x2="19"
+                y1="12"
+                y2="12"
+              />
+            </svg>
+          </button>
+        </div>
+      </div>
+    </div>
+    <div
+      aria-orientation="horizontal"
+      class="emotion-22 emotion-23"
+      role="tablist"
+    >
+      <button
+        aria-controls="mantine-r3v-panel-atom-viewer"
+        aria-selected="true"
+        class="emotion-16 emotion-25 emotion-26"
+        data-active="true"
+        id="mantine-r3v-tab-atom-viewer"
+        role="tab"
+        tabindex="0"
+        type="button"
+      >
+        <div
+          class="emotion-27 emotion-25Icon"
+        >
+          <svg
+            class="icon icon-tabler icon-tabler-layout-list"
+            fill="none"
+            height="14"
+            stroke="currentColor"
+            stroke-linecap="round"
+            stroke-linejoin="round"
+            stroke-width="2"
+            viewBox="0 0 24 24"
+            width="14"
+            xmlns="http://www.w3.org/2000/svg"
+          >
+            <path
+              d="M0 0h24v24H0z"
+              fill="none"
+              stroke="none"
+            />
+            <rect
+              height="6"
+              rx="2"
+              width="16"
+              x="4"
+              y="4"
+            />
+            <rect
+              height="6"
+              rx="2"
+              width="16"
+              x="4"
+              y="14"
+            />
+          </svg>
+        </div>
+        <div
+          class="emotion-29 emotion-25Label"
+        >
+          Atom Viewer
+        </div>
+      </button>
+    </div>
+    <div
+      aria-labelledby="mantine-r3v-tab-atom-viewer"
+      class="emotion-31 emotion-32"
+      id="mantine-r3v-panel-atom-viewer"
+      role="tabpanel"
+    >
+      <div
+        class=""
+        data-panel-group=""
+        data-panel-group-direction="horizontal"
+        data-panel-group-id=":r41:"
+        style="display: flex; flex-direction: row; height: 100%; overflow: hidden; width: 100%;"
+      >
+        <div
+          class=""
+          data-panel=""
+          data-panel-id=":r43:"
+          data-panel-size="50.0"
+          id="data-panel-id-:r43:"
+          style="flex-basis: 0px; flex-grow: 50; flex-shrink: 1; overflow: auto;"
+        >
+          <div
+            class="emotion-33"
+          >
+            <div
+              class="emotion-34 emotion-35 emotion-36"
+            >
+              <label
+                class="emotion-37 emotion-38 emotion-39"
+                for="mantine-r45"
+                id="mantine-r45-label"
+              >
+                Search
+              </label>
+              <div
+                class="emotion-40 emotion-41 emotion-42"
+              >
+                <input
+                  aria-invalid="false"
+                  class="emotion-43 emotion-44 emotion-45"
+                  id="mantine-r45"
+                  placeholder="atom debug label"
+                  type="text"
+                  value=""
+                />
+              </div>
+            </div>
+            <div
+              class="emotion-46"
+            >
+              <button
+                class="emotion-16 emotion-48 emotion-49"
+                data-active="true"
+                type="button"
+              >
+                <span
+                  class="emotion-50 emotion-51"
+                >
+                  <span
+                    class="emotion-8 emotion-53 emotion-54"
+                  >
+                    <div
+                      class="emotion-8 emotion-56"
+                    >
+                      circularAtom
+                    </div>
+                  </span>
+                  <span
+                    class="emotion-8 emotion-58 emotion-59"
+                    data-active="true"
+                  />
+                </span>
+                <span
+                  class="emotion-60 emotion-61"
+                >
+                  <svg
+                    class="icon icon-tabler icon-tabler-chevron-right"
+                    fill="none"
+                    height="12"
+                    stroke="currentColor"
+                    stroke-linecap="round"
+                    stroke-linejoin="round"
+                    stroke-width="1.5"
+                    viewBox="0 0 24 24"
+                    width="12"
+                    xmlns="http://www.w3.org/2000/svg"
+                  >
+                    <path
+                      d="M0 0h24v24H0z"
+                      fill="none"
+                      stroke="none"
+                    />
+                    <polyline
+                      points="9 6 15 12 9 18"
+                    />
+                  </svg>
+                </span>
+              </button>
+              <div
+                aria-hidden="true"
+                class="emotion-62"
+                style="box-sizing: border-box; display: none; height: 0px; overflow: hidden;"
+              >
+                <div
+                  style="opacity: 0; transition: opacity 200ms ease;"
+                >
+                  <div
+                    class="emotion-63 emotion-64"
+                  />
+                </div>
+              </div>
+            </div>
+          </div>
+        </div>
+        <div
+          aria-controls="data-panel-id-:r43:"
+          aria-valuemax="70"
+          aria-valuemin="30"
+          aria-valuenow="50"
+          class=""
+          data-panel-group-direction="horizontal"
+          data-panel-group-id=":r41:"
+          data-panel-resize-handle-enabled="true"
+          data-panel-resize-handle-id=":r47:"
+          role="separator"
+          style="cursor: col-resize; user-select: none;"
+          tabindex="0"
+        >
+          <div
+            class="emotion-65"
+          >
+            <div
+              class="_jotai-devtools-internal-panel-resize-handle emotion-66"
+            />
+          </div>
+        </div>
+        <div
+          class=""
+          data-panel=""
+          data-panel-id=":r49:"
+          data-panel-size="50.0"
+          id="data-panel-id-:r49:"
+          style="flex-basis: 0px; flex-grow: 50; flex-shrink: 1; overflow: auto;"
+        >
+          <div
+            class="emotion-67"
+          >
+            <div
+              class="emotion-68 emotion-69"
+            >
+              <div
+                class="emotion-62"
+              >
+                <h1
+                  class="emotion-8 emotion-9 emotion-73"
+                >
+                  Atom Details
+                </h1>
+                <div
+                  class="emotion-8 emotion-75"
+                >
+                  Meta
+                </div>
+                <div
+                  class="emotion-76"
+                >
+                  <div
+                    class="emotion-8 emotion-78"
+                    data-testid="display-detail-item-label-Debug Label"
+                  >
+                    Debug Label
+                  </div>
+                  <code
+                    class="emotion-79 emotion-80"
+                    data-testid="display-detail-item-value-circularAtom"
+                    dir="ltr"
+                  >
+                    circularAtom
+                  </code>
+                </div>
+                <div
+                  class="emotion-76"
+                >
+                  <div
+                    class="emotion-8 emotion-78"
+                    data-testid="display-detail-item-label-Value type"
+                  >
+                    Value type
+                  </div>
+                  <code
+                    class="emotion-79 emotion-80"
+                    data-testid="display-detail-item-value-object"
+                    dir="ltr"
+                  >
+                    object
+                  </code>
+                </div>
+              </div>
+              <div
+                class="emotion-62"
+              >
+                <div
+                  class="emotion-8 emotion-88"
+                >
+                  Raw value
+                </div>
+                <div
+                  class="emotion-8 emotion-90"
+                >
+                  <div
+                    class="emotion-8 emotion-92"
+                  >
+                    <svg
+                      class="icon icon-tabler icon-tabler-alert-circle"
+                      fill="none"
+                      height="16"
+                      stroke="currentColor"
+                      stroke-linecap="round"
+                      stroke-linejoin="round"
+                      stroke-width="2"
+                      viewBox="0 0 24 24"
+                      width="16"
+                      xmlns="http://www.w3.org/2000/svg"
+                    >
+                      <path
+                        d="M0 0h24v24H0z"
+                        fill="none"
+                        stroke="none"
+                      />
+                      <circle
+                        cx="12"
+                        cy="12"
+                        r="9"
+                      />
+                      <line
+                        x1="12"
+                        x2="12"
+                        y1="8"
+                        y2="12"
+                      />
+                      <line
+                        x1="12"
+                        x2="12.01"
+                        y1="16"
+                        y2="16"
+                      />
+                    </svg>
+                  </div>
+                  Failed to parse the value of the atom
+                </div>
+              </div>
+              <div
+                class="emotion-62"
+              >
+                <div
+                  class="emotion-8 emotion-95"
+                >
+                  Dependents
+                </div>
+                <div
+                  class="emotion-8 emotion-97"
+                >
+                  No dependents
+                </div>
+              </div>
+            </div>
+          </div>
+        </div>
+      </div>
+    </div>
+  </div>
+</div>
+`;
+
+exports[`DevTools - AtomViewer Atom details Raw value should display atom details when an atom is selected 1`] = `
+.emotion-1 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  color: #000;
+  line-height: 1.55;
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale;
+  font-size: 16px;
+}
+
+.emotion-1 *,
+.emotion-1 *::before,
+.emotion-1 *::after {
+  box-sizing: border-box;
+}
+
+.emotion-2 {
+  -webkit-flex-direction: row;
+  -ms-flex-direction: row;
+  flex-direction: row;
+  position: fixed;
+  left: 0;
+  bottom: 0;
+  width: calc(100% - 20px);
+  border-color: #dee2e6;
+  border-width: 1px;
+  border-style: solid;
+  border-radius: 8px;
+  background: #fff;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-flex-direction: column;
+  -ms-flex-direction: column;
+  flex-direction: column;
+  z-index: 99999;
+  margin: 10px;
+  height: 370px;
+  max-height: 90%;
+}
+
+.emotion-3 {
+  width: 100%;
+  height: 5px;
+  cursor: row-resize;
+  z-index: 2;
+  position: absolute;
+  top: -2px;
+}
+
+.emotion-4 {
+  position: -webkit-sticky;
+  position: sticky;
+  top: 0;
+  z-index: 1;
+  width: 100%;
+}
+
+.emotion-5 {
+  padding: 10px;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-pack: justify;
+  -webkit-justify-content: space-between;
+  justify-content: space-between;
+}
+
+.emotion-7 {
+  box-sizing: border-box;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-flex-direction: row;
+  -ms-flex-direction: row;
+  flex-direction: row;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-flex-wrap: wrap;
+  -webkit-flex-wrap: wrap;
+  -ms-flex-wrap: wrap;
+  flex-wrap: wrap;
+  -webkit-box-pack: start;
+  -ms-flex-pack: start;
+  -webkit-justify-content: flex-start;
+  justify-content: flex-start;
+  gap: 16px;
+  margin-right: 10px;
+}
+
+.emotion-7>* {
+  box-sizing: border-box;
+  -webkit-box-flex: 0;
+  -webkit-flex-grow: 0;
+  -ms-flex-positive: 0;
+  flex-grow: 0;
+}
+
+.emotion-10 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: inherit;
+  font-size: inherit;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;
+  font-weight: 700;
+  font-size: 18px;
+  line-height: 1.45;
+  margin: 0;
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+}
+
+.emotion-10:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-10:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-12 {
+  -webkit-tap-highlight-color: transparent;
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  font-size: 9px;
+  height: 16px;
+  line-height: 14px;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  padding: 0 6.666666666666667px;
+  box-sizing: border-box;
+  display: -webkit-inline-box;
+  display: -webkit-inline-flex;
+  display: -ms-inline-flexbox;
+  display: inline-flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-pack: center;
+  -ms-flex-pack: center;
+  -webkit-justify-content: center;
+  justify-content: center;
+  width: auto;
+  text-transform: uppercase;
+  border-radius: 32px;
+  font-weight: 700;
+  letter-spacing: 0.25px;
+  cursor: inherit;
+  text-overflow: ellipsis;
+  overflow: hidden;
+  background: rgba(255, 244, 230, 1);
+  color: #fd7e14;
+  border: 1px solid transparent;
+}
+
+.emotion-12:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-12:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-13 {
+  white-space: nowrap;
+  overflow: hidden;
+  text-overflow: ellipsis;
+}
+
+.emotion-15 {
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+}
+
+.emotion-18 {
+  -webkit-tap-highlight-color: transparent;
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  cursor: pointer;
+  border: 0;
+  padding: 0;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  -ms-appearance: none;
+  appearance: none;
+  font-size: 16px;
+  background-color: transparent;
+  text-align: left;
+  color: #000;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  box-sizing: border-box;
+  border: 1px solid transparent;
+  background-color: #25262b;
+  color: #fff;
+  position: relative;
+  height: 28px;
+  min-height: 28px;
+  width: 28px;
+  min-width: 28px;
+  border-radius: 4px;
+  padding: 0;
+  line-height: 1;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-pack: center;
+  -ms-flex-pack: center;
+  -webkit-justify-content: center;
+  justify-content: center;
+}
+
+.emotion-18:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-18:focus:not(:focus-visible) {
+  outline: none;
+}
+
+@media (hover: hover) {
+  .emotion-18:hover {
+    background-color: #1A1B1E;
+  }
+}
+
+@media (hover: none) {
+  .emotion-18:active {
+    background-color: #1A1B1E;
+  }
+}
+
+.emotion-18:active {
+  -webkit-transform: scale(1);
+  -moz-transform: scale(1);
+  -ms-transform: scale(1);
+  transform: scale(1);
+}
+
+.emotion-18:disabled,
+.emotion-18[data-disabled] {
+  color: #ced4da;
+  cursor: not-allowed;
+  background-color: #f1f3f5;
+  border-color: #f1f3f5;
+  background-image: none;
+  pointer-events: none;
+}
+
+.emotion-18:disabled:active,
+.emotion-18[data-disabled]:active {
+  -webkit-transform: none;
+  -moz-transform: none;
+  -ms-transform: none;
+  transform: none;
+}
+
+.emotion-18[data-loading] {
+  pointer-events: none;
+}
+
+.emotion-18[data-loading]::before {
+  content: "";
+  position: absolute;
+  top: -1px;
+  left: -1px;
+  right: -1px;
+  bottom: -1px;
+  background-color: rgba(255, 255, 255, .5);
+  border-radius: 4px;
+  cursor: not-allowed;
+}
+
+.emotion-21 {
+  -webkit-tap-highlight-color: transparent;
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  cursor: pointer;
+  border: 0;
+  padding: 0;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  -ms-appearance: none;
+  appearance: none;
+  font-size: 16px;
+  background-color: transparent;
+  text-align: left;
+  color: #000;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  box-sizing: border-box;
+  border: 1px solid transparent;
+  background-color: transparent;
+  color: #868e96;
+  position: relative;
+  height: 28px;
+  min-height: 28px;
+  width: 28px;
+  min-width: 28px;
+  border-radius: 8px;
+  padding: 0;
+  line-height: 1;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-pack: center;
+  -ms-flex-pack: center;
+  -webkit-justify-content: center;
+  justify-content: center;
+  margin-left: 10px;
+}
+
+.emotion-21:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-21:focus:not(:focus-visible) {
+  outline: none;
+}
+
+@media (hover: hover) {
+  .emotion-21:hover {
+    background-color: rgba(248, 249, 250, 1);
+  }
+}
+
+@media (hover: none) {
+  .emotion-21:active {
+    background-color: rgba(248, 249, 250, 1);
+  }
+}
+
+.emotion-21:active {
+  -webkit-transform: scale(1);
+  -moz-transform: scale(1);
+  -ms-transform: scale(1);
+  transform: scale(1);
+}
+
+.emotion-21:disabled,
+.emotion-21[data-disabled] {
+  color: #ced4da;
+  cursor: not-allowed;
+  background-color: #f1f3f5;
+  border-color: #f1f3f5;
+  background-image: none;
+  pointer-events: none;
+}
+
+.emotion-21:disabled:active,
+.emotion-21[data-disabled]:active {
+  -webkit-transform: none;
+  -moz-transform: none;
+  -ms-transform: none;
+  transform: none;
+}
+
+.emotion-21[data-loading] {
+  pointer-events: none;
+}
+
+.emotion-21[data-loading]::before {
+  content: "";
+  position: absolute;
+  top: -1px;
+  left: -1px;
+  right: -1px;
+  bottom: -1px;
+  background-color: rgba(255, 255, 255, .5);
+  border-radius: 8px;
+  cursor: not-allowed;
+}
+
+.emotion-23 {
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-box-flex-wrap: wrap;
+  -webkit-flex-wrap: wrap;
+  -ms-flex-wrap: wrap;
+  flex-wrap: wrap;
+  -webkit-flex-direction: row;
+  -ms-flex-direction: row;
+  flex-direction: row;
+  -webkit-box-pack: start;
+  -ms-flex-pack: start;
+  -webkit-justify-content: flex-start;
+  justify-content: flex-start;
+  border-bottom: 2px solid #dee2e6;
+}
+
+.emotion-26 {
+  -webkit-tap-highlight-color: transparent;
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  cursor: pointer;
+  border: 0;
+  padding: 0;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  -ms-appearance: none;
+  appearance: none;
+  font-size: 16px;
+  background-color: transparent;
+  text-align: left;
+  color: #000;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  box-sizing: border-box;
+  position: relative;
+  padding: 10px 16px;
+  padding-left: 10px;
+  font-size: 14px;
+  white-space: nowrap;
+  z-index: 0;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-pack: center;
+  -ms-flex-pack: center;
+  -webkit-justify-content: center;
+  justify-content: center;
+  line-height: 1;
+  border-bottom: 2px solid transparent;
+  margin-bottom: -2px;
+  border-radius: 4px 4px 0 0;
+}
+
+.emotion-26:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-26:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-26:disabled {
+  opacity: 0.5;
+  cursor: not-allowed;
+}
+
+@media (hover: hover) {
+  .emotion-26:disabled:hover {
+    background-color: transparent;
+  }
+}
+
+@media (hover: none) {
+  .emotion-26:disabled:active {
+    background-color: transparent;
+  }
+}
+
+.emotion-26:focus {
+  z-index: 1;
+}
+
+@media (hover: hover) {
+  .emotion-26:hover {
+    background-color: #f8f9fa;
+    border-color: #dee2e6;
+  }
+}
+
+@media (hover: none) {
+  .emotion-26:active {
+    background-color: #f8f9fa;
+    border-color: #dee2e6;
+  }
+}
+
+.emotion-26[data-active] {
+  border-color: #25262b;
+  color: #000;
+}
+
+@media (hover: hover) {
+  .emotion-26[data-active]:hover {
+    border-color: #25262b;
+  }
+}
+
+@media (hover: none) {
+  .emotion-26[data-active]:active {
+    border-color: #25262b;
+  }
+}
+
+.emotion-27 {
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-box-pack: center;
+  -ms-flex-pack: center;
+  -webkit-justify-content: center;
+  justify-content: center;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+}
+
+.emotion-27:not(:only-child) {
+  margin-right: 7px;
+}
+
+.emotion-32 {
+  height: 100%;
+  overflow: hidden;
+  border-bottom-left-radius: 7px;
+  border-bottom-right-radius: 7px;
+}
+
+.emotion-33 {
+  padding: 10px;
+  padding-top: 0;
+  height: 100%;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-flex-direction: column;
+  -ms-flex-direction: column;
+  flex-direction: column;
+  background: #e9ecef;
+}
+
+.emotion-36 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  line-height: 1.55;
+  position: -webkit-sticky;
+  position: sticky;
+  top: 0;
+  padding-top: 10px;
+  padding-bottom: 10px;
+}
+
+.emotion-39 {
+  display: inline-block;
+  font-size: 14px;
+  font-weight: 500;
+  color: #212529;
+  word-break: break-word;
+  cursor: default;
+  -webkit-tap-highlight-color: transparent;
+}
+
+.emotion-42 {
+  position: relative;
+}
+
+.emotion-45 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  height: 36px;
+  -webkit-tap-highlight-color: transparent;
+  line-height: 34px;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  -ms-appearance: none;
+  appearance: none;
+  resize: none;
+  box-sizing: border-box;
+  font-size: 14px;
+  width: 100%;
+  color: #000;
+  display: block;
+  text-align: left;
+  min-height: 36px;
+  padding-left: 12px;
+  padding-right: 12px;
+  border-radius: 4px;
+  border: 1px solid #ced4da;
+  background-color: #fff;
+  -webkit-transition: border-color 100ms ease;
+  transition: border-color 100ms ease;
+}
+
+.emotion-45:disabled {
+  background-color: #f1f3f5;
+  color: #909296;
+  opacity: 0.6;
+  cursor: not-allowed;
+}
+
+.emotion-45:disabled::-webkit-input-placeholder {
+  color: #909296;
+}
+
+.emotion-45:disabled::-moz-placeholder {
+  color: #909296;
+}
+
+.emotion-45:disabled:-ms-input-placeholder {
+  color: #909296;
+}
+
+.emotion-45:disabled::placeholder {
+  color: #909296;
+}
+
+.emotion-45::-webkit-input-placeholder {
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+  color: #adb5bd;
+  opacity: 1;
+}
+
+.emotion-45::-moz-placeholder {
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+  color: #adb5bd;
+  opacity: 1;
+}
+
+.emotion-45:-ms-input-placeholder {
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+  color: #adb5bd;
+  opacity: 1;
+}
+
+.emotion-45::placeholder {
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+  color: #adb5bd;
+  opacity: 1;
+}
+
+.emotion-45::-webkit-inner-spin-button,
+.emotion-45::-webkit-outer-spin-button,
+.emotion-45::-webkit-search-decoration,
+.emotion-45::-webkit-search-cancel-button,
+.emotion-45::-webkit-search-results-button,
+.emotion-45::-webkit-search-results-decoration {
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  -ms-appearance: none;
+  appearance: none;
+}
+
+.emotion-45[type=number] {
+  -moz-appearance: textfield;
+}
+
+.emotion-45:focus,
+.emotion-45:focus-within {
+  outline: none;
+  border-color: #25262b;
+}
+
+.emotion-46 {
+  overflow: auto;
+}
+
+.emotion-49 {
+  -webkit-tap-highlight-color: transparent;
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  cursor: pointer;
+  border: 0;
+  padding: 0;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  -ms-appearance: none;
+  appearance: none;
+  font-size: 16px;
+  background-color: transparent;
+  text-align: left;
+  color: #000;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  box-sizing: border-box;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  width: 100%;
+  padding: 8px 12px;
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+  border-radius: 5px;
+}
+
+.emotion-49:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-49:focus:not(:focus-visible) {
+  outline: none;
+}
+
+@media (hover: hover) {
+  .emotion-49:hover {
+    background-color: #f8f9fa;
+  }
+}
+
+@media (hover: none) {
+  .emotion-49:active {
+    background-color: #f8f9fa;
+  }
+}
+
+.emotion-49[data-active] {
+  background-color: #25262b;
+  color: #fff;
+}
+
+@media (hover: hover) {
+  .emotion-49[data-active]:hover {
+    background-color: #1A1B1E;
+  }
+}
+
+@media (hover: none) {
+  .emotion-49[data-active]:active {
+    background-color: #1A1B1E;
+  }
+}
+
+.emotion-49[data-disabled] {
+  opacity: 0.4;
+  pointer-events: none;
+}
+
+.emotion-50 {
+  -webkit-flex: 1;
+  -ms-flex: 1;
+  flex: 1;
+  overflow: hidden;
+  text-overflow: ellipsis;
+}
+
+.emotion-54 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: inherit;
+  font-size: 14px;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+}
+
+.emotion-54:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-54:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-56 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: inherit;
+  font-size: inherit;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  font-family: JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;
+}
+
+.emotion-56:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-56:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-59 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: #868e96;
+  font-size: 12px;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  display: block;
+}
+
+.emotion-59:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-59:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-59[data-active] {
+  color: inherit;
+}
+
+.emotion-60 {
+  margin-left: 12px;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-box-pack: center;
+  -ms-flex-pack: center;
+  -webkit-justify-content: center;
+  justify-content: center;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-transition: -webkit-transform 150ms ease;
+  transition: transform 150ms ease;
+}
+
+.emotion-60[data-rotate] {
+  -webkit-transform: rotate(90deg);
+  -moz-transform: rotate(90deg);
+  -ms-transform: rotate(90deg);
+  transform: rotate(90deg);
+}
+
+.emotion-63 {
+  padding-left: 20px;
+}
+
+.emotion-83 {
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  padding: 5;
+  height: 100%;
+}
+
+.emotion-83 ._jotai-devtools-internal-panel-resize-handle {
+  -webkit-transition: max-height,min-height,height,0.2s ease-out;
+  transition: max-height,min-height,height,0.2s ease-out;
+}
+
+[data-resize-handle-active] .emotion-83 ._jotai-devtools-internal-panel-resize-handle,
+.emotion-83:hover ._jotai-devtools-internal-panel-resize-handle {
+  height: 90%;
+  min-height: 90%;
+  max-height: 90%;
+}
+
+.emotion-84 {
+  border-radius: 2rem;
+  vertical-align: middle;
+  margin: 5px;
+  background: #dee2e6;
+  width: 5px;
+  height: 20%;
+  min-height: 50px;
+  max-height: 100px;
+}
+
+.emotion-85 {
+  padding: 10px;
+  height: 100%;
+  position: relative;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-flex-direction: column;
+  -ms-flex-direction: column;
+  flex-direction: column;
+}
+
+.emotion-87 {
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-flex-direction: column;
+  -ms-flex-direction: column;
+  flex-direction: column;
+  -webkit-align-items: stretch;
+  -webkit-box-align: stretch;
+  -ms-flex-align: stretch;
+  align-items: stretch;
+  -webkit-box-pack: start;
+  -ms-flex-pack: start;
+  -webkit-justify-content: flex-start;
+  justify-content: flex-start;
+  gap: 16px;
+  height: auto;
+}
+
+.emotion-91 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: inherit;
+  font-size: inherit;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;
+  font-weight: 700;
+  font-size: 22px;
+  line-height: 1.4;
+  margin: 0;
+  margin-bottom: 10px;
+}
+
+.emotion-91:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-91:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-93 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: inherit;
+  font-size: inherit;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  margin-bottom: 10px;
+  font-weight: bold;
+}
+
+.emotion-93:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-93:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-94 {
+  margin-bottom: 10px;
+}
+
+.emotion-96 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: #868e96;
+  font-size: inherit;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  font-size: 10px;
+  font-weight: bold;
+  text-transform: uppercase;
+}
+
+.emotion-96:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-96:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-98 {
+  font-family: JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;
+  line-height: 1.55;
+  padding: 2px calc(10px / 2);
+  border-radius: 4px;
+  color: #1A1B1E;
+  background-color: rgba(248, 249, 250, 1);
+  font-size: 12px;
+}
+
+.emotion-106 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: inherit;
+  font-size: inherit;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  margin-bottom: 12px;
+  font-weight: bold;
+}
+
+.emotion-106:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-106:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-108 {
+  position: relative;
+  margin-bottom: 10px;
+}
+
+.emotion-112 {
+  -webkit-tap-highlight-color: transparent;
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  cursor: pointer;
+  border: 0;
+  padding: 0;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  -ms-appearance: none;
+  appearance: none;
+  font-size: 16px;
+  background-color: transparent;
+  text-align: left;
+  color: #000;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  box-sizing: border-box;
+  border: 1px solid transparent;
+  background-color: transparent;
+  color: #868e96;
+  position: relative;
+  height: 28px;
+  min-height: 28px;
+  width: 28px;
+  min-width: 28px;
+  border-radius: 4px;
+  padding: 0;
+  line-height: 1;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-pack: center;
+  -ms-flex-pack: center;
+  -webkit-justify-content: center;
+  justify-content: center;
+  position: absolute;
+  top: 10px;
+  right: 10px;
+  left: unset;
+  z-index: 2;
+}
+
+.emotion-112:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-112:focus:not(:focus-visible) {
+  outline: none;
+}
+
+@media (hover: hover) {
+  .emotion-112:hover {
+    background-color: rgba(248, 249, 250, 1);
+  }
+}
+
+@media (hover: none) {
+  .emotion-112:active {
+    background-color: rgba(248, 249, 250, 1);
+  }
+}
+
+.emotion-112:active {
+  -webkit-transform: scale(1);
+  -moz-transform: scale(1);
+  -ms-transform: scale(1);
+  transform: scale(1);
+}
+
+.emotion-112:disabled,
+.emotion-112[data-disabled] {
+  color: #ced4da;
+  cursor: not-allowed;
+  background-color: #f1f3f5;
+  border-color: #f1f3f5;
+  background-image: none;
+  pointer-events: none;
+}
+
+.emotion-112:disabled:active,
+.emotion-112[data-disabled]:active {
+  -webkit-transform: none;
+  -moz-transform: none;
+  -ms-transform: none;
+  transform: none;
+}
+
+.emotion-112[data-loading] {
+  pointer-events: none;
+}
+
+.emotion-112[data-loading]::before {
+  content: "";
+  position: absolute;
+  top: -1px;
+  left: -1px;
+  right: -1px;
+  bottom: -1px;
+  background-color: rgba(255, 255, 255, .5);
+  border-radius: 4px;
+  cursor: not-allowed;
+}
+
+.emotion-112,
+.emotion-112:hover {
+  background-color: #f8f9fa;
+}
+
+.emotion-115 {
+  overflow: hidden;
+}
+
+.emotion-116 {
+  width: 100%;
+  height: 100%;
+}
+
+.emotion-118 {
+  box-sizing: border-box;
+  position: relative;
+  font-family: JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;
+  line-height: 1.7;
+  font-size: 13px;
+  border-radius: 4px;
+  padding: 12px 0;
+  margin-top: 0;
+  margin-bottom: 0;
+}
+
+.emotion-120 {
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  width: 100%;
+  padding: 0 16px;
+}
+
+.emotion-122 {
+  width: 100%;
+}
+
+.emotion-126 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: inherit;
+  font-size: inherit;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  margin-top: 20px;
+  margin-bottom: 10px;
+  font-weight: bold;
+}
+
+.emotion-126:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-126:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-128 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  color: #000;
+  font-size: 16px;
+  line-height: 1.55;
+  margin: 0;
+  padding-left: 0;
+  list-style-position: inside;
+  margin-bottom: 10px;
+}
+
+.emotion-130 {
+  white-space: nowrap;
+  line-height: 1.55;
+}
+
+.emotion-130:not(:first-of-type) {
+  margin-top: 0;
+}
+
+.emotion-131 {
+  display: -webkit-inline-box;
+  display: -webkit-inline-flex;
+  display: -ms-inline-flexbox;
+  display: inline-flex;
+  -webkit-flex-direction: column;
+  -ms-flex-direction: column;
+  flex-direction: column;
+  white-space: normal;
+}
+
+<div>
+  <div
+    class="emotion-0 emotion-1 emotion-2"
+    data-testid="emotion-1"
+  >
+    <div
+      class="emotion-3"
+      data-testid="shell-resize-bar"
+    />
+    <div
+      class="emotion-4"
+    >
+      <div
+        class="emotion-5"
+      >
+        <div
+          class="emotion-6 emotion-7"
+        >
+          <h1
+            class="emotion-8 emotion-9 emotion-10"
+          >
+            πŸ‘» Jōtai DevTools
+          </h1>
+          <div
+            class="emotion-11 emotion-12"
+          >
+            <span
+              class="emotion-13 emotion-14"
+            >
+              Alpha
+            </span>
+          </div>
+        </div>
+        <div
+          class="emotion-15"
+        >
+          <button
+            class="emotion-16 emotion-17 emotion-18"
+            title="Toggle color scheme"
+            type="button"
+          >
+            <svg
+              class="icon icon-tabler icon-tabler-moon-stars"
+              fill="none"
+              height="16"
+              stroke="currentColor"
+              stroke-linecap="round"
+              stroke-linejoin="round"
+              stroke-width="2"
+              viewBox="0 0 24 24"
+              width="16"
+              xmlns="http://www.w3.org/2000/svg"
+            >
+              <path
+                d="M0 0h24v24H0z"
+                fill="none"
+                stroke="none"
+              />
+              <path
+                d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z"
+              />
+              <path
+                d="M17 4a2 2 0 0 0 2 2a2 2 0 0 0 -2 2a2 2 0 0 0 -2 -2a2 2 0 0 0 2 -2"
+              />
+              <path
+                d="M19 11h2m-1 -1v2"
+              />
+            </svg>
+          </button>
+          <button
+            class="emotion-16 emotion-17 emotion-21"
+            title="Minimize panel"
+            type="button"
+          >
+            <svg
+              class="icon icon-tabler icon-tabler-minus"
+              fill="none"
+              height="16"
+              stroke="currentColor"
+              stroke-linecap="round"
+              stroke-linejoin="round"
+              stroke-width="2"
+              viewBox="0 0 24 24"
+              width="16"
+              xmlns="http://www.w3.org/2000/svg"
+            >
+              <path
+                d="M0 0h24v24H0z"
+                fill="none"
+                stroke="none"
+              />
+              <line
+                x1="5"
+                x2="19"
+                y1="12"
+                y2="12"
+              />
+            </svg>
+          </button>
+        </div>
+      </div>
+    </div>
+    <div
+      aria-orientation="horizontal"
+      class="emotion-22 emotion-23"
+      role="tablist"
+    >
+      <button
+        aria-controls="mantine-r4b-panel-atom-viewer"
+        aria-selected="true"
+        class="emotion-16 emotion-25 emotion-26"
+        data-active="true"
+        id="mantine-r4b-tab-atom-viewer"
+        role="tab"
+        tabindex="0"
+        type="button"
+      >
+        <div
+          class="emotion-27 emotion-25Icon"
+        >
+          <svg
+            class="icon icon-tabler icon-tabler-layout-list"
+            fill="none"
+            height="14"
+            stroke="currentColor"
+            stroke-linecap="round"
+            stroke-linejoin="round"
+            stroke-width="2"
+            viewBox="0 0 24 24"
+            width="14"
+            xmlns="http://www.w3.org/2000/svg"
+          >
+            <path
+              d="M0 0h24v24H0z"
+              fill="none"
+              stroke="none"
+            />
+            <rect
+              height="6"
+              rx="2"
+              width="16"
+              x="4"
+              y="4"
+            />
+            <rect
+              height="6"
+              rx="2"
+              width="16"
+              x="4"
+              y="14"
+            />
+          </svg>
+        </div>
+        <div
+          class="emotion-29 emotion-25Label"
+        >
+          Atom Viewer
+        </div>
+      </button>
+    </div>
+    <div
+      aria-labelledby="mantine-r4b-tab-atom-viewer"
+      class="emotion-31 emotion-32"
+      id="mantine-r4b-panel-atom-viewer"
+      role="tabpanel"
+    >
+      <div
+        class=""
+        data-panel-group=""
+        data-panel-group-direction="horizontal"
+        data-panel-group-id=":r4d:"
+        style="display: flex; flex-direction: row; height: 100%; overflow: hidden; width: 100%;"
+      >
+        <div
+          class=""
+          data-panel=""
+          data-panel-id=":r4f:"
+          data-panel-size="50.0"
+          id="data-panel-id-:r4f:"
+          style="flex-basis: 0px; flex-grow: 50; flex-shrink: 1; overflow: auto;"
+        >
+          <div
+            class="emotion-33"
+          >
+            <div
+              class="emotion-34 emotion-35 emotion-36"
+            >
+              <label
+                class="emotion-37 emotion-38 emotion-39"
+                for="mantine-r4h"
+                id="mantine-r4h-label"
+              >
+                Search
+              </label>
+              <div
+                class="emotion-40 emotion-41 emotion-42"
+              >
+                <input
+                  aria-invalid="false"
+                  class="emotion-43 emotion-44 emotion-45"
+                  id="mantine-r4h"
+                  placeholder="atom debug label"
+                  type="text"
+                  value=""
+                />
+              </div>
+            </div>
+            <div
+              class="emotion-46"
+            >
+              <button
+                class="emotion-16 emotion-48 emotion-49"
+                data-active="true"
+                type="button"
+              >
+                <span
+                  class="emotion-50 emotion-51"
+                >
+                  <span
+                    class="emotion-8 emotion-53 emotion-54"
+                  >
+                    <div
+                      class="emotion-8 emotion-56"
+                    >
+                      countAtom
+                    </div>
+                  </span>
+                  <span
+                    class="emotion-8 emotion-58 emotion-59"
+                    data-active="true"
+                  />
+                </span>
+                <span
+                  class="emotion-60 emotion-61"
+                >
+                  <svg
+                    class="icon icon-tabler icon-tabler-chevron-right"
+                    fill="none"
+                    height="12"
+                    stroke="currentColor"
+                    stroke-linecap="round"
+                    stroke-linejoin="round"
+                    stroke-width="1.5"
+                    viewBox="0 0 24 24"
+                    width="12"
+                    xmlns="http://www.w3.org/2000/svg"
+                  >
+                    <path
+                      d="M0 0h24v24H0z"
+                      fill="none"
+                      stroke="none"
+                    />
+                    <polyline
+                      points="9 6 15 12 9 18"
+                    />
+                  </svg>
+                </span>
+              </button>
+              <div
+                aria-hidden="true"
+                class="emotion-62"
+                style="box-sizing: border-box; display: none; height: 0px; overflow: hidden;"
+              >
+                <div
+                  style="opacity: 0; transition: opacity 200ms ease;"
+                >
+                  <div
+                    class="emotion-63 emotion-64"
+                  />
+                </div>
+              </div>
+              <button
+                class="emotion-16 emotion-48 emotion-49"
+                type="button"
+              >
+                <span
+                  class="emotion-50 emotion-51"
+                >
+                  <span
+                    class="emotion-8 emotion-53 emotion-54"
+                  >
+                    <div
+                      class="emotion-8 emotion-56"
+                    >
+                      &lt;unlabeled-atom&gt;
+                    </div>
+                  </span>
+                  <span
+                    class="emotion-8 emotion-58 emotion-59"
+                  />
+                </span>
+                <span
+                  class="emotion-60 emotion-61"
+                >
+                  <svg
+                    class="icon icon-tabler icon-tabler-chevron-right"
+                    fill="none"
+                    height="12"
+                    stroke="currentColor"
+                    stroke-linecap="round"
+                    stroke-linejoin="round"
+                    stroke-width="1.5"
+                    viewBox="0 0 24 24"
+                    width="12"
+                    xmlns="http://www.w3.org/2000/svg"
+                  >
+                    <path
+                      d="M0 0h24v24H0z"
+                      fill="none"
+                      stroke="none"
+                    />
+                    <polyline
+                      points="9 6 15 12 9 18"
+                    />
+                  </svg>
+                </span>
+              </button>
+              <div
+                aria-hidden="true"
+                class="emotion-62"
+                style="box-sizing: border-box; display: none; height: 0px; overflow: hidden;"
+              >
+                <div
+                  style="opacity: 0; transition: opacity 200ms ease;"
+                >
+                  <div
+                    class="emotion-63 emotion-64"
+                  />
+                </div>
+              </div>
+            </div>
+          </div>
+        </div>
+        <div
+          aria-controls="data-panel-id-:r4f:"
+          aria-valuemax="70"
+          aria-valuemin="30"
+          aria-valuenow="50"
+          class=""
+          data-panel-group-direction="horizontal"
+          data-panel-group-id=":r4d:"
+          data-panel-resize-handle-enabled="true"
+          data-panel-resize-handle-id=":r4j:"
+          role="separator"
+          style="cursor: col-resize; user-select: none;"
+          tabindex="0"
+        >
+          <div
+            class="emotion-83"
+          >
+            <div
+              class="_jotai-devtools-internal-panel-resize-handle emotion-84"
+            />
+          </div>
+        </div>
+        <div
+          class=""
+          data-panel=""
+          data-panel-id=":r4l:"
+          data-panel-size="50.0"
+          id="data-panel-id-:r4l:"
+          style="flex-basis: 0px; flex-grow: 50; flex-shrink: 1; overflow: auto;"
+        >
+          <div
+            class="emotion-85"
+          >
+            <div
+              class="emotion-86 emotion-87"
+            >
+              <div
+                class="emotion-62"
+              >
+                <h1
+                  class="emotion-8 emotion-9 emotion-91"
+                >
+                  Atom Details
+                </h1>
+                <div
+                  class="emotion-8 emotion-93"
+                >
+                  Meta
+                </div>
+                <div
+                  class="emotion-94"
+                >
+                  <div
+                    class="emotion-8 emotion-96"
+                    data-testid="display-detail-item-label-Debug Label"
+                  >
+                    Debug Label
+                  </div>
+                  <code
+                    class="emotion-97 emotion-98"
+                    data-testid="display-detail-item-value-countAtom"
+                    dir="ltr"
+                  >
+                    countAtom
+                  </code>
+                </div>
+                <div
+                  class="emotion-94"
+                >
+                  <div
+                    class="emotion-8 emotion-96"
+                    data-testid="display-detail-item-label-Value type"
+                  >
+                    Value type
+                  </div>
+                  <code
+                    class="emotion-97 emotion-98"
+                    data-testid="display-detail-item-value-number"
+                    dir="ltr"
+                  >
+                    number
+                  </code>
+                </div>
+              </div>
+              <div
+                class="emotion-62"
+              >
+                <div
+                  class="emotion-8 emotion-106"
+                >
+                  Raw value
+                </div>
+                <div
+                  class="emotion-107 emotion-108"
+                  data-testid="atom-parsed-value"
+                  translate="no"
+                >
+                  <button
+                    aria-label="Copy value"
+                    class="emotion-16 emotion-17 emotion-111 emotion-112"
+                    type="button"
+                  >
+                    <svg
+                      fill="none"
+                      height="15"
+                      viewBox="0 0 15 15"
+                      width="15"
+                      xmlns="http://www.w3.org/2000/svg"
+                    >
+                      <path
+                        clip-rule="evenodd"
+                        d="M5 2V1H10V2H5ZM4.75 0C4.33579 0 4 0.335786 4 0.75V1H3.5C2.67157 1 2 1.67157 2 2.5V12.5C2 13.3284 2.67157 14 3.5 14H11.5C12.3284 14 13 13.3284 13 12.5V2.5C13 1.67157 12.3284 1 11.5 1H11V0.75C11 0.335786 10.6642 0 10.25 0H4.75ZM11 2V2.25C11 2.66421 10.6642 3 10.25 3H4.75C4.33579 3 4 2.66421 4 2.25V2H3.5C3.22386 2 3 2.22386 3 2.5V12.5C3 12.7761 3.22386 13 3.5 13H11.5C11.7761 13 12 12.7761 12 12.5V2.5C12 2.22386 11.7761 2 11.5 2H11Z"
+                        fill="currentColor"
+                        fill-rule="evenodd"
+                      />
+                    </svg>
+                  </button>
+                  <div
+                    class="emotion-113 emotion-114 emotion-115"
+                    dir="ltr"
+                    style="position: relative; --radix-scroll-area-corner-width: 0px; --radix-scroll-area-corner-height: 0px;"
+                  >
+                    <style>
+                      [data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}
+                    </style>
+                    <div
+                      class="emotion-116 emotion-117"
+                      data-radix-scroll-area-viewport=""
+                      style="overflow-x: scroll; overflow-y: scroll;"
+                    >
+                      <div
+                        style="min-width: 100%; display: table;"
+                      >
+                        <pre
+                          class="emotion-118 emotion-119 prism-code language-markdown"
+                          dir="ltr"
+                          style="color: rgb(33, 37, 41); background-color: rgba(248, 249, 250, 0.65);"
+                        >
+                          <div
+                            class="emotion-120 emotion-121 token-line"
+                          >
+                            <div
+                              class="emotion-122 emotion-121Content"
+                            >
+                              <span
+                                class="token plain"
+                              >
+                                0
+                              </span>
+                            </div>
+                          </div>
+                        </pre>
+                      </div>
+                    </div>
+                  </div>
+                </div>
+              </div>
+              <div
+                class="emotion-62"
+              >
+                <div
+                  class="emotion-8 emotion-126"
+                >
+                  Dependents
+                </div>
+                <ol
+                  class="emotion-127 emotion-128"
+                >
+                  <li
+                    class="emotion-129 emotion-130"
+                  >
+                    <div
+                      class="__mantine-ref-itemWrapper emotion-131 emotion-129Wrapper"
+                    >
+                      <span>
+                        <code
+                          class="emotion-97 emotion-98"
+                          data-testid="dependents-list-item-<unlabeled-atom>-0"
+                          dir="ltr"
+                        >
+                          &lt;unlabeled-atom&gt;
+                        </code>
+                      </span>
+                    </div>
+                  </li>
+                </ol>
+              </div>
+            </div>
+          </div>
+        </div>
+      </div>
+    </div>
+  </div>
+</div>
+`;
+
+exports[`DevTools - AtomViewer Atom details Raw value should display the dependents of the atom correctly 1`] = `
+.emotion-1 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  color: #000;
+  line-height: 1.55;
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale;
+  font-size: 16px;
+}
+
+.emotion-1 *,
+.emotion-1 *::before,
+.emotion-1 *::after {
+  box-sizing: border-box;
+}
+
+.emotion-2 {
+  -webkit-flex-direction: row;
+  -ms-flex-direction: row;
+  flex-direction: row;
+  position: fixed;
+  left: 0;
+  bottom: 0;
+  width: calc(100% - 20px);
+  border-color: #dee2e6;
+  border-width: 1px;
+  border-style: solid;
+  border-radius: 8px;
+  background: #fff;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-flex-direction: column;
+  -ms-flex-direction: column;
+  flex-direction: column;
+  z-index: 99999;
+  margin: 10px;
+  height: 370px;
+  max-height: 90%;
+}
+
+.emotion-3 {
+  width: 100%;
+  height: 5px;
+  cursor: row-resize;
+  z-index: 2;
+  position: absolute;
+  top: -2px;
+}
+
+.emotion-4 {
+  position: -webkit-sticky;
+  position: sticky;
+  top: 0;
+  z-index: 1;
+  width: 100%;
+}
+
+.emotion-5 {
+  padding: 10px;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-pack: justify;
+  -webkit-justify-content: space-between;
+  justify-content: space-between;
+}
+
+.emotion-7 {
+  box-sizing: border-box;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-flex-direction: row;
+  -ms-flex-direction: row;
+  flex-direction: row;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-flex-wrap: wrap;
+  -webkit-flex-wrap: wrap;
+  -ms-flex-wrap: wrap;
+  flex-wrap: wrap;
+  -webkit-box-pack: start;
+  -ms-flex-pack: start;
+  -webkit-justify-content: flex-start;
+  justify-content: flex-start;
+  gap: 16px;
+  margin-right: 10px;
+}
+
+.emotion-7>* {
+  box-sizing: border-box;
+  -webkit-box-flex: 0;
+  -webkit-flex-grow: 0;
+  -ms-flex-positive: 0;
+  flex-grow: 0;
+}
+
+.emotion-10 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: inherit;
+  font-size: inherit;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;
+  font-weight: 700;
+  font-size: 18px;
+  line-height: 1.45;
+  margin: 0;
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+}
+
+.emotion-10:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-10:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-12 {
+  -webkit-tap-highlight-color: transparent;
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  font-size: 9px;
+  height: 16px;
+  line-height: 14px;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  padding: 0 6.666666666666667px;
+  box-sizing: border-box;
+  display: -webkit-inline-box;
+  display: -webkit-inline-flex;
+  display: -ms-inline-flexbox;
+  display: inline-flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-pack: center;
+  -ms-flex-pack: center;
+  -webkit-justify-content: center;
+  justify-content: center;
+  width: auto;
+  text-transform: uppercase;
+  border-radius: 32px;
+  font-weight: 700;
+  letter-spacing: 0.25px;
+  cursor: inherit;
+  text-overflow: ellipsis;
+  overflow: hidden;
+  background: rgba(255, 244, 230, 1);
+  color: #fd7e14;
+  border: 1px solid transparent;
+}
+
+.emotion-12:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-12:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-13 {
+  white-space: nowrap;
+  overflow: hidden;
+  text-overflow: ellipsis;
+}
+
+.emotion-15 {
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+}
+
+.emotion-18 {
+  -webkit-tap-highlight-color: transparent;
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  cursor: pointer;
+  border: 0;
+  padding: 0;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  -ms-appearance: none;
+  appearance: none;
+  font-size: 16px;
+  background-color: transparent;
+  text-align: left;
+  color: #000;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  box-sizing: border-box;
+  border: 1px solid transparent;
+  background-color: #25262b;
+  color: #fff;
+  position: relative;
+  height: 28px;
+  min-height: 28px;
+  width: 28px;
+  min-width: 28px;
+  border-radius: 4px;
+  padding: 0;
+  line-height: 1;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-pack: center;
+  -ms-flex-pack: center;
+  -webkit-justify-content: center;
+  justify-content: center;
+}
+
+.emotion-18:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-18:focus:not(:focus-visible) {
+  outline: none;
+}
+
+@media (hover: hover) {
+  .emotion-18:hover {
+    background-color: #1A1B1E;
+  }
+}
+
+@media (hover: none) {
+  .emotion-18:active {
+    background-color: #1A1B1E;
+  }
+}
+
+.emotion-18:active {
+  -webkit-transform: scale(1);
+  -moz-transform: scale(1);
+  -ms-transform: scale(1);
+  transform: scale(1);
+}
+
+.emotion-18:disabled,
+.emotion-18[data-disabled] {
+  color: #ced4da;
+  cursor: not-allowed;
+  background-color: #f1f3f5;
+  border-color: #f1f3f5;
+  background-image: none;
+  pointer-events: none;
+}
+
+.emotion-18:disabled:active,
+.emotion-18[data-disabled]:active {
+  -webkit-transform: none;
+  -moz-transform: none;
+  -ms-transform: none;
+  transform: none;
+}
+
+.emotion-18[data-loading] {
+  pointer-events: none;
+}
+
+.emotion-18[data-loading]::before {
+  content: "";
+  position: absolute;
+  top: -1px;
+  left: -1px;
+  right: -1px;
+  bottom: -1px;
+  background-color: rgba(255, 255, 255, .5);
+  border-radius: 4px;
+  cursor: not-allowed;
+}
+
+.emotion-21 {
+  -webkit-tap-highlight-color: transparent;
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  cursor: pointer;
+  border: 0;
+  padding: 0;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  -ms-appearance: none;
+  appearance: none;
+  font-size: 16px;
+  background-color: transparent;
+  text-align: left;
+  color: #000;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  box-sizing: border-box;
+  border: 1px solid transparent;
+  background-color: transparent;
+  color: #868e96;
+  position: relative;
+  height: 28px;
+  min-height: 28px;
+  width: 28px;
+  min-width: 28px;
+  border-radius: 8px;
+  padding: 0;
+  line-height: 1;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-pack: center;
+  -ms-flex-pack: center;
+  -webkit-justify-content: center;
+  justify-content: center;
+  margin-left: 10px;
+}
+
+.emotion-21:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-21:focus:not(:focus-visible) {
+  outline: none;
+}
+
+@media (hover: hover) {
+  .emotion-21:hover {
+    background-color: rgba(248, 249, 250, 1);
+  }
+}
+
+@media (hover: none) {
+  .emotion-21:active {
+    background-color: rgba(248, 249, 250, 1);
+  }
+}
+
+.emotion-21:active {
+  -webkit-transform: scale(1);
+  -moz-transform: scale(1);
+  -ms-transform: scale(1);
+  transform: scale(1);
+}
+
+.emotion-21:disabled,
+.emotion-21[data-disabled] {
+  color: #ced4da;
+  cursor: not-allowed;
+  background-color: #f1f3f5;
+  border-color: #f1f3f5;
+  background-image: none;
+  pointer-events: none;
+}
+
+.emotion-21:disabled:active,
+.emotion-21[data-disabled]:active {
+  -webkit-transform: none;
+  -moz-transform: none;
+  -ms-transform: none;
+  transform: none;
+}
+
+.emotion-21[data-loading] {
+  pointer-events: none;
+}
+
+.emotion-21[data-loading]::before {
+  content: "";
+  position: absolute;
+  top: -1px;
+  left: -1px;
+  right: -1px;
+  bottom: -1px;
+  background-color: rgba(255, 255, 255, .5);
+  border-radius: 8px;
+  cursor: not-allowed;
+}
+
+.emotion-23 {
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-box-flex-wrap: wrap;
+  -webkit-flex-wrap: wrap;
+  -ms-flex-wrap: wrap;
+  flex-wrap: wrap;
+  -webkit-flex-direction: row;
+  -ms-flex-direction: row;
+  flex-direction: row;
+  -webkit-box-pack: start;
+  -ms-flex-pack: start;
+  -webkit-justify-content: flex-start;
+  justify-content: flex-start;
+  border-bottom: 2px solid #dee2e6;
+}
+
+.emotion-26 {
+  -webkit-tap-highlight-color: transparent;
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  cursor: pointer;
+  border: 0;
+  padding: 0;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  -ms-appearance: none;
+  appearance: none;
+  font-size: 16px;
+  background-color: transparent;
+  text-align: left;
+  color: #000;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  box-sizing: border-box;
+  position: relative;
+  padding: 10px 16px;
+  padding-left: 10px;
+  font-size: 14px;
+  white-space: nowrap;
+  z-index: 0;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-pack: center;
+  -ms-flex-pack: center;
+  -webkit-justify-content: center;
+  justify-content: center;
+  line-height: 1;
+  border-bottom: 2px solid transparent;
+  margin-bottom: -2px;
+  border-radius: 4px 4px 0 0;
+}
+
+.emotion-26:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-26:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-26:disabled {
+  opacity: 0.5;
+  cursor: not-allowed;
+}
+
+@media (hover: hover) {
+  .emotion-26:disabled:hover {
+    background-color: transparent;
+  }
+}
+
+@media (hover: none) {
+  .emotion-26:disabled:active {
+    background-color: transparent;
+  }
+}
+
+.emotion-26:focus {
+  z-index: 1;
+}
+
+@media (hover: hover) {
+  .emotion-26:hover {
+    background-color: #f8f9fa;
+    border-color: #dee2e6;
+  }
+}
+
+@media (hover: none) {
+  .emotion-26:active {
+    background-color: #f8f9fa;
+    border-color: #dee2e6;
+  }
+}
+
+.emotion-26[data-active] {
+  border-color: #25262b;
+  color: #000;
+}
+
+@media (hover: hover) {
+  .emotion-26[data-active]:hover {
+    border-color: #25262b;
+  }
+}
+
+@media (hover: none) {
+  .emotion-26[data-active]:active {
+    border-color: #25262b;
+  }
+}
+
+.emotion-27 {
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-box-pack: center;
+  -ms-flex-pack: center;
+  -webkit-justify-content: center;
+  justify-content: center;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+}
+
+.emotion-27:not(:only-child) {
+  margin-right: 7px;
+}
+
+.emotion-32 {
+  height: 100%;
+  overflow: hidden;
+  border-bottom-left-radius: 7px;
+  border-bottom-right-radius: 7px;
+}
+
+.emotion-33 {
+  padding: 10px;
+  padding-top: 0;
+  height: 100%;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-flex-direction: column;
+  -ms-flex-direction: column;
+  flex-direction: column;
+  background: #e9ecef;
+}
+
+.emotion-36 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  line-height: 1.55;
+  position: -webkit-sticky;
+  position: sticky;
+  top: 0;
+  padding-top: 10px;
+  padding-bottom: 10px;
+}
+
+.emotion-39 {
+  display: inline-block;
+  font-size: 14px;
+  font-weight: 500;
+  color: #212529;
+  word-break: break-word;
+  cursor: default;
+  -webkit-tap-highlight-color: transparent;
+}
+
+.emotion-42 {
+  position: relative;
+}
+
+.emotion-45 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  height: 36px;
+  -webkit-tap-highlight-color: transparent;
+  line-height: 34px;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  -ms-appearance: none;
+  appearance: none;
+  resize: none;
+  box-sizing: border-box;
+  font-size: 14px;
+  width: 100%;
+  color: #000;
+  display: block;
+  text-align: left;
+  min-height: 36px;
+  padding-left: 12px;
+  padding-right: 12px;
+  border-radius: 4px;
+  border: 1px solid #ced4da;
+  background-color: #fff;
+  -webkit-transition: border-color 100ms ease;
+  transition: border-color 100ms ease;
+}
+
+.emotion-45:disabled {
+  background-color: #f1f3f5;
+  color: #909296;
+  opacity: 0.6;
+  cursor: not-allowed;
+}
+
+.emotion-45:disabled::-webkit-input-placeholder {
+  color: #909296;
+}
+
+.emotion-45:disabled::-moz-placeholder {
+  color: #909296;
+}
+
+.emotion-45:disabled:-ms-input-placeholder {
+  color: #909296;
+}
+
+.emotion-45:disabled::placeholder {
+  color: #909296;
+}
+
+.emotion-45::-webkit-input-placeholder {
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+  color: #adb5bd;
+  opacity: 1;
+}
+
+.emotion-45::-moz-placeholder {
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+  color: #adb5bd;
+  opacity: 1;
+}
+
+.emotion-45:-ms-input-placeholder {
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+  color: #adb5bd;
+  opacity: 1;
+}
+
+.emotion-45::placeholder {
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+  color: #adb5bd;
+  opacity: 1;
+}
+
+.emotion-45::-webkit-inner-spin-button,
+.emotion-45::-webkit-outer-spin-button,
+.emotion-45::-webkit-search-decoration,
+.emotion-45::-webkit-search-cancel-button,
+.emotion-45::-webkit-search-results-button,
+.emotion-45::-webkit-search-results-decoration {
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  -ms-appearance: none;
+  appearance: none;
+}
+
+.emotion-45[type=number] {
+  -moz-appearance: textfield;
+}
+
+.emotion-45:focus,
+.emotion-45:focus-within {
+  outline: none;
+  border-color: #25262b;
+}
+
+.emotion-46 {
+  overflow: auto;
+}
+
+.emotion-49 {
+  -webkit-tap-highlight-color: transparent;
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  cursor: pointer;
+  border: 0;
+  padding: 0;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  -ms-appearance: none;
+  appearance: none;
+  font-size: 16px;
+  background-color: transparent;
+  text-align: left;
+  color: #000;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  box-sizing: border-box;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  width: 100%;
+  padding: 8px 12px;
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+  border-radius: 5px;
+}
+
+.emotion-49:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-49:focus:not(:focus-visible) {
+  outline: none;
+}
+
+@media (hover: hover) {
+  .emotion-49:hover {
+    background-color: #f8f9fa;
+  }
+}
+
+@media (hover: none) {
+  .emotion-49:active {
+    background-color: #f8f9fa;
+  }
+}
+
+.emotion-49[data-active] {
+  background-color: #25262b;
+  color: #fff;
+}
+
+@media (hover: hover) {
+  .emotion-49[data-active]:hover {
+    background-color: #1A1B1E;
+  }
+}
+
+@media (hover: none) {
+  .emotion-49[data-active]:active {
+    background-color: #1A1B1E;
+  }
+}
+
+.emotion-49[data-disabled] {
+  opacity: 0.4;
+  pointer-events: none;
+}
+
+.emotion-50 {
+  -webkit-flex: 1;
+  -ms-flex: 1;
+  flex: 1;
+  overflow: hidden;
+  text-overflow: ellipsis;
+}
+
+.emotion-54 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: inherit;
+  font-size: 14px;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+}
+
+.emotion-54:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-54:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-56 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: inherit;
+  font-size: inherit;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  font-family: JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;
+}
+
+.emotion-56:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-56:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-59 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: #868e96;
+  font-size: 12px;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  display: block;
+}
+
+.emotion-59:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-59:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-59[data-active] {
+  color: inherit;
+}
+
+.emotion-60 {
+  margin-left: 12px;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-box-pack: center;
+  -ms-flex-pack: center;
+  -webkit-justify-content: center;
+  justify-content: center;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-transition: -webkit-transform 150ms ease;
+  transition: transform 150ms ease;
+}
+
+.emotion-60[data-rotate] {
+  -webkit-transform: rotate(90deg);
+  -moz-transform: rotate(90deg);
+  -ms-transform: rotate(90deg);
+  transform: rotate(90deg);
+}
+
+.emotion-63 {
+  padding-left: 20px;
+}
+
+.emotion-83 {
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  padding: 5;
+  height: 100%;
+}
+
+.emotion-83 ._jotai-devtools-internal-panel-resize-handle {
+  -webkit-transition: max-height,min-height,height,0.2s ease-out;
+  transition: max-height,min-height,height,0.2s ease-out;
+}
+
+[data-resize-handle-active] .emotion-83 ._jotai-devtools-internal-panel-resize-handle,
+.emotion-83:hover ._jotai-devtools-internal-panel-resize-handle {
+  height: 90%;
+  min-height: 90%;
+  max-height: 90%;
+}
+
+.emotion-84 {
+  border-radius: 2rem;
+  vertical-align: middle;
+  margin: 5px;
+  background: #dee2e6;
+  width: 5px;
+  height: 20%;
+  min-height: 50px;
+  max-height: 100px;
+}
+
+.emotion-85 {
+  padding: 10px;
+  height: 100%;
+  position: relative;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-flex-direction: column;
+  -ms-flex-direction: column;
+  flex-direction: column;
+}
+
+.emotion-87 {
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-flex-direction: column;
+  -ms-flex-direction: column;
+  flex-direction: column;
+  -webkit-align-items: stretch;
+  -webkit-box-align: stretch;
+  -ms-flex-align: stretch;
+  align-items: stretch;
+  -webkit-box-pack: start;
+  -ms-flex-pack: start;
+  -webkit-justify-content: flex-start;
+  justify-content: flex-start;
+  gap: 16px;
+  height: auto;
+}
+
+.emotion-91 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: inherit;
+  font-size: inherit;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;
+  font-weight: 700;
+  font-size: 22px;
+  line-height: 1.4;
+  margin: 0;
+  margin-bottom: 10px;
+}
+
+.emotion-91:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-91:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-93 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: inherit;
+  font-size: inherit;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  margin-bottom: 10px;
+  font-weight: bold;
+}
+
+.emotion-93:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-93:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-94 {
+  margin-bottom: 10px;
+}
+
+.emotion-96 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: #868e96;
+  font-size: inherit;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  font-size: 10px;
+  font-weight: bold;
+  text-transform: uppercase;
+}
+
+.emotion-96:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-96:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-98 {
+  font-family: JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;
+  line-height: 1.55;
+  padding: 2px calc(10px / 2);
+  border-radius: 4px;
+  color: #1A1B1E;
+  background-color: rgba(248, 249, 250, 1);
+  font-size: 12px;
+}
+
+.emotion-106 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: inherit;
+  font-size: inherit;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  margin-bottom: 12px;
+  font-weight: bold;
+}
+
+.emotion-106:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-106:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-108 {
+  position: relative;
+  margin-bottom: 10px;
+}
+
+.emotion-112 {
+  -webkit-tap-highlight-color: transparent;
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  cursor: pointer;
+  border: 0;
+  padding: 0;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  -ms-appearance: none;
+  appearance: none;
+  font-size: 16px;
+  background-color: transparent;
+  text-align: left;
+  color: #000;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  box-sizing: border-box;
+  border: 1px solid transparent;
+  background-color: transparent;
+  color: #868e96;
+  position: relative;
+  height: 28px;
+  min-height: 28px;
+  width: 28px;
+  min-width: 28px;
+  border-radius: 4px;
+  padding: 0;
+  line-height: 1;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-pack: center;
+  -ms-flex-pack: center;
+  -webkit-justify-content: center;
+  justify-content: center;
+  position: absolute;
+  top: 10px;
+  right: 10px;
+  left: unset;
+  z-index: 2;
+}
+
+.emotion-112:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-112:focus:not(:focus-visible) {
+  outline: none;
+}
+
+@media (hover: hover) {
+  .emotion-112:hover {
+    background-color: rgba(248, 249, 250, 1);
+  }
+}
+
+@media (hover: none) {
+  .emotion-112:active {
+    background-color: rgba(248, 249, 250, 1);
+  }
+}
+
+.emotion-112:active {
+  -webkit-transform: scale(1);
+  -moz-transform: scale(1);
+  -ms-transform: scale(1);
+  transform: scale(1);
+}
+
+.emotion-112:disabled,
+.emotion-112[data-disabled] {
+  color: #ced4da;
+  cursor: not-allowed;
+  background-color: #f1f3f5;
+  border-color: #f1f3f5;
+  background-image: none;
+  pointer-events: none;
+}
+
+.emotion-112:disabled:active,
+.emotion-112[data-disabled]:active {
+  -webkit-transform: none;
+  -moz-transform: none;
+  -ms-transform: none;
+  transform: none;
+}
+
+.emotion-112[data-loading] {
+  pointer-events: none;
+}
+
+.emotion-112[data-loading]::before {
+  content: "";
+  position: absolute;
+  top: -1px;
+  left: -1px;
+  right: -1px;
+  bottom: -1px;
+  background-color: rgba(255, 255, 255, .5);
+  border-radius: 4px;
+  cursor: not-allowed;
+}
+
+.emotion-112,
+.emotion-112:hover {
+  background-color: #f8f9fa;
+}
+
+.emotion-115 {
+  overflow: hidden;
+}
+
+.emotion-116 {
+  width: 100%;
+  height: 100%;
+}
+
+.emotion-118 {
+  box-sizing: border-box;
+  position: relative;
+  font-family: JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;
+  line-height: 1.7;
+  font-size: 13px;
+  border-radius: 4px;
+  padding: 12px 0;
+  margin-top: 0;
+  margin-bottom: 0;
+}
+
+.emotion-120 {
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  width: 100%;
+  padding: 0 16px;
+}
+
+.emotion-122 {
+  width: 100%;
+}
+
+.emotion-126 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: inherit;
+  font-size: inherit;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  margin-top: 20px;
+  margin-bottom: 10px;
+  font-weight: bold;
+}
+
+.emotion-126:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-126:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-128 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: inherit;
+  font-size: 14px;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  margin-bottom: 10px;
+}
+
+.emotion-128:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-128:focus:not(:focus-visible) {
+  outline: none;
+}
+
+<div>
+  <div
+    class="emotion-0 emotion-1 emotion-2"
+    data-testid="emotion-1"
+  >
+    <div
+      class="emotion-3"
+      data-testid="shell-resize-bar"
+    />
+    <div
+      class="emotion-4"
+    >
+      <div
+        class="emotion-5"
+      >
+        <div
+          class="emotion-6 emotion-7"
+        >
+          <h1
+            class="emotion-8 emotion-9 emotion-10"
+          >
+            πŸ‘» Jōtai DevTools
+          </h1>
+          <div
+            class="emotion-11 emotion-12"
+          >
+            <span
+              class="emotion-13 emotion-14"
+            >
+              Alpha
+            </span>
+          </div>
+        </div>
+        <div
+          class="emotion-15"
+        >
+          <button
+            class="emotion-16 emotion-17 emotion-18"
+            title="Toggle color scheme"
+            type="button"
+          >
+            <svg
+              class="icon icon-tabler icon-tabler-moon-stars"
+              fill="none"
+              height="16"
+              stroke="currentColor"
+              stroke-linecap="round"
+              stroke-linejoin="round"
+              stroke-width="2"
+              viewBox="0 0 24 24"
+              width="16"
+              xmlns="http://www.w3.org/2000/svg"
+            >
+              <path
+                d="M0 0h24v24H0z"
+                fill="none"
+                stroke="none"
+              />
+              <path
+                d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z"
+              />
+              <path
+                d="M17 4a2 2 0 0 0 2 2a2 2 0 0 0 -2 2a2 2 0 0 0 -2 -2a2 2 0 0 0 2 -2"
+              />
+              <path
+                d="M19 11h2m-1 -1v2"
+              />
+            </svg>
+          </button>
+          <button
+            class="emotion-16 emotion-17 emotion-21"
+            title="Minimize panel"
+            type="button"
+          >
+            <svg
+              class="icon icon-tabler icon-tabler-minus"
+              fill="none"
+              height="16"
+              stroke="currentColor"
+              stroke-linecap="round"
+              stroke-linejoin="round"
+              stroke-width="2"
+              viewBox="0 0 24 24"
+              width="16"
+              xmlns="http://www.w3.org/2000/svg"
+            >
+              <path
+                d="M0 0h24v24H0z"
+                fill="none"
+                stroke="none"
+              />
+              <line
+                x1="5"
+                x2="19"
+                y1="12"
+                y2="12"
+              />
+            </svg>
+          </button>
+        </div>
+      </div>
+    </div>
+    <div
+      aria-orientation="horizontal"
+      class="emotion-22 emotion-23"
+      role="tablist"
+    >
+      <button
+        aria-controls="mantine-r4t-panel-atom-viewer"
+        aria-selected="true"
+        class="emotion-16 emotion-25 emotion-26"
+        data-active="true"
+        id="mantine-r4t-tab-atom-viewer"
+        role="tab"
+        tabindex="0"
+        type="button"
+      >
+        <div
+          class="emotion-27 emotion-25Icon"
+        >
+          <svg
+            class="icon icon-tabler icon-tabler-layout-list"
+            fill="none"
+            height="14"
+            stroke="currentColor"
+            stroke-linecap="round"
+            stroke-linejoin="round"
+            stroke-width="2"
+            viewBox="0 0 24 24"
+            width="14"
+            xmlns="http://www.w3.org/2000/svg"
+          >
+            <path
+              d="M0 0h24v24H0z"
+              fill="none"
+              stroke="none"
+            />
+            <rect
+              height="6"
+              rx="2"
+              width="16"
+              x="4"
+              y="4"
+            />
+            <rect
+              height="6"
+              rx="2"
+              width="16"
+              x="4"
+              y="14"
+            />
+          </svg>
+        </div>
+        <div
+          class="emotion-29 emotion-25Label"
+        >
+          Atom Viewer
+        </div>
+      </button>
+    </div>
+    <div
+      aria-labelledby="mantine-r4t-tab-atom-viewer"
+      class="emotion-31 emotion-32"
+      id="mantine-r4t-panel-atom-viewer"
+      role="tabpanel"
+    >
+      <div
+        class=""
+        data-panel-group=""
+        data-panel-group-direction="horizontal"
+        data-panel-group-id=":r4v:"
+        style="display: flex; flex-direction: row; height: 100%; overflow: hidden; width: 100%;"
+      >
+        <div
+          class=""
+          data-panel=""
+          data-panel-id=":r51:"
+          data-panel-size="50.0"
+          id="data-panel-id-:r51:"
+          style="flex-basis: 0px; flex-grow: 50; flex-shrink: 1; overflow: auto;"
+        >
+          <div
+            class="emotion-33"
+          >
+            <div
+              class="emotion-34 emotion-35 emotion-36"
+            >
+              <label
+                class="emotion-37 emotion-38 emotion-39"
+                for="mantine-r53"
+                id="mantine-r53-label"
+              >
+                Search
+              </label>
+              <div
+                class="emotion-40 emotion-41 emotion-42"
+              >
+                <input
+                  aria-invalid="false"
+                  class="emotion-43 emotion-44 emotion-45"
+                  id="mantine-r53"
+                  placeholder="atom debug label"
+                  type="text"
+                  value=""
+                />
+              </div>
+            </div>
+            <div
+              class="emotion-46"
+            >
+              <button
+                class="emotion-16 emotion-48 emotion-49"
+                type="button"
+              >
+                <span
+                  class="emotion-50 emotion-51"
+                >
+                  <span
+                    class="emotion-8 emotion-53 emotion-54"
+                  >
+                    <div
+                      class="emotion-8 emotion-56"
+                    >
+                      countAtom
+                    </div>
+                  </span>
+                  <span
+                    class="emotion-8 emotion-58 emotion-59"
+                  />
+                </span>
+                <span
+                  class="emotion-60 emotion-61"
+                >
+                  <svg
+                    class="icon icon-tabler icon-tabler-chevron-right"
+                    fill="none"
+                    height="12"
+                    stroke="currentColor"
+                    stroke-linecap="round"
+                    stroke-linejoin="round"
+                    stroke-width="1.5"
+                    viewBox="0 0 24 24"
+                    width="12"
+                    xmlns="http://www.w3.org/2000/svg"
+                  >
+                    <path
+                      d="M0 0h24v24H0z"
+                      fill="none"
+                      stroke="none"
+                    />
+                    <polyline
+                      points="9 6 15 12 9 18"
+                    />
+                  </svg>
+                </span>
+              </button>
+              <div
+                aria-hidden="true"
+                class="emotion-62"
+                style="box-sizing: border-box; display: none; height: 0px; overflow: hidden;"
+              >
+                <div
+                  style="opacity: 0; transition: opacity 200ms ease;"
+                >
+                  <div
+                    class="emotion-63 emotion-64"
+                  />
+                </div>
+              </div>
+              <button
+                class="emotion-16 emotion-48 emotion-49"
+                data-active="true"
+                type="button"
+              >
+                <span
+                  class="emotion-50 emotion-51"
+                >
+                  <span
+                    class="emotion-8 emotion-53 emotion-54"
+                  >
+                    <div
+                      class="emotion-8 emotion-56"
+                    >
+                      &lt;unlabeled-atom&gt;
+                    </div>
+                  </span>
+                  <span
+                    class="emotion-8 emotion-58 emotion-59"
+                    data-active="true"
+                  />
+                </span>
+                <span
+                  class="emotion-60 emotion-61"
+                >
+                  <svg
+                    class="icon icon-tabler icon-tabler-chevron-right"
+                    fill="none"
+                    height="12"
+                    stroke="currentColor"
+                    stroke-linecap="round"
+                    stroke-linejoin="round"
+                    stroke-width="1.5"
+                    viewBox="0 0 24 24"
+                    width="12"
+                    xmlns="http://www.w3.org/2000/svg"
+                  >
+                    <path
+                      d="M0 0h24v24H0z"
+                      fill="none"
+                      stroke="none"
+                    />
+                    <polyline
+                      points="9 6 15 12 9 18"
+                    />
+                  </svg>
+                </span>
+              </button>
+              <div
+                aria-hidden="true"
+                class="emotion-62"
+                style="box-sizing: border-box; display: none; height: 0px; overflow: hidden;"
+              >
+                <div
+                  style="opacity: 0; transition: opacity 200ms ease;"
+                >
+                  <div
+                    class="emotion-63 emotion-64"
+                  />
+                </div>
+              </div>
+            </div>
+          </div>
+        </div>
+        <div
+          aria-controls="data-panel-id-:r51:"
+          aria-valuemax="70"
+          aria-valuemin="30"
+          aria-valuenow="50"
+          class=""
+          data-panel-group-direction="horizontal"
+          data-panel-group-id=":r4v:"
+          data-panel-resize-handle-enabled="true"
+          data-panel-resize-handle-id=":r55:"
+          role="separator"
+          style="cursor: col-resize; user-select: none;"
+          tabindex="0"
+        >
+          <div
+            class="emotion-83"
+          >
+            <div
+              class="_jotai-devtools-internal-panel-resize-handle emotion-84"
+            />
+          </div>
+        </div>
+        <div
+          class=""
+          data-panel=""
+          data-panel-id=":r57:"
+          data-panel-size="50.0"
+          id="data-panel-id-:r57:"
+          style="flex-basis: 0px; flex-grow: 50; flex-shrink: 1; overflow: auto;"
+        >
+          <div
+            class="emotion-85"
+          >
+            <div
+              class="emotion-86 emotion-87"
+            >
+              <div
+                class="emotion-62"
+              >
+                <h1
+                  class="emotion-8 emotion-9 emotion-91"
+                >
+                  Atom Details
+                </h1>
+                <div
+                  class="emotion-8 emotion-93"
+                >
+                  Meta
+                </div>
+                <div
+                  class="emotion-94"
+                >
+                  <div
+                    class="emotion-8 emotion-96"
+                    data-testid="display-detail-item-label-Debug Label"
+                  >
+                    Debug Label
+                  </div>
+                  <code
+                    class="emotion-97 emotion-98"
+                    data-testid="display-detail-item-value-<unlabeled-atom>"
+                    dir="ltr"
+                  >
+                    &lt;unlabeled-atom&gt;
+                  </code>
+                </div>
+                <div
+                  class="emotion-94"
+                >
+                  <div
+                    class="emotion-8 emotion-96"
+                    data-testid="display-detail-item-label-Value type"
+                  >
+                    Value type
+                  </div>
+                  <code
+                    class="emotion-97 emotion-98"
+                    data-testid="display-detail-item-value-number"
+                    dir="ltr"
+                  >
+                    number
+                  </code>
+                </div>
+              </div>
+              <div
+                class="emotion-62"
+              >
+                <div
+                  class="emotion-8 emotion-106"
+                >
+                  Raw value
+                </div>
+                <div
+                  class="emotion-107 emotion-108"
+                  data-testid="atom-parsed-value"
+                  translate="no"
+                >
+                  <button
+                    aria-label="Copy value"
+                    class="emotion-16 emotion-17 emotion-111 emotion-112"
+                    type="button"
+                  >
+                    <svg
+                      fill="none"
+                      height="15"
+                      viewBox="0 0 15 15"
+                      width="15"
+                      xmlns="http://www.w3.org/2000/svg"
+                    >
+                      <path
+                        clip-rule="evenodd"
+                        d="M5 2V1H10V2H5ZM4.75 0C4.33579 0 4 0.335786 4 0.75V1H3.5C2.67157 1 2 1.67157 2 2.5V12.5C2 13.3284 2.67157 14 3.5 14H11.5C12.3284 14 13 13.3284 13 12.5V2.5C13 1.67157 12.3284 1 11.5 1H11V0.75C11 0.335786 10.6642 0 10.25 0H4.75ZM11 2V2.25C11 2.66421 10.6642 3 10.25 3H4.75C4.33579 3 4 2.66421 4 2.25V2H3.5C3.22386 2 3 2.22386 3 2.5V12.5C3 12.7761 3.22386 13 3.5 13H11.5C11.7761 13 12 12.7761 12 12.5V2.5C12 2.22386 11.7761 2 11.5 2H11Z"
+                        fill="currentColor"
+                        fill-rule="evenodd"
+                      />
+                    </svg>
+                  </button>
+                  <div
+                    class="emotion-113 emotion-114 emotion-115"
+                    dir="ltr"
+                    style="position: relative; --radix-scroll-area-corner-width: 0px; --radix-scroll-area-corner-height: 0px;"
+                  >
+                    <style>
+                      [data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}
+                    </style>
+                    <div
+                      class="emotion-116 emotion-117"
+                      data-radix-scroll-area-viewport=""
+                      style="overflow-x: scroll; overflow-y: scroll;"
+                    >
+                      <div
+                        style="min-width: 100%; display: table;"
+                      >
+                        <pre
+                          class="emotion-118 emotion-119 prism-code language-markdown"
+                          dir="ltr"
+                          style="color: rgb(33, 37, 41); background-color: rgba(248, 249, 250, 0.65);"
+                        >
+                          <div
+                            class="emotion-120 emotion-121 token-line"
+                          >
+                            <div
+                              class="emotion-122 emotion-121Content"
+                            >
+                              <span
+                                class="token plain"
+                              >
+                                0
+                              </span>
+                            </div>
+                          </div>
+                        </pre>
+                      </div>
+                    </div>
+                  </div>
+                </div>
+              </div>
+              <div
+                class="emotion-62"
+              >
+                <div
+                  class="emotion-8 emotion-126"
+                >
+                  Dependents
+                </div>
+                <div
+                  class="emotion-8 emotion-128"
+                >
+                  No dependents
+                </div>
+              </div>
+            </div>
+          </div>
+        </div>
+      </div>
+    </div>
+  </div>
+</div>
+`;
+
+exports[`DevTools - AtomViewer List of atoms Search should display an error if no atoms are found 1`] = `
+.emotion-1 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  color: #000;
+  line-height: 1.55;
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale;
+  font-size: 16px;
+}
+
+.emotion-1 *,
+.emotion-1 *::before,
+.emotion-1 *::after {
+  box-sizing: border-box;
+}
+
+.emotion-2 {
+  -webkit-flex-direction: row;
+  -ms-flex-direction: row;
+  flex-direction: row;
+  position: fixed;
+  left: 0;
+  bottom: 0;
+  width: calc(100% - 20px);
+  border-color: #dee2e6;
+  border-width: 1px;
+  border-style: solid;
+  border-radius: 8px;
+  background: #fff;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-flex-direction: column;
+  -ms-flex-direction: column;
+  flex-direction: column;
+  z-index: 99999;
+  margin: 10px;
+  height: 370px;
+  max-height: 90%;
+}
+
+.emotion-3 {
+  width: 100%;
+  height: 5px;
+  cursor: row-resize;
+  z-index: 2;
+  position: absolute;
+  top: -2px;
+}
+
+.emotion-4 {
+  position: -webkit-sticky;
+  position: sticky;
+  top: 0;
+  z-index: 1;
+  width: 100%;
+}
+
+.emotion-5 {
+  padding: 10px;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-pack: justify;
+  -webkit-justify-content: space-between;
+  justify-content: space-between;
+}
+
+.emotion-7 {
+  box-sizing: border-box;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-flex-direction: row;
+  -ms-flex-direction: row;
+  flex-direction: row;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-flex-wrap: wrap;
+  -webkit-flex-wrap: wrap;
+  -ms-flex-wrap: wrap;
+  flex-wrap: wrap;
+  -webkit-box-pack: start;
+  -ms-flex-pack: start;
+  -webkit-justify-content: flex-start;
+  justify-content: flex-start;
+  gap: 16px;
+  margin-right: 10px;
+}
+
+.emotion-7>* {
+  box-sizing: border-box;
+  -webkit-box-flex: 0;
+  -webkit-flex-grow: 0;
+  -ms-flex-positive: 0;
+  flex-grow: 0;
+}
+
+.emotion-10 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: inherit;
+  font-size: inherit;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;
+  font-weight: 700;
+  font-size: 18px;
+  line-height: 1.45;
+  margin: 0;
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+}
+
+.emotion-10:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-10:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-12 {
+  -webkit-tap-highlight-color: transparent;
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  font-size: 9px;
+  height: 16px;
+  line-height: 14px;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  padding: 0 6.666666666666667px;
+  box-sizing: border-box;
+  display: -webkit-inline-box;
+  display: -webkit-inline-flex;
+  display: -ms-inline-flexbox;
+  display: inline-flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-pack: center;
+  -ms-flex-pack: center;
+  -webkit-justify-content: center;
+  justify-content: center;
+  width: auto;
+  text-transform: uppercase;
+  border-radius: 32px;
+  font-weight: 700;
+  letter-spacing: 0.25px;
+  cursor: inherit;
+  text-overflow: ellipsis;
+  overflow: hidden;
+  background: rgba(255, 244, 230, 1);
+  color: #fd7e14;
+  border: 1px solid transparent;
+}
+
+.emotion-12:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-12:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-13 {
+  white-space: nowrap;
+  overflow: hidden;
+  text-overflow: ellipsis;
+}
+
+.emotion-15 {
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+}
+
+.emotion-18 {
+  -webkit-tap-highlight-color: transparent;
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  cursor: pointer;
+  border: 0;
+  padding: 0;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  -ms-appearance: none;
+  appearance: none;
+  font-size: 16px;
+  background-color: transparent;
+  text-align: left;
+  color: #000;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  box-sizing: border-box;
+  border: 1px solid transparent;
+  background-color: #25262b;
+  color: #fff;
+  position: relative;
+  height: 28px;
+  min-height: 28px;
+  width: 28px;
+  min-width: 28px;
+  border-radius: 4px;
+  padding: 0;
+  line-height: 1;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-pack: center;
+  -ms-flex-pack: center;
+  -webkit-justify-content: center;
+  justify-content: center;
+}
+
+.emotion-18:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-18:focus:not(:focus-visible) {
+  outline: none;
+}
+
+@media (hover: hover) {
+  .emotion-18:hover {
+    background-color: #1A1B1E;
+  }
+}
+
+@media (hover: none) {
+  .emotion-18:active {
+    background-color: #1A1B1E;
+  }
+}
+
+.emotion-18:active {
+  -webkit-transform: scale(1);
+  -moz-transform: scale(1);
+  -ms-transform: scale(1);
+  transform: scale(1);
+}
+
+.emotion-18:disabled,
+.emotion-18[data-disabled] {
+  color: #ced4da;
+  cursor: not-allowed;
+  background-color: #f1f3f5;
+  border-color: #f1f3f5;
+  background-image: none;
+  pointer-events: none;
+}
+
+.emotion-18:disabled:active,
+.emotion-18[data-disabled]:active {
+  -webkit-transform: none;
+  -moz-transform: none;
+  -ms-transform: none;
+  transform: none;
+}
+
+.emotion-18[data-loading] {
+  pointer-events: none;
+}
+
+.emotion-18[data-loading]::before {
+  content: "";
+  position: absolute;
+  top: -1px;
+  left: -1px;
+  right: -1px;
+  bottom: -1px;
+  background-color: rgba(255, 255, 255, .5);
+  border-radius: 4px;
+  cursor: not-allowed;
+}
+
+.emotion-21 {
+  -webkit-tap-highlight-color: transparent;
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  cursor: pointer;
+  border: 0;
+  padding: 0;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  -ms-appearance: none;
+  appearance: none;
+  font-size: 16px;
+  background-color: transparent;
+  text-align: left;
+  color: #000;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  box-sizing: border-box;
+  border: 1px solid transparent;
+  background-color: transparent;
+  color: #868e96;
+  position: relative;
+  height: 28px;
+  min-height: 28px;
+  width: 28px;
+  min-width: 28px;
+  border-radius: 8px;
+  padding: 0;
+  line-height: 1;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-pack: center;
+  -ms-flex-pack: center;
+  -webkit-justify-content: center;
+  justify-content: center;
+  margin-left: 10px;
+}
+
+.emotion-21:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-21:focus:not(:focus-visible) {
+  outline: none;
+}
+
+@media (hover: hover) {
+  .emotion-21:hover {
+    background-color: rgba(248, 249, 250, 1);
+  }
+}
+
+@media (hover: none) {
+  .emotion-21:active {
+    background-color: rgba(248, 249, 250, 1);
+  }
+}
+
+.emotion-21:active {
+  -webkit-transform: scale(1);
+  -moz-transform: scale(1);
+  -ms-transform: scale(1);
+  transform: scale(1);
+}
+
+.emotion-21:disabled,
+.emotion-21[data-disabled] {
+  color: #ced4da;
+  cursor: not-allowed;
+  background-color: #f1f3f5;
+  border-color: #f1f3f5;
+  background-image: none;
+  pointer-events: none;
+}
+
+.emotion-21:disabled:active,
+.emotion-21[data-disabled]:active {
+  -webkit-transform: none;
+  -moz-transform: none;
+  -ms-transform: none;
+  transform: none;
+}
+
+.emotion-21[data-loading] {
+  pointer-events: none;
+}
+
+.emotion-21[data-loading]::before {
+  content: "";
+  position: absolute;
+  top: -1px;
+  left: -1px;
+  right: -1px;
+  bottom: -1px;
+  background-color: rgba(255, 255, 255, .5);
+  border-radius: 8px;
+  cursor: not-allowed;
+}
+
+.emotion-23 {
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-box-flex-wrap: wrap;
+  -webkit-flex-wrap: wrap;
+  -ms-flex-wrap: wrap;
+  flex-wrap: wrap;
+  -webkit-flex-direction: row;
+  -ms-flex-direction: row;
+  flex-direction: row;
+  -webkit-box-pack: start;
+  -ms-flex-pack: start;
+  -webkit-justify-content: flex-start;
+  justify-content: flex-start;
+  border-bottom: 2px solid #dee2e6;
+}
+
+.emotion-26 {
+  -webkit-tap-highlight-color: transparent;
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  cursor: pointer;
+  border: 0;
+  padding: 0;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  -ms-appearance: none;
+  appearance: none;
+  font-size: 16px;
+  background-color: transparent;
+  text-align: left;
+  color: #000;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  box-sizing: border-box;
+  position: relative;
+  padding: 10px 16px;
+  padding-left: 10px;
+  font-size: 14px;
+  white-space: nowrap;
+  z-index: 0;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-pack: center;
+  -ms-flex-pack: center;
+  -webkit-justify-content: center;
+  justify-content: center;
+  line-height: 1;
+  border-bottom: 2px solid transparent;
+  margin-bottom: -2px;
+  border-radius: 4px 4px 0 0;
+}
+
+.emotion-26:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-26:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-26:disabled {
+  opacity: 0.5;
+  cursor: not-allowed;
+}
+
+@media (hover: hover) {
+  .emotion-26:disabled:hover {
+    background-color: transparent;
+  }
+}
+
+@media (hover: none) {
+  .emotion-26:disabled:active {
+    background-color: transparent;
+  }
+}
+
+.emotion-26:focus {
+  z-index: 1;
+}
+
+@media (hover: hover) {
+  .emotion-26:hover {
+    background-color: #f8f9fa;
+    border-color: #dee2e6;
+  }
+}
+
+@media (hover: none) {
+  .emotion-26:active {
+    background-color: #f8f9fa;
+    border-color: #dee2e6;
+  }
+}
+
+.emotion-26[data-active] {
+  border-color: #25262b;
+  color: #000;
+}
+
+@media (hover: hover) {
+  .emotion-26[data-active]:hover {
+    border-color: #25262b;
+  }
+}
+
+@media (hover: none) {
+  .emotion-26[data-active]:active {
+    border-color: #25262b;
+  }
+}
+
+.emotion-27 {
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-box-pack: center;
+  -ms-flex-pack: center;
+  -webkit-justify-content: center;
+  justify-content: center;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+}
+
+.emotion-27:not(:only-child) {
+  margin-right: 7px;
+}
+
+.emotion-32 {
+  height: 100%;
+  overflow: hidden;
+  border-bottom-left-radius: 7px;
+  border-bottom-right-radius: 7px;
+}
+
+.emotion-33 {
+  padding: 10px;
+  padding-top: 0;
+  height: 100%;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-flex-direction: column;
+  -ms-flex-direction: column;
+  flex-direction: column;
+  background: #e9ecef;
+}
+
+.emotion-36 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  line-height: 1.55;
+  position: -webkit-sticky;
+  position: sticky;
+  top: 0;
+  padding-top: 10px;
+  padding-bottom: 10px;
+}
+
+.emotion-39 {
+  display: inline-block;
+  font-size: 14px;
+  font-weight: 500;
+  color: #212529;
+  word-break: break-word;
+  cursor: default;
+  -webkit-tap-highlight-color: transparent;
+}
+
+.emotion-42 {
+  position: relative;
+}
+
+.emotion-45 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  height: 36px;
+  -webkit-tap-highlight-color: transparent;
+  line-height: 34px;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  -ms-appearance: none;
+  appearance: none;
+  resize: none;
+  box-sizing: border-box;
+  font-size: 14px;
+  width: 100%;
+  color: #000;
+  display: block;
+  text-align: left;
+  min-height: 36px;
+  padding-left: 12px;
+  padding-right: 12px;
+  border-radius: 4px;
+  border: 1px solid #ced4da;
+  background-color: #fff;
+  -webkit-transition: border-color 100ms ease;
+  transition: border-color 100ms ease;
+}
+
+.emotion-45:disabled {
+  background-color: #f1f3f5;
+  color: #909296;
+  opacity: 0.6;
+  cursor: not-allowed;
+}
+
+.emotion-45:disabled::-webkit-input-placeholder {
+  color: #909296;
+}
+
+.emotion-45:disabled::-moz-placeholder {
+  color: #909296;
+}
+
+.emotion-45:disabled:-ms-input-placeholder {
+  color: #909296;
+}
+
+.emotion-45:disabled::placeholder {
+  color: #909296;
+}
+
+.emotion-45::-webkit-input-placeholder {
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+  color: #adb5bd;
+  opacity: 1;
+}
+
+.emotion-45::-moz-placeholder {
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+  color: #adb5bd;
+  opacity: 1;
+}
+
+.emotion-45:-ms-input-placeholder {
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+  color: #adb5bd;
+  opacity: 1;
+}
+
+.emotion-45::placeholder {
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+  color: #adb5bd;
+  opacity: 1;
+}
+
+.emotion-45::-webkit-inner-spin-button,
+.emotion-45::-webkit-outer-spin-button,
+.emotion-45::-webkit-search-decoration,
+.emotion-45::-webkit-search-cancel-button,
+.emotion-45::-webkit-search-results-button,
+.emotion-45::-webkit-search-results-decoration {
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  -ms-appearance: none;
+  appearance: none;
+}
+
+.emotion-45[type=number] {
+  -moz-appearance: textfield;
+}
+
+.emotion-45:focus,
+.emotion-45:focus-within {
+  outline: none;
+  border-color: #25262b;
+}
+
+.emotion-46 {
+  overflow: auto;
+}
+
+.emotion-48 {
+  box-sizing: border-box;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-flex-direction: row;
+  -ms-flex-direction: row;
+  flex-direction: row;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-flex-wrap: wrap;
+  -webkit-flex-wrap: wrap;
+  -ms-flex-wrap: wrap;
+  flex-wrap: wrap;
+  -webkit-box-pack: center;
+  -ms-flex-pack: center;
+  -webkit-justify-content: center;
+  justify-content: center;
+  gap: 16px;
+  margin-top: 20px;
+}
+
+.emotion-48>* {
+  box-sizing: border-box;
+  -webkit-box-flex: 0;
+  -webkit-flex-grow: 0;
+  -ms-flex-positive: 0;
+  flex-grow: 0;
+}
+
+.emotion-50 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: inherit;
+  font-size: inherit;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  margin-left: 0;
+  font-size: 14px;
+}
+
+.emotion-50:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-50:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-51 {
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  padding: 5;
+  height: 100%;
+}
+
+.emotion-51 ._jotai-devtools-internal-panel-resize-handle {
+  -webkit-transition: max-height,min-height,height,0.2s ease-out;
+  transition: max-height,min-height,height,0.2s ease-out;
+}
+
+[data-resize-handle-active] .emotion-51 ._jotai-devtools-internal-panel-resize-handle,
+.emotion-51:hover ._jotai-devtools-internal-panel-resize-handle {
+  height: 90%;
+  min-height: 90%;
+  max-height: 90%;
+}
+
+.emotion-52 {
+  border-radius: 2rem;
+  vertical-align: middle;
+  margin: 5px;
+  background: #dee2e6;
+  width: 5px;
+  height: 20%;
+  min-height: 50px;
+  max-height: 100px;
+}
+
+.emotion-53 {
+  padding: 10px;
+  height: 100%;
+  position: relative;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-flex-direction: column;
+  -ms-flex-direction: column;
+  flex-direction: column;
+}
+
+.emotion-54 {
+  position: relative;
+  top: 50%;
+  -webkit-transform: translateY(-50%);
+  -moz-transform: translateY(-50%);
+  -ms-transform: translateY(-50%);
+  transform: translateY(-50%);
+}
+
+.emotion-56 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: inherit;
+  font-size: inherit;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  text-align: center;
+  width: 100%;
+}
+
+.emotion-56:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-56:focus:not(:focus-visible) {
+  outline: none;
+}
+
+<div>
+  <div
+    class="emotion-0 emotion-1 emotion-2"
+    data-testid="emotion-1"
+  >
+    <div
+      class="emotion-3"
+      data-testid="shell-resize-bar"
+    />
+    <div
+      class="emotion-4"
+    >
+      <div
+        class="emotion-5"
+      >
+        <div
+          class="emotion-6 emotion-7"
+        >
+          <h1
+            class="emotion-8 emotion-9 emotion-10"
+          >
+            πŸ‘» Jōtai DevTools
+          </h1>
+          <div
+            class="emotion-11 emotion-12"
+          >
+            <span
+              class="emotion-13 emotion-14"
+            >
+              Alpha
+            </span>
+          </div>
+        </div>
+        <div
+          class="emotion-15"
+        >
+          <button
+            class="emotion-16 emotion-17 emotion-18"
+            title="Toggle color scheme"
+            type="button"
+          >
+            <svg
+              class="icon icon-tabler icon-tabler-moon-stars"
+              fill="none"
+              height="16"
+              stroke="currentColor"
+              stroke-linecap="round"
+              stroke-linejoin="round"
+              stroke-width="2"
+              viewBox="0 0 24 24"
+              width="16"
+              xmlns="http://www.w3.org/2000/svg"
+            >
+              <path
+                d="M0 0h24v24H0z"
+                fill="none"
+                stroke="none"
+              />
+              <path
+                d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z"
+              />
+              <path
+                d="M17 4a2 2 0 0 0 2 2a2 2 0 0 0 -2 2a2 2 0 0 0 -2 -2a2 2 0 0 0 2 -2"
+              />
+              <path
+                d="M19 11h2m-1 -1v2"
+              />
+            </svg>
+          </button>
+          <button
+            class="emotion-16 emotion-17 emotion-21"
+            title="Minimize panel"
+            type="button"
+          >
+            <svg
+              class="icon icon-tabler icon-tabler-minus"
+              fill="none"
+              height="16"
+              stroke="currentColor"
+              stroke-linecap="round"
+              stroke-linejoin="round"
+              stroke-width="2"
+              viewBox="0 0 24 24"
+              width="16"
+              xmlns="http://www.w3.org/2000/svg"
+            >
+              <path
+                d="M0 0h24v24H0z"
+                fill="none"
+                stroke="none"
+              />
+              <line
+                x1="5"
+                x2="19"
+                y1="12"
+                y2="12"
+              />
+            </svg>
+          </button>
+        </div>
+      </div>
+    </div>
+    <div
+      aria-orientation="horizontal"
+      class="emotion-22 emotion-23"
+      role="tablist"
+    >
+      <button
+        aria-controls="mantine-r31-panel-atom-viewer"
+        aria-selected="true"
+        class="emotion-16 emotion-25 emotion-26"
+        data-active="true"
+        id="mantine-r31-tab-atom-viewer"
+        role="tab"
+        tabindex="0"
+        type="button"
+      >
+        <div
+          class="emotion-27 emotion-25Icon"
+        >
+          <svg
+            class="icon icon-tabler icon-tabler-layout-list"
+            fill="none"
+            height="14"
+            stroke="currentColor"
+            stroke-linecap="round"
+            stroke-linejoin="round"
+            stroke-width="2"
+            viewBox="0 0 24 24"
+            width="14"
+            xmlns="http://www.w3.org/2000/svg"
+          >
+            <path
+              d="M0 0h24v24H0z"
+              fill="none"
+              stroke="none"
+            />
+            <rect
+              height="6"
+              rx="2"
+              width="16"
+              x="4"
+              y="4"
+            />
+            <rect
+              height="6"
+              rx="2"
+              width="16"
+              x="4"
+              y="14"
+            />
+          </svg>
+        </div>
+        <div
+          class="emotion-29 emotion-25Label"
+        >
+          Atom Viewer
+        </div>
+      </button>
+    </div>
+    <div
+      aria-labelledby="mantine-r31-tab-atom-viewer"
+      class="emotion-31 emotion-32"
+      id="mantine-r31-panel-atom-viewer"
+      role="tabpanel"
+    >
+      <div
+        class=""
+        data-panel-group=""
+        data-panel-group-direction="horizontal"
+        data-panel-group-id=":r33:"
+        style="display: flex; flex-direction: row; height: 100%; overflow: hidden; width: 100%;"
+      >
+        <div
+          class=""
+          data-panel=""
+          data-panel-id=":r35:"
+          data-panel-size="50.0"
+          id="data-panel-id-:r35:"
+          style="flex-basis: 0px; flex-grow: 50; flex-shrink: 1; overflow: auto;"
+        >
+          <div
+            class="emotion-33"
+          >
+            <div
+              class="emotion-34 emotion-35 emotion-36"
+            >
+              <label
+                class="emotion-37 emotion-38 emotion-39"
+                for="mantine-r37"
+                id="mantine-r37-label"
+              >
+                Search
+              </label>
+              <div
+                class="emotion-40 emotion-41 emotion-42"
+              >
+                <input
+                  aria-invalid="false"
+                  class="emotion-43 emotion-44 emotion-45"
+                  id="mantine-r37"
+                  placeholder="atom debug label"
+                  type="text"
+                  value="abc 123"
+                />
+              </div>
+            </div>
+            <div
+              class="emotion-46"
+            />
+            <div
+              class="emotion-6 emotion-48"
+            >
+              <svg
+                class="icon icon-tabler icon-tabler-alert-circle"
+                fill="none"
+                height="16"
+                stroke="currentColor"
+                stroke-linecap="round"
+                stroke-linejoin="round"
+                stroke-width="2"
+                viewBox="0 0 24 24"
+                width="16"
+                xmlns="http://www.w3.org/2000/svg"
+              >
+                <path
+                  d="M0 0h24v24H0z"
+                  fill="none"
+                  stroke="none"
+                />
+                <circle
+                  cx="12"
+                  cy="12"
+                  r="9"
+                />
+                <line
+                  x1="12"
+                  x2="12"
+                  y1="8"
+                  y2="12"
+                />
+                <line
+                  x1="12"
+                  x2="12.01"
+                  y1="16"
+                  y2="16"
+                />
+              </svg>
+              <div
+                class="emotion-8 emotion-50"
+                data-testid="atom-list-no-atoms-found-message"
+              >
+                No Atoms found!
+              </div>
+            </div>
+          </div>
+        </div>
+        <div
+          aria-controls="data-panel-id-:r35:"
+          aria-valuemax="70"
+          aria-valuemin="30"
+          aria-valuenow="50"
+          class=""
+          data-panel-group-direction="horizontal"
+          data-panel-group-id=":r33:"
+          data-panel-resize-handle-enabled="true"
+          data-panel-resize-handle-id=":r39:"
+          role="separator"
+          style="cursor: col-resize; user-select: none;"
+          tabindex="0"
+        >
+          <div
+            class="emotion-51"
+          >
+            <div
+              class="_jotai-devtools-internal-panel-resize-handle emotion-52"
+            />
+          </div>
+        </div>
+        <div
+          class=""
+          data-panel=""
+          data-panel-id=":r3b:"
+          data-panel-size="50.0"
+          id="data-panel-id-:r3b:"
+          style="flex-basis: 0px; flex-grow: 50; flex-shrink: 1; overflow: auto;"
+        >
+          <div
+            class="emotion-53"
+          >
+            <div
+              class="emotion-54"
+            >
+              <div
+                class="emotion-8 emotion-56"
+              >
+                Select an atom from the left panel to view the details
+                 
+              </div>
+            </div>
+          </div>
+        </div>
+      </div>
+    </div>
+  </div>
+</div>
+`;
+
+exports[`DevTools - AtomViewer List of atoms Search should search for atoms correctly 1`] = `
+.emotion-1 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  color: #000;
+  line-height: 1.55;
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale;
+  font-size: 16px;
+}
+
+.emotion-1 *,
+.emotion-1 *::before,
+.emotion-1 *::after {
+  box-sizing: border-box;
+}
+
+.emotion-2 {
+  -webkit-flex-direction: row;
+  -ms-flex-direction: row;
+  flex-direction: row;
+  position: fixed;
+  left: 0;
+  bottom: 0;
+  width: calc(100% - 20px);
+  border-color: #dee2e6;
+  border-width: 1px;
+  border-style: solid;
+  border-radius: 8px;
+  background: #fff;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-flex-direction: column;
+  -ms-flex-direction: column;
+  flex-direction: column;
+  z-index: 99999;
+  margin: 10px;
+  height: 370px;
+  max-height: 90%;
+}
+
+.emotion-3 {
+  width: 100%;
+  height: 5px;
+  cursor: row-resize;
+  z-index: 2;
+  position: absolute;
+  top: -2px;
+}
+
+.emotion-4 {
+  position: -webkit-sticky;
+  position: sticky;
+  top: 0;
+  z-index: 1;
+  width: 100%;
+}
+
+.emotion-5 {
+  padding: 10px;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-pack: justify;
+  -webkit-justify-content: space-between;
+  justify-content: space-between;
+}
+
+.emotion-7 {
+  box-sizing: border-box;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-flex-direction: row;
+  -ms-flex-direction: row;
+  flex-direction: row;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-flex-wrap: wrap;
+  -webkit-flex-wrap: wrap;
+  -ms-flex-wrap: wrap;
+  flex-wrap: wrap;
+  -webkit-box-pack: start;
+  -ms-flex-pack: start;
+  -webkit-justify-content: flex-start;
+  justify-content: flex-start;
+  gap: 16px;
+  margin-right: 10px;
+}
+
+.emotion-7>* {
+  box-sizing: border-box;
+  -webkit-box-flex: 0;
+  -webkit-flex-grow: 0;
+  -ms-flex-positive: 0;
+  flex-grow: 0;
+}
+
+.emotion-10 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: inherit;
+  font-size: inherit;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;
+  font-weight: 700;
+  font-size: 18px;
+  line-height: 1.45;
+  margin: 0;
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+}
+
+.emotion-10:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-10:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-12 {
+  -webkit-tap-highlight-color: transparent;
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  font-size: 9px;
+  height: 16px;
+  line-height: 14px;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  padding: 0 6.666666666666667px;
+  box-sizing: border-box;
+  display: -webkit-inline-box;
+  display: -webkit-inline-flex;
+  display: -ms-inline-flexbox;
+  display: inline-flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-pack: center;
+  -ms-flex-pack: center;
+  -webkit-justify-content: center;
+  justify-content: center;
+  width: auto;
+  text-transform: uppercase;
+  border-radius: 32px;
+  font-weight: 700;
+  letter-spacing: 0.25px;
+  cursor: inherit;
+  text-overflow: ellipsis;
+  overflow: hidden;
+  background: rgba(255, 244, 230, 1);
+  color: #fd7e14;
+  border: 1px solid transparent;
+}
+
+.emotion-12:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-12:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-13 {
+  white-space: nowrap;
+  overflow: hidden;
+  text-overflow: ellipsis;
+}
+
+.emotion-15 {
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+}
+
+.emotion-18 {
+  -webkit-tap-highlight-color: transparent;
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  cursor: pointer;
+  border: 0;
+  padding: 0;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  -ms-appearance: none;
+  appearance: none;
+  font-size: 16px;
+  background-color: transparent;
+  text-align: left;
+  color: #000;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  box-sizing: border-box;
+  border: 1px solid transparent;
+  background-color: #25262b;
+  color: #fff;
+  position: relative;
+  height: 28px;
+  min-height: 28px;
+  width: 28px;
+  min-width: 28px;
+  border-radius: 4px;
+  padding: 0;
+  line-height: 1;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-pack: center;
+  -ms-flex-pack: center;
+  -webkit-justify-content: center;
+  justify-content: center;
+}
+
+.emotion-18:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-18:focus:not(:focus-visible) {
+  outline: none;
+}
+
+@media (hover: hover) {
+  .emotion-18:hover {
+    background-color: #1A1B1E;
+  }
+}
+
+@media (hover: none) {
+  .emotion-18:active {
+    background-color: #1A1B1E;
+  }
+}
+
+.emotion-18:active {
+  -webkit-transform: scale(1);
+  -moz-transform: scale(1);
+  -ms-transform: scale(1);
+  transform: scale(1);
+}
+
+.emotion-18:disabled,
+.emotion-18[data-disabled] {
+  color: #ced4da;
+  cursor: not-allowed;
+  background-color: #f1f3f5;
+  border-color: #f1f3f5;
+  background-image: none;
+  pointer-events: none;
+}
+
+.emotion-18:disabled:active,
+.emotion-18[data-disabled]:active {
+  -webkit-transform: none;
+  -moz-transform: none;
+  -ms-transform: none;
+  transform: none;
+}
+
+.emotion-18[data-loading] {
+  pointer-events: none;
+}
+
+.emotion-18[data-loading]::before {
+  content: "";
+  position: absolute;
+  top: -1px;
+  left: -1px;
+  right: -1px;
+  bottom: -1px;
+  background-color: rgba(255, 255, 255, .5);
+  border-radius: 4px;
+  cursor: not-allowed;
+}
+
+.emotion-21 {
+  -webkit-tap-highlight-color: transparent;
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  cursor: pointer;
+  border: 0;
+  padding: 0;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  -ms-appearance: none;
+  appearance: none;
+  font-size: 16px;
+  background-color: transparent;
+  text-align: left;
+  color: #000;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  box-sizing: border-box;
+  border: 1px solid transparent;
+  background-color: transparent;
+  color: #868e96;
+  position: relative;
+  height: 28px;
+  min-height: 28px;
+  width: 28px;
+  min-width: 28px;
+  border-radius: 8px;
+  padding: 0;
+  line-height: 1;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-pack: center;
+  -ms-flex-pack: center;
+  -webkit-justify-content: center;
+  justify-content: center;
+  margin-left: 10px;
+}
+
+.emotion-21:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-21:focus:not(:focus-visible) {
+  outline: none;
+}
+
+@media (hover: hover) {
+  .emotion-21:hover {
+    background-color: rgba(248, 249, 250, 1);
+  }
+}
+
+@media (hover: none) {
+  .emotion-21:active {
+    background-color: rgba(248, 249, 250, 1);
+  }
+}
+
+.emotion-21:active {
+  -webkit-transform: scale(1);
+  -moz-transform: scale(1);
+  -ms-transform: scale(1);
+  transform: scale(1);
+}
+
+.emotion-21:disabled,
+.emotion-21[data-disabled] {
+  color: #ced4da;
+  cursor: not-allowed;
+  background-color: #f1f3f5;
+  border-color: #f1f3f5;
+  background-image: none;
+  pointer-events: none;
+}
+
+.emotion-21:disabled:active,
+.emotion-21[data-disabled]:active {
+  -webkit-transform: none;
+  -moz-transform: none;
+  -ms-transform: none;
+  transform: none;
+}
+
+.emotion-21[data-loading] {
+  pointer-events: none;
+}
+
+.emotion-21[data-loading]::before {
+  content: "";
+  position: absolute;
+  top: -1px;
+  left: -1px;
+  right: -1px;
+  bottom: -1px;
+  background-color: rgba(255, 255, 255, .5);
+  border-radius: 8px;
+  cursor: not-allowed;
+}
+
+.emotion-23 {
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-box-flex-wrap: wrap;
+  -webkit-flex-wrap: wrap;
+  -ms-flex-wrap: wrap;
+  flex-wrap: wrap;
+  -webkit-flex-direction: row;
+  -ms-flex-direction: row;
+  flex-direction: row;
+  -webkit-box-pack: start;
+  -ms-flex-pack: start;
+  -webkit-justify-content: flex-start;
+  justify-content: flex-start;
+  border-bottom: 2px solid #dee2e6;
+}
+
+.emotion-26 {
+  -webkit-tap-highlight-color: transparent;
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  cursor: pointer;
+  border: 0;
+  padding: 0;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  -ms-appearance: none;
+  appearance: none;
+  font-size: 16px;
+  background-color: transparent;
+  text-align: left;
+  color: #000;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  box-sizing: border-box;
+  position: relative;
+  padding: 10px 16px;
+  padding-left: 10px;
+  font-size: 14px;
+  white-space: nowrap;
+  z-index: 0;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-pack: center;
+  -ms-flex-pack: center;
+  -webkit-justify-content: center;
+  justify-content: center;
+  line-height: 1;
+  border-bottom: 2px solid transparent;
+  margin-bottom: -2px;
+  border-radius: 4px 4px 0 0;
+}
+
+.emotion-26:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-26:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-26:disabled {
+  opacity: 0.5;
+  cursor: not-allowed;
+}
+
+@media (hover: hover) {
+  .emotion-26:disabled:hover {
+    background-color: transparent;
+  }
+}
+
+@media (hover: none) {
+  .emotion-26:disabled:active {
+    background-color: transparent;
+  }
+}
+
+.emotion-26:focus {
+  z-index: 1;
+}
+
+@media (hover: hover) {
+  .emotion-26:hover {
+    background-color: #f8f9fa;
+    border-color: #dee2e6;
+  }
+}
+
+@media (hover: none) {
+  .emotion-26:active {
+    background-color: #f8f9fa;
+    border-color: #dee2e6;
+  }
+}
+
+.emotion-26[data-active] {
+  border-color: #25262b;
+  color: #000;
+}
+
+@media (hover: hover) {
+  .emotion-26[data-active]:hover {
+    border-color: #25262b;
+  }
+}
+
+@media (hover: none) {
+  .emotion-26[data-active]:active {
+    border-color: #25262b;
+  }
+}
+
+.emotion-27 {
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-box-pack: center;
+  -ms-flex-pack: center;
+  -webkit-justify-content: center;
+  justify-content: center;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+}
+
+.emotion-27:not(:only-child) {
+  margin-right: 7px;
+}
+
+.emotion-32 {
+  height: 100%;
+  overflow: hidden;
+  border-bottom-left-radius: 7px;
+  border-bottom-right-radius: 7px;
+}
+
+.emotion-33 {
+  padding: 10px;
+  padding-top: 0;
+  height: 100%;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-flex-direction: column;
+  -ms-flex-direction: column;
+  flex-direction: column;
+  background: #e9ecef;
+}
+
+.emotion-36 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  line-height: 1.55;
+  position: -webkit-sticky;
+  position: sticky;
+  top: 0;
+  padding-top: 10px;
+  padding-bottom: 10px;
+}
+
+.emotion-39 {
+  display: inline-block;
+  font-size: 14px;
+  font-weight: 500;
+  color: #212529;
+  word-break: break-word;
+  cursor: default;
+  -webkit-tap-highlight-color: transparent;
+}
+
+.emotion-42 {
+  position: relative;
+}
+
+.emotion-45 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  height: 36px;
+  -webkit-tap-highlight-color: transparent;
+  line-height: 34px;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  -ms-appearance: none;
+  appearance: none;
+  resize: none;
+  box-sizing: border-box;
+  font-size: 14px;
+  width: 100%;
+  color: #000;
+  display: block;
+  text-align: left;
+  min-height: 36px;
+  padding-left: 12px;
+  padding-right: 12px;
+  border-radius: 4px;
+  border: 1px solid #ced4da;
+  background-color: #fff;
+  -webkit-transition: border-color 100ms ease;
+  transition: border-color 100ms ease;
+}
+
+.emotion-45:disabled {
+  background-color: #f1f3f5;
+  color: #909296;
+  opacity: 0.6;
+  cursor: not-allowed;
+}
+
+.emotion-45:disabled::-webkit-input-placeholder {
+  color: #909296;
+}
+
+.emotion-45:disabled::-moz-placeholder {
+  color: #909296;
+}
+
+.emotion-45:disabled:-ms-input-placeholder {
+  color: #909296;
+}
+
+.emotion-45:disabled::placeholder {
+  color: #909296;
+}
+
+.emotion-45::-webkit-input-placeholder {
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+  color: #adb5bd;
+  opacity: 1;
+}
+
+.emotion-45::-moz-placeholder {
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+  color: #adb5bd;
+  opacity: 1;
+}
+
+.emotion-45:-ms-input-placeholder {
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+  color: #adb5bd;
+  opacity: 1;
+}
+
+.emotion-45::placeholder {
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+  color: #adb5bd;
+  opacity: 1;
+}
+
+.emotion-45::-webkit-inner-spin-button,
+.emotion-45::-webkit-outer-spin-button,
+.emotion-45::-webkit-search-decoration,
+.emotion-45::-webkit-search-cancel-button,
+.emotion-45::-webkit-search-results-button,
+.emotion-45::-webkit-search-results-decoration {
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  -ms-appearance: none;
+  appearance: none;
+}
+
+.emotion-45[type=number] {
+  -moz-appearance: textfield;
+}
+
+.emotion-45:focus,
+.emotion-45:focus-within {
+  outline: none;
+  border-color: #25262b;
+}
+
+.emotion-46 {
+  overflow: auto;
+}
+
+.emotion-49 {
+  -webkit-tap-highlight-color: transparent;
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  cursor: pointer;
+  border: 0;
+  padding: 0;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  -ms-appearance: none;
+  appearance: none;
+  font-size: 16px;
+  background-color: transparent;
+  text-align: left;
+  color: #000;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  box-sizing: border-box;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  width: 100%;
+  padding: 8px 12px;
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+  border-radius: 5px;
+}
+
+.emotion-49:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-49:focus:not(:focus-visible) {
+  outline: none;
+}
+
+@media (hover: hover) {
+  .emotion-49:hover {
+    background-color: #f8f9fa;
+  }
+}
+
+@media (hover: none) {
+  .emotion-49:active {
+    background-color: #f8f9fa;
+  }
+}
+
+.emotion-49[data-active] {
+  background-color: #25262b;
+  color: #fff;
+}
+
+@media (hover: hover) {
+  .emotion-49[data-active]:hover {
+    background-color: #1A1B1E;
+  }
+}
+
+@media (hover: none) {
+  .emotion-49[data-active]:active {
+    background-color: #1A1B1E;
+  }
+}
+
+.emotion-49[data-disabled] {
+  opacity: 0.4;
+  pointer-events: none;
+}
+
+.emotion-50 {
+  -webkit-flex: 1;
+  -ms-flex: 1;
+  flex: 1;
+  overflow: hidden;
+  text-overflow: ellipsis;
+}
+
+.emotion-54 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: inherit;
+  font-size: 14px;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+}
+
+.emotion-54:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-54:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-56 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: inherit;
+  font-size: inherit;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  font-family: JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;
+}
+
+.emotion-56:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-56:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-59 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: #868e96;
+  font-size: 12px;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  display: block;
+}
+
+.emotion-59:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-59:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-59[data-active] {
+  color: inherit;
+}
+
+.emotion-60 {
+  margin-left: 12px;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-box-pack: center;
+  -ms-flex-pack: center;
+  -webkit-justify-content: center;
+  justify-content: center;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-transition: -webkit-transform 150ms ease;
+  transition: transform 150ms ease;
+}
+
+.emotion-60[data-rotate] {
+  -webkit-transform: rotate(90deg);
+  -moz-transform: rotate(90deg);
+  -ms-transform: rotate(90deg);
+  transform: rotate(90deg);
+}
+
+.emotion-63 {
+  padding-left: 20px;
+}
+
+.emotion-65 {
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  padding: 5;
+  height: 100%;
+}
+
+.emotion-65 ._jotai-devtools-internal-panel-resize-handle {
+  -webkit-transition: max-height,min-height,height,0.2s ease-out;
+  transition: max-height,min-height,height,0.2s ease-out;
+}
+
+[data-resize-handle-active] .emotion-65 ._jotai-devtools-internal-panel-resize-handle,
+.emotion-65:hover ._jotai-devtools-internal-panel-resize-handle {
+  height: 90%;
+  min-height: 90%;
+  max-height: 90%;
+}
+
+.emotion-66 {
+  border-radius: 2rem;
+  vertical-align: middle;
+  margin: 5px;
+  background: #dee2e6;
+  width: 5px;
+  height: 20%;
+  min-height: 50px;
+  max-height: 100px;
+}
+
+.emotion-67 {
+  padding: 10px;
+  height: 100%;
+  position: relative;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-flex-direction: column;
+  -ms-flex-direction: column;
+  flex-direction: column;
+}
+
+.emotion-68 {
+  position: relative;
+  top: 50%;
+  -webkit-transform: translateY(-50%);
+  -moz-transform: translateY(-50%);
+  -ms-transform: translateY(-50%);
+  transform: translateY(-50%);
+}
+
+.emotion-70 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: inherit;
+  font-size: inherit;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  text-align: center;
+  width: 100%;
+}
+
+.emotion-70:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-70:focus:not(:focus-visible) {
+  outline: none;
+}
+
+<div>
+  <div
+    class="emotion-0 emotion-1 emotion-2"
+    data-testid="emotion-1"
+  >
+    <div
+      class="emotion-3"
+      data-testid="shell-resize-bar"
+    />
+    <div
+      class="emotion-4"
+    >
+      <div
+        class="emotion-5"
+      >
+        <div
+          class="emotion-6 emotion-7"
+        >
+          <h1
+            class="emotion-8 emotion-9 emotion-10"
+          >
+            πŸ‘» Jōtai DevTools
+          </h1>
+          <div
+            class="emotion-11 emotion-12"
+          >
+            <span
+              class="emotion-13 emotion-14"
+            >
+              Alpha
+            </span>
+          </div>
+        </div>
+        <div
+          class="emotion-15"
+        >
+          <button
+            class="emotion-16 emotion-17 emotion-18"
+            title="Toggle color scheme"
+            type="button"
+          >
+            <svg
+              class="icon icon-tabler icon-tabler-moon-stars"
+              fill="none"
+              height="16"
+              stroke="currentColor"
+              stroke-linecap="round"
+              stroke-linejoin="round"
+              stroke-width="2"
+              viewBox="0 0 24 24"
+              width="16"
+              xmlns="http://www.w3.org/2000/svg"
+            >
+              <path
+                d="M0 0h24v24H0z"
+                fill="none"
+                stroke="none"
+              />
+              <path
+                d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z"
+              />
+              <path
+                d="M17 4a2 2 0 0 0 2 2a2 2 0 0 0 -2 2a2 2 0 0 0 -2 -2a2 2 0 0 0 2 -2"
+              />
+              <path
+                d="M19 11h2m-1 -1v2"
+              />
+            </svg>
+          </button>
+          <button
+            class="emotion-16 emotion-17 emotion-21"
+            title="Minimize panel"
+            type="button"
+          >
+            <svg
+              class="icon icon-tabler icon-tabler-minus"
+              fill="none"
+              height="16"
+              stroke="currentColor"
+              stroke-linecap="round"
+              stroke-linejoin="round"
+              stroke-width="2"
+              viewBox="0 0 24 24"
+              width="16"
+              xmlns="http://www.w3.org/2000/svg"
+            >
+              <path
+                d="M0 0h24v24H0z"
+                fill="none"
+                stroke="none"
+              />
+              <line
+                x1="5"
+                x2="19"
+                y1="12"
+                y2="12"
+              />
+            </svg>
+          </button>
+        </div>
+      </div>
+    </div>
+    <div
+      aria-orientation="horizontal"
+      class="emotion-22 emotion-23"
+      role="tablist"
+    >
+      <button
+        aria-controls="mantine-r2l-panel-atom-viewer"
+        aria-selected="true"
+        class="emotion-16 emotion-25 emotion-26"
+        data-active="true"
+        id="mantine-r2l-tab-atom-viewer"
+        role="tab"
+        tabindex="0"
+        type="button"
+      >
+        <div
+          class="emotion-27 emotion-25Icon"
+        >
+          <svg
+            class="icon icon-tabler icon-tabler-layout-list"
+            fill="none"
+            height="14"
+            stroke="currentColor"
+            stroke-linecap="round"
+            stroke-linejoin="round"
+            stroke-width="2"
+            viewBox="0 0 24 24"
+            width="14"
+            xmlns="http://www.w3.org/2000/svg"
+          >
+            <path
+              d="M0 0h24v24H0z"
+              fill="none"
+              stroke="none"
+            />
+            <rect
+              height="6"
+              rx="2"
+              width="16"
+              x="4"
+              y="4"
+            />
+            <rect
+              height="6"
+              rx="2"
+              width="16"
+              x="4"
+              y="14"
+            />
+          </svg>
+        </div>
+        <div
+          class="emotion-29 emotion-25Label"
+        >
+          Atom Viewer
+        </div>
+      </button>
+    </div>
+    <div
+      aria-labelledby="mantine-r2l-tab-atom-viewer"
+      class="emotion-31 emotion-32"
+      id="mantine-r2l-panel-atom-viewer"
+      role="tabpanel"
+    >
+      <div
+        class=""
+        data-panel-group=""
+        data-panel-group-direction="horizontal"
+        data-panel-group-id=":r2n:"
+        style="display: flex; flex-direction: row; height: 100%; overflow: hidden; width: 100%;"
+      >
+        <div
+          class=""
+          data-panel=""
+          data-panel-id=":r2p:"
+          data-panel-size="50.0"
+          id="data-panel-id-:r2p:"
+          style="flex-basis: 0px; flex-grow: 50; flex-shrink: 1; overflow: auto;"
+        >
+          <div
+            class="emotion-33"
+          >
+            <div
+              class="emotion-34 emotion-35 emotion-36"
+            >
+              <label
+                class="emotion-37 emotion-38 emotion-39"
+                for="mantine-r2r"
+                id="mantine-r2r-label"
+              >
+                Search
+              </label>
+              <div
+                class="emotion-40 emotion-41 emotion-42"
+              >
+                <input
+                  aria-invalid="false"
+                  class="emotion-43 emotion-44 emotion-45"
+                  id="mantine-r2r"
+                  placeholder="atom debug label"
+                  type="text"
+                  value="count"
+                />
+              </div>
+            </div>
+            <div
+              class="emotion-46"
+            >
+              <button
+                class="emotion-16 emotion-48 emotion-49"
+                type="button"
+              >
+                <span
+                  class="emotion-50 emotion-51"
+                >
+                  <span
+                    class="emotion-8 emotion-53 emotion-54"
+                  >
+                    <div
+                      class="emotion-8 emotion-56"
+                    >
+                      countAtom
+                    </div>
+                  </span>
+                  <span
+                    class="emotion-8 emotion-58 emotion-59"
+                  />
+                </span>
+                <span
+                  class="emotion-60 emotion-61"
+                >
+                  <svg
+                    class="icon icon-tabler icon-tabler-chevron-right"
+                    fill="none"
+                    height="12"
+                    stroke="currentColor"
+                    stroke-linecap="round"
+                    stroke-linejoin="round"
+                    stroke-width="1.5"
+                    viewBox="0 0 24 24"
+                    width="12"
+                    xmlns="http://www.w3.org/2000/svg"
+                  >
+                    <path
+                      d="M0 0h24v24H0z"
+                      fill="none"
+                      stroke="none"
+                    />
+                    <polyline
+                      points="9 6 15 12 9 18"
+                    />
+                  </svg>
+                </span>
+              </button>
+              <div
+                aria-hidden="true"
+                class="emotion-62"
+                style="box-sizing: border-box; display: none; height: 0px; overflow: hidden;"
+              >
+                <div
+                  style="opacity: 0; transition: opacity 200ms ease;"
+                >
+                  <div
+                    class="emotion-63 emotion-64"
+                  />
+                </div>
+              </div>
+            </div>
+          </div>
+        </div>
+        <div
+          aria-controls="data-panel-id-:r2p:"
+          aria-valuemax="70"
+          aria-valuemin="30"
+          aria-valuenow="50"
+          class=""
+          data-panel-group-direction="horizontal"
+          data-panel-group-id=":r2n:"
+          data-panel-resize-handle-enabled="true"
+          data-panel-resize-handle-id=":r2t:"
+          role="separator"
+          style="cursor: col-resize; user-select: none;"
+          tabindex="0"
+        >
+          <div
+            class="emotion-65"
+          >
+            <div
+              class="_jotai-devtools-internal-panel-resize-handle emotion-66"
+            />
+          </div>
+        </div>
+        <div
+          class=""
+          data-panel=""
+          data-panel-id=":r2v:"
+          data-panel-size="50.0"
+          id="data-panel-id-:r2v:"
+          style="flex-basis: 0px; flex-grow: 50; flex-shrink: 1; overflow: auto;"
+        >
+          <div
+            class="emotion-67"
+          >
+            <div
+              class="emotion-68"
+            >
+              <div
+                class="emotion-8 emotion-70"
+              >
+                Select an atom from the left panel to view the details
+                 
+              </div>
+            </div>
+          </div>
+        </div>
+      </div>
+    </div>
+  </div>
+</div>
+`;
+
+exports[`DevTools - AtomViewer List of atoms private atoms should hide private atoms from dependents list when shouldShowPrivateAtoms is marked as false 1`] = `
+.emotion-1 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  color: #000;
+  line-height: 1.55;
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale;
+  font-size: 16px;
+}
+
+.emotion-1 *,
+.emotion-1 *::before,
+.emotion-1 *::after {
+  box-sizing: border-box;
+}
+
+.emotion-2 {
+  -webkit-flex-direction: row;
+  -ms-flex-direction: row;
+  flex-direction: row;
+  position: fixed;
+  left: 0;
+  bottom: 0;
+  width: calc(100% - 20px);
+  border-color: #dee2e6;
+  border-width: 1px;
+  border-style: solid;
+  border-radius: 8px;
+  background: #fff;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-flex-direction: column;
+  -ms-flex-direction: column;
+  flex-direction: column;
+  z-index: 99999;
+  margin: 10px;
+  height: 370px;
+  max-height: 90%;
+}
+
+.emotion-3 {
+  width: 100%;
+  height: 5px;
+  cursor: row-resize;
+  z-index: 2;
+  position: absolute;
+  top: -2px;
+}
+
+.emotion-4 {
+  position: -webkit-sticky;
+  position: sticky;
+  top: 0;
+  z-index: 1;
+  width: 100%;
+}
+
+.emotion-5 {
+  padding: 10px;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-pack: justify;
+  -webkit-justify-content: space-between;
+  justify-content: space-between;
+}
+
+.emotion-7 {
+  box-sizing: border-box;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-flex-direction: row;
+  -ms-flex-direction: row;
+  flex-direction: row;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-flex-wrap: wrap;
+  -webkit-flex-wrap: wrap;
+  -ms-flex-wrap: wrap;
+  flex-wrap: wrap;
+  -webkit-box-pack: start;
+  -ms-flex-pack: start;
+  -webkit-justify-content: flex-start;
+  justify-content: flex-start;
+  gap: 16px;
+  margin-right: 10px;
+}
+
+.emotion-7>* {
+  box-sizing: border-box;
+  -webkit-box-flex: 0;
+  -webkit-flex-grow: 0;
+  -ms-flex-positive: 0;
+  flex-grow: 0;
+}
+
+.emotion-10 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: inherit;
+  font-size: inherit;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;
+  font-weight: 700;
+  font-size: 18px;
+  line-height: 1.45;
+  margin: 0;
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+}
+
+.emotion-10:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-10:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-12 {
+  -webkit-tap-highlight-color: transparent;
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  font-size: 9px;
+  height: 16px;
+  line-height: 14px;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  padding: 0 6.666666666666667px;
+  box-sizing: border-box;
+  display: -webkit-inline-box;
+  display: -webkit-inline-flex;
+  display: -ms-inline-flexbox;
+  display: inline-flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-pack: center;
+  -ms-flex-pack: center;
+  -webkit-justify-content: center;
+  justify-content: center;
+  width: auto;
+  text-transform: uppercase;
+  border-radius: 32px;
+  font-weight: 700;
+  letter-spacing: 0.25px;
+  cursor: inherit;
+  text-overflow: ellipsis;
+  overflow: hidden;
+  background: rgba(255, 244, 230, 1);
+  color: #fd7e14;
+  border: 1px solid transparent;
+}
+
+.emotion-12:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-12:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-13 {
+  white-space: nowrap;
+  overflow: hidden;
+  text-overflow: ellipsis;
+}
+
+.emotion-15 {
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+}
+
+.emotion-18 {
+  -webkit-tap-highlight-color: transparent;
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  cursor: pointer;
+  border: 0;
+  padding: 0;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  -ms-appearance: none;
+  appearance: none;
+  font-size: 16px;
+  background-color: transparent;
+  text-align: left;
+  color: #000;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  box-sizing: border-box;
+  border: 1px solid transparent;
+  background-color: #25262b;
+  color: #fff;
+  position: relative;
+  height: 28px;
+  min-height: 28px;
+  width: 28px;
+  min-width: 28px;
+  border-radius: 4px;
+  padding: 0;
+  line-height: 1;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-pack: center;
+  -ms-flex-pack: center;
+  -webkit-justify-content: center;
+  justify-content: center;
+}
+
+.emotion-18:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-18:focus:not(:focus-visible) {
+  outline: none;
+}
+
+@media (hover: hover) {
+  .emotion-18:hover {
+    background-color: #1A1B1E;
+  }
+}
+
+@media (hover: none) {
+  .emotion-18:active {
+    background-color: #1A1B1E;
+  }
+}
+
+.emotion-18:active {
+  -webkit-transform: scale(1);
+  -moz-transform: scale(1);
+  -ms-transform: scale(1);
+  transform: scale(1);
+}
+
+.emotion-18:disabled,
+.emotion-18[data-disabled] {
+  color: #ced4da;
+  cursor: not-allowed;
+  background-color: #f1f3f5;
+  border-color: #f1f3f5;
+  background-image: none;
+  pointer-events: none;
+}
+
+.emotion-18:disabled:active,
+.emotion-18[data-disabled]:active {
+  -webkit-transform: none;
+  -moz-transform: none;
+  -ms-transform: none;
+  transform: none;
+}
+
+.emotion-18[data-loading] {
+  pointer-events: none;
+}
+
+.emotion-18[data-loading]::before {
+  content: "";
+  position: absolute;
+  top: -1px;
+  left: -1px;
+  right: -1px;
+  bottom: -1px;
+  background-color: rgba(255, 255, 255, .5);
+  border-radius: 4px;
+  cursor: not-allowed;
+}
+
+.emotion-21 {
+  -webkit-tap-highlight-color: transparent;
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  cursor: pointer;
+  border: 0;
+  padding: 0;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  -ms-appearance: none;
+  appearance: none;
+  font-size: 16px;
+  background-color: transparent;
+  text-align: left;
+  color: #000;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  box-sizing: border-box;
+  border: 1px solid transparent;
+  background-color: transparent;
+  color: #868e96;
+  position: relative;
+  height: 28px;
+  min-height: 28px;
+  width: 28px;
+  min-width: 28px;
+  border-radius: 8px;
+  padding: 0;
+  line-height: 1;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-pack: center;
+  -ms-flex-pack: center;
+  -webkit-justify-content: center;
+  justify-content: center;
+  margin-left: 10px;
+}
+
+.emotion-21:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-21:focus:not(:focus-visible) {
+  outline: none;
+}
+
+@media (hover: hover) {
+  .emotion-21:hover {
+    background-color: rgba(248, 249, 250, 1);
+  }
+}
+
+@media (hover: none) {
+  .emotion-21:active {
+    background-color: rgba(248, 249, 250, 1);
+  }
+}
+
+.emotion-21:active {
+  -webkit-transform: scale(1);
+  -moz-transform: scale(1);
+  -ms-transform: scale(1);
+  transform: scale(1);
+}
+
+.emotion-21:disabled,
+.emotion-21[data-disabled] {
+  color: #ced4da;
+  cursor: not-allowed;
+  background-color: #f1f3f5;
+  border-color: #f1f3f5;
+  background-image: none;
+  pointer-events: none;
+}
+
+.emotion-21:disabled:active,
+.emotion-21[data-disabled]:active {
+  -webkit-transform: none;
+  -moz-transform: none;
+  -ms-transform: none;
+  transform: none;
+}
+
+.emotion-21[data-loading] {
+  pointer-events: none;
+}
+
+.emotion-21[data-loading]::before {
+  content: "";
+  position: absolute;
+  top: -1px;
+  left: -1px;
+  right: -1px;
+  bottom: -1px;
+  background-color: rgba(255, 255, 255, .5);
+  border-radius: 8px;
+  cursor: not-allowed;
+}
+
+.emotion-23 {
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-box-flex-wrap: wrap;
+  -webkit-flex-wrap: wrap;
+  -ms-flex-wrap: wrap;
+  flex-wrap: wrap;
+  -webkit-flex-direction: row;
+  -ms-flex-direction: row;
+  flex-direction: row;
+  -webkit-box-pack: start;
+  -ms-flex-pack: start;
+  -webkit-justify-content: flex-start;
+  justify-content: flex-start;
+  border-bottom: 2px solid #dee2e6;
+}
+
+.emotion-26 {
+  -webkit-tap-highlight-color: transparent;
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  cursor: pointer;
+  border: 0;
+  padding: 0;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  -ms-appearance: none;
+  appearance: none;
+  font-size: 16px;
+  background-color: transparent;
+  text-align: left;
+  color: #000;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  box-sizing: border-box;
+  position: relative;
+  padding: 10px 16px;
+  padding-left: 10px;
+  font-size: 14px;
+  white-space: nowrap;
+  z-index: 0;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-pack: center;
+  -ms-flex-pack: center;
+  -webkit-justify-content: center;
+  justify-content: center;
+  line-height: 1;
+  border-bottom: 2px solid transparent;
+  margin-bottom: -2px;
+  border-radius: 4px 4px 0 0;
+}
+
+.emotion-26:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-26:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-26:disabled {
+  opacity: 0.5;
+  cursor: not-allowed;
+}
+
+@media (hover: hover) {
+  .emotion-26:disabled:hover {
+    background-color: transparent;
+  }
+}
+
+@media (hover: none) {
+  .emotion-26:disabled:active {
+    background-color: transparent;
+  }
+}
+
+.emotion-26:focus {
+  z-index: 1;
+}
+
+@media (hover: hover) {
+  .emotion-26:hover {
+    background-color: #f8f9fa;
+    border-color: #dee2e6;
+  }
+}
+
+@media (hover: none) {
+  .emotion-26:active {
+    background-color: #f8f9fa;
+    border-color: #dee2e6;
+  }
+}
+
+.emotion-26[data-active] {
+  border-color: #25262b;
+  color: #000;
+}
+
+@media (hover: hover) {
+  .emotion-26[data-active]:hover {
+    border-color: #25262b;
+  }
+}
+
+@media (hover: none) {
+  .emotion-26[data-active]:active {
+    border-color: #25262b;
+  }
+}
+
+.emotion-27 {
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-box-pack: center;
+  -ms-flex-pack: center;
+  -webkit-justify-content: center;
+  justify-content: center;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+}
+
+.emotion-27:not(:only-child) {
+  margin-right: 7px;
+}
+
+.emotion-32 {
+  height: 100%;
+  overflow: hidden;
+  border-bottom-left-radius: 7px;
+  border-bottom-right-radius: 7px;
+}
+
+.emotion-33 {
+  padding: 10px;
+  padding-top: 0;
+  height: 100%;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-flex-direction: column;
+  -ms-flex-direction: column;
+  flex-direction: column;
+  background: #e9ecef;
+}
+
+.emotion-36 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  line-height: 1.55;
+  position: -webkit-sticky;
+  position: sticky;
+  top: 0;
+  padding-top: 10px;
+  padding-bottom: 10px;
+}
+
+.emotion-39 {
+  display: inline-block;
+  font-size: 14px;
+  font-weight: 500;
+  color: #212529;
+  word-break: break-word;
+  cursor: default;
+  -webkit-tap-highlight-color: transparent;
+}
+
+.emotion-42 {
+  position: relative;
+}
+
+.emotion-45 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  height: 36px;
+  -webkit-tap-highlight-color: transparent;
+  line-height: 34px;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  -ms-appearance: none;
+  appearance: none;
+  resize: none;
+  box-sizing: border-box;
+  font-size: 14px;
+  width: 100%;
+  color: #000;
+  display: block;
+  text-align: left;
+  min-height: 36px;
+  padding-left: 12px;
+  padding-right: 12px;
+  border-radius: 4px;
+  border: 1px solid #ced4da;
+  background-color: #fff;
+  -webkit-transition: border-color 100ms ease;
+  transition: border-color 100ms ease;
+}
+
+.emotion-45:disabled {
+  background-color: #f1f3f5;
+  color: #909296;
+  opacity: 0.6;
+  cursor: not-allowed;
+}
+
+.emotion-45:disabled::-webkit-input-placeholder {
+  color: #909296;
+}
+
+.emotion-45:disabled::-moz-placeholder {
+  color: #909296;
+}
+
+.emotion-45:disabled:-ms-input-placeholder {
+  color: #909296;
+}
+
+.emotion-45:disabled::placeholder {
+  color: #909296;
+}
+
+.emotion-45::-webkit-input-placeholder {
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+  color: #adb5bd;
+  opacity: 1;
+}
+
+.emotion-45::-moz-placeholder {
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+  color: #adb5bd;
+  opacity: 1;
+}
+
+.emotion-45:-ms-input-placeholder {
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+  color: #adb5bd;
+  opacity: 1;
+}
+
+.emotion-45::placeholder {
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+  color: #adb5bd;
+  opacity: 1;
+}
+
+.emotion-45::-webkit-inner-spin-button,
+.emotion-45::-webkit-outer-spin-button,
+.emotion-45::-webkit-search-decoration,
+.emotion-45::-webkit-search-cancel-button,
+.emotion-45::-webkit-search-results-button,
+.emotion-45::-webkit-search-results-decoration {
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  -ms-appearance: none;
+  appearance: none;
+}
+
+.emotion-45[type=number] {
+  -moz-appearance: textfield;
+}
+
+.emotion-45:focus,
+.emotion-45:focus-within {
+  outline: none;
+  border-color: #25262b;
+}
+
+.emotion-46 {
+  overflow: auto;
+}
+
+.emotion-49 {
+  -webkit-tap-highlight-color: transparent;
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  cursor: pointer;
+  border: 0;
+  padding: 0;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  -ms-appearance: none;
+  appearance: none;
+  font-size: 16px;
+  background-color: transparent;
+  text-align: left;
+  color: #000;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  box-sizing: border-box;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  width: 100%;
+  padding: 8px 12px;
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+  border-radius: 5px;
+}
+
+.emotion-49:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-49:focus:not(:focus-visible) {
+  outline: none;
+}
+
+@media (hover: hover) {
+  .emotion-49:hover {
+    background-color: #f8f9fa;
+  }
+}
+
+@media (hover: none) {
+  .emotion-49:active {
+    background-color: #f8f9fa;
+  }
+}
+
+.emotion-49[data-active] {
+  background-color: #25262b;
+  color: #fff;
+}
+
+@media (hover: hover) {
+  .emotion-49[data-active]:hover {
+    background-color: #1A1B1E;
+  }
+}
+
+@media (hover: none) {
+  .emotion-49[data-active]:active {
+    background-color: #1A1B1E;
+  }
+}
+
+.emotion-49[data-disabled] {
+  opacity: 0.4;
+  pointer-events: none;
+}
+
+.emotion-50 {
+  -webkit-flex: 1;
+  -ms-flex: 1;
+  flex: 1;
+  overflow: hidden;
+  text-overflow: ellipsis;
+}
+
+.emotion-54 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: inherit;
+  font-size: 14px;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+}
+
+.emotion-54:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-54:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-56 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: inherit;
+  font-size: inherit;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  font-family: JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;
+}
+
+.emotion-56:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-56:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-59 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: #868e96;
+  font-size: 12px;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  display: block;
+}
+
+.emotion-59:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-59:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-59[data-active] {
+  color: inherit;
+}
+
+.emotion-60 {
+  margin-left: 12px;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-box-pack: center;
+  -ms-flex-pack: center;
+  -webkit-justify-content: center;
+  justify-content: center;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-transition: -webkit-transform 150ms ease;
+  transition: transform 150ms ease;
+}
+
+.emotion-60[data-rotate] {
+  -webkit-transform: rotate(90deg);
+  -moz-transform: rotate(90deg);
+  -ms-transform: rotate(90deg);
+  transform: rotate(90deg);
+}
+
+.emotion-63 {
+  padding-left: 20px;
+}
+
+.emotion-83 {
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  padding: 5;
+  height: 100%;
+}
+
+.emotion-83 ._jotai-devtools-internal-panel-resize-handle {
+  -webkit-transition: max-height,min-height,height,0.2s ease-out;
+  transition: max-height,min-height,height,0.2s ease-out;
+}
+
+[data-resize-handle-active] .emotion-83 ._jotai-devtools-internal-panel-resize-handle,
+.emotion-83:hover ._jotai-devtools-internal-panel-resize-handle {
+  height: 90%;
+  min-height: 90%;
+  max-height: 90%;
+}
+
+.emotion-84 {
+  border-radius: 2rem;
+  vertical-align: middle;
+  margin: 5px;
+  background: #dee2e6;
+  width: 5px;
+  height: 20%;
+  min-height: 50px;
+  max-height: 100px;
+}
+
+.emotion-85 {
+  padding: 10px;
+  height: 100%;
+  position: relative;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-flex-direction: column;
+  -ms-flex-direction: column;
+  flex-direction: column;
+}
+
+.emotion-87 {
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-flex-direction: column;
+  -ms-flex-direction: column;
+  flex-direction: column;
+  -webkit-align-items: stretch;
+  -webkit-box-align: stretch;
+  -ms-flex-align: stretch;
+  align-items: stretch;
+  -webkit-box-pack: start;
+  -ms-flex-pack: start;
+  -webkit-justify-content: flex-start;
+  justify-content: flex-start;
+  gap: 16px;
+  height: auto;
+}
+
+.emotion-91 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: inherit;
+  font-size: inherit;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;
+  font-weight: 700;
+  font-size: 22px;
+  line-height: 1.4;
+  margin: 0;
+  margin-bottom: 10px;
+}
+
+.emotion-91:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-91:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-93 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: inherit;
+  font-size: inherit;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  margin-bottom: 10px;
+  font-weight: bold;
+}
+
+.emotion-93:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-93:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-94 {
+  margin-bottom: 10px;
+}
+
+.emotion-96 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: #868e96;
+  font-size: inherit;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  font-size: 10px;
+  font-weight: bold;
+  text-transform: uppercase;
+}
+
+.emotion-96:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-96:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-98 {
+  font-family: JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;
+  line-height: 1.55;
+  padding: 2px calc(10px / 2);
+  border-radius: 4px;
+  color: #1A1B1E;
+  background-color: rgba(248, 249, 250, 1);
+  font-size: 12px;
+}
+
+.emotion-106 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: inherit;
+  font-size: inherit;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  margin-bottom: 12px;
+  font-weight: bold;
+}
+
+.emotion-106:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-106:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-108 {
+  position: relative;
+  margin-bottom: 10px;
+}
+
+.emotion-112 {
+  -webkit-tap-highlight-color: transparent;
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  cursor: pointer;
+  border: 0;
+  padding: 0;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  -ms-appearance: none;
+  appearance: none;
+  font-size: 16px;
+  background-color: transparent;
+  text-align: left;
+  color: #000;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  box-sizing: border-box;
+  border: 1px solid transparent;
+  background-color: transparent;
+  color: #868e96;
+  position: relative;
+  height: 28px;
+  min-height: 28px;
+  width: 28px;
+  min-width: 28px;
+  border-radius: 4px;
+  padding: 0;
+  line-height: 1;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-pack: center;
+  -ms-flex-pack: center;
+  -webkit-justify-content: center;
+  justify-content: center;
+  position: absolute;
+  top: 10px;
+  right: 10px;
+  left: unset;
+  z-index: 2;
+}
+
+.emotion-112:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-112:focus:not(:focus-visible) {
+  outline: none;
+}
+
+@media (hover: hover) {
+  .emotion-112:hover {
+    background-color: rgba(248, 249, 250, 1);
+  }
+}
+
+@media (hover: none) {
+  .emotion-112:active {
+    background-color: rgba(248, 249, 250, 1);
+  }
+}
+
+.emotion-112:active {
+  -webkit-transform: scale(1);
+  -moz-transform: scale(1);
+  -ms-transform: scale(1);
+  transform: scale(1);
+}
+
+.emotion-112:disabled,
+.emotion-112[data-disabled] {
+  color: #ced4da;
+  cursor: not-allowed;
+  background-color: #f1f3f5;
+  border-color: #f1f3f5;
+  background-image: none;
+  pointer-events: none;
+}
+
+.emotion-112:disabled:active,
+.emotion-112[data-disabled]:active {
+  -webkit-transform: none;
+  -moz-transform: none;
+  -ms-transform: none;
+  transform: none;
+}
+
+.emotion-112[data-loading] {
+  pointer-events: none;
+}
+
+.emotion-112[data-loading]::before {
+  content: "";
+  position: absolute;
+  top: -1px;
+  left: -1px;
+  right: -1px;
+  bottom: -1px;
+  background-color: rgba(255, 255, 255, .5);
+  border-radius: 4px;
+  cursor: not-allowed;
+}
+
+.emotion-112,
+.emotion-112:hover {
+  background-color: #f8f9fa;
+}
+
+.emotion-115 {
+  overflow: hidden;
+}
+
+.emotion-116 {
+  width: 100%;
+  height: 100%;
+}
+
+.emotion-118 {
+  box-sizing: border-box;
+  position: relative;
+  font-family: JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;
+  line-height: 1.7;
+  font-size: 13px;
+  border-radius: 4px;
+  padding: 12px 0;
+  margin-top: 0;
+  margin-bottom: 0;
+}
+
+.emotion-120 {
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  width: 100%;
+  padding: 0 16px;
+}
+
+.emotion-122 {
+  width: 100%;
+}
+
+.emotion-126 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: inherit;
+  font-size: inherit;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  margin-top: 20px;
+  margin-bottom: 10px;
+  font-weight: bold;
+}
+
+.emotion-126:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-126:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-128 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  color: #000;
+  font-size: 16px;
+  line-height: 1.55;
+  margin: 0;
+  padding-left: 0;
+  list-style-position: inside;
+  margin-bottom: 10px;
+}
+
+.emotion-130 {
+  white-space: nowrap;
+  line-height: 1.55;
+}
+
+.emotion-130:not(:first-of-type) {
+  margin-top: 0;
+}
+
+.emotion-131 {
+  display: -webkit-inline-box;
+  display: -webkit-inline-flex;
+  display: -ms-inline-flexbox;
+  display: inline-flex;
+  -webkit-flex-direction: column;
+  -ms-flex-direction: column;
+  flex-direction: column;
+  white-space: normal;
+}
+
+<div>
+  <div
+    class="emotion-0 emotion-1 emotion-2"
+    data-testid="emotion-1"
+  >
+    <div
+      class="emotion-3"
+      data-testid="shell-resize-bar"
+    />
+    <div
+      class="emotion-4"
+    >
+      <div
+        class="emotion-5"
+      >
+        <div
+          class="emotion-6 emotion-7"
+        >
+          <h1
+            class="emotion-8 emotion-9 emotion-10"
+          >
+            πŸ‘» Jōtai DevTools
+          </h1>
+          <div
+            class="emotion-11 emotion-12"
+          >
+            <span
+              class="emotion-13 emotion-14"
+            >
+              Alpha
+            </span>
+          </div>
+        </div>
+        <div
+          class="emotion-15"
+        >
+          <button
+            class="emotion-16 emotion-17 emotion-18"
+            title="Toggle color scheme"
+            type="button"
+          >
+            <svg
+              class="icon icon-tabler icon-tabler-moon-stars"
+              fill="none"
+              height="16"
+              stroke="currentColor"
+              stroke-linecap="round"
+              stroke-linejoin="round"
+              stroke-width="2"
+              viewBox="0 0 24 24"
+              width="16"
+              xmlns="http://www.w3.org/2000/svg"
+            >
+              <path
+                d="M0 0h24v24H0z"
+                fill="none"
+                stroke="none"
+              />
+              <path
+                d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z"
+              />
+              <path
+                d="M17 4a2 2 0 0 0 2 2a2 2 0 0 0 -2 2a2 2 0 0 0 -2 -2a2 2 0 0 0 2 -2"
+              />
+              <path
+                d="M19 11h2m-1 -1v2"
+              />
+            </svg>
+          </button>
+          <button
+            class="emotion-16 emotion-17 emotion-21"
+            title="Minimize panel"
+            type="button"
+          >
+            <svg
+              class="icon icon-tabler icon-tabler-minus"
+              fill="none"
+              height="16"
+              stroke="currentColor"
+              stroke-linecap="round"
+              stroke-linejoin="round"
+              stroke-width="2"
+              viewBox="0 0 24 24"
+              width="16"
+              xmlns="http://www.w3.org/2000/svg"
+            >
+              <path
+                d="M0 0h24v24H0z"
+                fill="none"
+                stroke="none"
+              />
+              <line
+                x1="5"
+                x2="19"
+                y1="12"
+                y2="12"
+              />
+            </svg>
+          </button>
+        </div>
+      </div>
+    </div>
+    <div
+      aria-orientation="horizontal"
+      class="emotion-22 emotion-23"
+      role="tablist"
+    >
+      <button
+        aria-controls="mantine-r1h-panel-atom-viewer"
+        aria-selected="true"
+        class="emotion-16 emotion-25 emotion-26"
+        data-active="true"
+        id="mantine-r1h-tab-atom-viewer"
+        role="tab"
+        tabindex="0"
+        type="button"
+      >
+        <div
+          class="emotion-27 emotion-25Icon"
+        >
+          <svg
+            class="icon icon-tabler icon-tabler-layout-list"
+            fill="none"
+            height="14"
+            stroke="currentColor"
+            stroke-linecap="round"
+            stroke-linejoin="round"
+            stroke-width="2"
+            viewBox="0 0 24 24"
+            width="14"
+            xmlns="http://www.w3.org/2000/svg"
+          >
+            <path
+              d="M0 0h24v24H0z"
+              fill="none"
+              stroke="none"
+            />
+            <rect
+              height="6"
+              rx="2"
+              width="16"
+              x="4"
+              y="4"
+            />
+            <rect
+              height="6"
+              rx="2"
+              width="16"
+              x="4"
+              y="14"
+            />
+          </svg>
+        </div>
+        <div
+          class="emotion-29 emotion-25Label"
+        >
+          Atom Viewer
+        </div>
+      </button>
+    </div>
+    <div
+      aria-labelledby="mantine-r1h-tab-atom-viewer"
+      class="emotion-31 emotion-32"
+      id="mantine-r1h-panel-atom-viewer"
+      role="tabpanel"
+    >
+      <div
+        class=""
+        data-panel-group=""
+        data-panel-group-direction="horizontal"
+        data-panel-group-id=":r1j:"
+        style="display: flex; flex-direction: row; height: 100%; overflow: hidden; width: 100%;"
+      >
+        <div
+          class=""
+          data-panel=""
+          data-panel-id=":r1l:"
+          data-panel-size="50.0"
+          id="data-panel-id-:r1l:"
+          style="flex-basis: 0px; flex-grow: 50; flex-shrink: 1; overflow: auto;"
+        >
+          <div
+            class="emotion-33"
+          >
+            <div
+              class="emotion-34 emotion-35 emotion-36"
+            >
+              <label
+                class="emotion-37 emotion-38 emotion-39"
+                for="mantine-r1n"
+                id="mantine-r1n-label"
+              >
+                Search
+              </label>
+              <div
+                class="emotion-40 emotion-41 emotion-42"
+              >
+                <input
+                  aria-invalid="false"
+                  class="emotion-43 emotion-44 emotion-45"
+                  id="mantine-r1n"
+                  placeholder="atom debug label"
+                  type="text"
+                  value=""
+                />
+              </div>
+            </div>
+            <div
+              class="emotion-46"
+            >
+              <button
+                class="emotion-16 emotion-48 emotion-49"
+                data-active="true"
+                type="button"
+              >
+                <span
+                  class="emotion-50 emotion-51"
+                >
+                  <span
+                    class="emotion-8 emotion-53 emotion-54"
+                  >
+                    <div
+                      class="emotion-8 emotion-56"
+                    >
+                      countAtom
+                    </div>
+                  </span>
+                  <span
+                    class="emotion-8 emotion-58 emotion-59"
+                    data-active="true"
+                  />
+                </span>
+                <span
+                  class="emotion-60 emotion-61"
+                >
+                  <svg
+                    class="icon icon-tabler icon-tabler-chevron-right"
+                    fill="none"
+                    height="12"
+                    stroke="currentColor"
+                    stroke-linecap="round"
+                    stroke-linejoin="round"
+                    stroke-width="1.5"
+                    viewBox="0 0 24 24"
+                    width="12"
+                    xmlns="http://www.w3.org/2000/svg"
+                  >
+                    <path
+                      d="M0 0h24v24H0z"
+                      fill="none"
+                      stroke="none"
+                    />
+                    <polyline
+                      points="9 6 15 12 9 18"
+                    />
+                  </svg>
+                </span>
+              </button>
+              <div
+                aria-hidden="true"
+                class="emotion-62"
+                style="box-sizing: border-box; display: none; height: 0px; overflow: hidden;"
+              >
+                <div
+                  style="opacity: 0; transition: opacity 200ms ease;"
+                >
+                  <div
+                    class="emotion-63 emotion-64"
+                  />
+                </div>
+              </div>
+              <button
+                class="emotion-16 emotion-48 emotion-49"
+                type="button"
+              >
+                <span
+                  class="emotion-50 emotion-51"
+                >
+                  <span
+                    class="emotion-8 emotion-53 emotion-54"
+                  >
+                    <div
+                      class="emotion-8 emotion-56"
+                    >
+                      &lt;unlabeled-atom&gt;
+                    </div>
+                  </span>
+                  <span
+                    class="emotion-8 emotion-58 emotion-59"
+                  />
+                </span>
+                <span
+                  class="emotion-60 emotion-61"
+                >
+                  <svg
+                    class="icon icon-tabler icon-tabler-chevron-right"
+                    fill="none"
+                    height="12"
+                    stroke="currentColor"
+                    stroke-linecap="round"
+                    stroke-linejoin="round"
+                    stroke-width="1.5"
+                    viewBox="0 0 24 24"
+                    width="12"
+                    xmlns="http://www.w3.org/2000/svg"
+                  >
+                    <path
+                      d="M0 0h24v24H0z"
+                      fill="none"
+                      stroke="none"
+                    />
+                    <polyline
+                      points="9 6 15 12 9 18"
+                    />
+                  </svg>
+                </span>
+              </button>
+              <div
+                aria-hidden="true"
+                class="emotion-62"
+                style="box-sizing: border-box; display: none; height: 0px; overflow: hidden;"
+              >
+                <div
+                  style="opacity: 0; transition: opacity 200ms ease;"
+                >
+                  <div
+                    class="emotion-63 emotion-64"
+                  />
+                </div>
+              </div>
+            </div>
+          </div>
+        </div>
+        <div
+          aria-controls="data-panel-id-:r1l:"
+          aria-valuemax="70"
+          aria-valuemin="30"
+          aria-valuenow="50"
+          class=""
+          data-panel-group-direction="horizontal"
+          data-panel-group-id=":r1j:"
+          data-panel-resize-handle-enabled="true"
+          data-panel-resize-handle-id=":r1p:"
+          role="separator"
+          style="cursor: col-resize; user-select: none;"
+          tabindex="0"
+        >
+          <div
+            class="emotion-83"
+          >
+            <div
+              class="_jotai-devtools-internal-panel-resize-handle emotion-84"
+            />
+          </div>
+        </div>
+        <div
+          class=""
+          data-panel=""
+          data-panel-id=":r1r:"
+          data-panel-size="50.0"
+          id="data-panel-id-:r1r:"
+          style="flex-basis: 0px; flex-grow: 50; flex-shrink: 1; overflow: auto;"
+        >
+          <div
+            class="emotion-85"
+          >
+            <div
+              class="emotion-86 emotion-87"
+            >
+              <div
+                class="emotion-62"
+              >
+                <h1
+                  class="emotion-8 emotion-9 emotion-91"
+                >
+                  Atom Details
+                </h1>
+                <div
+                  class="emotion-8 emotion-93"
+                >
+                  Meta
+                </div>
+                <div
+                  class="emotion-94"
+                >
+                  <div
+                    class="emotion-8 emotion-96"
+                    data-testid="display-detail-item-label-Debug Label"
+                  >
+                    Debug Label
+                  </div>
+                  <code
+                    class="emotion-97 emotion-98"
+                    data-testid="display-detail-item-value-countAtom"
+                    dir="ltr"
+                  >
+                    countAtom
+                  </code>
+                </div>
+                <div
+                  class="emotion-94"
+                >
+                  <div
+                    class="emotion-8 emotion-96"
+                    data-testid="display-detail-item-label-Value type"
+                  >
+                    Value type
+                  </div>
+                  <code
+                    class="emotion-97 emotion-98"
+                    data-testid="display-detail-item-value-number"
+                    dir="ltr"
+                  >
+                    number
+                  </code>
+                </div>
+              </div>
+              <div
+                class="emotion-62"
+              >
+                <div
+                  class="emotion-8 emotion-106"
+                >
+                  Raw value
+                </div>
+                <div
+                  class="emotion-107 emotion-108"
+                  data-testid="atom-parsed-value"
+                  translate="no"
+                >
+                  <button
+                    aria-label="Copy value"
+                    class="emotion-16 emotion-17 emotion-111 emotion-112"
+                    type="button"
+                  >
+                    <svg
+                      fill="none"
+                      height="15"
+                      viewBox="0 0 15 15"
+                      width="15"
+                      xmlns="http://www.w3.org/2000/svg"
+                    >
+                      <path
+                        clip-rule="evenodd"
+                        d="M5 2V1H10V2H5ZM4.75 0C4.33579 0 4 0.335786 4 0.75V1H3.5C2.67157 1 2 1.67157 2 2.5V12.5C2 13.3284 2.67157 14 3.5 14H11.5C12.3284 14 13 13.3284 13 12.5V2.5C13 1.67157 12.3284 1 11.5 1H11V0.75C11 0.335786 10.6642 0 10.25 0H4.75ZM11 2V2.25C11 2.66421 10.6642 3 10.25 3H4.75C4.33579 3 4 2.66421 4 2.25V2H3.5C3.22386 2 3 2.22386 3 2.5V12.5C3 12.7761 3.22386 13 3.5 13H11.5C11.7761 13 12 12.7761 12 12.5V2.5C12 2.22386 11.7761 2 11.5 2H11Z"
+                        fill="currentColor"
+                        fill-rule="evenodd"
+                      />
+                    </svg>
+                  </button>
+                  <div
+                    class="emotion-113 emotion-114 emotion-115"
+                    dir="ltr"
+                    style="position: relative; --radix-scroll-area-corner-width: 0px; --radix-scroll-area-corner-height: 0px;"
+                  >
+                    <style>
+                      [data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}
+                    </style>
+                    <div
+                      class="emotion-116 emotion-117"
+                      data-radix-scroll-area-viewport=""
+                      style="overflow-x: scroll; overflow-y: scroll;"
+                    >
+                      <div
+                        style="min-width: 100%; display: table;"
+                      >
+                        <pre
+                          class="emotion-118 emotion-119 prism-code language-markdown"
+                          dir="ltr"
+                          style="color: rgb(33, 37, 41); background-color: rgba(248, 249, 250, 0.65);"
+                        >
+                          <div
+                            class="emotion-120 emotion-121 token-line"
+                          >
+                            <div
+                              class="emotion-122 emotion-121Content"
+                            >
+                              <span
+                                class="token plain"
+                              >
+                                0
+                              </span>
+                            </div>
+                          </div>
+                        </pre>
+                      </div>
+                    </div>
+                  </div>
+                </div>
+              </div>
+              <div
+                class="emotion-62"
+              >
+                <div
+                  class="emotion-8 emotion-126"
+                >
+                  Dependents
+                </div>
+                <ol
+                  class="emotion-127 emotion-128"
+                >
+                  <li
+                    class="emotion-129 emotion-130"
+                  >
+                    <div
+                      class="__mantine-ref-itemWrapper emotion-131 emotion-129Wrapper"
+                    >
+                      <span>
+                        <code
+                          class="emotion-97 emotion-98"
+                          data-testid="dependents-list-item-<unlabeled-atom>-0"
+                          dir="ltr"
+                        >
+                          &lt;unlabeled-atom&gt;
+                        </code>
+                      </span>
+                    </div>
+                  </li>
+                </ol>
+              </div>
+            </div>
+          </div>
+        </div>
+      </div>
+    </div>
+  </div>
+</div>
+`;
+
+exports[`DevTools - AtomViewer List of atoms private atoms should mark private atoms in atom details 1`] = `
+.emotion-1 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  color: #000;
+  line-height: 1.55;
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale;
+  font-size: 16px;
+}
+
+.emotion-1 *,
+.emotion-1 *::before,
+.emotion-1 *::after {
+  box-sizing: border-box;
+}
+
+.emotion-2 {
+  -webkit-flex-direction: row;
+  -ms-flex-direction: row;
+  flex-direction: row;
+  position: fixed;
+  left: 0;
+  bottom: 0;
+  width: calc(100% - 20px);
+  border-color: #dee2e6;
+  border-width: 1px;
+  border-style: solid;
+  border-radius: 8px;
+  background: #fff;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-flex-direction: column;
+  -ms-flex-direction: column;
+  flex-direction: column;
+  z-index: 99999;
+  margin: 10px;
+  height: 370px;
+  max-height: 90%;
+}
+
+.emotion-3 {
+  width: 100%;
+  height: 5px;
+  cursor: row-resize;
+  z-index: 2;
+  position: absolute;
+  top: -2px;
+}
+
+.emotion-4 {
+  position: -webkit-sticky;
+  position: sticky;
+  top: 0;
+  z-index: 1;
+  width: 100%;
+}
+
+.emotion-5 {
+  padding: 10px;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-pack: justify;
+  -webkit-justify-content: space-between;
+  justify-content: space-between;
+}
+
+.emotion-7 {
+  box-sizing: border-box;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-flex-direction: row;
+  -ms-flex-direction: row;
+  flex-direction: row;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-flex-wrap: wrap;
+  -webkit-flex-wrap: wrap;
+  -ms-flex-wrap: wrap;
+  flex-wrap: wrap;
+  -webkit-box-pack: start;
+  -ms-flex-pack: start;
+  -webkit-justify-content: flex-start;
+  justify-content: flex-start;
+  gap: 16px;
+  margin-right: 10px;
+}
+
+.emotion-7>* {
+  box-sizing: border-box;
+  -webkit-box-flex: 0;
+  -webkit-flex-grow: 0;
+  -ms-flex-positive: 0;
+  flex-grow: 0;
+}
+
+.emotion-10 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: inherit;
+  font-size: inherit;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;
+  font-weight: 700;
+  font-size: 18px;
+  line-height: 1.45;
+  margin: 0;
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+}
+
+.emotion-10:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-10:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-12 {
+  -webkit-tap-highlight-color: transparent;
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  font-size: 9px;
+  height: 16px;
+  line-height: 14px;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  padding: 0 6.666666666666667px;
+  box-sizing: border-box;
+  display: -webkit-inline-box;
+  display: -webkit-inline-flex;
+  display: -ms-inline-flexbox;
+  display: inline-flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-pack: center;
+  -ms-flex-pack: center;
+  -webkit-justify-content: center;
+  justify-content: center;
+  width: auto;
+  text-transform: uppercase;
+  border-radius: 32px;
+  font-weight: 700;
+  letter-spacing: 0.25px;
+  cursor: inherit;
+  text-overflow: ellipsis;
+  overflow: hidden;
+  background: rgba(255, 244, 230, 1);
+  color: #fd7e14;
+  border: 1px solid transparent;
+}
+
+.emotion-12:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-12:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-13 {
+  white-space: nowrap;
+  overflow: hidden;
+  text-overflow: ellipsis;
+}
+
+.emotion-15 {
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+}
+
+.emotion-18 {
+  -webkit-tap-highlight-color: transparent;
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  cursor: pointer;
+  border: 0;
+  padding: 0;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  -ms-appearance: none;
+  appearance: none;
+  font-size: 16px;
+  background-color: transparent;
+  text-align: left;
+  color: #000;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  box-sizing: border-box;
+  border: 1px solid transparent;
+  background-color: #25262b;
+  color: #fff;
+  position: relative;
+  height: 28px;
+  min-height: 28px;
+  width: 28px;
+  min-width: 28px;
+  border-radius: 4px;
+  padding: 0;
+  line-height: 1;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-pack: center;
+  -ms-flex-pack: center;
+  -webkit-justify-content: center;
+  justify-content: center;
+}
+
+.emotion-18:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-18:focus:not(:focus-visible) {
+  outline: none;
+}
+
+@media (hover: hover) {
+  .emotion-18:hover {
+    background-color: #1A1B1E;
+  }
+}
+
+@media (hover: none) {
+  .emotion-18:active {
+    background-color: #1A1B1E;
+  }
+}
+
+.emotion-18:active {
+  -webkit-transform: scale(1);
+  -moz-transform: scale(1);
+  -ms-transform: scale(1);
+  transform: scale(1);
+}
+
+.emotion-18:disabled,
+.emotion-18[data-disabled] {
+  color: #ced4da;
+  cursor: not-allowed;
+  background-color: #f1f3f5;
+  border-color: #f1f3f5;
+  background-image: none;
+  pointer-events: none;
+}
+
+.emotion-18:disabled:active,
+.emotion-18[data-disabled]:active {
+  -webkit-transform: none;
+  -moz-transform: none;
+  -ms-transform: none;
+  transform: none;
+}
+
+.emotion-18[data-loading] {
+  pointer-events: none;
+}
+
+.emotion-18[data-loading]::before {
+  content: "";
+  position: absolute;
+  top: -1px;
+  left: -1px;
+  right: -1px;
+  bottom: -1px;
+  background-color: rgba(255, 255, 255, .5);
+  border-radius: 4px;
+  cursor: not-allowed;
+}
+
+.emotion-21 {
+  -webkit-tap-highlight-color: transparent;
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  cursor: pointer;
+  border: 0;
+  padding: 0;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  -ms-appearance: none;
+  appearance: none;
+  font-size: 16px;
+  background-color: transparent;
+  text-align: left;
+  color: #000;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  box-sizing: border-box;
+  border: 1px solid transparent;
+  background-color: transparent;
+  color: #868e96;
+  position: relative;
+  height: 28px;
+  min-height: 28px;
+  width: 28px;
+  min-width: 28px;
+  border-radius: 8px;
+  padding: 0;
+  line-height: 1;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-pack: center;
+  -ms-flex-pack: center;
+  -webkit-justify-content: center;
+  justify-content: center;
+  margin-left: 10px;
+}
+
+.emotion-21:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-21:focus:not(:focus-visible) {
+  outline: none;
+}
+
+@media (hover: hover) {
+  .emotion-21:hover {
+    background-color: rgba(248, 249, 250, 1);
+  }
+}
+
+@media (hover: none) {
+  .emotion-21:active {
+    background-color: rgba(248, 249, 250, 1);
+  }
+}
+
+.emotion-21:active {
+  -webkit-transform: scale(1);
+  -moz-transform: scale(1);
+  -ms-transform: scale(1);
+  transform: scale(1);
+}
+
+.emotion-21:disabled,
+.emotion-21[data-disabled] {
+  color: #ced4da;
+  cursor: not-allowed;
+  background-color: #f1f3f5;
+  border-color: #f1f3f5;
+  background-image: none;
+  pointer-events: none;
+}
+
+.emotion-21:disabled:active,
+.emotion-21[data-disabled]:active {
+  -webkit-transform: none;
+  -moz-transform: none;
+  -ms-transform: none;
+  transform: none;
+}
+
+.emotion-21[data-loading] {
+  pointer-events: none;
+}
+
+.emotion-21[data-loading]::before {
+  content: "";
+  position: absolute;
+  top: -1px;
+  left: -1px;
+  right: -1px;
+  bottom: -1px;
+  background-color: rgba(255, 255, 255, .5);
+  border-radius: 8px;
+  cursor: not-allowed;
+}
+
+.emotion-23 {
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-box-flex-wrap: wrap;
+  -webkit-flex-wrap: wrap;
+  -ms-flex-wrap: wrap;
+  flex-wrap: wrap;
+  -webkit-flex-direction: row;
+  -ms-flex-direction: row;
+  flex-direction: row;
+  -webkit-box-pack: start;
+  -ms-flex-pack: start;
+  -webkit-justify-content: flex-start;
+  justify-content: flex-start;
+  border-bottom: 2px solid #dee2e6;
+}
+
+.emotion-26 {
+  -webkit-tap-highlight-color: transparent;
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  cursor: pointer;
+  border: 0;
+  padding: 0;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  -ms-appearance: none;
+  appearance: none;
+  font-size: 16px;
+  background-color: transparent;
+  text-align: left;
+  color: #000;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  box-sizing: border-box;
+  position: relative;
+  padding: 10px 16px;
+  padding-left: 10px;
+  font-size: 14px;
+  white-space: nowrap;
+  z-index: 0;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-pack: center;
+  -ms-flex-pack: center;
+  -webkit-justify-content: center;
+  justify-content: center;
+  line-height: 1;
+  border-bottom: 2px solid transparent;
+  margin-bottom: -2px;
+  border-radius: 4px 4px 0 0;
+}
+
+.emotion-26:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-26:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-26:disabled {
+  opacity: 0.5;
+  cursor: not-allowed;
+}
+
+@media (hover: hover) {
+  .emotion-26:disabled:hover {
+    background-color: transparent;
+  }
+}
+
+@media (hover: none) {
+  .emotion-26:disabled:active {
+    background-color: transparent;
+  }
+}
+
+.emotion-26:focus {
+  z-index: 1;
+}
+
+@media (hover: hover) {
+  .emotion-26:hover {
+    background-color: #f8f9fa;
+    border-color: #dee2e6;
+  }
+}
+
+@media (hover: none) {
+  .emotion-26:active {
+    background-color: #f8f9fa;
+    border-color: #dee2e6;
+  }
+}
+
+.emotion-26[data-active] {
+  border-color: #25262b;
+  color: #000;
+}
+
+@media (hover: hover) {
+  .emotion-26[data-active]:hover {
+    border-color: #25262b;
+  }
+}
+
+@media (hover: none) {
+  .emotion-26[data-active]:active {
+    border-color: #25262b;
+  }
+}
+
+.emotion-27 {
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-box-pack: center;
+  -ms-flex-pack: center;
+  -webkit-justify-content: center;
+  justify-content: center;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+}
+
+.emotion-27:not(:only-child) {
+  margin-right: 7px;
+}
+
+.emotion-32 {
+  height: 100%;
+  overflow: hidden;
+  border-bottom-left-radius: 7px;
+  border-bottom-right-radius: 7px;
+}
+
+.emotion-33 {
+  padding: 10px;
+  padding-top: 0;
+  height: 100%;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-flex-direction: column;
+  -ms-flex-direction: column;
+  flex-direction: column;
+  background: #e9ecef;
+}
+
+.emotion-36 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  line-height: 1.55;
+  position: -webkit-sticky;
+  position: sticky;
+  top: 0;
+  padding-top: 10px;
+  padding-bottom: 10px;
+}
+
+.emotion-39 {
+  display: inline-block;
+  font-size: 14px;
+  font-weight: 500;
+  color: #212529;
+  word-break: break-word;
+  cursor: default;
+  -webkit-tap-highlight-color: transparent;
+}
+
+.emotion-42 {
+  position: relative;
+}
+
+.emotion-45 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  height: 36px;
+  -webkit-tap-highlight-color: transparent;
+  line-height: 34px;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  -ms-appearance: none;
+  appearance: none;
+  resize: none;
+  box-sizing: border-box;
+  font-size: 14px;
+  width: 100%;
+  color: #000;
+  display: block;
+  text-align: left;
+  min-height: 36px;
+  padding-left: 12px;
+  padding-right: 12px;
+  border-radius: 4px;
+  border: 1px solid #ced4da;
+  background-color: #fff;
+  -webkit-transition: border-color 100ms ease;
+  transition: border-color 100ms ease;
+}
+
+.emotion-45:disabled {
+  background-color: #f1f3f5;
+  color: #909296;
+  opacity: 0.6;
+  cursor: not-allowed;
+}
+
+.emotion-45:disabled::-webkit-input-placeholder {
+  color: #909296;
+}
+
+.emotion-45:disabled::-moz-placeholder {
+  color: #909296;
+}
+
+.emotion-45:disabled:-ms-input-placeholder {
+  color: #909296;
+}
+
+.emotion-45:disabled::placeholder {
+  color: #909296;
+}
+
+.emotion-45::-webkit-input-placeholder {
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+  color: #adb5bd;
+  opacity: 1;
+}
+
+.emotion-45::-moz-placeholder {
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+  color: #adb5bd;
+  opacity: 1;
+}
+
+.emotion-45:-ms-input-placeholder {
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+  color: #adb5bd;
+  opacity: 1;
+}
+
+.emotion-45::placeholder {
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+  color: #adb5bd;
+  opacity: 1;
+}
+
+.emotion-45::-webkit-inner-spin-button,
+.emotion-45::-webkit-outer-spin-button,
+.emotion-45::-webkit-search-decoration,
+.emotion-45::-webkit-search-cancel-button,
+.emotion-45::-webkit-search-results-button,
+.emotion-45::-webkit-search-results-decoration {
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  -ms-appearance: none;
+  appearance: none;
+}
+
+.emotion-45[type=number] {
+  -moz-appearance: textfield;
+}
+
+.emotion-45:focus,
+.emotion-45:focus-within {
+  outline: none;
+  border-color: #25262b;
+}
+
+.emotion-46 {
+  overflow: auto;
+}
+
+.emotion-49 {
+  -webkit-tap-highlight-color: transparent;
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  cursor: pointer;
+  border: 0;
+  padding: 0;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  -ms-appearance: none;
+  appearance: none;
+  font-size: 16px;
+  background-color: transparent;
+  text-align: left;
+  color: #000;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  box-sizing: border-box;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  width: 100%;
+  padding: 8px 12px;
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+  border-radius: 5px;
+}
+
+.emotion-49:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-49:focus:not(:focus-visible) {
+  outline: none;
+}
+
+@media (hover: hover) {
+  .emotion-49:hover {
+    background-color: #f8f9fa;
+  }
+}
+
+@media (hover: none) {
+  .emotion-49:active {
+    background-color: #f8f9fa;
+  }
+}
+
+.emotion-49[data-active] {
+  background-color: #25262b;
+  color: #fff;
+}
+
+@media (hover: hover) {
+  .emotion-49[data-active]:hover {
+    background-color: #1A1B1E;
+  }
+}
+
+@media (hover: none) {
+  .emotion-49[data-active]:active {
+    background-color: #1A1B1E;
+  }
+}
+
+.emotion-49[data-disabled] {
+  opacity: 0.4;
+  pointer-events: none;
+}
+
+.emotion-50 {
+  -webkit-flex: 1;
+  -ms-flex: 1;
+  flex: 1;
+  overflow: hidden;
+  text-overflow: ellipsis;
+}
+
+.emotion-54 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: inherit;
+  font-size: 14px;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+}
+
+.emotion-54:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-54:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-56 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: inherit;
+  font-size: inherit;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  font-family: JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;
+}
+
+.emotion-56:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-56:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-59 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: #868e96;
+  font-size: 12px;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  display: block;
+}
+
+.emotion-59:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-59:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-59[data-active] {
+  color: inherit;
+}
+
+.emotion-60 {
+  margin-left: 12px;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-box-pack: center;
+  -ms-flex-pack: center;
+  -webkit-justify-content: center;
+  justify-content: center;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-transition: -webkit-transform 150ms ease;
+  transition: transform 150ms ease;
+}
+
+.emotion-60[data-rotate] {
+  -webkit-transform: rotate(90deg);
+  -moz-transform: rotate(90deg);
+  -ms-transform: rotate(90deg);
+  transform: rotate(90deg);
+}
+
+.emotion-63 {
+  padding-left: 20px;
+}
+
+.emotion-101 {
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  padding: 5;
+  height: 100%;
+}
+
+.emotion-101 ._jotai-devtools-internal-panel-resize-handle {
+  -webkit-transition: max-height,min-height,height,0.2s ease-out;
+  transition: max-height,min-height,height,0.2s ease-out;
+}
+
+[data-resize-handle-active] .emotion-101 ._jotai-devtools-internal-panel-resize-handle,
+.emotion-101:hover ._jotai-devtools-internal-panel-resize-handle {
+  height: 90%;
+  min-height: 90%;
+  max-height: 90%;
+}
+
+.emotion-102 {
+  border-radius: 2rem;
+  vertical-align: middle;
+  margin: 5px;
+  background: #dee2e6;
+  width: 5px;
+  height: 20%;
+  min-height: 50px;
+  max-height: 100px;
+}
+
+.emotion-103 {
+  padding: 10px;
+  height: 100%;
+  position: relative;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-flex-direction: column;
+  -ms-flex-direction: column;
+  flex-direction: column;
+}
+
+.emotion-105 {
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-flex-direction: column;
+  -ms-flex-direction: column;
+  flex-direction: column;
+  -webkit-align-items: stretch;
+  -webkit-box-align: stretch;
+  -ms-flex-align: stretch;
+  align-items: stretch;
+  -webkit-box-pack: start;
+  -ms-flex-pack: start;
+  -webkit-justify-content: flex-start;
+  justify-content: flex-start;
+  gap: 16px;
+  height: auto;
+}
+
+.emotion-109 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: inherit;
+  font-size: inherit;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;
+  font-weight: 700;
+  font-size: 22px;
+  line-height: 1.4;
+  margin: 0;
+  margin-bottom: 10px;
+}
+
+.emotion-109:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-109:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-111 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: inherit;
+  font-size: inherit;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  margin-bottom: 10px;
+  font-weight: bold;
+}
+
+.emotion-111:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-111:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-112 {
+  margin-bottom: 10px;
+}
+
+.emotion-114 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: #868e96;
+  font-size: inherit;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  font-size: 10px;
+  font-weight: bold;
+  text-transform: uppercase;
+}
+
+.emotion-114:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-114:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-116 {
+  font-family: JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;
+  line-height: 1.55;
+  padding: 2px calc(10px / 2);
+  border-radius: 4px;
+  color: #1A1B1E;
+  background-color: rgba(248, 249, 250, 1);
+  font-size: 12px;
+}
+
+.emotion-126 {
+  font-family: JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;
+  line-height: 1.55;
+  padding: 2px calc(10px / 2);
+  border-radius: 4px;
+  color: #1A1B1E;
+  background-color: rgba(255, 245, 245, 1);
+  font-size: 12px;
+}
+
+.emotion-129 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: inherit;
+  font-size: inherit;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  margin-bottom: 12px;
+  font-weight: bold;
+}
+
+.emotion-129:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-129:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-131 {
+  position: relative;
+  margin-bottom: 10px;
+}
+
+.emotion-135 {
+  -webkit-tap-highlight-color: transparent;
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  cursor: pointer;
+  border: 0;
+  padding: 0;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  -ms-appearance: none;
+  appearance: none;
+  font-size: 16px;
+  background-color: transparent;
+  text-align: left;
+  color: #000;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  box-sizing: border-box;
+  border: 1px solid transparent;
+  background-color: transparent;
+  color: #868e96;
+  position: relative;
+  height: 28px;
+  min-height: 28px;
+  width: 28px;
+  min-width: 28px;
+  border-radius: 4px;
+  padding: 0;
+  line-height: 1;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-pack: center;
+  -ms-flex-pack: center;
+  -webkit-justify-content: center;
+  justify-content: center;
+  position: absolute;
+  top: 10px;
+  right: 10px;
+  left: unset;
+  z-index: 2;
+}
+
+.emotion-135:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-135:focus:not(:focus-visible) {
+  outline: none;
+}
+
+@media (hover: hover) {
+  .emotion-135:hover {
+    background-color: rgba(248, 249, 250, 1);
+  }
+}
+
+@media (hover: none) {
+  .emotion-135:active {
+    background-color: rgba(248, 249, 250, 1);
+  }
+}
+
+.emotion-135:active {
+  -webkit-transform: scale(1);
+  -moz-transform: scale(1);
+  -ms-transform: scale(1);
+  transform: scale(1);
+}
+
+.emotion-135:disabled,
+.emotion-135[data-disabled] {
+  color: #ced4da;
+  cursor: not-allowed;
+  background-color: #f1f3f5;
+  border-color: #f1f3f5;
+  background-image: none;
+  pointer-events: none;
+}
+
+.emotion-135:disabled:active,
+.emotion-135[data-disabled]:active {
+  -webkit-transform: none;
+  -moz-transform: none;
+  -ms-transform: none;
+  transform: none;
+}
+
+.emotion-135[data-loading] {
+  pointer-events: none;
+}
+
+.emotion-135[data-loading]::before {
+  content: "";
+  position: absolute;
+  top: -1px;
+  left: -1px;
+  right: -1px;
+  bottom: -1px;
+  background-color: rgba(255, 255, 255, .5);
+  border-radius: 4px;
+  cursor: not-allowed;
+}
+
+.emotion-135,
+.emotion-135:hover {
+  background-color: #f8f9fa;
+}
+
+.emotion-138 {
+  overflow: hidden;
+}
+
+.emotion-139 {
+  width: 100%;
+  height: 100%;
+}
+
+.emotion-141 {
+  box-sizing: border-box;
+  position: relative;
+  font-family: JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;
+  line-height: 1.7;
+  font-size: 13px;
+  border-radius: 4px;
+  padding: 12px 0;
+  margin-top: 0;
+  margin-bottom: 0;
+}
+
+.emotion-143 {
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  width: 100%;
+  padding: 0 16px;
+}
+
+.emotion-145 {
+  width: 100%;
+}
+
+.emotion-149 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: inherit;
+  font-size: inherit;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  margin-top: 20px;
+  margin-bottom: 10px;
+  font-weight: bold;
+}
+
+.emotion-149:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-149:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-151 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  color: #000;
+  font-size: 16px;
+  line-height: 1.55;
+  margin: 0;
+  padding-left: 0;
+  list-style-position: inside;
+  margin-bottom: 10px;
+}
+
+.emotion-153 {
+  white-space: nowrap;
+  line-height: 1.55;
+}
+
+.emotion-153:not(:first-of-type) {
+  margin-top: 0;
+}
+
+.emotion-154 {
+  display: -webkit-inline-box;
+  display: -webkit-inline-flex;
+  display: -ms-inline-flexbox;
+  display: inline-flex;
+  -webkit-flex-direction: column;
+  -ms-flex-direction: column;
+  flex-direction: column;
+  white-space: normal;
+}
+
+<div>
+  <div
+    class="emotion-0 emotion-1 emotion-2"
+    data-testid="emotion-1"
+  >
+    <div
+      class="emotion-3"
+      data-testid="shell-resize-bar"
+    />
+    <div
+      class="emotion-4"
+    >
+      <div
+        class="emotion-5"
+      >
+        <div
+          class="emotion-6 emotion-7"
+        >
+          <h1
+            class="emotion-8 emotion-9 emotion-10"
+          >
+            πŸ‘» Jōtai DevTools
+          </h1>
+          <div
+            class="emotion-11 emotion-12"
+          >
+            <span
+              class="emotion-13 emotion-14"
+            >
+              Alpha
+            </span>
+          </div>
+        </div>
+        <div
+          class="emotion-15"
+        >
+          <button
+            class="emotion-16 emotion-17 emotion-18"
+            title="Toggle color scheme"
+            type="button"
+          >
+            <svg
+              class="icon icon-tabler icon-tabler-moon-stars"
+              fill="none"
+              height="16"
+              stroke="currentColor"
+              stroke-linecap="round"
+              stroke-linejoin="round"
+              stroke-width="2"
+              viewBox="0 0 24 24"
+              width="16"
+              xmlns="http://www.w3.org/2000/svg"
+            >
+              <path
+                d="M0 0h24v24H0z"
+                fill="none"
+                stroke="none"
+              />
+              <path
+                d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z"
+              />
+              <path
+                d="M17 4a2 2 0 0 0 2 2a2 2 0 0 0 -2 2a2 2 0 0 0 -2 -2a2 2 0 0 0 2 -2"
+              />
+              <path
+                d="M19 11h2m-1 -1v2"
+              />
+            </svg>
+          </button>
+          <button
+            class="emotion-16 emotion-17 emotion-21"
+            title="Minimize panel"
+            type="button"
+          >
+            <svg
+              class="icon icon-tabler icon-tabler-minus"
+              fill="none"
+              height="16"
+              stroke="currentColor"
+              stroke-linecap="round"
+              stroke-linejoin="round"
+              stroke-width="2"
+              viewBox="0 0 24 24"
+              width="16"
+              xmlns="http://www.w3.org/2000/svg"
+            >
+              <path
+                d="M0 0h24v24H0z"
+                fill="none"
+                stroke="none"
+              />
+              <line
+                x1="5"
+                x2="19"
+                y1="12"
+                y2="12"
+              />
+            </svg>
+          </button>
+        </div>
+      </div>
+    </div>
+    <div
+      aria-orientation="horizontal"
+      class="emotion-22 emotion-23"
+      role="tablist"
+    >
+      <button
+        aria-controls="mantine-r23-panel-atom-viewer"
+        aria-selected="true"
+        class="emotion-16 emotion-25 emotion-26"
+        data-active="true"
+        id="mantine-r23-tab-atom-viewer"
+        role="tab"
+        tabindex="0"
+        type="button"
+      >
+        <div
+          class="emotion-27 emotion-25Icon"
+        >
+          <svg
+            class="icon icon-tabler icon-tabler-layout-list"
+            fill="none"
+            height="14"
+            stroke="currentColor"
+            stroke-linecap="round"
+            stroke-linejoin="round"
+            stroke-width="2"
+            viewBox="0 0 24 24"
+            width="14"
+            xmlns="http://www.w3.org/2000/svg"
+          >
+            <path
+              d="M0 0h24v24H0z"
+              fill="none"
+              stroke="none"
+            />
+            <rect
+              height="6"
+              rx="2"
+              width="16"
+              x="4"
+              y="4"
+            />
+            <rect
+              height="6"
+              rx="2"
+              width="16"
+              x="4"
+              y="14"
+            />
+          </svg>
+        </div>
+        <div
+          class="emotion-29 emotion-25Label"
+        >
+          Atom Viewer
+        </div>
+      </button>
+    </div>
+    <div
+      aria-labelledby="mantine-r23-tab-atom-viewer"
+      class="emotion-31 emotion-32"
+      id="mantine-r23-panel-atom-viewer"
+      role="tabpanel"
+    >
+      <div
+        class=""
+        data-panel-group=""
+        data-panel-group-direction="horizontal"
+        data-panel-group-id=":r25:"
+        style="display: flex; flex-direction: row; height: 100%; overflow: hidden; width: 100%;"
+      >
+        <div
+          class=""
+          data-panel=""
+          data-panel-id=":r27:"
+          data-panel-size="50.0"
+          id="data-panel-id-:r27:"
+          style="flex-basis: 0px; flex-grow: 50; flex-shrink: 1; overflow: auto;"
+        >
+          <div
+            class="emotion-33"
+          >
+            <div
+              class="emotion-34 emotion-35 emotion-36"
+            >
+              <label
+                class="emotion-37 emotion-38 emotion-39"
+                for="mantine-r29"
+                id="mantine-r29-label"
+              >
+                Search
+              </label>
+              <div
+                class="emotion-40 emotion-41 emotion-42"
+              >
+                <input
+                  aria-invalid="false"
+                  class="emotion-43 emotion-44 emotion-45"
+                  id="mantine-r29"
+                  placeholder="atom debug label"
+                  type="text"
+                  value=""
+                />
+              </div>
+            </div>
+            <div
+              class="emotion-46"
+            >
+              <button
+                class="emotion-16 emotion-48 emotion-49"
+                type="button"
+              >
+                <span
+                  class="emotion-50 emotion-51"
+                >
+                  <span
+                    class="emotion-8 emotion-53 emotion-54"
+                  >
+                    <div
+                      class="emotion-8 emotion-56"
+                    >
+                      countAtom
+                    </div>
+                  </span>
+                  <span
+                    class="emotion-8 emotion-58 emotion-59"
+                  />
+                </span>
+                <span
+                  class="emotion-60 emotion-61"
+                >
+                  <svg
+                    class="icon icon-tabler icon-tabler-chevron-right"
+                    fill="none"
+                    height="12"
+                    stroke="currentColor"
+                    stroke-linecap="round"
+                    stroke-linejoin="round"
+                    stroke-width="1.5"
+                    viewBox="0 0 24 24"
+                    width="12"
+                    xmlns="http://www.w3.org/2000/svg"
+                  >
+                    <path
+                      d="M0 0h24v24H0z"
+                      fill="none"
+                      stroke="none"
+                    />
+                    <polyline
+                      points="9 6 15 12 9 18"
+                    />
+                  </svg>
+                </span>
+              </button>
+              <div
+                aria-hidden="true"
+                class="emotion-62"
+                style="box-sizing: border-box; display: none; height: 0px; overflow: hidden;"
+              >
+                <div
+                  style="opacity: 0; transition: opacity 200ms ease;"
+                >
+                  <div
+                    class="emotion-63 emotion-64"
+                  />
+                </div>
+              </div>
+              <button
+                class="emotion-16 emotion-48 emotion-49"
+                type="button"
+              >
+                <span
+                  class="emotion-50 emotion-51"
+                >
+                  <span
+                    class="emotion-8 emotion-53 emotion-54"
+                  >
+                    <div
+                      class="emotion-8 emotion-56"
+                    >
+                      &lt;unlabeled-atom&gt;
+                    </div>
+                  </span>
+                  <span
+                    class="emotion-8 emotion-58 emotion-59"
+                  />
+                </span>
+                <span
+                  class="emotion-60 emotion-61"
+                >
+                  <svg
+                    class="icon icon-tabler icon-tabler-chevron-right"
+                    fill="none"
+                    height="12"
+                    stroke="currentColor"
+                    stroke-linecap="round"
+                    stroke-linejoin="round"
+                    stroke-width="1.5"
+                    viewBox="0 0 24 24"
+                    width="12"
+                    xmlns="http://www.w3.org/2000/svg"
+                  >
+                    <path
+                      d="M0 0h24v24H0z"
+                      fill="none"
+                      stroke="none"
+                    />
+                    <polyline
+                      points="9 6 15 12 9 18"
+                    />
+                  </svg>
+                </span>
+              </button>
+              <div
+                aria-hidden="true"
+                class="emotion-62"
+                style="box-sizing: border-box; display: none; height: 0px; overflow: hidden;"
+              >
+                <div
+                  style="opacity: 0; transition: opacity 200ms ease;"
+                >
+                  <div
+                    class="emotion-63 emotion-64"
+                  />
+                </div>
+              </div>
+              <button
+                class="emotion-16 emotion-48 emotion-49"
+                data-active="true"
+                type="button"
+              >
+                <span
+                  class="emotion-50 emotion-51"
+                >
+                  <span
+                    class="emotion-8 emotion-53 emotion-54"
+                  >
+                    <div
+                      class="emotion-8 emotion-56"
+                    >
+                      privateAtom
+                    </div>
+                  </span>
+                  <span
+                    class="emotion-8 emotion-58 emotion-59"
+                    data-active="true"
+                  />
+                </span>
+                <span
+                  class="emotion-60 emotion-61"
+                >
+                  <svg
+                    class="icon icon-tabler icon-tabler-chevron-right"
+                    fill="none"
+                    height="12"
+                    stroke="currentColor"
+                    stroke-linecap="round"
+                    stroke-linejoin="round"
+                    stroke-width="1.5"
+                    viewBox="0 0 24 24"
+                    width="12"
+                    xmlns="http://www.w3.org/2000/svg"
+                  >
+                    <path
+                      d="M0 0h24v24H0z"
+                      fill="none"
+                      stroke="none"
+                    />
+                    <polyline
+                      points="9 6 15 12 9 18"
+                    />
+                  </svg>
+                </span>
+              </button>
+              <div
+                aria-hidden="true"
+                class="emotion-62"
+                style="box-sizing: border-box; display: none; height: 0px; overflow: hidden;"
+              >
+                <div
+                  style="opacity: 0; transition: opacity 200ms ease;"
+                >
+                  <div
+                    class="emotion-63 emotion-64"
+                  />
+                </div>
+              </div>
+            </div>
+          </div>
+        </div>
+        <div
+          aria-controls="data-panel-id-:r27:"
+          aria-valuemax="70"
+          aria-valuemin="30"
+          aria-valuenow="50"
+          class=""
+          data-panel-group-direction="horizontal"
+          data-panel-group-id=":r25:"
+          data-panel-resize-handle-enabled="true"
+          data-panel-resize-handle-id=":r2b:"
+          role="separator"
+          style="cursor: col-resize; user-select: none;"
+          tabindex="0"
+        >
+          <div
+            class="emotion-101"
+          >
+            <div
+              class="_jotai-devtools-internal-panel-resize-handle emotion-102"
+            />
+          </div>
+        </div>
+        <div
+          class=""
+          data-panel=""
+          data-panel-id=":r2d:"
+          data-panel-size="50.0"
+          id="data-panel-id-:r2d:"
+          style="flex-basis: 0px; flex-grow: 50; flex-shrink: 1; overflow: auto;"
+        >
+          <div
+            class="emotion-103"
+          >
+            <div
+              class="emotion-104 emotion-105"
+            >
+              <div
+                class="emotion-62"
+              >
+                <h1
+                  class="emotion-8 emotion-9 emotion-109"
+                >
+                  Atom Details
+                </h1>
+                <div
+                  class="emotion-8 emotion-111"
+                >
+                  Meta
+                </div>
+                <div
+                  class="emotion-112"
+                >
+                  <div
+                    class="emotion-8 emotion-114"
+                    data-testid="display-detail-item-label-Debug Label"
+                  >
+                    Debug Label
+                  </div>
+                  <code
+                    class="emotion-115 emotion-116"
+                    data-testid="display-detail-item-value-privateAtom"
+                    dir="ltr"
+                  >
+                    privateAtom
+                  </code>
+                </div>
+                <div
+                  class="emotion-112"
+                >
+                  <div
+                    class="emotion-8 emotion-114"
+                    data-testid="display-detail-item-label-Value type"
+                  >
+                    Value type
+                  </div>
+                  <code
+                    class="emotion-115 emotion-116"
+                    data-testid="display-detail-item-value-number"
+                    dir="ltr"
+                  >
+                    number
+                  </code>
+                </div>
+                <div
+                  class="emotion-112"
+                >
+                  <div
+                    class="emotion-8 emotion-114"
+                    data-testid="display-detail-item-label-Private"
+                  >
+                    Private
+                  </div>
+                  <code
+                    class="emotion-115 emotion-126"
+                    data-testid="display-detail-item-value-Yes"
+                    dir="ltr"
+                  >
+                    Yes
+                  </code>
+                </div>
+              </div>
+              <div
+                class="emotion-62"
+              >
+                <div
+                  class="emotion-8 emotion-129"
+                >
+                  Raw value
+                </div>
+                <div
+                  class="emotion-130 emotion-131"
+                  data-testid="atom-parsed-value"
+                  translate="no"
+                >
+                  <button
+                    aria-label="Copy value"
+                    class="emotion-16 emotion-17 emotion-134 emotion-135"
+                    type="button"
+                  >
+                    <svg
+                      fill="none"
+                      height="15"
+                      viewBox="0 0 15 15"
+                      width="15"
+                      xmlns="http://www.w3.org/2000/svg"
+                    >
+                      <path
+                        clip-rule="evenodd"
+                        d="M5 2V1H10V2H5ZM4.75 0C4.33579 0 4 0.335786 4 0.75V1H3.5C2.67157 1 2 1.67157 2 2.5V12.5C2 13.3284 2.67157 14 3.5 14H11.5C12.3284 14 13 13.3284 13 12.5V2.5C13 1.67157 12.3284 1 11.5 1H11V0.75C11 0.335786 10.6642 0 10.25 0H4.75ZM11 2V2.25C11 2.66421 10.6642 3 10.25 3H4.75C4.33579 3 4 2.66421 4 2.25V2H3.5C3.22386 2 3 2.22386 3 2.5V12.5C3 12.7761 3.22386 13 3.5 13H11.5C11.7761 13 12 12.7761 12 12.5V2.5C12 2.22386 11.7761 2 11.5 2H11Z"
+                        fill="currentColor"
+                        fill-rule="evenodd"
+                      />
+                    </svg>
+                  </button>
+                  <div
+                    class="emotion-136 emotion-137 emotion-138"
+                    dir="ltr"
+                    style="position: relative; --radix-scroll-area-corner-width: 0px; --radix-scroll-area-corner-height: 0px;"
+                  >
+                    <style>
+                      [data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}
+                    </style>
+                    <div
+                      class="emotion-139 emotion-140"
+                      data-radix-scroll-area-viewport=""
+                      style="overflow-x: scroll; overflow-y: scroll;"
+                    >
+                      <div
+                        style="min-width: 100%; display: table;"
+                      >
+                        <pre
+                          class="emotion-141 emotion-142 prism-code language-markdown"
+                          dir="ltr"
+                          style="color: rgb(33, 37, 41); background-color: rgba(248, 249, 250, 0.65);"
+                        >
+                          <div
+                            class="emotion-143 emotion-144 token-line"
+                          >
+                            <div
+                              class="emotion-145 emotion-144Content"
+                            >
+                              <span
+                                class="token plain"
+                              >
+                                0
+                              </span>
+                            </div>
+                          </div>
+                        </pre>
+                      </div>
+                    </div>
+                  </div>
+                </div>
+              </div>
+              <div
+                class="emotion-62"
+              >
+                <div
+                  class="emotion-8 emotion-149"
+                >
+                  Dependents
+                </div>
+                <ol
+                  class="emotion-150 emotion-151"
+                >
+                  <li
+                    class="emotion-152 emotion-153"
+                  >
+                    <div
+                      class="__mantine-ref-itemWrapper emotion-154 emotion-152Wrapper"
+                    >
+                      <span>
+                        <code
+                          class="emotion-115 emotion-116"
+                          data-testid="dependents-list-item-<unlabeled-atom>-0"
+                          dir="ltr"
+                        >
+                          &lt;unlabeled-atom&gt;
+                        </code>
+                      </span>
+                    </div>
+                  </li>
+                </ol>
+              </div>
+            </div>
+          </div>
+        </div>
+      </div>
+    </div>
+  </div>
+</div>
+`;
+
+exports[`DevTools - AtomViewer List of atoms should render atom viewer with correct atoms without provider 1`] = `
+.emotion-1 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  color: #000;
+  line-height: 1.55;
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale;
+  font-size: 16px;
+}
+
+.emotion-1 *,
+.emotion-1 *::before,
+.emotion-1 *::after {
+  box-sizing: border-box;
+}
+
+.emotion-2 {
+  -webkit-flex-direction: row;
+  -ms-flex-direction: row;
+  flex-direction: row;
+  position: fixed;
+  left: 0;
+  bottom: 0;
+  width: calc(100% - 20px);
+  border-color: #dee2e6;
+  border-width: 1px;
+  border-style: solid;
+  border-radius: 8px;
+  background: #fff;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-flex-direction: column;
+  -ms-flex-direction: column;
+  flex-direction: column;
+  z-index: 99999;
+  margin: 10px;
+  height: 370px;
+  max-height: 90%;
+}
+
+.emotion-3 {
+  width: 100%;
+  height: 5px;
+  cursor: row-resize;
+  z-index: 2;
+  position: absolute;
+  top: -2px;
+}
+
+.emotion-4 {
+  position: -webkit-sticky;
+  position: sticky;
+  top: 0;
+  z-index: 1;
+  width: 100%;
+}
+
+.emotion-5 {
+  padding: 10px;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-pack: justify;
+  -webkit-justify-content: space-between;
+  justify-content: space-between;
+}
+
+.emotion-7 {
+  box-sizing: border-box;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-flex-direction: row;
+  -ms-flex-direction: row;
+  flex-direction: row;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-flex-wrap: wrap;
+  -webkit-flex-wrap: wrap;
+  -ms-flex-wrap: wrap;
+  flex-wrap: wrap;
+  -webkit-box-pack: start;
+  -ms-flex-pack: start;
+  -webkit-justify-content: flex-start;
+  justify-content: flex-start;
+  gap: 16px;
+  margin-right: 10px;
+}
+
+.emotion-7>* {
+  box-sizing: border-box;
+  -webkit-box-flex: 0;
+  -webkit-flex-grow: 0;
+  -ms-flex-positive: 0;
+  flex-grow: 0;
+}
+
+.emotion-10 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: inherit;
+  font-size: inherit;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;
+  font-weight: 700;
+  font-size: 18px;
+  line-height: 1.45;
+  margin: 0;
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+}
+
+.emotion-10:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-10:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-12 {
+  -webkit-tap-highlight-color: transparent;
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  font-size: 9px;
+  height: 16px;
+  line-height: 14px;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  padding: 0 6.666666666666667px;
+  box-sizing: border-box;
+  display: -webkit-inline-box;
+  display: -webkit-inline-flex;
+  display: -ms-inline-flexbox;
+  display: inline-flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-pack: center;
+  -ms-flex-pack: center;
+  -webkit-justify-content: center;
+  justify-content: center;
+  width: auto;
+  text-transform: uppercase;
+  border-radius: 32px;
+  font-weight: 700;
+  letter-spacing: 0.25px;
+  cursor: inherit;
+  text-overflow: ellipsis;
+  overflow: hidden;
+  background: rgba(255, 244, 230, 1);
+  color: #fd7e14;
+  border: 1px solid transparent;
+}
+
+.emotion-12:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-12:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-13 {
+  white-space: nowrap;
+  overflow: hidden;
+  text-overflow: ellipsis;
+}
+
+.emotion-15 {
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+}
+
+.emotion-18 {
+  -webkit-tap-highlight-color: transparent;
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  cursor: pointer;
+  border: 0;
+  padding: 0;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  -ms-appearance: none;
+  appearance: none;
+  font-size: 16px;
+  background-color: transparent;
+  text-align: left;
+  color: #000;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  box-sizing: border-box;
+  border: 1px solid transparent;
+  background-color: #25262b;
+  color: #fff;
+  position: relative;
+  height: 28px;
+  min-height: 28px;
+  width: 28px;
+  min-width: 28px;
+  border-radius: 4px;
+  padding: 0;
+  line-height: 1;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-pack: center;
+  -ms-flex-pack: center;
+  -webkit-justify-content: center;
+  justify-content: center;
+}
+
+.emotion-18:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-18:focus:not(:focus-visible) {
+  outline: none;
+}
+
+@media (hover: hover) {
+  .emotion-18:hover {
+    background-color: #1A1B1E;
+  }
+}
+
+@media (hover: none) {
+  .emotion-18:active {
+    background-color: #1A1B1E;
+  }
+}
+
+.emotion-18:active {
+  -webkit-transform: scale(1);
+  -moz-transform: scale(1);
+  -ms-transform: scale(1);
+  transform: scale(1);
+}
+
+.emotion-18:disabled,
+.emotion-18[data-disabled] {
+  color: #ced4da;
+  cursor: not-allowed;
+  background-color: #f1f3f5;
+  border-color: #f1f3f5;
+  background-image: none;
+  pointer-events: none;
+}
+
+.emotion-18:disabled:active,
+.emotion-18[data-disabled]:active {
+  -webkit-transform: none;
+  -moz-transform: none;
+  -ms-transform: none;
+  transform: none;
+}
+
+.emotion-18[data-loading] {
+  pointer-events: none;
+}
+
+.emotion-18[data-loading]::before {
+  content: "";
+  position: absolute;
+  top: -1px;
+  left: -1px;
+  right: -1px;
+  bottom: -1px;
+  background-color: rgba(255, 255, 255, .5);
+  border-radius: 4px;
+  cursor: not-allowed;
+}
+
+.emotion-21 {
+  -webkit-tap-highlight-color: transparent;
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  cursor: pointer;
+  border: 0;
+  padding: 0;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  -ms-appearance: none;
+  appearance: none;
+  font-size: 16px;
+  background-color: transparent;
+  text-align: left;
+  color: #000;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  box-sizing: border-box;
+  border: 1px solid transparent;
+  background-color: transparent;
+  color: #868e96;
+  position: relative;
+  height: 28px;
+  min-height: 28px;
+  width: 28px;
+  min-width: 28px;
+  border-radius: 8px;
+  padding: 0;
+  line-height: 1;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-pack: center;
+  -ms-flex-pack: center;
+  -webkit-justify-content: center;
+  justify-content: center;
+  margin-left: 10px;
+}
+
+.emotion-21:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-21:focus:not(:focus-visible) {
+  outline: none;
+}
+
+@media (hover: hover) {
+  .emotion-21:hover {
+    background-color: rgba(248, 249, 250, 1);
+  }
+}
+
+@media (hover: none) {
+  .emotion-21:active {
+    background-color: rgba(248, 249, 250, 1);
+  }
+}
+
+.emotion-21:active {
+  -webkit-transform: scale(1);
+  -moz-transform: scale(1);
+  -ms-transform: scale(1);
+  transform: scale(1);
+}
+
+.emotion-21:disabled,
+.emotion-21[data-disabled] {
+  color: #ced4da;
+  cursor: not-allowed;
+  background-color: #f1f3f5;
+  border-color: #f1f3f5;
+  background-image: none;
+  pointer-events: none;
+}
+
+.emotion-21:disabled:active,
+.emotion-21[data-disabled]:active {
+  -webkit-transform: none;
+  -moz-transform: none;
+  -ms-transform: none;
+  transform: none;
+}
+
+.emotion-21[data-loading] {
+  pointer-events: none;
+}
+
+.emotion-21[data-loading]::before {
+  content: "";
+  position: absolute;
+  top: -1px;
+  left: -1px;
+  right: -1px;
+  bottom: -1px;
+  background-color: rgba(255, 255, 255, .5);
+  border-radius: 8px;
+  cursor: not-allowed;
+}
+
+.emotion-23 {
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-box-flex-wrap: wrap;
+  -webkit-flex-wrap: wrap;
+  -ms-flex-wrap: wrap;
+  flex-wrap: wrap;
+  -webkit-flex-direction: row;
+  -ms-flex-direction: row;
+  flex-direction: row;
+  -webkit-box-pack: start;
+  -ms-flex-pack: start;
+  -webkit-justify-content: flex-start;
+  justify-content: flex-start;
+  border-bottom: 2px solid #dee2e6;
+}
+
+.emotion-26 {
+  -webkit-tap-highlight-color: transparent;
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  cursor: pointer;
+  border: 0;
+  padding: 0;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  -ms-appearance: none;
+  appearance: none;
+  font-size: 16px;
+  background-color: transparent;
+  text-align: left;
+  color: #000;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  box-sizing: border-box;
+  position: relative;
+  padding: 10px 16px;
+  padding-left: 10px;
+  font-size: 14px;
+  white-space: nowrap;
+  z-index: 0;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-pack: center;
+  -ms-flex-pack: center;
+  -webkit-justify-content: center;
+  justify-content: center;
+  line-height: 1;
+  border-bottom: 2px solid transparent;
+  margin-bottom: -2px;
+  border-radius: 4px 4px 0 0;
+}
+
+.emotion-26:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-26:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-26:disabled {
+  opacity: 0.5;
+  cursor: not-allowed;
+}
+
+@media (hover: hover) {
+  .emotion-26:disabled:hover {
+    background-color: transparent;
+  }
+}
+
+@media (hover: none) {
+  .emotion-26:disabled:active {
+    background-color: transparent;
+  }
+}
+
+.emotion-26:focus {
+  z-index: 1;
+}
+
+@media (hover: hover) {
+  .emotion-26:hover {
+    background-color: #f8f9fa;
+    border-color: #dee2e6;
+  }
+}
+
+@media (hover: none) {
+  .emotion-26:active {
+    background-color: #f8f9fa;
+    border-color: #dee2e6;
+  }
+}
+
+.emotion-26[data-active] {
+  border-color: #25262b;
+  color: #000;
+}
+
+@media (hover: hover) {
+  .emotion-26[data-active]:hover {
+    border-color: #25262b;
+  }
+}
+
+@media (hover: none) {
+  .emotion-26[data-active]:active {
+    border-color: #25262b;
+  }
+}
+
+.emotion-27 {
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-box-pack: center;
+  -ms-flex-pack: center;
+  -webkit-justify-content: center;
+  justify-content: center;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+}
+
+.emotion-27:not(:only-child) {
+  margin-right: 7px;
+}
+
+.emotion-32 {
+  height: 100%;
+  overflow: hidden;
+  border-bottom-left-radius: 7px;
+  border-bottom-right-radius: 7px;
+}
+
+.emotion-33 {
+  padding: 10px;
+  padding-top: 0;
+  height: 100%;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-flex-direction: column;
+  -ms-flex-direction: column;
+  flex-direction: column;
+  background: #e9ecef;
+}
+
+.emotion-36 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  line-height: 1.55;
+  position: -webkit-sticky;
+  position: sticky;
+  top: 0;
+  padding-top: 10px;
+  padding-bottom: 10px;
+}
+
+.emotion-39 {
+  display: inline-block;
+  font-size: 14px;
+  font-weight: 500;
+  color: #212529;
+  word-break: break-word;
+  cursor: default;
+  -webkit-tap-highlight-color: transparent;
+}
+
+.emotion-42 {
+  position: relative;
+}
+
+.emotion-45 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  height: 36px;
+  -webkit-tap-highlight-color: transparent;
+  line-height: 34px;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  -ms-appearance: none;
+  appearance: none;
+  resize: none;
+  box-sizing: border-box;
+  font-size: 14px;
+  width: 100%;
+  color: #000;
+  display: block;
+  text-align: left;
+  min-height: 36px;
+  padding-left: 12px;
+  padding-right: 12px;
+  border-radius: 4px;
+  border: 1px solid #ced4da;
+  background-color: #fff;
+  -webkit-transition: border-color 100ms ease;
+  transition: border-color 100ms ease;
+}
+
+.emotion-45:disabled {
+  background-color: #f1f3f5;
+  color: #909296;
+  opacity: 0.6;
+  cursor: not-allowed;
+}
+
+.emotion-45:disabled::-webkit-input-placeholder {
+  color: #909296;
+}
+
+.emotion-45:disabled::-moz-placeholder {
+  color: #909296;
+}
+
+.emotion-45:disabled:-ms-input-placeholder {
+  color: #909296;
+}
+
+.emotion-45:disabled::placeholder {
+  color: #909296;
+}
+
+.emotion-45::-webkit-input-placeholder {
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+  color: #adb5bd;
+  opacity: 1;
+}
+
+.emotion-45::-moz-placeholder {
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+  color: #adb5bd;
+  opacity: 1;
+}
+
+.emotion-45:-ms-input-placeholder {
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+  color: #adb5bd;
+  opacity: 1;
+}
+
+.emotion-45::placeholder {
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+  color: #adb5bd;
+  opacity: 1;
+}
+
+.emotion-45::-webkit-inner-spin-button,
+.emotion-45::-webkit-outer-spin-button,
+.emotion-45::-webkit-search-decoration,
+.emotion-45::-webkit-search-cancel-button,
+.emotion-45::-webkit-search-results-button,
+.emotion-45::-webkit-search-results-decoration {
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  -ms-appearance: none;
+  appearance: none;
+}
+
+.emotion-45[type=number] {
+  -moz-appearance: textfield;
+}
+
+.emotion-45:focus,
+.emotion-45:focus-within {
+  outline: none;
+  border-color: #25262b;
+}
+
+.emotion-46 {
+  overflow: auto;
+}
+
+.emotion-49 {
+  -webkit-tap-highlight-color: transparent;
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  cursor: pointer;
+  border: 0;
+  padding: 0;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  -ms-appearance: none;
+  appearance: none;
+  font-size: 16px;
+  background-color: transparent;
+  text-align: left;
+  color: #000;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  box-sizing: border-box;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  width: 100%;
+  padding: 8px 12px;
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+  border-radius: 5px;
+}
+
+.emotion-49:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-49:focus:not(:focus-visible) {
+  outline: none;
+}
+
+@media (hover: hover) {
+  .emotion-49:hover {
+    background-color: #f8f9fa;
+  }
+}
+
+@media (hover: none) {
+  .emotion-49:active {
+    background-color: #f8f9fa;
+  }
+}
+
+.emotion-49[data-active] {
+  background-color: #25262b;
+  color: #fff;
+}
+
+@media (hover: hover) {
+  .emotion-49[data-active]:hover {
+    background-color: #1A1B1E;
+  }
+}
+
+@media (hover: none) {
+  .emotion-49[data-active]:active {
+    background-color: #1A1B1E;
+  }
+}
+
+.emotion-49[data-disabled] {
+  opacity: 0.4;
+  pointer-events: none;
+}
+
+.emotion-50 {
+  -webkit-flex: 1;
+  -ms-flex: 1;
+  flex: 1;
+  overflow: hidden;
+  text-overflow: ellipsis;
+}
+
+.emotion-54 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: inherit;
+  font-size: 14px;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+}
+
+.emotion-54:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-54:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-56 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: inherit;
+  font-size: inherit;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  font-family: JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;
+}
+
+.emotion-56:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-56:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-59 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: #868e96;
+  font-size: 12px;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  display: block;
+}
+
+.emotion-59:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-59:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-59[data-active] {
+  color: inherit;
+}
+
+.emotion-60 {
+  margin-left: 12px;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-box-pack: center;
+  -ms-flex-pack: center;
+  -webkit-justify-content: center;
+  justify-content: center;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-transition: -webkit-transform 150ms ease;
+  transition: transform 150ms ease;
+}
+
+.emotion-60[data-rotate] {
+  -webkit-transform: rotate(90deg);
+  -moz-transform: rotate(90deg);
+  -ms-transform: rotate(90deg);
+  transform: rotate(90deg);
+}
+
+.emotion-63 {
+  padding-left: 20px;
+}
+
+.emotion-83 {
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  padding: 5;
+  height: 100%;
+}
+
+.emotion-83 ._jotai-devtools-internal-panel-resize-handle {
+  -webkit-transition: max-height,min-height,height,0.2s ease-out;
+  transition: max-height,min-height,height,0.2s ease-out;
+}
+
+[data-resize-handle-active] .emotion-83 ._jotai-devtools-internal-panel-resize-handle,
+.emotion-83:hover ._jotai-devtools-internal-panel-resize-handle {
+  height: 90%;
+  min-height: 90%;
+  max-height: 90%;
+}
+
+.emotion-84 {
+  border-radius: 2rem;
+  vertical-align: middle;
+  margin: 5px;
+  background: #dee2e6;
+  width: 5px;
+  height: 20%;
+  min-height: 50px;
+  max-height: 100px;
+}
+
+.emotion-85 {
+  padding: 10px;
+  height: 100%;
+  position: relative;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-flex-direction: column;
+  -ms-flex-direction: column;
+  flex-direction: column;
+}
+
+.emotion-86 {
+  position: relative;
+  top: 50%;
+  -webkit-transform: translateY(-50%);
+  -moz-transform: translateY(-50%);
+  -ms-transform: translateY(-50%);
+  transform: translateY(-50%);
+}
+
+.emotion-88 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: inherit;
+  font-size: inherit;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  text-align: center;
+  width: 100%;
+}
+
+.emotion-88:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-88:focus:not(:focus-visible) {
+  outline: none;
+}
+
+<div>
+  <div
+    class="emotion-0 emotion-1 emotion-2"
+    data-testid="emotion-1"
+  >
+    <div
+      class="emotion-3"
+      data-testid="shell-resize-bar"
+    />
+    <div
+      class="emotion-4"
+    >
+      <div
+        class="emotion-5"
+      >
+        <div
+          class="emotion-6 emotion-7"
+        >
+          <h1
+            class="emotion-8 emotion-9 emotion-10"
+          >
+            πŸ‘» Jōtai DevTools
+          </h1>
+          <div
+            class="emotion-11 emotion-12"
+          >
+            <span
+              class="emotion-13 emotion-14"
+            >
+              Alpha
+            </span>
+          </div>
+        </div>
+        <div
+          class="emotion-15"
+        >
+          <button
+            class="emotion-16 emotion-17 emotion-18"
+            title="Toggle color scheme"
+            type="button"
+          >
+            <svg
+              class="icon icon-tabler icon-tabler-moon-stars"
+              fill="none"
+              height="16"
+              stroke="currentColor"
+              stroke-linecap="round"
+              stroke-linejoin="round"
+              stroke-width="2"
+              viewBox="0 0 24 24"
+              width="16"
+              xmlns="http://www.w3.org/2000/svg"
+            >
+              <path
+                d="M0 0h24v24H0z"
+                fill="none"
+                stroke="none"
+              />
+              <path
+                d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z"
+              />
+              <path
+                d="M17 4a2 2 0 0 0 2 2a2 2 0 0 0 -2 2a2 2 0 0 0 -2 -2a2 2 0 0 0 2 -2"
+              />
+              <path
+                d="M19 11h2m-1 -1v2"
+              />
+            </svg>
+          </button>
+          <button
+            class="emotion-16 emotion-17 emotion-21"
+            title="Minimize panel"
+            type="button"
+          >
+            <svg
+              class="icon icon-tabler icon-tabler-minus"
+              fill="none"
+              height="16"
+              stroke="currentColor"
+              stroke-linecap="round"
+              stroke-linejoin="round"
+              stroke-width="2"
+              viewBox="0 0 24 24"
+              width="16"
+              xmlns="http://www.w3.org/2000/svg"
+            >
+              <path
+                d="M0 0h24v24H0z"
+                fill="none"
+                stroke="none"
+              />
+              <line
+                x1="5"
+                x2="19"
+                y1="12"
+                y2="12"
+              />
+            </svg>
+          </button>
+        </div>
+      </div>
+    </div>
+    <div
+      aria-orientation="horizontal"
+      class="emotion-22 emotion-23"
+      role="tablist"
+    >
+      <button
+        aria-controls="mantine-rd-panel-atom-viewer"
+        aria-selected="true"
+        class="emotion-16 emotion-25 emotion-26"
+        data-active="true"
+        id="mantine-rd-tab-atom-viewer"
+        role="tab"
+        tabindex="0"
+        type="button"
+      >
+        <div
+          class="emotion-27 emotion-25Icon"
+        >
+          <svg
+            class="icon icon-tabler icon-tabler-layout-list"
+            fill="none"
+            height="14"
+            stroke="currentColor"
+            stroke-linecap="round"
+            stroke-linejoin="round"
+            stroke-width="2"
+            viewBox="0 0 24 24"
+            width="14"
+            xmlns="http://www.w3.org/2000/svg"
+          >
+            <path
+              d="M0 0h24v24H0z"
+              fill="none"
+              stroke="none"
+            />
+            <rect
+              height="6"
+              rx="2"
+              width="16"
+              x="4"
+              y="4"
+            />
+            <rect
+              height="6"
+              rx="2"
+              width="16"
+              x="4"
+              y="14"
+            />
+          </svg>
+        </div>
+        <div
+          class="emotion-29 emotion-25Label"
+        >
+          Atom Viewer
+        </div>
+      </button>
+    </div>
+    <div
+      aria-labelledby="mantine-rd-tab-atom-viewer"
+      class="emotion-31 emotion-32"
+      id="mantine-rd-panel-atom-viewer"
+      role="tabpanel"
+    >
+      <div
+        class=""
+        data-panel-group=""
+        data-panel-group-direction="horizontal"
+        data-panel-group-id=":rf:"
+        style="display: flex; flex-direction: row; height: 100%; overflow: hidden; width: 100%;"
+      >
+        <div
+          class=""
+          data-panel=""
+          data-panel-id=":rh:"
+          data-panel-size="50.0"
+          id="data-panel-id-:rh:"
+          style="flex-basis: 0px; flex-grow: 50; flex-shrink: 1; overflow: auto;"
+        >
+          <div
+            class="emotion-33"
+          >
+            <div
+              class="emotion-34 emotion-35 emotion-36"
+            >
+              <label
+                class="emotion-37 emotion-38 emotion-39"
+                for="mantine-rj"
+                id="mantine-rj-label"
+              >
+                Search
+              </label>
+              <div
+                class="emotion-40 emotion-41 emotion-42"
+              >
+                <input
+                  aria-invalid="false"
+                  class="emotion-43 emotion-44 emotion-45"
+                  id="mantine-rj"
+                  placeholder="atom debug label"
+                  type="text"
+                  value=""
+                />
+              </div>
+            </div>
+            <div
+              class="emotion-46"
+            >
+              <button
+                class="emotion-16 emotion-48 emotion-49"
+                type="button"
+              >
+                <span
+                  class="emotion-50 emotion-51"
+                >
+                  <span
+                    class="emotion-8 emotion-53 emotion-54"
+                  >
+                    <div
+                      class="emotion-8 emotion-56"
+                    >
+                      countAtom
+                    </div>
+                  </span>
+                  <span
+                    class="emotion-8 emotion-58 emotion-59"
+                  />
+                </span>
+                <span
+                  class="emotion-60 emotion-61"
+                >
+                  <svg
+                    class="icon icon-tabler icon-tabler-chevron-right"
+                    fill="none"
+                    height="12"
+                    stroke="currentColor"
+                    stroke-linecap="round"
+                    stroke-linejoin="round"
+                    stroke-width="1.5"
+                    viewBox="0 0 24 24"
+                    width="12"
+                    xmlns="http://www.w3.org/2000/svg"
+                  >
+                    <path
+                      d="M0 0h24v24H0z"
+                      fill="none"
+                      stroke="none"
+                    />
+                    <polyline
+                      points="9 6 15 12 9 18"
+                    />
+                  </svg>
+                </span>
+              </button>
+              <div
+                aria-hidden="true"
+                class="emotion-62"
+                style="box-sizing: border-box; display: none; height: 0px; overflow: hidden;"
+              >
+                <div
+                  style="opacity: 0; transition: opacity 200ms ease;"
+                >
+                  <div
+                    class="emotion-63 emotion-64"
+                  />
+                </div>
+              </div>
+              <button
+                class="emotion-16 emotion-48 emotion-49"
+                type="button"
+              >
+                <span
+                  class="emotion-50 emotion-51"
+                >
+                  <span
+                    class="emotion-8 emotion-53 emotion-54"
+                  >
+                    <div
+                      class="emotion-8 emotion-56"
+                    >
+                      &lt;unlabeled-atom&gt;
+                    </div>
+                  </span>
+                  <span
+                    class="emotion-8 emotion-58 emotion-59"
+                  />
+                </span>
+                <span
+                  class="emotion-60 emotion-61"
+                >
+                  <svg
+                    class="icon icon-tabler icon-tabler-chevron-right"
+                    fill="none"
+                    height="12"
+                    stroke="currentColor"
+                    stroke-linecap="round"
+                    stroke-linejoin="round"
+                    stroke-width="1.5"
+                    viewBox="0 0 24 24"
+                    width="12"
+                    xmlns="http://www.w3.org/2000/svg"
+                  >
+                    <path
+                      d="M0 0h24v24H0z"
+                      fill="none"
+                      stroke="none"
+                    />
+                    <polyline
+                      points="9 6 15 12 9 18"
+                    />
+                  </svg>
+                </span>
+              </button>
+              <div
+                aria-hidden="true"
+                class="emotion-62"
+                style="box-sizing: border-box; display: none; height: 0px; overflow: hidden;"
+              >
+                <div
+                  style="opacity: 0; transition: opacity 200ms ease;"
+                >
+                  <div
+                    class="emotion-63 emotion-64"
+                  />
+                </div>
+              </div>
+            </div>
+          </div>
+        </div>
+        <div
+          aria-controls="data-panel-id-:rh:"
+          aria-valuemax="70"
+          aria-valuemin="30"
+          aria-valuenow="50"
+          class=""
+          data-panel-group-direction="horizontal"
+          data-panel-group-id=":rf:"
+          data-panel-resize-handle-enabled="true"
+          data-panel-resize-handle-id=":rl:"
+          role="separator"
+          style="cursor: col-resize; user-select: none;"
+          tabindex="0"
+        >
+          <div
+            class="emotion-83"
+          >
+            <div
+              class="_jotai-devtools-internal-panel-resize-handle emotion-84"
+            />
+          </div>
+        </div>
+        <div
+          class=""
+          data-panel=""
+          data-panel-id=":rn:"
+          data-panel-size="50.0"
+          id="data-panel-id-:rn:"
+          style="flex-basis: 0px; flex-grow: 50; flex-shrink: 1; overflow: auto;"
+        >
+          <div
+            class="emotion-85"
+          >
+            <div
+              class="emotion-86"
+            >
+              <div
+                class="emotion-8 emotion-88"
+              >
+                Select an atom from the left panel to view the details
+                 
+              </div>
+            </div>
+          </div>
+        </div>
+      </div>
+    </div>
+  </div>
+</div>
+`;
+
+exports[`DevTools - AtomViewer List of atoms should render atom viewer without any errors if there are no atoms 1`] = `
+.emotion-1 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  color: #000;
+  line-height: 1.55;
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale;
+  font-size: 16px;
+}
+
+.emotion-1 *,
+.emotion-1 *::before,
+.emotion-1 *::after {
+  box-sizing: border-box;
+}
+
+.emotion-2 {
+  -webkit-flex-direction: row;
+  -ms-flex-direction: row;
+  flex-direction: row;
+  position: fixed;
+  left: 0;
+  bottom: 0;
+  width: calc(100% - 20px);
+  border-color: #dee2e6;
+  border-width: 1px;
+  border-style: solid;
+  border-radius: 8px;
+  background: #fff;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-flex-direction: column;
+  -ms-flex-direction: column;
+  flex-direction: column;
+  z-index: 99999;
+  margin: 10px;
+  height: 370px;
+  max-height: 90%;
+}
+
+.emotion-3 {
+  width: 100%;
+  height: 5px;
+  cursor: row-resize;
+  z-index: 2;
+  position: absolute;
+  top: -2px;
+}
+
+.emotion-4 {
+  position: -webkit-sticky;
+  position: sticky;
+  top: 0;
+  z-index: 1;
+  width: 100%;
+}
+
+.emotion-5 {
+  padding: 10px;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-pack: justify;
+  -webkit-justify-content: space-between;
+  justify-content: space-between;
+}
+
+.emotion-7 {
+  box-sizing: border-box;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-flex-direction: row;
+  -ms-flex-direction: row;
+  flex-direction: row;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-flex-wrap: wrap;
+  -webkit-flex-wrap: wrap;
+  -ms-flex-wrap: wrap;
+  flex-wrap: wrap;
+  -webkit-box-pack: start;
+  -ms-flex-pack: start;
+  -webkit-justify-content: flex-start;
+  justify-content: flex-start;
+  gap: 16px;
+  margin-right: 10px;
+}
+
+.emotion-7>* {
+  box-sizing: border-box;
+  -webkit-box-flex: 0;
+  -webkit-flex-grow: 0;
+  -ms-flex-positive: 0;
+  flex-grow: 0;
+}
+
+.emotion-10 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: inherit;
+  font-size: inherit;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;
+  font-weight: 700;
+  font-size: 18px;
+  line-height: 1.45;
+  margin: 0;
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+}
+
+.emotion-10:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-10:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-12 {
+  -webkit-tap-highlight-color: transparent;
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  font-size: 9px;
+  height: 16px;
+  line-height: 14px;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  padding: 0 6.666666666666667px;
+  box-sizing: border-box;
+  display: -webkit-inline-box;
+  display: -webkit-inline-flex;
+  display: -ms-inline-flexbox;
+  display: inline-flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-pack: center;
+  -ms-flex-pack: center;
+  -webkit-justify-content: center;
+  justify-content: center;
+  width: auto;
+  text-transform: uppercase;
+  border-radius: 32px;
+  font-weight: 700;
+  letter-spacing: 0.25px;
+  cursor: inherit;
+  text-overflow: ellipsis;
+  overflow: hidden;
+  background: rgba(255, 244, 230, 1);
+  color: #fd7e14;
+  border: 1px solid transparent;
+}
+
+.emotion-12:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-12:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-13 {
+  white-space: nowrap;
+  overflow: hidden;
+  text-overflow: ellipsis;
+}
+
+.emotion-15 {
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+}
+
+.emotion-18 {
+  -webkit-tap-highlight-color: transparent;
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  cursor: pointer;
+  border: 0;
+  padding: 0;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  -ms-appearance: none;
+  appearance: none;
+  font-size: 16px;
+  background-color: transparent;
+  text-align: left;
+  color: #000;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  box-sizing: border-box;
+  border: 1px solid transparent;
+  background-color: #25262b;
+  color: #fff;
+  position: relative;
+  height: 28px;
+  min-height: 28px;
+  width: 28px;
+  min-width: 28px;
+  border-radius: 4px;
+  padding: 0;
+  line-height: 1;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-pack: center;
+  -ms-flex-pack: center;
+  -webkit-justify-content: center;
+  justify-content: center;
+}
+
+.emotion-18:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-18:focus:not(:focus-visible) {
+  outline: none;
+}
+
+@media (hover: hover) {
+  .emotion-18:hover {
+    background-color: #1A1B1E;
+  }
+}
+
+@media (hover: none) {
+  .emotion-18:active {
+    background-color: #1A1B1E;
+  }
+}
+
+.emotion-18:active {
+  -webkit-transform: scale(1);
+  -moz-transform: scale(1);
+  -ms-transform: scale(1);
+  transform: scale(1);
+}
+
+.emotion-18:disabled,
+.emotion-18[data-disabled] {
+  color: #ced4da;
+  cursor: not-allowed;
+  background-color: #f1f3f5;
+  border-color: #f1f3f5;
+  background-image: none;
+  pointer-events: none;
+}
+
+.emotion-18:disabled:active,
+.emotion-18[data-disabled]:active {
+  -webkit-transform: none;
+  -moz-transform: none;
+  -ms-transform: none;
+  transform: none;
+}
+
+.emotion-18[data-loading] {
+  pointer-events: none;
+}
+
+.emotion-18[data-loading]::before {
+  content: "";
+  position: absolute;
+  top: -1px;
+  left: -1px;
+  right: -1px;
+  bottom: -1px;
+  background-color: rgba(255, 255, 255, .5);
+  border-radius: 4px;
+  cursor: not-allowed;
+}
+
+.emotion-21 {
+  -webkit-tap-highlight-color: transparent;
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  cursor: pointer;
+  border: 0;
+  padding: 0;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  -ms-appearance: none;
+  appearance: none;
+  font-size: 16px;
+  background-color: transparent;
+  text-align: left;
+  color: #000;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  box-sizing: border-box;
+  border: 1px solid transparent;
+  background-color: transparent;
+  color: #868e96;
+  position: relative;
+  height: 28px;
+  min-height: 28px;
+  width: 28px;
+  min-width: 28px;
+  border-radius: 8px;
+  padding: 0;
+  line-height: 1;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-pack: center;
+  -ms-flex-pack: center;
+  -webkit-justify-content: center;
+  justify-content: center;
+  margin-left: 10px;
+}
+
+.emotion-21:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-21:focus:not(:focus-visible) {
+  outline: none;
+}
+
+@media (hover: hover) {
+  .emotion-21:hover {
+    background-color: rgba(248, 249, 250, 1);
+  }
+}
+
+@media (hover: none) {
+  .emotion-21:active {
+    background-color: rgba(248, 249, 250, 1);
+  }
+}
+
+.emotion-21:active {
+  -webkit-transform: scale(1);
+  -moz-transform: scale(1);
+  -ms-transform: scale(1);
+  transform: scale(1);
+}
+
+.emotion-21:disabled,
+.emotion-21[data-disabled] {
+  color: #ced4da;
+  cursor: not-allowed;
+  background-color: #f1f3f5;
+  border-color: #f1f3f5;
+  background-image: none;
+  pointer-events: none;
+}
+
+.emotion-21:disabled:active,
+.emotion-21[data-disabled]:active {
+  -webkit-transform: none;
+  -moz-transform: none;
+  -ms-transform: none;
+  transform: none;
+}
+
+.emotion-21[data-loading] {
+  pointer-events: none;
+}
+
+.emotion-21[data-loading]::before {
+  content: "";
+  position: absolute;
+  top: -1px;
+  left: -1px;
+  right: -1px;
+  bottom: -1px;
+  background-color: rgba(255, 255, 255, .5);
+  border-radius: 8px;
+  cursor: not-allowed;
+}
+
+.emotion-23 {
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-box-flex-wrap: wrap;
+  -webkit-flex-wrap: wrap;
+  -ms-flex-wrap: wrap;
+  flex-wrap: wrap;
+  -webkit-flex-direction: row;
+  -ms-flex-direction: row;
+  flex-direction: row;
+  -webkit-box-pack: start;
+  -ms-flex-pack: start;
+  -webkit-justify-content: flex-start;
+  justify-content: flex-start;
+  border-bottom: 2px solid #dee2e6;
+}
+
+.emotion-26 {
+  -webkit-tap-highlight-color: transparent;
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  cursor: pointer;
+  border: 0;
+  padding: 0;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  -ms-appearance: none;
+  appearance: none;
+  font-size: 16px;
+  background-color: transparent;
+  text-align: left;
+  color: #000;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  box-sizing: border-box;
+  position: relative;
+  padding: 10px 16px;
+  padding-left: 10px;
+  font-size: 14px;
+  white-space: nowrap;
+  z-index: 0;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-pack: center;
+  -ms-flex-pack: center;
+  -webkit-justify-content: center;
+  justify-content: center;
+  line-height: 1;
+  border-bottom: 2px solid transparent;
+  margin-bottom: -2px;
+  border-radius: 4px 4px 0 0;
+}
+
+.emotion-26:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-26:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-26:disabled {
+  opacity: 0.5;
+  cursor: not-allowed;
+}
+
+@media (hover: hover) {
+  .emotion-26:disabled:hover {
+    background-color: transparent;
+  }
+}
+
+@media (hover: none) {
+  .emotion-26:disabled:active {
+    background-color: transparent;
+  }
+}
+
+.emotion-26:focus {
+  z-index: 1;
+}
+
+@media (hover: hover) {
+  .emotion-26:hover {
+    background-color: #f8f9fa;
+    border-color: #dee2e6;
+  }
+}
+
+@media (hover: none) {
+  .emotion-26:active {
+    background-color: #f8f9fa;
+    border-color: #dee2e6;
+  }
+}
+
+.emotion-26[data-active] {
+  border-color: #25262b;
+  color: #000;
+}
+
+@media (hover: hover) {
+  .emotion-26[data-active]:hover {
+    border-color: #25262b;
+  }
+}
+
+@media (hover: none) {
+  .emotion-26[data-active]:active {
+    border-color: #25262b;
+  }
+}
+
+.emotion-27 {
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-box-pack: center;
+  -ms-flex-pack: center;
+  -webkit-justify-content: center;
+  justify-content: center;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+}
+
+.emotion-27:not(:only-child) {
+  margin-right: 7px;
+}
+
+.emotion-32 {
+  height: 100%;
+  overflow: hidden;
+  border-bottom-left-radius: 7px;
+  border-bottom-right-radius: 7px;
+}
+
+.emotion-33 {
+  padding: 10px;
+  padding-top: 0;
+  height: 100%;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-flex-direction: column;
+  -ms-flex-direction: column;
+  flex-direction: column;
+  background: #e9ecef;
+}
+
+.emotion-36 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  line-height: 1.55;
+  position: -webkit-sticky;
+  position: sticky;
+  top: 0;
+  padding-top: 10px;
+  padding-bottom: 10px;
+}
+
+.emotion-39 {
+  display: inline-block;
+  font-size: 14px;
+  font-weight: 500;
+  color: #212529;
+  word-break: break-word;
+  cursor: default;
+  -webkit-tap-highlight-color: transparent;
+}
+
+.emotion-42 {
+  position: relative;
+}
+
+.emotion-45 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  height: 36px;
+  -webkit-tap-highlight-color: transparent;
+  line-height: 34px;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  -ms-appearance: none;
+  appearance: none;
+  resize: none;
+  box-sizing: border-box;
+  font-size: 14px;
+  width: 100%;
+  color: #000;
+  display: block;
+  text-align: left;
+  min-height: 36px;
+  padding-left: 12px;
+  padding-right: 12px;
+  border-radius: 4px;
+  border: 1px solid #ced4da;
+  background-color: #fff;
+  -webkit-transition: border-color 100ms ease;
+  transition: border-color 100ms ease;
+}
+
+.emotion-45:disabled {
+  background-color: #f1f3f5;
+  color: #909296;
+  opacity: 0.6;
+  cursor: not-allowed;
+}
+
+.emotion-45:disabled::-webkit-input-placeholder {
+  color: #909296;
+}
+
+.emotion-45:disabled::-moz-placeholder {
+  color: #909296;
+}
+
+.emotion-45:disabled:-ms-input-placeholder {
+  color: #909296;
+}
+
+.emotion-45:disabled::placeholder {
+  color: #909296;
+}
+
+.emotion-45::-webkit-input-placeholder {
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+  color: #adb5bd;
+  opacity: 1;
+}
+
+.emotion-45::-moz-placeholder {
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+  color: #adb5bd;
+  opacity: 1;
+}
+
+.emotion-45:-ms-input-placeholder {
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+  color: #adb5bd;
+  opacity: 1;
+}
+
+.emotion-45::placeholder {
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+  color: #adb5bd;
+  opacity: 1;
+}
+
+.emotion-45::-webkit-inner-spin-button,
+.emotion-45::-webkit-outer-spin-button,
+.emotion-45::-webkit-search-decoration,
+.emotion-45::-webkit-search-cancel-button,
+.emotion-45::-webkit-search-results-button,
+.emotion-45::-webkit-search-results-decoration {
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  -ms-appearance: none;
+  appearance: none;
+}
+
+.emotion-45[type=number] {
+  -moz-appearance: textfield;
+}
+
+.emotion-45:focus,
+.emotion-45:focus-within {
+  outline: none;
+  border-color: #25262b;
+}
+
+.emotion-46 {
+  overflow: auto;
+}
+
+.emotion-48 {
+  box-sizing: border-box;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-flex-direction: row;
+  -ms-flex-direction: row;
+  flex-direction: row;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-flex-wrap: wrap;
+  -webkit-flex-wrap: wrap;
+  -ms-flex-wrap: wrap;
+  flex-wrap: wrap;
+  -webkit-box-pack: center;
+  -ms-flex-pack: center;
+  -webkit-justify-content: center;
+  justify-content: center;
+  gap: 16px;
+  margin-top: 20px;
+}
+
+.emotion-48>* {
+  box-sizing: border-box;
+  -webkit-box-flex: 0;
+  -webkit-flex-grow: 0;
+  -ms-flex-positive: 0;
+  flex-grow: 0;
+}
+
+.emotion-50 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: inherit;
+  font-size: inherit;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  margin-left: 0;
+  font-size: 14px;
+}
+
+.emotion-50:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-50:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-51 {
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  padding: 5;
+  height: 100%;
+}
+
+.emotion-51 ._jotai-devtools-internal-panel-resize-handle {
+  -webkit-transition: max-height,min-height,height,0.2s ease-out;
+  transition: max-height,min-height,height,0.2s ease-out;
+}
+
+[data-resize-handle-active] .emotion-51 ._jotai-devtools-internal-panel-resize-handle,
+.emotion-51:hover ._jotai-devtools-internal-panel-resize-handle {
+  height: 90%;
+  min-height: 90%;
+  max-height: 90%;
+}
+
+.emotion-52 {
+  border-radius: 2rem;
+  vertical-align: middle;
+  margin: 5px;
+  background: #dee2e6;
+  width: 5px;
+  height: 20%;
+  min-height: 50px;
+  max-height: 100px;
+}
+
+.emotion-53 {
+  padding: 10px;
+  height: 100%;
+  position: relative;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-flex-direction: column;
+  -ms-flex-direction: column;
+  flex-direction: column;
+}
+
+.emotion-54 {
+  position: relative;
+  top: 50%;
+  -webkit-transform: translateY(-50%);
+  -moz-transform: translateY(-50%);
+  -ms-transform: translateY(-50%);
+  transform: translateY(-50%);
+}
+
+.emotion-56 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: inherit;
+  font-size: inherit;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  text-align: center;
+  width: 100%;
+}
+
+.emotion-56:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-56:focus:not(:focus-visible) {
+  outline: none;
+}
+
+<div>
+  <div
+    class="emotion-0 emotion-1 emotion-2"
+    data-testid="emotion-1"
+  >
+    <div
+      class="emotion-3"
+      data-testid="shell-resize-bar"
+    />
+    <div
+      class="emotion-4"
+    >
+      <div
+        class="emotion-5"
+      >
+        <div
+          class="emotion-6 emotion-7"
+        >
+          <h1
+            class="emotion-8 emotion-9 emotion-10"
+          >
+            πŸ‘» Jōtai DevTools
+          </h1>
+          <div
+            class="emotion-11 emotion-12"
+          >
+            <span
+              class="emotion-13 emotion-14"
+            >
+              Alpha
+            </span>
+          </div>
+        </div>
+        <div
+          class="emotion-15"
+        >
+          <button
+            class="emotion-16 emotion-17 emotion-18"
+            title="Toggle color scheme"
+            type="button"
+          >
+            <svg
+              class="icon icon-tabler icon-tabler-moon-stars"
+              fill="none"
+              height="16"
+              stroke="currentColor"
+              stroke-linecap="round"
+              stroke-linejoin="round"
+              stroke-width="2"
+              viewBox="0 0 24 24"
+              width="16"
+              xmlns="http://www.w3.org/2000/svg"
+            >
+              <path
+                d="M0 0h24v24H0z"
+                fill="none"
+                stroke="none"
+              />
+              <path
+                d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z"
+              />
+              <path
+                d="M17 4a2 2 0 0 0 2 2a2 2 0 0 0 -2 2a2 2 0 0 0 -2 -2a2 2 0 0 0 2 -2"
+              />
+              <path
+                d="M19 11h2m-1 -1v2"
+              />
+            </svg>
+          </button>
+          <button
+            class="emotion-16 emotion-17 emotion-21"
+            title="Minimize panel"
+            type="button"
+          >
+            <svg
+              class="icon icon-tabler icon-tabler-minus"
+              fill="none"
+              height="16"
+              stroke="currentColor"
+              stroke-linecap="round"
+              stroke-linejoin="round"
+              stroke-width="2"
+              viewBox="0 0 24 24"
+              width="16"
+              xmlns="http://www.w3.org/2000/svg"
+            >
+              <path
+                d="M0 0h24v24H0z"
+                fill="none"
+                stroke="none"
+              />
+              <line
+                x1="5"
+                x2="19"
+                y1="12"
+                y2="12"
+              />
+            </svg>
+          </button>
+        </div>
+      </div>
+    </div>
+    <div
+      aria-orientation="horizontal"
+      class="emotion-22 emotion-23"
+      role="tablist"
+    >
+      <button
+        aria-controls="mantine-r1-panel-atom-viewer"
+        aria-selected="true"
+        class="emotion-16 emotion-25 emotion-26"
+        data-active="true"
+        id="mantine-r1-tab-atom-viewer"
+        role="tab"
+        tabindex="0"
+        type="button"
+      >
+        <div
+          class="emotion-27 emotion-25Icon"
+        >
+          <svg
+            class="icon icon-tabler icon-tabler-layout-list"
+            fill="none"
+            height="14"
+            stroke="currentColor"
+            stroke-linecap="round"
+            stroke-linejoin="round"
+            stroke-width="2"
+            viewBox="0 0 24 24"
+            width="14"
+            xmlns="http://www.w3.org/2000/svg"
+          >
+            <path
+              d="M0 0h24v24H0z"
+              fill="none"
+              stroke="none"
+            />
+            <rect
+              height="6"
+              rx="2"
+              width="16"
+              x="4"
+              y="4"
+            />
+            <rect
+              height="6"
+              rx="2"
+              width="16"
+              x="4"
+              y="14"
+            />
+          </svg>
+        </div>
+        <div
+          class="emotion-29 emotion-25Label"
+        >
+          Atom Viewer
+        </div>
+      </button>
+    </div>
+    <div
+      aria-labelledby="mantine-r1-tab-atom-viewer"
+      class="emotion-31 emotion-32"
+      id="mantine-r1-panel-atom-viewer"
+      role="tabpanel"
+    >
+      <div
+        class=""
+        data-panel-group=""
+        data-panel-group-direction="horizontal"
+        data-panel-group-id=":r3:"
+        style="display: flex; flex-direction: row; height: 100%; overflow: hidden; width: 100%;"
+      >
+        <div
+          class=""
+          data-panel=""
+          data-panel-id=":r5:"
+          data-panel-size="50.0"
+          id="data-panel-id-:r5:"
+          style="flex-basis: 0px; flex-grow: 50; flex-shrink: 1; overflow: auto;"
+        >
+          <div
+            class="emotion-33"
+          >
+            <div
+              class="emotion-34 emotion-35 emotion-36"
+            >
+              <label
+                class="emotion-37 emotion-38 emotion-39"
+                for="mantine-r7"
+                id="mantine-r7-label"
+              >
+                Search
+              </label>
+              <div
+                class="emotion-40 emotion-41 emotion-42"
+              >
+                <input
+                  aria-invalid="false"
+                  class="emotion-43 emotion-44 emotion-45"
+                  id="mantine-r7"
+                  placeholder="atom debug label"
+                  type="text"
+                  value=""
+                />
+              </div>
+            </div>
+            <div
+              class="emotion-46"
+            />
+            <div
+              class="emotion-6 emotion-48"
+            >
+              <svg
+                class="icon icon-tabler icon-tabler-alert-circle"
+                fill="none"
+                height="16"
+                stroke="currentColor"
+                stroke-linecap="round"
+                stroke-linejoin="round"
+                stroke-width="2"
+                viewBox="0 0 24 24"
+                width="16"
+                xmlns="http://www.w3.org/2000/svg"
+              >
+                <path
+                  d="M0 0h24v24H0z"
+                  fill="none"
+                  stroke="none"
+                />
+                <circle
+                  cx="12"
+                  cy="12"
+                  r="9"
+                />
+                <line
+                  x1="12"
+                  x2="12"
+                  y1="8"
+                  y2="12"
+                />
+                <line
+                  x1="12"
+                  x2="12.01"
+                  y1="16"
+                  y2="16"
+                />
+              </svg>
+              <div
+                class="emotion-8 emotion-50"
+                data-testid="atom-list-no-atoms-found-message"
+              >
+                No Atoms found!
+              </div>
+            </div>
+          </div>
+        </div>
+        <div
+          aria-controls="data-panel-id-:r5:"
+          aria-valuemax="70"
+          aria-valuemin="30"
+          aria-valuenow="50"
+          class=""
+          data-panel-group-direction="horizontal"
+          data-panel-group-id=":r3:"
+          data-panel-resize-handle-enabled="true"
+          data-panel-resize-handle-id=":r9:"
+          role="separator"
+          style="cursor: col-resize; user-select: none;"
+          tabindex="0"
+        >
+          <div
+            class="emotion-51"
+          >
+            <div
+              class="_jotai-devtools-internal-panel-resize-handle emotion-52"
+            />
+          </div>
+        </div>
+        <div
+          class=""
+          data-panel=""
+          data-panel-id=":rb:"
+          data-panel-size="50.0"
+          id="data-panel-id-:rb:"
+          style="flex-basis: 0px; flex-grow: 50; flex-shrink: 1; overflow: auto;"
+        >
+          <div
+            class="emotion-53"
+          >
+            <div
+              class="emotion-54"
+            >
+              <div
+                class="emotion-8 emotion-56"
+              >
+                Select an atom from the left panel to view the details
+                 
+              </div>
+            </div>
+          </div>
+        </div>
+      </div>
+    </div>
+  </div>
+</div>
+`;
diff --git a/__tests__/devtools/__snapshots__/basic.test.tsx.snap b/__tests__/devtools/__snapshots__/basic.test.tsx.snap
new file mode 100644
index 00000000..d846bfc5
--- /dev/null
+++ b/__tests__/devtools/__snapshots__/basic.test.tsx.snap
@@ -0,0 +1,1899 @@
+// Jest Snapshot v1, https://goo.gl/fbAQLP
+
+exports[`DevTools - basic Error boundary should display an error boundary with message if stack is not present 1`] = `
+.emotion-1 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  color: #000;
+  line-height: 1.55;
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale;
+  font-size: 16px;
+}
+
+.emotion-1 *,
+.emotion-1 *::before,
+.emotion-1 *::after {
+  box-sizing: border-box;
+}
+
+.emotion-2 {
+  -webkit-flex-direction: row;
+  -ms-flex-direction: row;
+  flex-direction: row;
+  position: fixed;
+  left: 0;
+  bottom: 0;
+  width: calc(100% - 20px);
+  border-color: #dee2e6;
+  border-width: 1px;
+  border-style: solid;
+  border-radius: 8px;
+  background: #fff;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-flex-direction: column;
+  -ms-flex-direction: column;
+  flex-direction: column;
+  z-index: 99999;
+  margin: 10px;
+  height: 370px;
+  max-height: 90%;
+}
+
+.emotion-3 {
+  width: 100%;
+  height: 5px;
+  cursor: row-resize;
+  z-index: 2;
+  position: absolute;
+  top: -2px;
+}
+
+.emotion-4 {
+  position: -webkit-sticky;
+  position: sticky;
+  top: 0;
+  z-index: 1;
+  width: 100%;
+}
+
+.emotion-5 {
+  padding: 10px;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-pack: justify;
+  -webkit-justify-content: space-between;
+  justify-content: space-between;
+}
+
+.emotion-7 {
+  box-sizing: border-box;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-flex-direction: row;
+  -ms-flex-direction: row;
+  flex-direction: row;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-flex-wrap: wrap;
+  -webkit-flex-wrap: wrap;
+  -ms-flex-wrap: wrap;
+  flex-wrap: wrap;
+  -webkit-box-pack: start;
+  -ms-flex-pack: start;
+  -webkit-justify-content: flex-start;
+  justify-content: flex-start;
+  gap: 16px;
+  margin-right: 10px;
+}
+
+.emotion-7>* {
+  box-sizing: border-box;
+  -webkit-box-flex: 0;
+  -webkit-flex-grow: 0;
+  -ms-flex-positive: 0;
+  flex-grow: 0;
+}
+
+.emotion-10 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: inherit;
+  font-size: inherit;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;
+  font-weight: 700;
+  font-size: 18px;
+  line-height: 1.45;
+  margin: 0;
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+}
+
+.emotion-10:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-10:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-12 {
+  -webkit-tap-highlight-color: transparent;
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  font-size: 9px;
+  height: 16px;
+  line-height: 14px;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  padding: 0 6.666666666666667px;
+  box-sizing: border-box;
+  display: -webkit-inline-box;
+  display: -webkit-inline-flex;
+  display: -ms-inline-flexbox;
+  display: inline-flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-pack: center;
+  -ms-flex-pack: center;
+  -webkit-justify-content: center;
+  justify-content: center;
+  width: auto;
+  text-transform: uppercase;
+  border-radius: 32px;
+  font-weight: 700;
+  letter-spacing: 0.25px;
+  cursor: inherit;
+  text-overflow: ellipsis;
+  overflow: hidden;
+  background: rgba(255, 244, 230, 1);
+  color: #fd7e14;
+  border: 1px solid transparent;
+}
+
+.emotion-12:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-12:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-13 {
+  white-space: nowrap;
+  overflow: hidden;
+  text-overflow: ellipsis;
+}
+
+.emotion-15 {
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+}
+
+.emotion-18 {
+  -webkit-tap-highlight-color: transparent;
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  cursor: pointer;
+  border: 0;
+  padding: 0;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  -ms-appearance: none;
+  appearance: none;
+  font-size: 16px;
+  background-color: transparent;
+  text-align: left;
+  color: #000;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  box-sizing: border-box;
+  border: 1px solid transparent;
+  background-color: #25262b;
+  color: #fff;
+  position: relative;
+  height: 28px;
+  min-height: 28px;
+  width: 28px;
+  min-width: 28px;
+  border-radius: 4px;
+  padding: 0;
+  line-height: 1;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-pack: center;
+  -ms-flex-pack: center;
+  -webkit-justify-content: center;
+  justify-content: center;
+}
+
+.emotion-18:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-18:focus:not(:focus-visible) {
+  outline: none;
+}
+
+@media (hover: hover) {
+  .emotion-18:hover {
+    background-color: #1A1B1E;
+  }
+}
+
+@media (hover: none) {
+  .emotion-18:active {
+    background-color: #1A1B1E;
+  }
+}
+
+.emotion-18:active {
+  -webkit-transform: scale(1);
+  -moz-transform: scale(1);
+  -ms-transform: scale(1);
+  transform: scale(1);
+}
+
+.emotion-18:disabled,
+.emotion-18[data-disabled] {
+  color: #ced4da;
+  cursor: not-allowed;
+  background-color: #f1f3f5;
+  border-color: #f1f3f5;
+  background-image: none;
+  pointer-events: none;
+}
+
+.emotion-18:disabled:active,
+.emotion-18[data-disabled]:active {
+  -webkit-transform: none;
+  -moz-transform: none;
+  -ms-transform: none;
+  transform: none;
+}
+
+.emotion-18[data-loading] {
+  pointer-events: none;
+}
+
+.emotion-18[data-loading]::before {
+  content: "";
+  position: absolute;
+  top: -1px;
+  left: -1px;
+  right: -1px;
+  bottom: -1px;
+  background-color: rgba(255, 255, 255, .5);
+  border-radius: 4px;
+  cursor: not-allowed;
+}
+
+.emotion-21 {
+  -webkit-tap-highlight-color: transparent;
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  cursor: pointer;
+  border: 0;
+  padding: 0;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  -ms-appearance: none;
+  appearance: none;
+  font-size: 16px;
+  background-color: transparent;
+  text-align: left;
+  color: #000;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  box-sizing: border-box;
+  border: 1px solid transparent;
+  background-color: transparent;
+  color: #868e96;
+  position: relative;
+  height: 28px;
+  min-height: 28px;
+  width: 28px;
+  min-width: 28px;
+  border-radius: 8px;
+  padding: 0;
+  line-height: 1;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-pack: center;
+  -ms-flex-pack: center;
+  -webkit-justify-content: center;
+  justify-content: center;
+  margin-left: 10px;
+}
+
+.emotion-21:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-21:focus:not(:focus-visible) {
+  outline: none;
+}
+
+@media (hover: hover) {
+  .emotion-21:hover {
+    background-color: rgba(248, 249, 250, 1);
+  }
+}
+
+@media (hover: none) {
+  .emotion-21:active {
+    background-color: rgba(248, 249, 250, 1);
+  }
+}
+
+.emotion-21:active {
+  -webkit-transform: scale(1);
+  -moz-transform: scale(1);
+  -ms-transform: scale(1);
+  transform: scale(1);
+}
+
+.emotion-21:disabled,
+.emotion-21[data-disabled] {
+  color: #ced4da;
+  cursor: not-allowed;
+  background-color: #f1f3f5;
+  border-color: #f1f3f5;
+  background-image: none;
+  pointer-events: none;
+}
+
+.emotion-21:disabled:active,
+.emotion-21[data-disabled]:active {
+  -webkit-transform: none;
+  -moz-transform: none;
+  -ms-transform: none;
+  transform: none;
+}
+
+.emotion-21[data-loading] {
+  pointer-events: none;
+}
+
+.emotion-21[data-loading]::before {
+  content: "";
+  position: absolute;
+  top: -1px;
+  left: -1px;
+  right: -1px;
+  bottom: -1px;
+  background-color: rgba(255, 255, 255, .5);
+  border-radius: 8px;
+  cursor: not-allowed;
+}
+
+.emotion-22 {
+  height: 90%;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-pack: center;
+  -ms-flex-pack: center;
+  -webkit-justify-content: center;
+  justify-content: center;
+  overflow: scroll;
+}
+
+.emotion-23 {
+  width: 100%;
+  max-width: 80%;
+  max-height: 80%;
+}
+
+.emotion-25 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: #e03131;
+  font-size: 16px;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  margin-bottom: 5px;
+  font-weight: 500;
+}
+
+.emotion-25:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-25:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-27 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: inherit;
+  font-size: inherit;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  margin-right: 5px;
+}
+
+.emotion-27:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-27:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-29 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: #e03131;
+  font-size: 14px;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  margin-bottom: 12px;
+}
+
+.emotion-29:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-29:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-32 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: #e03131;
+  font-size: inherit;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  background-color: transparent;
+  cursor: pointer;
+  padding: 0;
+  border: 0;
+  -webkit-text-decoration: underline;
+  text-decoration: underline;
+}
+
+.emotion-32:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-32:focus:not(:focus-visible) {
+  outline: none;
+}
+
+@media (hover: hover) {
+  .emotion-32:hover {
+    -webkit-text-decoration: underline;
+    text-decoration: underline;
+  }
+}
+
+@media (hover: none) {
+  .emotion-32:active {
+    -webkit-text-decoration: underline;
+    text-decoration: underline;
+  }
+}
+
+.emotion-34 {
+  position: relative;
+}
+
+.emotion-38 {
+  -webkit-tap-highlight-color: transparent;
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  cursor: pointer;
+  border: 0;
+  padding: 0;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  -ms-appearance: none;
+  appearance: none;
+  font-size: 16px;
+  background-color: transparent;
+  text-align: left;
+  color: #000;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  box-sizing: border-box;
+  border: 1px solid transparent;
+  background-color: transparent;
+  color: #868e96;
+  position: relative;
+  height: 28px;
+  min-height: 28px;
+  width: 28px;
+  min-width: 28px;
+  border-radius: 4px;
+  padding: 0;
+  line-height: 1;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-pack: center;
+  -ms-flex-pack: center;
+  -webkit-justify-content: center;
+  justify-content: center;
+  position: absolute;
+  top: 10px;
+  right: 10px;
+  left: unset;
+  z-index: 2;
+}
+
+.emotion-38:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-38:focus:not(:focus-visible) {
+  outline: none;
+}
+
+@media (hover: hover) {
+  .emotion-38:hover {
+    background-color: rgba(248, 249, 250, 1);
+  }
+}
+
+@media (hover: none) {
+  .emotion-38:active {
+    background-color: rgba(248, 249, 250, 1);
+  }
+}
+
+.emotion-38:active {
+  -webkit-transform: scale(1);
+  -moz-transform: scale(1);
+  -ms-transform: scale(1);
+  transform: scale(1);
+}
+
+.emotion-38:disabled,
+.emotion-38[data-disabled] {
+  color: #ced4da;
+  cursor: not-allowed;
+  background-color: #f1f3f5;
+  border-color: #f1f3f5;
+  background-image: none;
+  pointer-events: none;
+}
+
+.emotion-38:disabled:active,
+.emotion-38[data-disabled]:active {
+  -webkit-transform: none;
+  -moz-transform: none;
+  -ms-transform: none;
+  transform: none;
+}
+
+.emotion-38[data-loading] {
+  pointer-events: none;
+}
+
+.emotion-38[data-loading]::before {
+  content: "";
+  position: absolute;
+  top: -1px;
+  left: -1px;
+  right: -1px;
+  bottom: -1px;
+  background-color: rgba(255, 255, 255, .5);
+  border-radius: 4px;
+  cursor: not-allowed;
+}
+
+.emotion-38,
+.emotion-38:hover {
+  background-color: #f8f9fa;
+}
+
+.emotion-41 {
+  overflow: hidden;
+}
+
+.emotion-42 {
+  width: 100%;
+  height: 100%;
+}
+
+.emotion-44 {
+  box-sizing: border-box;
+  position: relative;
+  font-family: JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;
+  line-height: 1.7;
+  font-size: 13px;
+  border-radius: 4px;
+  padding: 12px 0;
+  margin-top: 0;
+  margin-bottom: 0;
+}
+
+.emotion-46 {
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  width: 100%;
+  padding: 0 16px;
+}
+
+.emotion-48 {
+  width: 100%;
+}
+
+<div>
+  <div
+    class="emotion-0 emotion-1 emotion-2"
+    data-testid="emotion-1"
+  >
+    <div
+      class="emotion-3"
+      data-testid="shell-resize-bar"
+    />
+    <div
+      class="emotion-4"
+    >
+      <div
+        class="emotion-5"
+      >
+        <div
+          class="emotion-6 emotion-7"
+        >
+          <h1
+            class="emotion-8 emotion-9 emotion-10"
+          >
+            πŸ‘» Jōtai DevTools
+          </h1>
+          <div
+            class="emotion-11 emotion-12"
+          >
+            <span
+              class="emotion-13 emotion-14"
+            >
+              Alpha
+            </span>
+          </div>
+        </div>
+        <div
+          class="emotion-15"
+        >
+          <button
+            class="emotion-16 emotion-17 emotion-18"
+            title="Toggle color scheme"
+            type="button"
+          >
+            <svg
+              class="icon icon-tabler icon-tabler-moon-stars"
+              fill="none"
+              height="16"
+              stroke="currentColor"
+              stroke-linecap="round"
+              stroke-linejoin="round"
+              stroke-width="2"
+              viewBox="0 0 24 24"
+              width="16"
+              xmlns="http://www.w3.org/2000/svg"
+            >
+              <path
+                d="M0 0h24v24H0z"
+                fill="none"
+                stroke="none"
+              />
+              <path
+                d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z"
+              />
+              <path
+                d="M17 4a2 2 0 0 0 2 2a2 2 0 0 0 -2 2a2 2 0 0 0 -2 -2a2 2 0 0 0 2 -2"
+              />
+              <path
+                d="M19 11h2m-1 -1v2"
+              />
+            </svg>
+          </button>
+          <button
+            class="emotion-16 emotion-17 emotion-21"
+            title="Minimize panel"
+            type="button"
+          >
+            <svg
+              class="icon icon-tabler icon-tabler-minus"
+              fill="none"
+              height="16"
+              stroke="currentColor"
+              stroke-linecap="round"
+              stroke-linejoin="round"
+              stroke-width="2"
+              viewBox="0 0 24 24"
+              width="16"
+              xmlns="http://www.w3.org/2000/svg"
+            >
+              <path
+                d="M0 0h24v24H0z"
+                fill="none"
+                stroke="none"
+              />
+              <line
+                x1="5"
+                x2="19"
+                y1="12"
+                y2="12"
+              />
+            </svg>
+          </button>
+        </div>
+      </div>
+    </div>
+    <div
+      class="emotion-22"
+      data-testid="jotai-devtools-error-boundary"
+      role="alert"
+    >
+      <div
+        class="emotion-23"
+      >
+        <div
+          class="emotion-8 emotion-25"
+        >
+          <div
+            class="emotion-8 emotion-27"
+          >
+            <svg
+              class="icon icon-tabler icon-tabler-alert-circle"
+              fill="none"
+              height="16"
+              stroke="currentColor"
+              stroke-linecap="round"
+              stroke-linejoin="round"
+              stroke-width="2"
+              viewBox="0 0 24 24"
+              width="16"
+              xmlns="http://www.w3.org/2000/svg"
+            >
+              <path
+                d="M0 0h24v24H0z"
+                fill="none"
+                stroke="none"
+              />
+              <circle
+                cx="12"
+                cy="12"
+                r="9"
+              />
+              <line
+                x1="12"
+                x2="12"
+                y1="8"
+                y2="12"
+              />
+              <line
+                x1="12"
+                x2="12.01"
+                y1="16"
+                y2="16"
+              />
+            </svg>
+          </div>
+          Uh-oh, something went wrong.
+        </div>
+        <div
+          class="emotion-8 emotion-29"
+        >
+          If you believe this to be a bug, please file an issue on
+           
+          <a
+            class="emotion-8 emotion-31 emotion-32"
+            href="https://github.com/jotaijs/jotai-devtools/issues"
+            rel="noreferrer noopener"
+            target="_blank"
+          >
+            Jotai DevTool's GitHub repo
+          </a>
+           
+          with a minimal reproduction and the following error
+        </div>
+        <div
+          class="emotion-33 emotion-34"
+          translate="no"
+        >
+          <button
+            aria-label="Copy code"
+            class="emotion-16 emotion-17 emotion-37 emotion-38"
+            type="button"
+          >
+            <svg
+              fill="none"
+              height="15"
+              viewBox="0 0 15 15"
+              width="15"
+              xmlns="http://www.w3.org/2000/svg"
+            >
+              <path
+                clip-rule="evenodd"
+                d="M5 2V1H10V2H5ZM4.75 0C4.33579 0 4 0.335786 4 0.75V1H3.5C2.67157 1 2 1.67157 2 2.5V12.5C2 13.3284 2.67157 14 3.5 14H11.5C12.3284 14 13 13.3284 13 12.5V2.5C13 1.67157 12.3284 1 11.5 1H11V0.75C11 0.335786 10.6642 0 10.25 0H4.75ZM11 2V2.25C11 2.66421 10.6642 3 10.25 3H4.75C4.33579 3 4 2.66421 4 2.25V2H3.5C3.22386 2 3 2.22386 3 2.5V12.5C3 12.7761 3.22386 13 3.5 13H11.5C11.7761 13 12 12.7761 12 12.5V2.5C12 2.22386 11.7761 2 11.5 2H11Z"
+                fill="currentColor"
+                fill-rule="evenodd"
+              />
+            </svg>
+          </button>
+          <div
+            class="emotion-39 emotion-40 emotion-41"
+            dir="ltr"
+            style="position: relative; --radix-scroll-area-corner-width: 0px; --radix-scroll-area-corner-height: 0px;"
+          >
+            <style>
+              [data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}
+            </style>
+            <div
+              class="emotion-42 emotion-43"
+              data-radix-scroll-area-viewport=""
+              style="overflow-x: scroll; overflow-y: scroll;"
+            >
+              <div
+                style="min-width: 100%; display: table;"
+              >
+                <pre
+                  class="emotion-44 emotion-45 prism-code language-javascript"
+                  dir="ltr"
+                  style="color: rgb(33, 37, 41); background-color: rgba(248, 249, 250, 0.65);"
+                >
+                  <div
+                    class="emotion-46 emotion-47 token-line"
+                  >
+                    <div
+                      class="emotion-48 emotion-47Content"
+                    >
+                      <span
+                        class="token maybe-class-name"
+                      >
+                        Test
+                      </span>
+                      <span
+                        class="token plain"
+                      >
+                         
+                      </span>
+                      <span
+                        class="token known-class-name class-name"
+                        style="color: rgb(201, 42, 42);"
+                      >
+                        Error
+                      </span>
+                    </div>
+                  </div>
+                </pre>
+              </div>
+            </div>
+          </div>
+        </div>
+      </div>
+    </div>
+  </div>
+  <button>
+    trigger error
+  </button>
+</div>
+`;
+
+exports[`DevTools - basic Error boundary should display an error boundary with stack 1`] = `
+.emotion-1 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  color: #000;
+  line-height: 1.55;
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale;
+  font-size: 16px;
+}
+
+.emotion-1 *,
+.emotion-1 *::before,
+.emotion-1 *::after {
+  box-sizing: border-box;
+}
+
+.emotion-2 {
+  -webkit-flex-direction: row;
+  -ms-flex-direction: row;
+  flex-direction: row;
+  position: fixed;
+  left: 0;
+  bottom: 0;
+  width: calc(100% - 20px);
+  border-color: #dee2e6;
+  border-width: 1px;
+  border-style: solid;
+  border-radius: 8px;
+  background: #fff;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-flex-direction: column;
+  -ms-flex-direction: column;
+  flex-direction: column;
+  z-index: 99999;
+  margin: 10px;
+  height: 370px;
+  max-height: 90%;
+}
+
+.emotion-3 {
+  width: 100%;
+  height: 5px;
+  cursor: row-resize;
+  z-index: 2;
+  position: absolute;
+  top: -2px;
+}
+
+.emotion-4 {
+  position: -webkit-sticky;
+  position: sticky;
+  top: 0;
+  z-index: 1;
+  width: 100%;
+}
+
+.emotion-5 {
+  padding: 10px;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-pack: justify;
+  -webkit-justify-content: space-between;
+  justify-content: space-between;
+}
+
+.emotion-7 {
+  box-sizing: border-box;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-flex-direction: row;
+  -ms-flex-direction: row;
+  flex-direction: row;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-flex-wrap: wrap;
+  -webkit-flex-wrap: wrap;
+  -ms-flex-wrap: wrap;
+  flex-wrap: wrap;
+  -webkit-box-pack: start;
+  -ms-flex-pack: start;
+  -webkit-justify-content: flex-start;
+  justify-content: flex-start;
+  gap: 16px;
+  margin-right: 10px;
+}
+
+.emotion-7>* {
+  box-sizing: border-box;
+  -webkit-box-flex: 0;
+  -webkit-flex-grow: 0;
+  -ms-flex-positive: 0;
+  flex-grow: 0;
+}
+
+.emotion-10 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: inherit;
+  font-size: inherit;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;
+  font-weight: 700;
+  font-size: 18px;
+  line-height: 1.45;
+  margin: 0;
+  -webkit-user-select: none;
+  -moz-user-select: none;
+  -ms-user-select: none;
+  user-select: none;
+}
+
+.emotion-10:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-10:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-12 {
+  -webkit-tap-highlight-color: transparent;
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  font-size: 9px;
+  height: 16px;
+  line-height: 14px;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  padding: 0 6.666666666666667px;
+  box-sizing: border-box;
+  display: -webkit-inline-box;
+  display: -webkit-inline-flex;
+  display: -ms-inline-flexbox;
+  display: inline-flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-pack: center;
+  -ms-flex-pack: center;
+  -webkit-justify-content: center;
+  justify-content: center;
+  width: auto;
+  text-transform: uppercase;
+  border-radius: 32px;
+  font-weight: 700;
+  letter-spacing: 0.25px;
+  cursor: inherit;
+  text-overflow: ellipsis;
+  overflow: hidden;
+  background: rgba(255, 244, 230, 1);
+  color: #fd7e14;
+  border: 1px solid transparent;
+}
+
+.emotion-12:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-12:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-13 {
+  white-space: nowrap;
+  overflow: hidden;
+  text-overflow: ellipsis;
+}
+
+.emotion-15 {
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+}
+
+.emotion-18 {
+  -webkit-tap-highlight-color: transparent;
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  cursor: pointer;
+  border: 0;
+  padding: 0;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  -ms-appearance: none;
+  appearance: none;
+  font-size: 16px;
+  background-color: transparent;
+  text-align: left;
+  color: #000;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  box-sizing: border-box;
+  border: 1px solid transparent;
+  background-color: #25262b;
+  color: #fff;
+  position: relative;
+  height: 28px;
+  min-height: 28px;
+  width: 28px;
+  min-width: 28px;
+  border-radius: 4px;
+  padding: 0;
+  line-height: 1;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-pack: center;
+  -ms-flex-pack: center;
+  -webkit-justify-content: center;
+  justify-content: center;
+}
+
+.emotion-18:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-18:focus:not(:focus-visible) {
+  outline: none;
+}
+
+@media (hover: hover) {
+  .emotion-18:hover {
+    background-color: #1A1B1E;
+  }
+}
+
+@media (hover: none) {
+  .emotion-18:active {
+    background-color: #1A1B1E;
+  }
+}
+
+.emotion-18:active {
+  -webkit-transform: scale(1);
+  -moz-transform: scale(1);
+  -ms-transform: scale(1);
+  transform: scale(1);
+}
+
+.emotion-18:disabled,
+.emotion-18[data-disabled] {
+  color: #ced4da;
+  cursor: not-allowed;
+  background-color: #f1f3f5;
+  border-color: #f1f3f5;
+  background-image: none;
+  pointer-events: none;
+}
+
+.emotion-18:disabled:active,
+.emotion-18[data-disabled]:active {
+  -webkit-transform: none;
+  -moz-transform: none;
+  -ms-transform: none;
+  transform: none;
+}
+
+.emotion-18[data-loading] {
+  pointer-events: none;
+}
+
+.emotion-18[data-loading]::before {
+  content: "";
+  position: absolute;
+  top: -1px;
+  left: -1px;
+  right: -1px;
+  bottom: -1px;
+  background-color: rgba(255, 255, 255, .5);
+  border-radius: 4px;
+  cursor: not-allowed;
+}
+
+.emotion-21 {
+  -webkit-tap-highlight-color: transparent;
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  cursor: pointer;
+  border: 0;
+  padding: 0;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  -ms-appearance: none;
+  appearance: none;
+  font-size: 16px;
+  background-color: transparent;
+  text-align: left;
+  color: #000;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  box-sizing: border-box;
+  border: 1px solid transparent;
+  background-color: transparent;
+  color: #868e96;
+  position: relative;
+  height: 28px;
+  min-height: 28px;
+  width: 28px;
+  min-width: 28px;
+  border-radius: 8px;
+  padding: 0;
+  line-height: 1;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-pack: center;
+  -ms-flex-pack: center;
+  -webkit-justify-content: center;
+  justify-content: center;
+  margin-left: 10px;
+}
+
+.emotion-21:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-21:focus:not(:focus-visible) {
+  outline: none;
+}
+
+@media (hover: hover) {
+  .emotion-21:hover {
+    background-color: rgba(248, 249, 250, 1);
+  }
+}
+
+@media (hover: none) {
+  .emotion-21:active {
+    background-color: rgba(248, 249, 250, 1);
+  }
+}
+
+.emotion-21:active {
+  -webkit-transform: scale(1);
+  -moz-transform: scale(1);
+  -ms-transform: scale(1);
+  transform: scale(1);
+}
+
+.emotion-21:disabled,
+.emotion-21[data-disabled] {
+  color: #ced4da;
+  cursor: not-allowed;
+  background-color: #f1f3f5;
+  border-color: #f1f3f5;
+  background-image: none;
+  pointer-events: none;
+}
+
+.emotion-21:disabled:active,
+.emotion-21[data-disabled]:active {
+  -webkit-transform: none;
+  -moz-transform: none;
+  -ms-transform: none;
+  transform: none;
+}
+
+.emotion-21[data-loading] {
+  pointer-events: none;
+}
+
+.emotion-21[data-loading]::before {
+  content: "";
+  position: absolute;
+  top: -1px;
+  left: -1px;
+  right: -1px;
+  bottom: -1px;
+  background-color: rgba(255, 255, 255, .5);
+  border-radius: 8px;
+  cursor: not-allowed;
+}
+
+.emotion-22 {
+  height: 90%;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-pack: center;
+  -ms-flex-pack: center;
+  -webkit-justify-content: center;
+  justify-content: center;
+  overflow: scroll;
+}
+
+.emotion-23 {
+  width: 100%;
+  max-width: 80%;
+  max-height: 80%;
+}
+
+.emotion-25 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: #e03131;
+  font-size: 16px;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  margin-bottom: 5px;
+  font-weight: 500;
+}
+
+.emotion-25:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-25:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-27 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: inherit;
+  font-size: inherit;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  margin-right: 5px;
+}
+
+.emotion-27:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-27:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-29 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: #e03131;
+  font-size: 14px;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  margin-bottom: 12px;
+}
+
+.emotion-29:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-29:focus:not(:focus-visible) {
+  outline: none;
+}
+
+.emotion-32 {
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  -webkit-tap-highlight-color: transparent;
+  color: #e03131;
+  font-size: inherit;
+  line-height: 1.55;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  background-color: transparent;
+  cursor: pointer;
+  padding: 0;
+  border: 0;
+  -webkit-text-decoration: underline;
+  text-decoration: underline;
+}
+
+.emotion-32:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-32:focus:not(:focus-visible) {
+  outline: none;
+}
+
+@media (hover: hover) {
+  .emotion-32:hover {
+    -webkit-text-decoration: underline;
+    text-decoration: underline;
+  }
+}
+
+@media (hover: none) {
+  .emotion-32:active {
+    -webkit-text-decoration: underline;
+    text-decoration: underline;
+  }
+}
+
+.emotion-34 {
+  position: relative;
+}
+
+.emotion-38 {
+  -webkit-tap-highlight-color: transparent;
+  font-family: Inter,-apple-system,BlinkMacSystemFont,Segoe,sans-serif;
+  cursor: pointer;
+  border: 0;
+  padding: 0;
+  -webkit-appearance: none;
+  -moz-appearance: none;
+  -ms-appearance: none;
+  appearance: none;
+  font-size: 16px;
+  background-color: transparent;
+  text-align: left;
+  color: #000;
+  -webkit-text-decoration: none;
+  text-decoration: none;
+  box-sizing: border-box;
+  border: 1px solid transparent;
+  background-color: transparent;
+  color: #868e96;
+  position: relative;
+  height: 28px;
+  min-height: 28px;
+  width: 28px;
+  min-width: 28px;
+  border-radius: 4px;
+  padding: 0;
+  line-height: 1;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  -webkit-align-items: center;
+  -webkit-box-align: center;
+  -ms-flex-align: center;
+  align-items: center;
+  -webkit-box-pack: center;
+  -ms-flex-pack: center;
+  -webkit-justify-content: center;
+  justify-content: center;
+  position: absolute;
+  top: 10px;
+  right: 10px;
+  left: unset;
+  z-index: 2;
+}
+
+.emotion-38:focus {
+  outline-offset: 2px;
+  outline: 2px solid #2C2E33;
+}
+
+.emotion-38:focus:not(:focus-visible) {
+  outline: none;
+}
+
+@media (hover: hover) {
+  .emotion-38:hover {
+    background-color: rgba(248, 249, 250, 1);
+  }
+}
+
+@media (hover: none) {
+  .emotion-38:active {
+    background-color: rgba(248, 249, 250, 1);
+  }
+}
+
+.emotion-38:active {
+  -webkit-transform: scale(1);
+  -moz-transform: scale(1);
+  -ms-transform: scale(1);
+  transform: scale(1);
+}
+
+.emotion-38:disabled,
+.emotion-38[data-disabled] {
+  color: #ced4da;
+  cursor: not-allowed;
+  background-color: #f1f3f5;
+  border-color: #f1f3f5;
+  background-image: none;
+  pointer-events: none;
+}
+
+.emotion-38:disabled:active,
+.emotion-38[data-disabled]:active {
+  -webkit-transform: none;
+  -moz-transform: none;
+  -ms-transform: none;
+  transform: none;
+}
+
+.emotion-38[data-loading] {
+  pointer-events: none;
+}
+
+.emotion-38[data-loading]::before {
+  content: "";
+  position: absolute;
+  top: -1px;
+  left: -1px;
+  right: -1px;
+  bottom: -1px;
+  background-color: rgba(255, 255, 255, .5);
+  border-radius: 4px;
+  cursor: not-allowed;
+}
+
+.emotion-38,
+.emotion-38:hover {
+  background-color: #f8f9fa;
+}
+
+.emotion-41 {
+  overflow: hidden;
+}
+
+.emotion-42 {
+  width: 100%;
+  height: 100%;
+}
+
+.emotion-44 {
+  box-sizing: border-box;
+  position: relative;
+  font-family: JetBrains Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;
+  line-height: 1.7;
+  font-size: 13px;
+  border-radius: 4px;
+  padding: 12px 0;
+  margin-top: 0;
+  margin-bottom: 0;
+}
+
+.emotion-46 {
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: -ms-flexbox;
+  display: flex;
+  width: 100%;
+  padding: 0 16px;
+}
+
+.emotion-48 {
+  width: 100%;
+}
+
+<div>
+  <div
+    class="emotion-0 emotion-1 emotion-2"
+    data-testid="emotion-1"
+  >
+    <div
+      class="emotion-3"
+      data-testid="shell-resize-bar"
+    />
+    <div
+      class="emotion-4"
+    >
+      <div
+        class="emotion-5"
+      >
+        <div
+          class="emotion-6 emotion-7"
+        >
+          <h1
+            class="emotion-8 emotion-9 emotion-10"
+          >
+            πŸ‘» Jōtai DevTools
+          </h1>
+          <div
+            class="emotion-11 emotion-12"
+          >
+            <span
+              class="emotion-13 emotion-14"
+            >
+              Alpha
+            </span>
+          </div>
+        </div>
+        <div
+          class="emotion-15"
+        >
+          <button
+            class="emotion-16 emotion-17 emotion-18"
+            title="Toggle color scheme"
+            type="button"
+          >
+            <svg
+              class="icon icon-tabler icon-tabler-moon-stars"
+              fill="none"
+              height="16"
+              stroke="currentColor"
+              stroke-linecap="round"
+              stroke-linejoin="round"
+              stroke-width="2"
+              viewBox="0 0 24 24"
+              width="16"
+              xmlns="http://www.w3.org/2000/svg"
+            >
+              <path
+                d="M0 0h24v24H0z"
+                fill="none"
+                stroke="none"
+              />
+              <path
+                d="M12 3c.132 0 .263 0 .393 0a7.5 7.5 0 0 0 7.92 12.446a9 9 0 1 1 -8.313 -12.454z"
+              />
+              <path
+                d="M17 4a2 2 0 0 0 2 2a2 2 0 0 0 -2 2a2 2 0 0 0 -2 -2a2 2 0 0 0 2 -2"
+              />
+              <path
+                d="M19 11h2m-1 -1v2"
+              />
+            </svg>
+          </button>
+          <button
+            class="emotion-16 emotion-17 emotion-21"
+            title="Minimize panel"
+            type="button"
+          >
+            <svg
+              class="icon icon-tabler icon-tabler-minus"
+              fill="none"
+              height="16"
+              stroke="currentColor"
+              stroke-linecap="round"
+              stroke-linejoin="round"
+              stroke-width="2"
+              viewBox="0 0 24 24"
+              width="16"
+              xmlns="http://www.w3.org/2000/svg"
+            >
+              <path
+                d="M0 0h24v24H0z"
+                fill="none"
+                stroke="none"
+              />
+              <line
+                x1="5"
+                x2="19"
+                y1="12"
+                y2="12"
+              />
+            </svg>
+          </button>
+        </div>
+      </div>
+    </div>
+    <div
+      class="emotion-22"
+      data-testid="jotai-devtools-error-boundary"
+      role="alert"
+    >
+      <div
+        class="emotion-23"
+      >
+        <div
+          class="emotion-8 emotion-25"
+        >
+          <div
+            class="emotion-8 emotion-27"
+          >
+            <svg
+              class="icon icon-tabler icon-tabler-alert-circle"
+              fill="none"
+              height="16"
+              stroke="currentColor"
+              stroke-linecap="round"
+              stroke-linejoin="round"
+              stroke-width="2"
+              viewBox="0 0 24 24"
+              width="16"
+              xmlns="http://www.w3.org/2000/svg"
+            >
+              <path
+                d="M0 0h24v24H0z"
+                fill="none"
+                stroke="none"
+              />
+              <circle
+                cx="12"
+                cy="12"
+                r="9"
+              />
+              <line
+                x1="12"
+                x2="12"
+                y1="8"
+                y2="12"
+              />
+              <line
+                x1="12"
+                x2="12.01"
+                y1="16"
+                y2="16"
+              />
+            </svg>
+          </div>
+          Uh-oh, something went wrong.
+        </div>
+        <div
+          class="emotion-8 emotion-29"
+        >
+          If you believe this to be a bug, please file an issue on
+           
+          <a
+            class="emotion-8 emotion-31 emotion-32"
+            href="https://github.com/jotaijs/jotai-devtools/issues"
+            rel="noreferrer noopener"
+            target="_blank"
+          >
+            Jotai DevTool's GitHub repo
+          </a>
+           
+          with a minimal reproduction and the following error
+        </div>
+        <div
+          class="emotion-33 emotion-34"
+          translate="no"
+        >
+          <button
+            aria-label="Copy code"
+            class="emotion-16 emotion-17 emotion-37 emotion-38"
+            type="button"
+          >
+            <svg
+              fill="none"
+              height="15"
+              viewBox="0 0 15 15"
+              width="15"
+              xmlns="http://www.w3.org/2000/svg"
+            >
+              <path
+                clip-rule="evenodd"
+                d="M5 2V1H10V2H5ZM4.75 0C4.33579 0 4 0.335786 4 0.75V1H3.5C2.67157 1 2 1.67157 2 2.5V12.5C2 13.3284 2.67157 14 3.5 14H11.5C12.3284 14 13 13.3284 13 12.5V2.5C13 1.67157 12.3284 1 11.5 1H11V0.75C11 0.335786 10.6642 0 10.25 0H4.75ZM11 2V2.25C11 2.66421 10.6642 3 10.25 3H4.75C4.33579 3 4 2.66421 4 2.25V2H3.5C3.22386 2 3 2.22386 3 2.5V12.5C3 12.7761 3.22386 13 3.5 13H11.5C11.7761 13 12 12.7761 12 12.5V2.5C12 2.22386 11.7761 2 11.5 2H11Z"
+                fill="currentColor"
+                fill-rule="evenodd"
+              />
+            </svg>
+          </button>
+          <div
+            class="emotion-39 emotion-40 emotion-41"
+            dir="ltr"
+            style="position: relative; --radix-scroll-area-corner-width: 0px; --radix-scroll-area-corner-height: 0px;"
+          >
+            <style>
+              [data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}
+            </style>
+            <div
+              class="emotion-42 emotion-43"
+              data-radix-scroll-area-viewport=""
+              style="overflow-x: scroll; overflow-y: scroll;"
+            >
+              <div
+                style="min-width: 100%; display: table;"
+              >
+                <pre
+                  class="emotion-44 emotion-45 prism-code language-javascript"
+                  dir="ltr"
+                  style="color: rgb(33, 37, 41); background-color: rgba(248, 249, 250, 0.65);"
+                >
+                  <div
+                    class="emotion-46 emotion-47 token-line"
+                  >
+                    <div
+                      class="emotion-48 emotion-47Content"
+                    >
+                      <span
+                        class="token plain"
+                      >
+                        some
+                      </span>
+                      <span
+                        class="token operator"
+                        style="color: rgb(201, 42, 42);"
+                      >
+                        -
+                      </span>
+                      <span
+                        class="token plain"
+                      >
+                        stack
+                      </span>
+                    </div>
+                  </div>
+                </pre>
+              </div>
+            </div>
+          </div>
+        </div>
+      </div>
+    </div>
+  </div>
+  <button>
+    trigger error
+  </button>
+</div>
+`;
diff --git a/__tests__/devtools/basic.test.tsx b/__tests__/devtools/basic.test.tsx
new file mode 100644
index 00000000..0996e599
--- /dev/null
+++ b/__tests__/devtools/basic.test.tsx
@@ -0,0 +1,157 @@
+import React, { useMemo } from 'react';
+import { act, fireEvent, screen, waitFor } from '@testing-library/react';
+import userEvent from '@testing-library/user-event';
+import { atom, useAtom } from 'jotai';
+import { DevTools } from 'jotai-devtools';
+import { customRender } from '../custom-render';
+
+describe('DevTools - basic', () => {
+  it('should render the trigger button', () => {
+    customRender(<DevTools />);
+    expect(screen.getByTitle('Open Jotai Devtools')).toBeInTheDocument();
+  });
+
+  it('should open the devtools upon clicking the button', async () => {
+    customRender(<DevTools />);
+    const foundButton = screen.getByTitle('Open Jotai Devtools');
+    userEvent.click(foundButton);
+
+    await waitFor(() =>
+      expect(screen.getByText('πŸ‘» Jōtai DevTools')).toBeInTheDocument(),
+    );
+    expect(screen.getByText('Atom Viewer')).toBeInTheDocument();
+    expect(
+      screen.getByText(
+        'Select an atom from the left panel to view the details',
+      ),
+    ).toBeInTheDocument();
+  });
+
+  it('should resize the devtools upon dragging the resize bar', async () => {
+    customRender(<DevTools isInitialOpen={true} />);
+
+    expect(document.body).toHaveStyle({
+      paddingBottom: '370px',
+    });
+
+    expect(screen.getByTestId('jotai-devtools-shell')).toHaveStyle({
+      height: '370px',
+    });
+
+    await act(async () => {
+      const resizeBar = screen.getByTestId('shell-resize-bar');
+      await fireEvent.mouseDown(resizeBar, { clientY: 500 });
+      await fireEvent.mouseMove(resizeBar, { clientY: 400 });
+      await fireEvent.mouseUp(resizeBar, { clientY: 400 });
+    });
+
+    expect(screen.getByTestId('jotai-devtools-shell')).toHaveStyle({
+      height: '200px',
+    });
+
+    expect(document.body).toHaveStyle({
+      paddingBottom: '200px',
+    });
+  });
+
+  describe('Error boundary', () => {
+    const ogConsoleError = console.error;
+
+    beforeEach(() => {
+      console.error = jest.fn();
+    });
+
+    afterEach(() => {
+      console.error = ogConsoleError;
+      jest.resetAllMocks();
+      jest.restoreAllMocks();
+    });
+
+    const ComponentThatThrows = () => {
+      const baseErrorAtom = useMemo(() => atom(0), []);
+
+      const triggerErrorAtom = useMemo(
+        () =>
+          atom(
+            (get) => {
+              const val = get(baseErrorAtom);
+              if (val >= 1) {
+                const randomFn = function () {};
+                randomFn.toString = () => {
+                  throw new Error('Test Error');
+                };
+                return randomFn;
+              }
+
+              return val;
+            },
+            (get, set) => set(baseErrorAtom, (prev) => prev + 1),
+          ),
+        [baseErrorAtom],
+      );
+
+      triggerErrorAtom.debugLabel = 'triggerErrorAtom';
+
+      const [, triggerError] = useAtom(triggerErrorAtom);
+      return (
+        <>
+          <DevTools isInitialOpen={true} />
+          <button onClick={triggerError}>trigger error</button>
+        </>
+      );
+    };
+
+    it('should display an error boundary with stack', async () => {
+      const ogErrorSpy = jest.spyOn(global, 'Error');
+      ogErrorSpy.mockImplementation((message) => {
+        return {
+          name: 'Error',
+          message,
+          stack: 'some-stack',
+        } as Error;
+      });
+      const { container } = customRender(<ComponentThatThrows />);
+
+      await act(async () => {
+        await userEvent.click(screen.getByText('triggerErrorAtom'));
+        await userEvent.click(screen.getByText('trigger error'));
+      });
+
+      expect(
+        screen.getByTestId('jotai-devtools-error-boundary'),
+      ).toBeInTheDocument();
+
+      expect(
+        screen.getByTestId('jotai-devtools-error-boundary'),
+      ).toHaveTextContent('some-stack');
+
+      expect(container).toMatchSnapshot();
+    });
+
+    it('should display an error boundary with message if stack is not present', async () => {
+      const ogErrorSpy = jest.spyOn(global, 'Error');
+      ogErrorSpy.mockImplementation((message) => {
+        return {
+          name: 'Error',
+          message,
+        } as Error;
+      });
+      const { container } = customRender(<ComponentThatThrows />);
+
+      await act(async () => {
+        await userEvent.click(screen.getByText('triggerErrorAtom'));
+        await userEvent.click(screen.getByText('trigger error'));
+      });
+
+      expect(
+        screen.getByTestId('jotai-devtools-error-boundary'),
+      ).toBeInTheDocument();
+
+      expect(
+        screen.getByTestId('jotai-devtools-error-boundary'),
+      ).toHaveTextContent('Test Error');
+
+      expect(container).toMatchSnapshot();
+    });
+  });
+});
diff --git a/__tests__/setup.ts b/__tests__/setup.ts
new file mode 100644
index 00000000..ad939f93
--- /dev/null
+++ b/__tests__/setup.ts
@@ -0,0 +1,3 @@
+import * as ResizeObserverModule from 'resize-observer-polyfill';
+
+(global as any).ResizeObserver = ResizeObserverModule.default;
diff --git a/__tests__/devtools/useAtomDevtools.test.tsx b/__tests__/utils/useAtomDevtools.test.tsx
similarity index 100%
rename from __tests__/devtools/useAtomDevtools.test.tsx
rename to __tests__/utils/useAtomDevtools.test.tsx
diff --git a/__tests__/devtools/useAtomsDevtools.test.tsx b/__tests__/utils/useAtomsDevtools.test.tsx
similarity index 100%
rename from __tests__/devtools/useAtomsDevtools.test.tsx
rename to __tests__/utils/useAtomsDevtools.test.tsx
diff --git a/__tests__/devtools/useAtomsSnapshot.test.tsx b/__tests__/utils/useAtomsSnapshot.test.tsx
similarity index 100%
rename from __tests__/devtools/useAtomsSnapshot.test.tsx
rename to __tests__/utils/useAtomsSnapshot.test.tsx
diff --git a/__tests__/devtools/useGoToAtomsSnapshot.test.tsx b/__tests__/utils/useGoToAtomsSnapshot.test.tsx
similarity index 100%
rename from __tests__/devtools/useGoToAtomsSnapshot.test.tsx
rename to __tests__/utils/useGoToAtomsSnapshot.test.tsx
diff --git a/docs/internal/demo-screenshot.png b/docs/internal/demo-screenshot.png
new file mode 100644
index 00000000..4bd0c873
Binary files /dev/null and b/docs/internal/demo-screenshot.png differ
diff --git a/jest.config.ts b/jest.config.ts
index df64664d..72841388 100644
--- a/jest.config.ts
+++ b/jest.config.ts
@@ -37,14 +37,27 @@ const config: Config.InitialOptions = {
   moduleNameMapper: {
     '^jotai-devtools$': '<rootDir>/src/index.ts',
     '^jotai-devtools/(.*)$': '<rootDir>/src/$1.ts',
+    '\\.(css|less|sass|scss|woff2)$': '<rootDir>/__mocks__/styleMock.js',
   },
   modulePathIgnorePatterns: ['dist'],
   globals: {
     __DEV__: true,
   },
   coverageReporters: ['json', 'html', 'text', 'text-summary'],
-  collectCoverageFrom: ['src/**/*.{js,ts,tsx}', '__tests__/**/*.{js,ts,tsx}'],
+  collectCoverageFrom: [
+    'src/**/*.{js,ts,tsx}',
+    '!src/**/*.stories.{js,ts,tsx}',
+    '!src/stories/**',
+    // Copied as is from Jotai core and we're not changing it
+    '!src/DevTools/Extension/components/Shell/components/AtomViewer/hooks/use.ts',
+    '__tests__/**/*.{js,ts,tsx}',
+  ],
   coverageDirectory: './coverage/',
+  setupFilesAfterEnv: [
+    '@testing-library/jest-dom/extend-expect',
+    '<rootDir>/__tests__/setup.ts',
+  ],
+  snapshotSerializers: ['@emotion/jest/serializer'],
 };
 
 export default config;
diff --git a/package.json b/package.json
index 9b1dc932..78efb93b 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
   "name": "jotai-devtools",
-  "version": "0.2.0",
+  "version": "0.3.0-next.4",
   "description": "A powerful toolkit to enhance your development experience with Jotai",
   "author": {
     "name": "Arjun Vegda",
@@ -55,11 +55,13 @@
     "release": "release-it",
     "release:next": "yarn run release --preRelease=next",
     "release:minor": "yarn run release minor",
-    "release:patch": "yarn run release patch"
+    "release:patch": "yarn run release patch",
+    "storybook": "storybook dev -p 6006",
+    "build-storybook": "storybook build"
   },
   "repository": {
     "type": "git",
-    "url": "https://github.com/jotai-labs/jotai-devtools.git"
+    "url": "https://github.com/jotaijs/jotai-devtools.git"
   },
   "keywords": [
     "jotai",
@@ -72,9 +74,9 @@
   ],
   "license": "MIT",
   "bugs": {
-    "url": "https://github.com/jotai-labs/jotai-devtools/issues"
+    "url": "https://github.com/jotaijs/jotai-devtools/issues"
   },
-  "homepage": "https://github.com/jotai-labs/jotai-devtools",
+  "homepage": "https://github.com/jotaijs/jotai-devtools",
   "engines": {
     "node": ">=14.0.0"
   },
@@ -83,18 +85,36 @@
     "registry": "https://registry.npmjs.org"
   },
   "devDependencies": {
+    "@babel/core": "^7.20.12",
+    "@babel/preset-env": "^7.20.2",
+    "@babel/preset-react": "^7.18.6",
+    "@babel/preset-typescript": "^7.18.6",
     "@commitlint/cli": "^17.4.0",
     "@commitlint/config-conventional": "^17.4.0",
+    "@emotion/jest": "^11.10.5",
     "@release-it/conventional-changelog": "^5.1.1",
+    "@storybook/addon-a11y": "^7.0.0-beta.43",
+    "@storybook/addon-actions": "^7.0.0-beta.43",
+    "@storybook/addon-essentials": "^7.0.0-beta.43",
+    "@storybook/addon-interactions": "^7.0.0-beta.43",
+    "@storybook/addon-links": "^7.0.0-beta.43",
+    "@storybook/react": "^7.0.0-beta.43",
+    "@storybook/react-webpack5": "^7.0.0-beta.43",
+    "@storybook/testing-library": "^0.0.14-next.1",
     "@swc/core": "^1.3.25",
     "@swc/jest": "^0.2.24",
+    "@tanstack/query-core": "^4.24.10",
+    "@testing-library/jest-dom": "^5.16.5",
     "@testing-library/react": "^13.4.0",
+    "@testing-library/user-event": "^14.4.3",
     "@types/jest": "^29.2.5",
     "@types/node": "^18.11.18",
     "@types/react": "^18.0.26",
     "@types/react-dom": "^18.0.10",
     "@typescript-eslint/eslint-plugin": "^5.48.0",
     "@typescript-eslint/parser": "^5.48.0",
+    "babel-loader": "^8.3.0",
+    "esbuild": "^0.17.10",
     "esbuild-plugin-replace": "^1.3.0",
     "eslint": "^8.31.0",
     "eslint-config-prettier": "^8.6.0",
@@ -105,27 +125,42 @@
     "eslint-plugin-prettier": "^4.2.1",
     "eslint-plugin-react": "^7.31.11",
     "eslint-plugin-react-hooks": "^4.6.0",
+    "eslint-plugin-storybook": "^0.6.10",
     "husky": "^8.0.0",
     "jest": "^29.3.1",
     "jest-environment-jsdom": "^29.3.1",
     "jest-watch-typeahead": "^2.2.1",
-    "jotai": "^2.0.0",
+    "jotai": "^2.0.3",
+    "jotai-tanstack-query": "^0.5.0",
     "lint-staged": "^13.1.0",
     "prettier": "^2.8.1",
     "react": "^18.2.0",
     "react-dom": "^18.2.0",
     "redux": "^4.2.0",
     "release-it": "^15.6.0",
+    "resize-observer-polyfill": "^1.5.1",
     "rimraf": "^3.0.2",
+    "rxjs": "^7.8.0",
     "shelljs": "^0.8.5",
-    "tsup": "^6.5.0",
-    "typescript": "^4.9.4"
+    "storybook": "^7.0.0-beta.43",
+    "tsup": "^6.6.3",
+    "typescript": "^4.9.4",
+    "webpack": "^5.75.0"
   },
   "peerDependencies": {
     "jotai": ">=1.11.0",
     "react": ">=17.0.0"
   },
   "dependencies": {
-    "@redux-devtools/extension": "^3.2.3"
+    "@emotion/react": "^11.10.5",
+    "@mantine/core": "^5.10.3",
+    "@mantine/hooks": "^5.10.3",
+    "@mantine/prism": "^5.10.3",
+    "@redux-devtools/extension": "^3.2.3",
+    "@tabler/icons": "^1.119.0",
+    "react-error-boundary": "^3.1.4",
+    "react-resizable-panels": "^0.0.35",
+    "stacktracey": "^2.1.8",
+    "superjson": "^1.12.2"
   }
 }
diff --git a/react-shim.js b/react-shim.js
new file mode 100644
index 00000000..71672e7b
--- /dev/null
+++ b/react-shim.js
@@ -0,0 +1,3 @@
+// Why? See - https://github.com/egoist/tsup/issues/792
+import React from 'react';
+export { React };
diff --git a/src/DevTools/DevTools.tsx b/src/DevTools/DevTools.tsx
new file mode 100644
index 00000000..63e69bdf
--- /dev/null
+++ b/src/DevTools/DevTools.tsx
@@ -0,0 +1,127 @@
+import * as React from 'react';
+import { EmotionCache, Global } from '@emotion/react';
+import {
+  ColorScheme,
+  ColorSchemeProvider,
+  MantineProvider,
+  MantineThemeOverride,
+} from '@mantine/core';
+import { createStore } from 'jotai/vanilla';
+import { Store } from 'src/types';
+import {
+  DevToolsOptions,
+  useSetDevToolsOptions,
+} from './atoms/devtools-options';
+import { Extension, ExtensionProps } from './Extension';
+import { fontCss } from './fonts';
+import { InternalDevToolsContext } from './internal-jotai-store';
+import { createMemoizedEmotionCache } from './utils';
+
+const theme: MantineThemeOverride = {
+  primaryColor: 'dark',
+  activeStyles: { transform: 'scale(1)' },
+  fontFamily: 'Inter, -apple-system, BlinkMacSystemFont, Segoe, sans-serif',
+  fontFamilyMonospace:
+    'JetBrains Mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace',
+  headings: {
+    fontFamily:
+      'Inter, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji',
+  },
+  globalStyles: (theme) => ({
+    '.jotai-devtools-shell': {
+      '*, *::before, *::after': {
+        boxSizing: 'border-box',
+      },
+      ...theme.fn.fontStyles(),
+      color: theme.colorScheme === 'dark' ? theme.white : theme.black,
+      lineHeight: theme.lineHeight,
+      WebkitFontSmoothing: 'antialiased',
+      MozOsxFontSmoothing: 'grayscale',
+      fontSize: theme.fontSizes.md,
+    },
+  }),
+};
+
+export type DevToolsProps = ExtensionProps & {
+  theme?: 'dark' | 'light';
+  nonce?: string;
+  options?: DevToolsOptions;
+};
+
+const DevToolsMain = ({
+  store,
+  isInitialOpen = false,
+  theme: userColorScheme = 'light',
+  nonce,
+  options,
+}: DevToolsProps): JSX.Element => {
+  const [colorScheme, setColorScheme] =
+    React.useState<ColorScheme>(userColorScheme);
+  const setDevToolsOptions = useSetDevToolsOptions();
+
+  const toggleColorScheme = (value?: ColorScheme) =>
+    setColorScheme(value || (colorScheme === 'dark' ? 'light' : 'dark'));
+
+  const jotaiDevtoolsEmotionCache = React.useRef<EmotionCache>();
+
+  if (!jotaiDevtoolsEmotionCache.current) {
+    jotaiDevtoolsEmotionCache.current = createMemoizedEmotionCache(nonce)();
+  }
+
+  React.useEffect(() => {
+    setColorScheme(userColorScheme);
+  }, [userColorScheme]);
+
+  React.useEffect(() => {
+    // Should we consider caching these options in the future instead of allowing users to change these?
+    setDevToolsOptions(options);
+  }, [setDevToolsOptions, options]);
+
+  const theme_ = {
+    ...theme,
+    colorScheme,
+  };
+
+  return (
+    <React.StrictMode>
+      <ColorSchemeProvider
+        colorScheme={colorScheme}
+        toggleColorScheme={toggleColorScheme}
+      >
+        <MantineProvider
+          theme={theme_}
+          emotionCache={jotaiDevtoolsEmotionCache.current}
+        >
+          <Global styles={fontCss} />
+          <Extension store={store} isInitialOpen={isInitialOpen} />
+        </MantineProvider>
+      </ColorSchemeProvider>
+    </React.StrictMode>
+  );
+};
+
+const DevToolsProvider = ({ children }: React.PropsWithChildren) => {
+  const internalStoreRef = React.useRef<Store>();
+
+  if (!internalStoreRef.current) {
+    internalStoreRef.current = createStore();
+  }
+
+  return (
+    <InternalDevToolsContext.Provider value={internalStoreRef.current}>
+      {children}
+    </InternalDevToolsContext.Provider>
+  );
+};
+
+export const DevTools = (props: DevToolsProps): JSX.Element => {
+  if (__DEV__) {
+    return (
+      <DevToolsProvider>
+        <DevToolsMain {...props} />
+      </DevToolsProvider>
+    );
+  }
+
+  return <></>;
+};
diff --git a/src/DevTools/Extension/Extension.tsx b/src/DevTools/Extension/Extension.tsx
new file mode 100644
index 00000000..75f0dc3f
--- /dev/null
+++ b/src/DevTools/Extension/Extension.tsx
@@ -0,0 +1,67 @@
+import * as React from 'react';
+import { ActionIcon, Sx } from '@mantine/core';
+import { useAtom, useSetAtom } from 'jotai/react';
+import { isShellOpenAtom } from '../atoms/is-shell-open-atom';
+import { useThemeMode } from '../hooks/useThemeMode';
+import { useDevtoolsJotaiStoreOptions } from '../internal-jotai-store';
+import { logo } from './assets/logo';
+import { Shell, ShellProps } from './components/Shell';
+
+const shellTriggerButtonStyles: Sx = () => ({
+  position: 'fixed',
+  left: 10,
+  bottom: 10,
+  borderRadius: '50%',
+  padding: '2rem',
+  zIndex: 99999,
+  img: {
+    height: '2rem',
+  },
+});
+
+const ShellTriggerButton = React.forwardRef<HTMLButtonElement>((_, ref) => {
+  const setIsShellOpen = useSetAtom(
+    isShellOpenAtom,
+    useDevtoolsJotaiStoreOptions(),
+  );
+
+  return (
+    <ActionIcon
+      variant="filled"
+      color={useThemeMode('dark', 'gray.3')}
+      onClick={() => setIsShellOpen(true)}
+      sx={shellTriggerButtonStyles}
+      ref={ref}
+      title="Open Jotai Devtools"
+      className="jotai-devtools-trigger-button"
+    >
+      <img src={logo} alt="Jotai Mascot" />
+    </ActionIcon>
+  );
+});
+
+export type ExtensionProps = ShellProps & {
+  // false by default
+  isInitialOpen?: boolean;
+};
+
+export const Extension = ({
+  isInitialOpen = false,
+  store,
+}: ExtensionProps): JSX.Element => {
+  const [isShellOpen, setIsShellOpen] = useAtom(
+    isShellOpenAtom,
+    useDevtoolsJotaiStoreOptions(),
+  );
+
+  React.useEffect(() => {
+    // Avoid setting the initial value if the value is found in the local storage
+    if (typeof isShellOpen !== 'boolean') {
+      setIsShellOpen(isInitialOpen);
+    }
+    // Intentionally disabled
+    // eslint-disable-next-line react-hooks/exhaustive-deps
+  }, []);
+
+  return <>{isShellOpen ? <Shell store={store} /> : <ShellTriggerButton />}</>;
+};
diff --git a/src/DevTools/Extension/assets/logo.ts b/src/DevTools/Extension/assets/logo.ts
new file mode 100644
index 00000000..517a6bab
--- /dev/null
+++ b/src/DevTools/Extension/assets/logo.ts
@@ -0,0 +1,3 @@
+export const logo = `
+data:image/png;base64,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M844gwULFpjzdnR00N3djcfjMS5oTU2NqYZRukJNn/RMI5EIRUVFrFq1ypSKpaen8/Wvf520tDReeOEFqqurNxLL8TmD4vuAK7Kzszn22GPxer20tLSQnp5Oc3Mzzz//vI4bAqxjD5FdXkWxi+RkoARieaqCggKAuMkuEMNuqtTZ2clNN93E2LFjGTNmDMcee+xnunhtbS3Jycnk5eWRlJSEz+cz59cYbADFqXhOa2izdwDT9cyOJVNSUmhoaDAKuGHDhm0WE5eXl1NTU8OoUaM488wzqaysZMiQISxatAiv10tycjLd3d2mC4AaTdkcWwEyIj6I8B0Ohxk4cCCFhYXU1taaDgM5OTmMGTOG6urqUuCbwL8cw7oSaGhubr7t+eef58QTTyQjIwO32604EOAJ9iAFhK+uO/pt/aFuYHZi2SnihHZ1dTFy5Ei+//3vc+yxxxpULhGKaUtbWxt/+MMf2G+//XC5XBQVFZGfn09KSgpnnHEGr732mgFLEkl/7qZ+25/buUUpsgClM888E4AXXnjhU6v5u7u7+dOf/mSuc+ONNxpgRBYtUdyZyFXWNt5CWUOhEDk5OQwbNswcGwgECIfDDBo0SJb1B/0M7YfAI21tbbz++usGqNmwYYM+/3/bvLHdUL6KSpjH1laGEydOjMtZQe8kUj9QQd9SNm3+2dHRYRgm/SkvwK9+9SvS09P57ne/y8cff8whhxzCVVddxaWXXsrYsWN56qmnmDFjBjNmzKCmpgaPx9OHH9qfkjvbVaig2Om2ulwunn76ad58800uueQSk47pTz766CNGjRrFlVdeafqGPvHEEzz//POMGjXKVE/Y1fVer9fEfbbii5dq1yC6XC7S0tIYPry311NDQ4N5nmPHjoVYmuLifoZ4AfBMfX097777LpWVlUoLrSZWHLxHyVfRHf2m/rj66quB3ljLdkMhpgSaPCI2a3JrkjktlC1HHnkkb775JqmpqfzrX//i1FNP7XNMbW0tP/vZz7j33nsZMmQIa9asobi42EzWRKioxIl69sclBUyvnL/85S/bfDiLFi1i6tSpCT/705/+xLHHHktXV5chLairmhYp9U1taWkx105JSenD8AmFQowcOTLuObS3txONRhk+fLi2W/sT8A8S7+h0GvD6smXLjly2bJnee3qbN7ebylfREl4MsWpvoaISJyIJmCoA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
+`;
diff --git a/src/DevTools/Extension/components/Shell/Shell.tsx b/src/DevTools/Extension/components/Shell/Shell.tsx
new file mode 100644
index 00000000..3eb4ace5
--- /dev/null
+++ b/src/DevTools/Extension/components/Shell/Shell.tsx
@@ -0,0 +1,74 @@
+import React, { useEffect, useRef } from 'react';
+import { Tabs } from '@mantine/core';
+import { useAtomValue } from 'jotai/react';
+import { Store } from 'src/types';
+import { shellStylesAtom } from '../../../atoms/shell-styles';
+import { useSetCustomStore } from '../../../atoms/user-custom-store';
+import { TabKeys, shellStyleDefaults } from '../../../constants';
+import { useDevtoolsJotaiStoreOptions } from '../../../internal-jotai-store';
+import { AtomViewer } from './components/AtomViewer';
+import { ErrorBoundary } from './components/ErrorBoundary';
+import { Header } from './components/Header';
+import { ShellResizeBar } from './components/ShellResizeBar';
+import { TabsHeader } from './components/TabsHeader';
+import { shellStyles } from './styles';
+
+export type ShellProps = {
+  store?: Store | undefined;
+};
+
+export const Shell = ({ store }: ShellProps) => {
+  const setUserStore = useSetCustomStore();
+  useEffect(() => {
+    setUserStore(store);
+  }, [setUserStore, store]);
+
+  const shellRef = useRef<HTMLDivElement>(null);
+  const { height } = useAtomValue(
+    shellStylesAtom,
+    useDevtoolsJotaiStoreOptions(),
+  );
+
+  useEffect(() => {
+    // Allocating more height at the end of the content allows users to scroll down fully
+    // FIXME should we handle a use-case where there is padding set around `body`?
+    document.body.style.paddingBottom = height + 'px';
+
+    return () => {
+      document.body.style.paddingBottom = `0px`;
+    };
+  }, [height]);
+
+  return (
+    <Tabs
+      keepMounted={false}
+      variant="default"
+      defaultValue={TabKeys.AtomViewer}
+      m={10}
+      sx={shellStyles}
+      h={height}
+      mah={shellStyleDefaults.maxHeight}
+      ref={shellRef}
+      className="jotai-devtools-shell"
+      data-testid="jotai-devtools-shell"
+    >
+      <ShellResizeBar shellRef={shellRef} />
+      <Header />
+      <ErrorBoundary>
+        <TabsHeader />
+        <Tabs.Panel
+          value={TabKeys.AtomViewer}
+          h="100%"
+          sx={{
+            overflow: 'hidden',
+            // Hide the overlap of this div's bg
+            borderBottomLeftRadius: '7px',
+            borderBottomRightRadius: '7px',
+          }}
+        >
+          <AtomViewer />
+        </Tabs.Panel>
+      </ErrorBoundary>
+    </Tabs>
+  );
+};
diff --git a/src/DevTools/Extension/components/Shell/components/AtomViewer/AtomViewer.tsx b/src/DevTools/Extension/components/Shell/components/AtomViewer/AtomViewer.tsx
new file mode 100644
index 00000000..14dec187
--- /dev/null
+++ b/src/DevTools/Extension/components/Shell/components/AtomViewer/AtomViewer.tsx
@@ -0,0 +1,36 @@
+import * as React from 'react';
+import { Flex, Sx } from '@mantine/core';
+import { Panel, PanelGroup } from 'react-resizable-panels';
+import { PanelResizeHandle } from '../PanelResizeHandle';
+import { AtomDetail } from './components/AtomDetail';
+import { AtomList } from './components/AtomList';
+
+const panelStyles = { overflow: 'auto' };
+const atomListWrapperStyles: Sx = (theme) => ({
+  background:
+    theme.colorScheme === 'dark' ? theme.colors.dark[8] : theme.colors.gray[2],
+});
+
+export const AtomViewer = React.memo(() => {
+  return (
+    <PanelGroup direction="horizontal">
+      <Panel defaultSize={50} minSize={30} style={panelStyles}>
+        <Flex
+          p={10}
+          pt={0}
+          h="100%"
+          direction="column"
+          sx={atomListWrapperStyles}
+        >
+          <AtomList />
+        </Flex>
+      </Panel>
+      <PanelResizeHandle />
+      <Panel defaultSize={50} minSize={30} style={panelStyles}>
+        <Flex p={10} h="100%" direction="column" pos="relative">
+          <AtomDetail />
+        </Flex>
+      </Panel>
+    </PanelGroup>
+  );
+});
diff --git a/src/DevTools/Extension/components/Shell/components/AtomViewer/atoms.ts b/src/DevTools/Extension/components/Shell/components/AtomViewer/atoms.ts
new file mode 100644
index 00000000..e1e3e7b6
--- /dev/null
+++ b/src/DevTools/Extension/components/Shell/components/AtomViewer/atoms.ts
@@ -0,0 +1,38 @@
+import { atom } from 'jotai/vanilla';
+import { atomWithDefault } from 'jotai/vanilla/utils';
+import { AnyAtom, ValuesAtomTuple } from 'src/types';
+import { devToolsOptionsAtom } from '../../../../../atoms/devtools-options';
+import { valuesAtom } from '../../../../../atoms/values-atom';
+import { filterAtomsByString } from './utils/filter-atoms-by-string';
+import { filterPrivateAtoms } from './utils/filter-private-atoms';
+
+type SelectedAtomAtomData = { atomKey: string; atom: AnyAtom };
+
+export const selectedAtomAtom = atom<SelectedAtomAtomData | undefined>(
+  undefined,
+);
+
+// used to preserve search input across tab switch
+const searchInputInternalValueAtom = atom('');
+
+export const filteredValuesAtom = atomWithDefault<ValuesAtomTuple[]>((get) => {
+  const filteredByString = filterAtomsByString(
+    get(searchInputInternalValueAtom),
+    get(valuesAtom),
+  );
+
+  const { shouldShowPrivateAtoms } = get(devToolsOptionsAtom);
+  if (!shouldShowPrivateAtoms) {
+    const filteredByPrivate = filterPrivateAtoms(filteredByString);
+    return filteredByPrivate;
+  }
+
+  return filteredByString;
+});
+
+export const searchInputAtom = atom(
+  (get) => get(searchInputInternalValueAtom),
+  (_, set, searchInput: string) => {
+    set(searchInputInternalValueAtom, searchInput);
+  },
+);
diff --git a/src/DevTools/Extension/components/Shell/components/AtomViewer/components/AtomDetail/AtomDetail.tsx b/src/DevTools/Extension/components/Shell/components/AtomViewer/components/AtomDetail/AtomDetail.tsx
new file mode 100644
index 00000000..72d6c532
--- /dev/null
+++ b/src/DevTools/Extension/components/Shell/components/AtomViewer/components/AtomDetail/AtomDetail.tsx
@@ -0,0 +1,50 @@
+import * as React from 'react';
+import { Box, LoaderProps, LoadingOverlay, Sx, Text } from '@mantine/core';
+import { useAtomValue } from 'jotai/react';
+import { useThemeMode } from '../../../../../../../hooks/useThemeMode';
+import { useDevtoolsJotaiStoreOptions } from '../../../../../../../internal-jotai-store';
+import { selectedAtomAtom } from '../../atoms';
+import { DisplayAtomDetails } from './components/DisplayAtomDetails';
+
+const messageBoxWrapperStyles: Sx = {
+  position: 'relative',
+  top: '50%',
+  transform: 'translateY(-50%)',
+};
+
+export const AtomDetail = React.memo((): JSX.Element => {
+  const selectedAtomData = useAtomValue(
+    selectedAtomAtom,
+    useDevtoolsJotaiStoreOptions(),
+  );
+
+  const loaderProps: LoaderProps = {
+    color: useThemeMode('dark', 'white'),
+  };
+
+  if (!selectedAtomData) {
+    return (
+      <Box sx={messageBoxWrapperStyles}>
+        <Text w="100%" ta="center">
+          Select an atom from the left panel to view the details{' '}
+        </Text>
+      </Box>
+    );
+  }
+
+  return (
+    <React.Suspense
+      fallback={
+        <LoadingOverlay
+          visible={true}
+          overlayBlur={2}
+          loaderProps={loaderProps}
+        />
+      }
+    >
+      <DisplayAtomDetails atom={selectedAtomData.atom} />
+    </React.Suspense>
+  );
+});
+
+AtomDetail.displayName = 'AtomDetail';
diff --git a/src/DevTools/Extension/components/Shell/components/AtomViewer/components/AtomDetail/components/AtomDependentsList.tsx b/src/DevTools/Extension/components/Shell/components/AtomViewer/components/AtomDetail/components/AtomDependentsList.tsx
new file mode 100644
index 00000000..116b29d4
--- /dev/null
+++ b/src/DevTools/Extension/components/Shell/components/AtomViewer/components/AtomDetail/components/AtomDependentsList.tsx
@@ -0,0 +1,65 @@
+import * as React from 'react';
+import { Box, Code, List, Text } from '@mantine/core';
+import { AnyAtom } from 'src/types';
+import { useDevToolsOptionsValue } from '../../../../../../../../atoms/devtools-options';
+import { useAtomsSnapshots } from '../../../../../../../../hooks/useAtomsSnapshots';
+import { parseDebugLabel } from '../../../../../../../../utils/parse-debug-label';
+
+type AtomDependentsListProps = {
+  atom: AnyAtom;
+};
+
+export const AtomDependentsList = ({
+  atom,
+}: AtomDependentsListProps): JSX.Element => {
+  const { dependents } = useAtomsSnapshots();
+  const devtoolsOptions = useDevToolsOptionsValue();
+
+  const depsForAtom = React.useMemo(() => {
+    const arr = Array.from(dependents.get(atom) || []);
+    const filteredCurrentAtom = arr.filter(
+      (a) => a.toString() !== atom.toString(),
+    );
+
+    if (!devtoolsOptions.shouldShowPrivateAtoms) {
+      const filteredPrivateAtoms = filteredCurrentAtom.filter(
+        (a) => !a?.debugPrivate,
+      );
+      return filteredPrivateAtoms;
+    }
+
+    return filteredCurrentAtom;
+  }, [dependents, devtoolsOptions.shouldShowPrivateAtoms, atom]);
+
+  const listOfDependents = React.useMemo(
+    () =>
+      depsForAtom.map((value, i) => {
+        const parsedDebugLabel = parseDebugLabel(value?.debugLabel);
+        return (
+          <List.Item key={`${i}-${value.toString()}-dependents-list`}>
+            <Code data-testid={`dependents-list-item-${parsedDebugLabel}-${i}`}>
+              {parsedDebugLabel}
+            </Code>
+          </List.Item>
+        );
+      }),
+    [depsForAtom],
+  );
+
+  return (
+    <Box>
+      <Text fw="bold" mb={10} mt={20}>
+        Dependents
+      </Text>
+      {listOfDependents.length ? (
+        <List type="ordered" mb={10}>
+          {listOfDependents}
+        </List>
+      ) : (
+        <Text size="sm" mb={10}>
+          No dependents
+        </Text>
+      )}
+    </Box>
+  );
+};
diff --git a/src/DevTools/Extension/components/Shell/components/AtomViewer/components/AtomDetail/components/AtomMetaDetails.tsx b/src/DevTools/Extension/components/Shell/components/AtomViewer/components/AtomDetail/components/AtomMetaDetails.tsx
new file mode 100644
index 00000000..31b66d0e
--- /dev/null
+++ b/src/DevTools/Extension/components/Shell/components/AtomViewer/components/AtomDetail/components/AtomMetaDetails.tsx
@@ -0,0 +1,68 @@
+import * as React from 'react';
+import { Box, Code, MantineColor, Text, Title, Tooltip } from '@mantine/core';
+import { AtomValueType } from '../../../../../../../../utils/get-type-of-atom-value';
+import { parseDebugLabel } from '../../../../../../../../utils/parse-debug-label';
+
+type AtomDetailItemProps = {
+  label: string;
+  value: string;
+  color?: MantineColor;
+};
+
+const DisplayAtomDetailsItem = ({
+  label,
+  value,
+  color,
+}: AtomDetailItemProps) => {
+  return (
+    <Box mb={10}>
+      <Text
+        tt="uppercase"
+        fz={10}
+        fw="bold"
+        color="gray"
+        data-testid={`display-detail-item-label-${label}`}
+      >
+        {label}
+      </Text>
+      <Code data-testid={`display-detail-item-value-${value}`} color={color}>
+        {value}
+      </Code>
+    </Box>
+  );
+};
+
+type AtomMetaDetailsProps = {
+  debugLabel?: string | undefined;
+  atomValueType: AtomValueType;
+  isAtomPrivate?: boolean | undefined;
+};
+
+export const AtomMetaDetails = React.memo(
+  ({
+    debugLabel,
+    atomValueType,
+    isAtomPrivate,
+  }: AtomMetaDetailsProps): JSX.Element => {
+    return (
+      <Box>
+        <Title size="h3" mb={10}>
+          Atom Details
+        </Title>
+        <Text fw="bold" mb={10}>
+          Meta
+        </Text>
+        <DisplayAtomDetailsItem
+          label="Debug Label"
+          value={parseDebugLabel(debugLabel)}
+        />
+        <DisplayAtomDetailsItem label="Value type" value={atomValueType} />
+        {isAtomPrivate && (
+          <DisplayAtomDetailsItem label="Private" value={'Yes'} color={'red'} />
+        )}
+      </Box>
+    );
+  },
+);
+
+AtomMetaDetails.displayName = 'AtomMetaDetails';
diff --git a/src/DevTools/Extension/components/Shell/components/AtomViewer/components/AtomDetail/components/AtomParseDeepNestedValue.tsx b/src/DevTools/Extension/components/Shell/components/AtomViewer/components/AtomDetail/components/AtomParseDeepNestedValue.tsx
new file mode 100644
index 00000000..a0bf5233
--- /dev/null
+++ b/src/DevTools/Extension/components/Shell/components/AtomViewer/components/AtomDetail/components/AtomParseDeepNestedValue.tsx
@@ -0,0 +1,92 @@
+import * as React from 'react';
+import { Box, Text } from '@mantine/core';
+import { AnyAtom } from 'src/types';
+import { useUserStore } from '../../../../../../../../hooks/useUserStore';
+import {
+  AtomValueType,
+  deepParseAtomValue,
+  stringifyAtomValue,
+} from '../../../../../../../../utils';
+import { useInternalAtomValue } from '../../../hooks/useInternalAtomValue';
+import {
+  MemoizedValueRenderer,
+  getPrismLanguageType,
+} from './MemoizedValueRenderer';
+
+type ParseAndDisplayAtomValueProps = {
+  atom: AnyAtom;
+};
+
+const useAtomValueSubscribe = (atom: AnyAtom) => {
+  const store = useUserStore();
+  // We use `useAtomValue` because it supports async atoms too
+  // Should we support nested async atoms?
+  const atomValue = useInternalAtomValue(atom);
+
+  // Using an object to hold a value allows us to store values like functions
+  const [nextValue, setNextValue] = React.useState(() => ({
+    value: deepParseAtomValue(atomValue, store),
+  }));
+
+  React.useEffect(() => {
+    if (!store.dev_subscribe_state) return;
+    // FIXME replace this with `store.dev_subscribe_store` check after next minor Jotai 2.1.0?
+    let devSubscribeStore = store.dev_subscribe_state;
+    if (typeof store.dev_subscribe_store === 'function') {
+      devSubscribeStore = store.dev_subscribe_store;
+    }
+
+    const cb = (
+      type?: Parameters<Parameters<typeof store.dev_subscribe_store>[0]>[0],
+    ) => {
+      setNextValue({ value: deepParseAtomValue(atomValue, store) });
+    };
+
+    // Perhaps there is a more efficient way to subscribe more granularly to atom updates?
+    // We could explore the store.sub approach and figure out how to unsubscribe
+    const unsubscribe = devSubscribeStore?.(cb);
+    cb();
+    return unsubscribe;
+  }, [store, setNextValue, atomValue]);
+
+  return nextValue.value;
+};
+
+// This component assumes that user has picked the "deep-nested" parser
+const ParseAndDisplayAtomValue = React.memo(
+  ({ atom }: ParseAndDisplayAtomValueProps): JSX.Element => {
+    const nextValue = useAtomValueSubscribe(atom);
+    const prismLanguageType = getPrismLanguageType(nextValue);
+
+    return (
+      <MemoizedValueRenderer
+        value={stringifyAtomValue(nextValue)}
+        prismLanguageType={prismLanguageType}
+      />
+    );
+  },
+);
+
+type AtomParseDeepNestedValueProps = {
+  atom: AnyAtom;
+  atomValueType: AtomValueType;
+};
+
+export const AtomParseDeepNestedValue = ({
+  atom,
+  atomValueType,
+}: AtomParseDeepNestedValueProps): JSX.Element => {
+  return (
+    <Box>
+      <Text fw="bold" mb="sm">
+        Parsed value
+      </Text>
+      {/* TODO investigate if this could ever be the case given that the parent component is wrapped with suspense */}
+      {atomValueType === 'promise' ? (
+        <Text>No Preview available</Text>
+      ) : (
+        <ParseAndDisplayAtomValue atom={atom} />
+      )}
+    </Box>
+  );
+};
diff --git a/src/DevTools/Extension/components/Shell/components/AtomViewer/components/AtomDetail/components/AtomParseRawValue.tsx b/src/DevTools/Extension/components/Shell/components/AtomViewer/components/AtomDetail/components/AtomParseRawValue.tsx
new file mode 100644
index 00000000..c83debd4
--- /dev/null
+++ b/src/DevTools/Extension/components/Shell/components/AtomViewer/components/AtomDetail/components/AtomParseRawValue.tsx
@@ -0,0 +1,40 @@
+import React from 'react';
+import { Box, Text } from '@mantine/core';
+import { AnyAtomValue } from 'src/types';
+import {
+  ErrorSymbol,
+  stringifyAtomValue,
+} from '../../../../../../../../utils/';
+import { ErrorMessage } from '../../../../ErrorMessage';
+import {
+  MemoizedValueRenderer,
+  getPrismLanguageType,
+} from './MemoizedValueRenderer';
+
+type AtomParseRawValueValueProps = {
+  atomValue: AnyAtomValue;
+};
+
+export const AtomParseRawValueValue = ({
+  atomValue,
+}: AtomParseRawValueValueProps): JSX.Element => {
+  const prismLanguageType = getPrismLanguageType(atomValue);
+  const parsedValue = stringifyAtomValue(atomValue);
+
+  return (
+    <Box>
+      <Text fw="bold" mb="sm">
+        Raw value
+      </Text>
+      {/* TODO investigate if this could ever be the case given that the parent component is wrapped with suspense */}
+      {parsedValue === ErrorSymbol ? (
+        <ErrorMessage message="Failed to parse the value of the atom" />
+      ) : (
+        <MemoizedValueRenderer
+          value={parsedValue}
+          prismLanguageType={prismLanguageType}
+        />
+      )}
+    </Box>
+  );
+};
diff --git a/src/DevTools/Extension/components/Shell/components/AtomViewer/components/AtomDetail/components/DisplayAtomDetails.tsx b/src/DevTools/Extension/components/Shell/components/AtomViewer/components/AtomDetail/components/DisplayAtomDetails.tsx
new file mode 100644
index 00000000..9832389e
--- /dev/null
+++ b/src/DevTools/Extension/components/Shell/components/AtomViewer/components/AtomDetail/components/DisplayAtomDetails.tsx
@@ -0,0 +1,38 @@
+import React from 'react';
+import { Stack } from '@mantine/core';
+import { AnyAtom } from 'src/types';
+import { getTypeOfAtomValue } from '../../../../../../../../utils/get-type-of-atom-value';
+import { useInternalAtomValue } from '../../../hooks/useInternalAtomValue';
+import { AtomDependentsList } from './AtomDependentsList';
+import { AtomMetaDetails } from './AtomMetaDetails';
+import { AtomParseRawValueValue } from './AtomParseRawValue';
+
+type DisplayAtomDetailsProps = {
+  atom: AnyAtom;
+};
+
+export const DisplayAtomDetails = ({ atom }: DisplayAtomDetailsProps) => {
+  const atomValue = useInternalAtomValue(atom);
+  const atomValueType = getTypeOfAtomValue(atomValue);
+
+  return (
+    <Stack h="auto">
+      <AtomMetaDetails
+        debugLabel={atom?.debugLabel}
+        atomValueType={atomValueType}
+        isAtomPrivate={atom?.debugPrivate}
+      />
+
+      <AtomParseRawValueValue atomValue={atomValue} />
+
+      {/* FIXME: Bug in core jotai prevents us from subscribing deeply nested atoms properly*/}
+      {/* {shouldDisplayDeepNestedValue && (
+        <AtomParseDeepNestedValue atom={atom} atomValueType={atomValueType} />
+      )} */}
+
+      {/* TODO add dependencies list */}
+
+      <AtomDependentsList atom={atom} />
+    </Stack>
+  );
+};
diff --git a/src/DevTools/Extension/components/Shell/components/AtomViewer/components/AtomDetail/components/MemoizedValueRenderer.tsx b/src/DevTools/Extension/components/Shell/components/AtomViewer/components/AtomDetail/components/MemoizedValueRenderer.tsx
new file mode 100644
index 00000000..c1425b9d
--- /dev/null
+++ b/src/DevTools/Extension/components/Shell/components/AtomViewer/components/AtomDetail/components/MemoizedValueRenderer.tsx
@@ -0,0 +1,49 @@
+import * as React from 'react';
+import { AnyAtomValue } from 'src/types';
+import { getTypeOfAtomValue } from '../../../../../../../../utils';
+import {
+  CodeSyntaxHighlighter,
+  CodeSyntaxHighlighterProps,
+} from '../../../../CodeSyntaxHighlighter';
+
+// List of types to render in JavaScript syntax
+const javaScriptLanguageTypes = [
+  'object',
+  'array',
+  'null',
+  'undefined',
+  'function',
+  'symbol',
+];
+
+export const getPrismLanguageType = (
+  atomValue: AnyAtomValue,
+): CodeSyntaxHighlighterProps['language'] => {
+  const type = getTypeOfAtomValue(atomValue);
+
+  if (javaScriptLanguageTypes.includes(type)) {
+    return 'javascript';
+  }
+
+  return 'markdown';
+};
+
+type MemoizedValueRendererProps = {
+  value: string;
+  prismLanguageType: ReturnType<typeof getPrismLanguageType>;
+};
+
+export const MemoizedValueRenderer = React.memo(
+  ({ prismLanguageType, value }: MemoizedValueRendererProps): JSX.Element => {
+    return (
+      <CodeSyntaxHighlighter
+        language={prismLanguageType}
+        mb={10}
+        copyLabel="Copy value"
+        data-testid="atom-parsed-value"
+      >
+        {value}
+      </CodeSyntaxHighlighter>
+    );
+  },
+);
diff --git a/src/DevTools/Extension/components/Shell/components/AtomViewer/components/AtomDetail/index.ts b/src/DevTools/Extension/components/Shell/components/AtomViewer/components/AtomDetail/index.ts
new file mode 100644
index 00000000..cc518d10
--- /dev/null
+++ b/src/DevTools/Extension/components/Shell/components/AtomViewer/components/AtomDetail/index.ts
@@ -0,0 +1 @@
+export * from './AtomDetail';
diff --git a/src/DevTools/Extension/components/Shell/components/AtomViewer/components/AtomList/AtomList.tsx b/src/DevTools/Extension/components/Shell/components/AtomViewer/components/AtomList/AtomList.tsx
new file mode 100644
index 00000000..1bdb1ef2
--- /dev/null
+++ b/src/DevTools/Extension/components/Shell/components/AtomViewer/components/AtomList/AtomList.tsx
@@ -0,0 +1,122 @@
+import * as React from 'react';
+import { Box, Group, Sx, Text, TextInput } from '@mantine/core';
+import { IconAlertCircle } from '@tabler/icons';
+import { useAtom, useAtomValue } from 'jotai/react';
+import { useSyncSnapshotValuesToAtom } from '../../../../../../../hooks/useAtomsSnapshots';
+import { useDevtoolsJotaiStoreOptions } from '../../../../../../../internal-jotai-store';
+import {
+  filteredValuesAtom,
+  searchInputAtom,
+  selectedAtomAtom,
+} from '../../atoms';
+import { AtomListItem } from './components/AtomListItem';
+
+const textStyles: Sx = {
+  position: 'sticky',
+  top: 0,
+};
+
+const SearchAtoms = React.memo(() => {
+  const [userInput, setUserInput] = useAtom(
+    searchInputAtom,
+    useDevtoolsJotaiStoreOptions(),
+  );
+
+  const handleOnChange: React.ChangeEventHandler<HTMLInputElement> = (
+    event,
+  ) => {
+    const {
+      target: { value },
+    } = event;
+    setUserInput(value);
+  };
+
+  return (
+    <TextInput
+      label="Search"
+      placeholder="atom debug label"
+      pt={10}
+      pb={10}
+      sx={textStyles}
+      value={userInput}
+      onChange={handleOnChange}
+    />
+  );
+});
+
+const atomItemsWrapperStyle = { overflow: 'auto' };
+
+export const AtomList = () => {
+  useSyncSnapshotValuesToAtom();
+
+  const values = useAtomValue(
+    filteredValuesAtom,
+    useDevtoolsJotaiStoreOptions(),
+  );
+  const [selectedAtomData, setSelectedAtomAtom] = useAtom(
+    selectedAtomAtom,
+    useDevtoolsJotaiStoreOptions(),
+  );
+
+  const valuesRef = React.useRef(values);
+
+  React.useEffect(() => {
+    valuesRef.current = values;
+  }, [values]);
+
+  const handleOnClick = React.useCallback(
+    (pos: number) => {
+      if (!valuesRef.current[pos]) {
+        // This should almost never occur
+        // Atom pos and valuesRef.current are out-of-sync if it occurs
+        throw new Error(`Unable to find atom at ${pos} index`);
+      }
+
+      setSelectedAtomAtom((currValue) => {
+        // TODO Should we find this by atom key instead?
+        const foundAtom = valuesRef.current[pos]?.[0];
+
+        if (!foundAtom || currValue?.atomKey === foundAtom?.toString()) {
+          return undefined;
+        }
+
+        return { atomKey: foundAtom?.toString(), atom: foundAtom };
+      });
+    },
+    [setSelectedAtomAtom],
+  );
+
+  const atomItems = React.useMemo(
+    () =>
+      values.map(([atom], i) => {
+        return (
+          <AtomListItem
+            key={`atom-list-item-${atom.toString() + i}`}
+            label={atom.debugLabel}
+            onClick={handleOnClick}
+            pos={i}
+            isActive={selectedAtomData?.atomKey === atom.toString()}
+            atomKey={atom.toString()}
+          />
+        );
+      }),
+    [values, selectedAtomData, handleOnClick],
+  );
+
+  const noResultsFound = !values.length;
+
+  return (
+    <>
+      <SearchAtoms />
+      <Box sx={atomItemsWrapperStyle}>{atomItems}</Box>
+      {noResultsFound && (
+        <Group mt={20} position="center">
+          <IconAlertCircle size={16} />
+          <Text fz="sm" ml={0} data-testid="atom-list-no-atoms-found-message">
+            No Atoms found!
+          </Text>
+        </Group>
+      )}
+    </>
+  );
+};
diff --git a/src/DevTools/Extension/components/Shell/components/AtomViewer/components/AtomList/components/AtomListItem.tsx b/src/DevTools/Extension/components/Shell/components/AtomViewer/components/AtomList/components/AtomListItem.tsx
new file mode 100644
index 00000000..3115ae75
--- /dev/null
+++ b/src/DevTools/Extension/components/Shell/components/AtomViewer/components/AtomList/components/AtomListItem.tsx
@@ -0,0 +1,49 @@
+import * as React from 'react';
+import { NavLink, Sx, Text } from '@mantine/core';
+import { IconChevronRight } from '@tabler/icons';
+import { useThemeMode } from '../../../../../../../../hooks/useThemeMode';
+import { parseDebugLabel } from '../../../../../../../../utils/parse-debug-label';
+
+type AtomListItemProps = {
+  label?: string | undefined;
+  onClick: (pos: number) => void;
+  atomKey: string;
+  pos: number;
+  isActive: boolean;
+};
+
+const monoSpaceFonts: Sx = (theme) => ({
+  fontFamily: theme.fontFamilyMonospace || 'JetBrains Mono',
+});
+
+const navLinkStyles: Sx = () => ({
+  borderRadius: 5,
+});
+
+export const AtomListItem = React.memo(
+  ({ label, onClick, pos, isActive }: AtomListItemProps) => {
+    return (
+      <NavLink
+        label={React.useMemo(
+          () => (
+            <Text sx={monoSpaceFonts}>{parseDebugLabel(label)}</Text>
+          ),
+          [label],
+        )}
+        variant="filled"
+        sx={navLinkStyles}
+        active={isActive}
+        color={useThemeMode('dark', 'gray')}
+        onClick={React.useCallback(() => onClick(pos), [onClick, pos])}
+        rightSection={React.useMemo(
+          () => (
+            <IconChevronRight size={12} stroke={1.5} />
+          ),
+          [],
+        )}
+      />
+    );
+  },
+);
+
+AtomListItem.displayName = 'AtomListItem';
diff --git a/src/DevTools/Extension/components/Shell/components/AtomViewer/components/AtomList/index.ts b/src/DevTools/Extension/components/Shell/components/AtomViewer/components/AtomList/index.ts
new file mode 100644
index 00000000..e9627171
--- /dev/null
+++ b/src/DevTools/Extension/components/Shell/components/AtomViewer/components/AtomList/index.ts
@@ -0,0 +1 @@
+export * from './AtomList';
diff --git a/src/DevTools/Extension/components/Shell/components/AtomViewer/hooks/use.ts b/src/DevTools/Extension/components/Shell/components/AtomViewer/hooks/use.ts
new file mode 100644
index 00000000..b255caa2
--- /dev/null
+++ b/src/DevTools/Extension/components/Shell/components/AtomViewer/hooks/use.ts
@@ -0,0 +1,37 @@
+/// <reference types="react/experimental" />
+import ReactExports from 'react';
+
+export const isPromise = (x: unknown): x is Promise<unknown> =>
+  x instanceof Promise;
+
+// Copied as is, from Jotai core
+export const use =
+  ReactExports.use ||
+  (<T>(
+    promise: Promise<T> & {
+      status?: 'pending' | 'fulfilled' | 'rejected';
+      value?: T;
+      reason?: unknown;
+    },
+  ): T => {
+    if (promise.status === 'pending') {
+      throw promise;
+    } else if (promise.status === 'fulfilled') {
+      return promise.value as T;
+    } else if (promise.status === 'rejected') {
+      throw promise.reason;
+    } else {
+      promise.status = 'pending';
+      promise.then(
+        (v) => {
+          promise.status = 'fulfilled';
+          promise.value = v;
+        },
+        (e) => {
+          promise.status = 'rejected';
+          promise.reason = e;
+        },
+      );
+      throw promise;
+    }
+  });
diff --git a/src/DevTools/Extension/components/Shell/components/AtomViewer/hooks/useInternalAtomValue.ts b/src/DevTools/Extension/components/Shell/components/AtomViewer/hooks/useInternalAtomValue.ts
new file mode 100644
index 00000000..c8beeb25
--- /dev/null
+++ b/src/DevTools/Extension/components/Shell/components/AtomViewer/hooks/useInternalAtomValue.ts
@@ -0,0 +1,119 @@
+import { useEffect, useReducer } from 'react';
+import type { ReducerWithoutAction } from 'react';
+import { useSetAtom, useStore } from 'jotai/react';
+import type { Atom, ExtractAtomValue } from 'jotai/vanilla';
+import {
+  useDevtoolsJotaiStoreOptions,
+  useInternalStore,
+} from '../../../../../../../DevTools/internal-jotai-store';
+import { selectedAtomAtom } from '../atoms';
+import { useUserStore } from './../../../../../../hooks/useUserStore';
+import { isPromise, use } from './use';
+
+type Store = ReturnType<typeof useStore>;
+
+type AtomSubscribeFunction = {
+  (): void;
+  isJotaiDevTools: true;
+};
+
+const isInternalAtomSubscribeFunction = (
+  cb: AtomSubscribeFunction | (() => void),
+) => (cb as AtomSubscribeFunction)?.isJotaiDevTools;
+// We don't seem to need this right now
+const delay = undefined;
+export function useInternalAtomValue<Value>(atom: Atom<Value>): Awaited<Value>;
+
+export function useInternalAtomValue<AtomType extends Atom<unknown>>(
+  atom: AtomType,
+): Awaited<ExtractAtomValue<AtomType>>;
+
+export function useInternalAtomValue<Value>(atom: Atom<Value>) {
+  const userStore = useUserStore();
+  const internalStore = useInternalStore();
+  const setSelectedAtomAtom = useSetAtom(
+    selectedAtomAtom,
+    useDevtoolsJotaiStoreOptions(),
+  );
+
+  const [[valueFromReducer, storeFromReducer, atomFromReducer], rerender] =
+    useReducer<
+      ReducerWithoutAction<readonly [Value, Store, typeof atom]>,
+      undefined
+    >(
+      (prev) => {
+        const nextValue = userStore.get(atom);
+        if (
+          Object.is(prev[0], nextValue) &&
+          prev[1] === userStore &&
+          prev[2] === atom
+        ) {
+          return prev;
+        }
+        return [nextValue, userStore, atom];
+      },
+      undefined,
+      () => [userStore.get(atom), userStore, atom],
+    );
+
+  let value = valueFromReducer;
+  if (storeFromReducer !== userStore || atomFromReducer !== atom) {
+    rerender();
+    value = userStore.get(atom);
+  }
+
+  useEffect(() => {
+    if (!userStore.dev_subscribe_state) return;
+
+    // FIXME replace this with `store.dev_subscribe_store` check after next minor Jotai 2.1.0?
+    let devSubscribeStore = userStore.dev_subscribe_state;
+
+    if (typeof userStore.dev_subscribe_store === 'function') {
+      devSubscribeStore = userStore.dev_subscribe_store;
+    }
+
+    const atomSubCb = <AtomSubscribeFunction>(() => {
+      if (typeof delay === 'number') {
+        // delay rerendering to wait a promise possibly to resolve
+        setTimeout(rerender, delay);
+        return;
+      }
+      rerender();
+    });
+
+    atomSubCb.isJotaiDevTools = true;
+
+    const devSubCb = (
+      type?: Parameters<Parameters<typeof userStore.dev_subscribe_store>[0]>[0],
+    ) => {
+      if (type !== 'unsub') {
+        return;
+      }
+
+      const activeValue = internalStore.get(selectedAtomAtom);
+      if (activeValue) {
+        const { l = [], t } =
+          userStore.dev_get_mounted?.(activeValue.atom) || {};
+        const listenersArray = Array.from(l);
+        const areAllCallbacksInternal = listenersArray.every(
+          isInternalAtomSubscribeFunction,
+        );
+        // If all the callbacks are internal, and there is only one listener, then we can assume that the atom is not being used anywhere else in user's app
+        // and is safe to deselect
+        if (areAllCallbacksInternal && t && t?.size <= 1) {
+          return setSelectedAtomAtom(undefined);
+        }
+      }
+    };
+    const devUnsubscribeStore = devSubscribeStore?.(devSubCb);
+
+    const unsub = userStore.sub(atom, atomSubCb);
+    rerender();
+    return () => {
+      devUnsubscribeStore?.();
+      unsub();
+    };
+  }, [userStore, setSelectedAtomAtom, internalStore, atom]);
+
+  return isPromise(value) ? use(value) : (value as Awaited<Value>);
+}
diff --git a/src/DevTools/Extension/components/Shell/components/AtomViewer/index.ts b/src/DevTools/Extension/components/Shell/components/AtomViewer/index.ts
new file mode 100644
index 00000000..20bff927
--- /dev/null
+++ b/src/DevTools/Extension/components/Shell/components/AtomViewer/index.ts
@@ -0,0 +1 @@
+export * from './AtomViewer';
diff --git a/src/DevTools/Extension/components/Shell/components/AtomViewer/utils/filter-atoms-by-string.ts b/src/DevTools/Extension/components/Shell/components/AtomViewer/utils/filter-atoms-by-string.ts
new file mode 100644
index 00000000..3b3731ff
--- /dev/null
+++ b/src/DevTools/Extension/components/Shell/components/AtomViewer/utils/filter-atoms-by-string.ts
@@ -0,0 +1,18 @@
+import { ValuesAtomTuple } from 'src/types';
+import { parseDebugLabel } from './../../../../../../utils/parse-debug-label';
+
+export const filterAtomsByString = (
+  searchString: string,
+  defaultAtoms: ValuesAtomTuple[],
+) => {
+  const normalizedStr = searchString.trim().toLocaleLowerCase();
+  if (!normalizedStr) {
+    return defaultAtoms;
+  }
+
+  return defaultAtoms.filter(([atomTuple]) => {
+    const parsedDebugLabel = parseDebugLabel(atomTuple?.debugLabel);
+    const normalizedLabel = parsedDebugLabel.toLocaleLowerCase();
+    return normalizedLabel.includes(normalizedStr);
+  });
+};
diff --git a/src/DevTools/Extension/components/Shell/components/AtomViewer/utils/filter-private-atoms.ts b/src/DevTools/Extension/components/Shell/components/AtomViewer/utils/filter-private-atoms.ts
new file mode 100644
index 00000000..a3bd39cb
--- /dev/null
+++ b/src/DevTools/Extension/components/Shell/components/AtomViewer/utils/filter-private-atoms.ts
@@ -0,0 +1,5 @@
+import { ValuesAtomTuple } from '../../../../../../../types';
+
+export const filterPrivateAtoms = (atoms: ValuesAtomTuple[]) => {
+  return atoms.filter(([atom]) => !atom?.debugPrivate);
+};
diff --git a/src/DevTools/Extension/components/Shell/components/CodeSyntaxHighlighter.tsx b/src/DevTools/Extension/components/Shell/components/CodeSyntaxHighlighter.tsx
new file mode 100644
index 00000000..d0efede1
--- /dev/null
+++ b/src/DevTools/Extension/components/Shell/components/CodeSyntaxHighlighter.tsx
@@ -0,0 +1,12 @@
+import * as React from 'react';
+import { Prism, PrismProps } from '@mantine/prism';
+
+// Omit "getPrismTheme" prop because we'll apply a custom component-wide theme here
+export type CodeSyntaxHighlighterProps = Omit<PrismProps, 'getPrismTheme'>;
+
+export const CodeSyntaxHighlighter = ({
+  children,
+  ...rest
+}: React.PropsWithChildren<CodeSyntaxHighlighterProps>) => {
+  return <Prism {...rest}>{children}</Prism>;
+};
diff --git a/src/DevTools/Extension/components/Shell/components/ErrorBoundary.tsx b/src/DevTools/Extension/components/Shell/components/ErrorBoundary.tsx
new file mode 100644
index 00000000..c272e360
--- /dev/null
+++ b/src/DevTools/Extension/components/Shell/components/ErrorBoundary.tsx
@@ -0,0 +1,69 @@
+import * as React from 'react';
+import { Anchor, Box, Flex, Sx, Text } from '@mantine/core';
+import { IconAlertCircle } from '@tabler/icons';
+import {
+  FallbackProps,
+  ErrorBoundary as ReactErrorBoundary,
+} from 'react-error-boundary';
+import { useThemeMode } from '../../../../hooks/useThemeMode';
+import { CodeSyntaxHighlighter } from './CodeSyntaxHighlighter';
+
+const textStyles: Sx = {
+  display: 'flex',
+  alignItems: 'center',
+};
+
+const ErrorFallback = ({ error }: FallbackProps) => {
+  if (Error?.stackTraceLimit) {
+    Error.stackTraceLimit = 5;
+  }
+
+  Error?.captureStackTrace?.(error);
+
+  const themedRedColor = useThemeMode('red.8', 'red.5');
+
+  return (
+    <Flex
+      role="alert"
+      justify="center"
+      align="center"
+      h="90%"
+      sx={{ overflow: 'scroll' }}
+      data-testid="jotai-devtools-error-boundary"
+    >
+      <Box w="100%" maw="80%" mah="80%">
+        <Text size="md" fw="500" color={themedRedColor} sx={textStyles} mb={5}>
+          <Text mr={5} sx={textStyles}>
+            <IconAlertCircle size={16} />
+          </Text>
+          Uh-oh, something went wrong.
+        </Text>
+
+        <Text size="sm" color={themedRedColor} mb="sm">
+          If you believe this to be a bug, please file an issue on{' '}
+          <Anchor
+            href="https://github.com/jotaijs/jotai-devtools/issues"
+            color={themedRedColor}
+            td="underline"
+            target="_blank"
+            rel="noreferrer noopener"
+          >
+            Jotai DevTool's GitHub repo
+          </Anchor>{' '}
+          with a minimal reproduction and the following error
+        </Text>
+        <CodeSyntaxHighlighter language="javascript">
+          {error.stack?.toString() || error.message}
+        </CodeSyntaxHighlighter>
+      </Box>
+    </Flex>
+  );
+};
+
+export const ErrorBoundary = ({ children }: React.PropsWithChildren) => {
+  return (
+    <ReactErrorBoundary FallbackComponent={ErrorFallback}>
+      {children}
+    </ReactErrorBoundary>
+  );
+};
diff --git a/src/DevTools/Extension/components/Shell/components/ErrorMessage.tsx b/src/DevTools/Extension/components/Shell/components/ErrorMessage.tsx
new file mode 100644
index 00000000..0aa24a4d
--- /dev/null
+++ b/src/DevTools/Extension/components/Shell/components/ErrorMessage.tsx
@@ -0,0 +1,25 @@
+import * as React from 'react';
+import { Sx, Text } from '@mantine/core';
+import { IconAlertCircle } from '@tabler/icons';
+import { useThemeMode } from '../../../../hooks/useThemeMode';
+type ErrorMessageProps = {
+  message: string;
+};
+
+const textStyles: Sx = {
+  display: 'flex',
+  alignItems: 'center',
+};
+
+export const ErrorMessage = ({ message }: ErrorMessageProps) => {
+  const themedRedColor = useThemeMode('red.8', 'red.5');
+
+  return (
+    <Text size="sm" fw="500" color={themedRedColor} sx={textStyles}>
+      <Text mr={5} sx={textStyles}>
+        <IconAlertCircle size={16} />
+      </Text>
+      {message}
+    </Text>
+  );
+};
diff --git a/src/DevTools/Extension/components/Shell/components/Header/Header.tsx b/src/DevTools/Extension/components/Shell/components/Header/Header.tsx
new file mode 100644
index 00000000..90f310c6
--- /dev/null
+++ b/src/DevTools/Extension/components/Shell/components/Header/Header.tsx
@@ -0,0 +1,51 @@
+import * as React from 'react';
+import { ActionIcon, Badge, Box, Flex, Group, Sx, Title } from '@mantine/core';
+import { IconMinus } from '@tabler/icons';
+import { useSetAtom } from 'jotai/react';
+import { isShellOpenAtom } from '../../../../../atoms/is-shell-open-atom';
+import { useDevtoolsJotaiStoreOptions } from '../../../../../internal-jotai-store';
+import { ThemeToggle } from './components/ThemeToggle';
+
+const headerStyles: Sx = {
+  position: 'sticky',
+  top: 0,
+  zIndex: 1,
+  width: '100%',
+};
+
+const logoStyles: Sx = { userSelect: 'none' };
+
+export const Header = React.memo(() => {
+  const setIsShellOpen = useSetAtom(
+    isShellOpenAtom,
+    useDevtoolsJotaiStoreOptions(),
+  );
+
+  return (
+    <Box sx={headerStyles}>
+      <Flex justify="space-between" align="center" p={10}>
+        <Group mr={10}>
+          <Title size="h4" sx={logoStyles}>
+            πŸ‘»&nbsp;Jōtai DevTools
+          </Title>
+          <Badge color="orange" size="xs">
+            Alpha
+          </Badge>
+        </Group>
+        <Flex align="center">
+          <ThemeToggle />
+
+          <ActionIcon
+            ml={10}
+            title="Minimize panel"
+            radius="md"
+            onClick={() => setIsShellOpen(false)}
+          >
+            <IconMinus size={16} />
+          </ActionIcon>
+        </Flex>
+      </Flex>
+    </Box>
+  );
+});
+Header.displayName = 'Header';
diff --git a/src/DevTools/Extension/components/Shell/components/Header/components/ThemeToggle.tsx b/src/DevTools/Extension/components/Shell/components/Header/components/ThemeToggle.tsx
new file mode 100644
index 00000000..3e369fb3
--- /dev/null
+++ b/src/DevTools/Extension/components/Shell/components/Header/components/ThemeToggle.tsx
@@ -0,0 +1,19 @@
+import React from 'react';
+import { ActionIcon, useMantineColorScheme } from '@mantine/core';
+import { IconMoonStars, IconSun } from '@tabler/icons';
+
+export const ThemeToggle = () => {
+  const { colorScheme, toggleColorScheme } = useMantineColorScheme();
+  const dark = colorScheme === 'dark';
+
+  return (
+    <ActionIcon
+      variant="filled"
+      color={dark ? 'gray' : 'dark'}
+      onClick={() => toggleColorScheme()}
+      title="Toggle color scheme"
+    >
+      {dark ? <IconSun size={16} /> : <IconMoonStars size={16} />}
+    </ActionIcon>
+  );
+};
diff --git a/src/DevTools/Extension/components/Shell/components/Header/index.ts b/src/DevTools/Extension/components/Shell/components/Header/index.ts
new file mode 100644
index 00000000..266dec8a
--- /dev/null
+++ b/src/DevTools/Extension/components/Shell/components/Header/index.ts
@@ -0,0 +1 @@
+export * from './Header';
diff --git a/src/DevTools/Extension/components/Shell/components/PanelResizeHandle.tsx b/src/DevTools/Extension/components/Shell/components/PanelResizeHandle.tsx
new file mode 100644
index 00000000..03ffbd4c
--- /dev/null
+++ b/src/DevTools/Extension/components/Shell/components/PanelResizeHandle.tsx
@@ -0,0 +1,42 @@
+import React from 'react';
+import { Box, Sx } from '@mantine/core';
+import { PanelResizeHandle as ReactPanelResizeHandle } from 'react-resizable-panels';
+import { useThemeMode } from '../../../../hooks/useThemeMode';
+
+const reactPanelResizeHandleStyles = {
+  display: 'flex',
+  alignItems: 'center',
+  '._jotai-devtools-internal-panel-resize-handle': {
+    transition: 'max-height, min-height, height, 0.2s ease-out',
+  },
+  '[data-resize-handle-active] &, &:hover': {
+    '._jotai-devtools-internal-panel-resize-handle': {
+      height: '90%',
+      minHeight: '90%',
+      maxHeight: '90%',
+    },
+  },
+};
+const innerContainerStyles: Sx = {
+  borderRadius: '2rem',
+  verticalAlign: 'middle',
+};
+
+export const PanelResizeHandle = () => {
+  return (
+    <ReactPanelResizeHandle>
+      <Box p="5" h="100%" sx={reactPanelResizeHandleStyles}>
+        <Box
+          className="_jotai-devtools-internal-panel-resize-handle"
+          mah={100}
+          mih={50}
+          h="20%"
+          w={5}
+          m={5}
+          bg={useThemeMode('gray.3', 'gray.7')}
+          sx={innerContainerStyles}
+        />
+      </Box>
+    </ReactPanelResizeHandle>
+  );
+};
diff --git a/src/DevTools/Extension/components/Shell/components/ShellResizeBar.tsx b/src/DevTools/Extension/components/Shell/components/ShellResizeBar.tsx
new file mode 100644
index 00000000..14ef6567
--- /dev/null
+++ b/src/DevTools/Extension/components/Shell/components/ShellResizeBar.tsx
@@ -0,0 +1,61 @@
+import * as React from 'react';
+import { Box, Sx } from '@mantine/core';
+import { useSetAtom } from 'jotai/react';
+import { shellStylesAtom } from '../../../../atoms/shell-styles';
+import { shellStyleDefaults } from '../../../../constants';
+import { useDevtoolsJotaiStoreOptions } from '../../../../internal-jotai-store';
+
+type ShellResizeBarProps = {
+  // element: HTMLDivElement | null;
+  shellRef?: React.RefObject<HTMLDivElement> | null;
+};
+
+const shellResizeBarStyles: Sx = {
+  width: '100%',
+  height: 5,
+  cursor: 'row-resize',
+  zIndex: 2,
+  position: 'absolute',
+  // offset it by 2px as user might try to lift it from the edge
+  top: -2,
+};
+export const ShellResizeBar = ({ shellRef }: ShellResizeBarProps) => {
+  const setShellStyle = useSetAtom(
+    shellStylesAtom,
+    useDevtoolsJotaiStoreOptions(),
+  );
+
+  const handleMouseDown: React.MouseEventHandler<HTMLDivElement> = (
+    mouseDownEvent,
+  ) => {
+    const startY = mouseDownEvent.clientY;
+    const { height = 500 } = shellRef?.current?.getBoundingClientRect() || {};
+    const updateDimensions = (event: MouseEvent) => {
+      event.preventDefault();
+      const nextHeight = height + startY - event.clientY;
+
+      setShellStyle((prev) => ({
+        ...prev,
+        isDragging: true,
+        height: Math.max(nextHeight, shellStyleDefaults.minHeight),
+      }));
+    };
+
+    const unsub = () => {
+      setShellStyle((prev) => ({ ...prev, isDragging: false }));
+      document.removeEventListener('mousemove', updateDimensions, false);
+      document.removeEventListener('mouseUp', unsub, false);
+    };
+
+    document.addEventListener('mousemove', updateDimensions, false);
+    document.addEventListener('mouseup', unsub, false);
+  };
+
+  return (
+    <Box
+      sx={shellResizeBarStyles}
+      onMouseDown={handleMouseDown}
+      data-testid="shell-resize-bar"
+    />
+  );
+};
diff --git a/src/DevTools/Extension/components/Shell/components/TabsHeader.tsx b/src/DevTools/Extension/components/Shell/components/TabsHeader.tsx
new file mode 100644
index 00000000..c9e3fae9
--- /dev/null
+++ b/src/DevTools/Extension/components/Shell/components/TabsHeader.tsx
@@ -0,0 +1,32 @@
+import * as React from 'react';
+import { Tabs } from '@mantine/core';
+import { IconLayoutList } from '@tabler/icons';
+import { TabKeys } from '../../../../constants';
+
+export const TabsHeader = React.memo(() => {
+  return (
+    <Tabs.List>
+      <Tabs.Tab value={TabKeys.AtomViewer} icon={<IconLayoutList size={14} />}>
+        Atom Viewer
+      </Tabs.Tab>
+
+      {/* TODO Add these features */}
+      {/* <Tabs.Tab
+        value={TabKeys.TimeTravel}
+        icon={<IconTimeline size={14} />}
+        disabled
+      >
+        Time travel
+      </Tabs.Tab>
+      <Tabs.Tab
+        value={TabKeys.AtomGraph}
+        icon={<IconVectorTriangle size={14} />}
+        disabled
+      >
+        Atom Graph
+      </Tabs.Tab> */}
+    </Tabs.List>
+  );
+});
+
+TabsHeader.displayName = 'TabsHeader';
diff --git a/src/DevTools/Extension/components/Shell/index.ts b/src/DevTools/Extension/components/Shell/index.ts
new file mode 100644
index 00000000..535fad8a
--- /dev/null
+++ b/src/DevTools/Extension/components/Shell/index.ts
@@ -0,0 +1 @@
+export * from './Shell';
diff --git a/src/DevTools/Extension/components/Shell/styles.ts b/src/DevTools/Extension/components/Shell/styles.ts
new file mode 100644
index 00000000..917c45f4
--- /dev/null
+++ b/src/DevTools/Extension/components/Shell/styles.ts
@@ -0,0 +1,21 @@
+import { Sx } from '@mantine/core';
+
+export const shellStyles: Sx = (theme) => ({
+  position: 'fixed',
+  left: 0,
+  bottom: 0,
+  // subtract margins
+  width: 'calc(100% - 20px)',
+  // TODO Do we need this
+  //   userSelect: isDragging ? 'none' : 'auto',
+  borderColor:
+    theme.colorScheme === 'dark' ? theme.colors.dark[4] : theme.colors.gray[3],
+  borderWidth: 1,
+  borderStyle: 'solid',
+  // Changing this may cause overlaps of bg in nested divs
+  borderRadius: '8px',
+  background: theme.colorScheme === 'dark' ? theme.colors.dark[7] : theme.white,
+  display: 'flex',
+  flexDirection: 'column',
+  zIndex: 99999,
+});
diff --git a/src/DevTools/Extension/index.ts b/src/DevTools/Extension/index.ts
new file mode 100644
index 00000000..ed6786a6
--- /dev/null
+++ b/src/DevTools/Extension/index.ts
@@ -0,0 +1 @@
+export * from './Extension';
diff --git a/src/DevTools/atoms/devtools-options.ts b/src/DevTools/atoms/devtools-options.ts
new file mode 100644
index 00000000..4001a160
--- /dev/null
+++ b/src/DevTools/atoms/devtools-options.ts
@@ -0,0 +1,56 @@
+import { useAtomValue, useSetAtom } from 'jotai/react';
+import { atom } from 'jotai/vanilla';
+import { useDevtoolsJotaiStoreOptions } from '../internal-jotai-store';
+
+export type DevToolsOptions = {
+  /**
+   * Parsing strategy for AtomViewer. Defaults to `raw`
+   */
+  // FIXME: There is a bug in Jotai core that prevents us from subscribing to nested atom value properly
+  // atomValueParser?: /**
+  //  *  parses the top level atom value but doesn't parse values of atoms within atoms
+  //  */
+  // | 'raw'
+  //   /**
+  //    *  parses values of atoms within atoms. Comes with linear performance curve
+  //    *  the bigger the object, the slower the performance
+  //    */
+  //   | 'deep-nested';
+  /**
+   * Defaults to `false`
+   *
+   * Private are atoms that are used by Jotai libraries internally to manage state.
+   * They're often used internally in atoms like `atomWithStorage` or `atomWithLocation`, etc. to manage state.
+   */
+  shouldShowPrivateAtoms?: boolean;
+};
+
+const defaultDevToolsOptions: DevToolsOptions = {
+  shouldShowPrivateAtoms: false,
+};
+
+const internalDevToolsOptions = atom<DevToolsOptions>(defaultDevToolsOptions);
+
+export const devToolsOptionsAtom = atom<
+  DevToolsOptions,
+  [DevToolsOptions | undefined],
+  void
+>(
+  (get) => {
+    return get(internalDevToolsOptions);
+  },
+  (_, set, options) => {
+    const patchWithDefaultsDevToolsOptions = {
+      ...defaultDevToolsOptions,
+      ...options,
+    };
+
+    set(internalDevToolsOptions, patchWithDefaultsDevToolsOptions);
+  },
+);
+
+export const useSetDevToolsOptions = () =>
+  useSetAtom(devToolsOptionsAtom, useDevtoolsJotaiStoreOptions());
+
+export const useDevToolsOptionsValue = () =>
+  useAtomValue(devToolsOptionsAtom, useDevtoolsJotaiStoreOptions());
diff --git a/src/DevTools/atoms/is-shell-open-atom.ts b/src/DevTools/atoms/is-shell-open-atom.ts
new file mode 100644
index 00000000..a7df67a5
--- /dev/null
+++ b/src/DevTools/atoms/is-shell-open-atom.ts
@@ -0,0 +1,6 @@
+import { atomWithStorage } from 'jotai/vanilla/utils';
+
+export const isShellOpenAtom = atomWithStorage<boolean | null>(
+  'jotai-devtools-is-shell-open',
+  null,
+);
diff --git a/src/DevTools/atoms/shell-styles.ts b/src/DevTools/atoms/shell-styles.ts
new file mode 100644
index 00000000..d2a70b92
--- /dev/null
+++ b/src/DevTools/atoms/shell-styles.ts
@@ -0,0 +1,12 @@
+import { atom } from 'jotai/vanilla';
+import { shellStyleDefaults } from '../constants';
+
+type ShellStyleAtomData = {
+  height: number;
+  isDragging: boolean;
+};
+
+export const shellStylesAtom = atom<ShellStyleAtomData>({
+  height: shellStyleDefaults.defaultHeight,
+  isDragging: false,
+});
diff --git a/src/DevTools/atoms/user-custom-store.ts b/src/DevTools/atoms/user-custom-store.ts
new file mode 100644
index 00000000..aef4cea8
--- /dev/null
+++ b/src/DevTools/atoms/user-custom-store.ts
@@ -0,0 +1,12 @@
+import { useAtomValue, useSetAtom } from 'jotai/react';
+import { atom } from 'jotai/vanilla';
+import { Store } from 'src/types';
+import { useDevtoolsJotaiStoreOptions } from '../internal-jotai-store';
+
+const userCustomStoreAtom = atom<Store | undefined>(undefined);
+
+export const useUserCustomStoreValue = () =>
+  useAtomValue(userCustomStoreAtom, useDevtoolsJotaiStoreOptions());
+
+export const useSetCustomStore = () =>
+  useSetAtom(userCustomStoreAtom, useDevtoolsJotaiStoreOptions());
diff --git a/src/DevTools/atoms/values-atom.ts b/src/DevTools/atoms/values-atom.ts
new file mode 100644
index 00000000..1fc85ecc
--- /dev/null
+++ b/src/DevTools/atoms/values-atom.ts
@@ -0,0 +1,17 @@
+import { useAtom, useAtomValue } from 'jotai/react';
+import { atom } from 'jotai/vanilla';
+import { ValuesAtomTuple } from 'src/types';
+import { useDevtoolsJotaiStoreOptions } from '../internal-jotai-store';
+
+export const valuesAtom = atom<ValuesAtomTuple[]>([]);
+
+/**
+ * @internal
+ *
+ * @returns [ValuesAtomTuple, Setter]
+ */
+export const useSnapshotValues = () =>
+  useAtom(valuesAtom, useDevtoolsJotaiStoreOptions());
+
+export const useSnapshotValuesValue = () =>
+  useAtomValue(valuesAtom, useDevtoolsJotaiStoreOptions());
diff --git a/src/DevTools/constants.ts b/src/DevTools/constants.ts
new file mode 100644
index 00000000..2dbf61a6
--- /dev/null
+++ b/src/DevTools/constants.ts
@@ -0,0 +1,15 @@
+// storing this as a constants to reuse it across the Shell
+// This could be searched by user on the Atom viewer as well
+export const unlabeledAtomLabel = '<unlabeled-atom>';
+
+export const shellStyleDefaults = {
+  minHeight: 200, // in px
+  maxHeight: '90%',
+  defaultHeight: 370, // in px
+};
+
+export enum TabKeys {
+  AtomViewer = 'atom-viewer',
+  TimeTravel = 'time-travel',
+  AtomGraph = 'atom-graph',
+}
diff --git a/src/DevTools/fonts/files/Inter-Bold.woff2 b/src/DevTools/fonts/files/Inter-Bold.woff2
new file mode 100644
index 00000000..2846f29c
Binary files /dev/null and b/src/DevTools/fonts/files/Inter-Bold.woff2 differ
diff --git a/src/DevTools/fonts/files/Inter-Medium.woff2 b/src/DevTools/fonts/files/Inter-Medium.woff2
new file mode 100644
index 00000000..f92498a2
Binary files /dev/null and b/src/DevTools/fonts/files/Inter-Medium.woff2 differ
diff --git a/src/DevTools/fonts/files/Inter-Regular.woff2 b/src/DevTools/fonts/files/Inter-Regular.woff2
new file mode 100644
index 00000000..6c2b6893
Binary files /dev/null and b/src/DevTools/fonts/files/Inter-Regular.woff2 differ
diff --git a/src/DevTools/fonts/files/Inter-SemiBold.woff2 b/src/DevTools/fonts/files/Inter-SemiBold.woff2
new file mode 100644
index 00000000..611e90c9
Binary files /dev/null and b/src/DevTools/fonts/files/Inter-SemiBold.woff2 differ
diff --git a/src/DevTools/fonts/files/JetBrainsMono-Bold.woff2 b/src/DevTools/fonts/files/JetBrainsMono-Bold.woff2
new file mode 100644
index 00000000..4917f434
Binary files /dev/null and b/src/DevTools/fonts/files/JetBrainsMono-Bold.woff2 differ
diff --git a/src/DevTools/fonts/files/JetBrainsMono-Regular.woff2 b/src/DevTools/fonts/files/JetBrainsMono-Regular.woff2
new file mode 100644
index 00000000..40da4276
Binary files /dev/null and b/src/DevTools/fonts/files/JetBrainsMono-Regular.woff2 differ
diff --git a/src/DevTools/fonts/files/JetBrainsMono-SemiBold.woff2 b/src/DevTools/fonts/files/JetBrainsMono-SemiBold.woff2
new file mode 100644
index 00000000..5ead7b0d
Binary files /dev/null and b/src/DevTools/fonts/files/JetBrainsMono-SemiBold.woff2 differ
diff --git a/src/DevTools/fonts/fonts.ts b/src/DevTools/fonts/fonts.ts
new file mode 100644
index 00000000..8bf3b04a
--- /dev/null
+++ b/src/DevTools/fonts/fonts.ts
@@ -0,0 +1,72 @@
+import { css } from '@emotion/react';
+import inter700 from './files/Inter-Bold.woff2';
+import inter500 from './files/Inter-Medium.woff2';
+import inter400 from './files/Inter-Regular.woff2';
+import inter600 from './files/Inter-SemiBold.woff2';
+import jetbrainsMono700 from './files/JetBrainsMono-Bold.woff2';
+import jetbrainsMono400 from './files/JetBrainsMono-Regular.woff2';
+import jetbrainsMono600 from './files/JetBrainsMono-SemiBold.woff2';
+
+export const fontCss = css`
+  @font-face {
+    /* inter-latin-400-normal*/
+    font-family: 'Inter';
+    font-style: normal;
+    font-display: swap;
+    font-weight: 400;
+    src: url('${inter400}') format('woff2');
+  }
+
+  @font-face {
+    /* inter-latin-500-normal*/
+    font-family: 'Inter';
+    font-style: normal;
+    font-display: swap;
+    font-weight: 500;
+    src: url('${inter500}') format('woff2');
+  }
+
+  @font-face {
+    /* inter-latin-600-normal*/
+    font-family: 'Inter';
+    font-style: normal;
+    font-display: swap;
+    font-weight: 600;
+    src: url('${inter600}') format('woff2');
+  }
+
+  @font-face {
+    font-family: 'Inter';
+    font-style: normal;
+    font-display: swap;
+    font-weight: 700;
+    src: url('${inter700}') format('woff2');
+  }
+
+  @font-face {
+    /* jetbrains-mono-latin-400-normal*/
+    font-family: 'JetBrains Mono';
+    font-style: normal;
+    font-display: swap;
+    font-weight: 400;
+    src: url('${jetbrainsMono400}') format('woff2');
+  }
+
+  @font-face {
+    /* jetbrains-mono-latin-600-normal*/
+    font-family: 'JetBrains Mono';
+    font-style: normal;
+    font-display: swap;
+    font-weight: 600;
+    src: url('${jetbrainsMono600}') format('woff2');
+  }
+
+  @font-face {
+    /* jetbrains-mono-latin-700-normal*/
+    font-family: 'JetBrains Mono';
+    font-style: normal;
+    font-display: swap;
+    font-weight: 700;
+    src: url('${jetbrainsMono700}') format('woff2');
+  }
+`;
diff --git a/src/DevTools/fonts/index.ts b/src/DevTools/fonts/index.ts
new file mode 100644
index 00000000..e3dc4916
--- /dev/null
+++ b/src/DevTools/fonts/index.ts
@@ -0,0 +1 @@
+export * from './fonts';
diff --git a/src/DevTools/hooks/useAtomsSnapshots.ts b/src/DevTools/hooks/useAtomsSnapshots.ts
new file mode 100644
index 00000000..abff6d9c
--- /dev/null
+++ b/src/DevTools/hooks/useAtomsSnapshots.ts
@@ -0,0 +1,33 @@
+import { useEffect, useMemo } from 'react';
+import { Options } from 'src/types';
+import { useAtomsSnapshot as useJotaiAtomsSnapshot } from '../../utils';
+import { useSnapshotValues } from '../atoms/values-atom';
+import { useUserStore } from './useUserStore';
+
+export const useAtomsSnapshots = () => {
+  const store = useUserStore();
+  const opts: Options = { store };
+
+  const currentSnapshots = useJotaiAtomsSnapshot(opts);
+  return currentSnapshots;
+};
+
+// We're doing this to to prevent creating multiple
+// copies for values array and share it via DevtoolsJotaiStore
+// The idea is for the entire Shell to share values atom
+export const useSyncSnapshotValuesToAtom = () => {
+  const currentSnapshots = useAtomsSnapshots();
+  const [values, setValues] = useSnapshotValues();
+
+  const valuesArr = useMemo(() => {
+    const nextValues = Array.from(currentSnapshots.values);
+
+    return nextValues;
+  }, [currentSnapshots.values]);
+
+  useEffect(() => {
+    setValues(valuesArr);
+  }, [setValues, valuesArr]);
+
+  return values;
+};
diff --git a/src/DevTools/hooks/useThemeMode.tsx b/src/DevTools/hooks/useThemeMode.tsx
new file mode 100644
index 00000000..440e319a
--- /dev/null
+++ b/src/DevTools/hooks/useThemeMode.tsx
@@ -0,0 +1,6 @@
+import { useMantineColorScheme } from '@mantine/core';
+
+export const useThemeMode = <L, T>(light: L, dark: T) => {
+  const { colorScheme } = useMantineColorScheme();
+  return colorScheme === 'light' ? light : dark;
+};
diff --git a/src/DevTools/hooks/useUserStore.ts b/src/DevTools/hooks/useUserStore.ts
new file mode 100644
index 00000000..e94fca1a
--- /dev/null
+++ b/src/DevTools/hooks/useUserStore.ts
@@ -0,0 +1,19 @@
+import { useStore } from 'jotai/react';
+import { Options } from 'src/types';
+import { useUserCustomStoreValue } from '../atoms/user-custom-store';
+
+export const useUserStore = () => {
+  const possibleUserStore = useUserCustomStoreValue();
+
+  const userStore = useStore(
+    // This defaults to user's default store in a `provider-less` mode
+    possibleUserStore ? { store: possibleUserStore } : undefined,
+  );
+
+  return userStore;
+};
+
+export const useUserStoreOptions = (): Options => {
+  const store = useUserStore();
+  return { store: store };
+};
diff --git a/src/DevTools/index.ts b/src/DevTools/index.ts
new file mode 100644
index 00000000..fe4f7591
--- /dev/null
+++ b/src/DevTools/index.ts
@@ -0,0 +1 @@
+export * from './DevTools';
diff --git a/src/DevTools/internal-jotai-store.ts b/src/DevTools/internal-jotai-store.ts
new file mode 100644
index 00000000..074f8882
--- /dev/null
+++ b/src/DevTools/internal-jotai-store.ts
@@ -0,0 +1,24 @@
+import { createContext, useContext } from 'react';
+import { createStore } from 'jotai/vanilla';
+import { Store } from 'src/types';
+
+// Don't use this directly in your components
+// use `useDevtoolsJotaiStoreOptions` instead
+export const internalJotaiStore = createStore();
+export const InternalDevToolsContext = createContext<Store | undefined>(
+  undefined,
+);
+
+export const useInternalStore = (): Store => {
+  const store = useContext(InternalDevToolsContext);
+  if (!store) {
+    throw new Error(
+      `Unable to find internal Jotai store, Did you wrap the component within DevToolsProvider?`,
+    );
+  }
+  return store;
+};
+
+export const useDevtoolsJotaiStoreOptions = () => ({
+  store: useInternalStore(),
+});
diff --git a/src/DevTools/utils/create-memoized-emotion-cache.ts b/src/DevTools/utils/create-memoized-emotion-cache.ts
new file mode 100644
index 00000000..f2626ef6
--- /dev/null
+++ b/src/DevTools/utils/create-memoized-emotion-cache.ts
@@ -0,0 +1,26 @@
+import { EmotionCache } from '@emotion/react';
+import { createEmotionCache } from '@mantine/core';
+
+type EmotionCacheOptions = Parameters<typeof createEmotionCache>[0];
+
+// Creating a cache is an expensive operation, so we only do it once if the style nonce is present.
+let emotionCache: EmotionCache | undefined;
+
+export const createMemoizedEmotionCache = (styleNonce?: string) => {
+  return () => {
+    if (emotionCache) {
+      return emotionCache;
+    }
+
+    const createEmotionCacheOptions: EmotionCacheOptions = {
+      key: 'jotai-devtools',
+    };
+
+    if (styleNonce) {
+      createEmotionCacheOptions.nonce = styleNonce;
+    }
+
+    emotionCache = createEmotionCache(createEmotionCacheOptions);
+    return emotionCache;
+  };
+};
diff --git a/src/DevTools/utils/get-type-of-atom-value.ts b/src/DevTools/utils/get-type-of-atom-value.ts
new file mode 100644
index 00000000..3ca17536
--- /dev/null
+++ b/src/DevTools/utils/get-type-of-atom-value.ts
@@ -0,0 +1,49 @@
+import { WritableAtom } from 'jotai/vanilla';
+import { AnyAtom, AnyAtomValue, WithInitialValue } from 'src/types';
+
+const isValueAtom = (value: AnyAtomValue): value is AnyAtom => {
+  return (
+    typeof (value as Partial<AnyAtom>)?.read === 'function' ||
+    typeof (value as WritableAtom<any, any, any>)?.write === 'function' ||
+    !!(value as WithInitialValue)?.init ||
+    !!(value as Partial<AnyAtom>)?.debugLabel
+  );
+};
+
+type TypeOfReturn =
+  | 'string'
+  | 'number'
+  | 'bigint'
+  | 'boolean'
+  | 'symbol'
+  | 'undefined'
+  | 'object'
+  | 'function';
+
+export type AtomValueType =
+  | 'promise'
+  | 'array'
+  | 'null'
+  | 'atom'
+  | TypeOfReturn;
+
+export const getTypeOfAtomValue = (value: AnyAtomValue): AtomValueType => {
+  if (value instanceof Promise) {
+    return 'promise';
+  }
+
+  if (Array.isArray(value)) {
+    return 'array';
+  }
+
+  if (value === null) {
+    return 'null';
+  }
+
+  if (isValueAtom(value)) {
+    return 'atom';
+  }
+
+  const result = typeof value;
+  return result;
+};
diff --git a/src/DevTools/utils/index.ts b/src/DevTools/utils/index.ts
new file mode 100644
index 00000000..bb5dcdd5
--- /dev/null
+++ b/src/DevTools/utils/index.ts
@@ -0,0 +1,5 @@
+export * from './get-type-of-atom-value';
+export * from './parse-atom-value';
+export * from './parse-debug-label';
+export * from './stringify-atom-value';
+export * from './create-memoized-emotion-cache';
diff --git a/src/DevTools/utils/parse-atom-value.ts b/src/DevTools/utils/parse-atom-value.ts
new file mode 100644
index 00000000..4f2fc94b
--- /dev/null
+++ b/src/DevTools/utils/parse-atom-value.ts
@@ -0,0 +1,60 @@
+import type { AnyAtom, AnyAtomValue, Store } from 'src/types';
+import { getTypeOfAtomValue } from './get-type-of-atom-value';
+
+const deepParseArrayAtom = (
+  atomValue: AnyAtomValue[],
+  userStore: Store,
+): AnyAtomValue[] => {
+  const values = atomValue.map((value: AnyAtomValue) => {
+    return deepParseAtomValue(value, userStore);
+  });
+
+  return values;
+};
+
+const deepParseObjectAtom = (
+  atomValue: Record<any, any>,
+  userStore: Store,
+): Record<any, any> => {
+  const nextValueMap: Record<string, AnyAtomValue> = {};
+  for (const property in atomValue) {
+    const value = atomValue[property];
+    nextValueMap[property] = deepParseAtomValue(value, userStore);
+  }
+  return nextValueMap;
+};
+
+// Only call this if `atomValue` type has been identified as Atom
+const deepParseAtomAtom = (
+  atomValue: AnyAtom,
+  userStore: Store,
+): AnyAtomValue => {
+  const parsedValue = userStore.get(atomValue);
+  return deepParseAtomValue(parsedValue, userStore);
+};
+
+// FIXME replace `type === 'something'` checks with TS guards?
+// Don't call this fn recursively, it'll result in an infinite loop
+export const deepParseAtomValue = (
+  atomValue: AnyAtom | AnyAtomValue,
+  userStore: Store,
+) => {
+  const type = getTypeOfAtomValue(atomValue);
+
+  if (type === 'atom') {
+    return deepParseAtomAtom(atomValue as AnyAtom, userStore);
+  }
+
+  if (type === 'object') {
+    return deepParseObjectAtom(atomValue as object, userStore);
+  }
+
+  if (type === 'array') {
+    return deepParseArrayAtom(
+      atomValue as unknown as AnyAtomValue[],
+      userStore,
+    );
+  }
+
+  return atomValue;
+};
diff --git a/src/DevTools/utils/parse-debug-label.ts b/src/DevTools/utils/parse-debug-label.ts
new file mode 100644
index 00000000..beef66ea
--- /dev/null
+++ b/src/DevTools/utils/parse-debug-label.ts
@@ -0,0 +1,5 @@
+import { unlabeledAtomLabel } from '../constants';
+
+export const parseDebugLabel = (label?: string): string => {
+  return label || unlabeledAtomLabel;
+};
diff --git a/src/DevTools/utils/stringify-atom-value.ts b/src/DevTools/utils/stringify-atom-value.ts
new file mode 100644
index 00000000..2d3dca53
--- /dev/null
+++ b/src/DevTools/utils/stringify-atom-value.ts
@@ -0,0 +1,30 @@
+import { serialize } from 'superjson';
+import { AnyAtomValue } from 'src/types';
+import { getTypeOfAtomValue } from './get-type-of-atom-value';
+
+const literalStringValues = ['bigint', 'symbol', 'undefined', 'function'];
+export const ErrorSymbol = Symbol('parsing-error');
+
+export const stringifyAtomValue = (
+  atomValue: AnyAtomValue,
+): string | typeof ErrorSymbol => {
+  const type = getTypeOfAtomValue(atomValue);
+
+  if (literalStringValues.includes(type)) {
+    return String(atomValue);
+  }
+
+  const { json } = serialize(atomValue);
+  try {
+    const result = JSON.stringify(json, null, 2);
+
+    // Perhaps a value that we couldn't serialize?
+    if (typeof result === 'undefined') {
+      return String(atomValue);
+    }
+
+    return result;
+  } catch (e) {
+    return ErrorSymbol;
+  }
+};
diff --git a/src/index.ts b/src/index.ts
index 04bca77e..ccf7dd8f 100644
--- a/src/index.ts
+++ b/src/index.ts
@@ -1 +1,2 @@
+export * from './DevTools';
 export * from './utils';
diff --git a/src/stories/Default/Demos/Async.tsx b/src/stories/Default/Demos/Async.tsx
new file mode 100644
index 00000000..ae0a6ab5
--- /dev/null
+++ b/src/stories/Default/Demos/Async.tsx
@@ -0,0 +1,50 @@
+import React from 'react';
+import { Box, Button, Text, Title } from '@mantine/core';
+import { useAtom } from 'jotai/react';
+import { atom } from 'jotai/vanilla';
+import { demoStoreOptions } from './demo-store';
+
+const delayedPromise = (data: any) =>
+  new Promise((resolve) => {
+    const timeout = setTimeout(() => {
+      clearTimeout(timeout);
+      resolve(data);
+    }, 8000);
+  });
+
+const getRandomNumberBetweenMinAndMax = (min = 1, max = 100) => {
+  return Math.round(Math.random() * max) + min;
+};
+const makeRandomFetchReq = async () => {
+  const id = getRandomNumberBetweenMinAndMax();
+  return fetch(`https://jsonplaceholder.typicode.com/posts/${id}`).then(
+    (res) => {
+      return delayedPromise(res.json());
+    },
+  );
+};
+// const asyncAtom = atom<Promise<any>>(Promise.resolve(null));
+const asyncAtom = atom(Promise.resolve<any>(null));
+asyncAtom.debugLabel = 'asyncAtom';
+
+export const Async = () => {
+  const [request, setRequest] = useAtom(asyncAtom, demoStoreOptions);
+  // const setRequest = useSetAtom(asyncAtom, demoStoreOptions);
+
+  const handleFetchClick = async () => {
+    setRequest(makeRandomFetchReq); // Will suspend until request resolves
+  };
+
+  return (
+    <Box>
+      <Title size="h5">Async</Title>
+      <Text mb={10} color="dark.2">
+        Out-of-the-box Suspense support. <i>Timeout: 8000 ms</i>
+      </Text>
+      <Text>Request status: {!request ? 'Ready' : 'βœ… Success'} </Text>
+      <Button onClick={handleFetchClick} size="xs" uppercase mt={5}>
+        Fetch
+      </Button>
+    </Box>
+  );
+};
diff --git a/src/stories/Default/Demos/Counter.tsx b/src/stories/Default/Demos/Counter.tsx
new file mode 100644
index 00000000..a8250ad7
--- /dev/null
+++ b/src/stories/Default/Demos/Counter.tsx
@@ -0,0 +1,32 @@
+import * as React from 'react';
+import { Box, Button, Code, Title } from '@mantine/core';
+import { useAtom } from 'jotai/react';
+import { atom } from 'jotai/vanilla';
+import { demoStoreOptions } from './demo-store';
+
+const countAtom = atom(0);
+countAtom.debugLabel = 'countAtom';
+
+export const Counter = () => {
+  const [count, setCount] = useAtom(countAtom, demoStoreOptions);
+
+  return (
+    <Box maw="500px">
+      <Title size="h5">Counter</Title>
+      <Code color="gray" block>
+        {count}
+      </Code>
+
+      <Button
+        display="block"
+        mt={5}
+        onClick={React.useCallback(() => setCount((c) => c + 1), [setCount])}
+        size="xs"
+        uppercase
+        color="dark"
+      >
+        Add 1
+      </Button>
+    </Box>
+  );
+};
diff --git a/src/stories/Default/Demos/DemoApp.tsx b/src/stories/Default/Demos/DemoApp.tsx
new file mode 100644
index 00000000..c6e69e78
--- /dev/null
+++ b/src/stories/Default/Demos/DemoApp.tsx
@@ -0,0 +1,54 @@
+import * as React from 'react';
+import { Grid, MantineProvider, Text, Title } from '@mantine/core';
+import { DevTools, DevToolsProps } from '../../../DevTools';
+import { Async } from './Async';
+import { Counter } from './Counter';
+import { DemoJotaiStoreContext, demoStore } from './demo-store';
+import { Random } from './Random';
+import { Todos } from './Todos';
+
+export const DemoApp = (props: DevToolsProps) => {
+  return (
+    <DemoJotaiStoreContext.Provider value={demoStore}>
+      <MantineProvider
+        withNormalizeCSS
+        withGlobalStyles
+        theme={{
+          primaryColor: 'dark',
+          cursorType: 'pointer',
+        }}
+      >
+        <DevTools store={demoStore} {...props} />
+        <div className="App">
+          <React.Suspense
+            fallback={
+              <Text className="loading-suspense">
+                Your suspense loading component...
+              </Text>
+            }
+          >
+            <Title size="h3">Demos</Title>
+            <Text mb={10} color="dark.2">
+              Jotai DevTools β€” Early Preview
+            </Text>
+
+            <Grid gutter="xl">
+              <Grid.Col span={6}>
+                <Random />
+              </Grid.Col>
+              <Grid.Col span={6}>
+                <Counter />
+              </Grid.Col>
+              <Grid.Col span={6}>
+                <Todos />
+              </Grid.Col>{' '}
+              <Grid.Col span={6}>
+                <Async />
+              </Grid.Col>
+            </Grid>
+          </React.Suspense>
+        </div>
+      </MantineProvider>
+    </DemoJotaiStoreContext.Provider>
+  );
+};
diff --git a/src/stories/Default/Demos/Random.tsx b/src/stories/Default/Demos/Random.tsx
new file mode 100644
index 00000000..5e25bc84
--- /dev/null
+++ b/src/stories/Default/Demos/Random.tsx
@@ -0,0 +1,108 @@
+import * as React from 'react';
+import { Box, Button, Code, Divider, Title } from '@mantine/core';
+import { useAtom, useAtomValue } from 'jotai/react';
+import { atom } from 'jotai/vanilla';
+import { demoStoreOptions } from './demo-store';
+
+const countAtom = atom(1);
+countAtom.debugLabel = 'randomCountAtom';
+
+const textAtom = atom('hello');
+textAtom.debugLabel = 'textAtom';
+
+// Try out a really long big int - 2n ** 999n
+const bigintAtom = atom(BigInt(Number.MAX_SAFE_INTEGER));
+bigintAtom.debugLabel = 'bigintAtom';
+
+const atomReturnsUndefined = atom(undefined);
+atomReturnsUndefined.debugLabel = 'atomReturnsUndefined';
+
+const atomWithSomeSymbol = atom(Symbol('hello'));
+atomWithSomeSymbol.debugLabel = 'atomWithSomeSymbol';
+
+const atomWithFunction = atom(() => () => 'hello');
+atomWithFunction.debugLabel = 'atomWithFunction';
+
+const nestedObjectAtom = atom((get) => {
+  return {
+    nestedObject: {
+      doubleCount: get(countAtom) * 2,
+      tripleCount: get(countAtom) * 3,
+    },
+    foo: 'bar',
+  };
+});
+
+nestedObjectAtom.debugLabel = 'nestedObjectAtom';
+
+const atomsInAtomsCountAtom = atom(atom(atom((get) => get(countAtom))));
+atomsInAtomsCountAtom.debugLabel = 'atomsInAtomsCountAtom';
+
+const baseErrorAtom = atom(0);
+const triggerErrorAtom = atom(
+  (get) => {
+    const val = get(baseErrorAtom);
+    if (val >= 1) {
+      const randomFn = function () {};
+      randomFn.toString = () => {
+        throw new Error('Random error');
+      };
+      return randomFn;
+    }
+
+    return val;
+  },
+  (get, set) => {
+    return set(baseErrorAtom, (prev) => prev + 1);
+  },
+);
+triggerErrorAtom.debugLabel = 'triggerErrorAtom';
+export const Random = () => {
+  const [count, setCount] = useAtom(countAtom, demoStoreOptions);
+  const [, setError] = useAtom(triggerErrorAtom, demoStoreOptions);
+  // We're not displaying these values on the UI
+  // eslint-disable-next-line @typescript-eslint/no-unused-vars
+  useAtomValue(nestedObjectAtom, demoStoreOptions);
+  useAtomValue(textAtom, demoStoreOptions);
+  useAtomValue(bigintAtom, demoStoreOptions);
+  useAtomValue(atomReturnsUndefined, demoStoreOptions);
+  useAtomValue(atomWithSomeSymbol, demoStoreOptions);
+  useAtomValue(atomWithFunction, demoStoreOptions);
+
+  // eslint-disable-next-line @typescript-eslint/no-unused-vars
+  const atomsInAtomsCount = useAtomValue(
+    atomsInAtomsCountAtom,
+    demoStoreOptions,
+  );
+
+  return (
+    <Box maw="500px">
+      <Title size="h5">Random</Title>
+      <Code color="gray" block>
+        {count}
+      </Code>
+
+      <Button
+        display="block"
+        mt={5}
+        onClick={React.useCallback(() => setCount((c) => c + 1), [setCount])}
+        size="xs"
+        uppercase
+        color="dark"
+      >
+        Add 1
+      </Button>
+      <Divider size="sm" my="lg" />
+      <Button
+        display="block"
+        mt={5}
+        onClick={setError}
+        size="xs"
+        uppercase
+        color="red.8"
+      >
+        Trigger error πŸ’₯
+      </Button>
+    </Box>
+  );
+};
diff --git a/src/stories/Default/Demos/Todos.tsx b/src/stories/Default/Demos/Todos.tsx
new file mode 100644
index 00000000..77a2182f
--- /dev/null
+++ b/src/stories/Default/Demos/Todos.tsx
@@ -0,0 +1,150 @@
+import * as React from 'react';
+import {
+  ActionIcon,
+  Box,
+  Checkbox,
+  Flex,
+  List,
+  Radio,
+  Text,
+  TextInput,
+  Title,
+} from '@mantine/core';
+import { IconX } from '@tabler/icons';
+import { useAtom, useSetAtom } from 'jotai/react';
+import { PrimitiveAtom, atom } from 'jotai/vanilla';
+import { demoStoreOptions } from './demo-store';
+
+type Todo = {
+  title: string;
+  completed: boolean;
+};
+
+const filterAtom = atom('all');
+// filterAtom.debugLabel = "filterAtom";
+
+const initialAtom = atom<Todo>({ title: 'test', completed: false });
+const todosAtom = atom<PrimitiveAtom<Todo>[]>([initialAtom]);
+todosAtom.debugLabel = 'todosAtom';
+
+const filteredAtom = atom<PrimitiveAtom<Todo>[]>((get) => {
+  const filter = get(filterAtom);
+  const todos = get(todosAtom);
+  if (filter === 'all') {
+    return todos;
+  } else if (filter === 'completed') {
+    return todos.filter((atom) => get(atom).completed);
+  } else {
+    return todos.filter((atom) => !get(atom).completed);
+  }
+});
+
+filteredAtom.debugLabel = 'filteredAtom';
+
+type RemoveFn = (item: PrimitiveAtom<Todo>) => void;
+type TodoItemProps = {
+  atom: PrimitiveAtom<Todo>;
+  remove: RemoveFn;
+};
+
+const TodoItem = ({ atom, remove }: TodoItemProps) => {
+  const [item, setItem] = useAtom(atom, demoStoreOptions);
+  React.useEffect(() => {
+    // atom.debugLabel = 'Todo Item - ' + item.title;
+  }, [atom]);
+  const toggleCompleted = () =>
+    setItem((props) => ({ ...props, completed: !props.completed }));
+  return (
+    <Flex justify="space-between" align="center" my={10}>
+      <Flex align="center">
+        <Checkbox
+          size="xs"
+          onChange={toggleCompleted}
+          checked={item.completed}
+          display="block"
+          mr={10}
+          mb={-6}
+        />
+        <Text
+          sx={() => ({
+            textDecoration: item.completed ? 'line-through' : '',
+          })}
+          fz="md"
+        >
+          {item.title}
+        </Text>
+      </Flex>
+
+      <ActionIcon
+        onClick={() => remove(atom)}
+        variant="outline"
+        color="dark"
+        size="sm"
+      >
+        <IconX />
+      </ActionIcon>
+    </Flex>
+  );
+};
+
+const Filter = () => {
+  const [filter, set] = useAtom(filterAtom, demoStoreOptions);
+
+  return (
+    <Radio.Group onChange={(value) => set(value)} value={filter}>
+      <Radio value="all" label="All" />
+      <Radio value="completed" label="Completed" />
+      <Radio value="incompleted" label="Incompleted" />
+    </Radio.Group>
+  );
+};
+
+type FilteredType = {
+  remove: RemoveFn;
+};
+
+const Filtered = (props: FilteredType) => {
+  const [todos] = useAtom(filteredAtom, demoStoreOptions);
+  const components = todos.map((atom, i) => (
+    <TodoItem
+      atom={atom}
+      key={`todo-item${i}` + atom.toString()}
+      remove={props.remove}
+    />
+  ));
+
+  return <>{components}</>;
+};
+
+const TodoList = () => {
+  const setTodos = useSetAtom(todosAtom, demoStoreOptions);
+  const remove: RemoveFn = (todo) =>
+    setTodos((prev) => prev.filter((item) => item !== todo));
+  const add = (e: React.FormEvent<HTMLFormElement>) => {
+    e.preventDefault();
+    const title = e.currentTarget.inputTitle.value;
+    e.currentTarget.inputTitle.value = '';
+    if (title.trim()) {
+      setTodos((prev) => [...prev, atom<Todo>({ title, completed: false })]);
+    }
+  };
+
+  return (
+    <form onSubmit={add}>
+      <Filter />
+      <TextInput placeholder="Type your todo" name="inputTitle" mt="sm" />
+      <List listStyleType="none">
+        <Filtered remove={remove} />
+      </List>
+    </form>
+  );
+};
+
+export const Todos = () => {
+  return (
+    <Box maw="500px">
+      <Title size="h5">Todo list</Title>
+      <TodoList />
+    </Box>
+  );
+};
diff --git a/src/stories/Default/Demos/demo-store.ts b/src/stories/Default/Demos/demo-store.ts
new file mode 100644
index 00000000..c70ef17a
--- /dev/null
+++ b/src/stories/Default/Demos/demo-store.ts
@@ -0,0 +1,8 @@
+import { createContext } from 'react';
+import { createStore } from 'jotai/vanilla';
+
+export const demoStore = createStore();
+export const DemoJotaiStoreContext =
+  createContext<ReturnType<typeof createStore>>(demoStore);
+
+export const demoStoreOptions = { store: demoStore };
diff --git a/src/stories/Default/DevTools.stories.tsx b/src/stories/Default/DevTools.stories.tsx
new file mode 100644
index 00000000..470511af
--- /dev/null
+++ b/src/stories/Default/DevTools.stories.tsx
@@ -0,0 +1,55 @@
+import React from 'react';
+import { Meta, StoryObj } from '@storybook/react';
+import { DevTools, DevToolsProps } from '../../DevTools';
+import { DemoApp } from './Demos/DemoApp';
+
+export default {
+  component: DevTools,
+  title: 'Devtools',
+} as Meta<typeof DevTools>;
+
+type CustomStorybookProps = DevToolsProps & {
+  'options.atomValueParser': 'raw' | 'deep-nested';
+  'options.shouldShowPrivateAtoms': boolean;
+};
+
+type Story = StoryObj<CustomStorybookProps>;
+
+export const Default: Story = {
+  render: ({ ...args }) => {
+    const nextOptions = {
+      ...args.options,
+      atomValueParser: args['options.atomValueParser'],
+      shouldShowPrivateAtoms: args['options.shouldShowPrivateAtoms'],
+    };
+    const props = {
+      ...args,
+      options: nextOptions,
+    };
+    return <DemoApp {...props} />;
+  },
+  args: {
+    isInitialOpen: true,
+    'options.atomValueParser': 'raw',
+    'options.shouldShowPrivateAtoms': false,
+  },
+  argTypes: {
+    store: {
+      control: {
+        type: false,
+      },
+    },
+    options: {
+      control: {
+        type: false,
+      },
+    },
+    'options.atomValueParser': {
+      label: 'Atom Value Parser',
+      options: ['raw', 'deep-nested'],
+      control: {
+        type: 'radio',
+      },
+    },
+  },
+};
diff --git a/src/stories/Default/Playground/Playground.stories.tsx b/src/stories/Default/Playground/Playground.stories.tsx
new file mode 100644
index 00000000..2c1a0b95
--- /dev/null
+++ b/src/stories/Default/Playground/Playground.stories.tsx
@@ -0,0 +1,80 @@
+import React from 'react';
+import { MantineProvider } from '@mantine/core';
+import { Meta, StoryObj } from '@storybook/react';
+import { DevTools, DevToolsProps } from '../../../DevTools';
+import { Playground } from './Playground';
+
+export default {
+  component: DevTools,
+  title: 'DevtoolsPlayground',
+  argTypes: {
+    store: {
+      control: {
+        type: false,
+      },
+    },
+    options: {
+      control: {
+        type: false,
+      },
+    },
+  },
+} as Meta;
+
+type CustomStorybookProps = DevToolsProps & {
+  'options.atomValueParser': 'raw' | 'deep-nested';
+  'options.shouldShowPrivateAtoms': boolean;
+};
+
+type Story = StoryObj<CustomStorybookProps>;
+
+export const Default: Story = {
+  render: ({ ...args }) => {
+    const nextOptions = {
+      ...args.options,
+      atomValueParser: args['options.atomValueParser'],
+      shouldShowPrivateAtoms: args['options.shouldShowPrivateAtoms'],
+    };
+    const props = {
+      ...args,
+      options: nextOptions,
+    };
+    return (
+      <MantineProvider
+        withNormalizeCSS
+        withGlobalStyles
+        theme={{
+          primaryColor: 'dark',
+          cursorType: 'pointer',
+        }}
+      >
+        <DevTools {...props} />
+        <Playground />
+      </MantineProvider>
+    );
+  },
+  args: {
+    isInitialOpen: true,
+    'options.atomValueParser': 'raw',
+    'options.shouldShowPrivateAtoms': false,
+  },
+  argTypes: {
+    store: {
+      control: {
+        type: false,
+      },
+    },
+    options: {
+      control: {
+        type: false,
+      },
+    },
+    'options.atomValueParser': {
+      label: 'Atom Value Parser',
+      options: ['raw', 'deep-nested'],
+      control: {
+        type: 'radio',
+      },
+    },
+  },
+};
diff --git a/src/stories/Default/Playground/Playground.tsx b/src/stories/Default/Playground/Playground.tsx
new file mode 100644
index 00000000..b0b48d87
--- /dev/null
+++ b/src/stories/Default/Playground/Playground.tsx
@@ -0,0 +1,103 @@
+import * as React from 'react';
+import { Title } from '@mantine/core';
+import { atom, useAtom, useAtomValue } from 'jotai';
+import { atomsWithQuery } from 'jotai-tanstack-query';
+import {
+  atomWithDefault,
+  atomWithObservable,
+  loadable,
+  splitAtom,
+  unstable_unwrap as unwrap,
+} from 'jotai/vanilla/utils';
+import { interval } from 'rxjs';
+import { map } from 'rxjs/operators';
+import { SomeComponentWithToggle } from './SomeComponent';
+
+const baseCountAtom = atom(1);
+baseCountAtom.debugLabel = 'baseCountAtom';
+
+const countAtomWithDefaultAtom = atomWithDefault(
+  (get) => get(baseCountAtom) * 2,
+);
+countAtomWithDefaultAtom.debugLabel = 'countAtomWithDefaultAtom';
+
+const counterSubject = interval(1000).pipe(map((i) => `#${i}`));
+const counterAtom = atomWithObservable(() => counterSubject);
+counterAtom.debugLabel = 'counterAtom';
+
+const asyncAtom = atom(async (get) => {
+  return new Promise((resolve) => {
+    const timer = window.setTimeout(() => {
+      clearTimeout(timer);
+      resolve('Resolved data');
+    }, 1000);
+  });
+});
+
+asyncAtom.debugLabel = 'asyncAtom';
+
+const loadableAtom = loadable(asyncAtom);
+loadableAtom.debugLabel = 'loadableAtom';
+
+const someRandomArray = [
+  {
+    id: 1,
+    name: 'John',
+  },
+  {
+    id: 2,
+    name: 'Jane',
+  },
+];
+
+const arrayAtom = atom(someRandomArray);
+arrayAtom.debugLabel = 'arrayAtom';
+
+const splitAtomAtom = splitAtom(arrayAtom);
+splitAtomAtom.debugLabel = 'splitAtomAtom';
+
+const asyncArrayAtom = atom(async () => someRandomArray);
+asyncArrayAtom.debugLabel = 'asyncArrayAtom';
+
+const splitAsyncAtom = splitAtom(unwrap(asyncArrayAtom, () => []));
+splitAsyncAtom.debugLabel = 'splitAsyncAtom';
+
+const idAtom = atom(1);
+idAtom.debugLabel = 'idAtom';
+
+const [userAtom] = atomsWithQuery((get) => ({
+  queryKey: ['users', get(idAtom)],
+  queryFn: async ({ queryKey: [, id] }) => {
+    const res = await fetch(`https://jsonplaceholder.typicode.com/users/${id}`);
+    return res.json();
+  },
+}));
+userAtom.debugLabel = 'userAtom';
+
+const UserData = () => {
+  const [data] = useAtom(userAtom);
+  return <div>{JSON.stringify(data)}</div>;
+};
+
+class CircularClass {
+  circular: any;
+  constructor() {
+    this.circular = this;
+  }
+}
+
+const circularObject: InstanceType<typeof CircularClass> = new CircularClass();
+
+const circularAtom = atom(circularObject);
+circularAtom.debugLabel = 'circularAtom';
+circularAtom.debugPrivate = true;
+
+export const Playground = () => {
+  return (
+    <>
+      <Title>Playground</Title>
+      {/* <UserData /> */}
+      <SomeComponentWithToggle />
+    </>
+  );
+};
diff --git a/src/stories/Default/Playground/SomeComponent.tsx b/src/stories/Default/Playground/SomeComponent.tsx
new file mode 100644
index 00000000..b223f1dc
--- /dev/null
+++ b/src/stories/Default/Playground/SomeComponent.tsx
@@ -0,0 +1,53 @@
+import * as React from 'react';
+import { Title } from '@mantine/core';
+import { atom, useAtom, useAtomValue } from 'jotai';
+
+const baseCountAtom = atom(1);
+baseCountAtom.debugLabel = 'baseCountAtom';
+
+const doubleAtom = atom(
+  (get) => get(baseCountAtom) * 2,
+  (get, set, update: number) => {
+    set(baseCountAtom, update / 2);
+  },
+);
+doubleAtom.debugLabel = 'doubleAtom';
+
+const initialAtom = atom((get) => ({
+  a: get(baseCountAtom),
+}));
+initialAtom.debugLabel = 'initialAtom';
+
+const arrayAtoms = atom([initialAtom]);
+arrayAtoms.debugLabel = 'arrayAtoms';
+
+export const SomeComponent = () => {
+  const [count, setCount] = useAtom(doubleAtom);
+  useAtomValue(arrayAtoms);
+  const handleOnClick = React.useCallback(() => {
+    setCount(count + 1);
+  }, [setCount, count]);
+
+  return (
+    <div>
+      hey there! {count}
+      <button onClick={handleOnClick}>Increment</button>
+    </div>
+  );
+};
+
+export const SomeComponentWithToggle = () => {
+  const [shouldShow, setShouldShow] = React.useState(true);
+
+  const handleOntoggle = React.useCallback(() => {
+    setShouldShow((s) => !s);
+  }, [setShouldShow]);
+
+  return (
+    <>
+      <Title>Toggle</Title>
+      {shouldShow ? <SomeComponent /> : null}
+      <button onClick={handleOntoggle}>Toggle</button>
+    </>
+  );
+};
diff --git a/src/stories/ProviderLess/Counter.tsx b/src/stories/ProviderLess/Counter.tsx
new file mode 100644
index 00000000..42e39378
--- /dev/null
+++ b/src/stories/ProviderLess/Counter.tsx
@@ -0,0 +1,16 @@
+import React from 'react';
+import { atom, useAtom } from 'jotai';
+
+const countAtom = atom(0);
+countAtom.debugLabel = 'countAtom';
+
+export const Counter = () => {
+  const [count, setCount] = useAtom(countAtom);
+
+  return (
+    <div>
+      {count}&nbsp;
+      <button onClick={() => setCount((c) => c + 1)}>Increment</button>
+    </div>
+  );
+};
diff --git a/src/stories/ProviderLess/DevToolsProviderLess.stories.tsx b/src/stories/ProviderLess/DevToolsProviderLess.stories.tsx
new file mode 100644
index 00000000..a82144d5
--- /dev/null
+++ b/src/stories/ProviderLess/DevToolsProviderLess.stories.tsx
@@ -0,0 +1,34 @@
+import React from 'react';
+import { Meta, StoryFn } from '@storybook/react';
+import { DevTools, DevToolsProps } from '../../DevTools';
+import { Counter } from './Counter';
+
+export default {
+  component: DevTools,
+  title: 'DevtoolsProviderLess',
+  argTypes: {
+    store: {
+      control: {
+        type: false,
+      },
+    },
+    options: {
+      control: {
+        type: false,
+      },
+    },
+  },
+} as Meta;
+
+const Template: StoryFn<DevToolsProps> = (args) => (
+  <>
+    <DevTools {...args} />
+    <Counter />
+  </>
+);
+
+export const Default = Template.bind({});
+
+Default.args = {
+  isInitialOpen: true,
+};
diff --git a/src/types.ts b/src/types.ts
new file mode 100644
index 00000000..10c3d0a3
--- /dev/null
+++ b/src/types.ts
@@ -0,0 +1,21 @@
+import { useStore } from 'jotai/react';
+import type { Atom, createStore } from 'jotai/vanilla';
+
+export type Store = ReturnType<typeof createStore>;
+
+export type Options = Parameters<typeof useStore>[0];
+
+export type AnyAtomValue = unknown;
+export type AnyAtom = Atom<AnyAtomValue>;
+export type AtomsValues = Map<AnyAtom, AnyAtomValue>; // immutable
+export type AtomsDependents = Map<AnyAtom, Set<AnyAtom>>; // immutable
+export type AtomsSnapshot = Readonly<{
+  values: AtomsValues;
+  dependents: AtomsDependents;
+}>;
+
+export type WithInitialValue<Value = AnyAtomValue> = {
+  init: Value;
+};
+
+export type ValuesAtomTuple = [AnyAtom, AnyAtomValue];
diff --git a/src/utils/types.ts b/src/utils/types.ts
index 87268f13..c822fdf5 100644
--- a/src/utils/types.ts
+++ b/src/utils/types.ts
@@ -1,6 +1,4 @@
 import type {} from '@redux-devtools/extension';
-import type { useStore } from 'jotai/react';
-import type { Atom } from 'jotai/vanilla';
 
 // FIXME https://github.com/reduxjs/redux-devtools/issues/1097
 // This is an INTERNAL type alias.
@@ -9,13 +7,3 @@ export type Message = {
   payload?: any;
   state?: any;
 };
-
-export type Options = Parameters<typeof useStore>[0];
-export type AnyAtomValue = unknown;
-export type AnyAtom = Atom<AnyAtomValue>;
-export type AtomsValues = Map<AnyAtom, AnyAtomValue>; // immutable
-export type AtomsDependents = Map<AnyAtom, Set<AnyAtom>>; // immutable
-export type AtomsSnapshot = Readonly<{
-  values: AtomsValues;
-  dependents: AtomsDependents;
-}>;
diff --git a/src/utils/useAtomsDebugValue.ts b/src/utils/useAtomsDebugValue.ts
index 064866ff..aec67fcb 100644
--- a/src/utils/useAtomsDebugValue.ts
+++ b/src/utils/useAtomsDebugValue.ts
@@ -49,7 +49,18 @@ export const useAtomsDebugValue = (options?: Options) => {
     const callback = () => {
       setAtoms(Array.from(store.dev_get_mounted_atoms?.() || []));
     };
-    const unsubscribe = store.dev_subscribe_state?.(callback);
+    // FIXME replace this with `store.dev_subscribe_store` check after next minor Jotai 2.1.0?
+    let devSubscribeStore = store.dev_subscribe_state;
+
+    if (typeof store.dev_subscribe_store !== 'function') {
+      console.warn(
+        "[DEPRECATION-WARNING] Jotai version you're using contains deprecated dev-only properties that will be removed soon. Please update to the latest version of Jotai.",
+      );
+    } else {
+      devSubscribeStore = store.dev_subscribe_store;
+    }
+
+    const unsubscribe = devSubscribeStore?.(callback);
     callback();
     return unsubscribe;
   }, [enabled, store]);
diff --git a/src/utils/useAtomsDevtools.ts b/src/utils/useAtomsDevtools.ts
index f7766b60..6828898b 100644
--- a/src/utils/useAtomsDevtools.ts
+++ b/src/utils/useAtomsDevtools.ts
@@ -1,11 +1,6 @@
 import { useEffect, useRef } from 'react';
-import {
-  AnyAtom,
-  AnyAtomValue,
-  AtomsSnapshot,
-  Message,
-  Options,
-} from './types';
+import { AnyAtom, AnyAtomValue, AtomsSnapshot, Options } from '../types';
+import { Message } from './types';
 import { useAtomsSnapshot } from './useAtomsSnapshot';
 import { useGotoAtomsSnapshot } from './useGotoAtomsSnapshot';
 
diff --git a/src/utils/useAtomsSnapshot.ts b/src/utils/useAtomsSnapshot.ts
index 15c83ea4..6d796e32 100644
--- a/src/utils/useAtomsSnapshot.ts
+++ b/src/utils/useAtomsSnapshot.ts
@@ -5,7 +5,7 @@ import type {
   AtomsSnapshot,
   AtomsValues,
   Options,
-} from './types';
+} from '../types';
 
 const isEqualAtomsValues = (left: AtomsValues, right: AtomsValues) =>
   left.size === right.size &&
@@ -34,10 +34,22 @@ export function useAtomsSnapshot(options?: Options): AtomsSnapshot {
   }));
 
   useEffect(() => {
+    // FIXME replace this with `store.dev_subscribe_store` check after next minor Jotai 2.1.0?
     if (!store.dev_subscribe_state) return;
 
     let prevValues: AtomsValues = new Map();
     let prevDependents: AtomsDependents = new Map();
+
+    let devSubscribeStore = store.dev_subscribe_state;
+
+    if (typeof store?.dev_subscribe_store !== 'function') {
+      console.warn(
+        "[DEPRECATION-WARNING] Jotai version you're using contains deprecated dev-only properties that will be removed soon. Please update to the latest version of Jotai.",
+      );
+    } else {
+      devSubscribeStore = store.dev_subscribe_store;
+    }
+
     const callback = () => {
       const values: AtomsValues = new Map();
       const dependents: AtomsDependents = new Map();
@@ -64,7 +76,7 @@ export function useAtomsSnapshot(options?: Options): AtomsSnapshot {
       prevDependents = dependents;
       setAtomsSnapshot({ values, dependents });
     };
-    const unsubscribe = store.dev_subscribe_state(callback);
+    const unsubscribe = devSubscribeStore?.(callback);
     callback();
     return unsubscribe;
   }, [store]);
diff --git a/src/utils/useGotoAtomsSnapshot.ts b/src/utils/useGotoAtomsSnapshot.ts
index 51241ace..08f10891 100644
--- a/src/utils/useGotoAtomsSnapshot.ts
+++ b/src/utils/useGotoAtomsSnapshot.ts
@@ -1,6 +1,6 @@
 import { useCallback } from 'react';
 import { useStore } from 'jotai/react';
-import type { AtomsSnapshot, Options } from './types';
+import type { AtomsSnapshot, Options } from '../types';
 
 export function useGotoAtomsSnapshot(options?: Options) {
   const store = useStore(options);
diff --git a/tsconfig.build.json b/tsconfig.build.json
index 068bf80d..b6ec541e 100644
--- a/tsconfig.build.json
+++ b/tsconfig.build.json
@@ -12,8 +12,8 @@
     "typeRoots": ["./node_modules/@types", "./types/*"],
     "sourceMap": true,
     "forceConsistentCasingInFileNames": true,
-    "isolatedModules": true,
     "exactOptionalPropertyTypes": true,
+    "isolatedModules": true,
     "baseUrl": ".",
     "paths": {
       "jotai-devtools": ["./src"],
diff --git a/tsconfig.json b/tsconfig.json
index 09ef1e40..854725fd 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -1,11 +1,16 @@
 {
   "extends": "./tsconfig.build.json",
+  "compilerOptions": {
+    "skipLibCheck": true
+  },
   "include": [
     "src/**/*",
     "./jest.config.ts",
     "__tests__/**/*",
     "types",
-    "tsup.config.ts"
+    "tsup.config.ts",
+    "jest",
+    "@testing-library/jest-dom"
   ],
   "exclude": ["node_modules", "dist"]
 }
diff --git a/tsup.config.ts b/tsup.config.ts
index 12e75752..f010dfb6 100644
--- a/tsup.config.ts
+++ b/tsup.config.ts
@@ -9,6 +9,8 @@ const defaultOutExtension: Options['outExtension'] = ({ format }) => {
 
 const defaultEsBuildPlugins: Options['esbuildPlugins'] = [
   replace({
+    // FIXME - Should filter it by `include` instead of `exclude`. This doesn't seem to be working /^.*\.js$/,
+    exclude: /\.woff2$/,
     __DEV__: '(process.env.NODE_ENV!=="production")',
   }),
 ];
@@ -19,6 +21,9 @@ const baseConfig: Options = {
     index: 'src/index.ts',
     utils: 'src/utils/index.ts',
   },
+  loader: {
+    '.woff2': 'dataurl',
+  },
   sourcemap: false,
   // Clean output directory before each build
   clean: true,
@@ -26,10 +31,13 @@ const baseConfig: Options = {
   splitting: true,
   tsconfig: './tsconfig.build.json',
   dts: true,
-  external: ['jotai', 'React'],
+  external: ['jotai', 'react', 'react-dom'],
   platform: 'node',
   outExtension: defaultOutExtension,
   esbuildPlugins: defaultEsBuildPlugins,
+  // // TSUP does not appear to be respecting tsconfig's jsx property
+  // // See - https://github.com/egoist/tsup/issues/792
+  inject: ['./react-shim.js'],
 };
 
 const cjsConfig: Options = {
@@ -45,6 +53,8 @@ const mjsOutExtension: Options['outExtension'] = ({ format }) => {
 
 const mjsEsBuildPlugins: Options['esbuildPlugins'] = [
   replace({
+    // FIXME - Should filter it by `include` instead of `exclude`. This doesn't seem to be working /^.*\.js$/,
+    exclude: /\.woff2$/,
     __DEV__: '((import.meta.env&&import.meta.env.MODE)!=="production")',
   }),
 ];
diff --git a/types/global.d.ts b/types/global.d.ts
index bae64da2..3b86e147 100644
--- a/types/global.d.ts
+++ b/types/global.d.ts
@@ -2,3 +2,9 @@
 // Do not rename this file or move these types into index.d.ts
 // @see https://code.visualstudio.com/docs/nodejs/working-with-javascript#_global-variables-and-type-checking
 declare let __DEV__: boolean;
+
+declare module '*.png';
+declare module '*.svg';
+declare module '*.jpeg';
+declare module '*.jpg';
+declare module '*.woff2';
diff --git a/yarn.lock b/yarn.lock
index 320e58f1..23cff07e 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2,6 +2,11 @@
 # yarn lockfile v1
 
 
+"@adobe/css-tools@^4.0.1":
+  version "4.1.0"
+  resolved "https://registry.yarnpkg.com/@adobe/css-tools/-/css-tools-4.1.0.tgz#417fef4a143f4396ad0b3b4351fee21323f15aa8"
+  integrity sha512-mMVJ/j/GbZ/De4ZHWbQAQO1J6iVnjtZLc9WEdkUQb8S/Bu2cAF2bETXUgMAdvMG3/ngtKmcNBe+Zms9bg6jnQQ==
+
 "@ampproject/remapping@^2.1.0":
   version "2.2.0"
   resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d"
@@ -10,19 +15,26 @@
     "@jridgewell/gen-mapping" "^0.1.0"
     "@jridgewell/trace-mapping" "^0.3.9"
 
-"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.18.6":
+"@aw-web-design/x-default-browser@1.4.88":
+  version "1.4.88"
+  resolved "https://registry.yarnpkg.com/@aw-web-design/x-default-browser/-/x-default-browser-1.4.88.tgz#33d869cb2a537cd6d2a8369d4dc8ea4988d4be89"
+  integrity sha512-AkEmF0wcwYC2QkhK703Y83fxWARttIWXDmQN8+cof8FmFZ5BRhnNXGymeb1S73bOCLfWjYELxtujL56idCN/XA==
+  dependencies:
+    default-browser-id "3.0.0"
+
+"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.16.7", "@babel/code-frame@^7.18.6":
   version "7.18.6"
   resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a"
   integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==
   dependencies:
     "@babel/highlight" "^7.18.6"
 
-"@babel/compat-data@^7.20.5":
+"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.20.1", "@babel/compat-data@^7.20.5":
   version "7.20.10"
   resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.20.10.tgz#9d92fa81b87542fff50e848ed585b4212c1d34ec"
   integrity sha512-sEnuDPpOJR/fcafHMjpcpGN5M2jbUGUHwmuWKM/YdPzeEDJg8bgmbcWQFUfE32MQjti1koACvoPVsDe8Uq+idg==
 
-"@babel/core@^7.11.6", "@babel/core@^7.12.3":
+"@babel/core@^7.11.6", "@babel/core@^7.12.10", "@babel/core@^7.12.3", "@babel/core@^7.13.16", "@babel/core@^7.20.12", "@babel/core@^7.20.2", "@babel/core@^7.7.5":
   version "7.20.12"
   resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.20.12.tgz#7930db57443c6714ad216953d1356dac0eb8496d"
   integrity sha512-XsMfHovsUYHFMdrIHkZphTN/2Hzzi78R08NuHfDBehym2VsPDL6Zn/JAD/JQdnRvbSsbQc4mVaU1m6JgtTEElg==
@@ -43,6 +55,15 @@
     json5 "^2.2.2"
     semver "^6.3.0"
 
+"@babel/generator@^7.12.11":
+  version "7.20.14"
+  resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.14.tgz#9fa772c9f86a46c6ac9b321039400712b96f64ce"
+  integrity sha512-AEmuXHdcD3A52HHXxaTmYlb8q/xMEhoRP67B3T4Oq7lbmSoqroMZzjnGj3+i1io3pdnF8iBYVu4Ilj+c4hBxYg==
+  dependencies:
+    "@babel/types" "^7.20.7"
+    "@jridgewell/gen-mapping" "^0.3.2"
+    jsesc "^2.5.1"
+
 "@babel/generator@^7.20.7", "@babel/generator@^7.7.2":
   version "7.20.7"
   resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.20.7.tgz#f8ef57c8242665c5929fe2e8d82ba75460187b4a"
@@ -52,7 +73,22 @@
     "@jridgewell/gen-mapping" "^0.3.2"
     jsesc "^2.5.1"
 
-"@babel/helper-compilation-targets@^7.20.7":
+"@babel/helper-annotate-as-pure@^7.18.6":
+  version "7.18.6"
+  resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz#eaa49f6f80d5a33f9a5dd2276e6d6e451be0a6bb"
+  integrity sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==
+  dependencies:
+    "@babel/types" "^7.18.6"
+
+"@babel/helper-builder-binary-assignment-operator-visitor@^7.18.6":
+  version "7.18.9"
+  resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz#acd4edfd7a566d1d51ea975dff38fd52906981bb"
+  integrity sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==
+  dependencies:
+    "@babel/helper-explode-assignable-expression" "^7.18.6"
+    "@babel/types" "^7.18.9"
+
+"@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.18.9", "@babel/helper-compilation-targets@^7.20.0", "@babel/helper-compilation-targets@^7.20.7":
   version "7.20.7"
   resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz#a6cd33e93629f5eb473b021aac05df62c4cd09bb"
   integrity sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ==
@@ -63,12 +99,53 @@
     lru-cache "^5.1.1"
     semver "^6.3.0"
 
+"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.20.12", "@babel/helper-create-class-features-plugin@^7.20.5", "@babel/helper-create-class-features-plugin@^7.20.7":
+  version "7.20.12"
+  resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.20.12.tgz#4349b928e79be05ed2d1643b20b99bb87c503819"
+  integrity sha512-9OunRkbT0JQcednL0UFvbfXpAsUXiGjUk0a7sN8fUXX7Mue79cUSMjHGDRRi/Vz9vYlpIhLV5fMD5dKoMhhsNQ==
+  dependencies:
+    "@babel/helper-annotate-as-pure" "^7.18.6"
+    "@babel/helper-environment-visitor" "^7.18.9"
+    "@babel/helper-function-name" "^7.19.0"
+    "@babel/helper-member-expression-to-functions" "^7.20.7"
+    "@babel/helper-optimise-call-expression" "^7.18.6"
+    "@babel/helper-replace-supers" "^7.20.7"
+    "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0"
+    "@babel/helper-split-export-declaration" "^7.18.6"
+
+"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.20.5":
+  version "7.20.5"
+  resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.20.5.tgz#5ea79b59962a09ec2acf20a963a01ab4d076ccca"
+  integrity sha512-m68B1lkg3XDGX5yCvGO0kPx3v9WIYLnzjKfPcQiwntEQa5ZeRkPmo2X/ISJc8qxWGfwUr+kvZAeEzAwLec2r2w==
+  dependencies:
+    "@babel/helper-annotate-as-pure" "^7.18.6"
+    regexpu-core "^5.2.1"
+
+"@babel/helper-define-polyfill-provider@^0.3.3":
+  version "0.3.3"
+  resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz#8612e55be5d51f0cd1f36b4a5a83924e89884b7a"
+  integrity sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==
+  dependencies:
+    "@babel/helper-compilation-targets" "^7.17.7"
+    "@babel/helper-plugin-utils" "^7.16.7"
+    debug "^4.1.1"
+    lodash.debounce "^4.0.8"
+    resolve "^1.14.2"
+    semver "^6.1.2"
+
 "@babel/helper-environment-visitor@^7.18.9":
   version "7.18.9"
   resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be"
   integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==
 
-"@babel/helper-function-name@^7.19.0":
+"@babel/helper-explode-assignable-expression@^7.18.6":
+  version "7.18.6"
+  resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz#41f8228ef0a6f1a036b8dfdfec7ce94f9a6bc096"
+  integrity sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==
+  dependencies:
+    "@babel/types" "^7.18.6"
+
+"@babel/helper-function-name@^7.18.9", "@babel/helper-function-name@^7.19.0":
   version "7.19.0"
   resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz#941574ed5390682e872e52d3f38ce9d1bef4648c"
   integrity sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==
@@ -83,14 +160,21 @@
   dependencies:
     "@babel/types" "^7.18.6"
 
-"@babel/helper-module-imports@^7.18.6":
+"@babel/helper-member-expression-to-functions@^7.20.7":
+  version "7.20.7"
+  resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.20.7.tgz#a6f26e919582275a93c3aa6594756d71b0bb7f05"
+  integrity sha512-9J0CxJLq315fEdi4s7xK5TQaNYjZw+nDVpVqr1axNGKzdrdwYBD5b4uKv3n75aABG0rCCTK8Im8Ww7eYfMrZgw==
+  dependencies:
+    "@babel/types" "^7.20.7"
+
+"@babel/helper-module-imports@^7.16.7", "@babel/helper-module-imports@^7.18.6":
   version "7.18.6"
   resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz#1e3ebdbbd08aad1437b428c50204db13c5a3ca6e"
   integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==
   dependencies:
     "@babel/types" "^7.18.6"
 
-"@babel/helper-module-transforms@^7.20.11":
+"@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.20.11":
   version "7.20.11"
   resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.20.11.tgz#df4c7af713c557938c50ea3ad0117a7944b2f1b0"
   integrity sha512-uRy78kN4psmji1s2QtbtcCSaj/LILFDp0f/ymhpQH5QY3nljUZCaNWz9X1dEj/8MBdBEFECs7yRhKn8i7NjZgg==
@@ -104,11 +188,40 @@
     "@babel/traverse" "^7.20.10"
     "@babel/types" "^7.20.7"
 
-"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.19.0", "@babel/helper-plugin-utils@^7.8.0":
+"@babel/helper-optimise-call-expression@^7.18.6":
+  version "7.18.6"
+  resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz#9369aa943ee7da47edab2cb4e838acf09d290ffe"
+  integrity sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==
+  dependencies:
+    "@babel/types" "^7.18.6"
+
+"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.18.9", "@babel/helper-plugin-utils@^7.19.0", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3":
   version "7.20.2"
   resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz#d1b9000752b18d0877cff85a5c376ce5c3121629"
   integrity sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==
 
+"@babel/helper-remap-async-to-generator@^7.18.9":
+  version "7.18.9"
+  resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz#997458a0e3357080e54e1d79ec347f8a8cd28519"
+  integrity sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==
+  dependencies:
+    "@babel/helper-annotate-as-pure" "^7.18.6"
+    "@babel/helper-environment-visitor" "^7.18.9"
+    "@babel/helper-wrap-function" "^7.18.9"
+    "@babel/types" "^7.18.9"
+
+"@babel/helper-replace-supers@^7.18.6", "@babel/helper-replace-supers@^7.20.7":
+  version "7.20.7"
+  resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.20.7.tgz#243ecd2724d2071532b2c8ad2f0f9f083bcae331"
+  integrity sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==
+  dependencies:
+    "@babel/helper-environment-visitor" "^7.18.9"
+    "@babel/helper-member-expression-to-functions" "^7.20.7"
+    "@babel/helper-optimise-call-expression" "^7.18.6"
+    "@babel/template" "^7.20.7"
+    "@babel/traverse" "^7.20.7"
+    "@babel/types" "^7.20.7"
+
 "@babel/helper-simple-access@^7.20.2":
   version "7.20.2"
   resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz#0ab452687fe0c2cfb1e2b9e0015de07fc2d62dd9"
@@ -116,6 +229,13 @@
   dependencies:
     "@babel/types" "^7.20.2"
 
+"@babel/helper-skip-transparent-expression-wrappers@^7.20.0":
+  version "7.20.0"
+  resolved "https://registry.yarnpkg.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz#fbe4c52f60518cab8140d77101f0e63a8a230684"
+  integrity sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==
+  dependencies:
+    "@babel/types" "^7.20.0"
+
 "@babel/helper-split-export-declaration@^7.18.6":
   version "7.18.6"
   resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075"
@@ -138,6 +258,16 @@
   resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz#bf0d2b5a509b1f336099e4ff36e1a63aa5db4db8"
   integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==
 
+"@babel/helper-wrap-function@^7.18.9":
+  version "7.20.5"
+  resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz#75e2d84d499a0ab3b31c33bcfe59d6b8a45f62e3"
+  integrity sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==
+  dependencies:
+    "@babel/helper-function-name" "^7.19.0"
+    "@babel/template" "^7.18.10"
+    "@babel/traverse" "^7.20.5"
+    "@babel/types" "^7.20.5"
+
 "@babel/helpers@^7.20.7":
   version "7.20.7"
   resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.20.7.tgz#04502ff0feecc9f20ecfaad120a18f011a8e6dce"
@@ -161,6 +291,161 @@
   resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.7.tgz#66fe23b3c8569220817d5feb8b9dcdc95bb4f71b"
   integrity sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg==
 
+"@babel/parser@^7.13.16":
+  version "7.20.15"
+  resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.15.tgz#eec9f36d8eaf0948bb88c87a46784b5ee9fd0c89"
+  integrity sha512-DI4a1oZuf8wC+oAJA9RW6ga3Zbe8RZFt7kD9i4qAspz3I/yHet1VvC3DiSy/fsUvv5pvJuNPh0LPOdCcqinDPg==
+
+"@babel/parser@^7.20.13":
+  version "7.20.13"
+  resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.13.tgz#ddf1eb5a813588d2fb1692b70c6fce75b945c088"
+  integrity sha512-gFDLKMfpiXCsjt4za2JA9oTMn70CeseCehb11kRZgvd7+F67Hih3OHOK24cRrWECJ/ljfPGac6ygXAs/C8kIvw==
+
+"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6":
+  version "7.18.6"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz#da5b8f9a580acdfbe53494dba45ea389fb09a4d2"
+  integrity sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.18.6"
+
+"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.18.9":
+  version "7.20.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.20.7.tgz#d9c85589258539a22a901033853101a6198d4ef1"
+  integrity sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.20.2"
+    "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0"
+    "@babel/plugin-proposal-optional-chaining" "^7.20.7"
+
+"@babel/plugin-proposal-async-generator-functions@^7.20.1":
+  version "7.20.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz#bfb7276d2d573cb67ba379984a2334e262ba5326"
+  integrity sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==
+  dependencies:
+    "@babel/helper-environment-visitor" "^7.18.9"
+    "@babel/helper-plugin-utils" "^7.20.2"
+    "@babel/helper-remap-async-to-generator" "^7.18.9"
+    "@babel/plugin-syntax-async-generators" "^7.8.4"
+
+"@babel/plugin-proposal-class-properties@^7.13.0", "@babel/plugin-proposal-class-properties@^7.18.6":
+  version "7.18.6"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz#b110f59741895f7ec21a6fff696ec46265c446a3"
+  integrity sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==
+  dependencies:
+    "@babel/helper-create-class-features-plugin" "^7.18.6"
+    "@babel/helper-plugin-utils" "^7.18.6"
+
+"@babel/plugin-proposal-class-static-block@^7.18.6":
+  version "7.20.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.20.7.tgz#92592e9029b13b15be0f7ce6a7aedc2879ca45a7"
+  integrity sha512-AveGOoi9DAjUYYuUAG//Ig69GlazLnoyzMw68VCDux+c1tsnnH/OkYcpz/5xzMkEFC6UxjR5Gw1c+iY2wOGVeQ==
+  dependencies:
+    "@babel/helper-create-class-features-plugin" "^7.20.7"
+    "@babel/helper-plugin-utils" "^7.20.2"
+    "@babel/plugin-syntax-class-static-block" "^7.14.5"
+
+"@babel/plugin-proposal-dynamic-import@^7.18.6":
+  version "7.18.6"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz#72bcf8d408799f547d759298c3c27c7e7faa4d94"
+  integrity sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.18.6"
+    "@babel/plugin-syntax-dynamic-import" "^7.8.3"
+
+"@babel/plugin-proposal-export-namespace-from@^7.18.9":
+  version "7.18.9"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz#5f7313ab348cdb19d590145f9247540e94761203"
+  integrity sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.18.9"
+    "@babel/plugin-syntax-export-namespace-from" "^7.8.3"
+
+"@babel/plugin-proposal-json-strings@^7.18.6":
+  version "7.18.6"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz#7e8788c1811c393aff762817e7dbf1ebd0c05f0b"
+  integrity sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.18.6"
+    "@babel/plugin-syntax-json-strings" "^7.8.3"
+
+"@babel/plugin-proposal-logical-assignment-operators@^7.18.9":
+  version "7.20.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz#dfbcaa8f7b4d37b51e8bfb46d94a5aea2bb89d83"
+  integrity sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.20.2"
+    "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4"
+
+"@babel/plugin-proposal-nullish-coalescing-operator@^7.13.8", "@babel/plugin-proposal-nullish-coalescing-operator@^7.18.6":
+  version "7.18.6"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz#fdd940a99a740e577d6c753ab6fbb43fdb9467e1"
+  integrity sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.18.6"
+    "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3"
+
+"@babel/plugin-proposal-numeric-separator@^7.18.6":
+  version "7.18.6"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz#899b14fbafe87f053d2c5ff05b36029c62e13c75"
+  integrity sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.18.6"
+    "@babel/plugin-syntax-numeric-separator" "^7.10.4"
+
+"@babel/plugin-proposal-object-rest-spread@^7.20.2":
+  version "7.20.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz#aa662940ef425779c75534a5c41e9d936edc390a"
+  integrity sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==
+  dependencies:
+    "@babel/compat-data" "^7.20.5"
+    "@babel/helper-compilation-targets" "^7.20.7"
+    "@babel/helper-plugin-utils" "^7.20.2"
+    "@babel/plugin-syntax-object-rest-spread" "^7.8.3"
+    "@babel/plugin-transform-parameters" "^7.20.7"
+
+"@babel/plugin-proposal-optional-catch-binding@^7.18.6":
+  version "7.18.6"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz#f9400d0e6a3ea93ba9ef70b09e72dd6da638a2cb"
+  integrity sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.18.6"
+    "@babel/plugin-syntax-optional-catch-binding" "^7.8.3"
+
+"@babel/plugin-proposal-optional-chaining@^7.13.12", "@babel/plugin-proposal-optional-chaining@^7.18.9", "@babel/plugin-proposal-optional-chaining@^7.20.7":
+  version "7.20.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.20.7.tgz#49f2b372519ab31728cc14115bb0998b15bfda55"
+  integrity sha512-T+A7b1kfjtRM51ssoOfS1+wbyCVqorfyZhT99TvxxLMirPShD8CzKMRepMlCBGM5RpHMbn8s+5MMHnPstJH6mQ==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.20.2"
+    "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0"
+    "@babel/plugin-syntax-optional-chaining" "^7.8.3"
+
+"@babel/plugin-proposal-private-methods@^7.18.6":
+  version "7.18.6"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz#5209de7d213457548a98436fa2882f52f4be6bea"
+  integrity sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==
+  dependencies:
+    "@babel/helper-create-class-features-plugin" "^7.18.6"
+    "@babel/helper-plugin-utils" "^7.18.6"
+
+"@babel/plugin-proposal-private-property-in-object@^7.18.6":
+  version "7.20.5"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.20.5.tgz#309c7668f2263f1c711aa399b5a9a6291eef6135"
+  integrity sha512-Vq7b9dUA12ByzB4EjQTPo25sFhY+08pQDBSZRtUAkj7lb7jahaHR5igera16QZ+3my1nYR4dKsNdYj5IjPHilQ==
+  dependencies:
+    "@babel/helper-annotate-as-pure" "^7.18.6"
+    "@babel/helper-create-class-features-plugin" "^7.20.5"
+    "@babel/helper-plugin-utils" "^7.20.2"
+    "@babel/plugin-syntax-private-property-in-object" "^7.14.5"
+
+"@babel/plugin-proposal-unicode-property-regex@^7.18.6", "@babel/plugin-proposal-unicode-property-regex@^7.4.4":
+  version "7.18.6"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz#af613d2cd5e643643b65cded64207b15c85cb78e"
+  integrity sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==
+  dependencies:
+    "@babel/helper-create-regexp-features-plugin" "^7.18.6"
+    "@babel/helper-plugin-utils" "^7.18.6"
+
 "@babel/plugin-syntax-async-generators@^7.8.4":
   version "7.8.4"
   resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d"
@@ -175,13 +460,48 @@
   dependencies:
     "@babel/helper-plugin-utils" "^7.8.0"
 
-"@babel/plugin-syntax-class-properties@^7.8.3":
+"@babel/plugin-syntax-class-properties@^7.12.13", "@babel/plugin-syntax-class-properties@^7.8.3":
   version "7.12.13"
   resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10"
   integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==
   dependencies:
     "@babel/helper-plugin-utils" "^7.12.13"
 
+"@babel/plugin-syntax-class-static-block@^7.14.5":
+  version "7.14.5"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz#195df89b146b4b78b3bf897fd7a257c84659d406"
+  integrity sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.14.5"
+
+"@babel/plugin-syntax-dynamic-import@^7.8.3":
+  version "7.8.3"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3"
+  integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.8.0"
+
+"@babel/plugin-syntax-export-namespace-from@^7.8.3":
+  version "7.8.3"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a"
+  integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.8.3"
+
+"@babel/plugin-syntax-flow@^7.18.6":
+  version "7.18.6"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.18.6.tgz#774d825256f2379d06139be0c723c4dd444f3ca1"
+  integrity sha512-LUbR+KNTBWCUAqRG9ex5Gnzu2IOkt8jRJbHHXFT9q+L9zm7M/QQbEqXyw1n1pohYvOyWC8CjeyjrSaIwiYjK7A==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.18.6"
+
+"@babel/plugin-syntax-import-assertions@^7.20.0":
+  version "7.20.0"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz#bb50e0d4bea0957235390641209394e87bdb9cc4"
+  integrity sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.19.0"
+
 "@babel/plugin-syntax-import-meta@^7.8.3":
   version "7.10.4"
   resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51"
@@ -196,14 +516,14 @@
   dependencies:
     "@babel/helper-plugin-utils" "^7.8.0"
 
-"@babel/plugin-syntax-jsx@^7.7.2":
+"@babel/plugin-syntax-jsx@^7.17.12", "@babel/plugin-syntax-jsx@^7.18.6", "@babel/plugin-syntax-jsx@^7.7.2":
   version "7.18.6"
   resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz#a8feef63b010150abd97f1649ec296e849943ca0"
   integrity sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==
   dependencies:
     "@babel/helper-plugin-utils" "^7.18.6"
 
-"@babel/plugin-syntax-logical-assignment-operators@^7.8.3":
+"@babel/plugin-syntax-logical-assignment-operators@^7.10.4", "@babel/plugin-syntax-logical-assignment-operators@^7.8.3":
   version "7.10.4"
   resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699"
   integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==
@@ -217,7 +537,7 @@
   dependencies:
     "@babel/helper-plugin-utils" "^7.8.0"
 
-"@babel/plugin-syntax-numeric-separator@^7.8.3":
+"@babel/plugin-syntax-numeric-separator@^7.10.4", "@babel/plugin-syntax-numeric-separator@^7.8.3":
   version "7.10.4"
   resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97"
   integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==
@@ -245,20 +565,468 @@
   dependencies:
     "@babel/helper-plugin-utils" "^7.8.0"
 
-"@babel/plugin-syntax-top-level-await@^7.8.3":
+"@babel/plugin-syntax-private-property-in-object@^7.14.5":
+  version "7.14.5"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz#0dc6671ec0ea22b6e94a1114f857970cd39de1ad"
+  integrity sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.14.5"
+
+"@babel/plugin-syntax-top-level-await@^7.14.5", "@babel/plugin-syntax-top-level-await@^7.8.3":
   version "7.14.5"
   resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c"
   integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==
   dependencies:
     "@babel/helper-plugin-utils" "^7.14.5"
 
-"@babel/plugin-syntax-typescript@^7.7.2":
+"@babel/plugin-syntax-typescript@^7.20.0", "@babel/plugin-syntax-typescript@^7.7.2":
   version "7.20.0"
   resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz#4e9a0cfc769c85689b77a2e642d24e9f697fc8c7"
   integrity sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ==
   dependencies:
     "@babel/helper-plugin-utils" "^7.19.0"
 
+"@babel/plugin-transform-arrow-functions@^7.18.6":
+  version "7.20.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.20.7.tgz#bea332b0e8b2dab3dafe55a163d8227531ab0551"
+  integrity sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.20.2"
+
+"@babel/plugin-transform-async-to-generator@^7.18.6":
+  version "7.20.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz#dfee18623c8cb31deb796aa3ca84dda9cea94354"
+  integrity sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==
+  dependencies:
+    "@babel/helper-module-imports" "^7.18.6"
+    "@babel/helper-plugin-utils" "^7.20.2"
+    "@babel/helper-remap-async-to-generator" "^7.18.9"
+
+"@babel/plugin-transform-block-scoped-functions@^7.18.6":
+  version "7.18.6"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz#9187bf4ba302635b9d70d986ad70f038726216a8"
+  integrity sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.18.6"
+
+"@babel/plugin-transform-block-scoping@^7.20.2":
+  version "7.20.11"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.20.11.tgz#9f5a3424bd112a3f32fe0cf9364fbb155cff262a"
+  integrity sha512-tA4N427a7fjf1P0/2I4ScsHGc5jcHPbb30xMbaTke2gxDuWpUfXDuX1FEymJwKk4tuGUvGcejAR6HdZVqmmPyw==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.20.2"
+
+"@babel/plugin-transform-classes@^7.20.2":
+  version "7.20.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.20.7.tgz#f438216f094f6bb31dc266ebfab8ff05aecad073"
+  integrity sha512-LWYbsiXTPKl+oBlXUGlwNlJZetXD5Am+CyBdqhPsDVjM9Jc8jwBJFrKhHf900Kfk2eZG1y9MAG3UNajol7A4VQ==
+  dependencies:
+    "@babel/helper-annotate-as-pure" "^7.18.6"
+    "@babel/helper-compilation-targets" "^7.20.7"
+    "@babel/helper-environment-visitor" "^7.18.9"
+    "@babel/helper-function-name" "^7.19.0"
+    "@babel/helper-optimise-call-expression" "^7.18.6"
+    "@babel/helper-plugin-utils" "^7.20.2"
+    "@babel/helper-replace-supers" "^7.20.7"
+    "@babel/helper-split-export-declaration" "^7.18.6"
+    globals "^11.1.0"
+
+"@babel/plugin-transform-computed-properties@^7.18.9":
+  version "7.20.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.20.7.tgz#704cc2fd155d1c996551db8276d55b9d46e4d0aa"
+  integrity sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.20.2"
+    "@babel/template" "^7.20.7"
+
+"@babel/plugin-transform-destructuring@^7.20.2":
+  version "7.20.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.20.7.tgz#8bda578f71620c7de7c93af590154ba331415454"
+  integrity sha512-Xwg403sRrZb81IVB79ZPqNQME23yhugYVqgTxAhT99h485F4f+GMELFhhOsscDUB7HCswepKeCKLn/GZvUKoBA==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.20.2"
+
+"@babel/plugin-transform-dotall-regex@^7.18.6", "@babel/plugin-transform-dotall-regex@^7.4.4":
+  version "7.18.6"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz#b286b3e7aae6c7b861e45bed0a2fafd6b1a4fef8"
+  integrity sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==
+  dependencies:
+    "@babel/helper-create-regexp-features-plugin" "^7.18.6"
+    "@babel/helper-plugin-utils" "^7.18.6"
+
+"@babel/plugin-transform-duplicate-keys@^7.18.9":
+  version "7.18.9"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz#687f15ee3cdad6d85191eb2a372c4528eaa0ae0e"
+  integrity sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.18.9"
+
+"@babel/plugin-transform-exponentiation-operator@^7.18.6":
+  version "7.18.6"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz#421c705f4521888c65e91fdd1af951bfefd4dacd"
+  integrity sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==
+  dependencies:
+    "@babel/helper-builder-binary-assignment-operator-visitor" "^7.18.6"
+    "@babel/helper-plugin-utils" "^7.18.6"
+
+"@babel/plugin-transform-flow-strip-types@^7.18.6":
+  version "7.19.0"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-flow-strip-types/-/plugin-transform-flow-strip-types-7.19.0.tgz#e9e8606633287488216028719638cbbb2f2dde8f"
+  integrity sha512-sgeMlNaQVbCSpgLSKP4ZZKfsJVnFnNQlUSk6gPYzR/q7tzCgQF2t8RBKAP6cKJeZdveei7Q7Jm527xepI8lNLg==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.19.0"
+    "@babel/plugin-syntax-flow" "^7.18.6"
+
+"@babel/plugin-transform-for-of@^7.18.8":
+  version "7.18.8"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.8.tgz#6ef8a50b244eb6a0bdbad0c7c61877e4e30097c1"
+  integrity sha512-yEfTRnjuskWYo0k1mHUqrVWaZwrdq8AYbfrpqULOJOaucGSp4mNMVps+YtA8byoevxS/urwU75vyhQIxcCgiBQ==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.18.6"
+
+"@babel/plugin-transform-function-name@^7.18.9":
+  version "7.18.9"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz#cc354f8234e62968946c61a46d6365440fc764e0"
+  integrity sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==
+  dependencies:
+    "@babel/helper-compilation-targets" "^7.18.9"
+    "@babel/helper-function-name" "^7.18.9"
+    "@babel/helper-plugin-utils" "^7.18.9"
+
+"@babel/plugin-transform-literals@^7.18.9":
+  version "7.18.9"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz#72796fdbef80e56fba3c6a699d54f0de557444bc"
+  integrity sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.18.9"
+
+"@babel/plugin-transform-member-expression-literals@^7.18.6":
+  version "7.18.6"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz#ac9fdc1a118620ac49b7e7a5d2dc177a1bfee88e"
+  integrity sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.18.6"
+
+"@babel/plugin-transform-modules-amd@^7.19.6":
+  version "7.20.11"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.20.11.tgz#3daccca8e4cc309f03c3a0c4b41dc4b26f55214a"
+  integrity sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==
+  dependencies:
+    "@babel/helper-module-transforms" "^7.20.11"
+    "@babel/helper-plugin-utils" "^7.20.2"
+
+"@babel/plugin-transform-modules-commonjs@^7.13.8", "@babel/plugin-transform-modules-commonjs@^7.19.6":
+  version "7.20.11"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.20.11.tgz#8cb23010869bf7669fd4b3098598b6b2be6dc607"
+  integrity sha512-S8e1f7WQ7cimJQ51JkAaDrEtohVEitXjgCGAS2N8S31Y42E+kWwfSz83LYz57QdBm7q9diARVqanIaH2oVgQnw==
+  dependencies:
+    "@babel/helper-module-transforms" "^7.20.11"
+    "@babel/helper-plugin-utils" "^7.20.2"
+    "@babel/helper-simple-access" "^7.20.2"
+
+"@babel/plugin-transform-modules-systemjs@^7.19.6":
+  version "7.20.11"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.20.11.tgz#467ec6bba6b6a50634eea61c9c232654d8a4696e"
+  integrity sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw==
+  dependencies:
+    "@babel/helper-hoist-variables" "^7.18.6"
+    "@babel/helper-module-transforms" "^7.20.11"
+    "@babel/helper-plugin-utils" "^7.20.2"
+    "@babel/helper-validator-identifier" "^7.19.1"
+
+"@babel/plugin-transform-modules-umd@^7.18.6":
+  version "7.18.6"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz#81d3832d6034b75b54e62821ba58f28ed0aab4b9"
+  integrity sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==
+  dependencies:
+    "@babel/helper-module-transforms" "^7.18.6"
+    "@babel/helper-plugin-utils" "^7.18.6"
+
+"@babel/plugin-transform-named-capturing-groups-regex@^7.19.1":
+  version "7.20.5"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz#626298dd62ea51d452c3be58b285d23195ba69a8"
+  integrity sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==
+  dependencies:
+    "@babel/helper-create-regexp-features-plugin" "^7.20.5"
+    "@babel/helper-plugin-utils" "^7.20.2"
+
+"@babel/plugin-transform-new-target@^7.18.6":
+  version "7.18.6"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz#d128f376ae200477f37c4ddfcc722a8a1b3246a8"
+  integrity sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.18.6"
+
+"@babel/plugin-transform-object-super@^7.18.6":
+  version "7.18.6"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz#fb3c6ccdd15939b6ff7939944b51971ddc35912c"
+  integrity sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.18.6"
+    "@babel/helper-replace-supers" "^7.18.6"
+
+"@babel/plugin-transform-parameters@^7.20.1", "@babel/plugin-transform-parameters@^7.20.7":
+  version "7.20.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.20.7.tgz#0ee349e9d1bc96e78e3b37a7af423a4078a7083f"
+  integrity sha512-WiWBIkeHKVOSYPO0pWkxGPfKeWrCJyD3NJ53+Lrp/QMSZbsVPovrVl2aWZ19D/LTVnaDv5Ap7GJ/B2CTOZdrfA==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.20.2"
+
+"@babel/plugin-transform-property-literals@^7.18.6":
+  version "7.18.6"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz#e22498903a483448e94e032e9bbb9c5ccbfc93a3"
+  integrity sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.18.6"
+
+"@babel/plugin-transform-react-display-name@^7.18.6":
+  version "7.18.6"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.18.6.tgz#8b1125f919ef36ebdfff061d664e266c666b9415"
+  integrity sha512-TV4sQ+T013n61uMoygyMRm+xf04Bd5oqFpv2jAEQwSZ8NwQA7zeRPg1LMVg2PWi3zWBz+CLKD+v5bcpZ/BS0aA==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.18.6"
+
+"@babel/plugin-transform-react-jsx-development@^7.18.6":
+  version "7.18.6"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.18.6.tgz#dbe5c972811e49c7405b630e4d0d2e1380c0ddc5"
+  integrity sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA==
+  dependencies:
+    "@babel/plugin-transform-react-jsx" "^7.18.6"
+
+"@babel/plugin-transform-react-jsx@^7.18.6", "@babel/plugin-transform-react-jsx@^7.19.0":
+  version "7.20.13"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.20.13.tgz#f950f0b0c36377503d29a712f16287cedf886cbb"
+  integrity sha512-MmTZx/bkUrfJhhYAYt3Urjm+h8DQGrPrnKQ94jLo7NLuOU+T89a7IByhKmrb8SKhrIYIQ0FN0CHMbnFRen4qNw==
+  dependencies:
+    "@babel/helper-annotate-as-pure" "^7.18.6"
+    "@babel/helper-module-imports" "^7.18.6"
+    "@babel/helper-plugin-utils" "^7.20.2"
+    "@babel/plugin-syntax-jsx" "^7.18.6"
+    "@babel/types" "^7.20.7"
+
+"@babel/plugin-transform-react-pure-annotations@^7.18.6":
+  version "7.18.6"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.18.6.tgz#561af267f19f3e5d59291f9950fd7b9663d0d844"
+  integrity sha512-I8VfEPg9r2TRDdvnHgPepTKvuRomzA8+u+nhY7qSI1fR2hRNebasZEETLyM5mAUr0Ku56OkXJ0I7NHJnO6cJiQ==
+  dependencies:
+    "@babel/helper-annotate-as-pure" "^7.18.6"
+    "@babel/helper-plugin-utils" "^7.18.6"
+
+"@babel/plugin-transform-regenerator@^7.18.6":
+  version "7.20.5"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.20.5.tgz#57cda588c7ffb7f4f8483cc83bdcea02a907f04d"
+  integrity sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.20.2"
+    regenerator-transform "^0.15.1"
+
+"@babel/plugin-transform-reserved-words@^7.18.6":
+  version "7.18.6"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz#b1abd8ebf8edaa5f7fe6bbb8d2133d23b6a6f76a"
+  integrity sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.18.6"
+
+"@babel/plugin-transform-shorthand-properties@^7.18.6":
+  version "7.18.6"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz#6d6df7983d67b195289be24909e3f12a8f664dc9"
+  integrity sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.18.6"
+
+"@babel/plugin-transform-spread@^7.19.0":
+  version "7.20.7"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.20.7.tgz#c2d83e0b99d3bf83e07b11995ee24bf7ca09401e"
+  integrity sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.20.2"
+    "@babel/helper-skip-transparent-expression-wrappers" "^7.20.0"
+
+"@babel/plugin-transform-sticky-regex@^7.18.6":
+  version "7.18.6"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz#c6706eb2b1524028e317720339583ad0f444adcc"
+  integrity sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.18.6"
+
+"@babel/plugin-transform-template-literals@^7.18.9":
+  version "7.18.9"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz#04ec6f10acdaa81846689d63fae117dd9c243a5e"
+  integrity sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.18.9"
+
+"@babel/plugin-transform-typeof-symbol@^7.18.9":
+  version "7.18.9"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz#c8cea68263e45addcd6afc9091429f80925762c0"
+  integrity sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.18.9"
+
+"@babel/plugin-transform-typescript@^7.18.6":
+  version "7.20.13"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.20.13.tgz#e3581b356b8694f6ff450211fe6774eaff8d25ab"
+  integrity sha512-O7I/THxarGcDZxkgWKMUrk7NK1/WbHAg3Xx86gqS6x9MTrNL6AwIluuZ96ms4xeDe6AVx6rjHbWHP7x26EPQBA==
+  dependencies:
+    "@babel/helper-create-class-features-plugin" "^7.20.12"
+    "@babel/helper-plugin-utils" "^7.20.2"
+    "@babel/plugin-syntax-typescript" "^7.20.0"
+
+"@babel/plugin-transform-unicode-escapes@^7.18.10":
+  version "7.18.10"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz#1ecfb0eda83d09bbcb77c09970c2dd55832aa246"
+  integrity sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.18.9"
+
+"@babel/plugin-transform-unicode-regex@^7.18.6":
+  version "7.18.6"
+  resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz#194317225d8c201bbae103364ffe9e2cea36cdca"
+  integrity sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==
+  dependencies:
+    "@babel/helper-create-regexp-features-plugin" "^7.18.6"
+    "@babel/helper-plugin-utils" "^7.18.6"
+
+"@babel/preset-env@^7.20.2":
+  version "7.20.2"
+  resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.20.2.tgz#9b1642aa47bb9f43a86f9630011780dab7f86506"
+  integrity sha512-1G0efQEWR1EHkKvKHqbG+IN/QdgwfByUpM5V5QroDzGV2t3S/WXNQd693cHiHTlCFMpr9B6FkPFXDA2lQcKoDg==
+  dependencies:
+    "@babel/compat-data" "^7.20.1"
+    "@babel/helper-compilation-targets" "^7.20.0"
+    "@babel/helper-plugin-utils" "^7.20.2"
+    "@babel/helper-validator-option" "^7.18.6"
+    "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.18.6"
+    "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.18.9"
+    "@babel/plugin-proposal-async-generator-functions" "^7.20.1"
+    "@babel/plugin-proposal-class-properties" "^7.18.6"
+    "@babel/plugin-proposal-class-static-block" "^7.18.6"
+    "@babel/plugin-proposal-dynamic-import" "^7.18.6"
+    "@babel/plugin-proposal-export-namespace-from" "^7.18.9"
+    "@babel/plugin-proposal-json-strings" "^7.18.6"
+    "@babel/plugin-proposal-logical-assignment-operators" "^7.18.9"
+    "@babel/plugin-proposal-nullish-coalescing-operator" "^7.18.6"
+    "@babel/plugin-proposal-numeric-separator" "^7.18.6"
+    "@babel/plugin-proposal-object-rest-spread" "^7.20.2"
+    "@babel/plugin-proposal-optional-catch-binding" "^7.18.6"
+    "@babel/plugin-proposal-optional-chaining" "^7.18.9"
+    "@babel/plugin-proposal-private-methods" "^7.18.6"
+    "@babel/plugin-proposal-private-property-in-object" "^7.18.6"
+    "@babel/plugin-proposal-unicode-property-regex" "^7.18.6"
+    "@babel/plugin-syntax-async-generators" "^7.8.4"
+    "@babel/plugin-syntax-class-properties" "^7.12.13"
+    "@babel/plugin-syntax-class-static-block" "^7.14.5"
+    "@babel/plugin-syntax-dynamic-import" "^7.8.3"
+    "@babel/plugin-syntax-export-namespace-from" "^7.8.3"
+    "@babel/plugin-syntax-import-assertions" "^7.20.0"
+    "@babel/plugin-syntax-json-strings" "^7.8.3"
+    "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4"
+    "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3"
+    "@babel/plugin-syntax-numeric-separator" "^7.10.4"
+    "@babel/plugin-syntax-object-rest-spread" "^7.8.3"
+    "@babel/plugin-syntax-optional-catch-binding" "^7.8.3"
+    "@babel/plugin-syntax-optional-chaining" "^7.8.3"
+    "@babel/plugin-syntax-private-property-in-object" "^7.14.5"
+    "@babel/plugin-syntax-top-level-await" "^7.14.5"
+    "@babel/plugin-transform-arrow-functions" "^7.18.6"
+    "@babel/plugin-transform-async-to-generator" "^7.18.6"
+    "@babel/plugin-transform-block-scoped-functions" "^7.18.6"
+    "@babel/plugin-transform-block-scoping" "^7.20.2"
+    "@babel/plugin-transform-classes" "^7.20.2"
+    "@babel/plugin-transform-computed-properties" "^7.18.9"
+    "@babel/plugin-transform-destructuring" "^7.20.2"
+    "@babel/plugin-transform-dotall-regex" "^7.18.6"
+    "@babel/plugin-transform-duplicate-keys" "^7.18.9"
+    "@babel/plugin-transform-exponentiation-operator" "^7.18.6"
+    "@babel/plugin-transform-for-of" "^7.18.8"
+    "@babel/plugin-transform-function-name" "^7.18.9"
+    "@babel/plugin-transform-literals" "^7.18.9"
+    "@babel/plugin-transform-member-expression-literals" "^7.18.6"
+    "@babel/plugin-transform-modules-amd" "^7.19.6"
+    "@babel/plugin-transform-modules-commonjs" "^7.19.6"
+    "@babel/plugin-transform-modules-systemjs" "^7.19.6"
+    "@babel/plugin-transform-modules-umd" "^7.18.6"
+    "@babel/plugin-transform-named-capturing-groups-regex" "^7.19.1"
+    "@babel/plugin-transform-new-target" "^7.18.6"
+    "@babel/plugin-transform-object-super" "^7.18.6"
+    "@babel/plugin-transform-parameters" "^7.20.1"
+    "@babel/plugin-transform-property-literals" "^7.18.6"
+    "@babel/plugin-transform-regenerator" "^7.18.6"
+    "@babel/plugin-transform-reserved-words" "^7.18.6"
+    "@babel/plugin-transform-shorthand-properties" "^7.18.6"
+    "@babel/plugin-transform-spread" "^7.19.0"
+    "@babel/plugin-transform-sticky-regex" "^7.18.6"
+    "@babel/plugin-transform-template-literals" "^7.18.9"
+    "@babel/plugin-transform-typeof-symbol" "^7.18.9"
+    "@babel/plugin-transform-unicode-escapes" "^7.18.10"
+    "@babel/plugin-transform-unicode-regex" "^7.18.6"
+    "@babel/preset-modules" "^0.1.5"
+    "@babel/types" "^7.20.2"
+    babel-plugin-polyfill-corejs2 "^0.3.3"
+    babel-plugin-polyfill-corejs3 "^0.6.0"
+    babel-plugin-polyfill-regenerator "^0.4.1"
+    core-js-compat "^3.25.1"
+    semver "^6.3.0"
+
+"@babel/preset-flow@^7.13.13", "@babel/preset-flow@^7.18.6":
+  version "7.18.6"
+  resolved "https://registry.yarnpkg.com/@babel/preset-flow/-/preset-flow-7.18.6.tgz#83f7602ba566e72a9918beefafef8ef16d2810cb"
+  integrity sha512-E7BDhL64W6OUqpuyHnSroLnqyRTcG6ZdOBl1OKI/QK/HJfplqK/S3sq1Cckx7oTodJ5yOXyfw7rEADJ6UjoQDQ==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.18.6"
+    "@babel/helper-validator-option" "^7.18.6"
+    "@babel/plugin-transform-flow-strip-types" "^7.18.6"
+
+"@babel/preset-modules@^0.1.5":
+  version "0.1.5"
+  resolved "https://registry.yarnpkg.com/@babel/preset-modules/-/preset-modules-0.1.5.tgz#ef939d6e7f268827e1841638dc6ff95515e115d9"
+  integrity sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.0.0"
+    "@babel/plugin-proposal-unicode-property-regex" "^7.4.4"
+    "@babel/plugin-transform-dotall-regex" "^7.4.4"
+    "@babel/types" "^7.4.4"
+    esutils "^2.0.2"
+
+"@babel/preset-react@^7.18.6":
+  version "7.18.6"
+  resolved "https://registry.yarnpkg.com/@babel/preset-react/-/preset-react-7.18.6.tgz#979f76d6277048dc19094c217b507f3ad517dd2d"
+  integrity sha512-zXr6atUmyYdiWRVLOZahakYmOBHtWc2WGCkP8PYTgZi0iJXDY2CN180TdrIW4OGOAdLc7TifzDIvtx6izaRIzg==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.18.6"
+    "@babel/helper-validator-option" "^7.18.6"
+    "@babel/plugin-transform-react-display-name" "^7.18.6"
+    "@babel/plugin-transform-react-jsx" "^7.18.6"
+    "@babel/plugin-transform-react-jsx-development" "^7.18.6"
+    "@babel/plugin-transform-react-pure-annotations" "^7.18.6"
+
+"@babel/preset-typescript@^7.13.0", "@babel/preset-typescript@^7.18.6":
+  version "7.18.6"
+  resolved "https://registry.yarnpkg.com/@babel/preset-typescript/-/preset-typescript-7.18.6.tgz#ce64be3e63eddc44240c6358daefac17b3186399"
+  integrity sha512-s9ik86kXBAnD760aybBucdpnLsAt0jK1xqJn2juOn9lkOvSHV60os5hxoVJsPzMQxvnUJFAlkont2DvvaYEBtQ==
+  dependencies:
+    "@babel/helper-plugin-utils" "^7.18.6"
+    "@babel/helper-validator-option" "^7.18.6"
+    "@babel/plugin-transform-typescript" "^7.18.6"
+
+"@babel/register@^7.13.16":
+  version "7.18.9"
+  resolved "https://registry.yarnpkg.com/@babel/register/-/register-7.18.9.tgz#1888b24bc28d5cc41c412feb015e9ff6b96e439c"
+  integrity sha512-ZlbnXDcNYHMR25ITwwNKT88JiaukkdVj/nG7r3wnuXkOTHc60Uy05PwMCPre0hSkY68E6zK3xz+vUJSP2jWmcw==
+  dependencies:
+    clone-deep "^4.0.1"
+    find-cache-dir "^2.0.0"
+    make-dir "^2.1.0"
+    pirates "^4.0.5"
+    source-map-support "^0.5.16"
+
+"@babel/runtime@^7.10.2", "@babel/runtime@^7.13.10", "@babel/runtime@^7.17.8", "@babel/runtime@^7.18.3", "@babel/runtime@^7.7.6", "@babel/runtime@^7.8.4":
+  version "7.20.13"
+  resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.20.13.tgz#7055ab8a7cff2b8f6058bf6ae45ff84ad2aded4b"
+  integrity sha512-gt3PKXs0DBoL9xCvOIIZ2NEqAGZqHjAnmVbfQtB620V0uReIQutpel14KcneZuer7UioY8ALKZ7iocavvzTNFA==
+  dependencies:
+    regenerator-runtime "^0.13.11"
+
 "@babel/runtime@^7.12.5", "@babel/runtime@^7.20.7", "@babel/runtime@^7.9.2":
   version "7.20.7"
   resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.20.7.tgz#fcb41a5a70550e04a7b708037c7c32f7f356d8fd"
@@ -275,6 +1043,22 @@
     "@babel/parser" "^7.20.7"
     "@babel/types" "^7.20.7"
 
+"@babel/traverse@^7.1.6", "@babel/traverse@^7.20.5":
+  version "7.20.13"
+  resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.20.13.tgz#817c1ba13d11accca89478bd5481b2d168d07473"
+  integrity sha512-kMJXfF0T6DIS9E8cgdLCSAL+cuCK+YEZHWiLK0SXpTo8YRj5lpJu3CDNKiIBCne4m9hhTIqUg6SYTAI39tAiVQ==
+  dependencies:
+    "@babel/code-frame" "^7.18.6"
+    "@babel/generator" "^7.20.7"
+    "@babel/helper-environment-visitor" "^7.18.9"
+    "@babel/helper-function-name" "^7.19.0"
+    "@babel/helper-hoist-variables" "^7.18.6"
+    "@babel/helper-split-export-declaration" "^7.18.6"
+    "@babel/parser" "^7.20.13"
+    "@babel/types" "^7.20.7"
+    debug "^4.1.0"
+    globals "^11.1.0"
+
 "@babel/traverse@^7.20.10", "@babel/traverse@^7.20.12", "@babel/traverse@^7.20.7", "@babel/traverse@^7.7.2":
   version "7.20.12"
   resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.20.12.tgz#7f0f787b3a67ca4475adef1f56cb94f6abd4a4b5"
@@ -291,7 +1075,7 @@
     debug "^4.1.0"
     globals "^11.1.0"
 
-"@babel/types@^7.0.0", "@babel/types@^7.18.6", "@babel/types@^7.19.0", "@babel/types@^7.20.2", "@babel/types@^7.20.7", "@babel/types@^7.3.0", "@babel/types@^7.3.3":
+"@babel/types@^7.0.0", "@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.19.0", "@babel/types@^7.2.0", "@babel/types@^7.20.0", "@babel/types@^7.20.2", "@babel/types@^7.20.5", "@babel/types@^7.20.7", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4":
   version "7.20.7"
   resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.20.7.tgz#54ec75e252318423fc07fb644dc6a58a64c09b7f"
   integrity sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==
@@ -300,11 +1084,21 @@
     "@babel/helper-validator-identifier" "^7.19.1"
     to-fast-properties "^2.0.0"
 
+"@base2/pretty-print-object@1.0.1":
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/@base2/pretty-print-object/-/pretty-print-object-1.0.1.tgz#371ba8be66d556812dc7fb169ebc3c08378f69d4"
+  integrity sha512-4iri8i1AqYHJE2DstZYkyEprg6Pq6sKx3xn5FpySk9sNhH7qN2LLlHJCfDTZRILNwQNPD7mATWM0TBui7uC1pA==
+
 "@bcoe/v8-coverage@^0.2.3":
   version "0.2.3"
   resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39"
   integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==
 
+"@colors/colors@1.5.0":
+  version "1.5.0"
+  resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9"
+  integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==
+
 "@commitlint/cli@^17.4.0":
   version "17.4.0"
   resolved "https://registry.yarnpkg.com/@commitlint/cli/-/cli-17.4.0.tgz#14a5f9b713a5b60ff1a0cfce66b0bb207954c1ad"
@@ -472,15 +1266,448 @@
   dependencies:
     "@jridgewell/trace-mapping" "0.3.9"
 
-"@esbuild/android-arm@0.15.18":
-  version "0.15.18"
-  resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.15.18.tgz#266d40b8fdcf87962df8af05b76219bc786b4f80"
-  integrity sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw==
+"@discoveryjs/json-ext@^0.5.3":
+  version "0.5.7"
+  resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70"
+  integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==
+
+"@emotion/babel-plugin@^11.10.5":
+  version "11.10.5"
+  resolved "https://registry.yarnpkg.com/@emotion/babel-plugin/-/babel-plugin-11.10.5.tgz#65fa6e1790ddc9e23cc22658a4c5dea423c55c3c"
+  integrity sha512-xE7/hyLHJac7D2Ve9dKroBBZqBT7WuPQmWcq7HSGb84sUuP4mlOWoB8dvVfD9yk5DHkU1m6RW7xSoDtnQHNQeA==
+  dependencies:
+    "@babel/helper-module-imports" "^7.16.7"
+    "@babel/plugin-syntax-jsx" "^7.17.12"
+    "@babel/runtime" "^7.18.3"
+    "@emotion/hash" "^0.9.0"
+    "@emotion/memoize" "^0.8.0"
+    "@emotion/serialize" "^1.1.1"
+    babel-plugin-macros "^3.1.0"
+    convert-source-map "^1.5.0"
+    escape-string-regexp "^4.0.0"
+    find-root "^1.1.0"
+    source-map "^0.5.7"
+    stylis "4.1.3"
+
+"@emotion/cache@^11.10.5":
+  version "11.10.5"
+  resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.10.5.tgz#c142da9351f94e47527ed458f7bbbbe40bb13c12"
+  integrity sha512-dGYHWyzTdmK+f2+EnIGBpkz1lKc4Zbj2KHd4cX3Wi8/OWr5pKslNjc3yABKH4adRGCvSX4VDC0i04mrrq0aiRA==
+  dependencies:
+    "@emotion/memoize" "^0.8.0"
+    "@emotion/sheet" "^1.2.1"
+    "@emotion/utils" "^1.2.0"
+    "@emotion/weak-memoize" "^0.3.0"
+    stylis "4.1.3"
+
+"@emotion/css-prettifier@^1.1.1":
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/@emotion/css-prettifier/-/css-prettifier-1.1.1.tgz#87f3104c057a55674ff464f9c4fdf7326847f0ea"
+  integrity sha512-dtiZLNN3dWP0mo/+VTPkzNrjp1wL6VRHOOSMn3XpQM4D/7xOVHEIQR6lT5Yj5Omun1REog5NFZ+5hxj+LtTIyQ==
+  dependencies:
+    "@emotion/memoize" "^0.8.0"
+    stylis "4.1.3"
+
+"@emotion/hash@^0.9.0":
+  version "0.9.0"
+  resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.9.0.tgz#c5153d50401ee3c027a57a177bc269b16d889cb7"
+  integrity sha512-14FtKiHhy2QoPIzdTcvh//8OyBlknNs2nXRwIhG904opCby3l+9Xaf/wuPvICBF0rc1ZCNBd3nKe9cd2mecVkQ==
+
+"@emotion/jest@^11.10.5":
+  version "11.10.5"
+  resolved "https://registry.yarnpkg.com/@emotion/jest/-/jest-11.10.5.tgz#6aea1aec38e1c59e675702fa877644a6b1c18d05"
+  integrity sha512-LagosxybgisPlxfBGas9kGcNB5xTTX125WbjEVZiE3MEbb+dI4UYn0XIzrsilR8nUaQ5lH6yKUFrMmz7kB34vg==
+  dependencies:
+    "@babel/runtime" "^7.18.3"
+    "@emotion/css-prettifier" "^1.1.1"
+    chalk "^4.1.0"
+    specificity "^0.4.1"
+    stylis "4.1.3"
+
+"@emotion/memoize@^0.8.0":
+  version "0.8.0"
+  resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.8.0.tgz#f580f9beb67176fa57aae70b08ed510e1b18980f"
+  integrity sha512-G/YwXTkv7Den9mXDO7AhLWkE3q+I92B+VqAE+dYG4NGPaHZGvt3G8Q0p9vmE+sq7rTGphUbAvmQ9YpbfMQGGlA==
+
+"@emotion/react@^11.10.5":
+  version "11.10.5"
+  resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.10.5.tgz#95fff612a5de1efa9c0d535384d3cfa115fe175d"
+  integrity sha512-TZs6235tCJ/7iF6/rvTaOH4oxQg2gMAcdHemjwLKIjKz4rRuYe1HJ2TQJKnAcRAfOUDdU8XoDadCe1rl72iv8A==
+  dependencies:
+    "@babel/runtime" "^7.18.3"
+    "@emotion/babel-plugin" "^11.10.5"
+    "@emotion/cache" "^11.10.5"
+    "@emotion/serialize" "^1.1.1"
+    "@emotion/use-insertion-effect-with-fallbacks" "^1.0.0"
+    "@emotion/utils" "^1.2.0"
+    "@emotion/weak-memoize" "^0.3.0"
+    hoist-non-react-statics "^3.3.1"
+
+"@emotion/serialize@^1.1.1":
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-1.1.1.tgz#0595701b1902feded8a96d293b26be3f5c1a5cf0"
+  integrity sha512-Zl/0LFggN7+L1liljxXdsVSVlg6E/Z/olVWpfxUTxOAmi8NU7YoeWeLfi1RmnB2TATHoaWwIBRoL+FvAJiTUQA==
+  dependencies:
+    "@emotion/hash" "^0.9.0"
+    "@emotion/memoize" "^0.8.0"
+    "@emotion/unitless" "^0.8.0"
+    "@emotion/utils" "^1.2.0"
+    csstype "^3.0.2"
+
+"@emotion/sheet@^1.2.1":
+  version "1.2.1"
+  resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.2.1.tgz#0767e0305230e894897cadb6c8df2c51e61a6c2c"
+  integrity sha512-zxRBwl93sHMsOj4zs+OslQKg/uhF38MB+OMKoCrVuS0nyTkqnau+BM3WGEoOptg9Oz45T/aIGs1qbVAsEFo3nA==
+
+"@emotion/unitless@^0.8.0":
+  version "0.8.0"
+  resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.8.0.tgz#a4a36e9cbdc6903737cd20d38033241e1b8833db"
+  integrity sha512-VINS5vEYAscRl2ZUDiT3uMPlrFQupiKgHz5AA4bCH1miKBg4qtwkim1qPmJj/4WG6TreYMY111rEFsjupcOKHw==
 
-"@esbuild/linux-loong64@0.15.18":
-  version "0.15.18"
-  resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.15.18.tgz#128b76ecb9be48b60cf5cfc1c63a4f00691a3239"
-  integrity sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ==
+"@emotion/use-insertion-effect-with-fallbacks@^1.0.0":
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.0.tgz#ffadaec35dbb7885bd54de3fa267ab2f860294df"
+  integrity sha512-1eEgUGmkaljiBnRMTdksDV1W4kUnmwgp7X9G8B++9GYwl1lUdqSndSriIrTJ0N7LQaoauY9JJ2yhiOYK5+NI4A==
+
+"@emotion/utils@^1.2.0":
+  version "1.2.0"
+  resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-1.2.0.tgz#9716eaccbc6b5ded2ea5a90d65562609aab0f561"
+  integrity sha512-sn3WH53Kzpw8oQ5mgMmIzzyAaH2ZqFEbozVVBSYp538E06OSE6ytOp7pRAjNQR+Q/orwqdQYJSe2m3hCOeznkw==
+
+"@emotion/weak-memoize@^0.3.0":
+  version "0.3.0"
+  resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.3.0.tgz#ea89004119dc42db2e1dba0f97d553f7372f6fcb"
+  integrity sha512-AHPmaAx+RYfZz0eYu6Gviiagpmiyw98ySSlQvCUhVGDRtDFe4DBS0x1bSjdF3gqUDYOczB+yYvBTtEylYSdRhg==
+
+"@esbuild/android-arm64@0.16.17":
+  version "0.16.17"
+  resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.16.17.tgz#cf91e86df127aa3d141744edafcba0abdc577d23"
+  integrity sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==
+
+"@esbuild/android-arm64@0.17.10":
+  version "0.17.10"
+  resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.10.tgz#ad2ee47dd021035abdfb0c38848ff77a1e1918c4"
+  integrity sha512-ht1P9CmvrPF5yKDtyC+z43RczVs4rrHpRqrmIuoSvSdn44Fs1n6DGlpZKdK6rM83pFLbVaSUwle8IN+TPmkv7g==
+
+"@esbuild/android-arm64@0.17.9":
+  version "0.17.9"
+  resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.17.9.tgz#d7d7231918e962475a8d538efb281a2ab95302bc"
+  integrity sha512-bqds/6lXsCA7JhHGKIM/R80sy3BAIBR0HWyeas0bW57QVHT3Rz5sf4oUVS4ZsmN+J+8IgNnaIT2PXZ0pnRcLKg==
+
+"@esbuild/android-arm@0.16.17":
+  version "0.16.17"
+  resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.16.17.tgz#025b6246d3f68b7bbaa97069144fb5fb70f2fff2"
+  integrity sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==
+
+"@esbuild/android-arm@0.17.10":
+  version "0.17.10"
+  resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.10.tgz#bb5a68af8adeb94b30eadee7307404dc5237d076"
+  integrity sha512-7YEBfZ5lSem9Tqpsz+tjbdsEshlO9j/REJrfv4DXgKTt1+/MHqGwbtlyxQuaSlMeUZLxUKBaX8wdzlTfHkmnLw==
+
+"@esbuild/android-arm@0.17.9":
+  version "0.17.9"
+  resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.17.9.tgz#7c2e3899715e190ace63291adc005ee8726d3ad9"
+  integrity sha512-efHnZVJldh2e18fK40RYzYTTRDzZ0QgL9V/73PSsAH43BauvjVwkqSHPhbcn77H0EQOUM2JPuO/XCg7jcKt94A==
+
+"@esbuild/android-x64@0.16.17":
+  version "0.16.17"
+  resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.16.17.tgz#c820e0fef982f99a85c4b8bfdd582835f04cd96e"
+  integrity sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==
+
+"@esbuild/android-x64@0.17.10":
+  version "0.17.10"
+  resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.10.tgz#751d5d8ae9ece1efa9627b689c888eb85b102360"
+  integrity sha512-CYzrm+hTiY5QICji64aJ/xKdN70IK8XZ6iiyq0tZkd3tfnwwSWTYH1t3m6zyaaBxkuj40kxgMyj1km/NqdjQZA==
+
+"@esbuild/android-x64@0.17.9":
+  version "0.17.9"
+  resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.17.9.tgz#9c4994df308a4f0ef753d5933871213d974d2e42"
+  integrity sha512-pP+MLR/k8BAYZuOqEkjAaQd9/pzbNS52pNFiXgdiCHb/16u6o7s0rPF8vPlVg+1s8ii+M6HrymL4534xYwCQCA==
+
+"@esbuild/darwin-arm64@0.16.17":
+  version "0.16.17"
+  resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.17.tgz#edef4487af6b21afabba7be5132c26d22379b220"
+  integrity sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==
+
+"@esbuild/darwin-arm64@0.17.10":
+  version "0.17.10"
+  resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.10.tgz#85601ee7efb2129cd3218d5bcbe8da1173bc1e8b"
+  integrity sha512-3HaGIowI+nMZlopqyW6+jxYr01KvNaLB5znXfbyyjuo4lE0VZfvFGcguIJapQeQMS4cX/NEispwOekJt3gr5Dg==
+
+"@esbuild/darwin-arm64@0.17.9":
+  version "0.17.9"
+  resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.17.9.tgz#7bebec932d1ac73048d804f223b46c9744eac548"
+  integrity sha512-Gdbnu/RCIGHE/zqLHZwujTXnHz0lBQxK9+llrbxm5tO46CMhqiOhUuA5Zt6q2imULNoPJtxmhspHSAQtcx2pkw==
+
+"@esbuild/darwin-x64@0.16.17":
+  version "0.16.17"
+  resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.16.17.tgz#42829168730071c41ef0d028d8319eea0e2904b4"
+  integrity sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==
+
+"@esbuild/darwin-x64@0.17.10":
+  version "0.17.10"
+  resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.10.tgz#362c7e988c61fe72d5edef4f717e4b4fc728da98"
+  integrity sha512-J4MJzGchuCRG5n+B4EHpAMoJmBeAE1L3wGYDIN5oWNqX0tEr7VKOzw0ymSwpoeSpdCa030lagGUfnfhS7OvzrQ==
+
+"@esbuild/darwin-x64@0.17.9":
+  version "0.17.9"
+  resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.17.9.tgz#c0d2c3b951b186fcdd851de08be2649c9e545331"
+  integrity sha512-GEZsUsDjJnCTVWuaq1cJ1Y3oV9GmNj/h4j6jA29VYSip7S7nSSiAo4dQFBJg734QKZZFos8fHc4abJpoN2ebGw==
+
+"@esbuild/freebsd-arm64@0.16.17":
+  version "0.16.17"
+  resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.17.tgz#1f4af488bfc7e9ced04207034d398e793b570a27"
+  integrity sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==
+
+"@esbuild/freebsd-arm64@0.17.10":
+  version "0.17.10"
+  resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.10.tgz#e8a85a46ede7c3a048a12f16b9d551d25adc8bb1"
+  integrity sha512-ZkX40Z7qCbugeK4U5/gbzna/UQkM9d9LNV+Fro8r7HA7sRof5Rwxc46SsqeMvB5ZaR0b1/ITQ/8Y1NmV2F0fXQ==
+
+"@esbuild/freebsd-arm64@0.17.9":
+  version "0.17.9"
+  resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.9.tgz#b357eda2c38b17bb9f3d217a063caae51caeb637"
+  integrity sha512-l3v6bZdpZIG4RpNKObqNqJhDvqQO5JqQlU2S+KyMCbf0xQhYCbTuhu5kKY8hndM1oKhmqq6VfPWhOSf6P3XT/g==
+
+"@esbuild/freebsd-x64@0.16.17":
+  version "0.16.17"
+  resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.17.tgz#636306f19e9bc981e06aa1d777302dad8fddaf72"
+  integrity sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==
+
+"@esbuild/freebsd-x64@0.17.10":
+  version "0.17.10"
+  resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.10.tgz#cd0a1b68bffbcb5b65e65b3fd542e8c7c3edd86b"
+  integrity sha512-0m0YX1IWSLG9hWh7tZa3kdAugFbZFFx9XrvfpaCMMvrswSTvUZypp0NFKriUurHpBA3xsHVE9Qb/0u2Bbi/otg==
+
+"@esbuild/freebsd-x64@0.17.9":
+  version "0.17.9"
+  resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.17.9.tgz#1d2889efe8e7a824d15175081c7992f7ae8be925"
+  integrity sha512-o/qhS0gbIdS0AjgiT0mbdiRIyNVRD31N81c1H7NNM4p6jVkSvScqo0v9eYJ+30mPhJsL26BwSNiuFJzD/SCyuw==
+
+"@esbuild/linux-arm64@0.16.17":
+  version "0.16.17"
+  resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.16.17.tgz#a003f7ff237c501e095d4f3a09e58fc7b25a4aca"
+  integrity sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==
+
+"@esbuild/linux-arm64@0.17.10":
+  version "0.17.10"
+  resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.10.tgz#13b183f432512ed9d9281cc89476caeebe9e9123"
+  integrity sha512-g1EZJR1/c+MmCgVwpdZdKi4QAJ8DCLP5uTgLWSAVd9wlqk9GMscaNMEViG3aE1wS+cNMzXXgdWiW/VX4J+5nTA==
+
+"@esbuild/linux-arm64@0.17.9":
+  version "0.17.9"
+  resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.17.9.tgz#838dae7c417ea76195eff90a31da78fe1b4dd43c"
+  integrity sha512-o3bvDJn9txfMxrCVJATbL3NeksMT9MGqSN7vTeG9g+387rDzfUiWpF5CN/L0MoI3QTicTydEDOx0PVX8/q+nCA==
+
+"@esbuild/linux-arm@0.16.17":
+  version "0.16.17"
+  resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.16.17.tgz#b591e6a59d9c4fe0eeadd4874b157ab78cf5f196"
+  integrity sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==
+
+"@esbuild/linux-arm@0.17.10":
+  version "0.17.10"
+  resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.10.tgz#dd11e0a5faa3ea94dc80278a601c3be7b4fdf1da"
+  integrity sha512-whRdrrl0X+9D6o5f0sTZtDM9s86Xt4wk1bf7ltx6iQqrIIOH+sre1yjpcCdrVXntQPCNw/G+XqsD4HuxeS+2QA==
+
+"@esbuild/linux-arm@0.17.9":
+  version "0.17.9"
+  resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.17.9.tgz#a3a1b074a08dd9ee85b76e0ff2a8dafaf87a884b"
+  integrity sha512-AhSVW1uIbcXssQ1D+Mn0txGgcxU32ikvIxuqkmjLC7dUpcX0JuwkPgdqTOicuBjG06GV4WvXSHcKCBUjN+oBxA==
+
+"@esbuild/linux-ia32@0.16.17":
+  version "0.16.17"
+  resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.16.17.tgz#24333a11027ef46a18f57019450a5188918e2a54"
+  integrity sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==
+
+"@esbuild/linux-ia32@0.17.10":
+  version "0.17.10"
+  resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.10.tgz#4d836f87b92807d9292379963c4888270d282405"
+  integrity sha512-1vKYCjfv/bEwxngHERp7huYfJ4jJzldfxyfaF7hc3216xiDA62xbXJfRlradiMhGZbdNLj2WA1YwYFzs9IWNPw==
+
+"@esbuild/linux-ia32@0.17.9":
+  version "0.17.9"
+  resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.17.9.tgz#b6cf70ea799a16318fa492fcd996748f65c9b0c6"
+  integrity sha512-fh3Eb+jMHDJUd08vEYL8swRT7zJo4lhrcG8NYuosHVeT49XQ0Bn9xLMtgtYXjCw5aB11aphAUwnzawvDqJCqTQ==
+
+"@esbuild/linux-loong64@0.16.17":
+  version "0.16.17"
+  resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.16.17.tgz#d5ad459d41ed42bbd4d005256b31882ec52227d8"
+  integrity sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==
+
+"@esbuild/linux-loong64@0.17.10":
+  version "0.17.10"
+  resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.10.tgz#92eb2ee200c17ef12c7fb3b648231948699e7a4c"
+  integrity sha512-mvwAr75q3Fgc/qz3K6sya3gBmJIYZCgcJ0s7XshpoqIAIBszzfXsqhpRrRdVFAyV1G9VUjj7VopL2HnAS8aHFA==
+
+"@esbuild/linux-loong64@0.17.9":
+  version "0.17.9"
+  resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.17.9.tgz#5c6968022ba45b8a182889260165631959616c3c"
+  integrity sha512-+DvqOzQLkXonfQTHo4PTlbiTCfz0Rx6oYn3fQrUlPX2PffGOth4HjuP4jHeFbw0YFfOErhjM6n481nB4VTmmFQ==
+
+"@esbuild/linux-mips64el@0.16.17":
+  version "0.16.17"
+  resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.17.tgz#4e5967a665c38360b0a8205594377d4dcf9c3726"
+  integrity sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==
+
+"@esbuild/linux-mips64el@0.17.10":
+  version "0.17.10"
+  resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.10.tgz#14f7d50c40fe7f7ee545a9bd07c6f6e4cba5570e"
+  integrity sha512-XilKPgM2u1zR1YuvCsFQWl9Fc35BqSqktooumOY2zj7CSn5czJn279j9TE1JEqSqz88izJo7yE4x3LSf7oxHzg==
+
+"@esbuild/linux-mips64el@0.17.9":
+  version "0.17.9"
+  resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.17.9.tgz#e12f789e606b6bd239c69a56c50869b1c73bc7cb"
+  integrity sha512-9O0HhtxRzx9OOqavv7kIONncJXxhzrbDFmOD+cJ/3UUsy8dn52J6X2xCeUOxbmEOXYP2K+uha7b1AXG/URhF5Q==
+
+"@esbuild/linux-ppc64@0.16.17":
+  version "0.16.17"
+  resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.17.tgz#206443a02eb568f9fdf0b438fbd47d26e735afc8"
+  integrity sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==
+
+"@esbuild/linux-ppc64@0.17.10":
+  version "0.17.10"
+  resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.10.tgz#1ab5802e93ae511ce9783e1cb95f37df0f84c4af"
+  integrity sha512-kM4Rmh9l670SwjlGkIe7pYWezk8uxKHX4Lnn5jBZYBNlWpKMBCVfpAgAJqp5doLobhzF3l64VZVrmGeZ8+uKmQ==
+
+"@esbuild/linux-ppc64@0.17.9":
+  version "0.17.9"
+  resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.17.9.tgz#95ed6f6e86b55086225356adea68f1132f0de745"
+  integrity sha512-tOwSTDZ0X5rcYK3OyfJVf4fFlvYLv3HGCOJxdE9gZVeRkXXd6O9CJ/A4Li1Tt9JQs9kJcFWCXxCwhY70h+t9iw==
+
+"@esbuild/linux-riscv64@0.16.17":
+  version "0.16.17"
+  resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.17.tgz#c351e433d009bf256e798ad048152c8d76da2fc9"
+  integrity sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==
+
+"@esbuild/linux-riscv64@0.17.10":
+  version "0.17.10"
+  resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.10.tgz#4fae25201ef7ad868731d16c8b50b0e386c4774a"
+  integrity sha512-r1m9ZMNJBtOvYYGQVXKy+WvWd0BPvSxMsVq8Hp4GzdMBQvfZRvRr5TtX/1RdN6Va8JMVQGpxqde3O+e8+khNJQ==
+
+"@esbuild/linux-riscv64@0.17.9":
+  version "0.17.9"
+  resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.17.9.tgz#152280429f9eb04bea9896c6855a3ac917f2035c"
+  integrity sha512-mmirCaZItLSPw7loFPHvdDXO0A2I+cYOQ96eerbWEjqi9V4u+vvYSoUR3Or7HLe1JUZS+T0YWN+jPUASc1hqzg==
+
+"@esbuild/linux-s390x@0.16.17":
+  version "0.16.17"
+  resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.16.17.tgz#661f271e5d59615b84b6801d1c2123ad13d9bd87"
+  integrity sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==
+
+"@esbuild/linux-s390x@0.17.10":
+  version "0.17.10"
+  resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.10.tgz#126254d8335bb3586918b1ca60beb4abb46e6d54"
+  integrity sha512-LsY7QvOLPw9WRJ+fU5pNB3qrSfA00u32ND5JVDrn/xG5hIQo3kvTxSlWFRP0NJ0+n6HmhPGG0Q4jtQsb6PFoyg==
+
+"@esbuild/linux-s390x@0.17.9":
+  version "0.17.9"
+  resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.17.9.tgz#4b64f84e7fad4b42dd4cb95ec8c8525c7f2c8447"
+  integrity sha512-zuL5TDhxstsvxYVZ1McsnfNrO6vlpZmxiNShJmYuYPt8COBJ/4iRkwHZ5Rbf1OkEVazB3/WASNtopv1/Gq19IQ==
+
+"@esbuild/linux-x64@0.16.17":
+  version "0.16.17"
+  resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.16.17.tgz#e4ba18e8b149a89c982351443a377c723762b85f"
+  integrity sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==
+
+"@esbuild/linux-x64@0.17.10":
+  version "0.17.10"
+  resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.10.tgz#7fa4667b2df81ea0538e1b75e607cf04e526ce91"
+  integrity sha512-zJUfJLebCYzBdIz/Z9vqwFjIA7iSlLCFvVi7glMgnu2MK7XYigwsonXshy9wP9S7szF+nmwrelNaP3WGanstEg==
+
+"@esbuild/linux-x64@0.17.9":
+  version "0.17.9"
+  resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.17.9.tgz#0ec61046dab79be9f08df37a10b9966fd1d940b5"
+  integrity sha512-jVa5NKqwBmq57aNDZOSnNuRTV5GrI93HdjTlyQyRrOs7OSEQq2r9NyaGd6KmzuxLz19XTanFt4WeGoLnjFT1Ug==
+
+"@esbuild/netbsd-x64@0.16.17":
+  version "0.16.17"
+  resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.17.tgz#7d4f4041e30c5c07dd24ffa295c73f06038ec775"
+  integrity sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==
+
+"@esbuild/netbsd-x64@0.17.10":
+  version "0.17.10"
+  resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.10.tgz#2d24727ddc2305619685bf237a46d6087a02ee9a"
+  integrity sha512-lOMkailn4Ok9Vbp/q7uJfgicpDTbZFlXlnKT2DqC8uBijmm5oGtXAJy2ZZVo5hX7IOVXikV9LpCMj2U8cTguWA==
+
+"@esbuild/netbsd-x64@0.17.9":
+  version "0.17.9"
+  resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.17.9.tgz#50b1fc5a6e0d13c8ff2b29a154cd7770194489d9"
+  integrity sha512-BRoQyPJ7aiQ7USFCtGmmrYTbRDa9muZAwoYchfqspd+ef8n2kKcXGQ0K2OqcLEqNFOwhLpAY4y4YAl22FbP+BA==
+
+"@esbuild/openbsd-x64@0.16.17":
+  version "0.16.17"
+  resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.17.tgz#970fa7f8470681f3e6b1db0cc421a4af8060ec35"
+  integrity sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==
+
+"@esbuild/openbsd-x64@0.17.10":
+  version "0.17.10"
+  resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.10.tgz#bf3fc38ee6ecf028c1f0cfe11f61d53cc75fef12"
+  integrity sha512-/VE0Kx6y7eekqZ+ZLU4AjMlB80ov9tEz4H067Y0STwnGOYL8CsNg4J+cCmBznk1tMpxMoUOf0AbWlb1d2Pkbig==
+
+"@esbuild/openbsd-x64@0.17.9":
+  version "0.17.9"
+  resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.17.9.tgz#2fd6643f99810091320b583dea0245e3b0cdc64e"
+  integrity sha512-gDCVw9M2k8tyA9GokQEeh+L2gl0EZeGIIj5WB5H97Mb0ADq5Ea8vWyQs2iY1Q/tebcuP8cUoOZWxkCsmlyl1NA==
+
+"@esbuild/sunos-x64@0.16.17":
+  version "0.16.17"
+  resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.16.17.tgz#abc60e7c4abf8b89fb7a4fe69a1484132238022c"
+  integrity sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==
+
+"@esbuild/sunos-x64@0.17.10":
+  version "0.17.10"
+  resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.10.tgz#8deabd6dfec6256f80bb101bc59d29dbae99c69b"
+  integrity sha512-ERNO0838OUm8HfUjjsEs71cLjLMu/xt6bhOlxcJ0/1MG3hNqCmbWaS+w/8nFLa0DDjbwZQuGKVtCUJliLmbVgg==
+
+"@esbuild/sunos-x64@0.17.9":
+  version "0.17.9"
+  resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.17.9.tgz#fa0e4b67b6213423c7a57f2d4ecec19c6f4c3012"
+  integrity sha512-f89/xt0Hzp7POTDJYSJvotyFXatxXBGXJyFFTQGJW+NTYhFHaMcrrb41OB3L8sfzYi3PSlM3pZnwlEk1QiBX2g==
+
+"@esbuild/win32-arm64@0.16.17":
+  version "0.16.17"
+  resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.16.17.tgz#7b0ff9e8c3265537a7a7b1fd9a24e7bd39fcd87a"
+  integrity sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==
+
+"@esbuild/win32-arm64@0.17.10":
+  version "0.17.10"
+  resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.10.tgz#1ec1ee04c788c4c57a83370b6abf79587b3e4965"
+  integrity sha512-fXv+L+Bw2AeK+XJHwDAQ9m3NRlNemG6Z6ijLwJAAVdu4cyoFbBWbEtyZzDeL+rpG2lWI51cXeMt70HA8g2MqIg==
+
+"@esbuild/win32-arm64@0.17.9":
+  version "0.17.9"
+  resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.17.9.tgz#85d396aa986f5671f151df5aea1d54fb7626979d"
+  integrity sha512-jrU/SBHXc3NPS5mPgYeL8pgIrBTwdrnaoLtygkQtuPzz0oBjsTyxV46tZoOctv4Q1Jq06+4zsJWkTzVaoik8FQ==
+
+"@esbuild/win32-ia32@0.16.17":
+  version "0.16.17"
+  resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.16.17.tgz#e90fe5267d71a7b7567afdc403dfd198c292eb09"
+  integrity sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==
+
+"@esbuild/win32-ia32@0.17.10":
+  version "0.17.10"
+  resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.10.tgz#a362528d7f3ad5d44fa8710a96764677ef92ebe9"
+  integrity sha512-3s+HADrOdCdGOi5lnh5DMQEzgbsFsd4w57L/eLKKjMnN0CN4AIEP0DCP3F3N14xnxh3ruNc32A0Na9zYe1Z/AQ==
+
+"@esbuild/win32-ia32@0.17.9":
+  version "0.17.9"
+  resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.17.9.tgz#1de54043d30ff2ada4f6316e1ce8ad097a02ec42"
+  integrity sha512-/oVEu7DurNFM0E6qA18R8xkbYU6xilaTnqG65rqm4XJo8ONuqTzLnj/93bQps7RJIxPI+yKPl0Zx2KifvWUa5A==
+
+"@esbuild/win32-x64@0.16.17":
+  version "0.16.17"
+  resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.16.17.tgz#c5a1a4bfe1b57f0c3e61b29883525c6da3e5c091"
+  integrity sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==
+
+"@esbuild/win32-x64@0.17.10":
+  version "0.17.10"
+  resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.10.tgz#ac779220f2da96afd480fb3f3148a292f66e7fc3"
+  integrity sha512-oP+zFUjYNaMNmjTwlFtWep85hvwUu19cZklB3QsBOcZSs6y7hmH4LNCJ7075bsqzYaNvZFXJlAVaQ2ApITDXtw==
+
+"@esbuild/win32-x64@0.17.9":
+  version "0.17.9"
+  resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.17.9.tgz#3d928444d650010b55a601f5fb225ff20487ca44"
+  integrity sha512-PLKuXKwlPljFrzzsUO6hHNWcYeE4a8FOX/6AJ7U7PajgKqtBGw2mGYxsfJHGb+UdfgdOapIOsYPgzMTG+SGDrg==
 
 "@eslint/eslintrc@^1.4.1":
   version "1.4.1"
@@ -497,6 +1724,39 @@
     minimatch "^3.1.2"
     strip-json-comments "^3.1.1"
 
+"@fal-works/esbuild-plugin-global-externals@^2.1.2":
+  version "2.1.2"
+  resolved "https://registry.yarnpkg.com/@fal-works/esbuild-plugin-global-externals/-/esbuild-plugin-global-externals-2.1.2.tgz#c05ed35ad82df8e6ac616c68b92c2282bd083ba4"
+  integrity sha512-cEee/Z+I12mZcFJshKcCqC8tuX5hG3s+d+9nZ3LabqKF1vKdF41B92pJVCBggjAGORAeOzyyDDKrZwIkLffeOQ==
+
+"@floating-ui/core@^1.1.0":
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/@floating-ui/core/-/core-1.1.1.tgz#cf8b4cdd8987c687329a6099561764d8a16f2f22"
+  integrity sha512-PL7g3dhA4dHgZfujkuD8Q+tfJJynEtnNQSPzmucCnxMvkxf4cLBJw/ZYqZUn4HCh33U3WHrAfv2R2tbi9UCSmw==
+
+"@floating-ui/dom@^1.1.1":
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/@floating-ui/dom/-/dom-1.1.1.tgz#66aa747e15894910869bf9144fc54fc7d6e9f975"
+  integrity sha512-TpIO93+DIujg3g7SykEAGZMDtbJRrmnYRCNYSjJlvIbGhBjRSNTLVbNeDQBrzy9qDgUbiWdc7KA0uZHZ2tJmiw==
+  dependencies:
+    "@floating-ui/core" "^1.1.0"
+
+"@floating-ui/react-dom@^1.2.2":
+  version "1.2.2"
+  resolved "https://registry.yarnpkg.com/@floating-ui/react-dom/-/react-dom-1.2.2.tgz#ed256992fd44fcfcddc96da68b4b92f123d61871"
+  integrity sha512-DbmFBLwFrZhtXgCI2ra7wXYT8L2BN4/4AMQKyu05qzsVji51tXOfF36VE2gpMB6nhJGHa85PdEg75FB4+vnLFQ==
+  dependencies:
+    "@floating-ui/dom" "^1.1.1"
+
+"@floating-ui/react@^0.19.1":
+  version "0.19.1"
+  resolved "https://registry.yarnpkg.com/@floating-ui/react/-/react-0.19.1.tgz#bcaeaf3856dfeea388816f7e66750cab26208376"
+  integrity sha512-h7hr53rLp+VVvWvbu0dOBvGsLeeZwn1DTLIllIaLYjGWw20YhAgEqegHU+nc7BJ30ttxq4Sq6hqARm0ne6chXQ==
+  dependencies:
+    "@floating-ui/react-dom" "^1.2.2"
+    aria-hidden "^1.1.3"
+    tabbable "^6.0.1"
+
 "@humanwhocodes/config-array@^0.11.8":
   version "0.11.8"
   resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.8.tgz#03595ac2075a4dc0f191cc2131de14fbd7d410b9"
@@ -537,7 +1797,7 @@
     js-yaml "^3.13.1"
     resolve-from "^5.0.0"
 
-"@istanbuljs/schema@^0.1.2":
+"@istanbuljs/schema@^0.1.2", "@istanbuljs/schema@^0.1.3":
   version "0.1.3"
   resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98"
   integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==
@@ -760,7 +2020,7 @@
     "@jridgewell/set-array" "^1.0.0"
     "@jridgewell/sourcemap-codec" "^1.4.10"
 
-"@jridgewell/gen-mapping@^0.3.2":
+"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2":
   version "0.3.2"
   resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9"
   integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==
@@ -779,6 +2039,14 @@
   resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72"
   integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==
 
+"@jridgewell/source-map@^0.3.2":
+  version "0.3.2"
+  resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.2.tgz#f45351aaed4527a298512ec72f81040c998580fb"
+  integrity sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==
+  dependencies:
+    "@jridgewell/gen-mapping" "^0.3.0"
+    "@jridgewell/trace-mapping" "^0.3.9"
+
 "@jridgewell/sourcemap-codec@1.4.14", "@jridgewell/sourcemap-codec@^1.4.10":
   version "1.4.14"
   resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24"
@@ -792,7 +2060,7 @@
     "@jridgewell/resolve-uri" "^3.0.3"
     "@jridgewell/sourcemap-codec" "^1.4.10"
 
-"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.15", "@jridgewell/trace-mapping@^0.3.9":
+"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.14", "@jridgewell/trace-mapping@^0.3.15", "@jridgewell/trace-mapping@^0.3.9":
   version "0.3.17"
   resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz#793041277af9073b0951a7fe0f0d8c4c98c36985"
   integrity sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==
@@ -800,6 +2068,56 @@
     "@jridgewell/resolve-uri" "3.1.0"
     "@jridgewell/sourcemap-codec" "1.4.14"
 
+"@juggle/resize-observer@^3.3.1":
+  version "3.4.0"
+  resolved "https://registry.yarnpkg.com/@juggle/resize-observer/-/resize-observer-3.4.0.tgz#08d6c5e20cf7e4cc02fd181c4b0c225cd31dbb60"
+  integrity sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA==
+
+"@mantine/core@^5.10.3":
+  version "5.10.3"
+  resolved "https://registry.yarnpkg.com/@mantine/core/-/core-5.10.3.tgz#9c7c0dbfada6b6ccbf9d51315d1926bad8578393"
+  integrity sha512-kBb8l085vg+MjAVxEDyI/koT/l2hXTBVdg6pkSJlFlMtUlhBGkp8fzqaaUiJ7C1oU//NnHAogPymHw0tjpPBgA==
+  dependencies:
+    "@floating-ui/react" "^0.19.1"
+    "@mantine/styles" "5.10.3"
+    "@mantine/utils" "5.10.3"
+    "@radix-ui/react-scroll-area" "1.0.2"
+    react-textarea-autosize "8.3.4"
+
+"@mantine/hooks@^5.10.3":
+  version "5.10.3"
+  resolved "https://registry.yarnpkg.com/@mantine/hooks/-/hooks-5.10.3.tgz#1a80a53d8f4e2ddf7da7b0912dcec6a51b55c1ae"
+  integrity sha512-fFDXF0A596z10QKeWAGtTZJ4QotsMxhhbjfWWRHMogY/hXHQ2S+7+GFotpF2JbzefYztpawHEJevy3eYF8cQmQ==
+
+"@mantine/prism@^5.10.3":
+  version "5.10.3"
+  resolved "https://registry.yarnpkg.com/@mantine/prism/-/prism-5.10.3.tgz#61aad3458aaca1f54921d6976507a037a2cead21"
+  integrity sha512-PvsxpFsaMHZXbjZpxSanhFZHPCvZEzLzSqHAOe537YfFUF4qHoZUAq+JTIQQ1VFfunTkvo9GURbuDPLUyKY/WA==
+  dependencies:
+    "@mantine/utils" "5.10.3"
+    prism-react-renderer "^1.2.1"
+
+"@mantine/styles@5.10.3":
+  version "5.10.3"
+  resolved "https://registry.yarnpkg.com/@mantine/styles/-/styles-5.10.3.tgz#dd073ceaf787fbefe73cc9a1e4168c2c8160809e"
+  integrity sha512-OpKY207BgkJd59wSNuNaZILAUbNh1b87iY5bZOVm9u49X5cOo/n4nrkaUMw2FCZIKi6psyobtW7XYCuoldrI4w==
+  dependencies:
+    clsx "1.1.1"
+    csstype "3.0.9"
+
+"@mantine/utils@5.10.3":
+  version "5.10.3"
+  resolved "https://registry.yarnpkg.com/@mantine/utils/-/utils-5.10.3.tgz#724e5076812bffdb15a23859f23b9e78c1774239"
+  integrity sha512-ZfR1wouA/rz3xTOb2wBnrQpIiyjLcCLLvbUo7rzaG3LhFy7UoGjZ6uqIW9qDrzs7SR4tETRfMxedYagjcoCiEg==
+
+"@mdx-js/react@^2.1.5":
+  version "2.2.1"
+  resolved "https://registry.yarnpkg.com/@mdx-js/react/-/react-2.2.1.tgz#5a70592418d52b1b01538c37e795034601c96ec5"
+  integrity sha512-YdXcMcEnqZhzql98RNrqYo9cEhTTesBiCclEtoiQUbJwx87q9453GTapYU6kJ8ZZ2ek1Vp25SiAXEFy5O/eAPw==
+  dependencies:
+    "@types/mdx" "^2.0.0"
+    "@types/react" ">=16"
+
 "@nodelib/fs.scandir@2.1.5":
   version "2.1.5"
   resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5"
@@ -934,6 +2252,21 @@
     tiny-glob "^0.2.9"
     tslib "^2.4.0"
 
+"@pmmmwh/react-refresh-webpack-plugin@^0.5.5":
+  version "0.5.10"
+  resolved "https://registry.yarnpkg.com/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.5.10.tgz#2eba163b8e7dbabb4ce3609ab5e32ab63dda3ef8"
+  integrity sha512-j0Ya0hCFZPd4x40qLzbhGsh9TMtdb+CJQiso+WxLOPNasohq9cc5SNUcwsZaRH6++Xh91Xkm/xHCkuIiIu0LUA==
+  dependencies:
+    ansi-html-community "^0.0.8"
+    common-path-prefix "^3.0.0"
+    core-js-pure "^3.23.3"
+    error-stack-parser "^2.0.6"
+    find-up "^5.0.0"
+    html-entities "^2.1.0"
+    loader-utils "^2.0.4"
+    schema-utils "^3.0.0"
+    source-map "^0.7.3"
+
 "@pnpm/network.ca-file@^1.0.1":
   version "1.0.2"
   resolved "https://registry.yarnpkg.com/@pnpm/network.ca-file/-/network.ca-file-1.0.2.tgz#2ab05e09c1af0cdf2fcf5035bea1484e222f7983"
@@ -949,6 +2282,96 @@
     "@pnpm/network.ca-file" "^1.0.1"
     config-chain "^1.1.11"
 
+"@radix-ui/number@1.0.0":
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/@radix-ui/number/-/number-1.0.0.tgz#4c536161d0de750b3f5d55860fc3de46264f897b"
+  integrity sha512-Ofwh/1HX69ZfJRiRBMTy7rgjAzHmwe4kW9C9Y99HTRUcYLUuVT0KESFj15rPjRgKJs20GPq8Bm5aEDJ8DuA3vA==
+  dependencies:
+    "@babel/runtime" "^7.13.10"
+
+"@radix-ui/primitive@1.0.0":
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/@radix-ui/primitive/-/primitive-1.0.0.tgz#e1d8ef30b10ea10e69c76e896f608d9276352253"
+  integrity sha512-3e7rn8FDMin4CgeL7Z/49smCA3rFYY3Ha2rUQ7HRWFadS5iCRw08ZgVT1LaNTCNqgvrUiyczLflrVrF0SRQtNA==
+  dependencies:
+    "@babel/runtime" "^7.13.10"
+
+"@radix-ui/react-compose-refs@1.0.0":
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/@radix-ui/react-compose-refs/-/react-compose-refs-1.0.0.tgz#37595b1f16ec7f228d698590e78eeed18ff218ae"
+  integrity sha512-0KaSv6sx787/hK3eF53iOkiSLwAGlFMx5lotrqD2pTjB18KbybKoEIgkNZTKC60YECDQTKGTRcDBILwZVqVKvA==
+  dependencies:
+    "@babel/runtime" "^7.13.10"
+
+"@radix-ui/react-context@1.0.0":
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/@radix-ui/react-context/-/react-context-1.0.0.tgz#f38e30c5859a9fb5e9aa9a9da452ee3ed9e0aee0"
+  integrity sha512-1pVM9RfOQ+n/N5PJK33kRSKsr1glNxomxONs5c49MliinBY6Yw2Q995qfBUUo0/Mbg05B/sGA0gkgPI7kmSHBg==
+  dependencies:
+    "@babel/runtime" "^7.13.10"
+
+"@radix-ui/react-direction@1.0.0":
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/@radix-ui/react-direction/-/react-direction-1.0.0.tgz#a2e0b552352459ecf96342c79949dd833c1e6e45"
+  integrity sha512-2HV05lGUgYcA6xgLQ4BKPDmtL+QbIZYH5fCOTAOOcJ5O0QbWS3i9lKaurLzliYUDhORI2Qr3pyjhJh44lKA3rQ==
+  dependencies:
+    "@babel/runtime" "^7.13.10"
+
+"@radix-ui/react-presence@1.0.0":
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/@radix-ui/react-presence/-/react-presence-1.0.0.tgz#814fe46df11f9a468808a6010e3f3ca7e0b2e84a"
+  integrity sha512-A+6XEvN01NfVWiKu38ybawfHsBjWum42MRPnEuqPsBZ4eV7e/7K321B5VgYMPv3Xx5An6o1/l9ZuDBgmcmWK3w==
+  dependencies:
+    "@babel/runtime" "^7.13.10"
+    "@radix-ui/react-compose-refs" "1.0.0"
+    "@radix-ui/react-use-layout-effect" "1.0.0"
+
+"@radix-ui/react-primitive@1.0.1":
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/@radix-ui/react-primitive/-/react-primitive-1.0.1.tgz#c1ebcce283dd2f02e4fbefdaa49d1cb13dbc990a"
+  integrity sha512-fHbmislWVkZaIdeF6GZxF0A/NH/3BjrGIYj+Ae6eTmTCr7EB0RQAAVEiqsXK6p3/JcRqVSBQoceZroj30Jj3XA==
+  dependencies:
+    "@babel/runtime" "^7.13.10"
+    "@radix-ui/react-slot" "1.0.1"
+
+"@radix-ui/react-scroll-area@1.0.2":
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/@radix-ui/react-scroll-area/-/react-scroll-area-1.0.2.tgz#26c906d351b56835c0301126b24574c9e9c7b93b"
+  integrity sha512-k8VseTxI26kcKJaX0HPwkvlNBPTs56JRdYzcZ/vzrNUkDlvXBy8sMc7WvCpYzZkHgb+hd72VW9MqkqecGtuNgg==
+  dependencies:
+    "@babel/runtime" "^7.13.10"
+    "@radix-ui/number" "1.0.0"
+    "@radix-ui/primitive" "1.0.0"
+    "@radix-ui/react-compose-refs" "1.0.0"
+    "@radix-ui/react-context" "1.0.0"
+    "@radix-ui/react-direction" "1.0.0"
+    "@radix-ui/react-presence" "1.0.0"
+    "@radix-ui/react-primitive" "1.0.1"
+    "@radix-ui/react-use-callback-ref" "1.0.0"
+    "@radix-ui/react-use-layout-effect" "1.0.0"
+
+"@radix-ui/react-slot@1.0.1":
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/@radix-ui/react-slot/-/react-slot-1.0.1.tgz#e7868c669c974d649070e9ecbec0b367ee0b4d81"
+  integrity sha512-avutXAFL1ehGvAXtPquu0YK5oz6ctS474iM3vNGQIkswrVhdrS52e3uoMQBzZhNRAIE0jBnUyXWNmSjGHhCFcw==
+  dependencies:
+    "@babel/runtime" "^7.13.10"
+    "@radix-ui/react-compose-refs" "1.0.0"
+
+"@radix-ui/react-use-callback-ref@1.0.0":
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.0.0.tgz#9e7b8b6b4946fe3cbe8f748c82a2cce54e7b6a90"
+  integrity sha512-GZtyzoHz95Rhs6S63D2t/eqvdFCm7I+yHMLVQheKM7nBD8mbZIt+ct1jz4536MDnaOGKIxynJ8eHTkVGVVkoTg==
+  dependencies:
+    "@babel/runtime" "^7.13.10"
+
+"@radix-ui/react-use-layout-effect@1.0.0":
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.0.0.tgz#2fc19e97223a81de64cd3ba1dc42ceffd82374dc"
+  integrity sha512-6Tpkq+R6LOlmQb1R5NNETLG0B4YP0wc+klfXafpUCj6JGyaUc8il7/kUZ7m59rGbXGczE9Bs+iz2qloqsZBduQ==
+  dependencies:
+    "@babel/runtime" "^7.13.10"
+
 "@redux-devtools/extension@^3.2.3":
   version "3.2.4"
   resolved "https://registry.yarnpkg.com/@redux-devtools/extension/-/extension-3.2.4.tgz#24fd4a98cec2cb805373accb33afa7854476b636"
@@ -972,24 +2395,856 @@
   resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.24.51.tgz#645f33fe4e02defe26f2f5c0410e1c094eac7f5f"
   integrity sha512-1P1OROm/rdubP5aFDSZQILU0vrLCJ4fvHt6EoqHEM+2D/G5MK3bIaymUKLit8Js9gbns5UyJnkP/TZROLw4tUA==
 
-"@sindresorhus/is@^5.2.0":
-  version "5.3.0"
-  resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-5.3.0.tgz#0ec9264cf54a527671d990eb874e030b55b70dcc"
-  integrity sha512-CX6t4SYQ37lzxicAqsBtxA3OseeoVrh9cSJ5PFYam0GksYlupRfy1A+Q4aYD3zvcfECLc0zO2u+ZnR2UYKvCrw==
+"@sindresorhus/is@^5.2.0":
+  version "5.3.0"
+  resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-5.3.0.tgz#0ec9264cf54a527671d990eb874e030b55b70dcc"
+  integrity sha512-CX6t4SYQ37lzxicAqsBtxA3OseeoVrh9cSJ5PFYam0GksYlupRfy1A+Q4aYD3zvcfECLc0zO2u+ZnR2UYKvCrw==
+
+"@sinonjs/commons@^1.7.0":
+  version "1.8.6"
+  resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.6.tgz#80c516a4dc264c2a69115e7578d62581ff455ed9"
+  integrity sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==
+  dependencies:
+    type-detect "4.0.8"
+
+"@sinonjs/fake-timers@^9.1.2":
+  version "9.1.2"
+  resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz#4eaab737fab77332ab132d396a3c0d364bd0ea8c"
+  integrity sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==
+  dependencies:
+    "@sinonjs/commons" "^1.7.0"
+
+"@storybook/addon-a11y@^7.0.0-beta.43":
+  version "7.0.0-beta.43"
+  resolved "https://registry.yarnpkg.com/@storybook/addon-a11y/-/addon-a11y-7.0.0-beta.43.tgz#7dc90699881f2e092da031e8628b104ab0706898"
+  integrity sha512-+xb5mMOMPDaSKsrfISGkZGe/zsYtctOKq9wam+hGhxFpTu3qcmgG0i5Ysz67ujuCtpa18sGrgTkilDs33SC5RA==
+  dependencies:
+    "@storybook/addon-highlight" "7.0.0-beta.43"
+    "@storybook/channels" "7.0.0-beta.43"
+    "@storybook/client-logger" "7.0.0-beta.43"
+    "@storybook/components" "7.0.0-beta.43"
+    "@storybook/core-events" "7.0.0-beta.43"
+    "@storybook/global" "^5.0.0"
+    "@storybook/manager-api" "7.0.0-beta.43"
+    "@storybook/preview-api" "7.0.0-beta.43"
+    "@storybook/theming" "7.0.0-beta.43"
+    "@storybook/types" "7.0.0-beta.43"
+    axe-core "^4.2.0"
+    lodash "^4.17.21"
+    react-resize-detector "^7.1.2"
+
+"@storybook/addon-actions@7.0.0-beta.43", "@storybook/addon-actions@^7.0.0-beta.43":
+  version "7.0.0-beta.43"
+  resolved "https://registry.yarnpkg.com/@storybook/addon-actions/-/addon-actions-7.0.0-beta.43.tgz#cbbd1f11a0e1a553f59948a990d9f36ed79be7ea"
+  integrity sha512-cl3Vx1oyH8qASpzF3vUFsmk91v2E4D7bOJc3VR1TrCaXuPBVPO43ed0B2uUPHRU6SeMXD7uqJh+jQbyRSXBZbg==
+  dependencies:
+    "@storybook/client-logger" "7.0.0-beta.43"
+    "@storybook/components" "7.0.0-beta.43"
+    "@storybook/core-events" "7.0.0-beta.43"
+    "@storybook/global" "^5.0.0"
+    "@storybook/manager-api" "7.0.0-beta.43"
+    "@storybook/preview-api" "7.0.0-beta.43"
+    "@storybook/theming" "7.0.0-beta.43"
+    "@storybook/types" "7.0.0-beta.43"
+    dequal "^2.0.2"
+    lodash "^4.17.21"
+    polished "^4.2.2"
+    prop-types "^15.7.2"
+    react-inspector "^6.0.0"
+    telejson "^7.0.3"
+    ts-dedent "^2.0.0"
+    uuid-browser "^3.1.0"
+
+"@storybook/addon-backgrounds@7.0.0-beta.43":
+  version "7.0.0-beta.43"
+  resolved "https://registry.yarnpkg.com/@storybook/addon-backgrounds/-/addon-backgrounds-7.0.0-beta.43.tgz#96d3bce37ea0b2f79e6c17cc810d5dea7023dd3e"
+  integrity sha512-qo1C4ik1uMQ04jgpox3C5K5Sj+Li4tCgj96bFt4wAYma+qXcbzv52v7W1JBrFsrZCtgc9PObKgmKca3OgISLUA==
+  dependencies:
+    "@storybook/client-logger" "7.0.0-beta.43"
+    "@storybook/components" "7.0.0-beta.43"
+    "@storybook/core-events" "7.0.0-beta.43"
+    "@storybook/global" "^5.0.0"
+    "@storybook/manager-api" "7.0.0-beta.43"
+    "@storybook/preview-api" "7.0.0-beta.43"
+    "@storybook/theming" "7.0.0-beta.43"
+    "@storybook/types" "7.0.0-beta.43"
+    memoizerific "^1.11.3"
+    ts-dedent "^2.0.0"
+
+"@storybook/addon-controls@7.0.0-beta.43":
+  version "7.0.0-beta.43"
+  resolved "https://registry.yarnpkg.com/@storybook/addon-controls/-/addon-controls-7.0.0-beta.43.tgz#988e0891c0b69bd84482864e21d4bdf9c24b2089"
+  integrity sha512-Q2/ecV/V6upIE+C4hLCRjd3PJsCnkm7uNk/aSpHsHRKBGjUtBX/+l6sZH6v3byt7V/T+YLAq7xfx1YD+fYwBLg==
+  dependencies:
+    "@storybook/blocks" "7.0.0-beta.43"
+    "@storybook/client-logger" "7.0.0-beta.43"
+    "@storybook/components" "7.0.0-beta.43"
+    "@storybook/core-common" "7.0.0-beta.43"
+    "@storybook/manager-api" "7.0.0-beta.43"
+    "@storybook/node-logger" "7.0.0-beta.43"
+    "@storybook/preview-api" "7.0.0-beta.43"
+    "@storybook/theming" "7.0.0-beta.43"
+    "@storybook/types" "7.0.0-beta.43"
+    lodash "^4.17.21"
+    ts-dedent "^2.0.0"
+
+"@storybook/addon-docs@7.0.0-beta.43":
+  version "7.0.0-beta.43"
+  resolved "https://registry.yarnpkg.com/@storybook/addon-docs/-/addon-docs-7.0.0-beta.43.tgz#f7f9bf50fab71f219ef98a635b5d867340f9aae8"
+  integrity sha512-EBCGpaI8gSdpNRLfOqfV7C5VFxl6HROgvHG00XdUnAVJVTuJX0H6SNur2BBRK+74BuAQHXOOeFjmvGJtiGhbAg==
+  dependencies:
+    "@babel/core" "^7.20.2"
+    "@babel/plugin-transform-react-jsx" "^7.19.0"
+    "@jest/transform" "^29.3.1"
+    "@mdx-js/react" "^2.1.5"
+    "@storybook/blocks" "7.0.0-beta.43"
+    "@storybook/client-logger" "7.0.0-beta.43"
+    "@storybook/components" "7.0.0-beta.43"
+    "@storybook/csf-plugin" "7.0.0-beta.43"
+    "@storybook/csf-tools" "7.0.0-beta.43"
+    "@storybook/global" "^5.0.0"
+    "@storybook/mdx2-csf" next
+    "@storybook/node-logger" "7.0.0-beta.43"
+    "@storybook/postinstall" "7.0.0-beta.43"
+    "@storybook/preview-api" "7.0.0-beta.43"
+    "@storybook/theming" "7.0.0-beta.43"
+    "@storybook/types" "7.0.0-beta.43"
+    fs-extra "^11.1.0"
+    remark-external-links "^8.0.0"
+    remark-slug "^6.0.0"
+    ts-dedent "^2.0.0"
+
+"@storybook/addon-essentials@^7.0.0-beta.43":
+  version "7.0.0-beta.43"
+  resolved "https://registry.yarnpkg.com/@storybook/addon-essentials/-/addon-essentials-7.0.0-beta.43.tgz#48ff1c6aff93ae3c4c52e05d38b84703a33c64dd"
+  integrity sha512-67H7m+REcKVAh/eR30EIvMzA78ShSDAKyQp9qHDH2wmjULbO4fXa9lkxufKX3vmhLVS7dZM++VlBdZNykL3n1Q==
+  dependencies:
+    "@storybook/addon-actions" "7.0.0-beta.43"
+    "@storybook/addon-backgrounds" "7.0.0-beta.43"
+    "@storybook/addon-controls" "7.0.0-beta.43"
+    "@storybook/addon-docs" "7.0.0-beta.43"
+    "@storybook/addon-highlight" "7.0.0-beta.43"
+    "@storybook/addon-measure" "7.0.0-beta.43"
+    "@storybook/addon-outline" "7.0.0-beta.43"
+    "@storybook/addon-toolbars" "7.0.0-beta.43"
+    "@storybook/addon-viewport" "7.0.0-beta.43"
+    "@storybook/core-common" "7.0.0-beta.43"
+    "@storybook/manager-api" "7.0.0-beta.43"
+    "@storybook/node-logger" "7.0.0-beta.43"
+    "@storybook/preview-api" "7.0.0-beta.43"
+    ts-dedent "^2.0.0"
+
+"@storybook/addon-highlight@7.0.0-beta.43":
+  version "7.0.0-beta.43"
+  resolved "https://registry.yarnpkg.com/@storybook/addon-highlight/-/addon-highlight-7.0.0-beta.43.tgz#3b0bcbfed3f44a40498edadf71115aadf919d586"
+  integrity sha512-XMFTqqJbDDPU3E9TAihMKJQTTV5q7yAUjWHkTlUJyG8sefgl8zyaPZ4yd7INN+ZznbtThySzz10gPR921ny0Zg==
+  dependencies:
+    "@storybook/core-events" "7.0.0-beta.43"
+    "@storybook/global" "^5.0.0"
+    "@storybook/preview-api" "7.0.0-beta.43"
+
+"@storybook/addon-interactions@^7.0.0-beta.43":
+  version "7.0.0-beta.43"
+  resolved "https://registry.yarnpkg.com/@storybook/addon-interactions/-/addon-interactions-7.0.0-beta.43.tgz#ca52f9622b5fe3e734e68c40f0d6ed1ce9d36a04"
+  integrity sha512-/RJd6qSG+UM0Op1cywN9ZcAlCOd0CLWijoFHED07Me2RLM5LSqcSxzi+3o78qxnoXmf+mRGiBF92S8DYi1IzvQ==
+  dependencies:
+    "@storybook/client-logger" "7.0.0-beta.43"
+    "@storybook/components" "7.0.0-beta.43"
+    "@storybook/core-common" "7.0.0-beta.43"
+    "@storybook/core-events" "7.0.0-beta.43"
+    "@storybook/global" "^5.0.0"
+    "@storybook/instrumenter" "7.0.0-beta.43"
+    "@storybook/manager-api" "7.0.0-beta.43"
+    "@storybook/preview-api" "7.0.0-beta.43"
+    "@storybook/theming" "7.0.0-beta.43"
+    "@storybook/types" "7.0.0-beta.43"
+    jest-mock "^27.0.6"
+    polished "^4.2.2"
+    ts-dedent "^2.2.0"
+
+"@storybook/addon-links@^7.0.0-beta.43":
+  version "7.0.0-beta.43"
+  resolved "https://registry.yarnpkg.com/@storybook/addon-links/-/addon-links-7.0.0-beta.43.tgz#331ef9374077a1b3fba29c3f693c29eb6b7fe71d"
+  integrity sha512-uzLE4dDBW13DYXnqpELCXnY4/bPah/3/Q081mi7bnLaHf5Z6y1DoVA6WaxSJjmTTCe8+51hlmcXsLp1cVorlNQ==
+  dependencies:
+    "@storybook/client-logger" "7.0.0-beta.43"
+    "@storybook/core-events" "7.0.0-beta.43"
+    "@storybook/csf" next
+    "@storybook/global" "^5.0.0"
+    "@storybook/manager-api" "7.0.0-beta.43"
+    "@storybook/preview-api" "7.0.0-beta.43"
+    "@storybook/router" "7.0.0-beta.43"
+    "@storybook/types" "7.0.0-beta.43"
+    prop-types "^15.7.2"
+    ts-dedent "^2.0.0"
+
+"@storybook/addon-measure@7.0.0-beta.43":
+  version "7.0.0-beta.43"
+  resolved "https://registry.yarnpkg.com/@storybook/addon-measure/-/addon-measure-7.0.0-beta.43.tgz#cd14337207a9f7368bdaf5b10381d570327d45d0"
+  integrity sha512-IK+kTOWTbzLtnIlqxG9CzKK/EB8+DJjHBV3aLsaRCCN6+x+CP+uoNplCJcrBEW5zJ5l1BBun1Fb5Mf3RCP5BqA==
+  dependencies:
+    "@storybook/client-logger" "7.0.0-beta.43"
+    "@storybook/components" "7.0.0-beta.43"
+    "@storybook/core-events" "7.0.0-beta.43"
+    "@storybook/global" "^5.0.0"
+    "@storybook/manager-api" "7.0.0-beta.43"
+    "@storybook/preview-api" "7.0.0-beta.43"
+    "@storybook/types" "7.0.0-beta.43"
+
+"@storybook/addon-outline@7.0.0-beta.43":
+  version "7.0.0-beta.43"
+  resolved "https://registry.yarnpkg.com/@storybook/addon-outline/-/addon-outline-7.0.0-beta.43.tgz#8aad90076104e2422ccc8d917b69706a0d84c765"
+  integrity sha512-Q8r/AqvI+m900jTjgatODHvPE+MC+/vTaz324r8xjBiNgQzrS+gp8dV8zlNqz/8YtvV4hN6qJNkFsxJCmZQytA==
+  dependencies:
+    "@storybook/client-logger" "7.0.0-beta.43"
+    "@storybook/components" "7.0.0-beta.43"
+    "@storybook/core-events" "7.0.0-beta.43"
+    "@storybook/global" "^5.0.0"
+    "@storybook/manager-api" "7.0.0-beta.43"
+    "@storybook/preview-api" "7.0.0-beta.43"
+    "@storybook/types" "7.0.0-beta.43"
+    ts-dedent "^2.0.0"
+
+"@storybook/addon-toolbars@7.0.0-beta.43":
+  version "7.0.0-beta.43"
+  resolved "https://registry.yarnpkg.com/@storybook/addon-toolbars/-/addon-toolbars-7.0.0-beta.43.tgz#aca5542216f9df1b2d5c2d4ac16ca5bdeb059093"
+  integrity sha512-j5v6xuva4oezIDUu/EDlgqT++atMv8XftPMNq8CmvPMeUxI4iIu8cEnGJ7xeRedgGg/zIdSN1ttNG77E2I87bg==
+  dependencies:
+    "@storybook/client-logger" "7.0.0-beta.43"
+    "@storybook/components" "7.0.0-beta.43"
+    "@storybook/manager-api" "7.0.0-beta.43"
+    "@storybook/preview-api" "7.0.0-beta.43"
+    "@storybook/theming" "7.0.0-beta.43"
+
+"@storybook/addon-viewport@7.0.0-beta.43":
+  version "7.0.0-beta.43"
+  resolved "https://registry.yarnpkg.com/@storybook/addon-viewport/-/addon-viewport-7.0.0-beta.43.tgz#897a464367db795cbe5ec9e3b06cc633d6e6a303"
+  integrity sha512-XhiS3o6M4DTkPfetad+HqSw1wZzs+69YY3WWChuQ5px3NsJ8Lp77ew0wYfQwRf8WdrhnUtx1GRKEnU0XW4dHDw==
+  dependencies:
+    "@storybook/client-logger" "7.0.0-beta.43"
+    "@storybook/components" "7.0.0-beta.43"
+    "@storybook/core-events" "7.0.0-beta.43"
+    "@storybook/global" "^5.0.0"
+    "@storybook/manager-api" "7.0.0-beta.43"
+    "@storybook/preview-api" "7.0.0-beta.43"
+    "@storybook/theming" "7.0.0-beta.43"
+    memoizerific "^1.11.3"
+    prop-types "^15.7.2"
+
+"@storybook/addons@7.0.0-beta.43":
+  version "7.0.0-beta.43"
+  resolved "https://registry.yarnpkg.com/@storybook/addons/-/addons-7.0.0-beta.43.tgz#3a8250a5530b35f2d1dce6c3e89a7e6f23bcf147"
+  integrity sha512-6AcQuSIhEnou/Pf/Vel2MzTFupBdiK1AYTsWDgMdwv9bxZkkkXqPlfaTmi7+wSzh6UxU5lkh4FJbKlIv5Fm6Kg==
+  dependencies:
+    "@storybook/manager-api" "7.0.0-beta.43"
+    "@storybook/preview-api" "7.0.0-beta.43"
+    "@storybook/types" "7.0.0-beta.43"
+
+"@storybook/api@7.0.0-beta.43":
+  version "7.0.0-beta.43"
+  resolved "https://registry.yarnpkg.com/@storybook/api/-/api-7.0.0-beta.43.tgz#a5f2a4f8e6a5acc90f86951ef100220eb78729c4"
+  integrity sha512-vo6mEFy2d4mJxQyGd0H0xbrRqbKGFdEWEPV52nykTI/MFhUS2gXvXDCMtf9nhTioWRAQ4a272yO0UGmUgKEwpA==
+  dependencies:
+    "@storybook/client-logger" "7.0.0-beta.43"
+    "@storybook/manager-api" "7.0.0-beta.43"
+
+"@storybook/blocks@7.0.0-beta.43":
+  version "7.0.0-beta.43"
+  resolved "https://registry.yarnpkg.com/@storybook/blocks/-/blocks-7.0.0-beta.43.tgz#66010980ddc16e916db015ab938e7501c9e507cc"
+  integrity sha512-9HlD3dP3zZea1RGKLRBTL9OlygH5HLaekMEMRj8mtP1yM1ZAFpGN1Yz/TiRDjljOd7iKmBRtbY1t4vYn9tyJJg==
+  dependencies:
+    "@storybook/channels" "7.0.0-beta.43"
+    "@storybook/client-logger" "7.0.0-beta.43"
+    "@storybook/components" "7.0.0-beta.43"
+    "@storybook/core-events" "7.0.0-beta.43"
+    "@storybook/csf" next
+    "@storybook/docs-tools" "7.0.0-beta.43"
+    "@storybook/global" "^5.0.0"
+    "@storybook/manager-api" "7.0.0-beta.43"
+    "@storybook/preview-api" "7.0.0-beta.43"
+    "@storybook/theming" "7.0.0-beta.43"
+    "@storybook/types" "7.0.0-beta.43"
+    "@types/lodash" "^4.14.167"
+    color-convert "^2.0.1"
+    dequal "^2.0.2"
+    lodash "^4.17.21"
+    markdown-to-jsx "^7.1.8"
+    memoizerific "^1.11.3"
+    polished "^4.2.2"
+    react-colorful "^5.1.2"
+    ts-dedent "^2.0.0"
+    util-deprecate "^1.0.2"
+
+"@storybook/builder-manager@7.0.0-beta.43":
+  version "7.0.0-beta.43"
+  resolved "https://registry.yarnpkg.com/@storybook/builder-manager/-/builder-manager-7.0.0-beta.43.tgz#f43f89049a979732a26957c01d4e2ce9d5bafe10"
+  integrity sha512-gsQYDgrf9Z+Y3lMKv7/ENbua/uqJHLaPa3fI+dIiGOD9aRWyZYf85YYV4P8jQICipYVmjQgzPl8XFm4M1h0zSQ==
+  dependencies:
+    "@fal-works/esbuild-plugin-global-externals" "^2.1.2"
+    "@storybook/core-common" "7.0.0-beta.43"
+    "@storybook/manager" "7.0.0-beta.43"
+    "@storybook/node-logger" "7.0.0-beta.43"
+    "@types/ejs" "^3.1.1"
+    "@types/find-cache-dir" "^3.2.1"
+    "@yarnpkg/esbuild-plugin-pnp" "^3.0.0-rc.10"
+    browser-assert "^1.2.1"
+    ejs "^3.1.8"
+    esbuild "^0.16.4"
+    esbuild-plugin-alias "^0.2.1"
+    express "^4.17.3"
+    find-cache-dir "^3.0.0"
+    fs-extra "^11.1.0"
+    process "^0.11.10"
+    slash "^3.0.0"
+    util "^0.12.4"
+
+"@storybook/builder-webpack5@7.0.0-beta.43":
+  version "7.0.0-beta.43"
+  resolved "https://registry.yarnpkg.com/@storybook/builder-webpack5/-/builder-webpack5-7.0.0-beta.43.tgz#f8ca39de1dd1132197f2e969add412c1250ad4d5"
+  integrity sha512-chGSSVsy7TzZ2nbxSKEQtvwtABbwjkr/artgN883rZ5S399XOiaYc5Jli/LlnphCCVTJTpg22BAbjNopPl6I4g==
+  dependencies:
+    "@babel/core" "^7.12.10"
+    "@storybook/addons" "7.0.0-beta.43"
+    "@storybook/api" "7.0.0-beta.43"
+    "@storybook/channel-postmessage" "7.0.0-beta.43"
+    "@storybook/channel-websocket" "7.0.0-beta.43"
+    "@storybook/channels" "7.0.0-beta.43"
+    "@storybook/client-api" "7.0.0-beta.43"
+    "@storybook/client-logger" "7.0.0-beta.43"
+    "@storybook/components" "7.0.0-beta.43"
+    "@storybook/core-common" "7.0.0-beta.43"
+    "@storybook/core-events" "7.0.0-beta.43"
+    "@storybook/core-webpack" "7.0.0-beta.43"
+    "@storybook/global" "^5.0.0"
+    "@storybook/manager-api" "7.0.0-beta.43"
+    "@storybook/node-logger" "7.0.0-beta.43"
+    "@storybook/preview" "7.0.0-beta.43"
+    "@storybook/preview-api" "7.0.0-beta.43"
+    "@storybook/router" "7.0.0-beta.43"
+    "@storybook/store" "7.0.0-beta.43"
+    "@storybook/theming" "7.0.0-beta.43"
+    "@types/node" "^16.0.0"
+    "@types/semver" "^7.3.4"
+    babel-loader "^9.0.0"
+    babel-plugin-named-exports-order "^0.0.2"
+    browser-assert "^1.2.1"
+    case-sensitive-paths-webpack-plugin "^2.4.0"
+    css-loader "^6.7.1"
+    express "^4.17.3"
+    fork-ts-checker-webpack-plugin "^7.2.8"
+    fs-extra "^11.1.0"
+    html-webpack-plugin "^5.5.0"
+    path-browserify "^1.0.1"
+    process "^0.11.10"
+    semver "^7.3.7"
+    slash "^3.0.0"
+    style-loader "^3.3.1"
+    terser-webpack-plugin "^5.3.1"
+    ts-dedent "^2.0.0"
+    util "^0.12.4"
+    util-deprecate "^1.0.2"
+    webpack "5"
+    webpack-dev-middleware "^5.3.1"
+    webpack-hot-middleware "^2.25.1"
+    webpack-virtual-modules "^0.4.3"
+
+"@storybook/channel-postmessage@7.0.0-beta.43":
+  version "7.0.0-beta.43"
+  resolved "https://registry.yarnpkg.com/@storybook/channel-postmessage/-/channel-postmessage-7.0.0-beta.43.tgz#64cb5a3e80cce72fc435ab2d4d0c587f3ec70558"
+  integrity sha512-zBb5Rhr6uSRRVP1x8JxGqgXooYO/oZnj8OQJFAZKRX0v+N6Vbt/50WFW1q6VMbHwlSs38tTqnBvxvv5UEm1unQ==
+  dependencies:
+    "@storybook/channels" "7.0.0-beta.43"
+    "@storybook/client-logger" "7.0.0-beta.43"
+    "@storybook/core-events" "7.0.0-beta.43"
+    "@storybook/global" "^5.0.0"
+    qs "^6.10.0"
+    telejson "^7.0.3"
+
+"@storybook/channel-websocket@7.0.0-beta.43":
+  version "7.0.0-beta.43"
+  resolved "https://registry.yarnpkg.com/@storybook/channel-websocket/-/channel-websocket-7.0.0-beta.43.tgz#9660e5624702bb9485bc218330b5815a012e74e1"
+  integrity sha512-n5avyOxh1jDIAxXkwl4CJ0yn6WeJtS9HUu9vPhdCaHN3VQDn32FqUh7Se4gls3rlwJKRfKbjY0OxmqcNTB1nbA==
+  dependencies:
+    "@storybook/channels" "7.0.0-beta.43"
+    "@storybook/client-logger" "7.0.0-beta.43"
+    "@storybook/global" "^5.0.0"
+    telejson "^7.0.3"
+
+"@storybook/channels@7.0.0-beta.43":
+  version "7.0.0-beta.43"
+  resolved "https://registry.yarnpkg.com/@storybook/channels/-/channels-7.0.0-beta.43.tgz#37d54f7e1d3694a4febd0479f7cd25507d37758c"
+  integrity sha512-fofNqgO9PwTBscYl2vE1j5a8cUi0IB+zMd6s1yec29c9A+y9pzHE5u9ncmM1PuM5VZ1ienQSBb0NKBvLmTm+jw==
+
+"@storybook/cli@7.0.0-beta.43":
+  version "7.0.0-beta.43"
+  resolved "https://registry.yarnpkg.com/@storybook/cli/-/cli-7.0.0-beta.43.tgz#408df746ef4ae16eea8c903392916adf0016ae21"
+  integrity sha512-V6CBhKDQWGSCvZEvqIeOhXB3qwUmFszYhPVjsKLRCyZQA4p43f382MWgN2Z7YNpsm2lzc8KhaKVpdjZU1tVaLg==
+  dependencies:
+    "@babel/core" "^7.20.2"
+    "@babel/preset-env" "^7.20.2"
+    "@storybook/codemod" "7.0.0-beta.43"
+    "@storybook/core-common" "7.0.0-beta.43"
+    "@storybook/core-server" "7.0.0-beta.43"
+    "@storybook/csf-tools" "7.0.0-beta.43"
+    "@storybook/node-logger" "7.0.0-beta.43"
+    "@storybook/telemetry" "7.0.0-beta.43"
+    "@storybook/types" "7.0.0-beta.43"
+    "@types/semver" "^7.3.4"
+    boxen "^5.1.2"
+    chalk "^4.1.0"
+    commander "^6.2.1"
+    cross-spawn "^7.0.3"
+    detect-indent "^6.1.0"
+    envinfo "^7.7.3"
+    execa "^5.0.0"
+    express "^4.17.3"
+    find-up "^5.0.0"
+    fs-extra "^11.1.0"
+    get-port "^5.1.1"
+    giget "^1.0.0"
+    globby "^11.0.2"
+    jscodeshift "^0.14.0"
+    leven "^3.1.0"
+    prompts "^2.4.0"
+    puppeteer-core "^2.1.1"
+    read-pkg-up "^7.0.1"
+    semver "^7.3.7"
+    shelljs "^0.8.5"
+    simple-update-notifier "^1.0.0"
+    strip-json-comments "^3.0.1"
+    tempy "^1.0.1"
+    ts-dedent "^2.0.0"
+    util-deprecate "^1.0.2"
+
+"@storybook/client-api@7.0.0-beta.43":
+  version "7.0.0-beta.43"
+  resolved "https://registry.yarnpkg.com/@storybook/client-api/-/client-api-7.0.0-beta.43.tgz#eb033dba301a945114351c4b7b367f3c55175595"
+  integrity sha512-qyBUeQvlkI4QSGKxPLwFmyc8yPmDyIEsEXRW/8HWYydt5T53RMOah/NSIc/qib4yV85N3FUj+/DMG6aEfaCMHA==
+  dependencies:
+    "@storybook/client-logger" "7.0.0-beta.43"
+    "@storybook/preview-api" "7.0.0-beta.43"
+
+"@storybook/client-logger@7.0.0-beta.43", "@storybook/client-logger@next":
+  version "7.0.0-beta.43"
+  resolved "https://registry.yarnpkg.com/@storybook/client-logger/-/client-logger-7.0.0-beta.43.tgz#fd12ce4f3f19d44d7a0a26428490565338f53a6d"
+  integrity sha512-UxYT1hCewi1x/cyX0yEz70gCMvEa8D/ST2vojLDlb7lKfrMIPfiVsSuTztTNMH8whrEuQd/Yt5PASWJZCg5kCQ==
+  dependencies:
+    "@storybook/global" "^5.0.0"
+
+"@storybook/codemod@7.0.0-beta.43":
+  version "7.0.0-beta.43"
+  resolved "https://registry.yarnpkg.com/@storybook/codemod/-/codemod-7.0.0-beta.43.tgz#022890878f4ddee124737ee310e2e7c60425dba3"
+  integrity sha512-pMjcObaH6kur3MED9h2Pz3I9KK/q5zLjHcK1zQMtvnEw8LrJykD2HwWy1dWZwkLqEYRCPL7GnowAnxiMTUc69w==
+  dependencies:
+    "@babel/core" "^7.20.2"
+    "@babel/preset-env" "^7.20.2"
+    "@babel/types" "^7.20.7"
+    "@storybook/csf" next
+    "@storybook/csf-tools" "7.0.0-beta.43"
+    "@storybook/node-logger" "7.0.0-beta.43"
+    "@storybook/types" "7.0.0-beta.43"
+    cross-spawn "^7.0.3"
+    globby "^11.0.2"
+    jscodeshift "^0.14.0"
+    lodash "^4.17.21"
+    prettier "^2.8.0"
+    recast "^0.23.1"
+    util "^0.12.4"
+
+"@storybook/components@7.0.0-beta.43":
+  version "7.0.0-beta.43"
+  resolved "https://registry.yarnpkg.com/@storybook/components/-/components-7.0.0-beta.43.tgz#109fe7a3e88ed6d5ffdce74a70d4ed9447a53fad"
+  integrity sha512-jZWwCUvJFSubm+D/HWBDCACCp5ezMcvNM1EMLML1YVON+8QAbHpD2LzJK9nh4iHN8dy8cvT81ucfP+Gtm1kGqA==
+  dependencies:
+    "@storybook/client-logger" "7.0.0-beta.43"
+    "@storybook/csf" next
+    "@storybook/global" "^5.0.0"
+    "@storybook/theming" "7.0.0-beta.43"
+    "@storybook/types" "7.0.0-beta.43"
+    memoizerific "^1.11.3"
+    use-resize-observer "^9.1.0"
+    util-deprecate "^1.0.2"
+
+"@storybook/core-client@7.0.0-beta.43":
+  version "7.0.0-beta.43"
+  resolved "https://registry.yarnpkg.com/@storybook/core-client/-/core-client-7.0.0-beta.43.tgz#8cae89b24a85e659e27120788249872655ad4c03"
+  integrity sha512-9dkJldN7zm0JfXllSxuKPxwKRNF0o+Vc03km9hSP1Ka8ItVNEwM/DqPpfLHssZADmyBJuVmWuUj15vYPNRUg3g==
+  dependencies:
+    "@storybook/client-logger" "7.0.0-beta.43"
+    "@storybook/preview-api" "7.0.0-beta.43"
+
+"@storybook/core-common@7.0.0-beta.43":
+  version "7.0.0-beta.43"
+  resolved "https://registry.yarnpkg.com/@storybook/core-common/-/core-common-7.0.0-beta.43.tgz#ee254c7349ca52462e282d79ad224cab5623d5fb"
+  integrity sha512-6kNUHgK8h2N8yI4eLMupuXNH8XWxddkd3vl8FDxptSSqgi4HVuyiY8BsraCK9gUYE+fN6bk5p1LaYOSHL9CYlw==
+  dependencies:
+    "@babel/core" "^7.20.2"
+    "@storybook/csf-tools" "7.0.0-beta.43"
+    "@storybook/node-logger" "7.0.0-beta.43"
+    "@storybook/types" "7.0.0-beta.43"
+    "@types/babel__core" "^7.1.20"
+    "@types/express" "^4.7.0"
+    "@types/node" "^16.0.0"
+    "@types/pretty-hrtime" "^1.0.0"
+    chalk "^4.1.0"
+    esbuild "^0.16.4"
+    esbuild-register "^3.3.3"
+    express "^4.17.3"
+    file-system-cache "^2.0.0"
+    find-up "^5.0.0"
+    fs-extra "^11.1.0"
+    glob "^8.1.0"
+    glob-promise "^4.2.0"
+    handlebars "^4.7.7"
+    lazy-universal-dotenv "^4.0.0"
+    picomatch "^2.3.0"
+    pkg-dir "^5.0.0"
+    pretty-hrtime "^1.0.3"
+    resolve-from "^5.0.0"
+    slash "^3.0.0"
+    ts-dedent "^2.0.0"
+
+"@storybook/core-events@7.0.0-beta.43":
+  version "7.0.0-beta.43"
+  resolved "https://registry.yarnpkg.com/@storybook/core-events/-/core-events-7.0.0-beta.43.tgz#9164a23c1cfd27f7e3dc75befcf32e9337d2a7f8"
+  integrity sha512-byuHDRhU1pugrz3wDcemOT4FtXh4MC3eUJxrXcx4hizxJ4AaZqlyVLAaiyrkT+JKv4RBUt5WcJ1SNskY2MAbOw==
+
+"@storybook/core-server@7.0.0-beta.43":
+  version "7.0.0-beta.43"
+  resolved "https://registry.yarnpkg.com/@storybook/core-server/-/core-server-7.0.0-beta.43.tgz#d15026cd03e0f1e1f48ffc3ff52344c3575251a9"
+  integrity sha512-99QNW6qbHdHO1KF1tz3/GJyIMMr0AK97IWQBWHsSWxDi0kX4oiR54flEZv6iaFs6GsCNN5U+ksOYqrsK37Zb3A==
+  dependencies:
+    "@aw-web-design/x-default-browser" "1.4.88"
+    "@discoveryjs/json-ext" "^0.5.3"
+    "@storybook/builder-manager" "7.0.0-beta.43"
+    "@storybook/core-common" "7.0.0-beta.43"
+    "@storybook/core-events" "7.0.0-beta.43"
+    "@storybook/csf" next
+    "@storybook/csf-tools" "7.0.0-beta.43"
+    "@storybook/docs-mdx" next
+    "@storybook/global" "^5.0.0"
+    "@storybook/node-logger" "7.0.0-beta.43"
+    "@storybook/preview-api" "7.0.0-beta.43"
+    "@storybook/telemetry" "7.0.0-beta.43"
+    "@storybook/types" "7.0.0-beta.43"
+    "@types/detect-port" "^1.3.0"
+    "@types/node" "^16.0.0"
+    "@types/node-fetch" "^2.5.7"
+    "@types/pretty-hrtime" "^1.0.0"
+    "@types/semver" "^7.3.4"
+    better-opn "^2.1.1"
+    boxen "^5.1.2"
+    chalk "^4.1.0"
+    cli-table3 "^0.6.1"
+    compression "^1.7.4"
+    detect-port "^1.3.0"
+    express "^4.17.3"
+    fs-extra "^11.1.0"
+    globby "^11.0.2"
+    ip "^2.0.0"
+    lodash "^4.17.21"
+    node-fetch "^2.6.7"
+    open "^8.4.0"
+    pretty-hrtime "^1.0.3"
+    prompts "^2.4.0"
+    read-pkg-up "^7.0.1"
+    semver "^7.3.7"
+    serve-favicon "^2.5.0"
+    slash "^3.0.0"
+    telejson "^7.0.3"
+    ts-dedent "^2.0.0"
+    util-deprecate "^1.0.2"
+    watchpack "^2.2.0"
+    ws "^8.2.3"
+
+"@storybook/core-webpack@7.0.0-beta.43":
+  version "7.0.0-beta.43"
+  resolved "https://registry.yarnpkg.com/@storybook/core-webpack/-/core-webpack-7.0.0-beta.43.tgz#66999d1da36eaf2df7920d56cfab186a57dcf24b"
+  integrity sha512-A7jEHQhF6GC8J5olML8H3/YQfzta46IGwhDZitdQ3/lmMtZGDPByIF7RLw8ZY6HO0+a6073zjIAecT3/w2kdbA==
+  dependencies:
+    "@storybook/core-common" "7.0.0-beta.43"
+    "@storybook/node-logger" "7.0.0-beta.43"
+    "@storybook/types" "7.0.0-beta.43"
+    "@types/node" "^16.0.0"
+    ts-dedent "^2.0.0"
+
+"@storybook/csf-plugin@7.0.0-beta.43":
+  version "7.0.0-beta.43"
+  resolved "https://registry.yarnpkg.com/@storybook/csf-plugin/-/csf-plugin-7.0.0-beta.43.tgz#b0aea83a53c5b74db487b4e4b279cc532297540b"
+  integrity sha512-plrZZP0sJ+qYaygDNuv130xVoRUC3mlbl4rsx+EHR9B2XZ0CRFg32DSXW/0k9uE5g449WACzSkbmLIVvT4RR+Q==
+  dependencies:
+    "@storybook/csf-tools" "7.0.0-beta.43"
+    unplugin "^0.10.2"
+
+"@storybook/csf-tools@7.0.0-beta.43":
+  version "7.0.0-beta.43"
+  resolved "https://registry.yarnpkg.com/@storybook/csf-tools/-/csf-tools-7.0.0-beta.43.tgz#d6831d4f92bfd2fb8f9e54b07d10f0e7df868f75"
+  integrity sha512-/KbLRdE36FwbpRB0HYE5BHbDbGKnkVhTqgHvVO9E+NgIGX811EOp1GVeyhrSl+oj7m73MQIqR1al0OcMd4IE8A==
+  dependencies:
+    "@babel/types" "^7.20.2"
+    "@storybook/csf" next
+    "@storybook/types" "7.0.0-beta.43"
+    fs-extra "^11.1.0"
+    recast "^0.23.1"
+    ts-dedent "^2.0.0"
+
+"@storybook/csf@^0.0.1":
+  version "0.0.1"
+  resolved "https://registry.yarnpkg.com/@storybook/csf/-/csf-0.0.1.tgz#95901507dc02f0bc6f9ac8ee1983e2fc5bb98ce6"
+  integrity sha512-USTLkZze5gkel8MYCujSRBVIrUQ3YPBrLOx7GNk/0wttvVtlzWXAq9eLbQ4p/NicGxP+3T7KPEMVV//g+yubpw==
+  dependencies:
+    lodash "^4.17.15"
+
+"@storybook/csf@next":
+  version "0.0.2-next.8"
+  resolved "https://registry.yarnpkg.com/@storybook/csf/-/csf-0.0.2-next.8.tgz#e1033032368177c0eefb4c79898641a77e5fd21d"
+  integrity sha512-3T6rflW7D9q1iXOR+bidwoNbd9rVUTyjYH/sqsnYjbXhb/aOXsQzGKwNeq9QqZIFVpKfg5BoOF5i7DCMtoGknQ==
+  dependencies:
+    expect-type "^0.14.2"
+    lodash "^4.17.15"
+    type-fest "^2.19.0"
+
+"@storybook/docs-mdx@next":
+  version "0.0.1-next.6"
+  resolved "https://registry.yarnpkg.com/@storybook/docs-mdx/-/docs-mdx-0.0.1-next.6.tgz#8fa2d0e30e7487101e7e286e593323b1ce750699"
+  integrity sha512-DjoSIXADmLJtdroXAjUotFiZlcZ2usWhqrS7aeOtZs0DVR0Ws5WQjnwtpDUXt8gryTSd+OZJ0cNsDcqg4JDEvQ==
+
+"@storybook/docs-tools@7.0.0-beta.43":
+  version "7.0.0-beta.43"
+  resolved "https://registry.yarnpkg.com/@storybook/docs-tools/-/docs-tools-7.0.0-beta.43.tgz#d5516f7f1501f730f4aa3d662577835fdbe8bd22"
+  integrity sha512-v7hjvqP+dkxW9cTUZgBQMMoNOFBL40GULckIlBs0RqqXjYpj/AmBEZGFlICH1FiaIrm++oR7PvBJJ2tscK3VWQ==
+  dependencies:
+    "@babel/core" "^7.12.10"
+    "@storybook/core-common" "7.0.0-beta.43"
+    "@storybook/preview-api" "7.0.0-beta.43"
+    "@storybook/types" "7.0.0-beta.43"
+    "@types/doctrine" "^0.0.3"
+    doctrine "^3.0.0"
+    lodash "^4.17.21"
+
+"@storybook/global@^5.0.0":
+  version "5.0.0"
+  resolved "https://registry.yarnpkg.com/@storybook/global/-/global-5.0.0.tgz#b793d34b94f572c1d7d9e0f44fac4e0dbc9572ed"
+  integrity sha512-FcOqPAXACP0I3oJ/ws6/rrPT9WGhu915Cg8D02a9YxLo0DE9zI+a9A5gRGvmQ09fiWPukqI8ZAEoQEdWUKMQdQ==
+
+"@storybook/instrumenter@7.0.0-beta.43", "@storybook/instrumenter@next":
+  version "7.0.0-beta.43"
+  resolved "https://registry.yarnpkg.com/@storybook/instrumenter/-/instrumenter-7.0.0-beta.43.tgz#3938a3c71a41253f782e196112d53c03b3582e8e"
+  integrity sha512-z9+XroBxWLbL0yZmq34HpRjf+zsoETK56+gScBQzIgOr0ZinshAyoCQbLGueiN8dyxjcFQSLMIZjjPj2pIZ7wA==
+  dependencies:
+    "@storybook/channels" "7.0.0-beta.43"
+    "@storybook/client-logger" "7.0.0-beta.43"
+    "@storybook/core-events" "7.0.0-beta.43"
+    "@storybook/global" "^5.0.0"
+    "@storybook/preview-api" "7.0.0-beta.43"
+
+"@storybook/manager-api@7.0.0-beta.43":
+  version "7.0.0-beta.43"
+  resolved "https://registry.yarnpkg.com/@storybook/manager-api/-/manager-api-7.0.0-beta.43.tgz#edba40dbcb343c77d555bc5a62adfab7c62b0233"
+  integrity sha512-e3ST+lZdmeokT4GVTrrM02XQ4lHeiiwNg2HRjlStdtsL/3+qOqi/0YicLB5ZBcL8sqTkYT7b0V04vQY5k+sCng==
+  dependencies:
+    "@storybook/channels" "7.0.0-beta.43"
+    "@storybook/client-logger" "7.0.0-beta.43"
+    "@storybook/core-events" "7.0.0-beta.43"
+    "@storybook/csf" next
+    "@storybook/global" "^5.0.0"
+    "@storybook/router" "7.0.0-beta.43"
+    "@storybook/theming" "7.0.0-beta.43"
+    "@storybook/types" "7.0.0-beta.43"
+    dequal "^2.0.2"
+    lodash "^4.17.21"
+    memoizerific "^1.11.3"
+    semver "^7.3.7"
+    store2 "^2.14.2"
+    telejson "^7.0.3"
+    ts-dedent "^2.0.0"
+
+"@storybook/manager@7.0.0-beta.43":
+  version "7.0.0-beta.43"
+  resolved "https://registry.yarnpkg.com/@storybook/manager/-/manager-7.0.0-beta.43.tgz#d46d6cc9795ac64c3c24f02ec4ebb193eca896d8"
+  integrity sha512-4UG1bDB04Kn9gMqslIa7Ao7/814zNwvEZmiuAHjeDZ37gpkhi3CcjZqU5Xy/COb436XiXsbWYRGeg0pcHc8b+A==
+
+"@storybook/mdx2-csf@next":
+  version "1.0.0-next.5"
+  resolved "https://registry.yarnpkg.com/@storybook/mdx2-csf/-/mdx2-csf-1.0.0-next.5.tgz#b43b403b3a0b2ebdb3603bf6d20d7319b407e199"
+  integrity sha512-02w0sgGZaK1agT050yCVhJ+o4rLHANWvLKWjQjeAsYbjneLC5ITt+3GDB4jRiWwJboZ8dHW1fGSK1Vg5fA34aQ==
+
+"@storybook/node-logger@7.0.0-beta.43":
+  version "7.0.0-beta.43"
+  resolved "https://registry.yarnpkg.com/@storybook/node-logger/-/node-logger-7.0.0-beta.43.tgz#0c76e7f38b0d13aa0805bd05661b50f31a7e14d5"
+  integrity sha512-/DYIT/EUYSOFwUQErGVSO7yVtcB5s/us8/bNMeps+EzbLLNZHaFnuvNml8I8c6Ghb4A6Jc+uJmz7df6qqh6cWw==
+  dependencies:
+    "@types/npmlog" "^4.1.2"
+    chalk "^4.1.0"
+    npmlog "^5.0.1"
+    pretty-hrtime "^1.0.3"
+
+"@storybook/postinstall@7.0.0-beta.43":
+  version "7.0.0-beta.43"
+  resolved "https://registry.yarnpkg.com/@storybook/postinstall/-/postinstall-7.0.0-beta.43.tgz#9e4ed73aa832f82ec4beb628a91948d475a51497"
+  integrity sha512-wyfwhw6uUazZsxKsmquXM9uL61IhUVV6/Bmz2NQOPcNcQbKXPwWTU5CIFlYP+/Xx5eK1Mx+iqmGXqQzuCi+QPw==
+
+"@storybook/preset-react-webpack@7.0.0-beta.43":
+  version "7.0.0-beta.43"
+  resolved "https://registry.yarnpkg.com/@storybook/preset-react-webpack/-/preset-react-webpack-7.0.0-beta.43.tgz#d2eb6ecdfaef1dbc7a50b412d7286d100f4dfb4f"
+  integrity sha512-pyrhWffv+G+LdixKzRCseZs/Nbg7RitEW1ViM1OJePMqYNQbDkWRM+cKI+K6xbPaf/bSzYMceVz9xTQ13ezKUA==
+  dependencies:
+    "@babel/preset-flow" "^7.18.6"
+    "@babel/preset-react" "^7.18.6"
+    "@pmmmwh/react-refresh-webpack-plugin" "^0.5.5"
+    "@storybook/core-webpack" "7.0.0-beta.43"
+    "@storybook/docs-tools" "7.0.0-beta.43"
+    "@storybook/node-logger" "7.0.0-beta.43"
+    "@storybook/react" "7.0.0-beta.43"
+    "@storybook/react-docgen-typescript-plugin" "1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0"
+    "@types/node" "^16.0.0"
+    "@types/semver" "^7.3.4"
+    babel-plugin-add-react-displayname "^0.0.5"
+    babel-plugin-react-docgen "^4.2.1"
+    fs-extra "^11.1.0"
+    react-refresh "^0.11.0"
+    semver "^7.3.7"
+
+"@storybook/preview-api@7.0.0-beta.43":
+  version "7.0.0-beta.43"
+  resolved "https://registry.yarnpkg.com/@storybook/preview-api/-/preview-api-7.0.0-beta.43.tgz#b8b405d8d473a0c908d2bbfd9c8764ce7cc3dfed"
+  integrity sha512-HlYYbVl8WYkmeSYYta3hgWiteGycvbpSb7/7InjNTplertD9G7GJUwG5DUdddBBd3q4eYLvAwrrsNgPogIOESA==
+  dependencies:
+    "@storybook/channel-postmessage" "7.0.0-beta.43"
+    "@storybook/channels" "7.0.0-beta.43"
+    "@storybook/client-logger" "7.0.0-beta.43"
+    "@storybook/core-events" "7.0.0-beta.43"
+    "@storybook/csf" next
+    "@storybook/global" "^5.0.0"
+    "@storybook/types" "7.0.0-beta.43"
+    "@types/qs" "^6.9.5"
+    dequal "^2.0.2"
+    lodash "^4.17.21"
+    memoizerific "^1.11.3"
+    qs "^6.10.0"
+    slash "^3.0.0"
+    synchronous-promise "^2.0.15"
+    ts-dedent "^2.0.0"
+    util-deprecate "^1.0.2"
 
-"@sinonjs/commons@^1.7.0":
-  version "1.8.6"
-  resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.6.tgz#80c516a4dc264c2a69115e7578d62581ff455ed9"
-  integrity sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ==
-  dependencies:
-    type-detect "4.0.8"
+"@storybook/preview@7.0.0-beta.43":
+  version "7.0.0-beta.43"
+  resolved "https://registry.yarnpkg.com/@storybook/preview/-/preview-7.0.0-beta.43.tgz#9c6ceb40f5caadc4859614868b5ef80d01922926"
+  integrity sha512-JQlHPdNf4RTFb4+kD7uT2Toi0qSaEfJKSAHxOmNzaYIULueHYy8hTA3V5phPb1XSuKbD/+LedCrMsl9l4WAQlA==
 
-"@sinonjs/fake-timers@^9.1.2":
-  version "9.1.2"
-  resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-9.1.2.tgz#4eaab737fab77332ab132d396a3c0d364bd0ea8c"
-  integrity sha512-BPS4ynJW/o92PUR4wgriz2Ud5gpST5vz6GQfMixEDK0Z8ZCUv2M7SkBLykH56T++Xs+8ln9zTGbOvNGIe02/jw==
+"@storybook/react-docgen-typescript-plugin@1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0":
+  version "1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0"
+  resolved "https://registry.yarnpkg.com/@storybook/react-docgen-typescript-plugin/-/react-docgen-typescript-plugin-1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0.tgz#3103532ff494fb7dc3cf835f10740ecf6a26c0f9"
+  integrity sha512-eVg3BxlOm2P+chijHBTByr90IZVUtgRW56qEOLX7xlww2NBuKrcavBlcmn+HH7GIUktquWkMPtvy6e0W0NgA5w==
   dependencies:
-    "@sinonjs/commons" "^1.7.0"
+    debug "^4.1.1"
+    endent "^2.0.1"
+    find-cache-dir "^3.3.1"
+    flat-cache "^3.0.4"
+    micromatch "^4.0.2"
+    react-docgen-typescript "^2.1.1"
+    tslib "^2.0.0"
+
+"@storybook/react-webpack5@^7.0.0-beta.43":
+  version "7.0.0-beta.43"
+  resolved "https://registry.yarnpkg.com/@storybook/react-webpack5/-/react-webpack5-7.0.0-beta.43.tgz#bdf832fb8b064a7437bbfac7551b21e4f8110a0f"
+  integrity sha512-1CPVRbB5ZVMmKerCztlGma30Xqf4oaiDBz8U7nC8WjU2p23amzYarbjHECMF0seE3h1VXK0ALWzUGxnM/dthBQ==
+  dependencies:
+    "@storybook/builder-webpack5" "7.0.0-beta.43"
+    "@storybook/preset-react-webpack" "7.0.0-beta.43"
+    "@storybook/react" "7.0.0-beta.43"
+    "@types/node" "^16.0.0"
+
+"@storybook/react@7.0.0-beta.43", "@storybook/react@^7.0.0-beta.43":
+  version "7.0.0-beta.43"
+  resolved "https://registry.yarnpkg.com/@storybook/react/-/react-7.0.0-beta.43.tgz#41086e28d88b6a703aa84c3a53e6d00a31eb1695"
+  integrity sha512-IrtOCLLf+ZS3Rtci9Ce8WnqftTJmZ3GR9DludrclmY1vI8Vj8ejmM5M44qI76SDX5EeVsvWcrQzJGqvuWj1Swg==
+  dependencies:
+    "@storybook/client-logger" "7.0.0-beta.43"
+    "@storybook/core-client" "7.0.0-beta.43"
+    "@storybook/docs-tools" "7.0.0-beta.43"
+    "@storybook/global" "^5.0.0"
+    "@storybook/preview-api" "7.0.0-beta.43"
+    "@storybook/types" "7.0.0-beta.43"
+    "@types/escodegen" "^0.0.6"
+    "@types/estree" "^0.0.51"
+    "@types/node" "^16.0.0"
+    acorn "^7.4.1"
+    acorn-jsx "^5.3.1"
+    acorn-walk "^7.2.0"
+    escodegen "^2.0.0"
+    html-tags "^3.1.0"
+    lodash "^4.17.21"
+    prop-types "^15.7.2"
+    react-element-to-jsx-string "^15.0.0"
+    ts-dedent "^2.0.0"
+    type-fest "^2.19.0"
+    util-deprecate "^1.0.2"
+
+"@storybook/router@7.0.0-beta.43":
+  version "7.0.0-beta.43"
+  resolved "https://registry.yarnpkg.com/@storybook/router/-/router-7.0.0-beta.43.tgz#8233981b5a9f28873bb85eaafda4c33bcbe122bd"
+  integrity sha512-yvZ0Gx8rqVjmdRa2DqfZsEL2kqn/yqYNzUqzAj3yaTxoEznn/LqZaWGBBiBUrT3A53n6AQH6nFACiZ4bu81E/A==
+  dependencies:
+    "@storybook/client-logger" "7.0.0-beta.43"
+    memoizerific "^1.11.3"
+    qs "^6.10.0"
+
+"@storybook/store@7.0.0-beta.43":
+  version "7.0.0-beta.43"
+  resolved "https://registry.yarnpkg.com/@storybook/store/-/store-7.0.0-beta.43.tgz#c45cc09e48387b27a76eaf5c7afbbb22625c061f"
+  integrity sha512-rQDdFx3kRniGIcObeInbQ8jqklq+LGVJ3nwfWv04fdkVWBGzabzv3DLW6dnvG9Zb8pSBy0Sm9m382Da141V9eA==
+  dependencies:
+    "@storybook/client-logger" "7.0.0-beta.43"
+    "@storybook/preview-api" "7.0.0-beta.43"
+
+"@storybook/telemetry@7.0.0-beta.43":
+  version "7.0.0-beta.43"
+  resolved "https://registry.yarnpkg.com/@storybook/telemetry/-/telemetry-7.0.0-beta.43.tgz#99ef1cd72c737f1314cad5f685dd64ee8ea4a932"
+  integrity sha512-OoMUd49u1eO351Kuoyf8QzD9Uhkqay7KoBtLZSs8nc40uZWmx1Ho/9EQnI71ETpaHjYf1SPSBD/PL0fmMBtGCQ==
+  dependencies:
+    "@storybook/client-logger" "7.0.0-beta.43"
+    "@storybook/core-common" "7.0.0-beta.43"
+    chalk "^4.1.0"
+    detect-package-manager "^2.0.1"
+    fetch-retry "^5.0.2"
+    fs-extra "^11.1.0"
+    isomorphic-unfetch "^3.1.0"
+    nanoid "^3.3.1"
+    read-pkg-up "^7.0.1"
+
+"@storybook/testing-library@^0.0.14-next.1":
+  version "0.0.14-next.1"
+  resolved "https://registry.yarnpkg.com/@storybook/testing-library/-/testing-library-0.0.14-next.1.tgz#c8e93aea7b2a4caba4f4b60b2195e4de589f8a3c"
+  integrity sha512-1CAl40IKIhcPaCC4pYCG0b9IiYNymktfV/jTrX7ctquRY3akaN7f4A1SippVHosksft0M+rQTFE0ccfWW581fw==
+  dependencies:
+    "@storybook/client-logger" next
+    "@storybook/instrumenter" next
+    "@testing-library/dom" "^8.3.0"
+    "@testing-library/user-event" "^13.2.1"
+    ts-dedent "^2.2.0"
+
+"@storybook/theming@7.0.0-beta.43":
+  version "7.0.0-beta.43"
+  resolved "https://registry.yarnpkg.com/@storybook/theming/-/theming-7.0.0-beta.43.tgz#4c483364870c1bc31c0399682e72408749eebca4"
+  integrity sha512-+oZRoVn88vZs4/gLv6SRrz90JRtCf0PYZ+t2Dnlhp+HEBu9daiaKQxJNAcDsdnZv4n6nRtBU07QZPVWqgmJEaw==
+  dependencies:
+    "@emotion/use-insertion-effect-with-fallbacks" "^1.0.0"
+    "@storybook/client-logger" "7.0.0-beta.43"
+    "@storybook/global" "^5.0.0"
+    memoizerific "^1.11.3"
+
+"@storybook/types@7.0.0-beta.43":
+  version "7.0.0-beta.43"
+  resolved "https://registry.yarnpkg.com/@storybook/types/-/types-7.0.0-beta.43.tgz#6ad52e4bff5b0fd014c086c0861a0466be6fb4bd"
+  integrity sha512-6YJ5EvVfQ/WrQBGX3y5KQx8JRR8vHCSqpIlVwnL7vutbe1ZJZpYjAbdH5bApoiG35Prgfq3oM9RavDnDlln7Fw==
+  dependencies:
+    "@babel/core" "^7.12.10"
+    "@storybook/channels" "7.0.0-beta.43"
+    "@types/babel__core" "^7.0.0"
+    "@types/express" "^4.7.0"
+    express "^4.17.3"
+    file-system-cache "^2.0.0"
 
 "@swc/core-darwin-arm64@1.3.25":
   version "1.3.25"
@@ -1072,6 +3327,30 @@
   dependencies:
     defer-to-connect "^2.0.1"
 
+"@tabler/icons@^1.119.0":
+  version "1.119.0"
+  resolved "https://registry.yarnpkg.com/@tabler/icons/-/icons-1.119.0.tgz#8c590bc5a563c8673a78ccd451bedabd584b376e"
+  integrity sha512-Fk3Qq4w2SXcTjc/n1cuL5bccPkylrOMo7cYpQIf/yw6zP76LQV9dtLcHQUjFiUnaYuswR645CnURIhlafyAh9g==
+
+"@tanstack/query-core@^4.24.10":
+  version "4.24.10"
+  resolved "https://registry.yarnpkg.com/@tanstack/query-core/-/query-core-4.24.10.tgz#758e1f5b2d7faf7316d299facd272a9f64c26299"
+  integrity sha512-2QywqXEAGBIUoTdgn1lAB4/C8QEqwXHj2jrCLeYTk2xVGtLiPEUD8jcMoeB2noclbiW2mMt4+Fq7fZStuz3wAQ==
+
+"@testing-library/dom@^8.3.0":
+  version "8.20.0"
+  resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-8.20.0.tgz#914aa862cef0f5e89b98cc48e3445c4c921010f6"
+  integrity sha512-d9ULIT+a4EXLX3UU8FBjauG9NnsZHkHztXoIcTsOKoOw030fyjheN9svkTULjJxtYag9DZz5Jz5qkWZDPxTFwA==
+  dependencies:
+    "@babel/code-frame" "^7.10.4"
+    "@babel/runtime" "^7.12.5"
+    "@types/aria-query" "^5.0.1"
+    aria-query "^5.0.0"
+    chalk "^4.1.0"
+    dom-accessibility-api "^0.5.9"
+    lz-string "^1.4.4"
+    pretty-format "^27.0.2"
+
 "@testing-library/dom@^8.5.0":
   version "8.19.1"
   resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-8.19.1.tgz#0e2dafd281dedb930bb235eac1045470b4129d0e"
@@ -1086,6 +3365,21 @@
     lz-string "^1.4.4"
     pretty-format "^27.0.2"
 
+"@testing-library/jest-dom@^5.16.5":
+  version "5.16.5"
+  resolved "https://registry.yarnpkg.com/@testing-library/jest-dom/-/jest-dom-5.16.5.tgz#3912846af19a29b2dbf32a6ae9c31ef52580074e"
+  integrity sha512-N5ixQ2qKpi5OLYfwQmUb/5mSV9LneAcaUfp32pn4yCnpb8r/Yz0pXFPck21dIicKmi+ta5WRAknkZCfA8refMA==
+  dependencies:
+    "@adobe/css-tools" "^4.0.1"
+    "@babel/runtime" "^7.9.2"
+    "@types/testing-library__jest-dom" "^5.9.1"
+    aria-query "^5.0.0"
+    chalk "^3.0.0"
+    css.escape "^1.5.1"
+    dom-accessibility-api "^0.5.6"
+    lodash "^4.17.15"
+    redent "^3.0.0"
+
 "@testing-library/react@^13.4.0":
   version "13.4.0"
   resolved "https://registry.yarnpkg.com/@testing-library/react/-/react-13.4.0.tgz#6a31e3bf5951615593ad984e96b9e5e2d9380966"
@@ -1095,6 +3389,18 @@
     "@testing-library/dom" "^8.5.0"
     "@types/react-dom" "^18.0.0"
 
+"@testing-library/user-event@^13.2.1":
+  version "13.5.0"
+  resolved "https://registry.yarnpkg.com/@testing-library/user-event/-/user-event-13.5.0.tgz#69d77007f1e124d55314a2b73fd204b333b13295"
+  integrity sha512-5Kwtbo3Y/NowpkbRuSepbyMFkZmHgD+vPzYB/RJ4oxt5Gj/avFFBYjhw27cqSVPVw/3a67NK1PbiIr9k4Gwmdg==
+  dependencies:
+    "@babel/runtime" "^7.12.5"
+
+"@testing-library/user-event@^14.4.3":
+  version "14.4.3"
+  resolved "https://registry.yarnpkg.com/@testing-library/user-event/-/user-event-14.4.3.tgz#af975e367743fa91989cd666666aec31a8f50591"
+  integrity sha512-kCUc5MEwaEMakkO5x7aoD+DLi02ehmEM2QCGWvNqAS1dV/fAvORWEjnjsEIvml59M7Y5kCkWN6fCCyPOe8OL6Q==
+
 "@tootallnate/once@1":
   version "1.1.2"
   resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82"
@@ -1130,6 +3436,17 @@
   resolved "https://registry.yarnpkg.com/@types/aria-query/-/aria-query-5.0.1.tgz#3286741fb8f1e1580ac28784add4c7a1d49bdfbc"
   integrity sha512-XTIieEY+gvJ39ChLcB4If5zHtPxt3Syj5rgZR+e1ctpmK8NjPf0zFqsz4JpLJT0xla9GFDKjy8Cpu331nrmE1Q==
 
+"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.20":
+  version "7.20.0"
+  resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.0.tgz#61bc5a4cae505ce98e1e36c5445e4bee060d8891"
+  integrity sha512-+n8dL/9GWblDO0iU6eZAwEIJVr5DWigtle+Q6HLOrh/pdbXOhOtqzq8VPPE2zvNJzSKY4vH/z3iT3tn0A3ypiQ==
+  dependencies:
+    "@babel/parser" "^7.20.7"
+    "@babel/types" "^7.20.7"
+    "@types/babel__generator" "*"
+    "@types/babel__template" "*"
+    "@types/babel__traverse" "*"
+
 "@types/babel__core@^7.1.14":
   version "7.1.20"
   resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.20.tgz#e168cdd612c92a2d335029ed62ac94c95b362359"
@@ -1163,6 +3480,99 @@
   dependencies:
     "@babel/types" "^7.3.0"
 
+"@types/body-parser@*":
+  version "1.19.2"
+  resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.2.tgz#aea2059e28b7658639081347ac4fab3de166e6f0"
+  integrity sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==
+  dependencies:
+    "@types/connect" "*"
+    "@types/node" "*"
+
+"@types/connect@*":
+  version "3.4.35"
+  resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.35.tgz#5fcf6ae445e4021d1fc2219a4873cc73a3bb2ad1"
+  integrity sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==
+  dependencies:
+    "@types/node" "*"
+
+"@types/detect-port@^1.3.0":
+  version "1.3.2"
+  resolved "https://registry.yarnpkg.com/@types/detect-port/-/detect-port-1.3.2.tgz#8c06a975e472803b931ee73740aeebd0a2eb27ae"
+  integrity sha512-xxgAGA2SAU4111QefXPSp5eGbDm/hW6zhvYl9IeEPZEry9F4d66QAHm5qpUXjb6IsevZV/7emAEx5MhP6O192g==
+
+"@types/doctrine@^0.0.3":
+  version "0.0.3"
+  resolved "https://registry.yarnpkg.com/@types/doctrine/-/doctrine-0.0.3.tgz#e892d293c92c9c1d3f9af72c15a554fbc7e0895a"
+  integrity sha512-w5jZ0ee+HaPOaX25X2/2oGR/7rgAQSYII7X7pp0m9KgBfMP7uKfMfTvcpl5Dj+eDBbpxKGiqE+flqDr6XTd2RA==
+
+"@types/ejs@^3.1.1":
+  version "3.1.1"
+  resolved "https://registry.yarnpkg.com/@types/ejs/-/ejs-3.1.1.tgz#29c539826376a65e7f7d672d51301f37ed718f6d"
+  integrity sha512-RQul5wEfY7BjWm0sYY86cmUN/pcXWGyVxWX93DFFJvcrxax5zKlieLwA3T77xJGwNcZW0YW6CYG70p1m8xPFmA==
+
+"@types/escodegen@^0.0.6":
+  version "0.0.6"
+  resolved "https://registry.yarnpkg.com/@types/escodegen/-/escodegen-0.0.6.tgz#5230a9ce796e042cda6f086dbf19f22ea330659c"
+  integrity sha512-AjwI4MvWx3HAOaZqYsjKWyEObT9lcVV0Y0V8nXo6cXzN8ZiMxVhf6F3d/UNvXVGKrEzL/Dluc5p+y9GkzlTWig==
+
+"@types/eslint-scope@^3.7.3":
+  version "3.7.4"
+  resolved "https://registry.yarnpkg.com/@types/eslint-scope/-/eslint-scope-3.7.4.tgz#37fc1223f0786c39627068a12e94d6e6fc61de16"
+  integrity sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==
+  dependencies:
+    "@types/eslint" "*"
+    "@types/estree" "*"
+
+"@types/eslint@*":
+  version "8.4.10"
+  resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.4.10.tgz#19731b9685c19ed1552da7052b6f668ed7eb64bb"
+  integrity sha512-Sl/HOqN8NKPmhWo2VBEPm0nvHnu2LL3v9vKo8MEq0EtbJ4eVzGPl41VNPvn5E1i5poMk4/XD8UriLHpJvEP/Nw==
+  dependencies:
+    "@types/estree" "*"
+    "@types/json-schema" "*"
+
+"@types/estree@*":
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.0.tgz#5fb2e536c1ae9bf35366eed879e827fa59ca41c2"
+  integrity sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==
+
+"@types/estree@^0.0.51":
+  version "0.0.51"
+  resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.51.tgz#cfd70924a25a3fd32b218e5e420e6897e1ac4f40"
+  integrity sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==
+
+"@types/express-serve-static-core@^4.17.33":
+  version "4.17.33"
+  resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.33.tgz#de35d30a9d637dc1450ad18dd583d75d5733d543"
+  integrity sha512-TPBqmR/HRYI3eC2E5hmiivIzv+bidAfXofM+sbonAGvyDhySGw9/PQZFt2BLOrjUUR++4eJVpx6KnLQK1Fk9tA==
+  dependencies:
+    "@types/node" "*"
+    "@types/qs" "*"
+    "@types/range-parser" "*"
+
+"@types/express@^4.7.0":
+  version "4.17.17"
+  resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.17.tgz#01d5437f6ef9cfa8668e616e13c2f2ac9a491ae4"
+  integrity sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==
+  dependencies:
+    "@types/body-parser" "*"
+    "@types/express-serve-static-core" "^4.17.33"
+    "@types/qs" "*"
+    "@types/serve-static" "*"
+
+"@types/find-cache-dir@^3.2.1":
+  version "3.2.1"
+  resolved "https://registry.yarnpkg.com/@types/find-cache-dir/-/find-cache-dir-3.2.1.tgz#7b959a4b9643a1e6a1a5fe49032693cc36773501"
+  integrity sha512-frsJrz2t/CeGifcu/6uRo4b+SzAwT4NYCVPu1GN8IB9XTzrpPkGuV0tmh9mN+/L0PklAlsC3u5Fxt0ju00LXIw==
+
+"@types/glob@^7.1.3":
+  version "7.2.0"
+  resolved "https://registry.yarnpkg.com/@types/glob/-/glob-7.2.0.tgz#bc1b5bf3aa92f25bd5dd39f35c57361bdce5b2eb"
+  integrity sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==
+  dependencies:
+    "@types/minimatch" "*"
+    "@types/node" "*"
+
 "@types/graceful-fs@^4.1.3":
   version "4.1.5"
   resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.5.tgz#21ffba0d98da4350db64891f92a9e5db3cdb4e15"
@@ -1170,6 +3580,11 @@
   dependencies:
     "@types/node" "*"
 
+"@types/html-minifier-terser@^6.0.0":
+  version "6.1.0"
+  resolved "https://registry.yarnpkg.com/@types/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz#4fc33a00c1d0c16987b1a20cf92d20614c55ac35"
+  integrity sha512-oh/6byDPnL1zeNXFrDXFLyZjkr1MsBG667IM792caf1L2UPOOMf65NFzjUH/ltyfwjAGfs1rsX1eftK0jC/KIg==
+
 "@types/http-cache-semantics@^4.0.1":
   version "4.0.1"
   resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz#0ea7b61496902b95890dc4c3a116b60cb8dae812"
@@ -1194,6 +3609,14 @@
   dependencies:
     "@types/istanbul-lib-report" "*"
 
+"@types/jest@*":
+  version "29.4.0"
+  resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.4.0.tgz#a8444ad1704493e84dbf07bb05990b275b3b9206"
+  integrity sha512-VaywcGQ9tPorCX/Jkkni7RWGFfI11whqzs8dvxF41P17Z+z872thvEvlIbznjPJ02kl1HMX3LmLOonsj2n7HeQ==
+  dependencies:
+    expect "^29.0.0"
+    pretty-format "^29.0.0"
+
 "@types/jest@^29.2.5":
   version "29.2.5"
   resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.2.5.tgz#c27f41a9d6253f288d1910d3c5f09484a56b73c0"
@@ -1211,7 +3634,7 @@
     "@types/tough-cookie" "*"
     parse5 "^7.0.0"
 
-"@types/json-schema@^7.0.9":
+"@types/json-schema@*", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9":
   version "7.0.11"
   resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3"
   integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==
@@ -1221,31 +3644,94 @@
   resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee"
   integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==
 
+"@types/lodash@^4.14.167":
+  version "4.14.191"
+  resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.191.tgz#09511e7f7cba275acd8b419ddac8da9a6a79e2fa"
+  integrity sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ==
+
+"@types/mdx@^2.0.0":
+  version "2.0.3"
+  resolved "https://registry.yarnpkg.com/@types/mdx/-/mdx-2.0.3.tgz#43fd32414f17fcbeced3578109a6edd877a2d96e"
+  integrity sha512-IgHxcT3RC8LzFLhKwP3gbMPeaK7BM9eBH46OdapPA7yvuIUJ8H6zHZV53J8hGZcTSnt95jANt+rTBNUUc22ACQ==
+
+"@types/mime-types@^2.1.0":
+  version "2.1.1"
+  resolved "https://registry.yarnpkg.com/@types/mime-types/-/mime-types-2.1.1.tgz#d9ba43490fa3a3df958759adf69396c3532cf2c1"
+  integrity sha512-vXOTGVSLR2jMw440moWTC7H19iUyLtP3Z1YTj7cSsubOICinjMxFeb/V57v9QdyyPGbbWolUFSSmSiRSn94tFw==
+
+"@types/mime@*":
+  version "3.0.1"
+  resolved "https://registry.yarnpkg.com/@types/mime/-/mime-3.0.1.tgz#5f8f2bca0a5863cb69bc0b0acd88c96cb1d4ae10"
+  integrity sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==
+
+"@types/minimatch@*":
+  version "5.1.2"
+  resolved "https://registry.yarnpkg.com/@types/minimatch/-/minimatch-5.1.2.tgz#07508b45797cb81ec3f273011b054cd0755eddca"
+  integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==
+
 "@types/minimist@^1.2.0":
   version "1.2.2"
   resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.2.tgz#ee771e2ba4b3dc5b372935d549fd9617bf345b8c"
   integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==
 
+"@types/node-fetch@^2.5.7":
+  version "2.6.2"
+  resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.6.2.tgz#d1a9c5fd049d9415dce61571557104dec3ec81da"
+  integrity sha512-DHqhlq5jeESLy19TYhLakJ07kNumXWjcDdxXsLUMJZ6ue8VZJj4kLPQVE/2mdHh3xZziNF1xppu5lwmS53HR+A==
+  dependencies:
+    "@types/node" "*"
+    form-data "^3.0.0"
+
 "@types/node@*", "@types/node@^18.11.18":
   version "18.11.18"
   resolved "https://registry.yarnpkg.com/@types/node/-/node-18.11.18.tgz#8dfb97f0da23c2293e554c5a50d61ef134d7697f"
   integrity sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA==
 
+"@types/node@^16.0.0":
+  version "16.18.12"
+  resolved "https://registry.yarnpkg.com/@types/node/-/node-16.18.12.tgz#e3bfea80e31523fde4292a6118f19ffa24fd6f65"
+  integrity sha512-vzLe5NaNMjIE3mcddFVGlAXN1LEWueUsMsOJWaT6wWMJGyljHAWHznqfnKUQWGzu7TLPrGvWdNAsvQYW+C0xtw==
+
 "@types/normalize-package-data@^2.4.0":
   version "2.4.1"
   resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz#d3357479a0fdfdd5907fe67e17e0a85c906e1301"
   integrity sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==
 
+"@types/npmlog@^4.1.2":
+  version "4.1.4"
+  resolved "https://registry.yarnpkg.com/@types/npmlog/-/npmlog-4.1.4.tgz#30eb872153c7ead3e8688c476054ddca004115f6"
+  integrity sha512-WKG4gTr8przEZBiJ5r3s8ZIAoMXNbOgQ+j/d5O4X3x6kZJRLNvyUJuUK/KoG3+8BaOHPhp2m7WC6JKKeovDSzQ==
+
+"@types/parse-json@^4.0.0":
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0"
+  integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==
+
 "@types/prettier@^2.1.5":
   version "2.7.2"
   resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.7.2.tgz#6c2324641cc4ba050a8c710b2b251b377581fbf0"
   integrity sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg==
 
+"@types/pretty-hrtime@^1.0.0":
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/@types/pretty-hrtime/-/pretty-hrtime-1.0.1.tgz#72a26101dc567b0d68fd956cf42314556e42d601"
+  integrity sha512-VjID5MJb1eGKthz2qUerWT8+R4b9N+CHvGCzg9fn4kWZgaF9AhdYikQio3R7wV8YY1NsQKPaCwKz1Yff+aHNUQ==
+
 "@types/prop-types@*":
   version "15.7.5"
   resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.5.tgz#5f19d2b85a98e9558036f6a3cacc8819420f05cf"
   integrity sha512-JCB8C6SnDoQf0cNycqd/35A7MjcnK+ZTqE7judS6o7utxUCg6imJg3QK2qzHKszlTjcj2cn+NwMB2i96ubpj7w==
 
+"@types/qs@*", "@types/qs@^6.9.5":
+  version "6.9.7"
+  resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.7.tgz#63bb7d067db107cc1e457c303bc25d511febf6cb"
+  integrity sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==
+
+"@types/range-parser@*":
+  version "1.2.4"
+  resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc"
+  integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==
+
 "@types/react-dom@^18.0.0", "@types/react-dom@^18.0.10":
   version "18.0.10"
   resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.0.10.tgz#3b66dec56aa0f16a6cc26da9e9ca96c35c0b4352"
@@ -1262,26 +3748,55 @@
     "@types/scheduler" "*"
     csstype "^3.0.2"
 
+"@types/react@>=16":
+  version "18.0.27"
+  resolved "https://registry.yarnpkg.com/@types/react/-/react-18.0.27.tgz#d9425abe187a00f8a5ec182b010d4fd9da703b71"
+  integrity sha512-3vtRKHgVxu3Jp9t718R9BuzoD4NcQ8YJ5XRzsSKxNDiDonD2MXIT1TmSkenxuCycZJoQT5d2vE8LwWJxBC1gmA==
+  dependencies:
+    "@types/prop-types" "*"
+    "@types/scheduler" "*"
+    csstype "^3.0.2"
+
 "@types/scheduler@*":
   version "0.16.2"
   resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.2.tgz#1a62f89525723dde24ba1b01b092bf5df8ad4d39"
   integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==
 
-"@types/semver@^7.3.12":
+"@types/semver@^7.3.12", "@types/semver@^7.3.4":
   version "7.3.13"
   resolved "https://registry.yarnpkg.com/@types/semver/-/semver-7.3.13.tgz#da4bfd73f49bd541d28920ab0e2bf0ee80f71c91"
   integrity sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==
 
+"@types/serve-static@*":
+  version "1.15.0"
+  resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.15.0.tgz#c7930ff61afb334e121a9da780aac0d9b8f34155"
+  integrity sha512-z5xyF6uh8CbjAu9760KDKsH2FcDxZ2tFCsA4HIMWE6IkiYMXfVoa+4f9KX+FN0ZLsaMw1WNG2ETLA6N+/YA+cg==
+  dependencies:
+    "@types/mime" "*"
+    "@types/node" "*"
+
 "@types/stack-utils@^2.0.0":
   version "2.0.1"
   resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c"
   integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==
 
+"@types/testing-library__jest-dom@^5.9.1":
+  version "5.14.5"
+  resolved "https://registry.yarnpkg.com/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.5.tgz#d113709c90b3c75fdb127ec338dad7d5f86c974f"
+  integrity sha512-SBwbxYoyPIvxHbeHxTZX2Pe/74F/tX2/D3mMvzabdeJ25bBojfW0TyB8BHrbq/9zaaKICJZjLP+8r6AeZMFCuQ==
+  dependencies:
+    "@types/jest" "*"
+
 "@types/tough-cookie@*":
   version "4.0.2"
   resolved "https://registry.yarnpkg.com/@types/tough-cookie/-/tough-cookie-4.0.2.tgz#6286b4c7228d58ab7866d19716f3696e03a09397"
   integrity sha512-Q5vtl1W5ue16D+nIaW8JWebSSraJVlK+EthKn7e7UcD4KWsaSJ8BqGPXNaPghgtcn/fhvrN17Tv8ksUsQpiplw==
 
+"@types/unist@^2.0.0":
+  version "2.0.6"
+  resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.6.tgz#250a7b16c3b91f672a24552ec64678eeb1d3a08d"
+  integrity sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==
+
 "@types/yargs-parser@*":
   version "21.0.0"
   resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.0.tgz#0c60e537fa790f5f9472ed2776c2b71ec117351b"
@@ -1334,6 +3849,14 @@
     "@typescript-eslint/types" "5.48.0"
     "@typescript-eslint/visitor-keys" "5.48.0"
 
+"@typescript-eslint/scope-manager@5.48.2":
+  version "5.48.2"
+  resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.48.2.tgz#bb7676cb78f1e94921eaab637a4b5d596f838abc"
+  integrity sha512-zEUFfonQid5KRDKoI3O+uP1GnrFd4tIHlvs+sTJXiWuypUWMuDaottkJuR612wQfOkjYbsaskSIURV9xo4f+Fw==
+  dependencies:
+    "@typescript-eslint/types" "5.48.2"
+    "@typescript-eslint/visitor-keys" "5.48.2"
+
 "@typescript-eslint/type-utils@5.48.0":
   version "5.48.0"
   resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.48.0.tgz#40496dccfdc2daa14a565f8be80ad1ae3882d6d6"
@@ -1349,6 +3872,11 @@
   resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.48.0.tgz#d725da8dfcff320aab2ac6f65c97b0df30058449"
   integrity sha512-UTe67B0Ypius0fnEE518NB2N8gGutIlTojeTg4nt0GQvikReVkurqxd2LvYa9q9M5MQ6rtpNyWTBxdscw40Xhw==
 
+"@typescript-eslint/types@5.48.2":
+  version "5.48.2"
+  resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.48.2.tgz#635706abb1ec164137f92148f06f794438c97b8e"
+  integrity sha512-hE7dA77xxu7ByBc6KCzikgfRyBCTst6dZQpwaTy25iMYOnbNljDT4hjhrGEJJ0QoMjrfqrx+j1l1B9/LtKeuqA==
+
 "@typescript-eslint/typescript-estree@5.48.0":
   version "5.48.0"
   resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.48.0.tgz#a7f04bccb001003405bb5452d43953a382c2fac2"
@@ -1362,6 +3890,19 @@
     semver "^7.3.7"
     tsutils "^3.21.0"
 
+"@typescript-eslint/typescript-estree@5.48.2":
+  version "5.48.2"
+  resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.48.2.tgz#6e206b462942b32383582a6c9251c05021cc21b0"
+  integrity sha512-bibvD3z6ilnoVxUBFEgkO0k0aFvUc4Cttt0dAreEr+nrAHhWzkO83PEVVuieK3DqcgL6VAK5dkzK8XUVja5Zcg==
+  dependencies:
+    "@typescript-eslint/types" "5.48.2"
+    "@typescript-eslint/visitor-keys" "5.48.2"
+    debug "^4.3.4"
+    globby "^11.1.0"
+    is-glob "^4.0.3"
+    semver "^7.3.7"
+    tsutils "^3.21.0"
+
 "@typescript-eslint/utils@5.48.0", "@typescript-eslint/utils@^5.10.0":
   version "5.48.0"
   resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.48.0.tgz#eee926af2733f7156ad8d15e51791e42ce300273"
@@ -1376,6 +3917,20 @@
     eslint-utils "^3.0.0"
     semver "^7.3.7"
 
+"@typescript-eslint/utils@^5.45.0":
+  version "5.48.2"
+  resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.48.2.tgz#3777a91dcb22b8499a25519e06eef2e9569295a3"
+  integrity sha512-2h18c0d7jgkw6tdKTlNaM7wyopbLRBiit8oAxoP89YnuBOzCZ8g8aBCaCqq7h208qUTroL7Whgzam7UY3HVLow==
+  dependencies:
+    "@types/json-schema" "^7.0.9"
+    "@types/semver" "^7.3.12"
+    "@typescript-eslint/scope-manager" "5.48.2"
+    "@typescript-eslint/types" "5.48.2"
+    "@typescript-eslint/typescript-estree" "5.48.2"
+    eslint-scope "^5.1.1"
+    eslint-utils "^3.0.0"
+    semver "^7.3.7"
+
 "@typescript-eslint/visitor-keys@5.48.0":
   version "5.48.0"
   resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.48.0.tgz#4446d5e7f6cadde7140390c0e284c8702d944904"
@@ -1384,6 +3939,152 @@
     "@typescript-eslint/types" "5.48.0"
     eslint-visitor-keys "^3.3.0"
 
+"@typescript-eslint/visitor-keys@5.48.2":
+  version "5.48.2"
+  resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.48.2.tgz#c247582a0bcce467461d7b696513bf9455000060"
+  integrity sha512-z9njZLSkwmjFWUelGEwEbdf4NwKvfHxvGC0OcGN1Hp/XNDIcJ7D5DpPNPv6x6/mFvc1tQHsaWmpD/a4gOvvCJQ==
+  dependencies:
+    "@typescript-eslint/types" "5.48.2"
+    eslint-visitor-keys "^3.3.0"
+
+"@webassemblyjs/ast@1.11.1":
+  version "1.11.1"
+  resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.1.tgz#2bfd767eae1a6996f432ff7e8d7fc75679c0b6a7"
+  integrity sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==
+  dependencies:
+    "@webassemblyjs/helper-numbers" "1.11.1"
+    "@webassemblyjs/helper-wasm-bytecode" "1.11.1"
+
+"@webassemblyjs/floating-point-hex-parser@1.11.1":
+  version "1.11.1"
+  resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz#f6c61a705f0fd7a6aecaa4e8198f23d9dc179e4f"
+  integrity sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==
+
+"@webassemblyjs/helper-api-error@1.11.1":
+  version "1.11.1"
+  resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz#1a63192d8788e5c012800ba6a7a46c705288fd16"
+  integrity sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==
+
+"@webassemblyjs/helper-buffer@1.11.1":
+  version "1.11.1"
+  resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz#832a900eb444884cde9a7cad467f81500f5e5ab5"
+  integrity sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==
+
+"@webassemblyjs/helper-numbers@1.11.1":
+  version "1.11.1"
+  resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz#64d81da219fbbba1e3bd1bfc74f6e8c4e10a62ae"
+  integrity sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==
+  dependencies:
+    "@webassemblyjs/floating-point-hex-parser" "1.11.1"
+    "@webassemblyjs/helper-api-error" "1.11.1"
+    "@xtuc/long" "4.2.2"
+
+"@webassemblyjs/helper-wasm-bytecode@1.11.1":
+  version "1.11.1"
+  resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz#f328241e41e7b199d0b20c18e88429c4433295e1"
+  integrity sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==
+
+"@webassemblyjs/helper-wasm-section@1.11.1":
+  version "1.11.1"
+  resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz#21ee065a7b635f319e738f0dd73bfbda281c097a"
+  integrity sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==
+  dependencies:
+    "@webassemblyjs/ast" "1.11.1"
+    "@webassemblyjs/helper-buffer" "1.11.1"
+    "@webassemblyjs/helper-wasm-bytecode" "1.11.1"
+    "@webassemblyjs/wasm-gen" "1.11.1"
+
+"@webassemblyjs/ieee754@1.11.1":
+  version "1.11.1"
+  resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz#963929e9bbd05709e7e12243a099180812992614"
+  integrity sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==
+  dependencies:
+    "@xtuc/ieee754" "^1.2.0"
+
+"@webassemblyjs/leb128@1.11.1":
+  version "1.11.1"
+  resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.1.tgz#ce814b45574e93d76bae1fb2644ab9cdd9527aa5"
+  integrity sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==
+  dependencies:
+    "@xtuc/long" "4.2.2"
+
+"@webassemblyjs/utf8@1.11.1":
+  version "1.11.1"
+  resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.1.tgz#d1f8b764369e7c6e6bae350e854dec9a59f0a3ff"
+  integrity sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==
+
+"@webassemblyjs/wasm-edit@1.11.1":
+  version "1.11.1"
+  resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz#ad206ebf4bf95a058ce9880a8c092c5dec8193d6"
+  integrity sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==
+  dependencies:
+    "@webassemblyjs/ast" "1.11.1"
+    "@webassemblyjs/helper-buffer" "1.11.1"
+    "@webassemblyjs/helper-wasm-bytecode" "1.11.1"
+    "@webassemblyjs/helper-wasm-section" "1.11.1"
+    "@webassemblyjs/wasm-gen" "1.11.1"
+    "@webassemblyjs/wasm-opt" "1.11.1"
+    "@webassemblyjs/wasm-parser" "1.11.1"
+    "@webassemblyjs/wast-printer" "1.11.1"
+
+"@webassemblyjs/wasm-gen@1.11.1":
+  version "1.11.1"
+  resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz#86c5ea304849759b7d88c47a32f4f039ae3c8f76"
+  integrity sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==
+  dependencies:
+    "@webassemblyjs/ast" "1.11.1"
+    "@webassemblyjs/helper-wasm-bytecode" "1.11.1"
+    "@webassemblyjs/ieee754" "1.11.1"
+    "@webassemblyjs/leb128" "1.11.1"
+    "@webassemblyjs/utf8" "1.11.1"
+
+"@webassemblyjs/wasm-opt@1.11.1":
+  version "1.11.1"
+  resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz#657b4c2202f4cf3b345f8a4c6461c8c2418985f2"
+  integrity sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==
+  dependencies:
+    "@webassemblyjs/ast" "1.11.1"
+    "@webassemblyjs/helper-buffer" "1.11.1"
+    "@webassemblyjs/wasm-gen" "1.11.1"
+    "@webassemblyjs/wasm-parser" "1.11.1"
+
+"@webassemblyjs/wasm-parser@1.11.1":
+  version "1.11.1"
+  resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz#86ca734534f417e9bd3c67c7a1c75d8be41fb199"
+  integrity sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==
+  dependencies:
+    "@webassemblyjs/ast" "1.11.1"
+    "@webassemblyjs/helper-api-error" "1.11.1"
+    "@webassemblyjs/helper-wasm-bytecode" "1.11.1"
+    "@webassemblyjs/ieee754" "1.11.1"
+    "@webassemblyjs/leb128" "1.11.1"
+    "@webassemblyjs/utf8" "1.11.1"
+
+"@webassemblyjs/wast-printer@1.11.1":
+  version "1.11.1"
+  resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz#d0c73beda8eec5426f10ae8ef55cee5e7084c2f0"
+  integrity sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==
+  dependencies:
+    "@webassemblyjs/ast" "1.11.1"
+    "@xtuc/long" "4.2.2"
+
+"@xtuc/ieee754@^1.2.0":
+  version "1.2.0"
+  resolved "https://registry.yarnpkg.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790"
+  integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==
+
+"@xtuc/long@4.2.2":
+  version "4.2.2"
+  resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d"
+  integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==
+
+"@yarnpkg/esbuild-plugin-pnp@^3.0.0-rc.10":
+  version "3.0.0-rc.15"
+  resolved "https://registry.yarnpkg.com/@yarnpkg/esbuild-plugin-pnp/-/esbuild-plugin-pnp-3.0.0-rc.15.tgz#4e40e7d2eb28825c9a35ab9d04c363931d7c0e67"
+  integrity sha512-kYzDJO5CA9sy+on/s2aIW0411AklfCi8Ck/4QDivOqsMKpStZA2SsR+X27VTggGwpStWaLrjJcDcdDMowtG8MA==
+  dependencies:
+    tslib "^2.4.0"
+
 JSONStream@^1.0.4:
   version "1.3.5"
   resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0"
@@ -1397,6 +4098,14 @@ abab@^2.0.6:
   resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291"
   integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==
 
+accepts@~1.3.5, accepts@~1.3.8:
+  version "1.3.8"
+  resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e"
+  integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==
+  dependencies:
+    mime-types "~2.1.34"
+    negotiator "0.6.3"
+
 acorn-globals@^7.0.0:
   version "7.0.1"
   resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-7.0.1.tgz#0dbf05c44fa7c94332914c02066d5beff62c40c3"
@@ -1405,17 +4114,32 @@ acorn-globals@^7.0.0:
     acorn "^8.1.0"
     acorn-walk "^8.0.2"
 
-acorn-jsx@^5.3.2:
+acorn-import-assertions@^1.7.6:
+  version "1.8.0"
+  resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz#ba2b5939ce62c238db6d93d81c9b111b29b855e9"
+  integrity sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==
+
+acorn-jsx@^5.3.1, acorn-jsx@^5.3.2:
   version "5.3.2"
   resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937"
   integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
 
+acorn-walk@^7.2.0:
+  version "7.2.0"
+  resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc"
+  integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==
+
 acorn-walk@^8.0.2, acorn-walk@^8.1.1, acorn-walk@^8.2.0:
   version "8.2.0"
   resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1"
   integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==
 
-acorn@^8.1.0, acorn@^8.4.1, acorn@^8.7.0, acorn@^8.8.0, acorn@^8.8.1:
+acorn@^7.4.1:
+  version "7.4.1"
+  resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa"
+  integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
+
+acorn@^8.1.0, acorn@^8.4.1, acorn@^8.5.0, acorn@^8.7.0, acorn@^8.7.1, acorn@^8.8.0, acorn@^8.8.1:
   version "8.8.1"
   resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.1.tgz#0a3f9cbecc4ec3bea6f0a80b66ae8dd2da250b73"
   integrity sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==
@@ -1425,6 +4149,16 @@ add-stream@^1.0.0:
   resolved "https://registry.yarnpkg.com/add-stream/-/add-stream-1.0.0.tgz#6a7990437ca736d5e1288db92bd3266d5f5cb2aa"
   integrity sha512-qQLMr+8o0WC4FZGQTcJiKBVC59JylcPSrTtk6usvmIDFUOCKegapy1VHQwRbFMOFyb/inzUVqHs+eMYKDM1YeQ==
 
+address@^1.0.1:
+  version "1.2.2"
+  resolved "https://registry.yarnpkg.com/address/-/address-1.2.2.tgz#2b5248dac5485a6390532c6a517fda2e3faac89e"
+  integrity sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==
+
+agent-base@5:
+  version "5.1.1"
+  resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-5.1.1.tgz#e8fb3f242959db44d63be665db7a8e739537a32c"
+  integrity sha512-TMeqbNl2fMW0nMjTEPOwe3J/PRFP4vqeoNuQMG0HlMrtm5QxKqdvAkZ1pRBQ/ulIyDD5Yq0nJ7YbdD8ey0TO3g==
+
 agent-base@6, agent-base@^6.0.0, agent-base@^6.0.2:
   version "6.0.2"
   resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77"
@@ -1440,7 +4174,26 @@ aggregate-error@^3.0.0:
     clean-stack "^2.0.0"
     indent-string "^4.0.0"
 
-ajv@^6.10.0, ajv@^6.12.4:
+ajv-formats@^2.1.1:
+  version "2.1.1"
+  resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520"
+  integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==
+  dependencies:
+    ajv "^8.0.0"
+
+ajv-keywords@^3.5.2:
+  version "3.5.2"
+  resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d"
+  integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==
+
+ajv-keywords@^5.0.0:
+  version "5.1.0"
+  resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz#69d4d385a4733cdbeab44964a1170a88f87f0e16"
+  integrity sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==
+  dependencies:
+    fast-deep-equal "^3.1.3"
+
+ajv@^6.10.0, ajv@^6.12.4, ajv@^6.12.5:
   version "6.12.6"
   resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
   integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
@@ -1450,7 +4203,7 @@ ajv@^6.10.0, ajv@^6.12.4:
     json-schema-traverse "^0.4.1"
     uri-js "^4.2.2"
 
-ajv@^8.11.0:
+ajv@^8.0.0, ajv@^8.11.0, ajv@^8.8.0:
   version "8.12.0"
   resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1"
   integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==
@@ -1460,7 +4213,7 @@ ajv@^8.11.0:
     require-from-string "^2.0.2"
     uri-js "^4.2.2"
 
-ansi-align@^3.0.1:
+ansi-align@^3.0.0, ansi-align@^3.0.1:
   version "3.0.1"
   resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.1.tgz#0cdf12e111ace773a86e9a1fad1225c43cb19a59"
   integrity sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==
@@ -1481,6 +4234,11 @@ ansi-escapes@^6.0.0:
   dependencies:
     type-fest "^3.0.0"
 
+ansi-html-community@0.0.8, ansi-html-community@^0.0.8:
+  version "0.0.8"
+  resolved "https://registry.yarnpkg.com/ansi-html-community/-/ansi-html-community-0.0.8.tgz#69fbc4d6ccbe383f9736934ae34c3f8290f1bf41"
+  integrity sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==
+
 ansi-regex@^5.0.1:
   version "5.0.1"
   resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304"
@@ -1528,6 +4286,24 @@ anymatch@^3.0.3, anymatch@~3.1.2:
     normalize-path "^3.0.0"
     picomatch "^2.0.4"
 
+app-root-dir@^1.0.2:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/app-root-dir/-/app-root-dir-1.0.2.tgz#38187ec2dea7577fff033ffcb12172692ff6e118"
+  integrity sha512-jlpIfsOoNoafl92Sz//64uQHGSyMrD2vYG5d8o2a4qGvyNCvXur7bzIsWtAC/6flI2RYAp3kv8rsfBtaLm7w0g==
+
+"aproba@^1.0.3 || ^2.0.0":
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc"
+  integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==
+
+are-we-there-yet@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-2.0.0.tgz#372e0e7bd279d8e94c653aaa1f67200884bf3e1c"
+  integrity sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==
+  dependencies:
+    delegates "^1.0.0"
+    readable-stream "^3.6.0"
+
 arg@^4.1.0:
   version "4.1.3"
   resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089"
@@ -1545,6 +4321,13 @@ argparse@^2.0.1:
   resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38"
   integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==
 
+aria-hidden@^1.1.3:
+  version "1.2.2"
+  resolved "https://registry.yarnpkg.com/aria-hidden/-/aria-hidden-1.2.2.tgz#8c4f7cc88d73ca42114106fdf6f47e68d31475b8"
+  integrity sha512-6y/ogyDTk/7YAe91T3E2PR1ALVKyM2QbTio5HwM+N1Q6CMlCKhvClyIjkckBswa0f2xJhjsfzIGa1yVSe1UMVA==
+  dependencies:
+    tslib "^2.0.0"
+
 aria-query@^5.0.0:
   version "5.1.3"
   resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.1.3.tgz#19db27cd101152773631396f7a95a3b58c22c35e"
@@ -1552,6 +4335,11 @@ aria-query@^5.0.0:
   dependencies:
     deep-equal "^2.0.5"
 
+array-flatten@1.1.1:
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2"
+  integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==
+
 array-ify@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/array-ify/-/array-ify-1.0.0.tgz#9e528762b4a9066ad163a6962a364418e9626ece"
@@ -1620,6 +4408,30 @@ arrify@^1.0.1:
   resolved "https://registry.yarnpkg.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d"
   integrity sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==
 
+as-table@^1.0.36:
+  version "1.0.55"
+  resolved "https://registry.yarnpkg.com/as-table/-/as-table-1.0.55.tgz#dc984da3937745de902cea1d45843c01bdbbec4f"
+  integrity sha512-xvsWESUJn0JN421Xb9MQw6AsMHRCUknCe0Wjlxvjud80mU4E6hQf1A6NzQKcYNmYw62MfzEtXc+badstZP3JpQ==
+  dependencies:
+    printable-characters "^1.0.42"
+
+assert@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/assert/-/assert-2.0.0.tgz#95fc1c616d48713510680f2eaf2d10dd22e02d32"
+  integrity sha512-se5Cd+js9dXJnu6Ag2JFc00t+HmHOen+8Q+L7O9zI0PqQXr20uk2J0XQqMxZEeo5U50o8Nvmmx7dZrl+Ufr35A==
+  dependencies:
+    es6-object-assign "^1.1.0"
+    is-nan "^1.2.1"
+    object-is "^1.0.1"
+    util "^0.12.0"
+
+ast-types@0.15.2:
+  version "0.15.2"
+  resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.15.2.tgz#39ae4809393c4b16df751ee563411423e85fb49d"
+  integrity sha512-c27loCv9QkZinsa5ProX751khO9DJl/AcB5c2KNtA6NRvHKS0PgLfcftz72KVq504vB0Gku5s2kUZzDBvQWvHg==
+  dependencies:
+    tslib "^2.0.1"
+
 ast-types@^0.13.2:
   version "0.13.4"
   resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.13.4.tgz#ee0d77b343263965ecc3fb62da16e7222b2b6782"
@@ -1627,11 +4439,30 @@ ast-types@^0.13.2:
   dependencies:
     tslib "^2.0.1"
 
+ast-types@^0.14.2:
+  version "0.14.2"
+  resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.14.2.tgz#600b882df8583e3cd4f2df5fa20fa83759d4bdfd"
+  integrity sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA==
+  dependencies:
+    tslib "^2.0.1"
+
+ast-types@^0.16.1:
+  version "0.16.1"
+  resolved "https://registry.yarnpkg.com/ast-types/-/ast-types-0.16.1.tgz#7a9da1617c9081bc121faafe91711b4c8bb81da2"
+  integrity sha512-6t10qk83GOG8p0vKmaCr8eiilZwO171AvbROMtvvNiwrTly62t+7XkA8RdIIVbpMhCASAsxgAzdRSwh6nw/5Dg==
+  dependencies:
+    tslib "^2.0.1"
+
 astral-regex@^2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31"
   integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==
 
+async-limiter@~1.0.0:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd"
+  integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==
+
 async-retry@1.3.3:
   version "1.3.3"
   resolved "https://registry.yarnpkg.com/async-retry/-/async-retry-1.3.3.tgz#0e7f36c04d8478e7a58bdbed80cedf977785f280"
@@ -1639,6 +4470,11 @@ async-retry@1.3.3:
   dependencies:
     retry "0.13.1"
 
+async@^3.2.3:
+  version "3.2.4"
+  resolved "https://registry.yarnpkg.com/async/-/async-3.2.4.tgz#2d22e00f8cddeb5fde5dd33522b56d1cf569a81c"
+  integrity sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==
+
 asynckit@^0.4.0:
   version "0.4.0"
   resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
@@ -1649,6 +4485,16 @@ available-typed-arrays@^1.0.5:
   resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7"
   integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==
 
+axe-core@^4.2.0:
+  version "4.6.3"
+  resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.6.3.tgz#fc0db6fdb65cc7a80ccf85286d91d64ababa3ece"
+  integrity sha512-/BQzOX780JhsxDnPpH4ZiyrJAzcd8AfzFPkv+89veFSr1rcMjuq2JDCwypKaPeB6ljHp9KjXhPpjgCvQlWYuqg==
+
+babel-core@^7.0.0-bridge.0:
+  version "7.0.0-bridge.0"
+  resolved "https://registry.yarnpkg.com/babel-core/-/babel-core-7.0.0-bridge.0.tgz#95a492ddd90f9b4e9a4a1da14eb335b87b634ece"
+  integrity sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==
+
 babel-jest@^29.3.1:
   version "29.3.1"
   resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.3.1.tgz#05c83e0d128cd48c453eea851482a38782249f44"
@@ -1662,6 +4508,29 @@ babel-jest@^29.3.1:
     graceful-fs "^4.2.9"
     slash "^3.0.0"
 
+babel-loader@^8.3.0:
+  version "8.3.0"
+  resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-8.3.0.tgz#124936e841ba4fe8176786d6ff28add1f134d6a8"
+  integrity sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==
+  dependencies:
+    find-cache-dir "^3.3.1"
+    loader-utils "^2.0.0"
+    make-dir "^3.1.0"
+    schema-utils "^2.6.5"
+
+babel-loader@^9.0.0:
+  version "9.1.2"
+  resolved "https://registry.yarnpkg.com/babel-loader/-/babel-loader-9.1.2.tgz#a16a080de52d08854ee14570469905a5fc00d39c"
+  integrity sha512-mN14niXW43tddohGl8HPu5yfQq70iUThvFL/4QzESA7GcZoC0eVOhvWdQ8+3UlSjaDE9MVtsW9mxDY07W7VpVA==
+  dependencies:
+    find-cache-dir "^3.3.2"
+    schema-utils "^4.0.0"
+
+babel-plugin-add-react-displayname@^0.0.5:
+  version "0.0.5"
+  resolved "https://registry.yarnpkg.com/babel-plugin-add-react-displayname/-/babel-plugin-add-react-displayname-0.0.5.tgz#339d4cddb7b65fd62d1df9db9fe04de134122bd5"
+  integrity sha512-LY3+Y0XVDYcShHHorshrDbt4KFWL4bSeniCtl4SYZbask+Syngk1uMPCeN9+nSiZo6zX5s0RTq/J9Pnaaf/KHw==
+
 babel-plugin-istanbul@^6.1.1:
   version "6.1.1"
   resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73"
@@ -1683,6 +4552,53 @@ babel-plugin-jest-hoist@^29.2.0:
     "@types/babel__core" "^7.1.14"
     "@types/babel__traverse" "^7.0.6"
 
+babel-plugin-macros@^3.1.0:
+  version "3.1.0"
+  resolved "https://registry.yarnpkg.com/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz#9ef6dc74deb934b4db344dc973ee851d148c50c1"
+  integrity sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==
+  dependencies:
+    "@babel/runtime" "^7.12.5"
+    cosmiconfig "^7.0.0"
+    resolve "^1.19.0"
+
+babel-plugin-named-exports-order@^0.0.2:
+  version "0.0.2"
+  resolved "https://registry.yarnpkg.com/babel-plugin-named-exports-order/-/babel-plugin-named-exports-order-0.0.2.tgz#ae14909521cf9606094a2048239d69847540cb09"
+  integrity sha512-OgOYHOLoRK+/mvXU9imKHlG6GkPLYrUCvFXG/CM93R/aNNO8pOOF4aS+S8CCHMDQoNSeiOYEZb/G6RwL95Jktw==
+
+babel-plugin-polyfill-corejs2@^0.3.3:
+  version "0.3.3"
+  resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz#5d1bd3836d0a19e1b84bbf2d9640ccb6f951c122"
+  integrity sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==
+  dependencies:
+    "@babel/compat-data" "^7.17.7"
+    "@babel/helper-define-polyfill-provider" "^0.3.3"
+    semver "^6.1.1"
+
+babel-plugin-polyfill-corejs3@^0.6.0:
+  version "0.6.0"
+  resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz#56ad88237137eade485a71b52f72dbed57c6230a"
+  integrity sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==
+  dependencies:
+    "@babel/helper-define-polyfill-provider" "^0.3.3"
+    core-js-compat "^3.25.1"
+
+babel-plugin-polyfill-regenerator@^0.4.1:
+  version "0.4.1"
+  resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz#390f91c38d90473592ed43351e801a9d3e0fd747"
+  integrity sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==
+  dependencies:
+    "@babel/helper-define-polyfill-provider" "^0.3.3"
+
+babel-plugin-react-docgen@^4.2.1:
+  version "4.2.1"
+  resolved "https://registry.yarnpkg.com/babel-plugin-react-docgen/-/babel-plugin-react-docgen-4.2.1.tgz#7cc8e2f94e8dc057a06e953162f0810e4e72257b"
+  integrity sha512-UQ0NmGHj/HAqi5Bew8WvNfCk8wSsmdgNd8ZdMjBCICtyCJCq9LiqgqvjCYe570/Wg7AQArSq1VQ60Dd/CHN7mQ==
+  dependencies:
+    ast-types "^0.14.2"
+    lodash "^4.17.15"
+    react-docgen "^5.0.0"
+
 babel-preset-current-node-syntax@^1.0.0:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b"
@@ -1724,6 +4640,23 @@ before-after-hook@^2.2.0:
   resolved "https://registry.yarnpkg.com/before-after-hook/-/before-after-hook-2.2.3.tgz#c51e809c81a4e354084422b9b26bad88249c517c"
   integrity sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==
 
+better-opn@^2.1.1:
+  version "2.1.1"
+  resolved "https://registry.yarnpkg.com/better-opn/-/better-opn-2.1.1.tgz#94a55b4695dc79288f31d7d0e5f658320759f7c6"
+  integrity sha512-kIPXZS5qwyKiX/HcRvDYfmBQUa8XP17I0mYZZ0y4UhpYOSvtsLHDYqmomS+Mj20aDvD3knEiQ0ecQy2nhio3yA==
+  dependencies:
+    open "^7.0.3"
+
+big-integer@^1.6.44:
+  version "1.6.51"
+  resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.51.tgz#0df92a5d9880560d3ff2d5fd20245c889d130686"
+  integrity sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg==
+
+big.js@^5.2.2:
+  version "5.2.2"
+  resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328"
+  integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==
+
 binary-extensions@^2.0.0:
   version "2.2.0"
   resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d"
@@ -1738,6 +4671,43 @@ bl@^5.0.0:
     inherits "^2.0.4"
     readable-stream "^3.4.0"
 
+body-parser@1.20.1:
+  version "1.20.1"
+  resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.1.tgz#b1812a8912c195cd371a3ee5e66faa2338a5c668"
+  integrity sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==
+  dependencies:
+    bytes "3.1.2"
+    content-type "~1.0.4"
+    debug "2.6.9"
+    depd "2.0.0"
+    destroy "1.2.0"
+    http-errors "2.0.0"
+    iconv-lite "0.4.24"
+    on-finished "2.4.1"
+    qs "6.11.0"
+    raw-body "2.5.1"
+    type-is "~1.6.18"
+    unpipe "1.0.0"
+
+boolbase@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e"
+  integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==
+
+boxen@^5.1.2:
+  version "5.1.2"
+  resolved "https://registry.yarnpkg.com/boxen/-/boxen-5.1.2.tgz#788cb686fc83c1f486dfa8a40c68fc2b831d2b50"
+  integrity sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==
+  dependencies:
+    ansi-align "^3.0.0"
+    camelcase "^6.2.0"
+    chalk "^4.1.0"
+    cli-boxes "^2.2.1"
+    string-width "^4.2.2"
+    type-fest "^0.20.2"
+    widest-line "^3.1.0"
+    wrap-ansi "^7.0.0"
+
 boxen@^7.0.0:
   version "7.0.1"
   resolved "https://registry.yarnpkg.com/boxen/-/boxen-7.0.1.tgz#cd84db4364a8bae65f1f016ce94a21ec2c832c16"
@@ -1752,6 +4722,13 @@ boxen@^7.0.0:
     widest-line "^4.0.1"
     wrap-ansi "^8.0.1"
 
+bplist-parser@^0.2.0:
+  version "0.2.0"
+  resolved "https://registry.yarnpkg.com/bplist-parser/-/bplist-parser-0.2.0.tgz#43a9d183e5bf9d545200ceac3e712f79ebbe8d0e"
+  integrity sha512-z0M+byMThzQmD9NILRniCUXYsYpjwnlO8N5uCFaCqIOpqRsJCrQL9NK3JsD67CN5a08nF5oIL2bD6loTdHOuKw==
+  dependencies:
+    big-integer "^1.6.44"
+
 brace-expansion@^1.1.7:
   version "1.1.11"
   resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
@@ -1760,6 +4737,13 @@ brace-expansion@^1.1.7:
     balanced-match "^1.0.0"
     concat-map "0.0.1"
 
+brace-expansion@^2.0.1:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae"
+  integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==
+  dependencies:
+    balanced-match "^1.0.0"
+
 braces@^3.0.2, braces@~3.0.2:
   version "3.0.2"
   resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
@@ -1767,7 +4751,12 @@ braces@^3.0.2, braces@~3.0.2:
   dependencies:
     fill-range "^7.0.1"
 
-browserslist@^4.21.3:
+browser-assert@^1.2.1:
+  version "1.2.1"
+  resolved "https://registry.yarnpkg.com/browser-assert/-/browser-assert-1.2.1.tgz#9aaa5a2a8c74685c2ae05bfe46efd606f068c200"
+  integrity sha512-nfulgvOR6S4gt9UKCeGJOuSGBPGiFT6oQ/2UBnvTY/5aQ1PnksW72fhZkM30DzoRRv2WpwZf1vHHEr3mtuXIWQ==
+
+browserslist@^4.14.5, browserslist@^4.21.3, browserslist@^4.21.4:
   version "4.21.4"
   resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.4.tgz#e7496bbc67b9e39dd0f98565feccdcb0d4ff6987"
   integrity sha512-CBHJJdDmgjl3daYjN5Cp5kbTf1mUhZoS+beLklHIvkOWscs83YAhLlF3Wsh/lciQYAcbBJgTOD44VtG31ZM4Hw==
@@ -1784,6 +4773,11 @@ bser@2.1.1:
   dependencies:
     node-int64 "^0.4.0"
 
+buffer-crc32@~0.2.3:
+  version "0.2.13"
+  resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242"
+  integrity sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==
+
 buffer-from@^1.0.0:
   version "1.1.2"
   resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5"
@@ -1797,18 +4791,41 @@ buffer@^6.0.3:
     base64-js "^1.3.1"
     ieee754 "^1.2.1"
 
-bundle-require@^3.1.2:
-  version "3.1.2"
-  resolved "https://registry.yarnpkg.com/bundle-require/-/bundle-require-3.1.2.tgz#1374a7bdcb8b330a7ccc862ccbf7c137cc43ad27"
-  integrity sha512-Of6l6JBAxiyQ5axFxUM6dYeP/W7X2Sozeo/4EYB9sJhL+dqL7TKjg+shwxp6jlu/6ZSERfsYtIpSJ1/x3XkAEA==
+bundle-require@^4.0.0:
+  version "4.0.1"
+  resolved "https://registry.yarnpkg.com/bundle-require/-/bundle-require-4.0.1.tgz#2cc1ad76428043d15e0e7f30990ee3d5404aa2e3"
+  integrity sha512-9NQkRHlNdNpDBGmLpngF3EFDcwodhMUuLz9PaWYciVcQF9SE4LFjM2DB/xV1Li5JiuDMv7ZUWuC3rGbqR0MAXQ==
   dependencies:
-    load-tsconfig "^0.2.0"
+    load-tsconfig "^0.2.3"
+
+bytes@3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048"
+  integrity sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==
 
 bytes@3.1.2:
   version "3.1.2"
   resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5"
   integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==
 
+c8@^7.6.0:
+  version "7.12.0"
+  resolved "https://registry.yarnpkg.com/c8/-/c8-7.12.0.tgz#402db1c1af4af5249153535d1c84ad70c5c96b14"
+  integrity sha512-CtgQrHOkyxr5koX1wEUmN/5cfDa2ckbHRA4Gy5LAL0zaCFtVWJS5++n+w4/sr2GWGerBxgTjpKeDclk/Qk6W/A==
+  dependencies:
+    "@bcoe/v8-coverage" "^0.2.3"
+    "@istanbuljs/schema" "^0.1.3"
+    find-up "^5.0.0"
+    foreground-child "^2.0.0"
+    istanbul-lib-coverage "^3.2.0"
+    istanbul-lib-report "^3.0.0"
+    istanbul-reports "^3.1.4"
+    rimraf "^3.0.2"
+    test-exclude "^6.0.0"
+    v8-to-istanbul "^9.0.0"
+    yargs "^16.2.0"
+    yargs-parser "^20.2.9"
+
 cac@^6.7.12:
   version "6.7.14"
   resolved "https://registry.yarnpkg.com/cac/-/cac-6.7.14.tgz#804e1e6f506ee363cb0e3ccbb09cad5dd9870959"
@@ -1845,6 +4862,14 @@ callsites@^3.0.0:
   resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
   integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
 
+camel-case@^4.1.2:
+  version "4.1.2"
+  resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-4.1.2.tgz#9728072a954f805228225a6deea6b38461e1bd5a"
+  integrity sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==
+  dependencies:
+    pascal-case "^3.1.2"
+    tslib "^2.0.3"
+
 camelcase-keys@^6.2.2:
   version "6.2.2"
   resolved "https://registry.yarnpkg.com/camelcase-keys/-/camelcase-keys-6.2.2.tgz#5e755d6ba51aa223ec7d3d52f25778210f9dc3c0"
@@ -1874,6 +4899,11 @@ caniuse-lite@^1.0.30001400:
   resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001442.tgz#40337f1cf3be7c637b061e2f78582dc1daec0614"
   integrity sha512-239m03Pqy0hwxYPYR5JwOIxRJfLTWtle9FV8zosfV5pHg+/51uD4nxcUlM8+mWWGfwKtt8lJNHnD3cWw9VZ6ow==
 
+case-sensitive-paths-webpack-plugin@^2.4.0:
+  version "2.4.0"
+  resolved "https://registry.yarnpkg.com/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz#db64066c6422eed2e08cc14b986ca43796dbc6d4"
+  integrity sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==
+
 chalk@5.1.2:
   version "5.1.2"
   resolved "https://registry.yarnpkg.com/chalk/-/chalk-5.1.2.tgz#d957f370038b75ac572471e83be4c5ca9f8e8c45"
@@ -1888,7 +4918,15 @@ chalk@^2.0.0:
     escape-string-regexp "^1.0.5"
     supports-color "^5.3.0"
 
-chalk@^4.0.0, chalk@^4.1.0:
+chalk@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4"
+  integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==
+  dependencies:
+    ansi-styles "^4.1.0"
+    supports-color "^7.1.0"
+
+chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.2:
   version "4.1.2"
   resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
   integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
@@ -1916,7 +4954,7 @@ chardet@^0.7.0:
   resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e"
   integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==
 
-chokidar@^3.5.1:
+chokidar@^3.5.1, chokidar@^3.5.3:
   version "3.5.3"
   resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd"
   integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==
@@ -1931,6 +4969,16 @@ chokidar@^3.5.1:
   optionalDependencies:
     fsevents "~2.3.2"
 
+chownr@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/chownr/-/chownr-2.0.0.tgz#15bfbe53d2eab4cf70f18a8cd68ebe5b3cb1dece"
+  integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==
+
+chrome-trace-event@^1.0.2:
+  version "1.0.3"
+  resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac"
+  integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==
+
 ci-info@^3.2.0:
   version "3.7.1"
   resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.7.1.tgz#708a6cdae38915d597afdf3b145f2f8e1ff55f3f"
@@ -1941,11 +4989,23 @@ cjs-module-lexer@^1.0.0:
   resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz#9f84ba3244a512f3a54e5277e8eef4c489864e40"
   integrity sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA==
 
+clean-css@^5.2.2:
+  version "5.3.2"
+  resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-5.3.2.tgz#70ecc7d4d4114921f5d298349ff86a31a9975224"
+  integrity sha512-JVJbM+f3d3Q704rF4bqQ5UUyTtuJ0JRKNbTKVEeujCCBoMdkEi+V+e8oktO9qGQNSvHrFTM6JZRXrUvGR1czww==
+  dependencies:
+    source-map "~0.6.0"
+
 clean-stack@^2.0.0:
   version "2.2.0"
   resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b"
   integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==
 
+cli-boxes@^2.2.1:
+  version "2.2.1"
+  resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-2.2.1.tgz#ddd5035d25094fce220e9cab40a45840a440318f"
+  integrity sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==
+
 cli-boxes@^3.0.0:
   version "3.0.0"
   resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-3.0.0.tgz#71a10c716feeba005e4504f36329ef0b17cf3145"
@@ -1970,6 +5030,15 @@ cli-spinners@^2.6.1:
   resolved "https://registry.yarnpkg.com/cli-spinners/-/cli-spinners-2.7.0.tgz#f815fd30b5f9eaac02db604c7a231ed7cb2f797a"
   integrity sha512-qu3pN8Y3qHNgE2AFweciB1IfMnmZ/fsNTEE+NOFjmGB2F/7rLhnhzppvpCnN4FovtP26k8lHyy9ptEbNwWFLzw==
 
+cli-table3@^0.6.1:
+  version "0.6.3"
+  resolved "https://registry.yarnpkg.com/cli-table3/-/cli-table3-0.6.3.tgz#61ab765aac156b52f222954ffc607a6f01dbeeb2"
+  integrity sha512-w5Jac5SykAeZJKntOxJCrm63Eg5/4dhMWIcuTbo9rpE+brgaSZo0RuNJZeOyMgsUdhDeojvgyQLmjI+K50ZGyg==
+  dependencies:
+    string-width "^4.2.0"
+  optionalDependencies:
+    "@colors/colors" "1.5.0"
+
 cli-truncate@^2.1.0:
   version "2.1.0"
   resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7"
@@ -2009,11 +5078,25 @@ cliui@^8.0.1:
     strip-ansi "^6.0.1"
     wrap-ansi "^7.0.0"
 
+clone-deep@^4.0.1:
+  version "4.0.1"
+  resolved "https://registry.yarnpkg.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387"
+  integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==
+  dependencies:
+    is-plain-object "^2.0.4"
+    kind-of "^6.0.2"
+    shallow-clone "^3.0.0"
+
 clone@^1.0.2:
   version "1.0.4"
   resolved "https://registry.yarnpkg.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e"
   integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==
 
+clsx@1.1.1:
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/clsx/-/clsx-1.1.1.tgz#98b3134f9abbdf23b2663491ace13c5c03a73188"
+  integrity sha512-6/bPho624p3S2pMyvP5kKBPXnI3ufHLObBFCfgx+LkeR5lg2XYy2hqZqUf45ypD8COn2bhgGJSUE+l5dhNBieA==
+
 co@^4.6.0:
   version "4.6.0"
   resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"
@@ -2048,7 +5131,12 @@ color-name@~1.1.4:
   resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
   integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
 
-colorette@^2.0.19:
+color-support@^1.1.2:
+  version "1.1.3"
+  resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2"
+  integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==
+
+colorette@^2.0.10, colorette@^2.0.19:
   version "2.0.19"
   resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.19.tgz#cdf044f47ad41a0f4b56b3a0d5b4e6e1a2d5a798"
   integrity sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==
@@ -2060,16 +5148,41 @@ combined-stream@^1.0.8:
   dependencies:
     delayed-stream "~1.0.0"
 
+commander@^2.19.0, commander@^2.20.0:
+  version "2.20.3"
+  resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
+  integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==
+
 commander@^4.0.0:
   version "4.1.1"
   resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068"
   integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==
 
+commander@^6.2.1:
+  version "6.2.1"
+  resolved "https://registry.yarnpkg.com/commander/-/commander-6.2.1.tgz#0792eb682dfbc325999bb2b84fddddba110ac73c"
+  integrity sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==
+
+commander@^8.3.0:
+  version "8.3.0"
+  resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66"
+  integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==
+
 commander@^9.4.1:
   version "9.4.1"
   resolved "https://registry.yarnpkg.com/commander/-/commander-9.4.1.tgz#d1dd8f2ce6faf93147295c0df13c7c21141cfbdd"
   integrity sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw==
 
+common-path-prefix@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/common-path-prefix/-/common-path-prefix-3.0.0.tgz#7d007a7e07c58c4b4d5f433131a19141b29f11e0"
+  integrity sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==
+
+commondir@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
+  integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==
+
 compare-func@^2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/compare-func/-/compare-func-2.0.0.tgz#fb65e75edbddfd2e568554e8b5b05fff7a51fcb3"
@@ -2078,11 +5191,41 @@ compare-func@^2.0.0:
     array-ify "^1.0.0"
     dot-prop "^5.1.0"
 
+compressible@~2.0.16:
+  version "2.0.18"
+  resolved "https://registry.yarnpkg.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba"
+  integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==
+  dependencies:
+    mime-db ">= 1.43.0 < 2"
+
+compression@^1.7.4:
+  version "1.7.4"
+  resolved "https://registry.yarnpkg.com/compression/-/compression-1.7.4.tgz#95523eff170ca57c29a0ca41e6fe131f41e5bb8f"
+  integrity sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==
+  dependencies:
+    accepts "~1.3.5"
+    bytes "3.0.0"
+    compressible "~2.0.16"
+    debug "2.6.9"
+    on-headers "~1.0.2"
+    safe-buffer "5.1.2"
+    vary "~1.1.2"
+
 concat-map@0.0.1:
   version "0.0.1"
   resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
   integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==
 
+concat-stream@^1.6.2:
+  version "1.6.2"
+  resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34"
+  integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==
+  dependencies:
+    buffer-from "^1.0.0"
+    inherits "^2.0.3"
+    readable-stream "^2.2.2"
+    typedarray "^0.0.6"
+
 concat-stream@^2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-2.0.0.tgz#414cf5af790a48c60ab9be4527d56d5e41133cb1"
@@ -2112,6 +5255,23 @@ configstore@^6.0.0:
     write-file-atomic "^3.0.3"
     xdg-basedir "^5.0.1"
 
+console-control-strings@^1.0.0, console-control-strings@^1.1.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e"
+  integrity sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==
+
+content-disposition@0.5.4:
+  version "0.5.4"
+  resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe"
+  integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==
+  dependencies:
+    safe-buffer "5.2.1"
+
+content-type@~1.0.4:
+  version "1.0.4"
+  resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b"
+  integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==
+
 conventional-changelog-angular@^5.0.11, conventional-changelog-angular@^5.0.12:
   version "5.0.13"
   resolved "https://registry.yarnpkg.com/conventional-changelog-angular/-/conventional-changelog-angular-5.0.13.tgz#896885d63b914a70d4934b59d2fe7bde1832b28c"
@@ -2279,7 +5439,7 @@ conventional-recommended-bump@^6.1.0:
     meow "^8.0.0"
     q "^1.5.1"
 
-convert-source-map@^1.6.0, convert-source-map@^1.7.0:
+convert-source-map@^1.5.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0:
   version "1.9.0"
   resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f"
   integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==
@@ -2289,6 +5449,35 @@ convert-source-map@^2.0.0:
   resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a"
   integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==
 
+cookie-signature@1.0.6:
+  version "1.0.6"
+  resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c"
+  integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==
+
+cookie@0.5.0:
+  version "0.5.0"
+  resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b"
+  integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==
+
+copy-anything@^3.0.2:
+  version "3.0.3"
+  resolved "https://registry.yarnpkg.com/copy-anything/-/copy-anything-3.0.3.tgz#206767156f08da0e02efd392f71abcdf79643559"
+  integrity sha512-fpW2W/BqEzqPp29QS+MwwfisHCQZtiduTe/m8idFo0xbti9fIZ2WVhAsCv4ggFVH3AgCkVdpoOCtQC6gBrdhjw==
+  dependencies:
+    is-what "^4.1.8"
+
+core-js-compat@^3.25.1:
+  version "3.27.2"
+  resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.27.2.tgz#607c50ad6db8fd8326af0b2883ebb987be3786da"
+  integrity sha512-welaYuF7ZtbYKGrIy7y3eb40d37rG1FvzEOfe7hSLd2iD6duMDqUhRfSvCGyC46HhR6Y8JXXdZ2lnRUMkPBpvg==
+  dependencies:
+    browserslist "^4.21.4"
+
+core-js-pure@^3.23.3:
+  version "3.27.2"
+  resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.27.2.tgz#47e9cc96c639eefc910da03c3ece26c5067c7553"
+  integrity sha512-Cf2jqAbXgWH3VVzjyaaFkY1EBazxugUepGymDoeteyYr9ByX51kD2jdHZlsEF/xnJMyN3Prua7mQuzwMg6Zc9A==
+
 core-util-is@~1.0.0:
   version "1.0.3"
   resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85"
@@ -2309,12 +5498,23 @@ cosmiconfig@8.0.0, cosmiconfig@^8.0.0:
     parse-json "^5.0.0"
     path-type "^4.0.0"
 
+cosmiconfig@^7.0.0, cosmiconfig@^7.0.1:
+  version "7.1.0"
+  resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.1.0.tgz#1443b9afa596b670082ea46cbd8f6a62b84635f6"
+  integrity sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==
+  dependencies:
+    "@types/parse-json" "^4.0.0"
+    import-fresh "^3.2.1"
+    parse-json "^5.0.0"
+    path-type "^4.0.0"
+    yaml "^1.10.0"
+
 create-require@^1.1.0:
   version "1.1.1"
   resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333"
   integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==
 
-cross-spawn@^7.0.2, cross-spawn@^7.0.3:
+cross-spawn@^7.0.0, cross-spawn@^7.0.2, cross-spawn@^7.0.3:
   version "7.0.3"
   resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
   integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
@@ -2323,6 +5523,11 @@ cross-spawn@^7.0.2, cross-spawn@^7.0.3:
     shebang-command "^2.0.0"
     which "^2.0.1"
 
+crypto-random-string@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5"
+  integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==
+
 crypto-random-string@^4.0.0:
   version "4.0.0"
   resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-4.0.0.tgz#5a3cc53d7dd86183df5da0312816ceeeb5bb1fc2"
@@ -2330,6 +5535,46 @@ crypto-random-string@^4.0.0:
   dependencies:
     type-fest "^1.0.1"
 
+css-loader@^6.7.1:
+  version "6.7.3"
+  resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.7.3.tgz#1e8799f3ccc5874fdd55461af51137fcc5befbcd"
+  integrity sha512-qhOH1KlBMnZP8FzRO6YCH9UHXQhVMcEGLyNdb7Hv2cpcmJbW0YrddO+tG1ab5nT41KpHIYGsbeHqxB9xPu1pKQ==
+  dependencies:
+    icss-utils "^5.1.0"
+    postcss "^8.4.19"
+    postcss-modules-extract-imports "^3.0.0"
+    postcss-modules-local-by-default "^4.0.0"
+    postcss-modules-scope "^3.0.0"
+    postcss-modules-values "^4.0.0"
+    postcss-value-parser "^4.2.0"
+    semver "^7.3.8"
+
+css-select@^4.1.3:
+  version "4.3.0"
+  resolved "https://registry.yarnpkg.com/css-select/-/css-select-4.3.0.tgz#db7129b2846662fd8628cfc496abb2b59e41529b"
+  integrity sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==
+  dependencies:
+    boolbase "^1.0.0"
+    css-what "^6.0.1"
+    domhandler "^4.3.1"
+    domutils "^2.8.0"
+    nth-check "^2.0.1"
+
+css-what@^6.0.1:
+  version "6.1.0"
+  resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4"
+  integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==
+
+css.escape@^1.5.1:
+  version "1.5.1"
+  resolved "https://registry.yarnpkg.com/css.escape/-/css.escape-1.5.1.tgz#42e27d4fa04ae32f931a4b4d4191fa9cddee97cb"
+  integrity sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg==
+
+cssesc@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee"
+  integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==
+
 cssom@^0.5.0:
   version "0.5.0"
   resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.5.0.tgz#d254fa92cd8b6fbd83811b9fbaed34663cc17c36"
@@ -2347,6 +5592,11 @@ cssstyle@^2.3.0:
   dependencies:
     cssom "~0.3.6"
 
+csstype@3.0.9:
+  version "3.0.9"
+  resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.9.tgz#6410af31b26bd0520933d02cbc64fce9ce3fbf0b"
+  integrity sha512-rpw6JPxK6Rfg1zLOYCSwle2GFOOsnjmDYDaBwEcwoOg4qlsIVCN789VkBZDJAGi4T07gI4YSutR43t9Zz4Lzuw==
+
 csstype@^3.0.2:
   version "3.1.1"
   resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.1.tgz#841b532c45c758ee546a11d5bd7b7b473c8c30b9"
@@ -2362,6 +5612,11 @@ data-uri-to-buffer@3:
   resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-3.0.1.tgz#594b8973938c5bc2c33046535785341abc4f3636"
   integrity sha512-WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og==
 
+data-uri-to-buffer@^2.0.0:
+  version "2.0.2"
+  resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-2.0.2.tgz#d296973d5a4897a5dbe31716d118211921f04770"
+  integrity sha512-ND9qDTLc6diwj+Xe5cdAgVTbLVdXbtxTJRXRhli8Mowuaan+0EJOtdqJ0QCHNSSPyoXGx9HX2/VMnKeC34AChA==
+
 data-uri-to-buffer@^4.0.0:
   version "4.0.1"
   resolved "https://registry.yarnpkg.com/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz#d8feb2b2881e6a4f58c2e08acfd0e2834e26222e"
@@ -2381,6 +5636,13 @@ dateformat@^3.0.0:
   resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae"
   integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==
 
+debug@2.6.9, debug@^2.6.9:
+  version "2.6.9"
+  resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
+  integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
+  dependencies:
+    ms "2.0.0"
+
 debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4:
   version "4.3.4"
   resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
@@ -2388,13 +5650,6 @@ debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4:
   dependencies:
     ms "2.1.2"
 
-debug@^2.6.9:
-  version "2.6.9"
-  resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
-  integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
-  dependencies:
-    ms "2.0.0"
-
 debug@^3.2.7:
   version "3.2.7"
   resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a"
@@ -2470,6 +5725,14 @@ deepmerge@^4.2.2:
   resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955"
   integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==
 
+default-browser-id@3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/default-browser-id/-/default-browser-id-3.0.0.tgz#bee7bbbef1f4e75d31f98f4d3f1556a14cea790c"
+  integrity sha512-OZ1y3y0SqSICtE8DE4S8YOE9UZOJ8wO16fKWVP5J1Qz42kV9jcnMVFrEE/noXb/ss3Q4pZIH79kxofzyNNtUNA==
+  dependencies:
+    bplist-parser "^0.2.0"
+    untildify "^4.0.0"
+
 defaults@^1.0.3:
   version "1.0.4"
   resolved "https://registry.yarnpkg.com/defaults/-/defaults-1.0.4.tgz#b0b02062c1e2aa62ff5d9528f0f98baa90978d7a"
@@ -2495,6 +5758,11 @@ define-properties@^1.1.3, define-properties@^1.1.4:
     has-property-descriptors "^1.0.0"
     object-keys "^1.1.1"
 
+defu@^6.1.1:
+  version "6.1.2"
+  resolved "https://registry.yarnpkg.com/defu/-/defu-6.1.2.tgz#1217cba167410a1765ba93893c6dbac9ed9d9e5c"
+  integrity sha512-+uO4+qr7msjNNWKYPHqN/3+Dx3NFkmIzayk2L1MyZQlvgZb/J1A0fo410dpKrN2SnqFjt8n4JL8fDJE0wIgjFQ==
+
 degenerator@^3.0.2:
   version "3.0.2"
   resolved "https://registry.yarnpkg.com/degenerator/-/degenerator-3.0.2.tgz#6a61fcc42a702d6e50ff6023fe17bff435f68235"
@@ -2505,11 +5773,30 @@ degenerator@^3.0.2:
     esprima "^4.0.0"
     vm2 "^3.9.8"
 
+del@^6.0.0:
+  version "6.1.1"
+  resolved "https://registry.yarnpkg.com/del/-/del-6.1.1.tgz#3b70314f1ec0aa325c6b14eb36b95786671edb7a"
+  integrity sha512-ua8BhapfP0JUJKC/zV9yHHDW/rDoDxP4Zhn3AkA6/xT6gY7jYXJiaeyBZznYVujhZZET+UgcbZiQ7sN3WqcImg==
+  dependencies:
+    globby "^11.0.1"
+    graceful-fs "^4.2.4"
+    is-glob "^4.0.1"
+    is-path-cwd "^2.2.0"
+    is-path-inside "^3.0.2"
+    p-map "^4.0.0"
+    rimraf "^3.0.2"
+    slash "^3.0.0"
+
 delayed-stream@~1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
   integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==
 
+delegates@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
+  integrity sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==
+
 depd@2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df"
@@ -2520,11 +5807,41 @@ deprecation@^2.0.0, deprecation@^2.3.1:
   resolved "https://registry.yarnpkg.com/deprecation/-/deprecation-2.3.1.tgz#6368cbdb40abf3373b525ac87e4a260c3a700919"
   integrity sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==
 
+dequal@^2.0.2:
+  version "2.0.3"
+  resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be"
+  integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==
+
+destroy@1.2.0:
+  version "1.2.0"
+  resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015"
+  integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==
+
+detect-indent@^6.1.0:
+  version "6.1.0"
+  resolved "https://registry.yarnpkg.com/detect-indent/-/detect-indent-6.1.0.tgz#592485ebbbf6b3b1ab2be175c8393d04ca0d57e6"
+  integrity sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==
+
 detect-newline@^3.0.0:
   version "3.1.0"
   resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651"
   integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==
 
+detect-package-manager@^2.0.1:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/detect-package-manager/-/detect-package-manager-2.0.1.tgz#6b182e3ae5e1826752bfef1de9a7b828cffa50d8"
+  integrity sha512-j/lJHyoLlWi6G1LDdLgvUtz60Zo5GEj+sVYtTVXnYLDPuzgC3llMxonXym9zIwhhUII8vjdw0LXxavpLqTbl1A==
+  dependencies:
+    execa "^5.1.1"
+
+detect-port@^1.3.0:
+  version "1.5.1"
+  resolved "https://registry.yarnpkg.com/detect-port/-/detect-port-1.5.1.tgz#451ca9b6eaf20451acb0799b8ab40dff7718727b"
+  integrity sha512-aBzdj76lueB6uUst5iAs7+0H/oOjqI5D16XUWxlWMIMROhcM0rfsNVk93zTngq1dDNpoXRr++Sus7ETAExppAQ==
+  dependencies:
+    address "^1.0.1"
+    debug "4"
+
 diff-sequences@^29.3.1:
   version "29.3.1"
   resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.3.1.tgz#104b5b95fe725932421a9c6e5b4bef84c3f2249e"
@@ -2556,11 +5873,37 @@ doctrine@^3.0.0:
   dependencies:
     esutils "^2.0.2"
 
+dom-accessibility-api@^0.5.6:
+  version "0.5.16"
+  resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.16.tgz#5a7429e6066eb3664d911e33fb0e45de8eb08453"
+  integrity sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==
+
 dom-accessibility-api@^0.5.9:
   version "0.5.15"
   resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.15.tgz#357e74338704f36fada8b2e01a4bfc11ef436ac9"
   integrity sha512-8o+oVqLQZoruQPYy3uAAQtc6YbtSiRq5aPJBhJ82YTJRHvI6ofhYAkC81WmjFTnfUbqg6T3aCglIpU9p/5e7Cw==
 
+dom-converter@^0.2.0:
+  version "0.2.0"
+  resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768"
+  integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==
+  dependencies:
+    utila "~0.4"
+
+dom-serializer@^1.0.1:
+  version "1.4.1"
+  resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-1.4.1.tgz#de5d41b1aea290215dc45a6dae8adcf1d32e2d30"
+  integrity sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==
+  dependencies:
+    domelementtype "^2.0.1"
+    domhandler "^4.2.0"
+    entities "^2.0.0"
+
+domelementtype@^2.0.1, domelementtype@^2.2.0:
+  version "2.3.0"
+  resolved "https://registry.yarnpkg.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d"
+  integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==
+
 domexception@^4.0.0:
   version "4.0.0"
   resolved "https://registry.yarnpkg.com/domexception/-/domexception-4.0.0.tgz#4ad1be56ccadc86fc76d033353999a8037d03673"
@@ -2568,6 +5911,30 @@ domexception@^4.0.0:
   dependencies:
     webidl-conversions "^7.0.0"
 
+domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.3.1:
+  version "4.3.1"
+  resolved "https://registry.yarnpkg.com/domhandler/-/domhandler-4.3.1.tgz#8d792033416f59d68bc03a5aa7b018c1ca89279c"
+  integrity sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==
+  dependencies:
+    domelementtype "^2.2.0"
+
+domutils@^2.5.2, domutils@^2.8.0:
+  version "2.8.0"
+  resolved "https://registry.yarnpkg.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135"
+  integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==
+  dependencies:
+    dom-serializer "^1.0.1"
+    domelementtype "^2.2.0"
+    domhandler "^4.2.0"
+
+dot-case@^3.0.4:
+  version "3.0.4"
+  resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.4.tgz#9b2b670d00a431667a8a75ba29cd1b98809ce751"
+  integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==
+  dependencies:
+    no-case "^3.0.4"
+    tslib "^2.0.3"
+
 dot-prop@^5.1.0:
   version "5.3.0"
   resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88"
@@ -2582,11 +5949,33 @@ dot-prop@^6.0.1:
   dependencies:
     is-obj "^2.0.0"
 
+dotenv-expand@^10.0.0:
+  version "10.0.0"
+  resolved "https://registry.yarnpkg.com/dotenv-expand/-/dotenv-expand-10.0.0.tgz#12605d00fb0af6d0a592e6558585784032e4ef37"
+  integrity sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==
+
+dotenv@^16.0.0:
+  version "16.0.3"
+  resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.0.3.tgz#115aec42bac5053db3c456db30cc243a5a836a07"
+  integrity sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==
+
 eastasianwidth@^0.2.0:
   version "0.2.0"
   resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb"
   integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==
 
+ee-first@1.1.1:
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
+  integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==
+
+ejs@^3.1.8:
+  version "3.1.8"
+  resolved "https://registry.yarnpkg.com/ejs/-/ejs-3.1.8.tgz#758d32910c78047585c7ef1f92f9ee041c1c190b"
+  integrity sha512-/sXZeMlhS0ArkfX2Aw780gJzXSMPnKjtspYZv+f3NiKLlubezAHDU5+9xz6gd3/NhG3txQCo6xlglmTS+oTGEQ==
+  dependencies:
+    jake "^10.8.5"
+
 electron-to-chromium@^1.4.251:
   version "1.4.284"
   resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.284.tgz#61046d1e4cab3a25238f6bf7413795270f125592"
@@ -2607,6 +5996,25 @@ emoji-regex@^9.2.2:
   resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72"
   integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==
 
+emojis-list@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78"
+  integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==
+
+encodeurl@~1.0.2:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"
+  integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==
+
+endent@^2.0.1:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/endent/-/endent-2.1.0.tgz#5aaba698fb569e5e18e69e1ff7a28ff35373cd88"
+  integrity sha512-r8VyPX7XL8U01Xgnb1CjZ3XV+z90cXIJ9JPE/R9SEC9vpw2P6CfsRPJmp20DppC5N7ZAMCmjYkJIa744Iyg96w==
+  dependencies:
+    dedent "^0.7.0"
+    fast-json-parse "^1.0.3"
+    objectorarray "^1.0.5"
+
 enhanced-resolve@^5.10.0:
   version "5.12.0"
   resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz#300e1c90228f5b570c4d35babf263f6da7155634"
@@ -2615,11 +6023,21 @@ enhanced-resolve@^5.10.0:
     graceful-fs "^4.2.4"
     tapable "^2.2.0"
 
+entities@^2.0.0:
+  version "2.2.0"
+  resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55"
+  integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==
+
 entities@^4.4.0:
   version "4.4.0"
   resolved "https://registry.yarnpkg.com/entities/-/entities-4.4.0.tgz#97bdaba170339446495e653cfd2db78962900174"
   integrity sha512-oYp7156SP8LkeGD0GF85ad1X9Ai79WtRsZ2gxJqtBuzH+98YUV6jkHEKlZkMbcrjJjIVJNIDP/3WL9wQkoPbWA==
 
+envinfo@^7.7.3:
+  version "7.8.1"
+  resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.8.1.tgz#06377e3e5f4d379fea7ac592d5ad8927e0c4d475"
+  integrity sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==
+
 error-ex@^1.3.1:
   version "1.3.2"
   resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"
@@ -2627,6 +6045,13 @@ error-ex@^1.3.1:
   dependencies:
     is-arrayish "^0.2.1"
 
+error-stack-parser@^2.0.6:
+  version "2.1.4"
+  resolved "https://registry.yarnpkg.com/error-stack-parser/-/error-stack-parser-2.1.4.tgz#229cb01cdbfa84440bfa91876285b94680188286"
+  integrity sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==
+  dependencies:
+    stackframe "^1.3.4"
+
 es-abstract@^1.19.0, es-abstract@^1.20.4:
   version "1.21.0"
   resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.21.0.tgz#dd1b69ea5bfc3c27199c9753efd4de015102c252"
@@ -2699,6 +6124,11 @@ es-get-iterator@^1.1.2:
     is-string "^1.0.5"
     isarray "^2.0.5"
 
+es-module-lexer@^0.9.0:
+  version "0.9.3"
+  resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.9.3.tgz#6f13db00cc38417137daf74366f535c8eb438f19"
+  integrity sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==
+
 es-set-tostringtag@^2.0.0:
   version "2.0.1"
   resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz#338d502f6f674301d710b80c8592de8a15f09cd8"
@@ -2724,85 +6154,15 @@ es-to-primitive@^1.2.1:
     is-date-object "^1.0.1"
     is-symbol "^1.0.2"
 
-esbuild-android-64@0.15.18:
-  version "0.15.18"
-  resolved "https://registry.yarnpkg.com/esbuild-android-64/-/esbuild-android-64-0.15.18.tgz#20a7ae1416c8eaade917fb2453c1259302c637a5"
-  integrity sha512-wnpt3OXRhcjfIDSZu9bnzT4/TNTDsOUvip0foZOUBG7QbSt//w3QV4FInVJxNhKc/ErhUxc5z4QjHtMi7/TbgA==
-
-esbuild-android-arm64@0.15.18:
-  version "0.15.18"
-  resolved "https://registry.yarnpkg.com/esbuild-android-arm64/-/esbuild-android-arm64-0.15.18.tgz#9cc0ec60581d6ad267568f29cf4895ffdd9f2f04"
-  integrity sha512-G4xu89B8FCzav9XU8EjsXacCKSG2FT7wW9J6hOc18soEHJdtWu03L3TQDGf0geNxfLTtxENKBzMSq9LlbjS8OQ==
-
-esbuild-darwin-64@0.15.18:
-  version "0.15.18"
-  resolved "https://registry.yarnpkg.com/esbuild-darwin-64/-/esbuild-darwin-64-0.15.18.tgz#428e1730ea819d500808f220fbc5207aea6d4410"
-  integrity sha512-2WAvs95uPnVJPuYKP0Eqx+Dl/jaYseZEUUT1sjg97TJa4oBtbAKnPnl3b5M9l51/nbx7+QAEtuummJZW0sBEmg==
-
-esbuild-darwin-arm64@0.15.18:
-  version "0.15.18"
-  resolved "https://registry.yarnpkg.com/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.15.18.tgz#b6dfc7799115a2917f35970bfbc93ae50256b337"
-  integrity sha512-tKPSxcTJ5OmNb1btVikATJ8NftlyNlc8BVNtyT/UAr62JFOhwHlnoPrhYWz09akBLHI9nElFVfWSTSRsrZiDUA==
-
-esbuild-freebsd-64@0.15.18:
-  version "0.15.18"
-  resolved "https://registry.yarnpkg.com/esbuild-freebsd-64/-/esbuild-freebsd-64-0.15.18.tgz#4e190d9c2d1e67164619ae30a438be87d5eedaf2"
-  integrity sha512-TT3uBUxkteAjR1QbsmvSsjpKjOX6UkCstr8nMr+q7zi3NuZ1oIpa8U41Y8I8dJH2fJgdC3Dj3CXO5biLQpfdZA==
-
-esbuild-freebsd-arm64@0.15.18:
-  version "0.15.18"
-  resolved "https://registry.yarnpkg.com/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.15.18.tgz#18a4c0344ee23bd5a6d06d18c76e2fd6d3f91635"
-  integrity sha512-R/oVr+X3Tkh+S0+tL41wRMbdWtpWB8hEAMsOXDumSSa6qJR89U0S/PpLXrGF7Wk/JykfpWNokERUpCeHDl47wA==
-
-esbuild-linux-32@0.15.18:
-  version "0.15.18"
-  resolved "https://registry.yarnpkg.com/esbuild-linux-32/-/esbuild-linux-32-0.15.18.tgz#9a329731ee079b12262b793fb84eea762e82e0ce"
-  integrity sha512-lphF3HiCSYtaa9p1DtXndiQEeQDKPl9eN/XNoBf2amEghugNuqXNZA/ZovthNE2aa4EN43WroO0B85xVSjYkbg==
-
-esbuild-linux-64@0.15.18:
-  version "0.15.18"
-  resolved "https://registry.yarnpkg.com/esbuild-linux-64/-/esbuild-linux-64-0.15.18.tgz#532738075397b994467b514e524aeb520c191b6c"
-  integrity sha512-hNSeP97IviD7oxLKFuii5sDPJ+QHeiFTFLoLm7NZQligur8poNOWGIgpQ7Qf8Balb69hptMZzyOBIPtY09GZYw==
-
-esbuild-linux-arm64@0.15.18:
-  version "0.15.18"
-  resolved "https://registry.yarnpkg.com/esbuild-linux-arm64/-/esbuild-linux-arm64-0.15.18.tgz#5372e7993ac2da8f06b2ba313710d722b7a86e5d"
-  integrity sha512-54qr8kg/6ilcxd+0V3h9rjT4qmjc0CccMVWrjOEM/pEcUzt8X62HfBSeZfT2ECpM7104mk4yfQXkosY8Quptug==
-
-esbuild-linux-arm@0.15.18:
-  version "0.15.18"
-  resolved "https://registry.yarnpkg.com/esbuild-linux-arm/-/esbuild-linux-arm-0.15.18.tgz#e734aaf259a2e3d109d4886c9e81ec0f2fd9a9cc"
-  integrity sha512-UH779gstRblS4aoS2qpMl3wjg7U0j+ygu3GjIeTonCcN79ZvpPee12Qun3vcdxX+37O5LFxz39XeW2I9bybMVA==
-
-esbuild-linux-mips64le@0.15.18:
-  version "0.15.18"
-  resolved "https://registry.yarnpkg.com/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.15.18.tgz#c0487c14a9371a84eb08fab0e1d7b045a77105eb"
-  integrity sha512-Mk6Ppwzzz3YbMl/ZZL2P0q1tnYqh/trYZ1VfNP47C31yT0K8t9s7Z077QrDA/guU60tGNp2GOwCQnp+DYv7bxQ==
-
-esbuild-linux-ppc64le@0.15.18:
-  version "0.15.18"
-  resolved "https://registry.yarnpkg.com/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.15.18.tgz#af048ad94eed0ce32f6d5a873f7abe9115012507"
-  integrity sha512-b0XkN4pL9WUulPTa/VKHx2wLCgvIAbgwABGnKMY19WhKZPT+8BxhZdqz6EgkqCLld7X5qiCY2F/bfpUUlnFZ9w==
-
-esbuild-linux-riscv64@0.15.18:
-  version "0.15.18"
-  resolved "https://registry.yarnpkg.com/esbuild-linux-riscv64/-/esbuild-linux-riscv64-0.15.18.tgz#423ed4e5927bd77f842bd566972178f424d455e6"
-  integrity sha512-ba2COaoF5wL6VLZWn04k+ACZjZ6NYniMSQStodFKH/Pu6RxzQqzsmjR1t9QC89VYJxBeyVPTaHuBMCejl3O/xg==
-
-esbuild-linux-s390x@0.15.18:
-  version "0.15.18"
-  resolved "https://registry.yarnpkg.com/esbuild-linux-s390x/-/esbuild-linux-s390x-0.15.18.tgz#21d21eaa962a183bfb76312e5a01cc5ae48ce8eb"
-  integrity sha512-VbpGuXEl5FCs1wDVp93O8UIzl3ZrglgnSQ+Hu79g7hZu6te6/YHgVJxCM2SqfIila0J3k0csfnf8VD2W7u2kzQ==
-
-esbuild-netbsd-64@0.15.18:
-  version "0.15.18"
-  resolved "https://registry.yarnpkg.com/esbuild-netbsd-64/-/esbuild-netbsd-64-0.15.18.tgz#ae75682f60d08560b1fe9482bfe0173e5110b998"
-  integrity sha512-98ukeCdvdX7wr1vUYQzKo4kQ0N2p27H7I11maINv73fVEXt2kyh4K4m9f35U1K43Xc2QGXlzAw0K9yoU7JUjOg==
-
-esbuild-openbsd-64@0.15.18:
-  version "0.15.18"
-  resolved "https://registry.yarnpkg.com/esbuild-openbsd-64/-/esbuild-openbsd-64-0.15.18.tgz#79591a90aa3b03e4863f93beec0d2bab2853d0a8"
-  integrity sha512-yK5NCcH31Uae076AyQAXeJzt/vxIo9+omZRKj1pauhk3ITuADzuOx5N2fdHrAKPxN+zH3w96uFKlY7yIn490xQ==
+es6-object-assign@^1.1.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/es6-object-assign/-/es6-object-assign-1.1.0.tgz#c2c3582656247c39ea107cb1e6652b6f9f24523c"
+  integrity sha512-MEl9uirslVwqQU369iHNWZXsI8yaZYGg/D65aOgZkeyFJwHYSxilf7rQzXKI7DdDuBPrBXbfk3sl9hJhmd5AUw==
+
+esbuild-plugin-alias@^0.2.1:
+  version "0.2.1"
+  resolved "https://registry.yarnpkg.com/esbuild-plugin-alias/-/esbuild-plugin-alias-0.2.1.tgz#45a86cb941e20e7c2bc68a2bea53562172494fcb"
+  integrity sha512-jyfL/pwPqaFXyKnj8lP8iLk6Z0m099uXR45aSN8Av1XD4vhvQutxxPzgA2bTcAwQpa1zCXDcWOlhFgyP3GKqhQ==
 
 esbuild-plugin-replace@^1.3.0:
   version "1.3.0"
@@ -2811,53 +6171,96 @@ esbuild-plugin-replace@^1.3.0:
   dependencies:
     magic-string "^0.25.7"
 
-esbuild-sunos-64@0.15.18:
-  version "0.15.18"
-  resolved "https://registry.yarnpkg.com/esbuild-sunos-64/-/esbuild-sunos-64-0.15.18.tgz#fd528aa5da5374b7e1e93d36ef9b07c3dfed2971"
-  integrity sha512-On22LLFlBeLNj/YF3FT+cXcyKPEI263nflYlAhz5crxtp3yRG1Ugfr7ITyxmCmjm4vbN/dGrb/B7w7U8yJR9yw==
-
-esbuild-windows-32@0.15.18:
-  version "0.15.18"
-  resolved "https://registry.yarnpkg.com/esbuild-windows-32/-/esbuild-windows-32-0.15.18.tgz#0e92b66ecdf5435a76813c4bc5ccda0696f4efc3"
-  integrity sha512-o+eyLu2MjVny/nt+E0uPnBxYuJHBvho8vWsC2lV61A7wwTWC3jkN2w36jtA+yv1UgYkHRihPuQsL23hsCYGcOQ==
-
-esbuild-windows-64@0.15.18:
-  version "0.15.18"
-  resolved "https://registry.yarnpkg.com/esbuild-windows-64/-/esbuild-windows-64-0.15.18.tgz#0fc761d785414284fc408e7914226d33f82420d0"
-  integrity sha512-qinug1iTTaIIrCorAUjR0fcBk24fjzEedFYhhispP8Oc7SFvs+XeW3YpAKiKp8dRpizl4YYAhxMjlftAMJiaUw==
-
-esbuild-windows-arm64@0.15.18:
-  version "0.15.18"
-  resolved "https://registry.yarnpkg.com/esbuild-windows-arm64/-/esbuild-windows-arm64-0.15.18.tgz#5b5bdc56d341d0922ee94965c89ee120a6a86eb7"
-  integrity sha512-q9bsYzegpZcLziq0zgUi5KqGVtfhjxGbnksaBFYmWLxeV/S1fK4OLdq2DFYnXcLMjlZw2L0jLsk1eGoB522WXQ==
-
-esbuild@^0.15.1:
-  version "0.15.18"
-  resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.15.18.tgz#ea894adaf3fbc036d32320a00d4d6e4978a2f36d"
-  integrity sha512-x/R72SmW3sSFRm5zrrIjAhCeQSAWoni3CmHEqfQrZIQTM3lVCdehdwuIqaOtfC2slvpdlLa62GYoN8SxT23m6Q==
+esbuild-register@^3.3.3:
+  version "3.4.2"
+  resolved "https://registry.yarnpkg.com/esbuild-register/-/esbuild-register-3.4.2.tgz#1e39ee0a77e8f320a9790e68c64c3559620b9175"
+  integrity sha512-kG/XyTDyz6+YDuyfB9ZoSIOOmgyFCH+xPRtsCa8W85HLRV5Csp+o3jWVbOSHgSLfyLc5DmP+KFDNwty4mEjC+Q==
+  dependencies:
+    debug "^4.3.4"
+
+esbuild@^0.16.4:
+  version "0.16.17"
+  resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.16.17.tgz#fc2c3914c57ee750635fee71b89f615f25065259"
+  integrity sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg==
+  optionalDependencies:
+    "@esbuild/android-arm" "0.16.17"
+    "@esbuild/android-arm64" "0.16.17"
+    "@esbuild/android-x64" "0.16.17"
+    "@esbuild/darwin-arm64" "0.16.17"
+    "@esbuild/darwin-x64" "0.16.17"
+    "@esbuild/freebsd-arm64" "0.16.17"
+    "@esbuild/freebsd-x64" "0.16.17"
+    "@esbuild/linux-arm" "0.16.17"
+    "@esbuild/linux-arm64" "0.16.17"
+    "@esbuild/linux-ia32" "0.16.17"
+    "@esbuild/linux-loong64" "0.16.17"
+    "@esbuild/linux-mips64el" "0.16.17"
+    "@esbuild/linux-ppc64" "0.16.17"
+    "@esbuild/linux-riscv64" "0.16.17"
+    "@esbuild/linux-s390x" "0.16.17"
+    "@esbuild/linux-x64" "0.16.17"
+    "@esbuild/netbsd-x64" "0.16.17"
+    "@esbuild/openbsd-x64" "0.16.17"
+    "@esbuild/sunos-x64" "0.16.17"
+    "@esbuild/win32-arm64" "0.16.17"
+    "@esbuild/win32-ia32" "0.16.17"
+    "@esbuild/win32-x64" "0.16.17"
+
+esbuild@^0.17.10:
+  version "0.17.10"
+  resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.17.10.tgz#3be050561b34c5dc05b46978f4e1f326d5cc9437"
+  integrity sha512-n7V3v29IuZy5qgxx25TKJrEm0FHghAlS6QweUcyIgh/U0zYmQcvogWROitrTyZId1mHSkuhhuyEXtI9OXioq7A==
+  optionalDependencies:
+    "@esbuild/android-arm" "0.17.10"
+    "@esbuild/android-arm64" "0.17.10"
+    "@esbuild/android-x64" "0.17.10"
+    "@esbuild/darwin-arm64" "0.17.10"
+    "@esbuild/darwin-x64" "0.17.10"
+    "@esbuild/freebsd-arm64" "0.17.10"
+    "@esbuild/freebsd-x64" "0.17.10"
+    "@esbuild/linux-arm" "0.17.10"
+    "@esbuild/linux-arm64" "0.17.10"
+    "@esbuild/linux-ia32" "0.17.10"
+    "@esbuild/linux-loong64" "0.17.10"
+    "@esbuild/linux-mips64el" "0.17.10"
+    "@esbuild/linux-ppc64" "0.17.10"
+    "@esbuild/linux-riscv64" "0.17.10"
+    "@esbuild/linux-s390x" "0.17.10"
+    "@esbuild/linux-x64" "0.17.10"
+    "@esbuild/netbsd-x64" "0.17.10"
+    "@esbuild/openbsd-x64" "0.17.10"
+    "@esbuild/sunos-x64" "0.17.10"
+    "@esbuild/win32-arm64" "0.17.10"
+    "@esbuild/win32-ia32" "0.17.10"
+    "@esbuild/win32-x64" "0.17.10"
+
+esbuild@^0.17.6:
+  version "0.17.9"
+  resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.17.9.tgz#d4ff32649d503989e7c2623c239901f7f26b3417"
+  integrity sha512-m3b2MR76QkwKPw/KQBlBJVaIncfQhhXsDMCFPoyqEOIziV+O7BAKqOYT1NbHsnFUX0/98CLWxUfM5stzh4yq4Q==
   optionalDependencies:
-    "@esbuild/android-arm" "0.15.18"
-    "@esbuild/linux-loong64" "0.15.18"
-    esbuild-android-64 "0.15.18"
-    esbuild-android-arm64 "0.15.18"
-    esbuild-darwin-64 "0.15.18"
-    esbuild-darwin-arm64 "0.15.18"
-    esbuild-freebsd-64 "0.15.18"
-    esbuild-freebsd-arm64 "0.15.18"
-    esbuild-linux-32 "0.15.18"
-    esbuild-linux-64 "0.15.18"
-    esbuild-linux-arm "0.15.18"
-    esbuild-linux-arm64 "0.15.18"
-    esbuild-linux-mips64le "0.15.18"
-    esbuild-linux-ppc64le "0.15.18"
-    esbuild-linux-riscv64 "0.15.18"
-    esbuild-linux-s390x "0.15.18"
-    esbuild-netbsd-64 "0.15.18"
-    esbuild-openbsd-64 "0.15.18"
-    esbuild-sunos-64 "0.15.18"
-    esbuild-windows-32 "0.15.18"
-    esbuild-windows-64 "0.15.18"
-    esbuild-windows-arm64 "0.15.18"
+    "@esbuild/android-arm" "0.17.9"
+    "@esbuild/android-arm64" "0.17.9"
+    "@esbuild/android-x64" "0.17.9"
+    "@esbuild/darwin-arm64" "0.17.9"
+    "@esbuild/darwin-x64" "0.17.9"
+    "@esbuild/freebsd-arm64" "0.17.9"
+    "@esbuild/freebsd-x64" "0.17.9"
+    "@esbuild/linux-arm" "0.17.9"
+    "@esbuild/linux-arm64" "0.17.9"
+    "@esbuild/linux-ia32" "0.17.9"
+    "@esbuild/linux-loong64" "0.17.9"
+    "@esbuild/linux-mips64el" "0.17.9"
+    "@esbuild/linux-ppc64" "0.17.9"
+    "@esbuild/linux-riscv64" "0.17.9"
+    "@esbuild/linux-s390x" "0.17.9"
+    "@esbuild/linux-x64" "0.17.9"
+    "@esbuild/netbsd-x64" "0.17.9"
+    "@esbuild/openbsd-x64" "0.17.9"
+    "@esbuild/sunos-x64" "0.17.9"
+    "@esbuild/win32-arm64" "0.17.9"
+    "@esbuild/win32-ia32" "0.17.9"
+    "@esbuild/win32-x64" "0.17.9"
 
 escalade@^3.1.1:
   version "3.1.1"
@@ -2869,6 +6272,11 @@ escape-goat@^4.0.0:
   resolved "https://registry.yarnpkg.com/escape-goat/-/escape-goat-4.0.0.tgz#9424820331b510b0666b98f7873fe11ac4aa8081"
   integrity sha512-2Sd4ShcWxbx6OY1IHyla/CVNwvg7XwZVoXZHcSu9w9SReNP1EzzD5T8NWKIR38fIqEns9kDWKUQTXXAmlDrdPg==
 
+escape-html@~1.0.3:
+  version "1.0.3"
+  resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
+  integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==
+
 escape-string-regexp@^1.0.5:
   version "1.0.5"
   resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
@@ -3010,7 +6418,17 @@ eslint-plugin-react@^7.31.11:
     semver "^6.3.0"
     string.prototype.matchall "^4.0.8"
 
-eslint-scope@^5.1.1:
+eslint-plugin-storybook@^0.6.10:
+  version "0.6.10"
+  resolved "https://registry.yarnpkg.com/eslint-plugin-storybook/-/eslint-plugin-storybook-0.6.10.tgz#a5844b15bb8dd864896b0b023e710218d9d0f274"
+  integrity sha512-3DKXRey06EhwnTKaG6fgMqGTy4C3z6Ikyv6VVixO5BvaExWQe3yGWIAufrC2Et0OaAMIaMwx9KWjqb/Wq+JxPg==
+  dependencies:
+    "@storybook/csf" "^0.0.1"
+    "@typescript-eslint/utils" "^5.45.0"
+    requireindex "^1.1.0"
+    ts-dedent "^2.2.0"
+
+eslint-scope@5.1.1, eslint-scope@^5.1.1:
   version "5.1.1"
   resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c"
   integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==
@@ -3097,7 +6515,7 @@ espree@^9.4.0:
     acorn-jsx "^5.3.2"
     eslint-visitor-keys "^3.3.0"
 
-esprima@^4.0.0, esprima@^4.0.1:
+esprima@^4.0.0, esprima@^4.0.1, esprima@~4.0.0:
   version "4.0.1"
   resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
   integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
@@ -3126,11 +6544,30 @@ estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0:
   resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123"
   integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==
 
+estree-to-babel@^3.1.0:
+  version "3.2.1"
+  resolved "https://registry.yarnpkg.com/estree-to-babel/-/estree-to-babel-3.2.1.tgz#82e78315275c3ca74475fdc8ac1a5103c8a75bf5"
+  integrity sha512-YNF+mZ/Wu2FU/gvmzuWtYc8rloubL7wfXCTgouFrnjGVXPA/EeYYA7pupXWrb3Iv1cTBeSSxxJIbK23l4MRNqg==
+  dependencies:
+    "@babel/traverse" "^7.1.6"
+    "@babel/types" "^7.2.0"
+    c8 "^7.6.0"
+
 esutils@^2.0.2:
   version "2.0.3"
   resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
   integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
 
+etag@~1.8.1:
+  version "1.8.1"
+  resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887"
+  integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==
+
+events@^3.2.0:
+  version "3.3.0"
+  resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400"
+  integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==
+
 execa@6.1.0, execa@^6.1.0:
   version "6.1.0"
   resolved "https://registry.yarnpkg.com/execa/-/execa-6.1.0.tgz#cea16dee211ff011246556388effa0818394fb20"
@@ -3166,6 +6603,11 @@ exit@^0.1.2:
   resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c"
   integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==
 
+expect-type@^0.14.2:
+  version "0.14.2"
+  resolved "https://registry.yarnpkg.com/expect-type/-/expect-type-0.14.2.tgz#3924d0e596455a9b27af48e8a99c582cdd4506eb"
+  integrity sha512-ed3+tr5ujbIYXZ8Pl/VgIphwJQ0q5tBLGGdn7Zvwt1WyPBRX83xjT5pT77P/GkuQbctx0K2ZNSSan7eruJqTCQ==
+
 expect@^29.0.0, expect@^29.3.1:
   version "29.3.1"
   resolved "https://registry.yarnpkg.com/expect/-/expect-29.3.1.tgz#92877aad3f7deefc2e3f6430dd195b92295554a6"
@@ -3177,6 +6619,48 @@ expect@^29.0.0, expect@^29.3.1:
     jest-message-util "^29.3.1"
     jest-util "^29.3.1"
 
+express@^4.17.3:
+  version "4.18.2"
+  resolved "https://registry.yarnpkg.com/express/-/express-4.18.2.tgz#3fabe08296e930c796c19e3c516979386ba9fd59"
+  integrity sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==
+  dependencies:
+    accepts "~1.3.8"
+    array-flatten "1.1.1"
+    body-parser "1.20.1"
+    content-disposition "0.5.4"
+    content-type "~1.0.4"
+    cookie "0.5.0"
+    cookie-signature "1.0.6"
+    debug "2.6.9"
+    depd "2.0.0"
+    encodeurl "~1.0.2"
+    escape-html "~1.0.3"
+    etag "~1.8.1"
+    finalhandler "1.2.0"
+    fresh "0.5.2"
+    http-errors "2.0.0"
+    merge-descriptors "1.0.1"
+    methods "~1.1.2"
+    on-finished "2.4.1"
+    parseurl "~1.3.3"
+    path-to-regexp "0.1.7"
+    proxy-addr "~2.0.7"
+    qs "6.11.0"
+    range-parser "~1.2.1"
+    safe-buffer "5.2.1"
+    send "0.18.0"
+    serve-static "1.15.0"
+    setprototypeof "1.2.0"
+    statuses "2.0.1"
+    type-is "~1.6.18"
+    utils-merge "1.0.1"
+    vary "~1.1.2"
+
+extend@^3.0.0:
+  version "3.0.2"
+  resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
+  integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
+
 external-editor@^3.0.3:
   version "3.1.0"
   resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495"
@@ -3186,6 +6670,16 @@ external-editor@^3.0.3:
     iconv-lite "^0.4.24"
     tmp "^0.0.33"
 
+extract-zip@^1.6.6:
+  version "1.7.0"
+  resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.7.0.tgz#556cc3ae9df7f452c493a0cfb51cc30277940927"
+  integrity sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==
+  dependencies:
+    concat-stream "^1.6.2"
+    debug "^2.6.9"
+    mkdirp "^0.5.4"
+    yauzl "^2.10.0"
+
 fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
   version "3.1.3"
   resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
@@ -3207,6 +6701,11 @@ fast-glob@^3.2.11, fast-glob@^3.2.9:
     merge2 "^1.3.0"
     micromatch "^4.0.4"
 
+fast-json-parse@^1.0.3:
+  version "1.0.3"
+  resolved "https://registry.yarnpkg.com/fast-json-parse/-/fast-json-parse-1.0.3.tgz#43e5c61ee4efa9265633046b770fb682a7577c4d"
+  integrity sha512-FRWsaZRWEJ1ESVNbDWmsAlqDk96gPQezzLghafp5J4GUKjbCz3OkAHuZs5TuPEtkbVQERysLp9xv6c24fBm8Aw==
+
 fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0:
   version "2.1.0"
   resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
@@ -3231,6 +6730,13 @@ fb-watchman@^2.0.0:
   dependencies:
     bser "2.1.1"
 
+fd-slicer@~1.1.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e"
+  integrity sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==
+  dependencies:
+    pend "~1.2.0"
+
 fetch-blob@^3.1.2, fetch-blob@^3.1.4:
   version "3.2.0"
   resolved "https://registry.yarnpkg.com/fetch-blob/-/fetch-blob-3.2.0.tgz#f09b8d4bbd45adc6f0c20b7e787e793e309dcce9"
@@ -3239,6 +6745,11 @@ fetch-blob@^3.1.2, fetch-blob@^3.1.4:
     node-domexception "^1.0.0"
     web-streams-polyfill "^3.0.3"
 
+fetch-retry@^5.0.2:
+  version "5.0.3"
+  resolved "https://registry.yarnpkg.com/fetch-retry/-/fetch-retry-5.0.3.tgz#edfa3641892995f9afee94f25b168827aa97fe3d"
+  integrity sha512-uJQyMrX5IJZkhoEUBQ3EjxkeiZkppBd5jS/fMTJmfZxLSiaQjv2zD0kTvuvkSH89uFvgSlB6ueGpjD3HWN7Bxw==
+
 figures@^5.0.0:
   version "5.0.0"
   resolved "https://registry.yarnpkg.com/figures/-/figures-5.0.0.tgz#126cd055052dea699f8a54e8c9450e6ecfc44d5f"
@@ -3254,11 +6765,26 @@ file-entry-cache@^6.0.1:
   dependencies:
     flat-cache "^3.0.4"
 
+file-system-cache@^2.0.0:
+  version "2.0.2"
+  resolved "https://registry.yarnpkg.com/file-system-cache/-/file-system-cache-2.0.2.tgz#6b51d58c5786302146fa883529e0d7f88896e948"
+  integrity sha512-lp4BHO4CWqvRyx88Tt3quZic9ZMf4cJyquYq7UI8sH42Bm2ArlBBjKQAalZOo+UfaBassb7X123Lik5qZ/tSAA==
+  dependencies:
+    fs-extra "^11.1.0"
+    ramda "^0.28.0"
+
 file-uri-to-path@2:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-2.0.0.tgz#7b415aeba227d575851e0a5b0c640d7656403fba"
   integrity sha512-hjPFI8oE/2iQPVe4gbrJ73Pp+Xfub2+WI2LlXDbsaJBwT5wuMh35WNWVYYTpnz895shtwfyutMFLFywpQAFdLg==
 
+filelist@^1.0.1:
+  version "1.0.4"
+  resolved "https://registry.yarnpkg.com/filelist/-/filelist-1.0.4.tgz#f78978a1e944775ff9e62e744424f215e58352b5"
+  integrity sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==
+  dependencies:
+    minimatch "^5.0.1"
+
 fill-range@^7.0.1:
   version "7.0.1"
   resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
@@ -3266,6 +6792,42 @@ fill-range@^7.0.1:
   dependencies:
     to-regex-range "^5.0.1"
 
+finalhandler@1.2.0:
+  version "1.2.0"
+  resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32"
+  integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==
+  dependencies:
+    debug "2.6.9"
+    encodeurl "~1.0.2"
+    escape-html "~1.0.3"
+    on-finished "2.4.1"
+    parseurl "~1.3.3"
+    statuses "2.0.1"
+    unpipe "~1.0.0"
+
+find-cache-dir@^2.0.0:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7"
+  integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==
+  dependencies:
+    commondir "^1.0.1"
+    make-dir "^2.0.0"
+    pkg-dir "^3.0.0"
+
+find-cache-dir@^3.0.0, find-cache-dir@^3.3.1, find-cache-dir@^3.3.2:
+  version "3.3.2"
+  resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b"
+  integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==
+  dependencies:
+    commondir "^1.0.1"
+    make-dir "^3.0.2"
+    pkg-dir "^4.1.0"
+
+find-root@^1.1.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/find-root/-/find-root-1.1.0.tgz#abcfc8ba76f708c42a97b3d685b7e9450bfb9ce4"
+  integrity sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==
+
 find-up@^2.0.0:
   version "2.1.0"
   resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7"
@@ -3273,6 +6835,13 @@ find-up@^2.0.0:
   dependencies:
     locate-path "^2.0.0"
 
+find-up@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73"
+  integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==
+  dependencies:
+    locate-path "^3.0.0"
+
 find-up@^4.0.0, find-up@^4.1.0:
   version "4.1.0"
   resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19"
@@ -3302,6 +6871,11 @@ flatted@^3.1.0:
   resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787"
   integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==
 
+flow-parser@0.*:
+  version "0.199.1"
+  resolved "https://registry.yarnpkg.com/flow-parser/-/flow-parser-0.199.1.tgz#d2e37d3ccd3a4301738a429079a41320a54ada57"
+  integrity sha512-Mt+GFUQYij3miM7Z6o8E3aHTGXZKSOhvlCFgdQRoi6fkWfhyijnoX51zpOxM5PmZuiV6gallWhDZzwOsWxRutg==
+
 for-each@^0.3.3:
   version "0.3.3"
   resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e"
@@ -3309,11 +6883,46 @@ for-each@^0.3.3:
   dependencies:
     is-callable "^1.1.3"
 
+foreground-child@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-2.0.0.tgz#71b32800c9f15aa8f2f83f4a6bd9bff35d861a53"
+  integrity sha512-dCIq9FpEcyQyXKCkyzmlPTFNgrCzPudOe+mhvJU5zAtlBnGVy2yKxtfsxK2tQBThwq225jcvBjpw1Gr40uzZCA==
+  dependencies:
+    cross-spawn "^7.0.0"
+    signal-exit "^3.0.2"
+
+fork-ts-checker-webpack-plugin@^7.2.8:
+  version "7.3.0"
+  resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-7.3.0.tgz#a9c984a018493962360d7c7e77a67b44a2d5f3aa"
+  integrity sha512-IN+XTzusCjR5VgntYFgxbxVx3WraPRnKehBFrf00cMSrtUuW9MsG9dhL6MWpY6MkjC3wVwoujfCDgZZCQwbswA==
+  dependencies:
+    "@babel/code-frame" "^7.16.7"
+    chalk "^4.1.2"
+    chokidar "^3.5.3"
+    cosmiconfig "^7.0.1"
+    deepmerge "^4.2.2"
+    fs-extra "^10.0.0"
+    memfs "^3.4.1"
+    minimatch "^3.0.4"
+    node-abort-controller "^3.0.1"
+    schema-utils "^3.1.1"
+    semver "^7.3.5"
+    tapable "^2.2.1"
+
 form-data-encoder@^2.1.2:
   version "2.1.4"
   resolved "https://registry.yarnpkg.com/form-data-encoder/-/form-data-encoder-2.1.4.tgz#261ea35d2a70d48d30ec7a9603130fa5515e9cd5"
   integrity sha512-yDYSgNMraqvnxiEXO4hi88+YZxaHC6QKzb5N84iRCTDeRO7ZALpir/lVmf/uXUhnwUr2O4HU8s/n6x+yNjQkHw==
 
+form-data@^3.0.0:
+  version "3.0.1"
+  resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f"
+  integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg==
+  dependencies:
+    asynckit "^0.4.0"
+    combined-stream "^1.0.8"
+    mime-types "^2.1.12"
+
 form-data@^4.0.0:
   version "4.0.0"
   resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452"
@@ -3330,7 +6939,26 @@ formdata-polyfill@^4.0.10:
   dependencies:
     fetch-blob "^3.1.2"
 
-fs-extra@^11.0.0:
+forwarded@0.2.0:
+  version "0.2.0"
+  resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811"
+  integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==
+
+fresh@0.5.2:
+  version "0.5.2"
+  resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7"
+  integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==
+
+fs-extra@^10.0.0:
+  version "10.1.0"
+  resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf"
+  integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==
+  dependencies:
+    graceful-fs "^4.2.0"
+    jsonfile "^6.0.1"
+    universalify "^2.0.0"
+
+fs-extra@^11.0.0, fs-extra@^11.1.0:
   version "11.1.0"
   resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.1.0.tgz#5784b102104433bb0e090f48bfc4a30742c357ed"
   integrity sha512-0rcTq621PD5jM/e0a3EJoGC/1TC5ZBCERW82LQuwfGnCa1V8w7dpYH1yNu+SLb6E5dkeCBzKEyLGlFrnr+dUyw==
@@ -3348,6 +6976,18 @@ fs-extra@^8.1.0:
     jsonfile "^4.0.0"
     universalify "^0.1.0"
 
+fs-minipass@^2.0.0:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb"
+  integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==
+  dependencies:
+    minipass "^3.0.0"
+
+fs-monkey@^1.0.3:
+  version "1.0.3"
+  resolved "https://registry.yarnpkg.com/fs-monkey/-/fs-monkey-1.0.3.tgz#ae3ac92d53bb328efe0e9a1d9541f6ad8d48e2d3"
+  integrity sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==
+
 fs.realpath@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
@@ -3386,6 +7026,21 @@ functions-have-names@^1.2.2:
   resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834"
   integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==
 
+gauge@^3.0.0:
+  version "3.0.2"
+  resolved "https://registry.yarnpkg.com/gauge/-/gauge-3.0.2.tgz#03bf4441c044383908bcfa0656ad91803259b395"
+  integrity sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==
+  dependencies:
+    aproba "^1.0.3 || ^2.0.0"
+    color-support "^1.1.2"
+    console-control-strings "^1.0.0"
+    has-unicode "^2.0.1"
+    object-assign "^4.1.1"
+    signal-exit "^3.0.0"
+    string-width "^4.2.3"
+    strip-ansi "^6.0.1"
+    wide-align "^1.1.2"
+
 gensync@^1.0.0-beta.2:
   version "1.0.0-beta.2"
   resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0"
@@ -3420,6 +7075,19 @@ get-pkg-repo@^4.0.0:
     through2 "^2.0.0"
     yargs "^16.2.0"
 
+get-port@^5.1.1:
+  version "5.1.1"
+  resolved "https://registry.yarnpkg.com/get-port/-/get-port-5.1.1.tgz#0469ed07563479de6efb986baf053dcd7d4e3193"
+  integrity sha512-g/Q1aTSDOxFpchXC4i8ZWvxA1lnPqx/JHqcpIw0/LX9T8x/GBbi6YnlN5nhaKIFkT8oFsscUKgDJYxfwfS6QsQ==
+
+get-source@^2.0.12:
+  version "2.0.12"
+  resolved "https://registry.yarnpkg.com/get-source/-/get-source-2.0.12.tgz#0b47d57ea1e53ce0d3a69f4f3d277eb8047da944"
+  integrity sha512-X5+4+iD+HoSeEED+uwrQ07BOQr0kEDFMVqqpBuI+RaZBpBpHCuXxo70bjar6f0b0u/DQJsJ7ssurpP0V60Az+w==
+  dependencies:
+    data-uri-to-buffer "^2.0.0"
+    source-map "^0.6.1"
+
 get-stream@^6.0.0, get-stream@^6.0.1:
   version "6.0.1"
   resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7"
@@ -3450,6 +7118,19 @@ get-uri@3:
     fs-extra "^8.1.0"
     ftp "^0.3.10"
 
+giget@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/giget/-/giget-1.0.0.tgz#fdd7e61a84996b19e00d2d4a6a65c60cc1f61c3d"
+  integrity sha512-KWELZn3Nxq5+0So485poHrFriK9Bn3V/x9y+wgqrHkbmnGbjfLmZ685/SVA/ovW+ewoqW0gVI47pI4yW/VNobQ==
+  dependencies:
+    colorette "^2.0.19"
+    defu "^6.1.1"
+    https-proxy-agent "^5.0.1"
+    mri "^1.2.0"
+    node-fetch-native "^1.0.1"
+    pathe "^1.0.0"
+    tar "^6.1.12"
+
 git-raw-commits@^2.0.0, git-raw-commits@^2.0.8:
   version "2.0.11"
   resolved "https://registry.yarnpkg.com/git-raw-commits/-/git-raw-commits-2.0.11.tgz#bc3576638071d18655e1cc60d7f524920008d723"
@@ -3499,6 +7180,11 @@ gitconfiglocal@^1.0.0:
   dependencies:
     ini "^1.3.2"
 
+github-slugger@^1.0.0:
+  version "1.5.0"
+  resolved "https://registry.yarnpkg.com/github-slugger/-/github-slugger-1.5.0.tgz#17891bbc73232051474d68bd867a34625c955f7d"
+  integrity sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==
+
 glob-parent@^5.1.2, glob-parent@~5.1.2:
   version "5.1.2"
   resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
@@ -3513,6 +7199,18 @@ glob-parent@^6.0.2:
   dependencies:
     is-glob "^4.0.3"
 
+glob-promise@^4.2.0:
+  version "4.2.2"
+  resolved "https://registry.yarnpkg.com/glob-promise/-/glob-promise-4.2.2.tgz#15f44bcba0e14219cd93af36da6bb905ff007877"
+  integrity sha512-xcUzJ8NWN5bktoTIX7eOclO1Npxd/dyVqUJxlLIDasT4C7KZyqlPIwkdJ0Ypiy3p2ZKahTjK4M9uC3sNSfNMzw==
+  dependencies:
+    "@types/glob" "^7.1.3"
+
+glob-to-regexp@^0.4.1:
+  version "0.4.1"
+  resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e"
+  integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==
+
 glob@7.1.6:
   version "7.1.6"
   resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6"
@@ -3537,6 +7235,17 @@ glob@^7.0.0, glob@^7.1.3, glob@^7.1.4:
     once "^1.3.0"
     path-is-absolute "^1.0.0"
 
+glob@^8.1.0:
+  version "8.1.0"
+  resolved "https://registry.yarnpkg.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e"
+  integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==
+  dependencies:
+    fs.realpath "^1.0.0"
+    inflight "^1.0.4"
+    inherits "2"
+    minimatch "^5.0.1"
+    once "^1.3.0"
+
 global-dirs@^0.1.1:
   version "0.1.1"
   resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-0.1.1.tgz#b319c0dd4607f353f3be9cca4c72fc148c49f445"
@@ -3586,7 +7295,7 @@ globby@13.1.2:
     merge2 "^1.4.1"
     slash "^4.0.0"
 
-globby@^11.0.3, globby@^11.1.0:
+globby@^11.0.1, globby@^11.0.2, globby@^11.0.3, globby@^11.1.0:
   version "11.1.0"
   resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b"
   integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==
@@ -3638,7 +7347,7 @@ got@12.5.3, got@^12.1.0:
     p-cancelable "^3.0.0"
     responselike "^3.0.0"
 
-graceful-fs@4.2.10, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9:
+graceful-fs@4.2.10, graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9:
   version "4.2.10"
   resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c"
   integrity sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==
@@ -3704,6 +7413,11 @@ has-tostringtag@^1.0.0:
   dependencies:
     has-symbols "^1.0.2"
 
+has-unicode@^2.0.1:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9"
+  integrity sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==
+
 has-yarn@^3.0.0:
   version "3.0.0"
   resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-3.0.0.tgz#c3c21e559730d1d3b57e28af1f30d06fac38147d"
@@ -3716,6 +7430,18 @@ has@^1.0.3:
   dependencies:
     function-bind "^1.1.1"
 
+he@^1.2.0:
+  version "1.2.0"
+  resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f"
+  integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==
+
+hoist-non-react-statics@^3.3.1:
+  version "3.3.2"
+  resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45"
+  integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==
+  dependencies:
+    react-is "^16.7.0"
+
 hosted-git-info@^2.1.4:
   version "2.8.9"
   resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9"
@@ -3735,11 +7461,55 @@ html-encoding-sniffer@^3.0.0:
   dependencies:
     whatwg-encoding "^2.0.0"
 
+html-entities@^2.1.0:
+  version "2.3.3"
+  resolved "https://registry.yarnpkg.com/html-entities/-/html-entities-2.3.3.tgz#117d7626bece327fc8baace8868fa6f5ef856e46"
+  integrity sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==
+
 html-escaper@^2.0.0:
   version "2.0.2"
   resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453"
   integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==
 
+html-minifier-terser@^6.0.2:
+  version "6.1.0"
+  resolved "https://registry.yarnpkg.com/html-minifier-terser/-/html-minifier-terser-6.1.0.tgz#bfc818934cc07918f6b3669f5774ecdfd48f32ab"
+  integrity sha512-YXxSlJBZTP7RS3tWnQw74ooKa6L9b9i9QYXY21eUEvhZ3u9XLfv6OnFsQq6RxkhHygsaUMvYsZRV5rU/OVNZxw==
+  dependencies:
+    camel-case "^4.1.2"
+    clean-css "^5.2.2"
+    commander "^8.3.0"
+    he "^1.2.0"
+    param-case "^3.0.4"
+    relateurl "^0.2.7"
+    terser "^5.10.0"
+
+html-tags@^3.1.0:
+  version "3.2.0"
+  resolved "https://registry.yarnpkg.com/html-tags/-/html-tags-3.2.0.tgz#dbb3518d20b726524e4dd43de397eb0a95726961"
+  integrity sha512-vy7ClnArOZwCnqZgvv+ddgHgJiAFXe3Ge9ML5/mBctVJoUoYPCdxVucOywjDARn6CVoh3dRSFdPHy2sX80L0Wg==
+
+html-webpack-plugin@^5.5.0:
+  version "5.5.0"
+  resolved "https://registry.yarnpkg.com/html-webpack-plugin/-/html-webpack-plugin-5.5.0.tgz#c3911936f57681c1f9f4d8b68c158cd9dfe52f50"
+  integrity sha512-sy88PC2cRTVxvETRgUHFrL4No3UxvcH8G1NepGhqaTT+GXN2kTamqasot0inS5hXeg1cMbFDt27zzo9p35lZVw==
+  dependencies:
+    "@types/html-minifier-terser" "^6.0.0"
+    html-minifier-terser "^6.0.2"
+    lodash "^4.17.21"
+    pretty-error "^4.0.0"
+    tapable "^2.0.0"
+
+htmlparser2@^6.1.0:
+  version "6.1.0"
+  resolved "https://registry.yarnpkg.com/htmlparser2/-/htmlparser2-6.1.0.tgz#c4d762b6c3371a05dbe65e94ae43a9f845fb8fb7"
+  integrity sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==
+  dependencies:
+    domelementtype "^2.0.1"
+    domhandler "^4.0.0"
+    domutils "^2.5.2"
+    entities "^2.0.0"
+
 http-cache-semantics@^4.1.0:
   version "4.1.0"
   resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390"
@@ -3790,6 +7560,14 @@ https-proxy-agent@5, https-proxy-agent@^5.0.0, https-proxy-agent@^5.0.1:
     agent-base "6"
     debug "4"
 
+https-proxy-agent@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz#702b71fb5520a132a66de1f67541d9e62154d82b"
+  integrity sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg==
+  dependencies:
+    agent-base "5"
+    debug "4"
+
 human-signals@^2.1.0:
   version "2.1.0"
   resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0"
@@ -3819,6 +7597,11 @@ iconv-lite@0.6.3:
   dependencies:
     safer-buffer ">= 2.1.2 < 3.0.0"
 
+icss-utils@^5.0.0, icss-utils@^5.1.0:
+  version "5.1.0"
+  resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae"
+  integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==
+
 ieee754@^1.2.1:
   version "1.2.1"
   resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352"
@@ -3933,7 +7716,17 @@ ip@^2.0.0:
   resolved "https://registry.yarnpkg.com/ip/-/ip-2.0.0.tgz#4cf4ab182fee2314c75ede1276f8c80b479936da"
   integrity sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==
 
-is-arguments@^1.1.0, is-arguments@^1.1.1:
+ipaddr.js@1.9.1:
+  version "1.9.1"
+  resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3"
+  integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==
+
+is-absolute-url@^3.0.0:
+  version "3.0.3"
+  resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-3.0.3.tgz#96c6a22b6a23929b11ea0afb1836c36ad4a5d698"
+  integrity sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==
+
+is-arguments@^1.0.4, is-arguments@^1.1.0, is-arguments@^1.1.1:
   version "1.1.1"
   resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b"
   integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==
@@ -4028,6 +7821,13 @@ is-generator-fn@^2.0.0:
   resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118"
   integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==
 
+is-generator-function@^1.0.7:
+  version "1.0.10"
+  resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.10.tgz#f1558baf1ac17e0deea7c0415c438351ff2b3c72"
+  integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==
+  dependencies:
+    has-tostringtag "^1.0.0"
+
 is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1:
   version "4.0.3"
   resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
@@ -4053,6 +7853,14 @@ is-map@^2.0.1, is-map@^2.0.2:
   resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.2.tgz#00922db8c9bf73e81b7a335827bc2a43f2b91127"
   integrity sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==
 
+is-nan@^1.2.1:
+  version "1.3.2"
+  resolved "https://registry.yarnpkg.com/is-nan/-/is-nan-1.3.2.tgz#043a54adea31748b55b6cd4e09aadafa69bd9e1d"
+  integrity sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==
+  dependencies:
+    call-bind "^1.0.0"
+    define-properties "^1.1.3"
+
 is-negative-zero@^2.0.2:
   version "2.0.2"
   resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150"
@@ -4080,6 +7888,11 @@ is-obj@^2.0.0:
   resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982"
   integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==
 
+is-path-cwd@^2.2.0:
+  version "2.2.0"
+  resolved "https://registry.yarnpkg.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb"
+  integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==
+
 is-path-inside@^3.0.2, is-path-inside@^3.0.3:
   version "3.0.3"
   resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283"
@@ -4090,11 +7903,18 @@ is-plain-obj@^1.1.0:
   resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e"
   integrity sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==
 
-is-plain-object@^5.0.0:
+is-plain-object@5.0.0, is-plain-object@^5.0.0:
   version "5.0.0"
   resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-5.0.0.tgz#4427f50ab3429e9025ea7d52e9043a9ef4159344"
   integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==
 
+is-plain-object@^2.0.4:
+  version "2.0.4"
+  resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677"
+  integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==
+  dependencies:
+    isobject "^3.0.1"
+
 is-potential-custom-element-name@^1.0.1:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5"
@@ -4158,7 +7978,7 @@ is-text-path@^1.0.1:
   dependencies:
     text-extensions "^1.0.0"
 
-is-typed-array@^1.1.10, is-typed-array@^1.1.9:
+is-typed-array@^1.1.10, is-typed-array@^1.1.3, is-typed-array@^1.1.9:
   version "1.1.10"
   resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.10.tgz#36a5b5cb4189b575d1a3e4b08536bfb485801e3f"
   integrity sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==
@@ -4199,7 +8019,12 @@ is-weakset@^2.0.1:
     call-bind "^1.0.2"
     get-intrinsic "^1.1.1"
 
-is-wsl@^2.2.0:
+is-what@^4.1.8:
+  version "4.1.8"
+  resolved "https://registry.yarnpkg.com/is-what/-/is-what-4.1.8.tgz#0e2a8807fda30980ddb2571c79db3d209b14cbe4"
+  integrity sha512-yq8gMao5upkPoGEU9LsB2P+K3Kt8Q3fQFCGyNCWOAnJAMzEXVV9drYb0TXr42TTliLLhKIBvulgAXgtLLnwzGA==
+
+is-wsl@^2.1.1, is-wsl@^2.2.0:
   version "2.2.0"
   resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271"
   integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==
@@ -4231,6 +8056,19 @@ isexe@^2.0.0:
   resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
   integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==
 
+isobject@^3.0.1:
+  version "3.0.1"
+  resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df"
+  integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==
+
+isomorphic-unfetch@^3.1.0:
+  version "3.1.0"
+  resolved "https://registry.yarnpkg.com/isomorphic-unfetch/-/isomorphic-unfetch-3.1.0.tgz#87341d5f4f7b63843d468438128cb087b7c3e98f"
+  integrity sha512-geDJjpoZ8N0kWexiwkX8F9NkTsXhetLPVbZFQ+JTW239QNOwvB0gniuR1Wc6f0AMTn7/mFGyXvHTifrCp/GH8Q==
+  dependencies:
+    node-fetch "^2.6.1"
+    unfetch "^4.2.0"
+
 istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0:
   version "3.2.0"
   resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3"
@@ -4265,7 +8103,7 @@ istanbul-lib-source-maps@^4.0.0:
     istanbul-lib-coverage "^3.0.0"
     source-map "^0.6.1"
 
-istanbul-reports@^3.1.3:
+istanbul-reports@^3.1.3, istanbul-reports@^3.1.4:
   version "3.1.5"
   resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.5.tgz#cc9a6ab25cb25659810e4785ed9d9fb742578bae"
   integrity sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w==
@@ -4286,6 +8124,16 @@ iterate-value@^1.0.2:
     es-get-iterator "^1.0.2"
     iterate-iterator "^1.0.1"
 
+jake@^10.8.5:
+  version "10.8.5"
+  resolved "https://registry.yarnpkg.com/jake/-/jake-10.8.5.tgz#f2183d2c59382cb274226034543b9c03b8164c46"
+  integrity sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==
+  dependencies:
+    async "^3.2.3"
+    chalk "^4.0.2"
+    filelist "^1.0.1"
+    minimatch "^3.0.4"
+
 jest-changed-files@^29.2.0:
   version "29.2.0"
   resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-29.2.0.tgz#b6598daa9803ea6a4dce7968e20ab380ddbee289"
@@ -4476,6 +8324,14 @@ jest-message-util@^29.3.1:
     slash "^3.0.0"
     stack-utils "^2.0.3"
 
+jest-mock@^27.0.6:
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-27.5.1.tgz#19948336d49ef4d9c52021d34ac7b5f36ff967d6"
+  integrity sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==
+  dependencies:
+    "@jest/types" "^27.5.1"
+    "@types/node" "*"
+
 jest-mock@^29.3.1:
   version "29.3.1"
   resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-29.3.1.tgz#60287d92e5010979d01f218c6b215b688e0f313e"
@@ -4654,6 +8510,15 @@ jest-watcher@^29.0.0, jest-watcher@^29.3.1:
     jest-util "^29.3.1"
     string-length "^4.0.1"
 
+jest-worker@^27.4.5:
+  version "27.5.1"
+  resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0"
+  integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==
+  dependencies:
+    "@types/node" "*"
+    merge-stream "^2.0.0"
+    supports-color "^8.0.0"
+
 jest-worker@^29.3.1:
   version "29.3.1"
   resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.3.1.tgz#e9462161017a9bb176380d721cab022661da3d6b"
@@ -4674,10 +8539,15 @@ jest@^29.3.1:
     import-local "^3.0.2"
     jest-cli "^29.3.1"
 
-jotai@^2.0.0:
-  version "2.0.0"
-  resolved "https://registry.yarnpkg.com/jotai/-/jotai-2.0.0.tgz#3938ad0166130417811bb57ec2de8abeb24bd948"
-  integrity sha512-04G0CRZQgp3xrFAezd6X14psZ2TRGekHeYMBcbDJ/BR8ZJQPS+j0YkMTxUxyG58HJnN2+adfj5sWQWoqgtp1XQ==
+jotai-tanstack-query@^0.5.0:
+  version "0.5.0"
+  resolved "https://registry.yarnpkg.com/jotai-tanstack-query/-/jotai-tanstack-query-0.5.0.tgz#d6d5e3efbd9704f4c4c5c381f8b46f635e62d062"
+  integrity sha512-UXfI+I+bdrYL3R1o+OrADY9diizQD8/yqi+DJswOisKGzvNJs1FUIXi9ugtWVR9cjAfRuroG6fQzJhuNyUJ70g==
+
+jotai@^2.0.3:
+  version "2.0.3"
+  resolved "https://registry.yarnpkg.com/jotai/-/jotai-2.0.3.tgz#3b67cda9f6d5feb70a14db0b842a9873aacda8b5"
+  integrity sha512-MMjhSPAL3RoeZD9WbObufRT2quThEAEknHHridf2ma8Ml7ZVQmUiHk0ssdbR3F0h3kcwhYqSGJ59OjhPge7RRg==
 
 joycon@^3.0.1:
   version "3.1.1"
@@ -4709,6 +8579,31 @@ js-yaml@^4.1.0:
   dependencies:
     argparse "^2.0.1"
 
+jscodeshift@^0.14.0:
+  version "0.14.0"
+  resolved "https://registry.yarnpkg.com/jscodeshift/-/jscodeshift-0.14.0.tgz#7542e6715d6d2e8bde0b4e883f0ccea358b46881"
+  integrity sha512-7eCC1knD7bLUPuSCwXsMZUH51O8jIcoVyKtI6P0XM0IVzlGjckPy3FIwQlorzbN0Sg79oK+RlohN32Mqf/lrYA==
+  dependencies:
+    "@babel/core" "^7.13.16"
+    "@babel/parser" "^7.13.16"
+    "@babel/plugin-proposal-class-properties" "^7.13.0"
+    "@babel/plugin-proposal-nullish-coalescing-operator" "^7.13.8"
+    "@babel/plugin-proposal-optional-chaining" "^7.13.12"
+    "@babel/plugin-transform-modules-commonjs" "^7.13.8"
+    "@babel/preset-flow" "^7.13.13"
+    "@babel/preset-typescript" "^7.13.0"
+    "@babel/register" "^7.13.16"
+    babel-core "^7.0.0-bridge.0"
+    chalk "^4.1.2"
+    flow-parser "0.*"
+    graceful-fs "^4.2.4"
+    micromatch "^4.0.4"
+    neo-async "^2.5.0"
+    node-dir "^0.1.17"
+    recast "^0.21.0"
+    temp "^0.8.4"
+    write-file-atomic "^2.3.0"
+
 jsdom@^20.0.0:
   version "20.0.3"
   resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-20.0.3.tgz#886a41ba1d4726f67a8858028c99489fed6ad4db"
@@ -4746,6 +8641,11 @@ jsesc@^2.5.1:
   resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4"
   integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==
 
+jsesc@~0.5.0:
+  version "0.5.0"
+  resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d"
+  integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==
+
 json-buffer@3.0.1:
   version "3.0.1"
   resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13"
@@ -4756,7 +8656,7 @@ json-parse-better-errors@^1.0.1:
   resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9"
   integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==
 
-json-parse-even-better-errors@^2.3.0:
+json-parse-even-better-errors@^2.3.0, json-parse-even-better-errors@^2.3.1:
   version "2.3.1"
   resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d"
   integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==
@@ -4788,7 +8688,7 @@ json5@^1.0.1:
   dependencies:
     minimist "^1.2.0"
 
-json5@^2.2.2:
+json5@^2.1.2, json5@^2.2.2:
   version "2.2.3"
   resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283"
   integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==
@@ -4834,7 +8734,7 @@ keyv@^4.5.2:
   dependencies:
     json-buffer "3.0.1"
 
-kind-of@^6.0.3:
+kind-of@^6.0.2, kind-of@^6.0.3:
   version "6.0.3"
   resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd"
   integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==
@@ -4851,6 +8751,15 @@ latest-version@^7.0.0:
   dependencies:
     package-json "^8.1.0"
 
+lazy-universal-dotenv@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/lazy-universal-dotenv/-/lazy-universal-dotenv-4.0.0.tgz#0b220c264e89a042a37181a4928cdd298af73422"
+  integrity sha512-aXpZJRnTkpK6gQ/z4nk+ZBLd/Qdp118cvPruLSIQzQNRhKwEcdXCOzXuF55VDqIiuAaY3UGZ10DJtvZzDcvsxg==
+  dependencies:
+    app-root-dir "^1.0.2"
+    dotenv "^16.0.0"
+    dotenv-expand "^10.0.0"
+
 leven@^3.1.0:
   version "3.1.0"
   resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2"
@@ -4925,11 +8834,25 @@ load-json-file@^4.0.0:
     pify "^3.0.0"
     strip-bom "^3.0.0"
 
-load-tsconfig@^0.2.0:
+load-tsconfig@^0.2.3:
   version "0.2.3"
   resolved "https://registry.yarnpkg.com/load-tsconfig/-/load-tsconfig-0.2.3.tgz#08af3e7744943caab0c75f8af7f1703639c3ef1f"
   integrity sha512-iyT2MXws+dc2Wi6o3grCFtGXpeMvHmJqS27sMPGtV2eUu4PeFnG+33I8BlFK1t1NWMjOpcx9bridn5yxLDX2gQ==
 
+loader-runner@^4.2.0:
+  version "4.3.0"
+  resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-4.3.0.tgz#c1b4a163b99f614830353b16755e7149ac2314e1"
+  integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==
+
+loader-utils@^2.0.0, loader-utils@^2.0.4:
+  version "2.0.4"
+  resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-2.0.4.tgz#8b5cb38b5c34a9a018ee1fc0e6a066d1dfcc528c"
+  integrity sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==
+  dependencies:
+    big.js "^5.2.2"
+    emojis-list "^3.0.0"
+    json5 "^2.1.2"
+
 locate-path@^2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e"
@@ -4938,6 +8861,14 @@ locate-path@^2.0.0:
     p-locate "^2.0.0"
     path-exists "^3.0.0"
 
+locate-path@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e"
+  integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==
+  dependencies:
+    p-locate "^3.0.0"
+    path-exists "^3.0.0"
+
 locate-path@^5.0.0:
   version "5.0.0"
   resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0"
@@ -4957,6 +8888,11 @@ lodash.camelcase@^4.3.0:
   resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6"
   integrity sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==
 
+lodash.debounce@^4.0.8:
+  version "4.0.8"
+  resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af"
+  integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==
+
 lodash.isfunction@^3.0.9:
   version "3.0.9"
   resolved "https://registry.yarnpkg.com/lodash.isfunction/-/lodash.isfunction-3.0.9.tgz#06de25df4db327ac931981d1bdb067e5af68d051"
@@ -5012,7 +8948,7 @@ lodash.upperfirst@^4.3.1:
   resolved "https://registry.yarnpkg.com/lodash.upperfirst/-/lodash.upperfirst-4.3.1.tgz#1365edf431480481ef0d1c68957a5ed99d49f7ce"
   integrity sha512-sReKOYJIJf74dhJONhU4e0/shzi1trVbSWDOhKYE5XV2O+H7Sb2Dihwuc7xWxVl+DgFPyTqIN3zMfT9cq5iWDg==
 
-lodash@4.17.21, lodash@^4.17.15, lodash@^4.17.21:
+lodash@4.17.21, lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.21:
   version "4.17.21"
   resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
   integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
@@ -5042,6 +8978,13 @@ loose-envify@^1.1.0, loose-envify@^1.4.0:
   dependencies:
     js-tokens "^3.0.0 || ^4.0.0"
 
+lower-case@^2.0.2:
+  version "2.0.2"
+  resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28"
+  integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==
+  dependencies:
+    tslib "^2.0.3"
+
 lowercase-keys@^3.0.0:
   version "3.0.0"
   resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-3.0.0.tgz#c5e7d442e37ead247ae9db117a9d0a467c89d4f2"
@@ -5078,7 +9021,15 @@ magic-string@^0.25.7:
   dependencies:
     sourcemap-codec "^1.4.8"
 
-make-dir@^3.0.0:
+make-dir@^2.0.0, make-dir@^2.1.0:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5"
+  integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==
+  dependencies:
+    pify "^4.0.1"
+    semver "^5.6.0"
+
+make-dir@^3.0.0, make-dir@^3.0.2, make-dir@^3.1.0:
   version "3.1.0"
   resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f"
   integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==
@@ -5107,6 +9058,47 @@ map-obj@^4.0.0:
   resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a"
   integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==
 
+map-or-similar@^1.5.0:
+  version "1.5.0"
+  resolved "https://registry.yarnpkg.com/map-or-similar/-/map-or-similar-1.5.0.tgz#6de2653174adfb5d9edc33c69d3e92a1b76faf08"
+  integrity sha512-0aF7ZmVon1igznGI4VS30yugpduQW3y3GkcgGJOp7d8x8QrizhigUxjI/m2UojsXXto+jLAH3KSz+xOJTiORjg==
+
+markdown-to-jsx@^7.1.8:
+  version "7.1.9"
+  resolved "https://registry.yarnpkg.com/markdown-to-jsx/-/markdown-to-jsx-7.1.9.tgz#1ffae0cda07c189163d273bd57a5b8f8f8745586"
+  integrity sha512-x4STVIKIJR0mGgZIZ5RyAeQD7FEZd5tS8m/htbcVGlex32J+hlSLj+ExrHCxP6nRKF1EKbcO7i6WhC1GtOpBlA==
+
+mdast-util-definitions@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/mdast-util-definitions/-/mdast-util-definitions-4.0.0.tgz#c5c1a84db799173b4dcf7643cda999e440c24db2"
+  integrity sha512-k8AJ6aNnUkB7IE+5azR9h81O5EQ/cTDXtWdMq9Kk5KcEW/8ritU5CeLg/9HhOC++nALHBlaogJ5jz0Ybk3kPMQ==
+  dependencies:
+    unist-util-visit "^2.0.0"
+
+mdast-util-to-string@^1.0.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-1.1.0.tgz#27055500103f51637bd07d01da01eb1967a43527"
+  integrity sha512-jVU0Nr2B9X3MU4tSK7JP1CMkSvOj7X5l/GboG1tKRw52lLF1x2Ju92Ms9tNetCcbfX3hzlM73zYo2NKkWSfF/A==
+
+media-typer@0.3.0:
+  version "0.3.0"
+  resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
+  integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==
+
+memfs@^3.4.1, memfs@^3.4.3:
+  version "3.4.13"
+  resolved "https://registry.yarnpkg.com/memfs/-/memfs-3.4.13.tgz#248a8bd239b3c240175cd5ec548de5227fc4f345"
+  integrity sha512-omTM41g3Skpvx5dSYeZIbXKcXoAVc/AoMNwn9TKx++L/gaen/+4TTttmu8ZSch5vfVJ8uJvGbroTsIlslRg6lg==
+  dependencies:
+    fs-monkey "^1.0.3"
+
+memoizerific@^1.11.3:
+  version "1.11.3"
+  resolved "https://registry.yarnpkg.com/memoizerific/-/memoizerific-1.11.3.tgz#7c87a4646444c32d75438570905f2dbd1b1a805a"
+  integrity sha512-/EuHYwAPdLtXwAwSZkh/Gutery6pD2KYd44oQLhAvQp/50mpyduZh8Q7PYHXTCJ+wuXxt7oij2LXyIJOOYFPog==
+  dependencies:
+    map-or-similar "^1.5.0"
+
 meow@^8.0.0:
   version "8.1.2"
   resolved "https://registry.yarnpkg.com/meow/-/meow-8.1.2.tgz#bcbe45bda0ee1729d350c03cffc8395a36c4e897"
@@ -5124,6 +9116,11 @@ meow@^8.0.0:
     type-fest "^0.18.0"
     yargs-parser "^20.2.3"
 
+merge-descriptors@1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61"
+  integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==
+
 merge-stream@^2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"
@@ -5134,7 +9131,12 @@ merge2@^1.3.0, merge2@^1.4.1:
   resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
   integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
 
-micromatch@^4.0.4, micromatch@^4.0.5:
+methods@~1.1.2:
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee"
+  integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==
+
+micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5:
   version "4.0.5"
   resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6"
   integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==
@@ -5142,18 +9144,28 @@ micromatch@^4.0.4, micromatch@^4.0.5:
     braces "^3.0.2"
     picomatch "^2.3.1"
 
-mime-db@1.52.0:
+mime-db@1.52.0, "mime-db@>= 1.43.0 < 2":
   version "1.52.0"
   resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70"
   integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
 
-mime-types@2.1.35, mime-types@^2.1.12:
+mime-types@2.1.35, mime-types@^2.1.12, mime-types@^2.1.25, mime-types@^2.1.27, mime-types@^2.1.31, mime-types@~2.1.24, mime-types@~2.1.34:
   version "2.1.35"
   resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a"
   integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==
   dependencies:
     mime-db "1.52.0"
 
+mime@1.6.0:
+  version "1.6.0"
+  resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"
+  integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==
+
+mime@^2.0.3:
+  version "2.6.0"
+  resolved "https://registry.yarnpkg.com/mime/-/mime-2.6.0.tgz#a2a682a95cd4d0cb1d6257e28f83da7e35800367"
+  integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==
+
 mimic-fn@^2.1.0:
   version "2.1.0"
   resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
@@ -5179,13 +9191,20 @@ min-indent@^1.0.0:
   resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869"
   integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==
 
-minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2:
+minimatch@^3.0.2, minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2:
   version "3.1.2"
   resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
   integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
   dependencies:
     brace-expansion "^1.1.7"
 
+minimatch@^5.0.1:
+  version "5.1.6"
+  resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96"
+  integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==
+  dependencies:
+    brace-expansion "^2.0.1"
+
 minimist-options@4.1.0:
   version "4.1.0"
   resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619"
@@ -5200,22 +9219,66 @@ minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6:
   resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.7.tgz#daa1c4d91f507390437c6a8bc01078e7000c4d18"
   integrity sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==
 
+minipass@^3.0.0:
+  version "3.3.6"
+  resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.3.6.tgz#7bba384db3a1520d18c9c0e5251c3444e95dd94a"
+  integrity sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==
+  dependencies:
+    yallist "^4.0.0"
+
+minipass@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/minipass/-/minipass-4.0.0.tgz#7cebb0f9fa7d56f0c5b17853cbe28838a8dbbd3b"
+  integrity sha512-g2Uuh2jEKoht+zvO6vJqXmYpflPqzRBT+Th2h01DKh5z7wbY/AZ2gCQ78cP70YoHPyFdY30YBV5WxgLOEwOykw==
+  dependencies:
+    yallist "^4.0.0"
+
+minizlib@^2.1.1:
+  version "2.1.2"
+  resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931"
+  integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==
+  dependencies:
+    minipass "^3.0.0"
+    yallist "^4.0.0"
+
+mkdirp@^0.5.4:
+  version "0.5.6"
+  resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6"
+  integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==
+  dependencies:
+    minimist "^1.2.6"
+
+mkdirp@^1.0.3:
+  version "1.0.4"
+  resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e"
+  integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==
+
 modify-values@^1.0.0:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/modify-values/-/modify-values-1.0.1.tgz#b3939fa605546474e3e3e3c63d64bd43b4ee6022"
   integrity sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==
 
+mri@^1.2.0:
+  version "1.2.0"
+  resolved "https://registry.yarnpkg.com/mri/-/mri-1.2.0.tgz#6721480fec2a11a4889861115a48b6cbe7cc8f0b"
+  integrity sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==
+
 ms@2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
   integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==
 
+ms@2.1.1:
+  version "2.1.1"
+  resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a"
+  integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==
+
 ms@2.1.2:
   version "2.1.2"
   resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
   integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
 
-ms@^2.1.1:
+ms@2.1.3, ms@^2.1.1:
   version "2.1.3"
   resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
   integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
@@ -5234,6 +9297,11 @@ mz@^2.7.0:
     object-assign "^4.0.1"
     thenify-all "^1.0.0"
 
+nanoid@^3.3.1, nanoid@^3.3.4:
+  version "3.3.4"
+  resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab"
+  integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==
+
 natural-compare-lite@^1.4.0:
   version "1.4.0"
   resolved "https://registry.yarnpkg.com/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz#17b09581988979fddafe0201e931ba933c96cbb4"
@@ -5244,7 +9312,12 @@ natural-compare@^1.4.0:
   resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
   integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==
 
-neo-async@^2.6.0:
+negotiator@0.6.3:
+  version "0.6.3"
+  resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd"
+  integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==
+
+neo-async@^2.5.0, neo-async@^2.6.0, neo-async@^2.6.1, neo-async@^2.6.2:
   version "2.6.2"
   resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f"
   integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==
@@ -5261,11 +9334,36 @@ new-github-release-url@2.0.0:
   dependencies:
     type-fest "^2.5.1"
 
+no-case@^3.0.4:
+  version "3.0.4"
+  resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d"
+  integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==
+  dependencies:
+    lower-case "^2.0.2"
+    tslib "^2.0.3"
+
+node-abort-controller@^3.0.1:
+  version "3.1.1"
+  resolved "https://registry.yarnpkg.com/node-abort-controller/-/node-abort-controller-3.1.1.tgz#a94377e964a9a37ac3976d848cb5c765833b8548"
+  integrity sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ==
+
+node-dir@^0.1.10, node-dir@^0.1.17:
+  version "0.1.17"
+  resolved "https://registry.yarnpkg.com/node-dir/-/node-dir-0.1.17.tgz#5f5665d93351335caabef8f1c554516cf5f1e4e5"
+  integrity sha512-tmPX422rYgofd4epzrNoOXiE8XFZYOcCq1vD7MAXCDO+O+zndlA2ztdKKMa+EeuBG5tHETpr4ml4RGgpqDCCAg==
+  dependencies:
+    minimatch "^3.0.2"
+
 node-domexception@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/node-domexception/-/node-domexception-1.0.0.tgz#6888db46a1f71c0b76b3f7555016b63fe64766e5"
   integrity sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==
 
+node-fetch-native@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/node-fetch-native/-/node-fetch-native-1.0.1.tgz#1dfe78f57545d07e07016b7df4c0cb9d2ff416c7"
+  integrity sha512-VzW+TAk2wE4X9maiKMlT+GsPU4OMmR1U9CrHSmd3DFLn2IcZ9VJ6M6BBugGfYUnPCLSYxXdZy17M0BEJyhUTwg==
+
 node-fetch@3.3.0:
   version "3.3.0"
   resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-3.3.0.tgz#37e71db4ecc257057af828d523a7243d651d91e4"
@@ -5275,6 +9373,13 @@ node-fetch@3.3.0:
     fetch-blob "^3.1.4"
     formdata-polyfill "^4.0.10"
 
+node-fetch@^2.6.1:
+  version "2.6.9"
+  resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.9.tgz#7c7f744b5cc6eb5fd404e0c7a9fec630a55657e6"
+  integrity sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==
+  dependencies:
+    whatwg-url "^5.0.0"
+
 node-fetch@^2.6.7:
   version "2.6.8"
   resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.8.tgz#a68d30b162bc1d8fd71a367e81b997e1f4d4937e"
@@ -5336,6 +9441,23 @@ npm-run-path@^5.1.0:
   dependencies:
     path-key "^4.0.0"
 
+npmlog@^5.0.1:
+  version "5.0.1"
+  resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-5.0.1.tgz#f06678e80e29419ad67ab964e0fa69959c1eb8b0"
+  integrity sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==
+  dependencies:
+    are-we-there-yet "^2.0.0"
+    console-control-strings "^1.1.0"
+    gauge "^3.0.0"
+    set-blocking "^2.0.0"
+
+nth-check@^2.0.1:
+  version "2.1.1"
+  resolved "https://registry.yarnpkg.com/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d"
+  integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==
+  dependencies:
+    boolbase "^1.0.0"
+
 nwsapi@^2.2.2:
   version "2.2.2"
   resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.2.tgz#e5418863e7905df67d51ec95938d67bf801f0bb0"
@@ -5351,7 +9473,7 @@ object-inspect@^1.12.2, object-inspect@^1.9.0:
   resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.2.tgz#c0641f26394532f28ab8d796ab954e43c009a8ea"
   integrity sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==
 
-object-is@^1.1.5:
+object-is@^1.0.1, object-is@^1.1.5:
   version "1.1.5"
   resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac"
   integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==
@@ -5409,6 +9531,23 @@ object.values@^1.1.5, object.values@^1.1.6:
     define-properties "^1.1.4"
     es-abstract "^1.20.4"
 
+objectorarray@^1.0.5:
+  version "1.0.5"
+  resolved "https://registry.yarnpkg.com/objectorarray/-/objectorarray-1.0.5.tgz#2c05248bbefabd8f43ad13b41085951aac5e68a5"
+  integrity sha512-eJJDYkhJFFbBBAxeh8xW+weHlkI28n2ZdQV/J/DNfWfSKlGEf2xcfAbZTv3riEXHAhL9SVOTs2pRmXiSTf78xg==
+
+on-finished@2.4.1:
+  version "2.4.1"
+  resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f"
+  integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==
+  dependencies:
+    ee-first "1.1.1"
+
+on-headers@~1.0.2:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f"
+  integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==
+
 once@^1.3.0, once@^1.4.0:
   version "1.4.0"
   resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
@@ -5439,6 +9578,14 @@ open@8.4.0, open@^8.4.0:
     is-docker "^2.1.1"
     is-wsl "^2.2.0"
 
+open@^7.0.3:
+  version "7.4.2"
+  resolved "https://registry.yarnpkg.com/open/-/open-7.4.2.tgz#b8147e26dcf3e426316c730089fd71edd29c2321"
+  integrity sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==
+  dependencies:
+    is-docker "^2.0.0"
+    is-wsl "^2.1.1"
+
 optionator@^0.8.1:
   version "0.8.3"
   resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495"
@@ -5503,7 +9650,7 @@ p-limit@^1.1.0:
   dependencies:
     p-try "^1.0.0"
 
-p-limit@^2.2.0:
+p-limit@^2.0.0, p-limit@^2.2.0:
   version "2.3.0"
   resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1"
   integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==
@@ -5524,6 +9671,13 @@ p-locate@^2.0.0:
   dependencies:
     p-limit "^1.1.0"
 
+p-locate@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4"
+  integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==
+  dependencies:
+    p-limit "^2.0.0"
+
 p-locate@^4.1.0:
   version "4.1.0"
   resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07"
@@ -5589,6 +9743,14 @@ package-json@^8.1.0:
     registry-url "^6.0.0"
     semver "^7.3.7"
 
+param-case@^3.0.4:
+  version "3.0.4"
+  resolved "https://registry.yarnpkg.com/param-case/-/param-case-3.0.4.tgz#7d17fe4aa12bde34d4a77d91acfb6219caad01c5"
+  integrity sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==
+  dependencies:
+    dot-case "^3.0.4"
+    tslib "^2.0.3"
+
 parent-module@^1.0.0:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
@@ -5635,6 +9797,24 @@ parse5@^7.0.0, parse5@^7.1.1:
   dependencies:
     entities "^4.4.0"
 
+parseurl@~1.3.2, parseurl@~1.3.3:
+  version "1.3.3"
+  resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4"
+  integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==
+
+pascal-case@^3.1.2:
+  version "3.1.2"
+  resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-3.1.2.tgz#b48e0ef2b98e205e7c1dae747d0b1508237660eb"
+  integrity sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==
+  dependencies:
+    no-case "^3.0.4"
+    tslib "^2.0.3"
+
+path-browserify@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/path-browserify/-/path-browserify-1.0.1.tgz#d98454a9c3753d5790860f16f68867b9e46be1fd"
+  integrity sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==
+
 path-exists@^3.0.0:
   version "3.0.0"
   resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
@@ -5665,6 +9845,11 @@ path-parse@^1.0.7:
   resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
   integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
 
+path-to-regexp@0.1.7:
+  version "0.1.7"
+  resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c"
+  integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==
+
 path-type@^3.0.0:
   version "3.0.0"
   resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f"
@@ -5677,12 +9862,22 @@ path-type@^4.0.0:
   resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
   integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
 
+pathe@^1.0.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/pathe/-/pathe-1.1.0.tgz#e2e13f6c62b31a3289af4ba19886c230f295ec03"
+  integrity sha512-ODbEPR0KKHqECXW1GoxdDb+AZvULmXjVPy4rt+pGo2+TnjJTIPJQSVS6N63n8T2Ip+syHhbn52OewKicV0373w==
+
+pend@~1.2.0:
+  version "1.2.0"
+  resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50"
+  integrity sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==
+
 picocolors@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
   integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
 
-picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.1:
+picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.0, picomatch@^2.3.1:
   version "2.3.1"
   resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
   integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
@@ -5702,25 +9897,101 @@ pify@^3.0.0:
   resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176"
   integrity sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==
 
-pirates@^4.0.1, pirates@^4.0.4:
+pify@^4.0.1:
+  version "4.0.1"
+  resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231"
+  integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==
+
+pirates@^4.0.1, pirates@^4.0.4, pirates@^4.0.5:
   version "4.0.5"
   resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b"
   integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==
 
-pkg-dir@^4.2.0:
+pkg-dir@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3"
+  integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==
+  dependencies:
+    find-up "^3.0.0"
+
+pkg-dir@^4.1.0, pkg-dir@^4.2.0:
   version "4.2.0"
   resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3"
   integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==
   dependencies:
     find-up "^4.0.0"
 
+pkg-dir@^5.0.0:
+  version "5.0.0"
+  resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-5.0.0.tgz#a02d6aebe6ba133a928f74aec20bafdfe6b8e760"
+  integrity sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==
+  dependencies:
+    find-up "^5.0.0"
+
+polished@^4.2.2:
+  version "4.2.2"
+  resolved "https://registry.yarnpkg.com/polished/-/polished-4.2.2.tgz#2529bb7c3198945373c52e34618c8fe7b1aa84d1"
+  integrity sha512-Sz2Lkdxz6F2Pgnpi9U5Ng/WdWAUZxmHrNPoVlm3aAemxoy2Qy7LGjQg4uf8qKelDAUW94F4np3iH2YPf2qefcQ==
+  dependencies:
+    "@babel/runtime" "^7.17.8"
+
 postcss-load-config@^3.0.1:
   version "3.1.4"
   resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-3.1.4.tgz#1ab2571faf84bb078877e1d07905eabe9ebda855"
   integrity sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==
   dependencies:
-    lilconfig "^2.0.5"
-    yaml "^1.10.2"
+    lilconfig "^2.0.5"
+    yaml "^1.10.2"
+
+postcss-modules-extract-imports@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz#cda1f047c0ae80c97dbe28c3e76a43b88025741d"
+  integrity sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==
+
+postcss-modules-local-by-default@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz#ebbb54fae1598eecfdf691a02b3ff3b390a5a51c"
+  integrity sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==
+  dependencies:
+    icss-utils "^5.0.0"
+    postcss-selector-parser "^6.0.2"
+    postcss-value-parser "^4.1.0"
+
+postcss-modules-scope@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz#9ef3151456d3bbfa120ca44898dfca6f2fa01f06"
+  integrity sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==
+  dependencies:
+    postcss-selector-parser "^6.0.4"
+
+postcss-modules-values@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz#d7c5e7e68c3bb3c9b27cbf48ca0bb3ffb4602c9c"
+  integrity sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==
+  dependencies:
+    icss-utils "^5.0.0"
+
+postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4:
+  version "6.0.11"
+  resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.11.tgz#2e41dc39b7ad74046e1615185185cd0b17d0c8dc"
+  integrity sha512-zbARubNdogI9j7WY4nQJBiNqQf3sLS3wCP4WfOidu+p28LofJqDH1tcXypGrcmMHhDk2t9wGhCsYe/+szLTy1g==
+  dependencies:
+    cssesc "^3.0.0"
+    util-deprecate "^1.0.2"
+
+postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0:
+  version "4.2.0"
+  resolved "https://registry.yarnpkg.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514"
+  integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==
+
+postcss@^8.4.19:
+  version "8.4.21"
+  resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.21.tgz#c639b719a57efc3187b13a1d765675485f4134f4"
+  integrity sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==
+  dependencies:
+    nanoid "^3.3.4"
+    picocolors "^1.0.0"
+    source-map-js "^1.0.2"
 
 prelude-ls@^1.2.1:
   version "1.2.1"
@@ -5739,11 +10010,24 @@ prettier-linter-helpers@^1.0.0:
   dependencies:
     fast-diff "^1.1.2"
 
+prettier@^2.8.0:
+  version "2.8.3"
+  resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.3.tgz#ab697b1d3dd46fb4626fbe2f543afe0cc98d8632"
+  integrity sha512-tJ/oJ4amDihPoufT5sM0Z1SKEuKay8LfVAMlbbhnnkvt6BUserZylqo2PN+p9KeljLr0OHa2rXHU1T8reeoTrw==
+
 prettier@^2.8.1:
   version "2.8.1"
   resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.1.tgz#4e1fd11c34e2421bc1da9aea9bd8127cd0a35efc"
   integrity sha512-lqGoSJBQNJidqCHE80vqZJHWHRFoNYsSpP9AjFhlhi9ODCJA541svILes/+/1GM3VaL/abZi7cpFzOpdR9UPKg==
 
+pretty-error@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-4.0.0.tgz#90a703f46dd7234adb46d0f84823e9d1cb8f10d6"
+  integrity sha512-AoJ5YMAcXKYxKhuJGdcvse+Voc6v1RgnsR3nWcYU7q4t6z0Q6T86sv5Zq8VIRbOWWFpvdGE83LtdSMNd+6Y0xw==
+  dependencies:
+    lodash "^4.17.20"
+    renderkid "^3.0.0"
+
 pretty-format@^27.0.2:
   version "27.5.1"
   resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.5.1.tgz#2181879fdea51a7a5851fb39d920faa63f01d88e"
@@ -5762,11 +10046,36 @@ pretty-format@^29.0.0, pretty-format@^29.3.1:
     ansi-styles "^5.0.0"
     react-is "^18.0.0"
 
+pretty-hrtime@^1.0.3:
+  version "1.0.3"
+  resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1"
+  integrity sha512-66hKPCr+72mlfiSjlEB1+45IjXSqvVAIy6mocupoww4tBFE9R9IhwwUGoI4G++Tc9Aq+2rxOt0RFU6gPcrte0A==
+
+printable-characters@^1.0.42:
+  version "1.0.42"
+  resolved "https://registry.yarnpkg.com/printable-characters/-/printable-characters-1.0.42.tgz#3f18e977a9bd8eb37fcc4ff5659d7be90868b3d8"
+  integrity sha512-dKp+C4iXWK4vVYZmYSd0KBH5F/h1HoZRsbJ82AVKRO3PEo8L4lBS/vLwhVtpwwuYcoIsVY+1JYKR268yn480uQ==
+
+prism-react-renderer@^1.2.1:
+  version "1.3.5"
+  resolved "https://registry.yarnpkg.com/prism-react-renderer/-/prism-react-renderer-1.3.5.tgz#786bb69aa6f73c32ba1ee813fbe17a0115435085"
+  integrity sha512-IJ+MSwBWKG+SM3b2SUfdrhC+gu01QkV2KmRQgREThBfSQRoufqRfxfHUxpG1WcaFjP+kojcFyO9Qqtpgt3qLCg==
+
 process-nextick-args@~2.0.0:
   version "2.0.1"
   resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
   integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==
 
+process@^0.11.10:
+  version "0.11.10"
+  resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182"
+  integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==
+
+progress@^2.0.1:
+  version "2.0.3"
+  resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8"
+  integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==
+
 promise.allsettled@1.0.6:
   version "1.0.6"
   resolved "https://registry.yarnpkg.com/promise.allsettled/-/promise.allsettled-1.0.6.tgz#8dc8ba8edf429feb60f8e81335b920e109c94b6e"
@@ -5779,7 +10088,7 @@ promise.allsettled@1.0.6:
     get-intrinsic "^1.1.3"
     iterate-value "^1.0.2"
 
-prompts@^2.0.1:
+prompts@^2.0.1, prompts@^2.4.0:
   version "2.4.2"
   resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069"
   integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==
@@ -5787,7 +10096,7 @@ prompts@^2.0.1:
     kleur "^3.0.3"
     sisteransi "^1.0.5"
 
-prop-types@^15.8.1:
+prop-types@^15.7.2, prop-types@^15.8.1:
   version "15.8.1"
   resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5"
   integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==
@@ -5806,6 +10115,14 @@ protocols@^2.0.0, protocols@^2.0.1:
   resolved "https://registry.yarnpkg.com/protocols/-/protocols-2.0.1.tgz#8f155da3fc0f32644e83c5782c8e8212ccf70a86"
   integrity sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q==
 
+proxy-addr@~2.0.7:
+  version "2.0.7"
+  resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025"
+  integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==
+  dependencies:
+    forwarded "0.2.0"
+    ipaddr.js "1.9.1"
+
 proxy-agent@5.0.0:
   version "5.0.0"
   resolved "https://registry.yarnpkg.com/proxy-agent/-/proxy-agent-5.0.0.tgz#d31405c10d6e8431fde96cba7a0c027ce01d633b"
@@ -5842,11 +10159,34 @@ pupa@^3.1.0:
   dependencies:
     escape-goat "^4.0.0"
 
+puppeteer-core@^2.1.1:
+  version "2.1.1"
+  resolved "https://registry.yarnpkg.com/puppeteer-core/-/puppeteer-core-2.1.1.tgz#e9b3fbc1237b4f66e25999832229e9db3e0b90ed"
+  integrity sha512-n13AWriBMPYxnpbb6bnaY5YoY6rGj8vPLrz6CZF3o0qJNEwlcfJVxBzYZ0NJsQ21UbdJoijPCDrM++SUVEz7+w==
+  dependencies:
+    "@types/mime-types" "^2.1.0"
+    debug "^4.1.0"
+    extract-zip "^1.6.6"
+    https-proxy-agent "^4.0.0"
+    mime "^2.0.3"
+    mime-types "^2.1.25"
+    progress "^2.0.1"
+    proxy-from-env "^1.0.0"
+    rimraf "^2.6.1"
+    ws "^6.1.0"
+
 q@^1.5.1:
   version "1.5.1"
   resolved "https://registry.yarnpkg.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7"
   integrity sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==
 
+qs@6.11.0, qs@^6.10.0:
+  version "6.11.0"
+  resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a"
+  integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==
+  dependencies:
+    side-channel "^1.0.4"
+
 querystringify@^2.1.1:
   version "2.2.0"
   resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6"
@@ -5867,7 +10207,24 @@ quick-lru@^5.1.1:
   resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932"
   integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==
 
-raw-body@^2.2.0:
+ramda@^0.28.0:
+  version "0.28.0"
+  resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.28.0.tgz#acd785690100337e8b063cab3470019be427cc97"
+  integrity sha512-9QnLuG/kPVgWvMQ4aODhsBUFKOUmnbUnsSXACv+NCQZcHbeb+v8Lodp8OVxtRULN1/xOyYLLaL6npE6dMq5QTA==
+
+randombytes@^2.1.0:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a"
+  integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==
+  dependencies:
+    safe-buffer "^5.1.0"
+
+range-parser@^1.2.1, range-parser@~1.2.1:
+  version "1.2.1"
+  resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031"
+  integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==
+
+raw-body@2.5.1, raw-body@^2.2.0:
   version "2.5.1"
   resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.1.tgz#fe1b1628b181b700215e5fd42389f98b71392857"
   integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==
@@ -5887,6 +10244,32 @@ rc@1.2.8:
     minimist "^1.2.0"
     strip-json-comments "~2.0.1"
 
+react-colorful@^5.1.2:
+  version "5.6.1"
+  resolved "https://registry.yarnpkg.com/react-colorful/-/react-colorful-5.6.1.tgz#7dc2aed2d7c72fac89694e834d179e32f3da563b"
+  integrity sha512-1exovf0uGTGyq5mXQT0zgQ80uvj2PCwvF8zY1RN9/vbJVSjSo3fsB/4L3ObbF7u70NduSiK4xu4Y6q1MHoUGEw==
+
+react-docgen-typescript@^2.1.1:
+  version "2.2.2"
+  resolved "https://registry.yarnpkg.com/react-docgen-typescript/-/react-docgen-typescript-2.2.2.tgz#4611055e569edc071204aadb20e1c93e1ab1659c"
+  integrity sha512-tvg2ZtOpOi6QDwsb3GZhOjDkkX0h8Z2gipvTg6OVMUyoYoURhEiRNePT8NZItTVCDh39JJHnLdfCOkzoLbFnTg==
+
+react-docgen@^5.0.0:
+  version "5.4.3"
+  resolved "https://registry.yarnpkg.com/react-docgen/-/react-docgen-5.4.3.tgz#7d297f73b977d0c7611402e5fc2a168acf332b26"
+  integrity sha512-xlLJyOlnfr8lLEEeaDZ+X2J/KJoe6Nr9AzxnkdQWush5hz2ZSu66w6iLMOScMmxoSHWpWMn+k3v5ZiyCfcWsOA==
+  dependencies:
+    "@babel/core" "^7.7.5"
+    "@babel/generator" "^7.12.11"
+    "@babel/runtime" "^7.7.6"
+    ast-types "^0.14.2"
+    commander "^2.19.0"
+    doctrine "^3.0.0"
+    estree-to-babel "^3.1.0"
+    neo-async "^2.6.1"
+    node-dir "^0.1.10"
+    strip-indent "^3.0.0"
+
 react-dom@^18.2.0:
   version "18.2.0"
   resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d"
@@ -5895,7 +10278,33 @@ react-dom@^18.2.0:
     loose-envify "^1.1.0"
     scheduler "^0.23.0"
 
-react-is@^16.13.1:
+react-element-to-jsx-string@^15.0.0:
+  version "15.0.0"
+  resolved "https://registry.yarnpkg.com/react-element-to-jsx-string/-/react-element-to-jsx-string-15.0.0.tgz#1cafd5b6ad41946ffc8755e254da3fc752a01ac6"
+  integrity sha512-UDg4lXB6BzlobN60P8fHWVPX3Kyw8ORrTeBtClmIlGdkOOE+GYQSFvmEU5iLLpwp/6v42DINwNcwOhOLfQ//FQ==
+  dependencies:
+    "@base2/pretty-print-object" "1.0.1"
+    is-plain-object "5.0.0"
+    react-is "18.1.0"
+
+react-error-boundary@^3.1.4:
+  version "3.1.4"
+  resolved "https://registry.yarnpkg.com/react-error-boundary/-/react-error-boundary-3.1.4.tgz#255db92b23197108757a888b01e5b729919abde0"
+  integrity sha512-uM9uPzZJTF6wRQORmSrvOIgt4lJ9MC1sNgEOj2XGsDTRE4kmpWxg7ENK9EWNKJRMAOY9z0MuF4yIfl6gp4sotA==
+  dependencies:
+    "@babel/runtime" "^7.12.5"
+
+react-inspector@^6.0.0:
+  version "6.0.1"
+  resolved "https://registry.yarnpkg.com/react-inspector/-/react-inspector-6.0.1.tgz#1a37f0165d9df81ee804d63259eaaeabe841287d"
+  integrity sha512-cxKSeFTf7jpSSVddm66sKdolG90qURAX3g1roTeaN6x0YEbtWc8JpmFN9+yIqLNH2uEkYerWLtJZIXRIFuBKrg==
+
+react-is@18.1.0:
+  version "18.1.0"
+  resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.1.0.tgz#61aaed3096d30eacf2a2127118b5b41387d32a67"
+  integrity sha512-Fl7FuabXsJnV5Q1qIOQwx/sagGF18kogb4gpfcG4gjLBWO0WDiiz1ko/ExayuxE7InyQkBLkxRFG5oxY6Uu3Kg==
+
+react-is@^16.13.1, react-is@^16.7.0:
   version "16.13.1"
   resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
   integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
@@ -5910,6 +10319,32 @@ react-is@^18.0.0:
   resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b"
   integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==
 
+react-refresh@^0.11.0:
+  version "0.11.0"
+  resolved "https://registry.yarnpkg.com/react-refresh/-/react-refresh-0.11.0.tgz#77198b944733f0f1f1a90e791de4541f9f074046"
+  integrity sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==
+
+react-resizable-panels@^0.0.35:
+  version "0.0.35"
+  resolved "https://registry.yarnpkg.com/react-resizable-panels/-/react-resizable-panels-0.0.35.tgz#ac8c8918c957bbd5c37b4b93ca50a40b5c012e6a"
+  integrity sha512-8HFm5w4AG13aUN2+JWM/3unYP+QVmW0xs9iWM7Sa+HvIGCQhdvLEEx3lFmUyEiWPYmsBnPZaq6o/4pAi2dt4yQ==
+
+react-resize-detector@^7.1.2:
+  version "7.1.2"
+  resolved "https://registry.yarnpkg.com/react-resize-detector/-/react-resize-detector-7.1.2.tgz#8ef975dd8c3d56f9a5160ac382ef7136dcd2d86c"
+  integrity sha512-zXnPJ2m8+6oq9Nn8zsep/orts9vQv3elrpA+R8XTcW7DVVUJ9vwDwMXaBtykAYjMnkCIaOoK9vObyR7ZgFNlOw==
+  dependencies:
+    lodash "^4.17.21"
+
+react-textarea-autosize@8.3.4:
+  version "8.3.4"
+  resolved "https://registry.yarnpkg.com/react-textarea-autosize/-/react-textarea-autosize-8.3.4.tgz#270a343de7ad350534141b02c9cb78903e553524"
+  integrity sha512-CdtmP8Dc19xL8/R6sWvtknD/eCXkQr30dtvC4VmGInhRsfF8X/ihXCq6+9l9qbxmKRiq407/7z5fxE7cVWQNgQ==
+  dependencies:
+    "@babel/runtime" "^7.10.2"
+    use-composed-ref "^1.3.0"
+    use-latest "^1.2.1"
+
 react@^18.2.0:
   version "18.2.0"
   resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5"
@@ -5963,7 +10398,7 @@ readable-stream@1.1.x:
     isarray "0.0.1"
     string_decoder "~0.10.x"
 
-readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.0.2, readable-stream@^3.4.0:
+readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.0.2, readable-stream@^3.4.0, readable-stream@^3.6.0:
   version "3.6.0"
   resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198"
   integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==
@@ -5972,7 +10407,7 @@ readable-stream@3, readable-stream@^3.0.0, readable-stream@^3.0.2, readable-stre
     string_decoder "^1.1.1"
     util-deprecate "^1.0.1"
 
-readable-stream@~2.3.6:
+readable-stream@^2.2.2, readable-stream@~2.3.6:
   version "2.3.7"
   resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57"
   integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==
@@ -5992,6 +10427,27 @@ readdirp@~3.6.0:
   dependencies:
     picomatch "^2.2.1"
 
+recast@^0.21.0:
+  version "0.21.5"
+  resolved "https://registry.yarnpkg.com/recast/-/recast-0.21.5.tgz#e8cd22bb51bcd6130e54f87955d33a2b2e57b495"
+  integrity sha512-hjMmLaUXAm1hIuTqOdeYObMslq/q+Xff6QE3Y2P+uoHAg2nmVlLBps2hzh1UJDdMtDTMXOFewK6ky51JQIeECg==
+  dependencies:
+    ast-types "0.15.2"
+    esprima "~4.0.0"
+    source-map "~0.6.1"
+    tslib "^2.0.1"
+
+recast@^0.23.1:
+  version "0.23.1"
+  resolved "https://registry.yarnpkg.com/recast/-/recast-0.23.1.tgz#ee415a5561d2f99f02318ea8db81ad3a2267a6ff"
+  integrity sha512-RokaBcoxSjXUDzz1TXSZmZsSW6ZpLmlA3GGqJ8uuTrQ9hZhEz+4Tpsc+gRvYRJ2BU4H+ZyUlg91eSGDw7bwy7g==
+  dependencies:
+    assert "^2.0.0"
+    ast-types "^0.16.1"
+    esprima "~4.0.0"
+    source-map "~0.6.1"
+    tslib "^2.0.1"
+
 rechoir@^0.6.2:
   version "0.6.2"
   resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384"
@@ -6014,11 +10470,30 @@ redux@^4.2.0:
   dependencies:
     "@babel/runtime" "^7.9.2"
 
+regenerate-unicode-properties@^10.1.0:
+  version "10.1.0"
+  resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz#7c3192cab6dd24e21cb4461e5ddd7dd24fa8374c"
+  integrity sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==
+  dependencies:
+    regenerate "^1.4.2"
+
+regenerate@^1.4.2:
+  version "1.4.2"
+  resolved "https://registry.yarnpkg.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a"
+  integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==
+
 regenerator-runtime@^0.13.11:
   version "0.13.11"
   resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9"
   integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==
 
+regenerator-transform@^0.15.1:
+  version "0.15.1"
+  resolved "https://registry.yarnpkg.com/regenerator-transform/-/regenerator-transform-0.15.1.tgz#f6c4e99fc1b4591f780db2586328e4d9a9d8dc56"
+  integrity sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==
+  dependencies:
+    "@babel/runtime" "^7.8.4"
+
 regexp.prototype.flags@^1.4.3:
   version "1.4.3"
   resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz#87cab30f80f66660181a3bb7bf5981a872b367ac"
@@ -6033,6 +10508,18 @@ regexpp@^3.2.0:
   resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2"
   integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==
 
+regexpu-core@^5.2.1:
+  version "5.2.2"
+  resolved "https://registry.yarnpkg.com/regexpu-core/-/regexpu-core-5.2.2.tgz#3e4e5d12103b64748711c3aad69934d7718e75fc"
+  integrity sha512-T0+1Zp2wjF/juXMrMxHxidqGYn8U4R+zleSJhX9tQ1PUsS8a9UtYfbsF9LdiVgNX3kiX8RNaKM42nfSgvFJjmw==
+  dependencies:
+    regenerate "^1.4.2"
+    regenerate-unicode-properties "^10.1.0"
+    regjsgen "^0.7.1"
+    regjsparser "^0.9.1"
+    unicode-match-property-ecmascript "^2.0.0"
+    unicode-match-property-value-ecmascript "^2.1.0"
+
 registry-auth-token@^5.0.1:
   version "5.0.1"
   resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-5.0.1.tgz#5e6cd106e6c251135a046650c58476fc03e92833"
@@ -6047,6 +10534,23 @@ registry-url@^6.0.0:
   dependencies:
     rc "1.2.8"
 
+regjsgen@^0.7.1:
+  version "0.7.1"
+  resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.7.1.tgz#ee5ef30e18d3f09b7c369b76e7c2373ed25546f6"
+  integrity sha512-RAt+8H2ZEzHeYWxZ3H2z6tF18zyyOnlcdaafLrm21Bguj7uZy6ULibiAFdXEtKQY4Sy7wDTwDiOazasMLc4KPA==
+
+regjsparser@^0.9.1:
+  version "0.9.1"
+  resolved "https://registry.yarnpkg.com/regjsparser/-/regjsparser-0.9.1.tgz#272d05aa10c7c1f67095b1ff0addae8442fc5709"
+  integrity sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==
+  dependencies:
+    jsesc "~0.5.0"
+
+relateurl@^0.2.7:
+  version "0.2.7"
+  resolved "https://registry.yarnpkg.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9"
+  integrity sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==
+
 release-it@^15.6.0:
   version "15.6.0"
   resolved "https://registry.yarnpkg.com/release-it/-/release-it-15.6.0.tgz#db6c35088c29e5ca9d2c6d26cdce1010e49e30e7"
@@ -6079,6 +10583,37 @@ release-it@^15.6.0:
     wildcard-match "5.1.2"
     yargs-parser "21.1.1"
 
+remark-external-links@^8.0.0:
+  version "8.0.0"
+  resolved "https://registry.yarnpkg.com/remark-external-links/-/remark-external-links-8.0.0.tgz#308de69482958b5d1cd3692bc9b725ce0240f345"
+  integrity sha512-5vPSX0kHoSsqtdftSHhIYofVINC8qmp0nctkeU9YoJwV3YfiBRiI6cbFRJ0oI/1F9xS+bopXG0m2KS8VFscuKA==
+  dependencies:
+    extend "^3.0.0"
+    is-absolute-url "^3.0.0"
+    mdast-util-definitions "^4.0.0"
+    space-separated-tokens "^1.0.0"
+    unist-util-visit "^2.0.0"
+
+remark-slug@^6.0.0:
+  version "6.1.0"
+  resolved "https://registry.yarnpkg.com/remark-slug/-/remark-slug-6.1.0.tgz#0503268d5f0c4ecb1f33315c00465ccdd97923ce"
+  integrity sha512-oGCxDF9deA8phWvxFuyr3oSJsdyUAxMFbA0mZ7Y1Sas+emILtO+e5WutF9564gDsEN4IXaQXm5pFo6MLH+YmwQ==
+  dependencies:
+    github-slugger "^1.0.0"
+    mdast-util-to-string "^1.0.0"
+    unist-util-visit "^2.0.0"
+
+renderkid@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-3.0.0.tgz#5fd823e4d6951d37358ecc9a58b1f06836b6268a"
+  integrity sha512-q/7VIQA8lmM1hF+jn+sFSPWGlMkSAeNYcPLmDQx2zzuiDfaLrOmumR8iaUKlenFgh0XRPIUeSPlH3A+AW3Z5pg==
+  dependencies:
+    css-select "^4.1.3"
+    dom-converter "^0.2.0"
+    htmlparser2 "^6.1.0"
+    lodash "^4.17.21"
+    strip-ansi "^6.0.1"
+
 require-directory@^2.1.1:
   version "2.1.1"
   resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
@@ -6089,11 +10624,21 @@ require-from-string@^2.0.2:
   resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909"
   integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==
 
+requireindex@^1.1.0:
+  version "1.2.0"
+  resolved "https://registry.yarnpkg.com/requireindex/-/requireindex-1.2.0.tgz#3463cdb22ee151902635aa6c9535d4de9c2ef1ef"
+  integrity sha512-L9jEkOi3ASd9PYit2cwRfyppc9NoABujTP8/5gFcbERmo5jUoAKovIC3fsF17pkTnGsrByysqX+Kxd2OTNI1ww==
+
 requires-port@^1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff"
   integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==
 
+resize-observer-polyfill@^1.5.1:
+  version "1.5.1"
+  resolved "https://registry.yarnpkg.com/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz#0e9020dd3d21024458d4ebd27e23e40269810464"
+  integrity sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==
+
 resolve-alpn@^1.2.0:
   version "1.2.1"
   resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.2.1.tgz#b7adbdac3546aaaec20b45e7d8265927072726f9"
@@ -6128,7 +10673,7 @@ resolve.exports@^1.1.0:
   resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.0.tgz#5ce842b94b05146c0e03076985d1d0e7e48c90c9"
   integrity sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==
 
-resolve@^1.1.6, resolve@^1.10.0, resolve@^1.20.0, resolve@^1.22.0:
+resolve@^1.1.6, resolve@^1.10.0, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.22.0:
   version "1.22.1"
   resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177"
   integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==
@@ -6184,6 +10729,13 @@ rfdc@^1.3.0:
   resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.0.tgz#d0b7c441ab2720d05dc4cf26e01c89631d9da08b"
   integrity sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==
 
+rimraf@^2.6.1:
+  version "2.7.1"
+  resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec"
+  integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==
+  dependencies:
+    glob "^7.1.3"
+
 rimraf@^3.0.2:
   version "3.0.2"
   resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
@@ -6191,6 +10743,13 @@ rimraf@^3.0.2:
   dependencies:
     glob "^7.1.3"
 
+rimraf@~2.6.2:
+  version "2.6.3"
+  resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab"
+  integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==
+  dependencies:
+    glob "^7.1.3"
+
 rollup@^3.2.5:
   version "3.9.1"
   resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.9.1.tgz#27501d3d026418765fe379d5620d25954ff2a011"
@@ -6210,19 +10769,24 @@ run-parallel@^1.1.9:
   dependencies:
     queue-microtask "^1.2.2"
 
-rxjs@^7.5.7:
+rxjs@^7.5.7, rxjs@^7.8.0:
   version "7.8.0"
   resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.0.tgz#90a938862a82888ff4c7359811a595e14e1e09a4"
   integrity sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==
   dependencies:
     tslib "^2.1.0"
 
-safe-buffer@~5.1.0, safe-buffer@~5.1.1:
+safe-buffer@5.1.1:
+  version "5.1.1"
+  resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853"
+  integrity sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg==
+
+safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
   version "5.1.2"
   resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
   integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
 
-safe-buffer@~5.2.0:
+safe-buffer@5.2.1, safe-buffer@^5.1.0, safe-buffer@~5.2.0:
   version "5.2.1"
   resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
   integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
@@ -6255,6 +10819,34 @@ scheduler@^0.23.0:
   dependencies:
     loose-envify "^1.1.0"
 
+schema-utils@^2.6.5:
+  version "2.7.1"
+  resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7"
+  integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==
+  dependencies:
+    "@types/json-schema" "^7.0.5"
+    ajv "^6.12.4"
+    ajv-keywords "^3.5.2"
+
+schema-utils@^3.0.0, schema-utils@^3.1.0, schema-utils@^3.1.1:
+  version "3.1.1"
+  resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.1.1.tgz#bc74c4b6b6995c1d88f76a8b77bea7219e0c8281"
+  integrity sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==
+  dependencies:
+    "@types/json-schema" "^7.0.8"
+    ajv "^6.12.5"
+    ajv-keywords "^3.5.2"
+
+schema-utils@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.0.0.tgz#60331e9e3ae78ec5d16353c467c34b3a0a1d3df7"
+  integrity sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==
+  dependencies:
+    "@types/json-schema" "^7.0.9"
+    ajv "^8.8.0"
+    ajv-formats "^2.1.1"
+    ajv-keywords "^5.0.0"
+
 semver-diff@^4.0.0:
   version "4.0.0"
   resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-4.0.0.tgz#3afcf5ed6d62259f5c72d0d5d50dffbdc9680df5"
@@ -6262,28 +10854,92 @@ semver-diff@^4.0.0:
   dependencies:
     semver "^7.3.5"
 
-"semver@2 || 3 || 4 || 5":
+"semver@2 || 3 || 4 || 5", semver@^5.6.0:
   version "5.7.1"
   resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
   integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
 
-semver@7.3.8, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7:
+semver@7.3.8, semver@^7.3.4, semver@^7.3.5, semver@^7.3.7, semver@^7.3.8:
   version "7.3.8"
   resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798"
   integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==
   dependencies:
     lru-cache "^6.0.0"
 
-semver@^6.0.0, semver@^6.3.0:
+semver@^6.0.0, semver@^6.1.1, semver@^6.1.2, semver@^6.3.0:
   version "6.3.0"
   resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
   integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
 
+semver@~7.0.0:
+  version "7.0.0"
+  resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e"
+  integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==
+
+send@0.18.0:
+  version "0.18.0"
+  resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be"
+  integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==
+  dependencies:
+    debug "2.6.9"
+    depd "2.0.0"
+    destroy "1.2.0"
+    encodeurl "~1.0.2"
+    escape-html "~1.0.3"
+    etag "~1.8.1"
+    fresh "0.5.2"
+    http-errors "2.0.0"
+    mime "1.6.0"
+    ms "2.1.3"
+    on-finished "2.4.1"
+    range-parser "~1.2.1"
+    statuses "2.0.1"
+
+serialize-javascript@^6.0.0:
+  version "6.0.1"
+  resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.1.tgz#b206efb27c3da0b0ab6b52f48d170b7996458e5c"
+  integrity sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==
+  dependencies:
+    randombytes "^2.1.0"
+
+serve-favicon@^2.5.0:
+  version "2.5.0"
+  resolved "https://registry.yarnpkg.com/serve-favicon/-/serve-favicon-2.5.0.tgz#935d240cdfe0f5805307fdfe967d88942a2cbcf0"
+  integrity sha512-FMW2RvqNr03x+C0WxTyu6sOv21oOjkq5j8tjquWccwa6ScNyGFOGJVpuS1NmTVGBAHS07xnSKotgf2ehQmf9iA==
+  dependencies:
+    etag "~1.8.1"
+    fresh "0.5.2"
+    ms "2.1.1"
+    parseurl "~1.3.2"
+    safe-buffer "5.1.1"
+
+serve-static@1.15.0:
+  version "1.15.0"
+  resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540"
+  integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==
+  dependencies:
+    encodeurl "~1.0.2"
+    escape-html "~1.0.3"
+    parseurl "~1.3.3"
+    send "0.18.0"
+
+set-blocking@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
+  integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==
+
 setprototypeof@1.2.0:
   version "1.2.0"
   resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424"
   integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==
 
+shallow-clone@^3.0.0:
+  version "3.0.1"
+  resolved "https://registry.yarnpkg.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3"
+  integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==
+  dependencies:
+    kind-of "^6.0.2"
+
 shebang-command@^2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"
@@ -6314,11 +10970,18 @@ side-channel@^1.0.4:
     get-intrinsic "^1.0.2"
     object-inspect "^1.9.0"
 
-signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7:
+signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7:
   version "3.0.7"
   resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9"
   integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==
 
+simple-update-notifier@^1.0.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/simple-update-notifier/-/simple-update-notifier-1.1.0.tgz#67694c121de354af592b347cdba798463ed49c82"
+  integrity sha512-VpsrsJSUcJEseSbMHkrsrAVSdvVS5I96Qo1QAQ4FxQ9wXFcB+pjj7FB7/us9+GcgfW4ziHtYMc1J0PLczb55mg==
+  dependencies:
+    semver "~7.0.0"
+
 sisteransi@^1.0.5:
   version "1.0.5"
   resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed"
@@ -6387,6 +11050,11 @@ socks@^2.3.3:
     ip "^2.0.0"
     smart-buffer "^4.2.0"
 
+source-map-js@^1.0.2:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"
+  integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
+
 source-map-support@0.5.13:
   version "0.5.13"
   resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932"
@@ -6395,6 +11063,14 @@ source-map-support@0.5.13:
     buffer-from "^1.0.0"
     source-map "^0.6.0"
 
+source-map-support@^0.5.16, source-map-support@~0.5.20:
+  version "0.5.21"
+  resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f"
+  integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==
+  dependencies:
+    buffer-from "^1.0.0"
+    source-map "^0.6.0"
+
 source-map@0.8.0-beta.0:
   version "0.8.0-beta.0"
   resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.8.0-beta.0.tgz#d4c1bb42c3f7ee925f005927ba10709e0d1d1f11"
@@ -6402,16 +11078,31 @@ source-map@0.8.0-beta.0:
   dependencies:
     whatwg-url "^7.0.0"
 
-source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1:
+source-map@^0.5.7:
+  version "0.5.7"
+  resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
+  integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==
+
+source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1:
   version "0.6.1"
   resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
   integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
 
+source-map@^0.7.3:
+  version "0.7.4"
+  resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656"
+  integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==
+
 sourcemap-codec@^1.4.8:
   version "1.4.8"
   resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4"
   integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==
 
+space-separated-tokens@^1.0.0:
+  version "1.1.5"
+  resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz#85f32c3d10d9682007e917414ddc5c26d1aa6899"
+  integrity sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==
+
 spdx-correct@^3.0.0:
   version "3.1.1"
   resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9"
@@ -6438,6 +11129,11 @@ spdx-license-ids@^3.0.0:
   resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.12.tgz#69077835abe2710b65f03969898b6637b505a779"
   integrity sha512-rr+VVSXtRhO4OHbXUiAF7xW3Bo9DuuF6C5jH+q/x15j2jniycgKbxU09Hr0WqlSLUs4i4ltHGXqTe7VHclYWyA==
 
+specificity@^0.4.1:
+  version "0.4.1"
+  resolved "https://registry.yarnpkg.com/specificity/-/specificity-0.4.1.tgz#aab5e645012db08ba182e151165738d00887b019"
+  integrity sha512-1klA3Gi5PD1Wv9Q0wUoOQN1IWAuPu0D1U03ThXTr0cJ20+/iq2tHSDnK7Kk/0LXJ1ztUB2/1Os0wKmfyNgUQfg==
+
 split2@^3.0.0:
   version "3.2.2"
   resolved "https://registry.yarnpkg.com/split2/-/split2-3.2.2.tgz#bf2cf2a37d838312c249c89206fd7a17dd12365f"
@@ -6464,6 +11160,19 @@ stack-utils@^2.0.3:
   dependencies:
     escape-string-regexp "^2.0.0"
 
+stackframe@^1.3.4:
+  version "1.3.4"
+  resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.3.4.tgz#b881a004c8c149a5e8efef37d51b16e412943310"
+  integrity sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==
+
+stacktracey@^2.1.8:
+  version "2.1.8"
+  resolved "https://registry.yarnpkg.com/stacktracey/-/stacktracey-2.1.8.tgz#bf9916020738ce3700d1323b32bd2c91ea71199d"
+  integrity sha512-Kpij9riA+UNg7TnphqjH7/CzctQ/owJGNbFkfEeve4Z4uxT5+JapVLFXcsurIfN34gnTWZNJ/f7NMG0E8JDzTw==
+  dependencies:
+    as-table "^1.0.36"
+    get-source "^2.0.12"
+
 statuses@2.0.1:
   version "2.0.1"
   resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63"
@@ -6476,6 +11185,18 @@ stop-iteration-iterator@^1.0.0:
   dependencies:
     internal-slot "^1.0.4"
 
+store2@^2.14.2:
+  version "2.14.2"
+  resolved "https://registry.yarnpkg.com/store2/-/store2-2.14.2.tgz#56138d200f9fe5f582ad63bc2704dbc0e4a45068"
+  integrity sha512-siT1RiqlfQnGqgT/YzXVUNsom9S0H1OX+dpdGN1xkyYATo4I6sep5NmsRD/40s3IIOvlCq6akxkqG82urIZW1w==
+
+storybook@^7.0.0-beta.43:
+  version "7.0.0-beta.43"
+  resolved "https://registry.yarnpkg.com/storybook/-/storybook-7.0.0-beta.43.tgz#9528c1f1402bc332b956c4341325779261751b9a"
+  integrity sha512-fanmqfAK6wZSDIaR9ijzfCpTQ6xyIJP4DhqsaqVllN3HS5OVrGX5y2EV3AqiHSHNLY4eIzQqkk2aBu8WaySjHQ==
+  dependencies:
+    "@storybook/cli" "7.0.0-beta.43"
+
 string-argv@^0.3.1:
   version "0.3.1"
   resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da"
@@ -6497,7 +11218,7 @@ string-length@^5.0.1:
     char-regex "^2.0.0"
     strip-ansi "^7.0.1"
 
-string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
+"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2, string-width@^4.2.3:
   version "4.2.3"
   resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
   integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
@@ -6607,7 +11328,7 @@ strip-indent@^3.0.0:
   dependencies:
     min-indent "^1.0.0"
 
-strip-json-comments@^3.1.0, strip-json-comments@^3.1.1:
+strip-json-comments@^3.0.1, strip-json-comments@^3.1.0, strip-json-comments@^3.1.1:
   version "3.1.1"
   resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
   integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
@@ -6617,6 +11338,16 @@ strip-json-comments@~2.0.1:
   resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
   integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==
 
+style-loader@^3.3.1:
+  version "3.3.1"
+  resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-3.3.1.tgz#057dfa6b3d4d7c7064462830f9113ed417d38575"
+  integrity sha512-GPcQ+LDJbrcxHORTRes6Jy2sfvK2kS6hpSfI/fXhPt+spVzxF6LJ1dHLN9zIGmVaaP044YKaIatFaufENRiDoQ==
+
+stylis@4.1.3:
+  version "4.1.3"
+  resolved "https://registry.yarnpkg.com/stylis/-/stylis-4.1.3.tgz#fd2fbe79f5fed17c55269e16ed8da14c84d069f7"
+  integrity sha512-GP6WDNWf+o403jrEp9c5jibKavrtLW+/qYGhFxFrG8maXhwTBI7gLLhiBb0o7uFccWN+EOS9aMO6cGHWAO07OA==
+
 sucrase@^3.20.3:
   version "3.29.0"
   resolved "https://registry.yarnpkg.com/sucrase/-/sucrase-3.29.0.tgz#3207c5bc1b980fdae1e539df3f8a8a518236da7d"
@@ -6629,6 +11360,13 @@ sucrase@^3.20.3:
     pirates "^4.0.1"
     ts-interface-checker "^0.1.9"
 
+superjson@^1.12.2:
+  version "1.12.2"
+  resolved "https://registry.yarnpkg.com/superjson/-/superjson-1.12.2.tgz#072471f1e6add2d95a38b77fef8c7a199d82103a"
+  integrity sha512-ugvUo9/WmvWOjstornQhsN/sR9mnGtWGYeTxFuqLb4AiT4QdUavjGFRALCPKWWnAiUJ4HTpytj5e0t5HoMRkXg==
+  dependencies:
+    copy-anything "^3.0.2"
+
 supports-color@^5.3.0:
   version "5.5.0"
   resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
@@ -6660,6 +11398,11 @@ symbol-tree@^3.2.4:
   resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2"
   integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==
 
+synchronous-promise@^2.0.15:
+  version "2.0.17"
+  resolved "https://registry.yarnpkg.com/synchronous-promise/-/synchronous-promise-2.0.17.tgz#38901319632f946c982152586f2caf8ddc25c032"
+  integrity sha512-AsS729u2RHUfEra9xJrE39peJcc2stq2+poBXX8bcM08Y6g9j/i/PUzwNQqkaJde7Ntg1TO7bSREbR5sdosQ+g==
+
 synckit@^0.8.4:
   version "0.8.4"
   resolved "https://registry.yarnpkg.com/synckit/-/synckit-0.8.4.tgz#0e6b392b73fafdafcde56692e3352500261d64ec"
@@ -6668,11 +11411,89 @@ synckit@^0.8.4:
     "@pkgr/utils" "^2.3.1"
     tslib "^2.4.0"
 
-tapable@^2.2.0:
+tabbable@^6.0.1:
+  version "6.0.1"
+  resolved "https://registry.yarnpkg.com/tabbable/-/tabbable-6.0.1.tgz#427a09b13c83ae41eed3e88abb76a4af28bde1a6"
+  integrity sha512-SYJSIgeyXW7EuX1ytdneO5e8jip42oHWg9xl/o3oTYhmXusZVgiA+VlPvjIN+kHii9v90AmzTZEBcsEvuAY+TA==
+
+tapable@^2.0.0, tapable@^2.1.1, tapable@^2.2.0, tapable@^2.2.1:
   version "2.2.1"
   resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0"
   integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==
 
+tar@^6.1.12:
+  version "6.1.13"
+  resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.13.tgz#46e22529000f612180601a6fe0680e7da508847b"
+  integrity sha512-jdIBIN6LTIe2jqzay/2vtYLlBHa3JF42ot3h1dW8Q0PaAG4v8rm0cvpVePtau5C6OKXGGcgO9q2AMNSWxiLqKw==
+  dependencies:
+    chownr "^2.0.0"
+    fs-minipass "^2.0.0"
+    minipass "^4.0.0"
+    minizlib "^2.1.1"
+    mkdirp "^1.0.3"
+    yallist "^4.0.0"
+
+telejson@^7.0.3:
+  version "7.0.4"
+  resolved "https://registry.yarnpkg.com/telejson/-/telejson-7.0.4.tgz#2e88c0af9566b4f687622ed490588312b2bec186"
+  integrity sha512-J4QEuCnYGXAI9KSN7RXK0a0cOW2ONpjc4IQbInGZ6c3stvplLAYyZjTnScrRd8deXVjNCFV1wXcLC7SObDuQYA==
+  dependencies:
+    memoizerific "^1.11.3"
+
+temp-dir@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/temp-dir/-/temp-dir-2.0.0.tgz#bde92b05bdfeb1516e804c9c00ad45177f31321e"
+  integrity sha512-aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==
+
+temp@^0.8.4:
+  version "0.8.4"
+  resolved "https://registry.yarnpkg.com/temp/-/temp-0.8.4.tgz#8c97a33a4770072e0a05f919396c7665a7dd59f2"
+  integrity sha512-s0ZZzd0BzYv5tLSptZooSjK8oj6C+c19p7Vqta9+6NPOf7r+fxq0cJe6/oN4LTC79sy5NY8ucOJNgwsKCSbfqg==
+  dependencies:
+    rimraf "~2.6.2"
+
+tempy@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/tempy/-/tempy-1.0.1.tgz#30fe901fd869cfb36ee2bd999805aa72fbb035de"
+  integrity sha512-biM9brNqxSc04Ee71hzFbryD11nX7VPhQQY32AdDmjFvodsRFz/3ufeoTZ6uYkRFfGo188tENcASNs3vTdsM0w==
+  dependencies:
+    del "^6.0.0"
+    is-stream "^2.0.0"
+    temp-dir "^2.0.0"
+    type-fest "^0.16.0"
+    unique-string "^2.0.0"
+
+terser-webpack-plugin@^5.1.3, terser-webpack-plugin@^5.3.1:
+  version "5.3.6"
+  resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.6.tgz#5590aec31aa3c6f771ce1b1acca60639eab3195c"
+  integrity sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ==
+  dependencies:
+    "@jridgewell/trace-mapping" "^0.3.14"
+    jest-worker "^27.4.5"
+    schema-utils "^3.1.1"
+    serialize-javascript "^6.0.0"
+    terser "^5.14.1"
+
+terser@^5.10.0:
+  version "5.16.3"
+  resolved "https://registry.yarnpkg.com/terser/-/terser-5.16.3.tgz#3266017a9b682edfe019b8ecddd2abaae7b39c6b"
+  integrity sha512-v8wWLaS/xt3nE9dgKEWhNUFP6q4kngO5B8eYFUuebsu7Dw/UNAnpUod6UHo04jSSkv8TzKHjZDSd7EXdDQAl8Q==
+  dependencies:
+    "@jridgewell/source-map" "^0.3.2"
+    acorn "^8.5.0"
+    commander "^2.20.0"
+    source-map-support "~0.5.20"
+
+terser@^5.14.1:
+  version "5.16.1"
+  resolved "https://registry.yarnpkg.com/terser/-/terser-5.16.1.tgz#5af3bc3d0f24241c7fb2024199d5c461a1075880"
+  integrity sha512-xvQfyfA1ayT0qdK47zskQgRZeWLoOQ8JQ6mIgRGVNwZKdQMU+5FkCBjmv4QjcrTzyZquRw2FVtlJSRUmMKQslw==
+  dependencies:
+    "@jridgewell/source-map" "^0.3.2"
+    acorn "^8.5.0"
+    commander "^2.20.0"
+    source-map-support "~0.5.20"
+
 test-exclude@^6.0.0:
   version "6.0.0"
   resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e"
@@ -6802,6 +11623,11 @@ trim-newlines@^3.0.0:
   resolved "https://registry.yarnpkg.com/trim-newlines/-/trim-newlines-3.0.1.tgz#260a5d962d8b752425b32f3a7db0dcacd176c144"
   integrity sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==
 
+ts-dedent@^2.0.0, ts-dedent@^2.2.0:
+  version "2.2.0"
+  resolved "https://registry.yarnpkg.com/ts-dedent/-/ts-dedent-2.2.0.tgz#39e4bd297cd036292ae2394eb3412be63f563bb5"
+  integrity sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==
+
 ts-interface-checker@^0.1.9:
   version "0.1.13"
   resolved "https://registry.yarnpkg.com/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz#784fd3d679722bc103b1b4b8030bcddb5db2a699"
@@ -6841,21 +11667,21 @@ tslib@^1.8.1:
   resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
   integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
 
-tslib@^2.0.1, tslib@^2.1.0, tslib@^2.4.0:
+tslib@^2.0.0, tslib@^2.0.1, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.4.0:
   version "2.4.1"
   resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.1.tgz#0d0bfbaac2880b91e22df0768e55be9753a5b17e"
   integrity sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==
 
-tsup@^6.5.0:
-  version "6.5.0"
-  resolved "https://registry.yarnpkg.com/tsup/-/tsup-6.5.0.tgz#1be97481b7a56385b7c40d01bdabb4196f3649cf"
-  integrity sha512-36u82r7rYqRHFkD15R20Cd4ercPkbYmuvRkz3Q1LCm5BsiFNUgpo36zbjVhCOgvjyxNBWNKHsaD5Rl8SykfzNA==
+tsup@^6.6.3:
+  version "6.6.3"
+  resolved "https://registry.yarnpkg.com/tsup/-/tsup-6.6.3.tgz#f6f975a8656cfd9b8e115f33b1aa0f0fd4df78e2"
+  integrity sha512-OLx/jFllYlVeZQ7sCHBuRVEQBBa1tFbouoc/gbYakyipjVQdWy/iQOvmExUA/ewap9iQ7tbJf9pW0PgcEFfJcQ==
   dependencies:
-    bundle-require "^3.1.2"
+    bundle-require "^4.0.0"
     cac "^6.7.12"
     chokidar "^3.5.1"
     debug "^4.3.1"
-    esbuild "^0.15.1"
+    esbuild "^0.17.6"
     execa "^5.0.0"
     globby "^11.0.3"
     joycon "^3.0.1"
@@ -6892,6 +11718,11 @@ type-detect@4.0.8:
   resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c"
   integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==
 
+type-fest@^0.16.0:
+  version "0.16.0"
+  resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.16.0.tgz#3240b891a78b0deae910dbeb86553e552a148860"
+  integrity sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==
+
 type-fest@^0.18.0:
   version "0.18.1"
   resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.18.1.tgz#db4bc151a4a2cf4eebf9add5db75508db6cc841f"
@@ -6922,7 +11753,7 @@ type-fest@^1.0.1:
   resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-1.4.0.tgz#e9fb813fe3bf1744ec359d55d1affefa76f14be1"
   integrity sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==
 
-type-fest@^2.13.0, type-fest@^2.5.1:
+type-fest@^2.13.0, type-fest@^2.19.0, type-fest@^2.5.1:
   version "2.19.0"
   resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-2.19.0.tgz#88068015bb33036a598b952e55e9311a60fd3a9b"
   integrity sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==
@@ -6932,6 +11763,14 @@ type-fest@^3.0.0:
   resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-3.5.1.tgz#9555ae435f560c1b4447b70bdd195bb2c86c6c92"
   integrity sha512-70T99cpILFk2fzwuljwWxmazSphFrdOe3gRHbp6bqs71pxFBbJwFqnmkLO2lQL6aLHxHmYAnP/sL+AJWpT70jA==
 
+type-is@~1.6.18:
+  version "1.6.18"
+  resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131"
+  integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==
+  dependencies:
+    media-typer "0.3.0"
+    mime-types "~2.1.24"
+
 typed-array-length@^1.0.4:
   version "1.0.4"
   resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.4.tgz#89d83785e5c4098bec72e08b319651f0eac9c1bb"
@@ -6973,6 +11812,41 @@ unbox-primitive@^1.0.2:
     has-symbols "^1.0.3"
     which-boxed-primitive "^1.0.2"
 
+unfetch@^4.2.0:
+  version "4.2.0"
+  resolved "https://registry.yarnpkg.com/unfetch/-/unfetch-4.2.0.tgz#7e21b0ef7d363d8d9af0fb929a5555f6ef97a3be"
+  integrity sha512-F9p7yYCn6cIW9El1zi0HI6vqpeIvBsr3dSuRO6Xuppb1u5rXpCPmMvLSyECLhybr9isec8Ohl0hPekMVrEinDA==
+
+unicode-canonical-property-names-ecmascript@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc"
+  integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==
+
+unicode-match-property-ecmascript@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3"
+  integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==
+  dependencies:
+    unicode-canonical-property-names-ecmascript "^2.0.0"
+    unicode-property-aliases-ecmascript "^2.0.0"
+
+unicode-match-property-value-ecmascript@^2.1.0:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz#cb5fffdcd16a05124f5a4b0bf7c3770208acbbe0"
+  integrity sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==
+
+unicode-property-aliases-ecmascript@^2.0.0:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz#43d41e3be698bd493ef911077c9b131f827e8ccd"
+  integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==
+
+unique-string@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-2.0.0.tgz#39c6451f81afb2749de2b233e3f7c5e8843bd89d"
+  integrity sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==
+  dependencies:
+    crypto-random-string "^2.0.0"
+
 unique-string@^3.0.0:
   version "3.0.0"
   resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-3.0.0.tgz#84a1c377aff5fd7a8bc6b55d8244b2bd90d75b9a"
@@ -6980,6 +11854,28 @@ unique-string@^3.0.0:
   dependencies:
     crypto-random-string "^4.0.0"
 
+unist-util-is@^4.0.0:
+  version "4.1.0"
+  resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-4.1.0.tgz#976e5f462a7a5de73d94b706bac1b90671b57797"
+  integrity sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==
+
+unist-util-visit-parents@^3.0.0:
+  version "3.1.1"
+  resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz#65a6ce698f78a6b0f56aa0e88f13801886cdaef6"
+  integrity sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==
+  dependencies:
+    "@types/unist" "^2.0.0"
+    unist-util-is "^4.0.0"
+
+unist-util-visit@^2.0.0:
+  version "2.0.3"
+  resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-2.0.3.tgz#c3703893146df47203bb8a9795af47d7b971208c"
+  integrity sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==
+  dependencies:
+    "@types/unist" "^2.0.0"
+    unist-util-is "^4.0.0"
+    unist-util-visit-parents "^3.0.0"
+
 universal-user-agent@^6.0.0:
   version "6.0.0"
   resolved "https://registry.yarnpkg.com/universal-user-agent/-/universal-user-agent-6.0.0.tgz#3381f8503b251c0d9cd21bc1de939ec9df5480ee"
@@ -7000,11 +11896,26 @@ universalify@^2.0.0:
   resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717"
   integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==
 
-unpipe@1.0.0:
+unpipe@1.0.0, unpipe@~1.0.0:
   version "1.0.0"
   resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
   integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==
 
+unplugin@^0.10.2:
+  version "0.10.2"
+  resolved "https://registry.yarnpkg.com/unplugin/-/unplugin-0.10.2.tgz#0f7089c3666f592cc448d746e39e7f41e9afb01a"
+  integrity sha512-6rk7GUa4ICYjae5PrAllvcDeuT8pA9+j5J5EkxbMFaV+SalHhxZ7X2dohMzu6C3XzsMT+6jwR/+pwPNR3uK9MA==
+  dependencies:
+    acorn "^8.8.0"
+    chokidar "^3.5.3"
+    webpack-sources "^3.2.3"
+    webpack-virtual-modules "^0.4.5"
+
+untildify@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/untildify/-/untildify-4.0.0.tgz#2bc947b953652487e4600949fb091e3ae8cd919b"
+  integrity sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw==
+
 update-browserslist-db@^1.0.9:
   version "1.0.10"
   resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz#0f54b876545726f17d00cd9a2561e6dade943ff3"
@@ -7053,17 +11964,67 @@ url-parse@^1.5.3:
     querystringify "^2.1.1"
     requires-port "^1.0.0"
 
-util-deprecate@^1.0.1, util-deprecate@~1.0.1:
+use-composed-ref@^1.3.0:
+  version "1.3.0"
+  resolved "https://registry.yarnpkg.com/use-composed-ref/-/use-composed-ref-1.3.0.tgz#3d8104db34b7b264030a9d916c5e94fbe280dbda"
+  integrity sha512-GLMG0Jc/jiKov/3Ulid1wbv3r54K9HlMW29IWcDFPEqFkSO2nS0MuefWgMJpeHQ9YJeXDL3ZUF+P3jdXlZX/cQ==
+
+use-isomorphic-layout-effect@^1.1.1:
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.1.2.tgz#497cefb13d863d687b08477d9e5a164ad8c1a6fb"
+  integrity sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==
+
+use-latest@^1.2.1:
+  version "1.2.1"
+  resolved "https://registry.yarnpkg.com/use-latest/-/use-latest-1.2.1.tgz#d13dfb4b08c28e3e33991546a2cee53e14038cf2"
+  integrity sha512-xA+AVm/Wlg3e2P/JiItTziwS7FK92LWrDB0p+hgXloIMuVCeJJ8v6f0eeHyPZaJrM+usM1FkFfbNCrJGs8A/zw==
+  dependencies:
+    use-isomorphic-layout-effect "^1.1.1"
+
+use-resize-observer@^9.1.0:
+  version "9.1.0"
+  resolved "https://registry.yarnpkg.com/use-resize-observer/-/use-resize-observer-9.1.0.tgz#14735235cf3268569c1ea468f8a90c5789fc5c6c"
+  integrity sha512-R25VqO9Wb3asSD4eqtcxk8sJalvIOYBqS8MNZlpDSQ4l4xMQxC/J7Id9HoTqPq8FwULIn0PVW+OAqF2dyYbjow==
+  dependencies:
+    "@juggle/resize-observer" "^3.3.1"
+
+util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1:
   version "1.0.2"
   resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
   integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==
 
+util@^0.12.0, util@^0.12.4:
+  version "0.12.5"
+  resolved "https://registry.yarnpkg.com/util/-/util-0.12.5.tgz#5f17a6059b73db61a875668781a1c2b136bd6fbc"
+  integrity sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==
+  dependencies:
+    inherits "^2.0.3"
+    is-arguments "^1.0.4"
+    is-generator-function "^1.0.7"
+    is-typed-array "^1.1.3"
+    which-typed-array "^1.1.2"
+
+utila@~0.4:
+  version "0.4.0"
+  resolved "https://registry.yarnpkg.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c"
+  integrity sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==
+
+utils-merge@1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713"
+  integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==
+
+uuid-browser@^3.1.0:
+  version "3.1.0"
+  resolved "https://registry.yarnpkg.com/uuid-browser/-/uuid-browser-3.1.0.tgz#0f05a40aef74f9e5951e20efbf44b11871e56410"
+  integrity sha512-dsNgbLaTrd6l3MMxTtouOCFw4CBFc/3a+GgYA2YyrJvyQ1u6q4pcu3ktLoUZ/VN/Aw9WsauazbgsgdfVWgAKQg==
+
 v8-compile-cache-lib@^3.0.1:
   version "3.0.1"
   resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf"
   integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==
 
-v8-to-istanbul@^9.0.1:
+v8-to-istanbul@^9.0.0, v8-to-istanbul@^9.0.1:
   version "9.0.1"
   resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.0.1.tgz#b6f994b0b5d4ef255e17a0d17dc444a9f5132fa4"
   integrity sha512-74Y4LqY74kLE6IFyIjPtkSTWzUZmj8tdHT9Ii/26dvQ6K9Dl2NbEfj0XgU2sHCtKgt5VupqhlO/5aWuqS+IY1w==
@@ -7080,6 +12041,11 @@ validate-npm-package-license@^3.0.1:
     spdx-correct "^3.0.0"
     spdx-expression-parse "^3.0.0"
 
+vary@~1.1.2:
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
+  integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==
+
 vm2@^3.9.8:
   version "3.9.13"
   resolved "https://registry.yarnpkg.com/vm2/-/vm2-3.9.13.tgz#774a1a3d73b9b90b1aa45bcc5f25e349f2eef649"
@@ -7102,6 +12068,14 @@ walker@^1.0.8:
   dependencies:
     makeerror "1.0.12"
 
+watchpack@^2.2.0, watchpack@^2.4.0:
+  version "2.4.0"
+  resolved "https://registry.yarnpkg.com/watchpack/-/watchpack-2.4.0.tgz#fa33032374962c78113f93c7f2fb4c54c9862a5d"
+  integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==
+  dependencies:
+    glob-to-regexp "^0.4.1"
+    graceful-fs "^4.1.2"
+
 wcwidth@^1.0.1:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8"
@@ -7129,6 +12103,66 @@ webidl-conversions@^7.0.0:
   resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-7.0.0.tgz#256b4e1882be7debbf01d05f0aa2039778ea080a"
   integrity sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==
 
+webpack-dev-middleware@^5.3.1:
+  version "5.3.3"
+  resolved "https://registry.yarnpkg.com/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz#efae67c2793908e7311f1d9b06f2a08dcc97e51f"
+  integrity sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==
+  dependencies:
+    colorette "^2.0.10"
+    memfs "^3.4.3"
+    mime-types "^2.1.31"
+    range-parser "^1.2.1"
+    schema-utils "^4.0.0"
+
+webpack-hot-middleware@^2.25.1:
+  version "2.25.3"
+  resolved "https://registry.yarnpkg.com/webpack-hot-middleware/-/webpack-hot-middleware-2.25.3.tgz#be343ce2848022cfd854dd82820cd730998c6794"
+  integrity sha512-IK/0WAHs7MTu1tzLTjio73LjS3Ov+VvBKQmE8WPlJutgG5zT6Urgq/BbAdRrHTRpyzK0dvAvFh1Qg98akxgZpA==
+  dependencies:
+    ansi-html-community "0.0.8"
+    html-entities "^2.1.0"
+    strip-ansi "^6.0.0"
+
+webpack-sources@^3.2.3:
+  version "3.2.3"
+  resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-3.2.3.tgz#2d4daab8451fd4b240cc27055ff6a0c2ccea0cde"
+  integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==
+
+webpack-virtual-modules@^0.4.3, webpack-virtual-modules@^0.4.5:
+  version "0.4.6"
+  resolved "https://registry.yarnpkg.com/webpack-virtual-modules/-/webpack-virtual-modules-0.4.6.tgz#3e4008230731f1db078d9cb6f68baf8571182b45"
+  integrity sha512-5tyDlKLqPfMqjT3Q9TAqf2YqjwmnUleZwzJi1A5qXnlBCdj2AtOJ6wAWdglTIDOPgOiOrXeBeFcsQ8+aGQ6QbA==
+
+webpack@5, webpack@^5.75.0:
+  version "5.75.0"
+  resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.75.0.tgz#1e440468647b2505860e94c9ff3e44d5b582c152"
+  integrity sha512-piaIaoVJlqMsPtX/+3KTTO6jfvrSYgauFVdt8cr9LTHKmcq/AMd4mhzsiP7ZF/PGRNPGA8336jldh9l2Kt2ogQ==
+  dependencies:
+    "@types/eslint-scope" "^3.7.3"
+    "@types/estree" "^0.0.51"
+    "@webassemblyjs/ast" "1.11.1"
+    "@webassemblyjs/wasm-edit" "1.11.1"
+    "@webassemblyjs/wasm-parser" "1.11.1"
+    acorn "^8.7.1"
+    acorn-import-assertions "^1.7.6"
+    browserslist "^4.14.5"
+    chrome-trace-event "^1.0.2"
+    enhanced-resolve "^5.10.0"
+    es-module-lexer "^0.9.0"
+    eslint-scope "5.1.1"
+    events "^3.2.0"
+    glob-to-regexp "^0.4.1"
+    graceful-fs "^4.2.9"
+    json-parse-even-better-errors "^2.3.1"
+    loader-runner "^4.2.0"
+    mime-types "^2.1.27"
+    neo-async "^2.6.2"
+    schema-utils "^3.1.0"
+    tapable "^2.1.1"
+    terser-webpack-plugin "^5.1.3"
+    watchpack "^2.4.0"
+    webpack-sources "^3.2.3"
+
 whatwg-encoding@^2.0.0:
   version "2.0.0"
   resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz#e7635f597fd87020858626805a2729fa7698ac53"
@@ -7187,7 +12221,7 @@ which-collection@^1.0.1:
     is-weakmap "^2.0.1"
     is-weakset "^2.0.1"
 
-which-typed-array@^1.1.9:
+which-typed-array@^1.1.2, which-typed-array@^1.1.9:
   version "1.1.9"
   resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.9.tgz#307cf898025848cf995e795e8423c7f337efbde6"
   integrity sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==
@@ -7206,6 +12240,20 @@ which@^2.0.1:
   dependencies:
     isexe "^2.0.0"
 
+wide-align@^1.1.2:
+  version "1.1.5"
+  resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3"
+  integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==
+  dependencies:
+    string-width "^1.0.2 || 2 || 3 || 4"
+
+widest-line@^3.1.0:
+  version "3.1.0"
+  resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-3.1.0.tgz#8292333bbf66cb45ff0de1603b136b7ae1496eca"
+  integrity sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==
+  dependencies:
+    string-width "^4.0.0"
+
 widest-line@^4.0.1:
   version "4.0.1"
   resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-4.0.1.tgz#a0fc673aaba1ea6f0a0d35b3c2795c9a9cc2ebf2"
@@ -7267,6 +12315,15 @@ wrappy@1:
   resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
   integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==
 
+write-file-atomic@^2.3.0:
+  version "2.4.3"
+  resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.3.tgz#1fd2e9ae1df3e75b8d8c367443c692d4ca81f481"
+  integrity sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==
+  dependencies:
+    graceful-fs "^4.1.11"
+    imurmurhash "^0.1.4"
+    signal-exit "^3.0.2"
+
 write-file-atomic@^3.0.3:
   version "3.0.3"
   resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8"
@@ -7285,11 +12342,23 @@ write-file-atomic@^4.0.1:
     imurmurhash "^0.1.4"
     signal-exit "^3.0.7"
 
+ws@^6.1.0:
+  version "6.2.2"
+  resolved "https://registry.yarnpkg.com/ws/-/ws-6.2.2.tgz#dd5cdbd57a9979916097652d78f1cc5faea0c32e"
+  integrity sha512-zmhltoSR8u1cnDsD43TX59mzoMZsLKqUweyYBAIvTngR3shc0W6aOZylZmq/7hqyVxPdi+5Ud2QInblgyE72fw==
+  dependencies:
+    async-limiter "~1.0.0"
+
 ws@^8.11.0:
   version "8.11.0"
   resolved "https://registry.yarnpkg.com/ws/-/ws-8.11.0.tgz#6a0d36b8edfd9f96d8b25683db2f8d7de6e8e143"
   integrity sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==
 
+ws@^8.2.3:
+  version "8.12.0"
+  resolved "https://registry.yarnpkg.com/ws/-/ws-8.12.0.tgz#485074cc392689da78e1828a9ff23585e06cddd8"
+  integrity sha512-kU62emKIdKVeEIOIKVegvqpXMSTAMLJozpHZaJNDYqBjzlSYXQGviYwN1osDLJ9av68qHd4a2oSjd7yD4pacig==
+
 xdg-basedir@^5.0.1, xdg-basedir@^5.1.0:
   version "5.1.0"
   resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-5.1.0.tgz#1efba19425e73be1bc6f2a6ceb52a3d2c884c0c9"
@@ -7330,7 +12399,7 @@ yallist@^4.0.0:
   resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
   integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
 
-yaml@^1.10.2:
+yaml@^1.10.0, yaml@^1.10.2:
   version "1.10.2"
   resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b"
   integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==
@@ -7345,7 +12414,7 @@ yargs-parser@21.1.1, yargs-parser@^21.1.1:
   resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35"
   integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==
 
-yargs-parser@^20.2.2, yargs-parser@^20.2.3:
+yargs-parser@^20.2.2, yargs-parser@^20.2.3, yargs-parser@^20.2.9:
   version "20.2.9"
   resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee"
   integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==
@@ -7376,6 +12445,14 @@ yargs@^17.0.0, yargs@^17.3.1:
     y18n "^5.0.5"
     yargs-parser "^21.1.1"
 
+yauzl@^2.10.0:
+  version "2.10.0"
+  resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9"
+  integrity sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==
+  dependencies:
+    buffer-crc32 "~0.2.3"
+    fd-slicer "~1.1.0"
+
 yn@3.1.1:
   version "3.1.1"
   resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50"