From a30e1f954dce2a67985caa8b2376a1839dbfa6cf Mon Sep 17 00:00:00 2001 From: Brandon Dail <aweary@users.noreply.github.com> Date: Mon, 10 Jul 2023 03:26:39 -0500 Subject: [PATCH 001/382] update link to fault tolerance blog post (#6142) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit this is the canonical link now 🫡 --- src/content/reference/react/Component.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/reference/react/Component.md b/src/content/reference/react/Component.md index 006ade5d..569bf19f 100644 --- a/src/content/reference/react/Component.md +++ b/src/content/reference/react/Component.md @@ -1393,7 +1393,7 @@ Then you can wrap a part of your component tree with it: If `Profile` or its child component throws an error, `ErrorBoundary` will "catch" that error, display a fallback UI with the error message you've provided, and send a production error report to your error reporting service. -You don't need to wrap every component into a separate error boundary. When you think about the [granularity of error boundaries,](https://aweary.dev/fault-tolerance-react/) consider where it makes sense to display an error message. For example, in a messaging app, it makes sense to place an error boundary around the list of conversations. It also makes sense to place one around every individual message. However, it wouldn't make sense to place a boundary around every avatar. +You don't need to wrap every component into a separate error boundary. When you think about the [granularity of error boundaries,](https://www.brandondail.com/posts/fault-tolerance-react) consider where it makes sense to display an error message. For example, in a messaging app, it makes sense to place an error boundary around the list of conversations. It also makes sense to place one around every individual message. However, it wouldn't make sense to place a boundary around every avatar. <Note> From b9eea4da28db66591ae5935898f98acdf009a0ad Mon Sep 17 00:00:00 2001 From: Ricky <rickhanlonii@fb.com> Date: Fri, 21 Jul 2023 19:24:36 -0400 Subject: [PATCH 002/382] Fix lint warnings (#6174) --- .eslintrc | 3 +- src/components/Layout/HomeContent.js | 32 +++++++------------ src/components/Layout/Sidebar/SidebarLink.tsx | 1 + .../Layout/SidebarNav/SidebarNav.tsx | 1 - src/components/Layout/TopNav/TopNav.tsx | 3 +- src/components/Layout/getRouteMeta.tsx | 2 +- src/components/MDX/BlogCard.tsx | 1 + src/components/MDX/MDXComponents.tsx | 3 +- src/components/MDX/Sandpack/CustomPreset.tsx | 1 - src/components/MDX/Sandpack/NavigationBar.tsx | 8 +++-- src/components/MDX/Sandpack/Preview.tsx | 1 - src/components/MDX/TeamMember.tsx | 1 - src/components/Search.tsx | 3 +- src/hooks/usePendingRoute.ts | 2 +- 14 files changed, 27 insertions(+), 35 deletions(-) diff --git a/.eslintrc b/.eslintrc index 147e5460..f617dea2 100644 --- a/.eslintrc +++ b/.eslintrc @@ -5,7 +5,8 @@ "plugins": ["@typescript-eslint"], "rules": { "no-unused-vars": "off", - "@typescript-eslint/no-unused-vars": "warn" + "@typescript-eslint/no-unused-vars": ["error", { "varsIgnorePattern": "^_" }], + "react-hooks/exhaustive-deps": "error" }, "env": { "node": true, diff --git a/src/components/Layout/HomeContent.js b/src/components/Layout/HomeContent.js index ba3ff6ef..e1b1b440 100644 --- a/src/components/Layout/HomeContent.js +++ b/src/components/Layout/HomeContent.js @@ -8,12 +8,10 @@ import { useState, useContext, useId, - Fragment, Suspense, useEffect, useRef, useTransition, - useReducer, } from 'react'; import cn from 'classnames'; import NextLink from 'next/link'; @@ -26,7 +24,6 @@ import {IconSearch} from 'components/Icon/IconSearch'; import {Logo} from 'components/Logo'; import Link from 'components/MDX/Link'; import CodeBlock from 'components/MDX/CodeBlock'; -import {IconNavArrow} from 'components/Icon/IconNavArrow'; import {ExternalLink} from 'components/ExternalLink'; import sidebarBlog from '../../sidebarBlog.json'; @@ -67,14 +64,6 @@ function Para({children}) { ); } -function Left({children}) { - return ( - <div className="px-5 lg:px-0 max-w-4xl lg:text-left text-white text-opacity-80"> - {children} - </div> - ); -} - function Center({children}) { return ( <div className="px-5 lg:px-0 max-w-4xl lg:text-center text-white text-opacity-80 flex flex-col items-center justify-center"> @@ -90,19 +79,23 @@ function FullBleed({children}) { } function CurrentTime() { - const msPerMinute = 60 * 1000; - const date = new Date(); - let nextMinute = Math.floor(+date / msPerMinute + 1) * msPerMinute; - + const [date, setDate] = useState(new Date()); const currentTime = date.toLocaleTimeString([], { hour: 'numeric', minute: 'numeric', }); - let [, forceUpdate] = useReducer((n) => n + 1, 0); useEffect(() => { - const timeout = setTimeout(forceUpdate, nextMinute - Date.now()); + const msPerMinute = 60 * 1000; + let nextMinute = Math.floor(+date / msPerMinute + 1) * msPerMinute; + + const timeout = setTimeout(() => { + if (Date.now() > nextMinute) { + setDate(new Date()); + } + }, nextMinute - Date.now()); return () => clearTimeout(timeout); }, [date]); + return <span suppressHydrationWarning>{currentTime}</span>; } @@ -831,7 +824,7 @@ function ExampleLayout({ .filter((s) => s !== null); setOverlayStyles(nextOverlayStyles); } - }, [activeArea]); + }, [activeArea, hoverTopOffset]); return ( <div className="lg:pl-10 lg:pr-5 w-full"> <div className="mt-12 mb-2 lg:my-16 max-w-7xl mx-auto flex flex-col w-full lg:rounded-2xl lg:bg-card lg:dark:bg-card-dark"> @@ -1211,7 +1204,7 @@ function useNestedScrollLock(ref) { window.removeEventListener('scroll', handleScroll); clearInterval(interval); }; - }, []); + }, [ref]); } function ExamplePanel({ @@ -1220,7 +1213,6 @@ function ExamplePanel({ noShadow, height, contentMarginTop, - activeArea, }) { return ( <div diff --git a/src/components/Layout/Sidebar/SidebarLink.tsx b/src/components/Layout/Sidebar/SidebarLink.tsx index 050bf7c7..6222104c 100644 --- a/src/components/Layout/Sidebar/SidebarLink.tsx +++ b/src/components/Layout/Sidebar/SidebarLink.tsx @@ -54,6 +54,7 @@ export function SidebarLink({ ref={ref} title={title} target={target} + passHref aria-current={selected ? 'page' : undefined} className={cn( 'p-2 pr-2 w-full rounded-none lg:rounded-r-2xl text-left hover:bg-gray-5 dark:hover:bg-gray-80 relative flex items-center justify-between', diff --git a/src/components/Layout/SidebarNav/SidebarNav.tsx b/src/components/Layout/SidebarNav/SidebarNav.tsx index 24fe86fa..525fddfb 100644 --- a/src/components/Layout/SidebarNav/SidebarNav.tsx +++ b/src/components/Layout/SidebarNav/SidebarNav.tsx @@ -5,7 +5,6 @@ import {Suspense} from 'react'; import * as React from 'react'; import cn from 'classnames'; -import {Search} from 'components/Search'; import {Feedback} from '../Feedback'; import {SidebarRouteTree} from '../Sidebar/SidebarRouteTree'; import type {RouteItem} from '../getRouteMeta'; diff --git a/src/components/Layout/TopNav/TopNav.tsx b/src/components/Layout/TopNav/TopNav.tsx index 0157f1ba..56522665 100644 --- a/src/components/Layout/TopNav/TopNav.tsx +++ b/src/components/Layout/TopNav/TopNav.tsx @@ -22,9 +22,8 @@ import {IconSearch} from 'components/Icon/IconSearch'; import {Search} from 'components/Search'; import {Logo} from '../../Logo'; import {Feedback} from '../Feedback'; -import {SidebarRouteTree} from '../Sidebar/SidebarRouteTree'; +import {SidebarRouteTree} from '../Sidebar'; import type {RouteItem} from '../getRouteMeta'; -import {SidebarLink} from '../Sidebar'; declare global { interface Window { diff --git a/src/components/Layout/getRouteMeta.tsx b/src/components/Layout/getRouteMeta.tsx index 8cb0e099..87583ac7 100644 --- a/src/components/Layout/getRouteMeta.tsx +++ b/src/components/Layout/getRouteMeta.tsx @@ -68,7 +68,7 @@ export function getRouteMeta(cleanedPath: string, routeTree: RouteItem) { currentIndex: 0, }; buildRouteMeta(cleanedPath, routeTree, ctx); - const {currentIndex, ...meta} = ctx; + const {currentIndex: _, ...meta} = ctx; return { ...meta, breadcrumbs: breadcrumbs.length > 0 ? breadcrumbs : [routeTree], diff --git a/src/components/MDX/BlogCard.tsx b/src/components/MDX/BlogCard.tsx index ba610b11..1a16013a 100644 --- a/src/components/MDX/BlogCard.tsx +++ b/src/components/MDX/BlogCard.tsx @@ -18,6 +18,7 @@ function BlogCard({title, badge, date, icon, url, children}: BlogCardProps) { return ( <Link href={url as string} + passHref className="block h-full w-full rounded-2xl outline-none focus:outline-none focus-visible:outline focus-visible:outline-link focus:outline-offset-2 focus-visible:dark:focus:outline-link-dark"> <div className="justify-between p-5 sm:p-5 cursor-pointer w-full h-full flex flex-col flex-1 shadow-secondary-button-stroke dark:shadow-secondary-button-stroke-dark hover:bg-gray-40/5 active:bg-gray-40/10 hover:dark:bg-gray-60/5 active:dark:bg-gray-60/10 rounded-2xl text-xl text-primary dark:text-primary-dark leading-relaxed"> <div className="flex flex-row gap-3 w-full"> diff --git a/src/components/MDX/MDXComponents.tsx b/src/components/MDX/MDXComponents.tsx index ba531c9f..8ddf371c 100644 --- a/src/components/MDX/MDXComponents.tsx +++ b/src/components/MDX/MDXComponents.tsx @@ -369,7 +369,8 @@ function YouTubeIframe(props: any) { } function Image(props: any) { - return <img className="max-w-[calc(min(700px,100%))]" {...props} />; + const {alt, ...rest} = props; + return <img alt={alt} className="max-w-[calc(min(700px,100%))]" {...rest} />; } export const MDXComponents = { diff --git a/src/components/MDX/Sandpack/CustomPreset.tsx b/src/components/MDX/Sandpack/CustomPreset.tsx index 6e086256..46e0ca25 100644 --- a/src/components/MDX/Sandpack/CustomPreset.tsx +++ b/src/components/MDX/Sandpack/CustomPreset.tsx @@ -54,7 +54,6 @@ export const CustomPreset = memo(function CustomPreset({ const SandboxShell = memo(function SandboxShell({ showDevTools, - onDevToolsLoad, devToolsLoaded, providedFiles, lintErrors, diff --git a/src/components/MDX/Sandpack/NavigationBar.tsx b/src/components/MDX/Sandpack/NavigationBar.tsx index 8c884a5d..94e2eb4b 100644 --- a/src/components/MDX/Sandpack/NavigationBar.tsx +++ b/src/components/MDX/Sandpack/NavigationBar.tsx @@ -90,15 +90,17 @@ export function NavigationBar({providedFiles}: {providedFiles: Array<string>}) { } else { return; } - }, [isMultiFile]); + + // Note: in a real useEvent, onContainerResize would be omitted. + }, [isMultiFile, onContainerResize]); const handleReset = () => { /** * resetAllFiles must come first, otherwise - * the previous content will appears for a second + * the previous content will appear for a second * when the iframe loads. * - * Plus, it should only prompts if there's any file changes + * Plus, it should only prompt if there's any file changes */ if ( sandpack.editorState === 'dirty' && diff --git a/src/components/MDX/Sandpack/Preview.tsx b/src/components/MDX/Sandpack/Preview.tsx index 2e140360..6b7a6d18 100644 --- a/src/components/MDX/Sandpack/Preview.tsx +++ b/src/components/MDX/Sandpack/Preview.tsx @@ -49,7 +49,6 @@ export function Preview({ errorScreenRegisteredRef, openInCSBRegisteredRef, loadingScreenRegisteredRef, - status, } = sandpack; if ( diff --git a/src/components/MDX/TeamMember.tsx b/src/components/MDX/TeamMember.tsx index 887e9f69..0db067e1 100644 --- a/src/components/MDX/TeamMember.tsx +++ b/src/components/MDX/TeamMember.tsx @@ -7,7 +7,6 @@ import Image from 'next/image'; import {IconTwitter} from '../Icon/IconTwitter'; import {IconGitHub} from '../Icon/IconGitHub'; import {ExternalLink} from '../ExternalLink'; -import {IconNewPage} from 'components/Icon/IconNewPage'; import {H3} from './Heading'; import {IconLink} from 'components/Icon/IconLink'; diff --git a/src/components/Search.tsx b/src/components/Search.tsx index 2a9743ec..8bc47297 100644 --- a/src/components/Search.tsx +++ b/src/components/Search.tsx @@ -5,11 +5,10 @@ import Head from 'next/head'; import Link from 'next/link'; import Router from 'next/router'; -import {lazy, useCallback, useEffect} from 'react'; +import {lazy, useEffect} from 'react'; import * as React from 'react'; import {createPortal} from 'react-dom'; import {siteConfig} from 'siteConfig'; -import cn from 'classnames'; export interface SearchProps { appId?: string; diff --git a/src/hooks/usePendingRoute.ts b/src/hooks/usePendingRoute.ts index 73ff0b8a..229a36e6 100644 --- a/src/hooks/usePendingRoute.ts +++ b/src/hooks/usePendingRoute.ts @@ -33,7 +33,7 @@ const usePendingRoute = () => { events.off('routeChangeComplete', handleRouteChangeComplete); clearTimeout(routeTransitionTimer); }; - }, []); + }, [events]); return pendingRoute; }; From d86cfc47634a3a3b94f683e99075b9815ac35a30 Mon Sep 17 00:00:00 2001 From: Ricky <rickhanlonii@fb.com> Date: Mon, 24 Jul 2023 10:05:08 -0400 Subject: [PATCH 003/382] Update useInsertionEffect docs (#6172) --- src/content/reference/react/useInsertionEffect.md | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/content/reference/react/useInsertionEffect.md b/src/content/reference/react/useInsertionEffect.md index 175b4476..0238facf 100644 --- a/src/content/reference/react/useInsertionEffect.md +++ b/src/content/reference/react/useInsertionEffect.md @@ -10,7 +10,7 @@ title: useInsertionEffect <Intro> -`useInsertionEffect` is a version of [`useEffect`](/reference/react/useEffect) that fires before any DOM mutations. +`useInsertionEffect` allows inserting elements into the DOM before any layout effects fire. ```js useInsertionEffect(setup, dependencies?) @@ -26,7 +26,7 @@ useInsertionEffect(setup, dependencies?) ### `useInsertionEffect(setup, dependencies?)` {/*useinsertioneffect*/} -Call `useInsertionEffect` to insert the styles before any DOM mutations: +Call `useInsertionEffect` to insert styles before any effects fire that may need to read layout: ```js import { useInsertionEffect } from 'react'; @@ -44,7 +44,7 @@ function useCSS(rule) { #### Parameters {/*parameters*/} -* `setup`: The function with your Effect's logic. Your setup function may also optionally return a *cleanup* function. Before your component is added to the DOM, React will run your setup function. After every re-render with changed dependencies, React will first run the cleanup function (if you provided it) with the old values, and then run your setup function with the new values. Before your component is removed from the DOM, React will run your cleanup function. +* `setup`: The function with your Effect's logic. Your setup function may also optionally return a *cleanup* function. When your component is added to the DOM, but before any layout effects fire, React will run your setup function. After every re-render with changed dependencies, React will first run the cleanup function (if you provided it) with the old values, and then run your setup function with the new values. When your component is removed from the DOM, React will run your cleanup function. * **optional** `dependencies`: The list of all reactive values referenced inside of the `setup` code. Reactive values include props, state, and all the variables and functions declared directly inside your component body. If your linter is [configured for React](/learn/editor-setup#linting), it will verify that every reactive value is correctly specified as a dependency. The list of dependencies must have a constant number of items and be written inline like `[dep1, dep2, dep3]`. React will compare each dependency with its previous value using the [`Object.is`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is) comparison algorithm. If you don't specify the dependencies at all, your Effect will re-run after every re-render of the component. @@ -56,8 +56,9 @@ function useCSS(rule) { * Effects only run on the client. They don't run during server rendering. * You can't update state from inside `useInsertionEffect`. -* By the time `useInsertionEffect` runs, refs are not attached yet, and DOM is not yet updated. - +* By the time `useInsertionEffect` runs, refs are not attached yet. +* `useInsertionEffect` may run either before or after the DOM has been updated. You shouldn't rely on the DOM being updated at any particular time. +* Unlike other types of Effects, which fire cleanup for every Effect and then setup for every Effect, `useInsertionEffect` will fire both cleanup and setup one component at a time. This results in an "interleaving" of the cleanup and setup functions. --- ## Usage {/*usage*/} @@ -87,7 +88,7 @@ If you use CSS-in-JS, we recommend a combination of the first two approaches (CS The first problem is not solvable, but `useInsertionEffect` helps you solve the second problem. -Call `useInsertionEffect` to insert the styles before any DOM mutations: +Call `useInsertionEffect` to insert the styles before any layout effects fire: ```js {4-11} // Inside your CSS-in-JS library From cf4ad1999a766f417bee506f11b37a6d05ac9342 Mon Sep 17 00:00:00 2001 From: Soichiro Miki <smiki-tky@umin.ac.jp> Date: Tue, 25 Jul 2023 09:57:55 +0900 Subject: [PATCH 004/382] Fix typo: "server-only" to "client-only" (#6164) --- src/content/reference/react/Suspense.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/reference/react/Suspense.md b/src/content/reference/react/Suspense.md index 27add603..dd931205 100644 --- a/src/content/reference/react/Suspense.md +++ b/src/content/reference/react/Suspense.md @@ -2513,7 +2513,7 @@ However, now imagine you're navigating between two different user profiles. In t --- -### Providing a fallback for server errors and server-only content {/*providing-a-fallback-for-server-errors-and-server-only-content*/} +### Providing a fallback for server errors and client-only content {/*providing-a-fallback-for-server-errors-and-client-only-content*/} If you use one of the [streaming server rendering APIs](/reference/react-dom/server) (or a framework that relies on them), React will also use your `<Suspense>` boundaries to handle errors on the server. If a component throws an error on the server, React will not abort the server render. Instead, it will find the closest `<Suspense>` component above it and include its fallback (such as a spinner) into the generated server HTML. The user will see a spinner at first. From a132d8f35597d0380f0f738c1b095b5dc56736ba Mon Sep 17 00:00:00 2001 From: Soichiro Miki <smiki-tky@umin.ac.jp> Date: Tue, 25 Jul 2023 09:59:14 +0900 Subject: [PATCH 005/382] Remove junk lines in common.md (#6167) --- src/content/reference/react-dom/components/common.md | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/content/reference/react-dom/components/common.md b/src/content/reference/react-dom/components/common.md index f1e4fcd0..fb007890 100644 --- a/src/content/reference/react-dom/components/common.md +++ b/src/content/reference/react-dom/components/common.md @@ -149,7 +149,6 @@ These standard DOM props are also supported for all built-in components: * [`onWheel`](https://developer.mozilla.org/en-US/docs/Web/API/Element/wheel_event): A [`WheelEvent` handler](#wheelevent-handler) function. Fires when the user rotates a wheel button. * `onWheelCapture`: A version of `onWheel` that fires in the [capture phase.](/learn/responding-to-events#capture-phase-events) * [`role`](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles): A string. Specifies the element role explicitly for assistive technologies. -nt. * [`slot`](https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles): A string. Specifies the slot name when using shadow DOM. In React, an equivalent pattern is typically achieved by passing JSX as props, for example `<Layout left={<Sidebar />} right={<Content />} />`. * [`spellCheck`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/spellcheck): A boolean or null. If explicitly set to `true` or `false`, enables or disables spellchecking. * [`tabIndex`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex): A number. Overrides the default Tab button behavior. [Avoid using values other than `-1` and `0`.](https://www.tpgi.com/using-the-tabindex-attribute/) @@ -169,7 +168,6 @@ These events fire only for the [`<dialog>`](https://developer.mozilla.org/en-US/ * [`onCancel`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLDialogElement/cancel_event): An [`Event` handler](#event-handler) function. Fires when the user tries to dismiss the dialog. * `onCancelCapture`: A version of `onCancel` that fires in the [capture phase.](/learn/responding-to-events#capture-phase-events) -capture-phase-events) * [`onClose`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLDialogElement/close_event): An [`Event` handler](#event-handler) function. Fires when a dialog has been closed. * `onCloseCapture`: A version of `onClose` that fires in the [capture phase.](/learn/responding-to-events#capture-phase-events) @@ -177,7 +175,6 @@ These events fire only for the [`<details>`](https://developer.mozilla.org/en-US * [`onToggle`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLDetailsElement/toggle_event): An [`Event` handler](#event-handler) function. Fires when the user toggles the details. * `onToggleCapture`: A version of `onToggle` that fires in the [capture phase.](/learn/responding-to-events#capture-phase-events) -capture-phase-events) These events fire for [`<img>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img), [`<iframe>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/iframe), [`<object>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/object), [`<embed>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/embed), [`<link>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/link), and [SVG `<image>`](https://developer.mozilla.org/en-US/docs/Web/SVG/Tutorial/SVG_Image_Tag) elements. Unlike browser events, they bubble in React: From 6ebe2dd76d875a859df5a826a813311cefa17652 Mon Sep 17 00:00:00 2001 From: Soichiro Miki <smiki-tky@umin.ac.jp> Date: Tue, 25 Jul 2023 10:00:15 +0900 Subject: [PATCH 006/382] Fix "onFocus" description (#6168) The "onFocus" is fired when an element receives focus, not loses. --- src/content/reference/react-dom/components/common.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/reference/react-dom/components/common.md b/src/content/reference/react-dom/components/common.md index fb007890..04b0dc5e 100644 --- a/src/content/reference/react-dom/components/common.md +++ b/src/content/reference/react-dom/components/common.md @@ -96,7 +96,7 @@ These standard DOM props are also supported for all built-in components: * `onDragStartCapture`: A version of `onDragStart` that fires in the [capture phase.](/learn/responding-to-events#capture-phase-events) * [`onDrop`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/drop_event): A [`DragEvent` handler](#dragevent-handler) function. Fires when something is dropped on a valid drop target. * `onDropCapture`: A version of `onDrop` that fires in the [capture phase.](/learn/responding-to-events#capture-phase-events) -* `onFocus`: A [`FocusEvent` handler](#focusevent-handler) function. Fires when an element lost focus. Unlike the built-in browser [`focus`](https://developer.mozilla.org/en-US/docs/Web/API/Element/focus_event) event, in React the `onFocus` event bubbles. +* `onFocus`: A [`FocusEvent` handler](#focusevent-handler) function. Fires when an element receives focus. Unlike the built-in browser [`focus`](https://developer.mozilla.org/en-US/docs/Web/API/Element/focus_event) event, in React the `onFocus` event bubbles. * `onFocusCapture`: A version of `onFocus` that fires in the [capture phase.](/learn/responding-to-events#capture-phase-events) * [`onGotPointerCapture`](https://developer.mozilla.org/en-US/docs/Web/API/Element/gotpointercapture_event): A [`PointerEvent` handler](#pointerevent-handler) function. Fires when an element programmatically captures a pointer. * `onGotPointerCaptureCapture`: A version of `onGotPointerCapture` that fires in the [capture phase.](/learn/responding-to-events#capture-phase-events) From 39b9692cd5804d4963f2299fa19d1bedb1ebf035 Mon Sep 17 00:00:00 2001 From: Afonso Jorge Ramos <afonsojorgeramos@gmail.com> Date: Tue, 25 Jul 2023 02:03:40 +0100 Subject: [PATCH 007/382] Update conferences timeline (#6159) --- src/content/community/conferences.md | 30 ++++++++++++++-------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/src/content/community/conferences.md b/src/content/community/conferences.md index 06711db6..2908f9cd 100644 --- a/src/content/community/conferences.md +++ b/src/content/community/conferences.md @@ -10,21 +10,6 @@ Do you know of a local React.js conference? Add it here! (Please keep the list c ## Upcoming Conferences {/*upcoming-conferences*/} -### React Norway 2023 {/*react-norway-2023*/} -June 16th, 2023. Larvik, Norway - -[Website](https://reactnorway.com/) - [Twitter](https://twitter.com/ReactNorway/) - [Facebook](https://www.facebook.com/reactdaynorway/) - -### ReactNext 2023 {/*reactnext-2023*/} -June 27th, 2023. Tel Aviv, Israel - -[Website](https://www.react-next.com/) - [Facebook](https://www.facebook.com/ReactNextConf) - [Youtube](https://www.youtube.com/@ReactNext) - -### React Nexus 2023 {/*react-nexus-2023*/} -July 07 & 08, 2023. Bangalore, India (In-person event) - -[Website](https://reactnexus.com/) - [Twitter](https://twitter.com/ReactNexus) - [Linkedin](https://www.linkedin.com/company/react-nexus) - [YouTube](https://www.youtube.com/reactify_in) - ### React Rally 2023 🐙 {/*react-rally-2023*/} August 17 & 18, 2023. Salt Lake City, UT, USA @@ -52,6 +37,21 @@ December 8 & 12, 2023. In-person in Berlin, Germany + remote first interactivity ## Past Conferences {/*past-conferences*/} +### React Nexus 2023 {/*react-nexus-2023*/} +July 07 & 08, 2023. Bangalore, India (In-person event) + +[Website](https://reactnexus.com/) - [Twitter](https://twitter.com/ReactNexus) - [Linkedin](https://www.linkedin.com/company/react-nexus) - [YouTube](https://www.youtube.com/reactify_in) + +### ReactNext 2023 {/*reactnext-2023*/} +June 27th, 2023. Tel Aviv, Israel + +[Website](https://www.react-next.com/) - [Facebook](https://www.facebook.com/ReactNextConf) - [Youtube](https://www.youtube.com/@ReactNext) + +### React Norway 2023 {/*react-norway-2023*/} +June 16th, 2023. Larvik, Norway + +[Website](https://reactnorway.com/) - [Twitter](https://twitter.com/ReactNorway/) - [Facebook](https://www.facebook.com/reactdaynorway/) + ### React Summit 2023 {/*react-summit-2023*/} June 2 & 6, 2023. In-person in Amsterdam, Netherlands + remote first interactivity (hybrid event) From b452e7b613464a20a33018944f3d6c9bba8241cb Mon Sep 17 00:00:00 2001 From: Jiman Jeong <wlaks2317@gmail.com> Date: Tue, 25 Jul 2023 10:11:36 +0900 Subject: [PATCH 008/382] docs: separate dot from hyperlink (#6140) --- src/content/reference/react-dom/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/reference/react-dom/index.md b/src/content/reference/react-dom/index.md index 5b2648c1..fb5fd48b 100644 --- a/src/content/reference/react-dom/index.md +++ b/src/content/reference/react-dom/index.md @@ -39,5 +39,5 @@ These APIs will be removed in a future major version of React. * [`findDOMNode`](/reference/react-dom/findDOMNode) finds the closest DOM node corresponding to a class component instance. * [`hydrate`](/reference/react-dom/hydrate) mounts a tree into the DOM created from server HTML. Deprecated in favor of [`hydrateRoot`](/reference/react-dom/client/hydrateRoot). * [`render`](/reference/react-dom/render) mounts a tree into the DOM. Deprecated in favor of [`createRoot`](/reference/react-dom/client/createRoot). -* [`unmountComponentAtNode`](/reference/react-dom/unmountComponentAtNode) unmounts a tree from the DOM. Deprecated in favor of [`root.unmount()`.](/reference/react-dom/client/createRoot#root-unmount) +* [`unmountComponentAtNode`](/reference/react-dom/unmountComponentAtNode) unmounts a tree from the DOM. Deprecated in favor of [`root.unmount()`](/reference/react-dom/client/createRoot#root-unmount). From 505f6510a312a25791d6dd25e56e5c5623a3d81d Mon Sep 17 00:00:00 2001 From: Hyejun Lee <solar3070@naver.com> Date: Tue, 25 Jul 2023 10:14:44 +0900 Subject: [PATCH 009/382] Fix root-unmount returns (#6137) --- src/content/reference/react-dom/client/hydrateRoot.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/reference/react-dom/client/hydrateRoot.md b/src/content/reference/react-dom/client/hydrateRoot.md index db558bb8..cf77a81a 100644 --- a/src/content/reference/react-dom/client/hydrateRoot.md +++ b/src/content/reference/react-dom/client/hydrateRoot.md @@ -107,7 +107,7 @@ Calling `root.unmount` will unmount all the components in the root and "detach" #### Returns {/*root-unmount-returns*/} -`render` returns `null`. +`root.unmount` returns `undefined`. #### Caveats {/*root-unmount-caveats*/} From 19c0fe2dcc808358cb1ec593f9afeab022c29fa1 Mon Sep 17 00:00:00 2001 From: Ahmed Abdelbaset <A7med3bdulBaset@gmail.com> Date: Tue, 25 Jul 2023 04:29:02 +0300 Subject: [PATCH 010/382] fix `componentdidcatch` (#6107) --- src/content/reference/react/Component.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/reference/react/Component.md b/src/content/reference/react/Component.md index 569bf19f..1ea148a6 100644 --- a/src/content/reference/react/Component.md +++ b/src/content/reference/react/Component.md @@ -1010,7 +1010,7 @@ We recommend using [TypeScript](https://www.typescriptlang.org/) instead of chec If you define `static getDerivedStateFromError`, React will call it when a child component (including distant children) throws an error during rendering. This lets you display an error message instead of clearing the UI. -Typically, it is used together with [`componentDidCatch`](#componentDidCatch) which lets you send the error report to some analytics service. A component with these methods is called an *error boundary.* +Typically, it is used together with [`componentDidCatch`](#componentdidcatch) which lets you send the error report to some analytics service. A component with these methods is called an *error boundary.* [See an example.](#catching-rendering-errors-with-an-error-boundary) From a472775b7c15f41b21865db1698113ca49ca95c4 Mon Sep 17 00:00:00 2001 From: Matan Borenkraout <Matanbobi@gmail.com> Date: Tue, 25 Jul 2023 17:35:34 +0300 Subject: [PATCH 011/382] docs: fix a broken link in react-labs-june-2022 (#6149) --- .../06/15/react-labs-what-we-have-been-working-on-june-2022.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/blog/2022/06/15/react-labs-what-we-have-been-working-on-june-2022.md b/src/content/blog/2022/06/15/react-labs-what-we-have-been-working-on-june-2022.md index a6896148..0d9e8e26 100644 --- a/src/content/blog/2022/06/15/react-labs-what-we-have-been-working-on-june-2022.md +++ b/src/content/blog/2022/06/15/react-labs-what-we-have-been-working-on-june-2022.md @@ -20,7 +20,7 @@ To set expectations, this is not a roadmap with clear timelines. Many of these p ## Server Components {/*server-components*/} -We announced an [experimental demo of React Server Components](https://reactjs.org/blog/2020/12/21/data-fetching-with-react-server-components) (RSC) in December 2020. Since then we’ve been finishing up its dependencies in React 18, and working on changes inspired by experimental feedback. +We announced an [experimental demo of React Server Components](https://legacy.reactjs.org/blog/2020/12/21/data-fetching-with-react-server-components.html) (RSC) in December 2020. Since then we’ve been finishing up its dependencies in React 18, and working on changes inspired by experimental feedback. In particular, we’re abandoning the idea of having forked I/O libraries (eg react-fetch), and instead adopting an async/await model for better compatibility. This doesn’t technically block RSC’s release because you can also use routers for data fetching. Another change is that we’re also moving away from the file extension approach in favor of [annotating boundaries](https://github.com/reactjs/rfcs/pull/189#issuecomment-1116482278). From cd13b52ec1955255786720611a6a8647b549f780 Mon Sep 17 00:00:00 2001 From: TimLi <daochouwangu@gmail.com> Date: Tue, 8 Aug 2023 03:51:55 +0800 Subject: [PATCH 012/382] Fix homepage title (#5838) * Fix homepage title Fixed homepage title bug, now the homepage will display the title from `content/index.md` instead of the constant `React`. * Update index.md Change title to "React" to keep same --- src/components/Seo.tsx | 2 +- src/content/index.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/Seo.tsx b/src/components/Seo.tsx index e76df63e..d4f03712 100644 --- a/src/components/Seo.tsx +++ b/src/components/Seo.tsx @@ -53,7 +53,7 @@ export const Seo = withRouter( const canonicalUrl = `https://${siteDomain}${ router.asPath.split(/[\?\#]/)[0] }`; - const pageTitle = isHomePage ? 'React' : title + ' – React'; + const pageTitle = isHomePage ? title : title + ' – React'; // Twitter's meta parser is not very good. const twitterTitle = pageTitle.replace(/[<>]/g, ''); return ( diff --git a/src/content/index.md b/src/content/index.md index 0ef5df59..63dbd33e 100644 --- a/src/content/index.md +++ b/src/content/index.md @@ -1,6 +1,6 @@ --- id: home -title: React – The library for web and native user interfaces +title: React permalink: index.html --- From f82f392287c1a568825c7f4095c9d44159eb3878 Mon Sep 17 00:00:00 2001 From: Orta Therox <git@orta.io> Date: Wed, 9 Aug 2023 17:10:31 +0100 Subject: [PATCH 013/382] Adds a TypeScript overview page (#6120) * Start of the typescript page * Intro * Intro * Use State * Use Reducer * Start of context * Use Ref * Events * Wrap up 1st draft * Better titles * Apply suggestions from code review Co-authored-by: Tom Sherman <the.tomsherman@gmail.com> Co-authored-by: Lenz Weber-Tronic <mail@lenzw.de> * Note types/react and types/react-dom, and tone down the usecontext null check * Feedback * Given a 2nd run through of the doc * Apply suggestions from code review Co-authored-by: Ricky <rickhanlonii@gmail.com> * Document where `State` is coming from * Link what inferred types are * Remove "knock-on" We already say "cause" which makes "knock-on" a bit redundant * Move useRef TS usage to useRef reference page dropped useEffect since there's nothing specific about this hook. * Add installation section * Link to framework specific guides * Edits * Edit footer * Rm useRef docs --------- Co-authored-by: Tom Sherman <the.tomsherman@gmail.com> Co-authored-by: Lenz Weber-Tronic <mail@lenzw.de> Co-authored-by: Ricky <rickhanlonii@gmail.com> Co-authored-by: Sebastian Silbermann <sebastian.silbermann@klarna.com> --- src/components/MDX/Sandpack/NavigationBar.tsx | 6 + .../Sandpack/OpenInTypeScriptPlayground.tsx | 26 + src/content/learn/typescript.md | 463 ++++++++++++++++++ src/sidebarLearn.json | 4 + 4 files changed, 499 insertions(+) create mode 100644 src/components/MDX/Sandpack/OpenInTypeScriptPlayground.tsx create mode 100644 src/content/learn/typescript.md diff --git a/src/components/MDX/Sandpack/NavigationBar.tsx b/src/components/MDX/Sandpack/NavigationBar.tsx index 94e2eb4b..27ae43c0 100644 --- a/src/components/MDX/Sandpack/NavigationBar.tsx +++ b/src/components/MDX/Sandpack/NavigationBar.tsx @@ -21,6 +21,7 @@ import {ResetButton} from './ResetButton'; import {DownloadButton} from './DownloadButton'; import {IconChevron} from '../../Icon/IconChevron'; import {Listbox} from '@headlessui/react'; +import {OpenInTypeScriptPlaygroundButton} from './OpenInTypeScriptPlayground'; export function useEvent(fn: any): any { const ref = useRef(null); @@ -184,6 +185,11 @@ export function NavigationBar({providedFiles}: {providedFiles: Array<string>}) { <DownloadButton providedFiles={providedFiles} /> <ResetButton onReset={handleReset} /> <OpenInCodeSandboxButton /> + {activeFile.endsWith('.tsx') && ( + <OpenInTypeScriptPlaygroundButton + content={sandpack.files[activeFile]?.code || ''} + /> + )} </div> </div> ); diff --git a/src/components/MDX/Sandpack/OpenInTypeScriptPlayground.tsx b/src/components/MDX/Sandpack/OpenInTypeScriptPlayground.tsx new file mode 100644 index 00000000..f4b7ba77 --- /dev/null +++ b/src/components/MDX/Sandpack/OpenInTypeScriptPlayground.tsx @@ -0,0 +1,26 @@ +/* + * Copyright (c) Facebook, Inc. and its affiliates. + */ + +import {IconNewPage} from '../../Icon/IconNewPage'; + +export const OpenInTypeScriptPlaygroundButton = (props: {content: string}) => { + const contentWithReactImport = `import * as React from 'react';\n\n${props.content}`; + return ( + <a + className="text-sm text-primary dark:text-primary-dark inline-flex items-center hover:text-link duration-100 ease-in transition mx-1 ml-2 md:ml-1" + href={`https://www.typescriptlang.org/play#src=${encodeURIComponent( + contentWithReactImport + )}`} + title="Open in TypeScript Playground" + target="_blank" + rel="noreferrer"> + <IconNewPage + className="inline ml-1 mr-1 relative top-[1px]" + width="1em" + height="1em" + /> + <span className="hidden md:block">TypeScript Playground</span> + </a> + ); +}; diff --git a/src/content/learn/typescript.md b/src/content/learn/typescript.md new file mode 100644 index 00000000..d437096e --- /dev/null +++ b/src/content/learn/typescript.md @@ -0,0 +1,463 @@ +--- +title: Using TypeScript +re: https://github.com/reactjs/react.dev/issues/5960 +--- + +<Intro> + +TypeScript is a popular way to add type definitions to JavaScript codebases. Out of the box, TypeScript [supports JSX](/learn/writing-markup-with-jsx) and you can get full React Web support by adding [`@types/react`](https://www.npmjs.com/package/@types/react) and [`@types/react-dom`](https://www.npmjs.com/package/@types/react-dom) to your project. + +</Intro> + +<YouWillLearn> + +* [TypeScript with React Components](/learn/typescript#typescript-with-react-components) +* [Examples of typing with hooks](/learn/typescript#example-hooks) +* [Common types from `@types/react`](/learn/typescript/#useful-types) +* [Further learning locations](/learn/typescript/#further-learning) + +</YouWillLearn> + +## Installation {/*installation*/} + +All [production-grade React frameworks](https://react-dev-git-fork-orta-typescriptpage-fbopensource.vercel.app/learn/start-a-new-react-project#production-grade-react-frameworks) offer support for using TypeScript. Follow the framework specific guide for installation: + +- [Next.js](https://nextjs.org/docs/pages/building-your-application/configuring/typescript) +- [Remix](https://remix.run/docs/en/1.19.2/guides/typescript) +- [Gatsby](https://www.gatsbyjs.com/docs/how-to/custom-configuration/typescript/) +- [Expo](https://docs.expo.dev/guides/typescript/) + +### Adding TypeScript to an existing React project {/*adding-typescript-to-an-existing-react-project*/} + +To install the latest version of React's type definitions: + +<TerminalBlock> +npm install @types/react @types/react-dom +</TerminalBlock> + +The following compiler options need to be set in your `tsconfig.json`: + +1. `dom` must be included in [`lib`](https://www.typescriptlang.org/tsconfig/#lib) (Note: If no `lib` option is specified, `dom` is included by default). +1. [`jsx`](https://www.typescriptlang.org/tsconfig/#jsx) must be set to one of the valid options. `preserve` should suffice for most applications. + If you're publishing a library, consult the [`jsx` documentation](https://www.typescriptlang.org/tsconfig/#jsx) on what value to choose. + +## TypeScript with React Components {/*typescript-with-react-components*/} + +<Note> + +Every file containing JSX must use the `.tsx` file extension. This is a TypeScript-specific extension that tells TypeScript that this file contains JSX. + +</Note> + +Writing TypeScript with React is very similar to writing JavaScript with React. The key difference when working with a component is that you can provide types for your component's props. These types can be used for correctness checking and providing inline documentation in editors. + +Taking the [`MyButton` component](/learn#components) from the [Quick Start](/learn) guide, we can add a type describing the `title` for the button: + +<Sandpack> + +```tsx App.tsx active +function MyButton({ title }: { title: string }) { + return ( + <button>{title}</button> + ); +} + +export default function MyApp() { + return ( + <div> + <h1>Welcome to my app</h1> + <MyButton title="I'm a button" /> + </div> + ); +} +``` + +```js App.js hidden +import AppTSX from "./App.tsx"; +export default App = AppTSX; +``` +</Sandpack> + + <Note> + +These sandboxes can handle TypeScript code, but they do not run the type-checker. This means you can amend the TypeScript sandboxes to learn, but you won't get any type errors or warnings. To get type-checking, you can use the [TypeScript Playground](https://www.typescriptlang.org/play) or use a more fully-featured online sandbox. + +</Note> + +This inline syntax is the simplest way to provide types for a component, though once you start to have a few fields to describe it can become unwieldy. Instead, you can use an `interface` or `type` to describe the component's props: + +<Sandpack> + +```tsx App.tsx active +interface MyButtonProps { + /** The text to display inside the button */ + title: string; + /** Whether the button can be interacted with */ + disabled: boolean; +} + +function MyButton({ title, disabled }: MyButtonProps) { + return ( + <button disabled={disabled}>{title}</button> + ); +} + +export default function MyApp() { + return ( + <div> + <h1>Welcome to my app</h1> + <MyButton title="I'm a disabled button" disabled={true}/> + </div> + ); +} +``` + +```js App.js hidden +import AppTSX from "./App.tsx"; +export default App = AppTSX; +``` + +</Sandpack> + +The type describing your component's props can be as simple or as complex as you need, though they should be an object type described with either a `type` or `interface`. You can learn about how TypeScript describes objects in [Object Types](https://www.typescriptlang.org/docs/handbook/2/objects.html) but you may also be interested in using [Union Types](https://www.typescriptlang.org/docs/handbook/2/everyday-types.html#union-types) to describe a prop that can be one of a few different types and the [Creating Types from Types](https://www.typescriptlang.org/docs/handbook/2/types-from-types.html) guide for more advanced use cases. + + +## Example Hooks {/*example-hooks*/} + +The type definitions from `@types/react` include types for the built-in hooks, so you can use them in your components without any additional setup. They are built to take into account the code you write in your component, so you will get [inferred types](https://www.typescriptlang.org/docs/handbook/type-inference.html) a lot of the time and ideally do not need to handle the minutiae of providing the types. + +However, we can look at a few examples of how to provide types for hooks. + +### `useState` {/*typing-usestate*/} + +The [`useState` hook](/reference/react/useState) will re-use the value passed in as the initial state to determine what the type of the value should be. For example: + +```ts +// Infer the type as "boolean" +const [enabled, setEnabled] = useState(false); +``` + +Will assign the type of `boolean` to `enabled`, and `setEnabled` will be a function accepting either a `boolean` argument, or a function that returns a `boolean`. If you want to explicitly provide a type for the state, you can do so by providing a type argument to the `useState` call: + +```ts +// Explicitly set the type to "boolean" +const [enabled, setEnabled] = useState<boolean>(false); +``` + +This isn't very useful in this case, but a common case where you may want to provide a type is when you have a union type. For example, `status` here can be one of a few different strings: + +```ts +type Status = "idle" | "loading" | "success" | "error"; + +const [status, setStatus] = useState<Status>("idle"); +``` + +Or, as recommended in [Principles for structuring state](/learn/choosing-the-state-structure#principles-for-structuring-state), you can group related state as an object and describe the different possibilities via object types: + +```ts +type RequestState = + | { status: 'idle' } + | { status: 'loading' } + | { status: 'success', data: any } + | { status: 'error', error: Error }; + +const [requestState, setRequestState] = useState<RequestState>({ status: 'idle' }); +``` + +### `useReducer` {/*typing-usereducer*/} + +The [`useReducer` hook](/reference/react/useReducer) is a more complex hook that takes a reducer function and an initial state. The types for the reducer function are inferred from the initial state. You can optionally provide a type argument to the `useReducer` call to provide a type for the state, but it is often better to set the type on the initial state instead: + +<Sandpack> + +```tsx App.tsx active +import {useReducer} from 'react'; + +interface State { + count: number +}; + +type CounterAction = + | { type: "reset" } + | { type: "setCount"; value: State["count"] } + +const initialState: State = { count: 0 }; + +function stateReducer(state: State, action: CounterAction): State { + switch (action.type) { + case "reset": + return initialState; + case "setCount": + return { ...state, count: action.value }; + default: + throw new Error("Unknown action"); + } +} + +export default function App() { + const [state, dispatch] = useReducer(stateReducer, initialState); + + const addFive = () => dispatch({ type: "setCount", value: state.count + 5 }); + const reset = () => dispatch({ type: "reset" }); + + return ( + <div> + <h1>Welcome to my counter</h1> + + <p>Count: {state.count}</p> + <button onClick={addFive}>Add 5</button> + <button onClick={reset}>Reset</button> + </div> + ); +} + +``` + +```js App.js hidden +import AppTSX from "./App.tsx"; +export default App = AppTSX; +``` + +</Sandpack> + + +We are using TypeScript in a few key places: + + - `interface State` describes the shape of the reducer's state. + - `type CounterAction` describes the different actions which can be dispatched to the reducer. + - `const initialState: State` provides a type for the initial state, and also the type which is used by `useReducer` by default. + - `stateReducer(state: State, action: CounterAction): State` sets the types for the reducer function's arguments and return value. + +A more explicit alternative to setting the type on `initialState` is to provide a type argument to `useReducer`: + +```ts +import { stateReducer, State } from './your-reducer-implementation'; + +const initialState = { count: 0 }; + +export default function App() { + const [state, dispatch] = useReducer<State>(stateReducer, initialState); +} +``` + +### `useContext` {/*typing-usecontext*/} + +The [`useContext` hook](/reference/react/useContext) is a technique for passing data down the component tree without having to pass props through components. It is used by creating a provider component and often by creating a hook to consume the value in a child component. + +The type of the value provided by the context is inferred from the value passed to the `createContext` call: + +<Sandpack> + +```tsx App.tsx active +import { createContext, useContext, useState } from 'react'; + +type Theme = "light" | "dark" | "system"; +const ThemeContext = createContext<Theme>("system"); + +const useGetTheme = () => useContext(ThemeContext); + +export default function MyApp() { + const [theme, setTheme] = useState<Theme>('light'); + + return ( + <ThemeContext.Provider value={theme}> + <MyComponent /> + </ThemeContext.Provider> + ) +} + +function MyComponent() { + const theme = useGetTheme(); + + return ( + <div> + <p>Current theme: {theme}</p> + </div> + ) +} +``` + +```js App.js hidden +import AppTSX from "./App.tsx"; +export default App = AppTSX; +``` + +</Sandpack> + +This technique works when you have an default value which makes sense - but there are occasionally cases when you do not, and in those cases `null` can feel reasonable as a default value. However, to allow the type-system to understand your code, you need to explicitly set `ContextShape | null` on the `createContext`. + +This causes the issue that you need to eliminate the `| null` in the type for context consumers. Our recommendation is to have the hook do a runtime check for it's existence and throw an error when not present: + +```js {5, 16-20} +import { createContext, useContext, useState, useMemo } from 'react'; + +// This is a simpler example, but you can imagine a more complex object here +type ComplexObject = { + kind: string +}; + +// The context is created with `| null` in the type, to accurately reflect the default value. +const Context = createContext<ComplexObject | null>(null); + +// The `| null` will be removed via the check in the hook. +const useGetComplexObject = () => { + const object = useContext(Context); + if (!object) { throw new Error("useGetComplexObject must be used within a Provider") } + return object; +} + +export default function MyApp() { + const object = useMemo(() => ({ kind: "complex" }), []); + + return ( + <Context.Provider value={object}> + <MyComponent /> + </Context.Provider> + ) +} + +function MyComponent() { + const object = useGetComplexObject(); + + return ( + <div> + <p>Current object: {object.kind}</p> + </div> + ) +} +``` + +### `useMemo` {/*typing-usememo*/} + +The [`useMemo`](/reference/react/useMemo) hooks will create/re-access a memorized value from a function call, re-running the function only when dependencies passed as the 2nd parameter are changed. The result of calling the hook is inferred from the return value from the function in the first parameter. You can be more explicit by providing a type argument to the hook. + +```ts +// The type of visibleTodos is inferred from the return value of filterTodos +const visibleTodos = useMemo(() => filterTodos(todos, tab), [todos, tab]); +``` + + +### `useCallback` {/*typing-usecallback*/} + +The [`useCallback`](/reference/react/useCallback) provide a stable reference to a function as long as the dependencies passed into the second parameter are the same. Like `useMemo`, the function's type is inferred from the return value of the function in the first parameter, and you can be more explicit by providing a type argument to the hook. + + +```ts +const handleClick = useCallback(() => { + // ... +}, [todos]); +``` + +When working in TypeScript strict mode `useCallback` requires adding types for the parameters in your callback. This is because the type of the callback is inferred from the return value of the function, and without parameters the type cannot be fully understood. + +Depending on your code-style preferences, you could use the `*EventHandler` functions from the React types to provide the type for the event handler at the same time as defining the callback: + +```ts +import { useState, useCallback } from 'react'; + +export default function Form() { + const [value, setValue] = useState("Change me"); + + const handleChange = useCallback<React.ChangeEventHandler<HTMLInputElement>>((event) => { + setValue(event.currentTarget.value); + }, [setValue]) + + return ( + <> + <input value={value} onChange={handleChange} /> + <p>Value: {value}</p> + </> + ); +} +``` + +## Useful Types {/*useful-types*/} + +There is quite an expansive set of types which come from the `@types/react` package, it is worth a read when you feel comfortable with how React and TypeScript interact. You can find them [in React's folder in DefinitelyTyped](https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/react/index.d.ts). We will cover a few of the more common types here. + +### DOM Events {/*typing-dom-events*/} + +When working with DOM events in React, the type of the event can often be inferred from the event handler. However, when you want to extract a function to be passed to an event handler, you will need to explicitly set the type of the event. + +<Sandpack> + +```tsx App.tsx active +import { useState } from 'react'; + +export default function Form() { + const [value, setValue] = useState("Change me"); + + function handleChange(event: React.ChangeEvent<HTMLInputElement>) { + setValue(event.currentTarget.value); + } + + return ( + <> + <input value={value} onChange={handleChange} /> + <p>Value: {value}</p> + </> + ); +} +``` + +```js App.js hidden +import AppTSX from "./App.tsx"; +export default App = AppTSX; +``` + +</Sandpack> + +There are many types of events provided in the React types - the full list can be found [here](https://github.com/DefinitelyTyped/DefinitelyTyped/blob/b580df54c0819ec9df62b0835a315dd48b8594a9/types/react/index.d.ts#L1247C1-L1373) which is based on the [most popular events from the DOM](https://developer.mozilla.org/en-US/docs/Web/Events). + +When determining the type you are looking for you can first look at the hover information for the event handler you are using, which will show the type of the event. + +If you need to use an event that is not included in this list, you can use the `React.SyntheticEvent` type, which is the base type for all events. + +### Children {/*typing-children*/} + +There are two common paths to describing the children of a component. The first is to use the `React.ReactNode` type, which is a union of all the possible types that can be passed as children in JSX: + +```ts +interface ModalRendererProps { + title: string; + children: React.ReactNode; +} +``` + +This is a very broad definition of children. The second is to use the `React.ReactElement` type, which is only JSX elements and not JavaScript primitives like strings or numbers: + +```ts +interface ModalRendererProps { + title: string; + children: React.ReactElement; +} +``` + +Note, that you cannot use TypeScript to describe that the children are a certain type of JSX elements, so you cannot use the type-system to describe a component which only accepts `<li>` children. + +You can see all an example of both `React.ReactNode` and `React.ReactElement` with the type-checker in [this TypeScript playground](https://www.typescriptlang.org/play?#code/JYWwDg9gTgLgBAJQKYEMDG8BmUIjgIilQ3wChSB6CxYmAOmXRgDkIATJOdNJMGAZzgwAFpxAR+8YADswAVwGkZMJFEzpOjDKw4AFHGEEBvUnDhphwADZsi0gFw0mDWjqQBuUgF9yaCNMlENzgAXjgACjADfkctFnYkfQhDAEpQgD44AB42YAA3dKMo5P46C2tbJGkvLIpcgt9-QLi3AEEwMFCItJDMrPTTbIQ3dKywdIB5aU4kKyQQKpha8drhhIGzLLWODbNs3b3s8YAxKBQAcwXpAThMaGWDvbH0gFloGbmrgQfBzYpd1YjQZbEYARkB6zMwO2SHSAAlZlYIBCdtCRkZpHIrFYahQYQD8UYYFA5EhcfjyGYqHAXnJAsIUHlOOUbHYhMIIHJzsI0Qk4P9SLUBuRqXEXEwAKKfRZcNA8PiCfxWACecAAUgBlAAacFm80W-CU11U6h4TgwUv11yShjgJjMLMqDnN9Dilq+nh8pD8AXgCHdMrCkWisVoAet0R6fXqhWKhjKllZVVxMcavpd4Zg7U6Qaj+2hmdG4zeRF10uu-Aeq0LBfLMEe-V+T2L7zLVu+FBWLdLeq+lc7DYFf39deFVOotMCACNOCh1dq219a+30uC8YWoZsRyuEdjkevR8uvoVMdjyTWt4WiSSydXD4NqZP4AymeZE072ZzuUeZQKheQgA). + +### Style Props {/*typing-style-props*/} + +When using inline styles in React, you can use `React.CSSProperties` to describe the object passed to the `style` prop. This type is a union of all the possible CSS properties, and is a good way to ensure you are passing valid CSS properties to the `style` prop, and to get auto-complete in your editor. + +```ts +interface MyComponentProps { + style: React.CSSProperties; +} +``` + +## Further learning {/*further-learning*/} + +This guide has covered the basics of using TypeScript with React, but there is a lot more to learn. +Individual API pages on the docs may contain more in-depth documentation on how to use them with TypeScript. + +We recommend the following resources: + + - [The TypeScript handbook](https://www.typescriptlang.org/docs/handbook/) is the official documentation for TypeScript, and covers most key language features. + + - [The TypeScript release notes](https://devblogs.microsoft.com/typescript/) covers a each new features in-depth. + + - [React TypeScript Cheatsheet](https://react-typescript-cheatsheet.netlify.app/) is a community-maintained cheatsheet for using TypeScript with React, covering a lot of useful edge cases and providing more breadth than this document. + + - [TypeScript Community Discord](discord.com/invite/typescript) is a great place to ask questions and get help with TypeScript and React issues. \ No newline at end of file diff --git a/src/sidebarLearn.json b/src/sidebarLearn.json index 89d5cffc..f462c696 100644 --- a/src/sidebarLearn.json +++ b/src/sidebarLearn.json @@ -36,6 +36,10 @@ "title": "Editor Setup", "path": "/learn/editor-setup" }, + { + "title": "Using TypeScript", + "path": "/learn/typescript" + }, { "title": "React Developer Tools", "path": "/learn/react-developer-tools" From c60bcac830854e8b3f0f0e11d8c889870177fed0 Mon Sep 17 00:00:00 2001 From: Ricky <rickhanlonii@fb.com> Date: Wed, 9 Aug 2023 21:53:23 -0400 Subject: [PATCH 014/382] Fix TerminalBlock overflow (#6208) --- src/components/MDX/TerminalBlock.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/MDX/TerminalBlock.tsx b/src/components/MDX/TerminalBlock.tsx index 9fb5ff35..161e483b 100644 --- a/src/components/MDX/TerminalBlock.tsx +++ b/src/components/MDX/TerminalBlock.tsx @@ -70,7 +70,7 @@ function TerminalBlock({level = 'info', children}: TerminalBlockProps) { </div> </div> </div> - <div className="px-8 pt-4 pb-6 text-primary-dark dark:text-primary-dark font-mono text-code whitespace-pre"> + <div className="px-8 pt-4 pb-6 text-primary-dark dark:text-primary-dark font-mono text-code whitespace-pre overflow-x-scroll"> <LevelText type={level} /> {message} </div> From 03c2e965c3bbe6046d571c1f566e38cf06917cc5 Mon Sep 17 00:00:00 2001 From: Ricky <rickhanlonii@fb.com> Date: Wed, 9 Aug 2023 22:46:03 -0400 Subject: [PATCH 015/382] Fix recipe titles (#6209) --- src/content/reference/react/forwardRef.md | 2 +- src/content/reference/react/useContext.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/content/reference/react/forwardRef.md b/src/content/reference/react/forwardRef.md index 739c94ae..10c2ad03 100644 --- a/src/content/reference/react/forwardRef.md +++ b/src/content/reference/react/forwardRef.md @@ -135,7 +135,7 @@ This `Form` component [passes a ref](/reference/react/useRef#manipulating-the-do Keep in mind that exposing a ref to the DOM node inside your component makes it harder to change your component's internals later. You will typically expose DOM nodes from reusable low-level components like buttons or text inputs, but you won't do it for application-level components like an avatar or a comment. -<Recipes title="Examples of forwarding a ref"> +<Recipes titleText="Examples of forwarding a ref"> #### Focusing a text input {/*focusing-a-text-input*/} diff --git a/src/content/reference/react/useContext.md b/src/content/reference/react/useContext.md index 2b8f0605..ed231c39 100644 --- a/src/content/reference/react/useContext.md +++ b/src/content/reference/react/useContext.md @@ -1078,7 +1078,7 @@ You can override the context for a part of the tree by wrapping that part in a p You can nest and override providers as many times as you need. -<Recipes title="Examples of overriding context"> +<Recipes titleText="Examples of overriding context"> #### Overriding a theme {/*overriding-a-theme*/} From fcc639b062fca15574ec0f09dc37ba5bc63fac53 Mon Sep 17 00:00:00 2001 From: Natsuo Kawai <kawai.natsuo@gmail.com> Date: Fri, 11 Aug 2023 05:49:36 +0900 Subject: [PATCH 016/382] Fix IDs specified in the MDN page URLs (#6176) --- .../react-dom/components/progress.md | 4 ++-- .../reference/react-dom/components/select.md | 16 ++++++------- .../react-dom/components/textarea.md | 24 +++++++++---------- 3 files changed, 22 insertions(+), 22 deletions(-) diff --git a/src/content/reference/react-dom/components/progress.md b/src/content/reference/react-dom/components/progress.md index b783a102..9a8d60ab 100644 --- a/src/content/reference/react-dom/components/progress.md +++ b/src/content/reference/react-dom/components/progress.md @@ -34,8 +34,8 @@ To display a progress indicator, render the [built-in browser `<progress>`](http Additionally, `<progress>` supports these props: -* [`max`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/progress#attr-max): A number. Specifies the maximum `value`. Defaults to `1`. -* [`value`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/progress#attr-value): A number between `0` and `max`, or `null` for indeterminate progress. Specifies how much was done. +* [`max`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/progress#max): A number. Specifies the maximum `value`. Defaults to `1`. +* [`value`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/progress#value): A number between `0` and `max`, or `null` for indeterminate progress. Specifies how much was done. --- diff --git a/src/content/reference/react-dom/components/select.md b/src/content/reference/react-dom/components/select.md index 93ff56ac..46710908 100644 --- a/src/content/reference/react-dom/components/select.md +++ b/src/content/reference/react-dom/components/select.md @@ -50,21 +50,21 @@ If your `<select>` is uncontrolled, you may pass the `defaultValue` prop instead These `<select>` props are relevant both for uncontrolled and controlled select boxes: -* [`autoComplete`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select#attr-autocomplete): A string. Specifies one of the possible [autocomplete behaviors.](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete#values) -* [`autoFocus`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select#attr-autofocus): A boolean. If `true`, React will focus the element on mount. +* [`autoComplete`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select#autocomplete): A string. Specifies one of the possible [autocomplete behaviors.](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete#values) +* [`autoFocus`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select#autofocus): A boolean. If `true`, React will focus the element on mount. * `children`: `<select>` accepts [`<option>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option), [`<optgroup>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/optgroup), and [`<datalist>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/optgroup) components as children. You can also pass your own components as long as they eventually render one of the allowed components. If you pass your own components that eventually render `<option>` tags, each `<option>` you render must have a `value`. -* [`disabled`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select#attr-disabled): A boolean. If `true`, the select box will not be interactive and will appear dimmed. -* [`form`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select#attr-form): A string. Specifies the `id` of the `<form>` this select box belongs to. If omitted, it's the closest parent form. -* [`multiple`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select#attr-multiple): A boolean. If `true`, the browser allows [multiple selection.](#enabling-multiple-selection) -* [`name`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select#attr-name): A string. Specifies the name for this select box that's [submitted with the form.](#reading-the-select-box-value-when-submitting-a-form) +* [`disabled`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select#disabled): A boolean. If `true`, the select box will not be interactive and will appear dimmed. +* [`form`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select#form): A string. Specifies the `id` of the `<form>` this select box belongs to. If omitted, it's the closest parent form. +* [`multiple`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select#multiple): A boolean. If `true`, the browser allows [multiple selection.](#enabling-multiple-selection) +* [`name`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select#name): A string. Specifies the name for this select box that's [submitted with the form.](#reading-the-select-box-value-when-submitting-a-form) * `onChange`: An [`Event` handler](/reference/react-dom/components/common#event-handler) function. Required for [controlled select boxes.](#controlling-a-select-box-with-a-state-variable) Fires immediately when the user picks a different option. Behaves like the browser [`input` event.](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event) * `onChangeCapture`: A version of `onChange` that fires in the [capture phase.](/learn/responding-to-events#capture-phase-events) * [`onInput`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event): An [`Event` handler](/reference/react-dom/components/common#event-handler) function. Fires immediately when the value is changed by the user. For historical reasons, in React it is idiomatic to use `onChange` instead which works similarly. * `onInputCapture`: A version of `onInput` that fires in the [capture phase.](/learn/responding-to-events#capture-phase-events) * [`onInvalid`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/invalid_event): An [`Event` handler](/reference/react-dom/components/common#event-handler) function. Fires if an input fails validation on form submit. Unlike the built-in `invalid` event, the React `onInvalid` event bubbles. * `onInvalidCapture`: A version of `onInvalid` that fires in the [capture phase.](/learn/responding-to-events#capture-phase-events) -* [`required`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select#attr-required): A boolean. If `true`, the value must be provided for the form to submit. -* [`size`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select#attr-size): A number. For `multiple={true}` selects, specifies the preferred number of initially visible items. +* [`required`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select#required): A boolean. If `true`, the value must be provided for the form to submit. +* [`size`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select#size): A number. For `multiple={true}` selects, specifies the preferred number of initially visible items. #### Caveats {/*caveats*/} diff --git a/src/content/reference/react-dom/components/textarea.md b/src/content/reference/react-dom/components/textarea.md index 388bcf26..5c742f29 100644 --- a/src/content/reference/react-dom/components/textarea.md +++ b/src/content/reference/react-dom/components/textarea.md @@ -44,14 +44,14 @@ If your `<textarea>` is uncontrolled, you may pass the `defaultValue` prop inste These `<textarea>` props are relevant both for uncontrolled and controlled text areas: -* [`autoComplete`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#attr-autocomplete): Either `'on'` or `'off'`. Specifies the autocomplete behavior. -* [`autoFocus`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#attr-autofocus): A boolean. If `true`, React will focus the element on mount. +* [`autoComplete`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#autocomplete): Either `'on'` or `'off'`. Specifies the autocomplete behavior. +* [`autoFocus`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#autofocus): A boolean. If `true`, React will focus the element on mount. * `children`: `<textarea>` does not accept children. To set the initial value, use `defaultValue`. -* [`cols`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#attr-cols): A number. Specifies the default width in average character widths. Defaults to `20`. -* [`disabled`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#attr-disabled): A boolean. If `true`, the input will not be interactive and will appear dimmed. -* [`form`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#attr-form): A string. Specifies the `id` of the `<form>` this input belongs to. If omitted, it's the closest parent form. -* [`maxLength`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#attr-maxlength): A number. Specifies the maximum length of text. -* [`minLength`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#attr-minlength): A number. Specifies the minimum length of text. +* [`cols`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#cols): A number. Specifies the default width in average character widths. Defaults to `20`. +* [`disabled`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#disabled): A boolean. If `true`, the input will not be interactive and will appear dimmed. +* [`form`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#form): A string. Specifies the `id` of the `<form>` this input belongs to. If omitted, it's the closest parent form. +* [`maxLength`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#maxlength): A number. Specifies the maximum length of text. +* [`minLength`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#minlength): A number. Specifies the minimum length of text. * [`name`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#name): A string. Specifies the name for this input that's [submitted with the form.](#reading-the-textarea-value-when-submitting-a-form) * `onChange`: An [`Event` handler](/reference/react-dom/components/common#event-handler) function. Required for [controlled text areas.](#controlling-a-text-area-with-a-state-variable) Fires immediately when the input's value is changed by the user (for example, it fires on every keystroke). Behaves like the browser [`input` event.](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event) * `onChangeCapture`: A version of `onChange` that fires in the [capture phase.](/learn/responding-to-events#capture-phase-events) @@ -61,11 +61,11 @@ These `<textarea>` props are relevant both for uncontrolled and controlled text * `onInvalidCapture`: A version of `onInvalid` that fires in the [capture phase.](/learn/responding-to-events#capture-phase-events) * [`onSelect`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLTextAreaElement/select_event): An [`Event` handler](/reference/react-dom/components/common#event-handler) function. Fires after the selection inside the `<textarea>` changes. React extends the `onSelect` event to also fire for empty selection and on edits (which may affect the selection). * `onSelectCapture`: A version of `onSelect` that fires in the [capture phase.](/learn/responding-to-events#capture-phase-events) -* [`placeholder`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#attr-placeholder): A string. Displayed in a dimmed color when the text area value is empty. -* [`readOnly`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#attr-readonly): A boolean. If `true`, the text area is not editable by the user. -* [`required`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#attr-required): A boolean. If `true`, the value must be provided for the form to submit. -* [`rows`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#attr-rows): A number. Specifies the default height in average character heights. Defaults to `2`. -* [`wrap`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#attr-wrap): Either `'hard'`, `'soft'`, or `'off'`. Specifies how the text should be wrapped when submitting a form. +* [`placeholder`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#placeholder): A string. Displayed in a dimmed color when the text area value is empty. +* [`readOnly`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#readonly): A boolean. If `true`, the text area is not editable by the user. +* [`required`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#required): A boolean. If `true`, the value must be provided for the form to submit. +* [`rows`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#rows): A number. Specifies the default height in average character heights. Defaults to `2`. +* [`wrap`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#wrap): Either `'hard'`, `'soft'`, or `'off'`. Specifies how the text should be wrapped when submitting a form. #### Caveats {/*caveats*/} From ae06008d574e44992133f4cc74563ce968fde04c Mon Sep 17 00:00:00 2001 From: Ricky <rickhanlonii@fb.com> Date: Thu, 10 Aug 2023 17:10:58 -0400 Subject: [PATCH 017/382] Add UI for canary releases (#6173) * [WIP] Add UI for canary releases * yellow * Switch to icon and gray * Wording, alignment, and rm flex * Heading alignment --- src/components/Icon/IconCanary.tsx | 32 +++++++++++++++++++ src/components/Layout/Page.tsx | 4 ++- src/components/Layout/Sidebar/SidebarLink.tsx | 21 +++++++----- .../Layout/Sidebar/SidebarRouteTree.tsx | 14 ++++++-- src/components/Layout/getRouteMeta.tsx | 4 +-- src/components/MDX/ExpandableCallout.tsx | 12 ++++++- src/components/MDX/MDXComponents.tsx | 5 +++ src/components/PageHeading.tsx | 12 ++++++- src/content/reference/react/directives.md | 9 +++++- src/content/reference/react/use-client.md | 8 ++--- src/content/reference/react/use-server.md | 17 +++++++--- src/sidebarReference.json | 7 ++-- 12 files changed, 117 insertions(+), 28 deletions(-) create mode 100644 src/components/Icon/IconCanary.tsx diff --git a/src/components/Icon/IconCanary.tsx b/src/components/Icon/IconCanary.tsx new file mode 100644 index 00000000..a7782b14 --- /dev/null +++ b/src/components/Icon/IconCanary.tsx @@ -0,0 +1,32 @@ +/* + * Copyright (c) Facebook, Inc. and its affiliates. + */ + +import {memo} from 'react'; + +export const IconCanary = memo<JSX.IntrinsicElements['svg'] & {title?: string}>( + function IconCanary({className, title}) { + return ( + <svg + className={className} + width="20px" + height="20px" + viewBox="0 0 20 20" + version="1.1" + xmlns="http://www.w3.org/2000/svg"> + {title && <title>{title}</title>} + <g stroke="none" strokeWidth="1" fill="none" fillRule="evenodd"> + <g + id="noun-labs-1201738-(2)" + transform="translate(2, 0)" + fill="currentColor" + fillRule="nonzero"> + <path + d="M10.2865804,5.55665262 L10.2865804,2.22331605 L10.8591544,2.22331605 C11.0103911,2.22244799 11.1551447,2.16342155 11.2617505,2.05914367 C11.3684534,1.95486857 11.4282767,1.81370176 11.4282767,1.66667106 L11.4282767,0.556642208 C11.4282767,0.40907262 11.3678934,0.26747526 11.2605218,0.16308627 C11.1531503,0.0587028348 11.0074938,0 10.8556998,0 L5.14338868,0 C4.9915947,0 4.84594391,0.0587028348 4.73856664,0.16308627 C4.63119507,0.267469704 4.57081178,0.40907262 4.57081178,0.556642208 L4.57081178,1.66667106 C4.57081178,1.81434899 4.63119507,1.95594912 4.73856664,2.06033811 C4.8459382,2.16472155 4.9915947,2.22331605 5.14338868,2.22331605 L5.71596273,2.22331605 L5.71596273,5.55665262 C5.71596273,8.38665538 2.97295619,9.88999017 0.651686904,15.5566623 C-0.0957823782,17.360053 -2.00560068,20 7.99951567,20 C18.004632,20 16.0948137,17.3600252 15.3507732,15.5566623 C13.0124432,9.88999017 10.2865804,8.38665538 10.2865804,5.55665262 Z M9.89570197,10.709991 C10.0921412,10.709991 10.2805515,10.7858383 10.4193876,10.9209301 C10.5583466,11.0559135 10.6363652,11.2390693 10.6363652,11.4300417 C10.6363652,11.6210141 10.5583466,11.8040698 10.4193876,11.9391533 C10.2805401,12.0741367 10.0921412,12.1499813 9.89570197,12.1499813 C9.6992627,12.1499813 9.51096673,12.074134 9.37201631,11.9391533 C9.23316875,11.8040615 9.15515307,11.6210141 9.15515307,11.4300417 C9.15515307,11.2390693 9.2331716,11.0559024 9.37201631,10.9209301 C9.57264221,10.7258996 9.61239426,10.709991 9.89570197,10.709991 Z M8.98919546,9.04212824 C9.09790709,9.14792278 9.15884755,9.29158681 9.1585213,9.44110085 C9.15829001,9.59073155 9.09678989,9.73407335 8.98763252,9.83954568 C8.87847514,9.945018 8.73069852,10.0039347 8.57678157,10.0033977 C8.42286747,10.0027392 8.27565088,9.94273467 8.16727355,9.83639845 C8.05900765,9.73006224 7.99873866,9.58628988 7.99963013,9.43664806 C8.00052304,9.28788403 8.0620221,9.14542556 8.17051087,9.04048101 C8.27911107,8.93555591 8.42599335,8.87663641 8.57913312,8.87663641 C8.73291864,8.87665585 8.88047525,8.93622535 8.98919546,9.04212824 Z M7.99965585,17.9999981 C4.91377349,17.9999981 3.29882839,17.7332867 2.51364277,17.4999976 C2.37780966,17.4476975 2.26954376,17.3439641 2.21396931,17.2125528 C2.15838628,17.0811499 2.16006066,16.9334692 2.21876871,16.8033858 C2.6144474,15.5921346 3.14916224,14.4280501 3.81316983,13.3333824 C5.980145,9.82337899 8.22941036,13.8867718 10.0980836,13.8867718 C11.9666996,13.8867718 11.4695868,12.1534924 12.1827971,13.3333824 C12.8511505,14.4269112 13.3916656,15.5896902 13.794259,16.8000524 C13.8533022,16.9322137 13.8537479,17.0822749 13.7952635,17.2147751 C13.7368889,17.3472613 13.6248314,17.4504531 13.4856467,17.5000531 C12.6833967,17.7332867 11.0855382,17.9999981 7.99965585,17.9999981 Z" + id="Shape"></path> + </g> + </g> + </svg> + ); + } +); diff --git a/src/components/Layout/Page.tsx b/src/components/Layout/Page.tsx index 967a7faf..2b8ae3a6 100644 --- a/src/components/Layout/Page.tsx +++ b/src/components/Layout/Page.tsx @@ -28,7 +28,7 @@ interface PageProps { children: React.ReactNode; toc: Array<TocItem>; routeTree: RouteItem; - meta: {title?: string; description?: string}; + meta: {title?: string; canary?: boolean; description?: string}; section: 'learn' | 'reference' | 'community' | 'blog' | 'home' | 'unknown'; } @@ -40,6 +40,7 @@ export function Page({children, toc, routeTree, meta, section}: PageProps) { routeTree ); const title = meta.title || route?.title || ''; + const canary = meta.canary || false; const description = meta.description || route?.description || ''; const isHomePage = cleanedPath === '/'; const isBlogIndex = cleanedPath === '/blog'; @@ -56,6 +57,7 @@ export function Page({children, toc, routeTree, meta, section}: PageProps) { )}> <PageHeading title={title} + canary={canary} description={description} tags={route?.tags} breadcrumbs={breadcrumbs} diff --git a/src/components/Layout/Sidebar/SidebarLink.tsx b/src/components/Layout/Sidebar/SidebarLink.tsx index 6222104c..0bf6f349 100644 --- a/src/components/Layout/Sidebar/SidebarLink.tsx +++ b/src/components/Layout/Sidebar/SidebarLink.tsx @@ -8,6 +8,7 @@ import {useRef, useEffect} from 'react'; import * as React from 'react'; import cn from 'classnames'; import {IconNavArrow} from 'components/Icon/IconNavArrow'; +import {IconCanary} from 'components/Icon/IconCanary'; import Link from 'next/link'; interface SidebarLinkProps { @@ -15,7 +16,7 @@ interface SidebarLinkProps { selected?: boolean; title: string; level: number; - wip: boolean | undefined; + canary?: boolean; icon?: React.ReactNode; isExpanded?: boolean; hideArrow?: boolean; @@ -26,7 +27,7 @@ export function SidebarLink({ href, selected = false, title, - wip, + canary, level, isExpanded, hideArrow, @@ -72,12 +73,16 @@ export function SidebarLink({ } )}> {/* This here needs to be refactored ofc */} - <span - className={cn({ - 'text-gray-400 dark:text-gray-500': wip, - })}> - {title} - </span> + <div> + {title}{' '} + {canary && ( + <IconCanary + title="This feature is available in the latest Canary" + className="ml-2 text-gray-30 dark:text-gray-60 inline-block w-4 h-4 align-[-3px]" + /> + )} + </div> + {isExpanded != null && !hideArrow && ( <span className={cn('pr-1', { diff --git a/src/components/Layout/Sidebar/SidebarRouteTree.tsx b/src/components/Layout/Sidebar/SidebarRouteTree.tsx index fa6b0cb2..fa920ad9 100644 --- a/src/components/Layout/Sidebar/SidebarRouteTree.tsx +++ b/src/components/Layout/Sidebar/SidebarRouteTree.tsx @@ -82,7 +82,15 @@ export function SidebarRouteTree({ <ul> {currentRoutes.map( ( - {path, title, routes, wip, heading, hasSectionHeader, sectionHeader}, + { + path, + title, + routes, + canary, + heading, + hasSectionHeader, + sectionHeader, + }, index ) => { const selected = slug === path; @@ -112,7 +120,7 @@ export function SidebarRouteTree({ selected={selected} level={level} title={title} - wip={wip} + canary={canary} isExpanded={isExpanded} hideArrow={isForceExpanded} /> @@ -136,7 +144,7 @@ export function SidebarRouteTree({ selected={selected} level={level} title={title} - wip={wip} + canary={canary} /> </li> ); diff --git a/src/components/Layout/getRouteMeta.tsx b/src/components/Layout/getRouteMeta.tsx index 87583ac7..d2294784 100644 --- a/src/components/Layout/getRouteMeta.tsx +++ b/src/components/Layout/getRouteMeta.tsx @@ -19,6 +19,8 @@ export type RouteTag = export interface RouteItem { /** Page title (for the sidebar) */ title: string; + /** Optional canary flag for heading */ + canary?: boolean; /** Optional page description for heading */ description?: string; /* Additional meta info for page tagging */ @@ -27,8 +29,6 @@ export interface RouteItem { path?: string; /** Whether the entry is a heading */ heading?: boolean; - /** Whether the page is under construction */ - wip?: boolean; /** List of sub-routes */ routes?: RouteItem[]; /** Adds a section header above the route item */ diff --git a/src/components/MDX/ExpandableCallout.tsx b/src/components/MDX/ExpandableCallout.tsx index 1fb1ea0c..f8c61785 100644 --- a/src/components/MDX/ExpandableCallout.tsx +++ b/src/components/MDX/ExpandableCallout.tsx @@ -8,8 +8,9 @@ import cn from 'classnames'; import {IconNote} from '../Icon/IconNote'; import {IconWarning} from '../Icon/IconWarning'; import {IconPitfall} from '../Icon/IconPitfall'; +import {IconCanary} from '../Icon/IconCanary'; -type CalloutVariants = 'deprecated' | 'pitfall' | 'note' | 'wip'; +type CalloutVariants = 'deprecated' | 'pitfall' | 'note' | 'wip' | 'canary'; interface ExpandableCalloutProps { children: React.ReactNode; @@ -34,6 +35,15 @@ const variantMap = { overlayGradient: 'linear-gradient(rgba(245, 249, 248, 0), rgba(245, 249, 248, 1)', }, + canary: { + title: 'Canary', + Icon: IconCanary, + containerClasses: + 'bg-gray-5 dark:bg-gray-60 dark:bg-opacity-20 text-primary dark:text-primary-dark text-lg', + textColor: 'text-gray-60 dark:text-gray-30', + overlayGradient: + 'linear-gradient(rgba(245, 249, 248, 0), rgba(245, 249, 248, 1)', + }, pitfall: { title: 'Pitfall', Icon: IconPitfall, diff --git a/src/components/MDX/MDXComponents.tsx b/src/components/MDX/MDXComponents.tsx index 8ddf371c..f2c792cb 100644 --- a/src/components/MDX/MDXComponents.tsx +++ b/src/components/MDX/MDXComponents.tsx @@ -87,6 +87,10 @@ const Note = ({children}: {children: React.ReactNode}) => ( <ExpandableCallout type="note">{children}</ExpandableCallout> ); +const Canary = ({children}: {children: React.ReactNode}) => ( + <ExpandableCallout type="canary">{children}</ExpandableCallout> +); + const Blockquote = ({ children, ...props @@ -416,6 +420,7 @@ export const MDXComponents = { Math, MathI, Note, + Canary, PackageImport, ReadBlogPost, Recap, diff --git a/src/components/PageHeading.tsx b/src/components/PageHeading.tsx index a92cd8f6..9c411fd3 100644 --- a/src/components/PageHeading.tsx +++ b/src/components/PageHeading.tsx @@ -6,9 +6,12 @@ import Breadcrumbs from 'components/Breadcrumbs'; import Tag from 'components/Tag'; import {H1} from './MDX/Heading'; import type {RouteTag, RouteItem} from './Layout/getRouteMeta'; +import * as React from 'react'; +import {IconCanary} from './Icon/IconCanary'; interface PageHeadingProps { title: string; + canary?: boolean; status?: string; description?: string; tags?: RouteTag[]; @@ -18,6 +21,7 @@ interface PageHeadingProps { function PageHeading({ title, status, + canary, description, tags = [], breadcrumbs, @@ -28,10 +32,16 @@ function PageHeading({ {breadcrumbs ? <Breadcrumbs breadcrumbs={breadcrumbs} /> : null} <H1 className="mt-0 text-primary dark:text-primary-dark -mx-.5 break-words"> {title} + {canary && ( + <IconCanary + title="This feature is available in the latest Canary" + className="ml-4 mt-1 text-gray-50 dark:text-gray-40 inline-block w-6 h-6 align-[-1px]" + /> + )} {status ? <em>—{status}</em> : ''} </H1> {description && ( - <p className="mt-4 mb-6 text-primary dark:text-primary-dark text-xl text-gray-90 leading-large"> + <p className="mt-4 mb-6 dark:text-primary-dark text-xl text-gray-90 leading-large"> {description} </p> )} diff --git a/src/content/reference/react/directives.md b/src/content/reference/react/directives.md index 49b3d624..b323dab1 100644 --- a/src/content/reference/react/directives.md +++ b/src/content/reference/react/directives.md @@ -1,10 +1,17 @@ --- title: "Directives" +canary: true --- +<Canary> + +These directives are needed only if you're [using React Server Components](/learn/start-a-new-react-project#bleeding-edge-react-frameworks) or building a library compatible with them. + +</Canary> + <Intro> -React uses two directives to provide instructions to [bundlers compatible with React Server Components](/learn/start-a-new-react-project#bleeding-edge-react-frameworks). +Directives provide instructions to [bundlers compatible with React Server Components](/learn/start-a-new-react-project#bleeding-edge-react-frameworks). </Intro> diff --git a/src/content/reference/react/use-client.md b/src/content/reference/react/use-client.md index 4fc5d7ac..fc6173ac 100644 --- a/src/content/reference/react/use-client.md +++ b/src/content/reference/react/use-client.md @@ -1,12 +1,12 @@ --- title: "'use client'" +canary: true --- -<Note> +<Canary> -These directives are needed only if you're [using React Server Components](/learn/start-a-new-react-project#bleeding-edge-react-frameworks) or building a library compatible with them. - -</Note> +`'use client'` is needed only if you're [using React Server Components](/learn/start-a-new-react-project#bleeding-edge-react-frameworks) or building a library compatible with them. +</Canary> <Intro> diff --git a/src/content/reference/react/use-server.md b/src/content/reference/react/use-server.md index 61f895ca..6b9e7df0 100644 --- a/src/content/reference/react/use-server.md +++ b/src/content/reference/react/use-server.md @@ -1,14 +1,13 @@ --- title: "'use server'" +canary: true --- -<Wip> - -This section is incomplete. +<Canary> -These directives are needed only if you're [using React Server Components](/learn/start-a-new-react-project#bleeding-edge-react-frameworks) or building a library compatible with them. +`'use server'` is needed only if you're [using React Server Components](/learn/start-a-new-react-project#bleeding-edge-react-frameworks) or building a library compatible with them. -</Wip> +</Canary> <Intro> @@ -46,3 +45,11 @@ Alternatively, add `'use server';` at the very top of a file to mark all exports * To avoid the confusion that might result from mixing client- and server-side code in the same file, `'use server'` can only be used in server-side files; the resulting functions can be passed to client components through props. * Because the underlying network calls are always asynchronous, `'use server'` can be used only on async functions. * Directives like `'use server'` must be at the very beginning of their function or file, above any other code including imports (comments above directives are OK). They must be written with single or double quotes, not backticks. (The `'use xyz'` directive format somewhat resembles the `useXyz()` Hook naming convention, but the similarity is coincidental.) + +## Usage {/*usage*/} + +<Wip> + +This section is incomplete. See also the [Next.js documentation for Server Components](https://beta.nextjs.org/docs/rendering/server-and-client-components). + +</Wip> diff --git a/src/sidebarReference.json b/src/sidebarReference.json index 5809e8fb..04a52357 100644 --- a/src/sidebarReference.json +++ b/src/sidebarReference.json @@ -123,14 +123,17 @@ { "title": "Directives", "path": "/reference/react/directives", + "canary": true, "routes": [ { "title": "'use client'", - "path": "/reference/react/use-client" + "path": "/reference/react/use-client", + "canary": true }, { "title": "'use server'", - "path": "/reference/react/use-server" + "path": "/reference/react/use-server", + "canary": true } ] }, From 22d98782b944dda9fd3309c56d3bf434a103c024 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?N=C3=A9stor=20Guillermo=20Hern=C3=A1ndez?= <nghsoft@fibertel.com.ar> Date: Thu, 10 Aug 2023 19:29:00 -0300 Subject: [PATCH 018/382] Update correct link common.md (#6125) --- src/content/reference/react-dom/components/common.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/reference/react-dom/components/common.md b/src/content/reference/react-dom/components/common.md index 04b0dc5e..d3cc4d5b 100644 --- a/src/content/reference/react-dom/components/common.md +++ b/src/content/reference/react-dom/components/common.md @@ -333,7 +333,7 @@ An event handler type for the [CSS animation](https://developer.mozilla.org/en-U * `e`: A [React event object](#react-event-object) with these extra [`AnimationEvent`](https://developer.mozilla.org/en-US/docs/Web/API/AnimationEvent) properties: * [`animationName`](https://developer.mozilla.org/en-US/docs/Web/API/AnimationEvent/animationName) * [`elapsedTime`](https://developer.mozilla.org/en-US/docs/Web/API/AnimationEvent/elapsedTime) - * [`pseudoElement`](https://developer.mozilla.org/en-US/docs/Web/API/AnimationEvent) + * [`pseudoElement`](https://developer.mozilla.org/en-US/docs/Web/API/AnimationEvent/pseudoElement) --- From 02c00671013f91cad3d3694a1e13ccf2baf87c54 Mon Sep 17 00:00:00 2001 From: Diwakar Kashyap <94478026+DIWAKARKASHYAP@users.noreply.github.com> Date: Fri, 11 Aug 2023 07:07:34 +0530 Subject: [PATCH 019/382] remove Bad grammar in react.dev tictactoe documentation (#6126) * change docs * add docs for create react app * remove * Update src/content/learn/tutorial-tic-tac-toe.md --------- Co-authored-by: Ricky <rickhanlonii@gmail.com> --- src/content/learn/tutorial-tic-tac-toe.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/learn/tutorial-tic-tac-toe.md b/src/content/learn/tutorial-tic-tac-toe.md index 28d997b0..16e5f518 100644 --- a/src/content/learn/tutorial-tic-tac-toe.md +++ b/src/content/learn/tutorial-tic-tac-toe.md @@ -1173,7 +1173,7 @@ Why didn't this problem happen earlier? When you were passing `onSquareClick={handleClick}`, you were passing the `handleClick` function down as a prop. You were not calling it! But now you are *calling* that function right away--notice the parentheses in `handleClick(0)`--and that's why it runs too early. You don't *want* to call `handleClick` until the user clicks! -You could fix by creating a function like `handleFirstSquareClick` that calls `handleClick(0)`, a function like `handleSecondSquareClick` that calls `handleClick(1)`, and so on. You would pass (rather than call) these functions down as props like `onSquareClick={handleFirstSquareClick}`. This would solve the infinite loop. +You could fix this by creating a function like `handleFirstSquareClick` that calls `handleClick(0)`, a function like `handleSecondSquareClick` that calls `handleClick(1)`, and so on. You would pass (rather than call) these functions down as props like `onSquareClick={handleFirstSquareClick}`. This would solve the infinite loop. However, defining nine different functions and giving each of them a name is too verbose. Instead, let's do this: From a86663da84db032212192f5f5c49f2cbbc417ed2 Mon Sep 17 00:00:00 2001 From: Ricky <rickhanlonii@fb.com> Date: Thu, 10 Aug 2023 23:10:18 -0400 Subject: [PATCH 020/382] Fix IntersectionObserver examples (#6212) --- src/content/reference/react/useEffect.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/content/reference/react/useEffect.md b/src/content/reference/react/useEffect.md index 8d04f205..1bb96e1e 100644 --- a/src/content/reference/react/useEffect.md +++ b/src/content/reference/react/useEffect.md @@ -426,7 +426,7 @@ body { #### Tracking element visibility {/*tracking-element-visibility*/} -In this example, the external system is again the browser DOM. The `App` component displays a long list, then a `Box` component, and then another long list. Scroll the list down. Notice that when the `Box` component appears in the viewport, the background color changes to black. To implement this, the `Box` component uses an Effect to manage an [`IntersectionObserver`](https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API). This browser API notifies you when the DOM element is visible in the viewport. +In this example, the external system is again the browser DOM. The `App` component displays a long list, then a `Box` component, and then another long list. Scroll the list down. Notice that when all of the `Box` component is fully visible in the viewport, the background color changes to black. To implement this, the `Box` component uses an Effect to manage an [`IntersectionObserver`](https://developer.mozilla.org/en-US/docs/Web/API/Intersection_Observer_API). This browser API notifies you when the DOM element is visible in the viewport. <Sandpack> @@ -471,10 +471,10 @@ export default function Box() { document.body.style.backgroundColor = 'white'; document.body.style.color = 'black'; } + }, { + threshold: 1.0 }); - observer.observe(div, { - threshold: 1.0 - }); + observer.observe(div); return () => { observer.disconnect(); } @@ -763,10 +763,10 @@ export function useIntersectionObserver(ref) { const observer = new IntersectionObserver(entries => { const entry = entries[0]; setIsIntersecting(entry.isIntersecting); + }, { + threshold: 1.0 }); - observer.observe(div, { - threshold: 1.0 - }); + observer.observe(div); return () => { observer.disconnect(); } From b1a5b7b0b007ac8d69a760c0a0381cf055889ea3 Mon Sep 17 00:00:00 2001 From: Bruno Eduardo de Souza Medeiros <50559336+brunoeduardodev@users.noreply.github.com> Date: Fri, 11 Aug 2023 00:14:34 -0300 Subject: [PATCH 021/382] fix(docs): Component reference render parameters (#6098) --- src/content/reference/react/Component.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/content/reference/react/Component.md b/src/content/reference/react/Component.md index 1ea148a6..2d49972d 100644 --- a/src/content/reference/react/Component.md +++ b/src/content/reference/react/Component.md @@ -593,9 +593,7 @@ You should write the `render` method as a pure function, meaning that it should #### Parameters {/*render-parameters*/} -* `prevProps`: Props before the update. Compare `prevProps` to [`this.props`](#props) to determine what changed. - -* `prevState`: State before the update. Compare `prevState` to [`this.state`](#state) to determine what changed. +`render` does not take any parameters. #### Returns {/*render-returns*/} From 2bfa54411e9aa06ec4189ad12e610ed5011d8b6b Mon Sep 17 00:00:00 2001 From: Hannanel Gershinsky <hannanel100@gmail.com> Date: Fri, 11 Aug 2023 06:48:07 +0300 Subject: [PATCH 022/382] removing reference to create-react-app (#6012) --- src/content/learn/importing-and-exporting-components.md | 2 +- src/content/learn/your-first-component.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/content/learn/importing-and-exporting-components.md b/src/content/learn/importing-and-exporting-components.md index f8f55605..3a39c36d 100644 --- a/src/content/learn/importing-and-exporting-components.md +++ b/src/content/learn/importing-and-exporting-components.md @@ -52,7 +52,7 @@ img { margin: 0 10px 10px 0; height: 90px; } </Sandpack> -These currently live in a **root component file,** named `App.js` in this example. In [Create React App](https://create-react-app.dev/), your app lives in `src/App.js`. Depending on your setup, your root component could be in another file, though. If you use a framework with file-based routing, such as Next.js, your root component will be different for every page. +These currently live in a **root component file,** named `App.js` in this example. Depending on your setup, your root component could be in another file, though. If you use a framework with file-based routing, such as Next.js, your root component will be different for every page. ## Exporting and importing a component {/*exporting-and-importing-a-component*/} diff --git a/src/content/learn/your-first-component.md b/src/content/learn/your-first-component.md index 343823aa..17fa01e9 100644 --- a/src/content/learn/your-first-component.md +++ b/src/content/learn/your-first-component.md @@ -211,7 +211,7 @@ When a child component needs some data from a parent, [pass it by props](/learn/ #### Components all the way down {/*components-all-the-way-down*/} -Your React application begins at a "root" component. Usually, it is created automatically when you start a new project. For example, if you use [CodeSandbox](https://codesandbox.io/) or [Create React App](https://create-react-app.dev/), the root component is defined in `src/App.js`. If you use the framework [Next.js](https://nextjs.org/), the root component is defined in `pages/index.js`. In these examples, you've been exporting root components. +Your React application begins at a "root" component. Usually, it is created automatically when you start a new project. For example, if you use [CodeSandbox](https://codesandbox.io/) or if you use the framework [Next.js](https://nextjs.org/), the root component is defined in `pages/index.js`. In these examples, you've been exporting root components. Most React apps use components all the way down. This means that you won't only use components for reusable pieces like buttons, but also for larger pieces like sidebars, lists, and ultimately, complete pages! Components are a handy way to organize UI code and markup, even if some of them are only used once. From 79560d6572330a1a30aeec997526878c13a982f9 Mon Sep 17 00:00:00 2001 From: Umair Raza <52033975+umairraza96@users.noreply.github.com> Date: Fri, 11 Aug 2023 08:14:24 +0400 Subject: [PATCH 023/382] fix: remove Hong Kong from choosing-the-state-structure (#5957) * fix: remove Hong Kong from choosing-the-state-structure closes Improper examples #5955 * change boolean style for rendering --- .../learn/choosing-the-state-structure.md | 303 ++++++++---------- 1 file changed, 142 insertions(+), 161 deletions(-) diff --git a/src/content/learn/choosing-the-state-structure.md b/src/content/learn/choosing-the-state-structure.md index b1478324..49e11a22 100644 --- a/src/content/learn/choosing-the-state-structure.md +++ b/src/content/learn/choosing-the-state-structure.md @@ -696,119 +696,115 @@ export const initialTravelPlan = { childPlaces: [] }, { id: 21, - title: 'Hong Kong', - childPlaces: [] - }, { - id: 22, title: 'India', childPlaces: [] }, { - id: 23, + id: 22, title: 'Singapore', childPlaces: [] }, { - id: 24, + id: 23, title: 'South Korea', childPlaces: [] }, { - id: 25, + id: 24, title: 'Thailand', childPlaces: [] }, { - id: 26, + id: 25, title: 'Vietnam', childPlaces: [] }] }, { - id: 27, + id: 26, title: 'Europe', childPlaces: [{ - id: 28, + id: 27, title: 'Croatia', childPlaces: [], }, { - id: 29, + id: 28, title: 'France', childPlaces: [], }, { - id: 30, + id: 29, title: 'Germany', childPlaces: [], }, { - id: 31, + id: 30, title: 'Italy', childPlaces: [], }, { - id: 32, + id: 31, title: 'Portugal', childPlaces: [], }, { - id: 33, + id: 32, title: 'Spain', childPlaces: [], }, { - id: 34, + id: 33, title: 'Turkey', childPlaces: [], }] }, { - id: 35, + id: 34, title: 'Oceania', childPlaces: [{ - id: 36, + id: 35, title: 'Australia', childPlaces: [], }, { - id: 37, + id: 36, title: 'Bora Bora (French Polynesia)', childPlaces: [], }, { - id: 38, + id: 37, title: 'Easter Island (Chile)', childPlaces: [], }, { - id: 39, + id: 38, title: 'Fiji', childPlaces: [], }, { - id: 40, + id: 39, title: 'Hawaii (the USA)', childPlaces: [], }, { - id: 41, + id: 40, title: 'New Zealand', childPlaces: [], }, { - id: 42, + id: 41, title: 'Vanuatu', childPlaces: [], }] }] }, { - id: 43, + id: 42, title: 'Moon', childPlaces: [{ - id: 44, + id: 43, title: 'Rheita', childPlaces: [] }, { - id: 45, + id: 44, title: 'Piccolomini', childPlaces: [] }, { - id: 46, + id: 45, title: 'Tycho', childPlaces: [] }] }, { - id: 47, + id: 46, title: 'Mars', childPlaces: [{ - id: 48, + id: 47, title: 'Corn Town', childPlaces: [] }, { - id: 49, + id: 48, title: 'Green Hill', childPlaces: [] }] @@ -877,12 +873,12 @@ export const initialTravelPlan = { 0: { id: 0, title: '(Root)', - childIds: [1, 43, 47], + childIds: [1, 42, 46], }, 1: { id: 1, title: 'Earth', - childIds: [2, 10, 19, 27, 35] + childIds: [2, 10, 19, 26, 34] }, 2: { id: 2, @@ -972,7 +968,7 @@ export const initialTravelPlan = { 19: { id: 19, title: 'Asia', - childIds: [20, 21, 22, 23, 24, 25, 26], + childIds: [20, 21, 22, 23, 24, 25], }, 20: { id: 20, @@ -981,146 +977,141 @@ export const initialTravelPlan = { }, 21: { id: 21, - title: 'Hong Kong', + title: 'India', childIds: [] }, 22: { id: 22, - title: 'India', + title: 'Singapore', childIds: [] }, 23: { id: 23, - title: 'Singapore', + title: 'South Korea', childIds: [] }, 24: { id: 24, - title: 'South Korea', + title: 'Thailand', childIds: [] }, 25: { id: 25, - title: 'Thailand', + title: 'Vietnam', childIds: [] }, 26: { id: 26, - title: 'Vietnam', - childIds: [] + title: 'Europe', + childIds: [27, 28, 29, 30, 31, 32, 33], }, 27: { id: 27, - title: 'Europe', - childIds: [28, 29, 30, 31, 32, 33, 34], + title: 'Croatia', + childIds: [] }, 28: { id: 28, - title: 'Croatia', + title: 'France', childIds: [] }, 29: { id: 29, - title: 'France', + title: 'Germany', childIds: [] }, 30: { id: 30, - title: 'Germany', + title: 'Italy', childIds: [] }, 31: { id: 31, - title: 'Italy', + title: 'Portugal', childIds: [] }, 32: { id: 32, - title: 'Portugal', + title: 'Spain', childIds: [] }, 33: { id: 33, - title: 'Spain', + title: 'Turkey', childIds: [] }, 34: { id: 34, - title: 'Turkey', - childIds: [] + title: 'Oceania', + childIds: [35, 36, 37, 38, 39, 40, 41], }, 35: { id: 35, - title: 'Oceania', - childIds: [36, 37, 38, 39, 40, 41, 42], + title: 'Australia', + childIds: [] }, 36: { id: 36, - title: 'Australia', + title: 'Bora Bora (French Polynesia)', childIds: [] }, 37: { id: 37, - title: 'Bora Bora (French Polynesia)', + title: 'Easter Island (Chile)', childIds: [] }, 38: { id: 38, - title: 'Easter Island (Chile)', + title: 'Fiji', childIds: [] }, 39: { - id: 39, - title: 'Fiji', + id: 40, + title: 'Hawaii (the USA)', childIds: [] }, 40: { id: 40, - title: 'Hawaii (the USA)', + title: 'New Zealand', childIds: [] }, 41: { id: 41, - title: 'New Zealand', + title: 'Vanuatu', childIds: [] }, 42: { id: 42, - title: 'Vanuatu', - childIds: [] + title: 'Moon', + childIds: [43, 44, 45] }, 43: { id: 43, - title: 'Moon', - childIds: [44, 45, 46] + title: 'Rheita', + childIds: [] }, 44: { id: 44, - title: 'Rheita', + title: 'Piccolomini', childIds: [] }, 45: { id: 45, - title: 'Piccolomini', + title: 'Tycho', childIds: [] }, 46: { id: 46, - title: 'Tycho', - childIds: [] + title: 'Mars', + childIds: [47, 48] }, 47: { id: 47, - title: 'Mars', - childIds: [48, 49] - }, - 48: { - id: 48, title: 'Corn Town', childIds: [] }, - 49: { - id: 49, + 48: { + id: 48, title: 'Green Hill', childIds: [] } @@ -1218,12 +1209,12 @@ export const initialTravelPlan = { 0: { id: 0, title: '(Root)', - childIds: [1, 43, 47], + childIds: [1, 42, 46], }, 1: { id: 1, title: 'Earth', - childIds: [2, 10, 19, 27, 35] + childIds: [2, 10, 19, 26, 34] }, 2: { id: 2, @@ -1313,7 +1304,7 @@ export const initialTravelPlan = { 19: { id: 19, title: 'Asia', - childIds: [20, 21, 22, 23, 24, 25, 26], + childIds: [20, 21, 22, 23, 24, 25], }, 20: { id: 20, @@ -1322,146 +1313,141 @@ export const initialTravelPlan = { }, 21: { id: 21, - title: 'Hong Kong', + title: 'India', childIds: [] }, 22: { id: 22, - title: 'India', + title: 'Singapore', childIds: [] }, 23: { id: 23, - title: 'Singapore', + title: 'South Korea', childIds: [] }, 24: { id: 24, - title: 'South Korea', + title: 'Thailand', childIds: [] }, 25: { id: 25, - title: 'Thailand', + title: 'Vietnam', childIds: [] }, 26: { id: 26, - title: 'Vietnam', - childIds: [] + title: 'Europe', + childIds: [27, 28, 29, 30, 31, 32, 33], }, 27: { id: 27, - title: 'Europe', - childIds: [28, 29, 30, 31, 32, 33, 34], + title: 'Croatia', + childIds: [] }, 28: { id: 28, - title: 'Croatia', + title: 'France', childIds: [] }, 29: { id: 29, - title: 'France', + title: 'Germany', childIds: [] }, 30: { id: 30, - title: 'Germany', + title: 'Italy', childIds: [] }, 31: { id: 31, - title: 'Italy', + title: 'Portugal', childIds: [] }, 32: { id: 32, - title: 'Portugal', + title: 'Spain', childIds: [] }, 33: { id: 33, - title: 'Spain', + title: 'Turkey', childIds: [] }, 34: { id: 34, - title: 'Turkey', - childIds: [] + title: 'Oceania', + childIds: [35, 36, 37, 38, 39, 40, 41], }, 35: { id: 35, - title: 'Oceania', - childIds: [36, 37, 38, 39, 40, 41,, 42], + title: 'Australia', + childIds: [] }, 36: { id: 36, - title: 'Australia', + title: 'Bora Bora (French Polynesia)', childIds: [] }, 37: { id: 37, - title: 'Bora Bora (French Polynesia)', + title: 'Easter Island (Chile)', childIds: [] }, 38: { id: 38, - title: 'Easter Island (Chile)', + title: 'Fiji', childIds: [] }, 39: { id: 39, - title: 'Fiji', + title: 'Hawaii (the USA)', childIds: [] }, 40: { id: 40, - title: 'Hawaii (the USA)', + title: 'New Zealand', childIds: [] }, 41: { id: 41, - title: 'New Zealand', + title: 'Vanuatu', childIds: [] }, 42: { id: 42, - title: 'Vanuatu', - childIds: [] + title: 'Moon', + childIds: [43, 44, 45] }, 43: { id: 43, - title: 'Moon', - childIds: [44, 45, 46] + title: 'Rheita', + childIds: [] }, 44: { id: 44, - title: 'Rheita', + title: 'Piccolomini', childIds: [] }, 45: { id: 45, - title: 'Piccolomini', + title: 'Tycho', childIds: [] }, 46: { id: 46, - title: 'Tycho', - childIds: [] + title: 'Mars', + childIds: [47, 48] }, 47: { id: 47, - title: 'Mars', - childIds: [48, 49] - }, - 48: { - id: 48, title: 'Corn Town', childIds: [] }, - 49: { - id: 49, + 48: { + id: 48, title: 'Green Hill', childIds: [] } @@ -1562,12 +1548,12 @@ export const initialTravelPlan = { 0: { id: 0, title: '(Root)', - childIds: [1, 43, 47], + childIds: [1, 42, 46], }, 1: { id: 1, title: 'Earth', - childIds: [2, 10, 19, 27, 35] + childIds: [2, 10, 19, 26, 34] }, 2: { id: 2, @@ -1657,7 +1643,7 @@ export const initialTravelPlan = { 19: { id: 19, title: 'Asia', - childIds: [20, 21, 22, 23, 24, 25, 26], + childIds: [20, 21, 22, 23, 24, 25,], }, 20: { id: 20, @@ -1666,146 +1652,141 @@ export const initialTravelPlan = { }, 21: { id: 21, - title: 'Hong Kong', + title: 'India', childIds: [] }, 22: { id: 22, - title: 'India', + title: 'Singapore', childIds: [] }, 23: { id: 23, - title: 'Singapore', + title: 'South Korea', childIds: [] }, 24: { id: 24, - title: 'South Korea', + title: 'Thailand', childIds: [] }, 25: { id: 25, - title: 'Thailand', + title: 'Vietnam', childIds: [] }, 26: { id: 26, - title: 'Vietnam', - childIds: [] + title: 'Europe', + childIds: [27, 28, 29, 30, 31, 32, 33], }, 27: { id: 27, - title: 'Europe', - childIds: [28, 29, 30, 31, 32, 33, 34], + title: 'Croatia', + childIds: [] }, 28: { id: 28, - title: 'Croatia', + title: 'France', childIds: [] }, 29: { id: 29, - title: 'France', + title: 'Germany', childIds: [] }, 30: { id: 30, - title: 'Germany', + title: 'Italy', childIds: [] }, 31: { id: 31, - title: 'Italy', + title: 'Portugal', childIds: [] }, 32: { id: 32, - title: 'Portugal', + title: 'Spain', childIds: [] }, 33: { id: 33, - title: 'Spain', + title: 'Turkey', childIds: [] }, 34: { id: 34, - title: 'Turkey', - childIds: [] + title: 'Oceania', + childIds: [35, 36, 37, 38, 39, 40,, 41], }, 35: { id: 35, - title: 'Oceania', - childIds: [36, 37, 38, 39, 40, 41,, 42], + title: 'Australia', + childIds: [] }, 36: { id: 36, - title: 'Australia', + title: 'Bora Bora (French Polynesia)', childIds: [] }, 37: { id: 37, - title: 'Bora Bora (French Polynesia)', + title: 'Easter Island (Chile)', childIds: [] }, 38: { id: 38, - title: 'Easter Island (Chile)', + title: 'Fiji', childIds: [] }, 39: { id: 39, - title: 'Fiji', + title: 'Hawaii (the USA)', childIds: [] }, 40: { id: 40, - title: 'Hawaii (the USA)', + title: 'New Zealand', childIds: [] }, 41: { id: 41, - title: 'New Zealand', + title: 'Vanuatu', childIds: [] }, 42: { id: 42, - title: 'Vanuatu', - childIds: [] + title: 'Moon', + childIds: [43, 44, 45] }, 43: { id: 43, - title: 'Moon', - childIds: [44, 45, 46] + title: 'Rheita', + childIds: [] }, 44: { id: 44, - title: 'Rheita', + title: 'Piccolomini', childIds: [] }, 45: { id: 45, - title: 'Piccolomini', + title: 'Tycho', childIds: [] }, 46: { id: 46, - title: 'Tycho', - childIds: [] + title: 'Mars', + childIds: [47, 48] }, 47: { id: 47, - title: 'Mars', - childIds: [48, 49] - }, - 48: { - id: 48, title: 'Corn Town', childIds: [] }, - 49: { - id: 49, + 48: { + id: 48, title: 'Green Hill', childIds: [] } From 819518cfe32dd2db3b765410247c30feea713c77 Mon Sep 17 00:00:00 2001 From: Ahmed Abdelbaset <A7med3bdulBaset@gmail.com> Date: Fri, 11 Aug 2023 22:42:12 +0300 Subject: [PATCH 024/382] RTL Languages Support (#6138) * Update TailwindCSS & Install rtl-detect 1- Update TailwindCSS to use the logical properities such as `ps-1` instead of `pl-1`. there are logical properities for margin, padding, inset, and text direction. 2- Install `rtl-detect` detect if the language is RTL direction. Note: this might be uninstalled if we use the manual way to specify rtl language. * add `siteConfig.isRTL` * add `dir` attribute to the root element * edit some tw classes to utilize logical properties instead of directions properties (e.g. `pr-0` to `pe-0`) * edit some tw classes to utilize logical properties instead of directions properties (e.g. `pr-0` to `pe-0`) * edit some tw classes to utilize logical properties instead of directions properties (e.g. `pr-0` to `pe-0`) * edit some tw classes to utilize logical properties instead of directions properties (e.g. `pr-0` to `pe-0`) * Refactor TW classes: Use logical properties over directional properties. * Revert "Refactor TW classes: Use logical properties over directional properties." This reverts commit df9620d944d9a47c5394b26fe4e3536ba3031333. * Refactor TW classes: Use logical properties over directional properties. * Refactor TW classes: Use logical properties over directional properties. * Refactor TW classes: Use logical properties over directional properties. * Add `start` and `end` directions to the `IconNavArrow` * Add Note about `isRTL` prop * Refactor TW classes: Use logical properties over directional properties. * Refactor TW classes: Use logical properties over directional properties. * Refactor TW classes: use logical properties over directional properties * Refactor TW classes: use logical properties over directional properties * Refactor TW classes: use logical properties over directional properties * set dir attr of `CodeBlock` to `ltr` even the page dir is `rtl` * Refactor TW classes: use logical properties over directional properties * Refactor TW classes: use logical properties over directional properties * Add `start` and `end` directions to some icons * Refactor TW classes: use logical properties over directional properties * Refactor TW classes: use logical properties over directional properties * Refactor TW classes: use logical properties over directional properties * Refactor TW classes: use logical properties over directional properties * set dir attr of `ConsoleBlock` to `ltr` to overwrite the dir of root element * Refactor TW classes: use logical properties over directional properties * set dir=ltr on inline code blocks to overwrite <html dir="rtl"> in some languages * Refactor TW classes: use logical properties over directional properties * Refactor TW classes: use logical properties over directional properties * Refactor TW classes: use logical properties over directional properties * Refactor TW classes: use logical properties over directional properties * set translate=no, dir=ltr on `TerminalBlock` to overwrite <html dir="rtl"> in rtl languages * Refactor TW classes: use logical properties over directional properties * Refactor TW classes: use logical properties over directional properties * Refactor TW classes: use logical properties over directional properties * fix some direction styles * fix arrow directions in rtl * remove `rtl-detect` and set `siteConfig.isRTL` manually * fix `Breadcrumbs`'s arrow direction in rtl languages * fix some directions of the search modal for RTL languages * hard setting dir=ltr to Sandpack to overwrite rtl languages dir * Refactor TW classes: use logical properties over directional properties * remove my notes * fix: rerverse space-x-* in rtl * rebase with the main branch * remove unnecessary alt * add `start` & `end` display directions to the Chevron Icon * rebase with the main branch --- package.json | 2 +- src/components/Breadcrumbs.tsx | 4 +- src/components/DocsFooter.tsx | 4 +- src/components/Icon/IconArrow.tsx | 8 +- src/components/Icon/IconArrowSmall.tsx | 8 +- src/components/Icon/IconChevron.tsx | 9 +- src/components/Icon/IconNavArrow.tsx | 13 +- src/components/Layout/Feedback.tsx | 4 +- src/components/Layout/Footer.tsx | 6 +- src/components/Layout/HomeContent.js | 54 +-- src/components/Layout/Page.tsx | 8 +- .../Layout/Sidebar/SidebarButton.tsx | 6 +- src/components/Layout/Sidebar/SidebarLink.tsx | 10 +- .../Layout/Sidebar/SidebarRouteTree.tsx | 4 +- .../Layout/SidebarNav/SidebarNav.tsx | 2 +- src/components/Layout/Toc.tsx | 8 +- src/components/Layout/TopNav/TopNav.tsx | 18 +- src/components/MDX/Challenges/Challenge.tsx | 18 +- src/components/MDX/Challenges/Navigation.tsx | 12 +- src/components/MDX/CodeBlock/CodeBlock.tsx | 1 + src/components/MDX/CodeBlock/index.tsx | 4 +- src/components/MDX/ConsoleBlock.tsx | 6 +- src/components/MDX/ExpandableCallout.tsx | 2 +- src/components/MDX/ExpandableExample.tsx | 6 +- src/components/MDX/Heading.tsx | 2 +- src/components/MDX/InlineCode.tsx | 1 + src/components/MDX/MDXComponents.module.css | 6 +- src/components/MDX/MDXComponents.tsx | 12 +- src/components/MDX/Sandpack/Console.tsx | 4 +- src/components/MDX/Sandpack/CustomPreset.tsx | 2 +- .../MDX/Sandpack/DownloadButton.tsx | 2 +- src/components/MDX/Sandpack/NavigationBar.tsx | 8 +- .../MDX/Sandpack/OpenInCodeSandboxButton.tsx | 4 +- src/components/MDX/Sandpack/ResetButton.tsx | 2 +- src/components/MDX/Sandpack/SandpackRoot.tsx | 4 +- src/components/MDX/Sandpack/index.tsx | 2 +- src/components/MDX/TeamMember.tsx | 12 +- src/components/MDX/TerminalBlock.tsx | 15 +- src/components/MDX/YouWillLearnCard.tsx | 2 +- src/components/PageHeading.tsx | 2 +- src/components/SocialBanner.tsx | 2 +- src/components/Tag.tsx | 2 +- src/pages/_document.tsx | 2 +- src/siteConfig.js | 1 + src/styles/algolia.css | 21 +- src/styles/index.css | 14 +- yarn.lock | 344 ++++++++++++------ 47 files changed, 417 insertions(+), 266 deletions(-) diff --git a/package.json b/package.json index e12f2aa4..e47c10ff 100644 --- a/package.json +++ b/package.json @@ -92,7 +92,7 @@ "retext": "^7.0.1", "retext-smartypants": "^4.0.0", "rss": "^1.2.2", - "tailwindcss": "^3.0.22", + "tailwindcss": "^3.3.2", "typescript": "^4.0.2", "unist-util-visit": "^2.0.3", "webpack-bundle-analyzer": "^4.5.0" diff --git a/src/components/Breadcrumbs.tsx b/src/components/Breadcrumbs.tsx index 8eead230..e64b486d 100644 --- a/src/components/Breadcrumbs.tsx +++ b/src/components/Breadcrumbs.tsx @@ -17,10 +17,10 @@ function Breadcrumbs({breadcrumbs}: {breadcrumbs: RouteItem[]}) { <Fragment key={crumb.path}> <Link href={crumb.path} - className="text-link dark:text-link-dark text-sm tracking-wide font-bold uppercase mr-1 hover:underline"> + className="text-link dark:text-link-dark text-sm tracking-wide font-bold uppercase me-1 hover:underline"> {crumb.title} </Link> - <span className="inline-block mr-1 text-link dark:text-link-dark text-lg"> + <span className="inline-block me-1 text-link dark:text-link-dark text-lg rtl:rotate-180"> <svg width="20" height="20" diff --git a/src/components/DocsFooter.tsx b/src/components/DocsFooter.tsx index a5c7324e..2fdbb046 100644 --- a/src/components/DocsFooter.tsx +++ b/src/components/DocsFooter.tsx @@ -71,12 +71,12 @@ function FooterLink({ className={cn( 'flex gap-x-4 md:gap-x-6 items-center w-full md:w-80 px-4 md:px-5 py-6 border-2 border-transparent text-base leading-base text-link dark:text-link-dark rounded-lg group focus:text-link dark:focus:text-link-dark focus:bg-highlight focus:border-link dark:focus:bg-highlight-dark dark:focus:border-link-dark focus:border-opacity-100 focus:border-2 focus:ring-1 focus:ring-offset-4 focus:ring-blue-40 active:ring-0 active:ring-offset-0 hover:bg-gray-5 dark:hover:bg-gray-80', { - 'flex-row-reverse justify-self-end text-right': type === 'Next', + 'flex-row-reverse justify-self-end text-end': type === 'Next', } )}> <IconNavArrow className="text-tertiary dark:text-tertiary-dark inline group-focus:text-link dark:group-focus:text-link-dark" - displayDirection={type === 'Previous' ? 'left' : 'right'} + displayDirection={type === 'Previous' ? 'start' : 'end'} /> <span> <span className="block no-underline text-sm tracking-wide text-secondary dark:text-secondary-dark uppercase font-bold group-focus:text-link dark:group-focus:text-link-dark group-focus:text-opacity-100"> diff --git a/src/components/Icon/IconArrow.tsx b/src/components/Icon/IconArrow.tsx index 53bde132..714cccd8 100644 --- a/src/components/Icon/IconArrow.tsx +++ b/src/components/Icon/IconArrow.tsx @@ -7,7 +7,12 @@ import cn from 'classnames'; export const IconArrow = memo< JSX.IntrinsicElements['svg'] & { - displayDirection: 'left' | 'right' | 'up' | 'down'; + /** + * The direction the arrow should point. + * `start` and `end` are relative to the current locale. + * for example, in LTR, `start` is left and `end` is right. + */ + displayDirection: 'start' | 'end' | 'right' | 'left' | 'up' | 'down'; } >(function IconArrow({displayDirection, className, ...rest}) { return ( @@ -20,6 +25,7 @@ export const IconArrow = memo< {...rest} className={cn(className, { 'rotate-180': displayDirection === 'right', + 'rotate-180 rtl:rotate-0': displayDirection === 'end', })}> <path fill="none" d="M0 0h24v24H0z" /> <path d="M7.828 11H20v2H7.828l5.364 5.364-1.414 1.414L4 12l7.778-7.778 1.414 1.414z" /> diff --git a/src/components/Icon/IconArrowSmall.tsx b/src/components/Icon/IconArrowSmall.tsx index cf85988d..6653dc38 100644 --- a/src/components/Icon/IconArrowSmall.tsx +++ b/src/components/Icon/IconArrowSmall.tsx @@ -7,11 +7,17 @@ import cn from 'classnames'; export const IconArrowSmall = memo< JSX.IntrinsicElements['svg'] & { - displayDirection: 'left' | 'right' | 'up' | 'down'; + /** + * The direction the arrow should point. + * `start` and `end` are relative to the current locale. + * for example, in LTR, `start` is left and `end` is right. + */ + displayDirection: 'start' | 'end' | 'right' | 'left' | 'up' | 'down'; } >(function IconArrowSmall({displayDirection, className, ...rest}) { const classes = cn(className, { 'rotate-180': displayDirection === 'left', + 'rotate-180 rtl:rotate-0': displayDirection === 'start', 'rotate-90': displayDirection === 'down', }); return ( diff --git a/src/components/Icon/IconChevron.tsx b/src/components/Icon/IconChevron.tsx index 1184d77d..4d40330c 100644 --- a/src/components/Icon/IconChevron.tsx +++ b/src/components/Icon/IconChevron.tsx @@ -7,7 +7,12 @@ import cn from 'classnames'; export const IconChevron = memo< JSX.IntrinsicElements['svg'] & { - displayDirection: 'up' | 'down' | 'left' | 'right'; + /** + * The direction the arrow should point. + * `start` and `end` are relative to the current locale. + * for example, in LTR, `start` is left and `end` is right. + */ + displayDirection: 'start' | 'end' | 'right' | 'left' | 'up' | 'down'; } >(function IconChevron({className, displayDirection}) { const classes = cn( @@ -16,6 +21,8 @@ export const IconChevron = memo< 'rotate-90': displayDirection === 'left', 'rotate-180': displayDirection === 'up', '-rotate-90': displayDirection === 'right', + 'rotate-90 rtl:-rotate-90': displayDirection === 'start', + '-rotate-90 rtl:rotate-90': displayDirection === 'end', }, className ); diff --git a/src/components/Icon/IconNavArrow.tsx b/src/components/Icon/IconNavArrow.tsx index 93eed6e3..f61175e9 100644 --- a/src/components/Icon/IconNavArrow.tsx +++ b/src/components/Icon/IconNavArrow.tsx @@ -7,15 +7,22 @@ import cn from 'classnames'; export const IconNavArrow = memo< JSX.IntrinsicElements['svg'] & { - displayDirection: 'right' | 'down' | 'left'; + /** + * The direction the arrow should point. + * `start` and `end` are relative to the current locale. + * for example, in LTR, `start` is left and `end` is right. + */ + displayDirection: 'start' | 'end' | 'right' | 'left' | 'down'; } ->(function IconNavArrow({displayDirection = 'right', className}) { +>(function IconNavArrow({displayDirection = 'start', className}) { const classes = cn( 'duration-100 ease-in transition', { 'rotate-0': displayDirection === 'down', - '-rotate-90': displayDirection === 'right', 'rotate-90': displayDirection === 'left', + '-rotate-90': displayDirection === 'right', + 'rotate-90 rtl:-rotate-90': displayDirection === 'start', + '-rotate-90 rtl:rotate-90': displayDirection === 'end', }, className ); diff --git a/src/components/Layout/Feedback.tsx b/src/components/Layout/Feedback.tsx index 6bb8a4aa..2bf9afe5 100644 --- a/src/components/Layout/Feedback.tsx +++ b/src/components/Layout/Feedback.tsx @@ -62,13 +62,13 @@ function SendFeedback({onSubmit}: {onSubmit: () => void}) { const [isSubmitted, setIsSubmitted] = useState(false); return ( <div className="max-w-xs w-80 lg:w-auto py-3 shadow-lg rounded-lg m-4 bg-wash dark:bg-gray-95 px-4 flex"> - <p className="w-full font-bold text-primary dark:text-primary-dark text-lg mr-4"> + <p className="w-full font-bold text-primary dark:text-primary-dark text-lg me-4"> {isSubmitted ? 'Thank you for your feedback!' : 'Is this page useful?'} </p> {!isSubmitted && ( <button aria-label="Yes" - className="bg-secondary-button dark:bg-secondary-button-dark rounded-lg text-primary dark:text-primary-dark px-3 mr-2" + className="bg-secondary-button dark:bg-secondary-button-dark rounded-lg text-primary dark:text-primary-dark px-3 me-2" onClick={() => { setIsSubmitted(true); onSubmit(); diff --git a/src/components/Layout/Footer.tsx b/src/components/Layout/Footer.tsx index 4d0b0664..67e4667b 100644 --- a/src/components/Layout/Footer.tsx +++ b/src/components/Layout/Footer.tsx @@ -15,7 +15,7 @@ export function Footer() { return ( <footer className={cn('text-secondary dark:text-secondary-dark')}> <div className="grid grid-cols-2 md:grid-cols-3 xl:grid-cols-5 gap-x-12 gap-y-8 max-w-7xl mx-auto"> - <div className="col-span-2 md:col-span-1 justify-items-start mt-3.5 text-left"> + <div className="col-span-2 md:col-span-1 justify-items-start mt-3.5"> <ExternalLink href="https://opensource.fb.com/" aria-label="Meta Open Source"> @@ -280,7 +280,9 @@ export function Footer() { </div> </ExternalLink> - <div className="text-xs text-left mt-2 pr-0.5"> + <div + className="text-xs text-left rtl:text-right mt-2 pe-0.5" + dir="ltr"> ©{new Date().getFullYear()} </div> </div> diff --git a/src/components/Layout/HomeContent.js b/src/components/Layout/HomeContent.js index e1b1b440..d395ff38 100644 --- a/src/components/Layout/HomeContent.js +++ b/src/components/Layout/HomeContent.js @@ -113,11 +113,11 @@ const recentPosts = blogSidebar.routes.slice(0, 4).map((entry) => ({ export function HomeContent() { return ( <> - <div className="pl-0"> + <div className="ps-0"> <div className="mx-5 mt-12 lg:mt-24 mb-20 lg:mb-32 flex flex-col justify-center"> <Logo className={cn( - 'mt-4 mb-3 text-link dark:text-link-dark w-24 lg:w-28 self-center text-sm mr-0 flex origin-center transition-all ease-in-out' + 'mt-4 mb-3 text-link dark:text-link-dark w-24 lg:w-28 self-center text-sm me-0 flex origin-center transition-all ease-in-out' )} /> <h1 className="text-5xl font-display lg:text-6xl self-center flex font-semibold leading-snug text-primary dark:text-primary-dark"> @@ -379,7 +379,7 @@ export function HomeContent() { more. They look and feel native because their UIs{' '} <i>are</i> truly native. It’s not a web view—your React components render real Android and iOS views - provided by the platform. + provided by the platform. </p> </div> </div> @@ -406,7 +406,7 @@ export function HomeContent() { <Section background="right-card"> <div className="max-w-7xl mx-auto flex flex-col lg:flex-row px-5"> <div className="max-w-3xl lg:max-w-7xl gap-5 flex flex-col lg:flex-row lg:px-5"> - <div className="w-full lg:w-6/12 max-w-3xl flex flex-col items-start justify-start lg:pl-5 lg:pr-10"> + <div className="w-full lg:w-6/12 max-w-3xl flex flex-col items-start justify-start lg:ps-5 lg:pe-10"> <Header>Upgrade when the future is ready</Header> <Para> React approaches changes with care. Every React commit is @@ -433,14 +433,14 @@ export function HomeContent() { <IconChevron /> Latest React News </p> - <div className="flex-col sm:flex-row flex-wrap flex gap-5 text-left my-5"> - <div className="flex-1 min-w-[40%]"> + <div className="flex-col sm:flex-row flex-wrap flex gap-5 text-start my-5"> + <div className="flex-1 min-w-[40%] text-start"> <BlogCard {...recentPosts[0]} /> </div> - <div className="flex-1 min-w-[40%]"> + <div className="flex-1 min-w-[40%] text-start"> <BlogCard {...recentPosts[1]} /> </div> - <div className="flex-1 min-w-[40%]"> + <div className="flex-1 min-w-[40%] text-start"> <BlogCard {...recentPosts[2]} /> </div> <div className="hidden sm:flex-1 sm:inline"> @@ -491,7 +491,7 @@ export function HomeContent() { <div className="mt-20 px-5 lg:px-0 mb-6 max-w-4xl text-center text-opacity-80"> <Logo className="text-link dark:text-link-dark w-24 lg:w-28 mb-10 lg:mb-8 mt-12 h-auto mx-auto self-start" /> <Header> - Welcome to the <br className="" /> + Welcome to the <br className="hidden lg:inline" /> React community </Header> <ButtonLink @@ -524,7 +524,7 @@ function CTA({children, icon, href}) { className="focus:outline-none focus-visible:outline focus-visible:outline-link focus:outline-offset-2 focus-visible:dark:focus:outline-link-dark group cursor-pointer w-auto justify-center inline-flex font-bold items-center mt-10 outline-none hover:bg-gray-40/5 active:bg-gray-40/10 hover:dark:bg-gray-60/5 active:dark:bg-gray-60/10 leading-tight hover:bg-opacity-80 text-lg py-2.5 rounded-full px-4 sm:px-6 ease-in-out shadow-secondary-button-stroke dark:shadow-secondary-button-stroke-dark text-primary dark:text-primary-dark"> {icon === 'native' && ( <svg - className="mr-2.5 text-primary dark:text-primary-dark" + className="me-2.5 text-primary dark:text-primary-dark" fill="none" width="24" height="24" @@ -555,7 +555,7 @@ function CTA({children, icon, href}) { )} {icon === 'framework' && ( <svg - className="mr-2.5 text-primary dark:text-primary-dark" + className="me-2.5 text-primary dark:text-primary-dark" fill="none" width="24" height="24" @@ -578,7 +578,7 @@ function CTA({children, icon, href}) { )} {icon === 'code' && ( <svg - className="mr-2.5 text-primary dark:text-primary-dark" + className="me-2.5 text-primary dark:text-primary-dark" fill="none" width="24" height="24" @@ -607,7 +607,7 @@ function CTA({children, icon, href}) { )} {icon === 'news' && ( <svg - className="mr-2.5 text-primary dark:text-primary-dark" + className="me-2.5 text-primary dark:text-primary-dark" fill="none" width="24" height="24" @@ -623,7 +623,7 @@ function CTA({children, icon, href}) { )} {children} <svg - className="text-primary dark:text-primary-dark" + className="text-primary dark:text-primary-dark rtl:rotate-180" fill="none" width="24" height="24" @@ -826,12 +826,12 @@ function ExampleLayout({ } }, [activeArea, hoverTopOffset]); return ( - <div className="lg:pl-10 lg:pr-5 w-full"> + <div className="lg:ps-10 lg:pe-5 w-full"> <div className="mt-12 mb-2 lg:my-16 max-w-7xl mx-auto flex flex-col w-full lg:rounded-2xl lg:bg-card lg:dark:bg-card-dark"> - <div className="flex-col gap-0 lg:gap-5 lg:rounded-2xl lg:bg-gray-10 lg:dark:bg-gray-70 shadow-inner-border dark:shadow-inner-border-dark lg:flex-row flex grow w-full mx-auto items-center bg-cover bg-center lg:bg-right lg:bg-[length:60%_100%] bg-no-repeat bg-meta-gradient dark:bg-meta-gradient-dark"> + <div className="flex-col gap-0 lg:gap-5 lg:rounded-2xl lg:bg-gray-10 lg:dark:bg-gray-70 shadow-inner-border dark:shadow-inner-border-dark lg:flex-row flex grow w-full mx-auto items-center bg-cover bg-center lg:bg-right ltr:lg:bg-[length:60%_100%] bg-no-repeat bg-meta-gradient dark:bg-meta-gradient-dark"> <div className="lg:-m-5 h-full shadow-nav dark:shadow-nav-dark lg:rounded-2xl bg-wash dark:bg-gray-95 w-full flex grow flex-col"> <div className="w-full bg-card dark:bg-wash-dark lg:rounded-t-2xl border-b border-black/5 dark:border-white/5"> - <h3 className="text-sm my-1 mx-5 text-tertiary dark:text-tertiary-dark select-none"> + <h3 className="text-sm my-1 mx-5 text-tertiary dark:text-tertiary-dark select-none text-start"> {filename} </h3> </div> @@ -849,7 +849,7 @@ function ExampleLayout({ {overlayStyles.map((styles, i) => ( <div key={i} - className="top-0 left-0 bg-blue-30/5 border-2 border-link dark:border-link-dark absolute rounded-lg" + className="inset-x-0 bg-blue-30/5 border-2 border-link dark:border-link-dark absolute rounded-lg" style={styles} /> ))} @@ -1270,7 +1270,7 @@ function BrowserChrome({children, hasPulse, hasRefresh, domain, path}) { {hasRefresh && <div className="h-4 w-6" />} <div className="w-full leading-snug flex flex-row items-center justify-center"> <svg - className="text-tertiary mr-1 opacity-60" + className="text-tertiary me-1 opacity-60" width="12" height="12" viewBox="0 0 44 44" @@ -1317,7 +1317,7 @@ function BrowserChrome({children, hasPulse, hasRefresh, domain, path}) { {restartId > 0 && ( <div key={restartId} - className="z-10 loading h-0.5 bg-link transition-all duration-200 absolute bottom-0 left-0" + className="z-10 loading h-0.5 bg-link transition-all duration-200 absolute bottom-0 start-0" style={{ animation: `progressbar ${loadTalksDelay + 100}ms ease-in-out`, }} @@ -1464,13 +1464,13 @@ function SearchInput({value, onChange}) { Search </label> <div className="relative w-full"> - <div className="absolute inset-y-0 left-0 flex items-center pl-4 pointer-events-none"> + <div className="absolute inset-y-0 start-0 flex items-center ps-4 pointer-events-none"> <IconSearch className="text-gray-30 w-4" /> </div> <input type="text" id={id} - className="flex pl-11 py-4 h-10 w-full bg-secondary-button outline-none betterhover:hover:bg-opacity-80 pointer items-center text-left text-primary rounded-full align-middle text-base" + className="flex ps-11 py-4 h-10 w-full text-start bg-secondary-button outline-none betterhover:hover:bg-opacity-80 pointer items-center text-primary rounded-full align-middle text-base" placeholder="Search" value={value} onChange={(e) => onChange(e.target.value)} @@ -1499,7 +1499,7 @@ function ConferenceLayout({conf, children}) { navigate(e.target.value); }); }} - className="appearance-none pr-8 bg-transparent text-primary-dark text-2xl font-bold mb-0.5" + className="appearance-none pe-8 bg-transparent text-primary-dark text-2xl font-bold mb-0.5" style={{ backgroundSize: '4px 4px, 4px 4px', backgroundRepeat: 'no-repeat', @@ -1565,9 +1565,11 @@ function Video({video}) { function Code({children}) { return ( - <span className="font-mono inline rounded-lg bg-gray-15/40 dark:bg-secondary-button-dark py-0.5 px-1"> + <code + dir="ltr" + className="font-mono inline rounded-lg bg-gray-15/40 dark:bg-secondary-button-dark py-0.5 px-1 text-left"> {children} - </span> + </code> ); } @@ -1610,7 +1612,7 @@ function Thumbnail({video}) { </div> <div className="mt-1"> <span className="inline-flex text-xs font-normal items-center text-primary-dark py-1 whitespace-nowrap outline-link px-1.5 rounded-lg"> - <Logo className="text-xs mr-1 w-4 h-4 text-link-dark" /> + <Logo className="text-xs me-1 w-4 h-4 text-link-dark" /> React Conf </span> </div> diff --git a/src/components/Layout/Page.tsx b/src/components/Layout/Page.tsx index 2b8ae3a6..fb771f90 100644 --- a/src/components/Layout/Page.tsx +++ b/src/components/Layout/Page.tsx @@ -50,7 +50,7 @@ export function Page({children, toc, routeTree, meta, section}: PageProps) { content = <HomeContent />; } else { content = ( - <div className="pl-0"> + <div className="ps-0"> <div className={cn( section === 'blog' && 'mx-auto px-0 lg:px-4 max-w-5xl' @@ -124,7 +124,7 @@ export function Page({children, toc, routeTree, meta, section}: PageProps) { )}> {showSidebar && ( <div className="lg:-mt-16"> - <div className="lg:pt-16 fixed lg:sticky top-0 left-0 right-0 py-0 shadow lg:shadow-none"> + <div className="lg:pt-16 fixed lg:sticky top-0 start-0 end-0 py-0 shadow lg:shadow-none"> <SidebarNav key={section} routeTree={routeTree} @@ -166,8 +166,8 @@ export function Page({children, toc, routeTree, meta, section}: PageProps) { target="_blank"> Take our survey! <IconNavArrow - displayDirection="right" - className="inline ml-1" + displayDirection="end" + className="inline ms-1" /> </ButtonLink> </div> diff --git a/src/components/Layout/Sidebar/SidebarButton.tsx b/src/components/Layout/Sidebar/SidebarButton.tsx index b1276cdb..7b9f027a 100644 --- a/src/components/Layout/Sidebar/SidebarButton.tsx +++ b/src/components/Layout/Sidebar/SidebarButton.tsx @@ -31,7 +31,7 @@ export function SidebarButton({ })}> <button className={cn( - 'p-2 pr-2 pl-5 w-full rounded-r-lg text-left hover:bg-gray-5 dark:hover:bg-gray-80 relative flex items-center justify-between', + 'p-2 pe-2 ps-5 w-full rounded-s-lg text-start hover:bg-gray-5 dark:hover:bg-gray-80 relative flex items-center justify-between', { 'p-2 text-base': level > 1, 'text-link bg-highlight dark:bg-highlight-dark text-base font-bold hover:bg-highlight dark:hover:bg-highlight-dark hover:text-link dark:hover:text-link-dark': @@ -47,8 +47,8 @@ export function SidebarButton({ onClick={onClick}> {title} {typeof isExpanded && !heading && ( - <span className="pr-2 text-gray-30"> - <IconNavArrow displayDirection={isExpanded ? 'down' : 'right'} /> + <span className="pe-2 text-gray-30"> + <IconNavArrow displayDirection={isExpanded ? 'down' : 'end'} /> </span> )} </button> diff --git a/src/components/Layout/Sidebar/SidebarLink.tsx b/src/components/Layout/Sidebar/SidebarLink.tsx index 0bf6f349..1b961e9c 100644 --- a/src/components/Layout/Sidebar/SidebarLink.tsx +++ b/src/components/Layout/Sidebar/SidebarLink.tsx @@ -58,10 +58,10 @@ export function SidebarLink({ passHref aria-current={selected ? 'page' : undefined} className={cn( - 'p-2 pr-2 w-full rounded-none lg:rounded-r-2xl text-left hover:bg-gray-5 dark:hover:bg-gray-80 relative flex items-center justify-between', + 'p-2 pe-2 w-full rounded-none lg:rounded-s-2xl text-start hover:bg-gray-5 dark:hover:bg-gray-80 relative flex items-center justify-between', { - 'text-sm pl-6': level > 0, - 'pl-5': level < 2, + 'text-sm ps-6': level > 0, + 'ps-5': level < 2, 'text-base font-bold': level === 0, 'text-primary dark:text-primary-dark': level === 0 && !selected, 'text-base text-secondary dark:text-secondary-dark': @@ -85,11 +85,11 @@ export function SidebarLink({ {isExpanded != null && !hideArrow && ( <span - className={cn('pr-1', { + className={cn('pe-1', { 'text-link dark:text-link-dark': isExpanded, 'text-tertiary dark:text-tertiary-dark': !isExpanded, })}> - <IconNavArrow displayDirection={isExpanded ? 'down' : 'right'} /> + <IconNavArrow displayDirection={isExpanded ? 'down' : 'end'} /> </span> )} </Link> diff --git a/src/components/Layout/Sidebar/SidebarRouteTree.tsx b/src/components/Layout/Sidebar/SidebarRouteTree.tsx index fa920ad9..9a0dd23f 100644 --- a/src/components/Layout/Sidebar/SidebarRouteTree.tsx +++ b/src/components/Layout/Sidebar/SidebarRouteTree.tsx @@ -155,12 +155,12 @@ export function SidebarRouteTree({ {index !== 0 && ( <li role="separator" - className="mt-4 mb-2 ml-5 border-b border-border dark:border-border-dark" + className="mt-4 mb-2 ms-5 border-b border-border dark:border-border-dark" /> )} <h3 className={cn( - 'mb-1 text-sm font-bold ml-5 text-tertiary dark:text-tertiary-dark', + 'mb-1 text-sm font-bold ms-5 text-tertiary dark:text-tertiary-dark', index !== 0 && 'mt-2' )}> {sectionHeader} diff --git a/src/components/Layout/SidebarNav/SidebarNav.tsx b/src/components/Layout/SidebarNav/SidebarNav.tsx index 525fddfb..702ff5b5 100644 --- a/src/components/Layout/SidebarNav/SidebarNav.tsx +++ b/src/components/Layout/SidebarNav/SidebarNav.tsx @@ -45,7 +45,7 @@ export default function SidebarNav({ <nav role="navigation" style={{'--bg-opacity': '.2'} as React.CSSProperties} // Need to cast here because CSS vars aren't considered valid in TS types (cuz they could be anything) - className="w-full lg:h-auto grow pr-0 lg:pr-5 pt-6 lg:pb-16 md:pt-4 lg:pt-4 scrolling-touch scrolling-gpu"> + className="w-full lg:h-auto grow pe-0 lg:pe-5 pt-6 lg:pb-16 md:pt-4 lg:pt-4 scrolling-touch scrolling-gpu"> {/* No fallback UI so need to be careful not to suspend directly inside. */} <Suspense fallback={null}> <SidebarRouteTree diff --git a/src/components/Layout/Toc.tsx b/src/components/Layout/Toc.tsx index a24bbced..628dbd61 100644 --- a/src/components/Layout/Toc.tsx +++ b/src/components/Layout/Toc.tsx @@ -13,14 +13,14 @@ export function Toc({headings}: {headings: Toc}) { // Select the max TOC item we have here for now, but remove this after the fix. const selectedIndex = Math.min(currentIndex, headings.length - 1); return ( - <nav role="navigation" className="pt-20 sticky top-0 right-0"> + <nav role="navigation" className="pt-20 sticky top-0 end-0"> {headings.length > 0 && ( <h2 className="mb-3 lg:mb-3 uppercase tracking-wide font-bold text-sm text-secondary dark:text-secondary-dark px-4 w-full"> On this page </h2> )} <div - className="h-full overflow-y-auto pl-4 max-h-[calc(100vh-7.5rem)]" + className="h-full overflow-y-auto ps-4 max-h-[calc(100vh-7.5rem)]" style={{ overscrollBehavior: 'contain', }}> @@ -35,12 +35,12 @@ export function Toc({headings}: {headings: Toc}) { <li key={`heading-${h.url}-${i}`} className={cx( - 'text-sm px-2 rounded-l-xl', + 'text-sm px-2 rounded-s-xl', selectedIndex === i ? 'bg-highlight dark:bg-highlight-dark' : null, { - 'pl-4': h?.depth === 3, + 'ps-4': h?.depth === 3, hidden: h.depth && h.depth > 3, } )}> diff --git a/src/components/Layout/TopNav/TopNav.tsx b/src/components/Layout/TopNav/TopNav.tsx index 56522665..75995957 100644 --- a/src/components/Layout/TopNav/TopNav.tsx +++ b/src/components/Layout/TopNav/TopNav.tsx @@ -127,7 +127,7 @@ function Kbd(props: {children?: React.ReactNode; wide?: boolean}) { return ( <kbd - className={`${width} h-5 border border-transparent mr-1 bg-wash dark:bg-wash-dark text-gray-30 align-middle p-0 inline-flex justify-center items-center text-xs text-center rounded-md`} + className={`${width} h-5 border border-transparent me-1 bg-wash dark:bg-wash-dark text-gray-30 align-middle p-0 inline-flex justify-center items-center text-xs text-center rounded-md`} {...rest} /> ); @@ -230,7 +230,7 @@ export default function TopNav({ )}> <nav className={cn( - 'duration-300 backdrop-filter backdrop-blur-lg backdrop-saturate-200 transition-shadow bg-opacity-90 items-center w-full flex justify-between bg-wash dark:bg-wash-dark dark:bg-opacity-95 px-1.5 lg:pr-5 lg:pl-4 z-50', + 'duration-300 backdrop-filter backdrop-blur-lg backdrop-saturate-200 transition-shadow bg-opacity-90 items-center w-full flex justify-between bg-wash dark:bg-wash-dark dark:bg-opacity-95 px-1.5 lg:pe-5 lg:ps-4 z-50', {'dark:shadow-nav-dark shadow-nav': isScrolled || isOpen} )}> <div className="h-16 w-full gap-0 sm:gap-3 flex items-center justify-between"> @@ -253,7 +253,7 @@ export default function TopNav({ className={`active:scale-95 overflow-hidden transition-transform relative items-center text-primary dark:text-primary-dark p-1 whitespace-nowrap outline-link rounded-full 3xl:rounded-xl inline-flex text-lg font-normal gap-2`}> <Logo className={cn( - 'text-sm mr-0 w-10 h-10 text-link dark:text-link-dark flex origin-center transition-all ease-in-out' + 'text-sm me-0 w-10 h-10 text-link dark:text-link-dark flex origin-center transition-all ease-in-out' )} /> <span className="sr-only 3xl:not-sr-only">React</span> @@ -264,12 +264,12 @@ export default function TopNav({ <button type="button" className={cn( - 'flex 3xl:w-[56rem] 3xl:mx-0 relative pl-4 pr-1 py-1 h-10 bg-gray-30/20 dark:bg-gray-40/20 outline-none focus:outline-link betterhover:hover:bg-opacity-80 pointer items-center text-left w-full text-gray-30 rounded-full align-middle text-base' + 'flex 3xl:w-[56rem] 3xl:mx-0 relative ps-4 pe-1 py-1 h-10 bg-gray-30/20 dark:bg-gray-40/20 outline-none focus:outline-link betterhover:hover:bg-opacity-80 pointer items-center text-start w-full text-gray-30 rounded-full align-middle text-base' )} onClick={onOpenSearch}> - <IconSearch className="mr-3 align-middle text-gray-30 shrink-0 group-betterhover:hover:text-gray-70" /> + <IconSearch className="me-3 align-middle text-gray-30 shrink-0 group-betterhover:hover:text-gray-70" /> Search - <span className="ml-auto hidden sm:flex item-center mr-1"> + <span className="ms-auto hidden sm:flex item-center me-1"> <Kbd data-platform="mac">⌘</Kbd> <Kbd data-platform="win" wide> Ctrl @@ -355,10 +355,10 @@ export default function TopNav({ <nav role="navigation" style={{'--bg-opacity': '.2'} as React.CSSProperties} // Need to cast here because CSS vars aren't considered valid in TS types (cuz they could be anything) - className="w-full lg:h-auto grow pr-0 lg:pr-5 pt-4 lg:py-6 md:pt-4 lg:pt-4 scrolling-touch scrolling-gpu"> + className="w-full lg:h-auto grow pe-0 lg:pe-5 pt-4 lg:py-6 md:pt-4 lg:pt-4 scrolling-touch scrolling-gpu"> {/* No fallback UI so need to be careful not to suspend directly inside. */} <Suspense fallback={null}> - <div className="pl-3 xs:pl-5 xs:gap-0.5 xs:text-base overflow-x-auto flex flex-row lg:hidden text-base font-bold text-secondary dark:text-secondary-dark"> + <div className="ps-3 xs:ps-5 xs:gap-0.5 xs:text-base overflow-x-auto flex flex-row lg:hidden text-base font-bold text-secondary dark:text-secondary-dark"> <NavItem isActive={section === 'learn'} url="/learn"> Learn </NavItem> @@ -378,7 +378,7 @@ export default function TopNav({ </div> <div role="separator" - className="ml-5 mt-4 mb-2 border-b border-border dark:border-border-dark" + className="ms-5 mt-4 mb-2 border-b border-border dark:border-border-dark" /> <SidebarRouteTree // Don't share state between the desktop and mobile versions. diff --git a/src/components/MDX/Challenges/Challenge.tsx b/src/components/MDX/Challenges/Challenge.tsx index 24e99541..e54bf920 100644 --- a/src/components/MDX/Challenges/Challenge.tsx +++ b/src/components/MDX/Challenges/Challenge.tsx @@ -61,25 +61,25 @@ export function Challenge({ <div className="flex justify-between items-center mt-4"> {currentChallenge.hint ? ( <div> - <Button className="mr-2" onClick={toggleHint} active={showHint}> - <IconHint className="mr-1.5" />{' '} + <Button className="me-2" onClick={toggleHint} active={showHint}> + <IconHint className="me-1.5" />{' '} {showHint ? 'Hide hint' : 'Show hint'} </Button> <Button - className="mr-2" + className="me-2" onClick={toggleSolution} active={showSolution}> - <IconSolution className="mr-1.5" />{' '} + <IconSolution className="me-1.5" />{' '} {showSolution ? 'Hide solution' : 'Show solution'} </Button> </div> ) : ( !isRecipes && ( <Button - className="mr-2" + className="me-2" onClick={toggleSolution} active={showSolution}> - <IconSolution className="mr-1.5" />{' '} + <IconSolution className="me-1.5" />{' '} {showSolution ? 'Hide solution' : 'Show solution'} </Button> ) @@ -95,7 +95,7 @@ export function Challenge({ onClick={handleClickNextChallenge} active> Next {isRecipes ? 'Example' : 'Challenge'} - <IconArrowSmall displayDirection="right" className="block ml-1.5" /> + <IconArrowSmall displayDirection="end" className="block ms-1.5" /> </Button> )} </div> @@ -120,8 +120,8 @@ export function Challenge({ active> Next Challenge <IconArrowSmall - displayDirection="right" - className="block ml-1.5" + displayDirection="end" + className="block ms-1.5" /> </Button> )} diff --git a/src/components/MDX/Challenges/Navigation.tsx b/src/components/MDX/Challenges/Navigation.tsx index e448828c..736db093 100644 --- a/src/components/MDX/Challenges/Navigation.tsx +++ b/src/components/MDX/Challenges/Navigation.tsx @@ -87,7 +87,7 @@ export function Navigation({ {challenges.map(({name, id, order}, index) => ( <button className={cn( - 'py-2 mr-4 text-base border-b-4 duration-100 ease-in transition whitespace-nowrap text-ellipsis', + 'py-2 me-4 text-base border-b-4 duration-100 ease-in transition whitespace-nowrap text-ellipsis', isRecipes && currentChallenge.id === id && 'text-purple-50 border-purple-50 hover:text-purple-50 dark:text-purple-30 dark:border-purple-30 dark:hover:text-purple-30', @@ -103,30 +103,30 @@ export function Navigation({ ))} </div> </div> - <div className="flex z-10 pb-2 pl-2"> + <div className="flex z-10 pb-2 ps-2"> <button onClick={handleScrollLeft} aria-label="Scroll left" className={cn( - 'bg-secondary-button dark:bg-secondary-button-dark h-8 px-2 rounded-l border-gray-20 border-r', + 'bg-secondary-button dark:bg-secondary-button-dark h-8 px-2 rounded-l border-gray-20 border-r rtl:rotate-180', { 'text-primary dark:text-primary-dark': canScrollLeft, 'text-gray-30': !canScrollLeft, } )}> - <IconChevron displayDirection="left" /> + <IconChevron displayDirection="start" /> </button> <button onClick={handleScrollRight} aria-label="Scroll right" className={cn( - 'bg-secondary-button dark:bg-secondary-button-dark h-8 px-2 rounded-r', + 'bg-secondary-button dark:bg-secondary-button-dark h-8 px-2 rounded-e rtl:rotate-180', { 'text-primary dark:text-primary-dark': canScrollRight, 'text-gray-30': !canScrollRight, } )}> - <IconChevron displayDirection="right" /> + <IconChevron displayDirection="end" /> </button> </div> </div> diff --git a/src/components/MDX/CodeBlock/CodeBlock.tsx b/src/components/MDX/CodeBlock/CodeBlock.tsx index 3195bbe8..21ab31e7 100644 --- a/src/components/MDX/CodeBlock/CodeBlock.tsx +++ b/src/components/MDX/CodeBlock/CodeBlock.tsx @@ -202,6 +202,7 @@ const CodeBlock = function CodeBlock({ return ( <div + dir="ltr" className={cn( 'sandpack sandpack--codeblock', 'rounded-2xl h-full w-full overflow-x-auto flex items-center bg-wash dark:bg-gray-95 shadow-lg', diff --git a/src/components/MDX/CodeBlock/index.tsx b/src/components/MDX/CodeBlock/index.tsx index e449e6b9..551c1d1b 100644 --- a/src/components/MDX/CodeBlock/index.tsx +++ b/src/components/MDX/CodeBlock/index.tsx @@ -24,11 +24,13 @@ export default memo(function CodeBlockWrapper(props: { <Suspense fallback={ <pre + translate="no" + dir="ltr" className={cn( 'rounded-lg leading-6 h-full w-full overflow-x-auto flex items-center bg-wash dark:bg-gray-95 shadow-lg text-[13.6px] overflow-hidden', !isFromPackageImport && 'my-8' )}> - <div className="py-[18px] pl-5 font-normal "> + <div className="py-[18px] ps-5 font-normal "> <p className="sp-pre-placeholder overflow-hidden">{children}</p> </div> </pre> diff --git a/src/components/MDX/ConsoleBlock.tsx b/src/components/MDX/ConsoleBlock.tsx index de6201b6..5683d6dc 100644 --- a/src/components/MDX/ConsoleBlock.tsx +++ b/src/components/MDX/ConsoleBlock.tsx @@ -38,7 +38,7 @@ function ConsoleBlock({level = 'error', children}: ConsoleBlockProps) { } return ( - <div className="mb-4 text-secondary" translate="no"> + <div className="mb-4 text-secondary" translate="no" dir="ltr"> <div className="flex w-full rounded-t-lg bg-gray-200 dark:bg-gray-80"> <div className="px-4 py-2 border-gray-300 dark:border-gray-90 border-r"> <Box className="bg-gray-300 dark:bg-gray-70" width="15px" /> @@ -48,8 +48,8 @@ function ConsoleBlock({level = 'error', children}: ConsoleBlockProps) { Console </div> <div className="px-4 py-2 flex"> - <Box className="mr-2 bg-gray-300 dark:bg-gray-70" /> - <Box className="mr-2 hidden md:block bg-gray-300 dark:bg-gray-70" /> + <Box className="me-2 bg-gray-300 dark:bg-gray-70" /> + <Box className="me-2 hidden md:block bg-gray-300 dark:bg-gray-70" /> <Box className="hidden md:block bg-gray-300 dark:bg-gray-70" /> </div> </div> diff --git a/src/components/MDX/ExpandableCallout.tsx b/src/components/MDX/ExpandableCallout.tsx index f8c61785..c4689802 100644 --- a/src/components/MDX/ExpandableCallout.tsx +++ b/src/components/MDX/ExpandableCallout.tsx @@ -75,7 +75,7 @@ function ExpandableCallout({children, type = 'note'}: ExpandableCalloutProps) { )}> <h3 className={cn('text-2xl font-display font-bold', variant.textColor)}> <variant.Icon - className={cn('inline mr-3 mb-1 text-lg', variant.textColor)} + className={cn('inline me-3 mb-1 text-lg', variant.textColor)} /> {variant.title} </h3> diff --git a/src/components/MDX/ExpandableExample.tsx b/src/components/MDX/ExpandableExample.tsx index 1ad1e031..1e709e48 100644 --- a/src/components/MDX/ExpandableExample.tsx +++ b/src/components/MDX/ExpandableExample.tsx @@ -70,13 +70,13 @@ function ExpandableExample({children, excerpt, type}: ExpandableExampleProps) { })}> {isDeepDive && ( <> - <IconDeepDive className="inline mr-2 dark:text-purple-30 text-purple-40" /> + <IconDeepDive className="inline me-2 dark:text-purple-30 text-purple-40" /> Deep Dive </> )} {isExample && ( <> - <IconCodeBlock className="inline mr-2 dark:text-yellow-30 text-yellow-50" /> + <IconCodeBlock className="inline me-2 dark:text-yellow-30 text-yellow-50" /> Example </> )} @@ -98,7 +98,7 @@ function ExpandableExample({children, excerpt, type}: ExpandableExampleProps) { isExample, })} onClick={() => setIsExpanded((current) => !current)}> - <span className="mr-1"> + <span className="me-1"> <IconChevron displayDirection={isExpanded ? 'up' : 'down'} /> </span> {isExpanded ? 'Hide Details' : 'Show Details'} diff --git a/src/components/MDX/Heading.tsx b/src/components/MDX/Heading.tsx index 707e5e3c..50e209e7 100644 --- a/src/components/MDX/Heading.tsx +++ b/src/components/MDX/Heading.tsx @@ -39,7 +39,7 @@ const Heading = forwardRefWithAs<HeadingProps, 'div'>(function Heading( height="1em" viewBox="0 0 13 13" xmlns="http://www.w3.org/2000/svg" - className="text-gray-70 ml-2 h-5 w-5"> + className="text-gray-70 ms-2 h-5 w-5"> <g fill="currentColor" fillRule="evenodd"> <path d="M7.778 7.975a2.5 2.5 0 0 0 .347-3.837L6.017 2.03a2.498 2.498 0 0 0-3.542-.007 2.5 2.5 0 0 0 .006 3.543l1.153 1.15c.07-.29.154-.563.25-.773.036-.077.084-.16.14-.25L3.18 4.85a1.496 1.496 0 0 1 .002-2.12 1.496 1.496 0 0 1 2.12 0l2.124 2.123a1.496 1.496 0 0 1-.333 2.37c.16.246.42.504.685.752z" /> <path d="M5.657 4.557a2.5 2.5 0 0 0-.347 3.837l2.108 2.108a2.498 2.498 0 0 0 3.542.007 2.5 2.5 0 0 0-.006-3.543L9.802 5.815c-.07.29-.154.565-.25.774-.036.076-.084.16-.14.25l.842.84c.585.587.59 1.532 0 2.122-.587.585-1.532.59-2.12 0L6.008 7.68a1.496 1.496 0 0 1 .332-2.372c-.16-.245-.42-.503-.685-.75z" /> diff --git a/src/components/MDX/InlineCode.tsx b/src/components/MDX/InlineCode.tsx index 4a87c2a5..d206e988 100644 --- a/src/components/MDX/InlineCode.tsx +++ b/src/components/MDX/InlineCode.tsx @@ -13,6 +13,7 @@ function InlineCode({ }: JSX.IntrinsicElements['code'] & InlineCodeProps) { return ( <code + dir="ltr" // This is needed to prevent the code from inheriting the RTL direction of <html> in case of RTL languages to avoid like `()console.log` to be rendered as `console.log()` className={cn( 'inline text-code text-secondary dark:text-secondary-dark px-1 rounded-md no-underline', { diff --git a/src/components/MDX/MDXComponents.module.css b/src/components/MDX/MDXComponents.module.css index 9840e77c..e3ed413e 100644 --- a/src/components/MDX/MDXComponents.module.css +++ b/src/components/MDX/MDXComponents.module.css @@ -8,11 +8,11 @@ } .markdown ol { - @apply mb-4 ml-8 list-decimal; + @apply mb-4 ms-8 list-decimal; } .markdown ul { - @apply mb-4 ml-8 list-disc; + @apply mb-4 ms-8 list-disc; } .markdown h1 { @@ -30,7 +30,7 @@ } .markdown code { - @apply text-gray-70 bg-card dark:bg-card-dark p-1 rounded-lg no-underline; + @apply text-gray-70 bg-card dark:bg-card-dark p-1 rounded-lg no-underline; font-size: 90%; } diff --git a/src/components/MDX/MDXComponents.tsx b/src/components/MDX/MDXComponents.tsx index f2c792cb..a35a1514 100644 --- a/src/components/MDX/MDXComponents.tsx +++ b/src/components/MDX/MDXComponents.tsx @@ -62,13 +62,13 @@ const Strong = (strong: JSX.IntrinsicElements['strong']) => ( ); const OL = (p: JSX.IntrinsicElements['ol']) => ( - <ol className="ml-6 my-3 list-decimal" {...p} /> + <ol className="ms-6 my-3 list-decimal" {...p} /> ); const LI = (p: JSX.IntrinsicElements['li']) => ( <li className="leading-relaxed mb-1" {...p} /> ); const UL = (p: JSX.IntrinsicElements['ul']) => ( - <ul className="ml-6 my-3 list-disc" {...p} /> + <ul className="ms-6 my-3 list-disc" {...p} /> ); const Divider = () => ( @@ -127,7 +127,7 @@ function LearnMore({ href={path} type="primary"> Read More - <IconNavArrow displayDirection="right" className="inline ml-1" /> + <IconNavArrow displayDirection="end" className="inline ms-1" /> </ButtonLink> ) : null} </div> @@ -141,7 +141,7 @@ function ReadBlogPost({path}: {path: string}) { return ( <ButtonLink className="mt-1" label="Read Post" href={path} type="primary"> Read Post - <IconNavArrow displayDirection="right" className="inline ml-1" /> + <IconNavArrow displayDirection="end" className="inline ms-1" /> </ButtonLink> ); } @@ -195,7 +195,7 @@ function AuthorCredit({ }) { return ( <div className="sr-only group-hover:not-sr-only group-focus-within:not-sr-only hover:sr-only"> - <p className="bg-card dark:bg-card-dark text-center text-sm text-secondary dark:text-secondary-dark leading-tight dark:text-secondary-dark p-2 rounded-lg absolute left-1/2 -top-4 -translate-x-1/2 -translate-y-full group-hover:flex group-hover:opacity-100 after:content-[''] after:absolute after:left-1/2 after:top-[95%] after:-translate-x-1/2 after:border-8 after:border-x-transparent after:border-b-transparent after:border-t-card after:dark:border-t-card-dark opacity-0 transition-opacity duration-300"> + <p className="bg-card dark:bg-card-dark text-center text-sm text-secondary dark:text-secondary-dark leading-tight p-2 rounded-lg absolute start-1/2 -top-4 -translate-x-1/2 -translate-y-full group-hover:flex group-hover:opacity-100 after:content-[''] after:absolute after:start-1/2 after:top-[95%] after:-translate-x-1/2 after:border-8 after:border-x-transparent after:border-b-transparent after:border-t-card after:dark:border-t-card-dark opacity-0 transition-opacity duration-300"> <cite> Illustrated by{' '} {authorLink ? ( @@ -407,7 +407,7 @@ export const MDXComponents = { return children; }, MaxWidth({children}: {children: any}) { - return <div className="max-w-4xl ml-0 2xl:mx-auto">{children}</div>; + return <div className="max-w-4xl ms-0 2xl:mx-auto">{children}</div>; }, Pitfall, Deprecated, diff --git a/src/components/MDX/Sandpack/Console.tsx b/src/components/MDX/Sandpack/Console.tsx index 23194c87..85daee1f 100644 --- a/src/components/MDX/Sandpack/Console.tsx +++ b/src/components/MDX/Sandpack/Console.tsx @@ -162,7 +162,7 @@ export const SandpackConsole = ({visible}: {visible: boolean}) => { className="flex items-center p-1" onClick={() => setIsExpanded(!isExpanded)}> <IconChevron displayDirection={isExpanded ? 'down' : 'right'} /> - <span className="pl-1 text-sm">Console ({logs.length})</span> + <span className="ps-1 text-sm">Console ({logs.length})</span> </button> <button className="p-1" @@ -191,7 +191,7 @@ export const SandpackConsole = ({visible}: {visible: boolean}) => { <div key={id} className={cn( - 'first:border-none border-t dark:border-gray-700 text-md p-1 pl-2 leading-6 font-mono min-h-[32px] whitespace-pre-wrap', + 'first:border-none border-t dark:border-gray-700 text-md p-1 ps-2 leading-6 font-mono min-h-[32px] whitespace-pre-wrap', `console-${getType(method)}`, getColor(method) )}> diff --git a/src/components/MDX/Sandpack/CustomPreset.tsx b/src/components/MDX/Sandpack/CustomPreset.tsx index 46e0ca25..7b4d9dee 100644 --- a/src/components/MDX/Sandpack/CustomPreset.tsx +++ b/src/components/MDX/Sandpack/CustomPreset.tsx @@ -115,7 +115,7 @@ const SandboxShell = memo(function SandboxShell({ }}> <span className="flex p-2 focus:outline-none text-primary dark:text-primary-dark leading-[20px]"> <IconChevron - className="inline mr-1.5 text-xl" + className="inline me-1.5 text-xl" displayDirection={isExpanded ? 'up' : 'down'} /> {isExpanded ? 'Show less' : 'Show more'} diff --git a/src/components/MDX/Sandpack/DownloadButton.tsx b/src/components/MDX/Sandpack/DownloadButton.tsx index 4d206fff..75ed0c32 100644 --- a/src/components/MDX/Sandpack/DownloadButton.tsx +++ b/src/components/MDX/Sandpack/DownloadButton.tsx @@ -103,7 +103,7 @@ ${css} onClick={downloadHTML} title="Download Sandbox" type="button"> - <IconDownload className="inline mr-1" /> Download + <IconDownload className="inline me-1" /> Download </button> ); } diff --git a/src/components/MDX/Sandpack/NavigationBar.tsx b/src/components/MDX/Sandpack/NavigationBar.tsx index 27ae43c0..1392ea7d 100644 --- a/src/components/MDX/Sandpack/NavigationBar.tsx +++ b/src/components/MDX/Sandpack/NavigationBar.tsx @@ -138,7 +138,7 @@ export function NavigationBar({providedFiles}: {providedFiles: Array<string>}) { // space that's taken by the (invisible) tab list. <button className={cn( - 'absolute top-0 left-[2px]', + 'absolute top-0 start-[2px]', !showDropdown && 'invisible' )}> <span @@ -148,7 +148,7 @@ export function NavigationBar({providedFiles}: {providedFiles: Array<string>}) { style={{maxWidth: '160px'}}> {getFileName(activeFile)} {isMultiFile && ( - <span className="ml-2"> + <span className="ms-2"> <IconChevron displayDirection={open ? 'up' : 'down'} /> @@ -161,7 +161,7 @@ export function NavigationBar({providedFiles}: {providedFiles: Array<string>}) { </div> </div> {isMultiFile && showDropdown && ( - <Listbox.Options className="absolute mt-0.5 bg-card dark:bg-card-dark px-2 left-0 right-0 mx-0 rounded-b-lg border-1 border-border dark:border-border-dark rounded-sm shadow-md"> + <Listbox.Options className="absolute mt-0.5 bg-card dark:bg-card-dark px-2 inset-x-0 mx-0 rounded-b-lg border-1 border-border dark:border-border-dark rounded-sm shadow-md"> {visibleFiles.map((filePath: string) => ( <Listbox.Option key={filePath} value={filePath} as={Fragment}> {({active}) => ( @@ -180,7 +180,7 @@ export function NavigationBar({providedFiles}: {providedFiles: Array<string>}) { </Listbox> </div> <div - className="px-3 flex items-center justify-end text-right" + className="px-3 flex items-center justify-end text-start" translate="yes"> <DownloadButton providedFiles={providedFiles} /> <ResetButton onReset={handleReset} /> diff --git a/src/components/MDX/Sandpack/OpenInCodeSandboxButton.tsx b/src/components/MDX/Sandpack/OpenInCodeSandboxButton.tsx index 42a2d274..f943ee6f 100644 --- a/src/components/MDX/Sandpack/OpenInCodeSandboxButton.tsx +++ b/src/components/MDX/Sandpack/OpenInCodeSandboxButton.tsx @@ -8,10 +8,10 @@ import {IconNewPage} from '../../Icon/IconNewPage'; export const OpenInCodeSandboxButton = () => { return ( <UnstyledOpenInCodeSandboxButton - className="text-sm text-primary dark:text-primary-dark inline-flex items-center hover:text-link duration-100 ease-in transition mx-1 ml-2 md:ml-1" + className="text-sm text-primary dark:text-primary-dark inline-flex items-center hover:text-link duration-100 ease-in transition mx-1 ms-2 md:ms-1" title="Open in CodeSandbox"> <IconNewPage - className="inline ml-1 mr-1 relative top-[1px]" + className="inline ms-1 me-1 relative top-[1px]" width="1em" height="1em" /> diff --git a/src/components/MDX/Sandpack/ResetButton.tsx b/src/components/MDX/Sandpack/ResetButton.tsx index 1ac41313..243ce234 100644 --- a/src/components/MDX/Sandpack/ResetButton.tsx +++ b/src/components/MDX/Sandpack/ResetButton.tsx @@ -15,7 +15,7 @@ export function ResetButton({onReset}: ResetButtonProps) { onClick={onReset} title="Reset Sandbox" type="button"> - <IconRestart className="inline ml-1 mr-1 relative" /> Reset + <IconRestart className="inline ms-1 me-1 relative" /> Reset </button> ); } diff --git a/src/components/MDX/Sandpack/SandpackRoot.tsx b/src/components/MDX/Sandpack/SandpackRoot.tsx index 043daf9b..f710f8fe 100644 --- a/src/components/MDX/Sandpack/SandpackRoot.tsx +++ b/src/components/MDX/Sandpack/SandpackRoot.tsx @@ -62,7 +62,7 @@ code { } ul { - padding-left: 20px; + padding-inline-start: 20px; } `.trim(); @@ -78,7 +78,7 @@ function SandpackRoot(props: SandpackProps) { }; return ( - <div className="sandpack sandpack--playground w-full my-8"> + <div className="sandpack sandpack--playground w-full my-8" dir="ltr"> <SandpackProvider template="react" files={files} diff --git a/src/components/MDX/Sandpack/index.tsx b/src/components/MDX/Sandpack/index.tsx index 3591e058..6873547a 100644 --- a/src/components/MDX/Sandpack/index.tsx +++ b/src/components/MDX/Sandpack/index.tsx @@ -23,7 +23,7 @@ const SandpackGlimmer = ({code}: {code: string}) => ( <div className="sp-cm sp-pristine"> <div className="cm-editor"> <div> - <div className="cm-gutters pl-9 sticky min-h-[192px]"> + <div className="cm-gutters ps-9 sticky min-h-[192px]"> <div className="cm-gutter cm-lineNumbers whitespace-pre sp-pre-placeholder"> {code} </div> diff --git a/src/components/MDX/TeamMember.tsx b/src/components/MDX/TeamMember.tsx index 0db067e1..da2dc453 100644 --- a/src/components/MDX/TeamMember.tsx +++ b/src/components/MDX/TeamMember.tsx @@ -53,7 +53,7 @@ export function TeamMember({ className="block w-full sm:hidden flex-grow basis-2/5 rounded overflow-hidden relative"> <Image src={photo} layout="fill" objectFit="cover" alt={name} /> </div> - <div className="pl-0 sm:pl-6 basis-3/5 items-start"> + <div className="ps-0 sm:ps-6 basis-3/5 items-start"> <H3 className="mb-1 sm:my-0" id={permalink}> {name} </H3> @@ -61,23 +61,23 @@ export function TeamMember({ {children} <div className="sm:flex sm:flex-row"> {twitter && ( - <div className="mr-4"> + <div className="me-4"> <ExternalLink aria-label="React on Twitter" href={`https://twitter.com/${twitter}`} className="hover:text-primary dark:text-primary-dark flex flex-row items-center"> - <IconTwitter className="pr-2" /> + <IconTwitter className="pe-2" /> {twitter} </ExternalLink> </div> )} {github && ( - <div className="mr-4"> + <div className="me-4"> <ExternalLink aria-label="GitHub Profile" href={`https://github.com/${github}`} className="hover:text-primary dark:text-primary-dark flex flex-row items-center"> - <IconGitHub className="pr-2" /> {github} + <IconGitHub className="pe-2" /> {github} </ExternalLink> </div> )} @@ -86,7 +86,7 @@ export function TeamMember({ aria-label="Personal Site" href={`https://${personal}`} className="hover:text-primary dark:text-primary-dark flex flex-row items-center"> - <IconLink className="pr-2" /> {personal} + <IconLink className="pe-2" /> {personal} </ExternalLink> )} </div> diff --git a/src/components/MDX/TerminalBlock.tsx b/src/components/MDX/TerminalBlock.tsx index 161e483b..fc13af33 100644 --- a/src/components/MDX/TerminalBlock.tsx +++ b/src/components/MDX/TerminalBlock.tsx @@ -17,9 +17,9 @@ interface TerminalBlockProps { function LevelText({type}: {type: LogLevel}) { switch (type) { case 'warning': - return <span className="text-yellow-50 bg-none mr-1">Warning: </span>; + return <span className="text-yellow-50 bg-none me-1">Warning: </span>; case 'error': - return <span className="text-red-40 mr-1">Error: </span>; + return <span className="text-red-40 me-1">Error: </span>; default: return null; } @@ -55,22 +55,25 @@ function TerminalBlock({level = 'info', children}: TerminalBlockProps) { <div className="bg-gray-90 dark:bg-gray-60 w-full rounded-t-lg"> <div className="text-primary-dark dark:text-primary-dark flex text-sm px-4 py-0.5 relative justify-between"> <div> - <IconTerminal className="inline-flex mr-2 self-center" /> Terminal + <IconTerminal className="inline-flex me-2 self-center" /> Terminal </div> <div> <button - className="w-full text-left text-primary-dark dark:text-primary-dark " + className="w-full text-start text-primary-dark dark:text-primary-dark " onClick={() => { window.navigator.clipboard.writeText(message ?? ''); setCopied(true); }}> - <IconCopy className="inline-flex mr-2 self-center" />{' '} + <IconCopy className="inline-flex me-2 self-center" />{' '} {copied ? 'Copied' : 'Copy'} </button> </div> </div> </div> - <div className="px-8 pt-4 pb-6 text-primary-dark dark:text-primary-dark font-mono text-code whitespace-pre overflow-x-scroll"> + <div + className="px-8 pt-4 pb-6 text-primary-dark dark:text-primary-dark font-mono text-code whitespace-pre overflow-x-scroll" + translate="no" + dir="ltr"> <LevelText type={level} /> {message} </div> diff --git a/src/components/MDX/YouWillLearnCard.tsx b/src/components/MDX/YouWillLearnCard.tsx index 83987602..d46a7027 100644 --- a/src/components/MDX/YouWillLearnCard.tsx +++ b/src/components/MDX/YouWillLearnCard.tsx @@ -29,7 +29,7 @@ function YouWillLearnCard({title, path, children}: YouWillLearnCardProps) { size="md" label={title}> Read More - <IconNavArrow displayDirection="right" className="inline ml-1" /> + <IconNavArrow displayDirection="end" className="inline ms-1" /> </ButtonLink> </div> </div> diff --git a/src/components/PageHeading.tsx b/src/components/PageHeading.tsx index 9c411fd3..b6437b46 100644 --- a/src/components/PageHeading.tsx +++ b/src/components/PageHeading.tsx @@ -28,7 +28,7 @@ function PageHeading({ }: PageHeadingProps) { return ( <div className="px-5 sm:px-12 pt-3.5"> - <div className="max-w-4xl ml-0 2xl:mx-auto"> + <div className="max-w-4xl ms-0 2xl:mx-auto"> {breadcrumbs ? <Breadcrumbs breadcrumbs={breadcrumbs} /> : null} <H1 className="mt-0 text-primary dark:text-primary-dark -mx-.5 break-words"> {title} diff --git a/src/components/SocialBanner.tsx b/src/components/SocialBanner.tsx index 826119c1..e980b6f4 100644 --- a/src/components/SocialBanner.tsx +++ b/src/components/SocialBanner.tsx @@ -37,7 +37,7 @@ export default function SocialBanner() { )}> <div className="hidden sm:block">{bannerText}</div> <ExternalLink - className="ml-0 sm:ml-1 text-link dark:text-link-dark hover:underline" + className="ms-0 sm:ms-1 text-link dark:text-link-dark hover:underline" href={bannerLink}> <div className="inline sm:hidden">🇺🇦 </div> {bannerLinkText} diff --git a/src/components/Tag.tsx b/src/components/Tag.tsx index 7033e030..2e63a81f 100644 --- a/src/components/Tag.tsx +++ b/src/components/Tag.tsx @@ -37,7 +37,7 @@ interface TagProps { function Tag({text, variant, className}: TagProps) { const {name, classes} = variantMap[variant]; return ( - <span className={cn('mr-2', className)}> + <span className={cn('me-2', className)}> <span className={cn( 'inline font-bold text-sm uppercase py-1 px-2 rounded', diff --git a/src/pages/_document.tsx b/src/pages/_document.tsx index 62c721c0..392fdf88 100644 --- a/src/pages/_document.tsx +++ b/src/pages/_document.tsx @@ -7,7 +7,7 @@ import {siteConfig} from '../siteConfig'; const MyDocument = () => { return ( - <Html lang={siteConfig.languageCode}> + <Html lang={siteConfig.languageCode} dir={siteConfig.isRTL ? 'rtl' : 'ltr'}> <Head /> <body className="font-text font-medium antialiased text-lg bg-wash dark:bg-wash-dark text-secondary dark:text-secondary-dark leading-base"> <script diff --git a/src/siteConfig.js b/src/siteConfig.js index 156ba9f8..0ada6b93 100644 --- a/src/siteConfig.js +++ b/src/siteConfig.js @@ -7,6 +7,7 @@ exports.siteConfig = { // Translations should replace these lines: languageCode: 'en', hasLegacySite: true, + isRTL: false, // -------------------------------------- copyright: `Copyright © ${new Date().getFullYear()} Facebook Inc. All Rights Reserved.`, repoUrl: 'https://github.com/facebook/react', diff --git a/src/styles/algolia.css b/src/styles/algolia.css index e682a914..eff2e66c 100644 --- a/src/styles/algolia.css +++ b/src/styles/algolia.css @@ -61,7 +61,7 @@ html.dark .DocSearch-Commands { @apply border-border-dark; } .DocSearch-Commands-Key { - @apply shadow-none; + @apply shadow-none me-[.4rem] ms-0; @apply bg-gray-10; @apply text-primary; } @@ -69,6 +69,9 @@ html.dark .DocSearch-Commands { @apply pt-4; @apply pb-2; } +.DocSearch-Logo svg { + @apply ms-2 me-0; +} .DocSearch-Label { @apply text-xs; } @@ -85,7 +88,7 @@ html.dark .DocSearch-Footer { @apply bg-wash-dark; } .DocSearch-Input { - @apply py-3; + @apply py-3 ps-2 pe-0; @apply text-base; @apply leading-tight; @apply text-primary; @@ -96,10 +99,10 @@ html.dark .DocSearch-Input { @apply text-primary-dark; } .DocSearch-Hit a { - @apply rounded-r-lg; - @apply rounded-l-none; + @apply rounded-e-lg; + @apply rounded-s-none; @apply shadow-none; - @apply pl-5; + @apply ps-5; } .DocSearch-Hit-source { @apply uppercase; @@ -108,14 +111,14 @@ html.dark .DocSearch-Input { @apply text-secondary; @apply font-bold; @apply pt-0; - @apply pl-5; + @apply ps-5; @apply m-0; } html.dark .DocSearch-Hit-source { @apply text-secondary-dark; } .DocSearch-Dropdown ul { - @apply mr-5; + @apply me-5; } .DocSearch-Hit-title { @apply text-base; @@ -157,8 +160,8 @@ html.dark .DocSearch-Modal { @apply shadow-nav-dark; } .DocSearch-Cancel { - @apply pl-5; - @apply ml-0; + @apply ps-5; + @apply ms-0; @apply text-base; @apply text-link; @apply font-normal; diff --git a/src/styles/index.css b/src/styles/index.css index 7a2e2fa1..9e1ec4aa 100644 --- a/src/styles/index.css +++ b/src/styles/index.css @@ -545,6 +545,12 @@ } } +@layer utilities { + [class*='space-x-'] { + @apply rtl:space-x-reverse; + } +} + .code-step * { color: inherit !important; } @@ -560,7 +566,7 @@ html.dark .code-step * { .mdx-heading { scroll-margin-top: calc(4rem + 20px); /* Space for the anchor */ - padding-right: 1em; + padding-inline-end: 1em; } .mdx-heading:before { @@ -629,7 +635,7 @@ ol.mdx-illustration-block { display: block; position: absolute; top: 50%; - right: 100%; + inset-inline-end: 100%; transform: translateY(-50%); width: 60px; height: 49px; @@ -653,8 +659,8 @@ ol.mdx-illustration-block { } .mdx-illustration-block li:after { top: 0; - left: 50%; - right: auto; + inset-inline-start: 50%; + inset-inline-end: auto; transform: translateX(-50%) translateY(-100%) rotate(90deg); } } diff --git a/yarn.lock b/yarn.lock index d6e0c82c..21f45bb6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -125,6 +125,11 @@ "@algolia/logger-common" "4.12.0" "@algolia/requester-common" "4.12.0" +"@alloc/quick-lru@^5.2.0": + version "5.2.0" + resolved "https://registry.yarnpkg.com/@alloc/quick-lru/-/quick-lru-5.2.0.tgz#7bf68b20c0a350f936915fcae06f58e32007ce30" + integrity sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw== + "@ampproject/remapping@^2.1.0": version "2.2.0" resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d" @@ -1108,11 +1113,6 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.9.tgz#0e5944eefe2b287391279a19b407aa98bd14436d" integrity sha512-j11XSuRuAlft6vLDEX4RvhqC0KxNxx6QIyMXNb0vHHSNPXTPeiy3algESWmOOIzEtiEL0qiowPU3ewW9hHVa7Q== -"@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/parse-numeric-range@^0.0.1": version "0.0.1" resolved "https://registry.yarnpkg.com/@types/parse-numeric-range/-/parse-numeric-range-0.0.1.tgz#1a807487565a753f486cb3ee4b2145937d49759d" @@ -1306,26 +1306,12 @@ acorn-jsx@^5.0.0, acorn-jsx@^5.3.1: resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== -acorn-node@^1.6.1: - version "1.8.2" - resolved "https://registry.yarnpkg.com/acorn-node/-/acorn-node-1.8.2.tgz#114c95d64539e53dede23de8b9d96df7c7ae2af8" - integrity sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A== - dependencies: - acorn "^7.0.0" - acorn-walk "^7.0.0" - xtend "^4.0.2" - -acorn-walk@^7.0.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.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@^7.0.0, acorn@^7.4.0: +acorn@^7.4.0: version "7.4.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== @@ -1429,6 +1415,11 @@ ansi-styles@^6.0.0: resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.1.0.tgz#87313c102b8118abd57371afab34618bf7350ed3" integrity sha512-VbqNsoz55SYGczauuup0MFUyXNQviSpFTj1RQtFzmQLk18qbVSpTFFGMT293rmDaQuKCT6InmbuEyUne4mTuxQ== +any-promise@^1.0.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" + integrity sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A== + anymatch@~3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" @@ -1437,10 +1428,10 @@ anymatch@~3.1.2: normalize-path "^3.0.0" picomatch "^2.0.4" -arg@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.1.tgz#eb0c9a8f77786cad2af8ff2b862899842d7b6adb" - integrity sha512-e0hDa9H2Z9AwFkk2qDlwhoMYE4eToKarchkQHovNdLTCYMHZHeRjI71crOh+dio4K6u1IcwubQqo79Ga4CyAQA== +arg@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.2.tgz#c81433cc427c92c4dcf4865142dbca6f15acd59c" + integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg== argparse@^1.0.7: version "1.0.10" @@ -1636,7 +1627,7 @@ brace-expansion@^1.1.7: balanced-match "^1.0.0" concat-map "0.0.1" -braces@^3.0.1, braces@~3.0.2: +braces@^3.0.1, braces@^3.0.2, braces@~3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== @@ -1728,7 +1719,7 @@ chalk@^2.0.0, chalk@^2.4.1, chalk@^2.4.2: escape-string-regexp "^1.0.5" supports-color "^5.3.0" -chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2: +chalk@^4.0.0, chalk@^4.1.0: version "4.1.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== @@ -1887,7 +1878,7 @@ color-name@1.1.3: resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= -color-name@^1.1.4, color-name@~1.1.4: +color-name@~1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== @@ -1907,6 +1898,11 @@ comma-separated-tokens@^2.0.0: resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-2.0.2.tgz#d4c25abb679b7751c880be623c1179780fe1dd98" integrity sha512-G5yTt3KQN4Yn7Yk4ed73hlZ1evrFKXeUW3086p3PRFNp7m2vIjI6Pg+Kgb+oyzhd9F2qdcoj67+y3SdxL5XWsg== +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@^5.0.0: version "5.1.0" resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae" @@ -1966,17 +1962,6 @@ core-js-pure@^3.20.2: resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.20.3.tgz#6cc4f36da06c61d95254efc54024fe4797fd5d02" integrity sha512-Q2H6tQ5MtPtcC7f3HxJ48i4Q7T9ybPKgvWyuH7JXIoNa2pm0KuBnycsET/qw1SLLZYfbsbrZQNMeIOClb+6WIA== -cosmiconfig@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.1.tgz#714d756522cace867867ccb4474c5d01bbae5d6d" - integrity sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ== - 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" - crelt@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/crelt/-/crelt-1.0.5.tgz#57c0d52af8c859e354bace1883eb2e1eb182bb94" @@ -2122,11 +2107,6 @@ define-properties@^1.1.4: has-property-descriptors "^1.0.0" object-keys "^1.1.1" -defined@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/defined/-/defined-1.0.0.tgz#c98d9bcef75674188e110969151199e39b1fa693" - integrity sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM= - depd@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" @@ -2142,15 +2122,6 @@ destroy@1.2.0: resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== -detective@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/detective/-/detective-5.2.0.tgz#feb2a77e85b904ecdea459ad897cc90a99bd2a7b" - integrity sha512-6SsIx+nUUbuK0EthKjv0zrdnajCCXVYGmbYYiYjFVpzcjwEs/JMDZ8tPRG29J/HhN56t3GJp2cGSWDRjjot8Pg== - dependencies: - acorn-node "^1.6.1" - defined "^1.0.0" - minimist "^1.1.1" - didyoumean@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.2.tgz#989346ffe9e839b4555ecf5666edea0d3e8ad037" @@ -2705,7 +2676,18 @@ fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== -fast-glob@^3.2.11, fast-glob@^3.2.9: +fast-glob@^3.2.12: + version "3.3.0" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.0.tgz#7c40cb491e1e2ed5664749e87bfb516dbe8727c0" + integrity sha512-ChDuvbOypPuNjO8yIDf36x7BlZX1smcUMTTcyoIjycexOxd6DFsKsg21qVBzEmr3G7fUKIRy2/psii+CIUt7FA== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + +fast-glob@^3.2.9: version "3.2.11" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9" integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew== @@ -2909,6 +2891,18 @@ glob-parent@^6.0.2: dependencies: is-glob "^4.0.3" +glob@7.1.6: + version "7.1.6" + resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" + integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + glob@7.1.7: version "7.1.7" resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" @@ -3279,6 +3273,13 @@ is-ci@^3.0.1: dependencies: ci-info "^3.2.0" +is-core-module@^2.11.0: + version "2.12.1" + resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.12.1.tgz#0c0b6885b6f80011c71541ce15c8d66cf5a4f9fd" + integrity sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg== + dependencies: + has "^1.0.3" + is-core-module@^2.2.0, is-core-module@^2.8.0, is-core-module@^2.8.1: version "2.8.1" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.1.tgz#f59fdfca701d5879d0a6b100a40aa1560ce27211" @@ -3454,6 +3455,11 @@ istextorbinary@2.2.1: editions "^1.3.3" textextensions "2" +jiti@^1.18.2: + version "1.19.1" + resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.19.1.tgz#fa99e4b76a23053e0e7cde098efe1704a14c16f1" + integrity sha512-oVhqoRDaBXf7sjkll95LHVS6Myyyb1zaunVwk4Z0+WPSW4gjS0pl01zYKHScTuyEhQsFxV5L4DR5r+YqSyqyyg== + "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" @@ -3477,11 +3483,6 @@ 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: - 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== - json-schema-traverse@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" @@ -3570,11 +3571,16 @@ levn@^0.4.1: prelude-ls "^1.2.1" type-check "~0.4.0" -lilconfig@2.0.4, lilconfig@^2.0.4: +lilconfig@2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.4.tgz#f4507d043d7058b380b6a8f5cb7bcd4b34cee082" integrity sha512-bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA== +lilconfig@^2.0.5, lilconfig@^2.1.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.1.0.tgz#78e23ac89ebb7e1bfbf25b18043de756548e7f52" + integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ== + lines-and-columns@^1.1.6: version "1.2.4" resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" @@ -4373,6 +4379,14 @@ micromatch@^4.0.2, micromatch@^4.0.4: braces "^3.0.1" picomatch "^2.2.3" +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== + dependencies: + braces "^3.0.2" + picomatch "^2.3.1" + mime-db@1.52.0: version "1.52.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" @@ -4414,7 +4428,7 @@ minimatch@^3.0.4: dependencies: brace-expansion "^1.1.7" -minimist@^1.1.1, minimist@^1.2.0: +minimist@^1.2.0: version "1.2.7" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.7.tgz#daa1c4d91f507390437c6a8bc01078e7000c4d18" integrity sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g== @@ -4444,6 +4458,15 @@ ms@2.1.3, ms@^2.1.1: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== +mz@^2.7.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32" + integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== + dependencies: + any-promise "^1.0.0" + object-assign "^4.0.1" + thenify-all "^1.0.0" + nanoid@^3.2.0: version "3.3.1" resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.1.tgz#6347a18cac88af88f58af0b3594b723d5e99bb35" @@ -4454,6 +4477,11 @@ nanoid@^3.3.4: resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab" integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== +nanoid@^3.3.6: + version "3.3.6" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c" + integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA== + natural-compare@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" @@ -4570,15 +4598,15 @@ num2fraction@^1.2.2: resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" integrity sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4= -object-assign@^4.1.1: +object-assign@^4.0.1, object-assign@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= -object-hash@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-2.2.0.tgz#5ad518581eefc443bd763472b8ff2e9c2c0d54a5" - integrity sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw== +object-hash@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-3.0.0.tgz#73f97f753e7baffc0e2cc9d6e079079744ac82e9" + integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw== object-inspect@^1.11.0, object-inspect@^1.12.0, object-inspect@^1.9.0: version "1.12.0" @@ -4763,16 +4791,6 @@ parse-json@^4.0.0: error-ex "^1.3.1" json-parse-better-errors "^1.0.1" -parse-json@^5.0.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" - integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== - dependencies: - "@babel/code-frame" "^7.0.0" - error-ex "^1.3.1" - json-parse-even-better-errors "^2.3.0" - lines-and-columns "^1.1.6" - parse-latin@^4.0.0: version "4.3.0" resolved "https://registry.yarnpkg.com/parse-latin/-/parse-latin-4.3.0.tgz#1a70fc5601743baa06c5f12253c334fc94b4a917" @@ -4876,7 +4894,7 @@ picocolors@^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.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== @@ -4886,11 +4904,21 @@ pidtree@^0.3.0: resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.3.1.tgz#ef09ac2cc0533df1f3250ccf2c4d366b0d12114a" integrity sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA== +pify@^2.3.0: + version "2.3.0" + resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== + pify@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= +pirates@^4.0.1: + version "4.0.6" + resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.6.tgz#3018ae32ecfcff6c29ba2267cbf21166ac1f36b9" + integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== + postcss-attribute-case-insensitive@^4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-4.0.2.tgz#d93e46b504589e94ac7277b0463226c68041a880" @@ -5031,6 +5059,15 @@ postcss-image-set-function@^3.0.1: postcss "^7.0.2" postcss-values-parser "^2.0.0" +postcss-import@^15.1.0: + version "15.1.0" + resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-15.1.0.tgz#41c64ed8cc0e23735a9698b3249ffdbf704adc70" + integrity sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew== + dependencies: + postcss-value-parser "^4.0.0" + read-cache "^1.0.0" + resolve "^1.1.7" + postcss-initial@^3.0.0: version "3.0.4" resolved "https://registry.yarnpkg.com/postcss-initial/-/postcss-initial-3.0.4.tgz#9d32069a10531fe2ecafa0b6ac750ee0bc7efc53" @@ -5038,10 +5075,10 @@ postcss-initial@^3.0.0: dependencies: postcss "^7.0.2" -postcss-js@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-js/-/postcss-js-4.0.0.tgz#31db79889531b80dc7bc9b0ad283e418dce0ac00" - integrity sha512-77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ== +postcss-js@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-js/-/postcss-js-4.0.1.tgz#61598186f3703bab052f1c4f7d805f3991bee9d2" + integrity sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw== dependencies: camelcase-css "^2.0.1" @@ -5054,13 +5091,13 @@ postcss-lab-function@^2.0.1: postcss "^7.0.2" postcss-values-parser "^2.0.0" -postcss-load-config@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-3.1.1.tgz#2f53a17f2f543d9e63864460af42efdac0d41f87" - integrity sha512-c/9XYboIbSEUZpiD1UQD0IKiUe8n9WHYV7YFe7X7J+ZwCsEKkUJSFWjS9hBU1RR9THR7jMXst8sxiqP0jjo2mg== +postcss-load-config@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-4.0.1.tgz#152383f481c2758274404e4962743191d73875bd" + integrity sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA== dependencies: - lilconfig "^2.0.4" - yaml "^1.10.2" + lilconfig "^2.0.5" + yaml "^2.1.1" postcss-logical@^3.0.0: version "3.0.0" @@ -5076,12 +5113,12 @@ postcss-media-minmax@^4.0.0: dependencies: postcss "^7.0.2" -postcss-nested@5.0.6: - version "5.0.6" - resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-5.0.6.tgz#466343f7fc8d3d46af3e7dba3fcd47d052a945bc" - integrity sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA== +postcss-nested@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-6.0.1.tgz#f83dc9846ca16d2f4fa864f16e9d9f7d0961662c" + integrity sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ== dependencies: - postcss-selector-parser "^6.0.6" + postcss-selector-parser "^6.0.11" postcss-nesting@^7.0.0: version "7.0.1" @@ -5195,7 +5232,15 @@ postcss-selector-parser@^5.0.0-rc.3, postcss-selector-parser@^5.0.0-rc.4: indexes-of "^1.0.1" uniq "^1.0.1" -postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.6, postcss-selector-parser@^6.0.9: +postcss-selector-parser@^6.0.11: + version "6.0.13" + resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz#d05d8d76b1e8e173257ef9d60b706a8e5e99bf1b" + integrity sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ== + dependencies: + cssesc "^3.0.0" + util-deprecate "^1.0.2" + +postcss-selector-parser@^6.0.2: version "6.0.9" resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.9.tgz#ee71c3b9ff63d9cd130838876c13a2ec1a992b2f" integrity sha512-UO3SgnZOVTwu4kyLR22UQ1xZh086RyNZppb7lLAKBFK8a32ttG5i87Y/P3+2bRSjZNyJ1B7hfFNo273tKe9YxQ== @@ -5203,7 +5248,7 @@ postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.6, postcss-selector cssesc "^3.0.0" util-deprecate "^1.0.2" -postcss-value-parser@^4.1.0, postcss-value-parser@^4.2.0: +postcss-value-parser@^4.0.0, 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== @@ -5234,7 +5279,16 @@ postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.26, postcss@^7.0. picocolors "^0.2.1" source-map "^0.6.1" -postcss@^8.4.5, postcss@^8.4.6: +postcss@^8.4.23: + version "8.4.25" + resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.25.tgz#4a133f5e379eda7f61e906c3b1aaa9b81292726f" + integrity sha512-7taJ/8t2av0Z+sQEvNzCkpDynl0tX3uJMCODi6nT3PfASC7dYCWV9aQ+uiCf+KBD4SEFcu+GvJdGdwzQ6OSjCw== + dependencies: + nanoid "^3.3.6" + picocolors "^1.0.0" + source-map-js "^1.0.2" + +postcss@^8.4.5: version "8.4.6" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.6.tgz#c5ff3c3c457a23864f32cb45ac9b741498a09ae1" integrity sha512-OovjwIzs9Te46vlEx7+uXB0PLijpwjXGKXjVGGPIGubGpq7uh5Xgf6D6FiJ/SzJMBosHDp6a2hiXOS97iBXcaA== @@ -5304,11 +5358,6 @@ queue-microtask@^1.2.2: resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== -quick-lru@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" - integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== - raf@^3.4.1: version "3.4.1" resolved "https://registry.yarnpkg.com/raf/-/raf-3.4.1.tgz#0742e99a4a6552f445d73e3ee0328af0ff1ede39" @@ -5371,6 +5420,13 @@ react@^0.0.0-experimental-16d053d59-20230506: dependencies: loose-envify "^1.1.0" +read-cache@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/read-cache/-/read-cache-1.0.0.tgz#e664ef31161166c9751cdbe8dbcf86b5fb58f774" + integrity sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA== + dependencies: + pify "^2.3.0" + read-pkg@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" @@ -5573,7 +5629,16 @@ resolve-from@^4.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== -resolve@^1.10.0, resolve@^1.12.0, resolve@^1.20.0, resolve@^1.22.0: +resolve@^1.1.7, resolve@^1.22.2: + version "1.22.2" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.2.tgz#0ed0943d4e301867955766c9f3e1ae6d01c6845f" + integrity sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g== + dependencies: + is-core-module "^2.11.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +resolve@^1.10.0, resolve@^1.12.0, resolve@^1.20.0: version "1.22.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198" integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw== @@ -6067,6 +6132,19 @@ styled-jsx@5.1.1: dependencies: client-only "0.0.1" +sucrase@^3.32.0: + version "3.32.0" + resolved "https://registry.yarnpkg.com/sucrase/-/sucrase-3.32.0.tgz#c4a95e0f1e18b6847127258a75cf360bc568d4a7" + integrity sha512-ydQOU34rpSyj2TGyz4D2p8rbktIOZ8QY9s+DGLvFU1i5pWJE8vkpruCjGCMHsdXwnD7JDcS+noSwM/a7zyNFDQ== + dependencies: + "@jridgewell/gen-mapping" "^0.3.2" + commander "^4.0.0" + glob "7.1.6" + lines-and-columns "^1.1.6" + mz "^2.7.0" + pirates "^4.0.1" + ts-interface-checker "^0.1.9" + supports-color@^5.3.0: version "5.5.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" @@ -6102,32 +6180,34 @@ table@^6.0.9: string-width "^4.2.3" strip-ansi "^6.0.1" -tailwindcss@^3.0.22: - version "3.0.23" - resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.0.23.tgz#c620521d53a289650872a66adfcb4129d2200d10" - integrity sha512-+OZOV9ubyQ6oI2BXEhzw4HrqvgcARY38xv3zKcjnWtMIZstEsXdI9xftd1iB7+RbOnj2HOEzkA0OyB5BaSxPQA== +tailwindcss@^3.3.2: + version "3.3.2" + resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.3.2.tgz#2f9e35d715fdf0bbf674d90147a0684d7054a2d3" + integrity sha512-9jPkMiIBXvPc2KywkraqsUfbfj+dHDb+JPWtSJa9MLFdrPyazI7q6WX2sUrm7R9eVR7qqv3Pas7EvQFzxKnI6w== dependencies: - arg "^5.0.1" - chalk "^4.1.2" + "@alloc/quick-lru" "^5.2.0" + arg "^5.0.2" chokidar "^3.5.3" - color-name "^1.1.4" - cosmiconfig "^7.0.1" - detective "^5.2.0" didyoumean "^1.2.2" dlv "^1.1.3" - fast-glob "^3.2.11" + fast-glob "^3.2.12" glob-parent "^6.0.2" is-glob "^4.0.3" + jiti "^1.18.2" + lilconfig "^2.1.0" + micromatch "^4.0.5" normalize-path "^3.0.0" - object-hash "^2.2.0" - postcss "^8.4.6" - postcss-js "^4.0.0" - postcss-load-config "^3.1.0" - postcss-nested "5.0.6" - postcss-selector-parser "^6.0.9" + object-hash "^3.0.0" + picocolors "^1.0.0" + postcss "^8.4.23" + postcss-import "^15.1.0" + postcss-js "^4.0.1" + postcss-load-config "^4.0.1" + postcss-nested "^6.0.1" + postcss-selector-parser "^6.0.11" postcss-value-parser "^4.2.0" - quick-lru "^5.1.1" - resolve "^1.22.0" + resolve "^1.22.2" + sucrase "^3.32.0" text-table@^0.2.0: version "0.2.0" @@ -6139,6 +6219,20 @@ textextensions@2: resolved "https://registry.yarnpkg.com/textextensions/-/textextensions-2.6.0.tgz#d7e4ab13fe54e32e08873be40d51b74229b00fc4" integrity sha512-49WtAWS+tcsy93dRt6P0P3AMD2m5PvXRhuEA0kaXos5ZLlujtYmpmFsB+QvWUSxE1ZsstmYXfQ7L40+EcQgpAQ== +thenify-all@^1.0.0: + version "1.6.0" + resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726" + integrity sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA== + dependencies: + thenify ">= 3.1.0 < 4" + +"thenify@>= 3.1.0 < 4": + version "3.3.1" + resolved "https://registry.yarnpkg.com/thenify/-/thenify-3.3.1.tgz#8932e686a4066038a016dd9e2ca46add9838a95f" + integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== + dependencies: + any-promise "^1.0.0" + through@^2.3.8: version "2.3.8" resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" @@ -6203,6 +6297,11 @@ trough@^2.0.0: resolved "https://registry.yarnpkg.com/trough/-/trough-2.0.2.tgz#94a3aa9d5ce379fc561f6244905b3f36b7458d96" integrity sha512-FnHq5sTMxC0sk957wHDzRnemFnNBvt/gSY99HzK8F7UP5WAbvP70yX5bd7CjEQkN+TjdxwI7g7lJ6podqrG2/w== +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" + integrity sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA== + tsconfig-paths@^3.12.0, tsconfig-paths@^3.9.0: version "3.12.0" resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.12.0.tgz#19769aca6ee8f6a1a341e38c8fa45dd9fb18899b" @@ -6660,7 +6759,7 @@ xml@1.0.1: resolved "https://registry.yarnpkg.com/xml/-/xml-1.0.1.tgz#78ba72020029c5bc87b8a81a3cfcd74b4a2fc1e5" integrity sha1-eLpyAgApxbyHuKgaPPzXS0ovweU= -xtend@^4.0.0, xtend@^4.0.1, xtend@^4.0.2: +xtend@^4.0.0, xtend@^4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== @@ -6670,11 +6769,16 @@ yallist@^4.0.0: resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== -yaml@^1.10.0, yaml@^1.10.2: +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== +yaml@^2.1.1: + version "2.3.1" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.3.1.tgz#02fe0975d23cd441242aa7204e09fc28ac2ac33b" + integrity sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ== + zod@3.21.4: version "3.21.4" resolved "https://registry.yarnpkg.com/zod/-/zod-3.21.4.tgz#10882231d992519f0a10b5dd58a38c9dabbb64db" From 6b61cd490d87c620533a3a79210c7c0ca96fdf56 Mon Sep 17 00:00:00 2001 From: Ahmed Abdelbaset <A7med3bdulBaset@gmail.com> Date: Wed, 16 Aug 2023 01:24:46 +0300 Subject: [PATCH 025/382] Annex to #6138 (#6226) * fix: wronge styles when applying RTL it was `top-0 left-0 ...` by wrong I made it `inset-x-0`. * fix wrong styles * fix wrong styles * style canary icon with RTL-friendly styles * chore: utilize mx-* instead of me-* & ms-* * utilize relative styles * chore: use mx-* instead of me-* & ms-* * style canary icon with RTL-frindly styles * Update OpenInTypeScriptPlayground.tsx --- src/components/Layout/HomeContent.js | 2 +- src/components/Layout/Sidebar/SidebarButton.tsx | 2 +- src/components/Layout/Sidebar/SidebarLink.tsx | 4 ++-- src/components/MDX/Sandpack/OpenInCodeSandboxButton.tsx | 2 +- src/components/MDX/Sandpack/OpenInTypeScriptPlayground.tsx | 2 +- src/components/MDX/Sandpack/ResetButton.tsx | 2 +- src/components/PageHeading.tsx | 4 ++-- 7 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/components/Layout/HomeContent.js b/src/components/Layout/HomeContent.js index d395ff38..924b66f4 100644 --- a/src/components/Layout/HomeContent.js +++ b/src/components/Layout/HomeContent.js @@ -849,7 +849,7 @@ function ExampleLayout({ {overlayStyles.map((styles, i) => ( <div key={i} - className="inset-x-0 bg-blue-30/5 border-2 border-link dark:border-link-dark absolute rounded-lg" + className="top-0 start-0 bg-blue-30/5 border-2 border-link dark:border-link-dark absolute rounded-lg" style={styles} /> ))} diff --git a/src/components/Layout/Sidebar/SidebarButton.tsx b/src/components/Layout/Sidebar/SidebarButton.tsx index 7b9f027a..dc1f29a8 100644 --- a/src/components/Layout/Sidebar/SidebarButton.tsx +++ b/src/components/Layout/Sidebar/SidebarButton.tsx @@ -31,7 +31,7 @@ export function SidebarButton({ })}> <button className={cn( - 'p-2 pe-2 ps-5 w-full rounded-s-lg text-start hover:bg-gray-5 dark:hover:bg-gray-80 relative flex items-center justify-between', + 'p-2 pe-2 ps-5 w-full rounded-e-lg text-start hover:bg-gray-5 dark:hover:bg-gray-80 relative flex items-center justify-between', { 'p-2 text-base': level > 1, 'text-link bg-highlight dark:bg-highlight-dark text-base font-bold hover:bg-highlight dark:hover:bg-highlight-dark hover:text-link dark:hover:text-link-dark': diff --git a/src/components/Layout/Sidebar/SidebarLink.tsx b/src/components/Layout/Sidebar/SidebarLink.tsx index 1b961e9c..180ded86 100644 --- a/src/components/Layout/Sidebar/SidebarLink.tsx +++ b/src/components/Layout/Sidebar/SidebarLink.tsx @@ -58,7 +58,7 @@ export function SidebarLink({ passHref aria-current={selected ? 'page' : undefined} className={cn( - 'p-2 pe-2 w-full rounded-none lg:rounded-s-2xl text-start hover:bg-gray-5 dark:hover:bg-gray-80 relative flex items-center justify-between', + 'p-2 pe-2 w-full rounded-none lg:rounded-e-2xl text-start hover:bg-gray-5 dark:hover:bg-gray-80 relative flex items-center justify-between', { 'text-sm ps-6': level > 0, 'ps-5': level < 2, @@ -78,7 +78,7 @@ export function SidebarLink({ {canary && ( <IconCanary title="This feature is available in the latest Canary" - className="ml-2 text-gray-30 dark:text-gray-60 inline-block w-4 h-4 align-[-3px]" + className="ms-2 text-gray-30 dark:text-gray-60 inline-block w-4 h-4 align-[-3px]" /> )} </div> diff --git a/src/components/MDX/Sandpack/OpenInCodeSandboxButton.tsx b/src/components/MDX/Sandpack/OpenInCodeSandboxButton.tsx index f943ee6f..78286aea 100644 --- a/src/components/MDX/Sandpack/OpenInCodeSandboxButton.tsx +++ b/src/components/MDX/Sandpack/OpenInCodeSandboxButton.tsx @@ -11,7 +11,7 @@ export const OpenInCodeSandboxButton = () => { className="text-sm text-primary dark:text-primary-dark inline-flex items-center hover:text-link duration-100 ease-in transition mx-1 ms-2 md:ms-1" title="Open in CodeSandbox"> <IconNewPage - className="inline ms-1 me-1 relative top-[1px]" + className="inline mx-1 relative top-[1px]" width="1em" height="1em" /> diff --git a/src/components/MDX/Sandpack/OpenInTypeScriptPlayground.tsx b/src/components/MDX/Sandpack/OpenInTypeScriptPlayground.tsx index f4b7ba77..7284912e 100644 --- a/src/components/MDX/Sandpack/OpenInTypeScriptPlayground.tsx +++ b/src/components/MDX/Sandpack/OpenInTypeScriptPlayground.tsx @@ -16,7 +16,7 @@ export const OpenInTypeScriptPlaygroundButton = (props: {content: string}) => { target="_blank" rel="noreferrer"> <IconNewPage - className="inline ml-1 mr-1 relative top-[1px]" + className="inline mx-1 relative top-[1px]" width="1em" height="1em" /> diff --git a/src/components/MDX/Sandpack/ResetButton.tsx b/src/components/MDX/Sandpack/ResetButton.tsx index 243ce234..0d1e22c8 100644 --- a/src/components/MDX/Sandpack/ResetButton.tsx +++ b/src/components/MDX/Sandpack/ResetButton.tsx @@ -15,7 +15,7 @@ export function ResetButton({onReset}: ResetButtonProps) { onClick={onReset} title="Reset Sandbox" type="button"> - <IconRestart className="inline ms-1 me-1 relative" /> Reset + <IconRestart className="inline mx-1 relative" /> Reset </button> ); } diff --git a/src/components/PageHeading.tsx b/src/components/PageHeading.tsx index b6437b46..076a38be 100644 --- a/src/components/PageHeading.tsx +++ b/src/components/PageHeading.tsx @@ -35,13 +35,13 @@ function PageHeading({ {canary && ( <IconCanary title="This feature is available in the latest Canary" - className="ml-4 mt-1 text-gray-50 dark:text-gray-40 inline-block w-6 h-6 align-[-1px]" + className="ms-4 mt-1 text-gray-50 dark:text-gray-40 inline-block w-6 h-6 align-[-1px]" /> )} {status ? <em>—{status}</em> : ''} </H1> {description && ( - <p className="mt-4 mb-6 dark:text-primary-dark text-xl text-gray-90 leading-large"> + <p className="mt-4 mb-6 dark:text-primary-dark text-xl text-primary leading-large"> {description} </p> )} From 842c24c9aefaa60b7ae9b46b002bd1b3cf4d31f3 Mon Sep 17 00:00:00 2001 From: Thomas Charuel <ThomasCharuel@users.noreply.github.com> Date: Thu, 17 Aug 2023 04:17:59 +0200 Subject: [PATCH 026/382] Fix broken link for Typescript Discord invite (#6224) --- src/content/learn/typescript.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/learn/typescript.md b/src/content/learn/typescript.md index d437096e..5695b755 100644 --- a/src/content/learn/typescript.md +++ b/src/content/learn/typescript.md @@ -460,4 +460,4 @@ We recommend the following resources: - [React TypeScript Cheatsheet](https://react-typescript-cheatsheet.netlify.app/) is a community-maintained cheatsheet for using TypeScript with React, covering a lot of useful edge cases and providing more breadth than this document. - - [TypeScript Community Discord](discord.com/invite/typescript) is a great place to ask questions and get help with TypeScript and React issues. \ No newline at end of file + - [TypeScript Community Discord](https://discord.com/invite/typescript) is a great place to ask questions and get help with TypeScript and React issues. \ No newline at end of file From f67811befede7566393b0b8c7cf6f399069d4410 Mon Sep 17 00:00:00 2001 From: Luna <lunaleaps@gmail.com> Date: Mon, 21 Aug 2023 13:34:53 -0700 Subject: [PATCH 027/382] Clarify these features are not related to Next (#6229) Co-authored-by: Luna Wei <luwe@fb.com> --- src/content/reference/react/use-client.md | 8 +++++--- src/content/reference/react/use-server.md | 8 +++++--- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/content/reference/react/use-client.md b/src/content/reference/react/use-client.md index fc6173ac..f0510415 100644 --- a/src/content/reference/react/use-client.md +++ b/src/content/reference/react/use-client.md @@ -51,7 +51,9 @@ When a file marked `'use client'` is imported from a server component, [compatib ## Usage {/*usage*/} <Wip> +This section is a work in progress. -This section is incomplete. See also the [Next.js documentation for Server Components](https://beta.nextjs.org/docs/rendering/server-and-client-components). - -</Wip> +This API can be used in any framework that supports React Server Components. You may find additional documentation from them. +* [Next.js documentation](https://nextjs.org/docs/getting-started/react-essentials) +* More coming soon +</Wip> \ No newline at end of file diff --git a/src/content/reference/react/use-server.md b/src/content/reference/react/use-server.md index 6b9e7df0..4acea191 100644 --- a/src/content/reference/react/use-server.md +++ b/src/content/reference/react/use-server.md @@ -49,7 +49,9 @@ Alternatively, add `'use server';` at the very top of a file to mark all exports ## Usage {/*usage*/} <Wip> +This section is a work in progress. -This section is incomplete. See also the [Next.js documentation for Server Components](https://beta.nextjs.org/docs/rendering/server-and-client-components). - -</Wip> +This API can be used in any framework that supports React Server Components. You may find additional documentation from them. +* [Next.js documentation](https://nextjs.org/docs/getting-started/react-essentials) +* More coming soon +</Wip> \ No newline at end of file From 3189529259e89240a88c05680849ce4a8c454ed2 Mon Sep 17 00:00:00 2001 From: Eli White <github@eli-white.com> Date: Wed, 23 Aug 2023 14:53:20 -0700 Subject: [PATCH 028/382] Add React Native EU 2023 to the conferences page (#6254) React attends this conference hosted by Callstack. It's been on the page in previous years, missed it this year. https://www.react-native.eu/ --- src/content/community/conferences.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/content/community/conferences.md b/src/content/community/conferences.md index 2908f9cd..974e4a82 100644 --- a/src/content/community/conferences.md +++ b/src/content/community/conferences.md @@ -15,8 +15,14 @@ August 17 & 18, 2023. Salt Lake City, UT, USA [Website](https://www.reactrally.com/) - [Twitter](https://twitter.com/ReactRally) - [Instagram](https://www.instagram.com/reactrally/) +### React Native EU 2023 {/*react-native-eu-2023*/} +September 7 & 8, 2023. Wrocław, Poland + +[Website](https://react-native.eu) - [Twitter](https://twitter.com/react_native_eu) - [Facebook](https://www.facebook.com/reactnativeeu) + + ### React India 2023 {/*react-india-2023*/} -Oct 5 - 7, 2023. In-person in Goa, India (hybrid event) + Oct 3 2023 - remote day +October 5 - 7, 2023. In-person in Goa, India (hybrid event) + Oct 3 2023 - remote day [Website](https://www.reactindia.io) - [Twitter](https://twitter.com/react_india) - [Facebook](https://www.facebook.com/ReactJSIndia) - [Youtube](https://www.youtube.com/channel/UCaFbHCBkPvVv1bWs_jwYt3w) From 722b54640ea8ef146ef59558100819a6bb31c252 Mon Sep 17 00:00:00 2001 From: Yogesh Surendran <carreraphp@gmail.com> Date: Wed, 30 Aug 2023 14:11:39 +0530 Subject: [PATCH 029/382] fix(docs): remove inactive indian meetup groups (#6267) --- src/content/community/meetups.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/content/community/meetups.md b/src/content/community/meetups.md index 382a0869..680fd323 100644 --- a/src/content/community/meetups.md +++ b/src/content/community/meetups.md @@ -96,12 +96,10 @@ Do you have a local React.js meetup? Add it here! (Please keep the list alphabet ## India {/*india*/} * [Ahmedabad](https://www.meetup.com/react-ahmedabad/) -* [Bangalore](https://www.meetup.com/ReactJS-Bangalore/) -* [Bangalore](https://www.meetup.com/React-Native-Bangalore-Meetup) -* [Chandigarh](https://www.meetup.com/Chandigarh-React-Developers/) +* [Bangalore (React)](https://www.meetup.com/ReactJS-Bangalore/) +* [Bangalore (React Native)](https://www.meetup.com/React-Native-Bangalore-Meetup) * [Chennai](https://www.meetup.com/React-Chennai/) * [Delhi NCR](https://www.meetup.com/React-Delhi-NCR/) -* [Jaipur](https://www.meetup.com/JaipurJS-Developer-Meetup/) * [Pune](https://www.meetup.com/ReactJS-and-Friends/) ## Indonesia {/*indonesia*/} From 9b4c56a210cd2df5e7a94b9bfeb66902b79ec318 Mon Sep 17 00:00:00 2001 From: Monica Powell <github@aboutmonica.com> Date: Tue, 5 Sep 2023 09:20:45 -0400 Subject: [PATCH 030/382] update conferences to move React Rally 23 to previous and add upcoming conferences (#6246) * update conferences to move react rally to previous and add reactjs day * Add React Alicante * Update conferences.md * Update conferences.md to include year of the event * add anchor link * Update conferences.md * Update conferences.md * chore: update country name --------- Co-authored-by: Strek <ssharishkumar@gmail.com> --- src/content/community/conferences.md | 32 +++++++++++++++++++++++++--- 1 file changed, 29 insertions(+), 3 deletions(-) diff --git a/src/content/community/conferences.md b/src/content/community/conferences.md index 974e4a82..19080024 100644 --- a/src/content/community/conferences.md +++ b/src/content/community/conferences.md @@ -10,10 +10,20 @@ Do you know of a local React.js conference? Add it here! (Please keep the list c ## Upcoming Conferences {/*upcoming-conferences*/} -### React Rally 2023 🐙 {/*react-rally-2023*/} -August 17 & 18, 2023. Salt Lake City, UT, USA +### RedwoodJS Conference 2023 {/*redwoodjs-conference-2023*/} +September 26 - 29, 2023. Grants Pass, Oregon + remote (hybrid event) -[Website](https://www.reactrally.com/) - [Twitter](https://twitter.com/ReactRally) - [Instagram](https://www.instagram.com/reactrally/) +[Website](https://www.redwoodjsconf.com/) - [Twitter](https://twitter.com/redwoodjs) + +### React Alicante 2023 {/*react-alicante-2023*/} +September 28 - 30, 2023. Alicante, Spain + +[Website](https://reactalicante.es/) - [Twitter](https://twitter.com/reactalicante) + +### React Live 2023 {/*react-live-2023*/} +September 29, 2023. Amsterdam, Netherlands + +[Website](https://reactlive.nl/) ### React Native EU 2023 {/*react-native-eu-2023*/} September 7 & 8, 2023. Wrocław, Poland @@ -26,11 +36,22 @@ October 5 - 7, 2023. In-person in Goa, India (hybrid event) + Oct 3 2023 - remot [Website](https://www.reactindia.io) - [Twitter](https://twitter.com/react_india) - [Facebook](https://www.facebook.com/ReactJSIndia) - [Youtube](https://www.youtube.com/channel/UCaFbHCBkPvVv1bWs_jwYt3w) +### React Brussels 2023 {/*react-brussels-2023*/} +October 13th 2023. In-person in Brussels, Belgium + Remote (hybrid) + +[Website](https://www.react.brussels/) - [Twitter](https://twitter.com/BrusselsReact) + ### React Advanced 2023 {/*react-advanced-2023*/} October 20 & 23, 2023. In-person in London, UK + remote first interactivity (hybrid event) [Website](https://www.reactadvanced.com/) - [Twitter](https://twitter.com/ReactAdvanced) - [Facebook](https://www.facebook.com/ReactAdvanced) - [Videos](https://portal.gitnation.org/events/react-advanced-conference-2023) +### reactjsday 2023 {/*reactjsday-2023*/} +October 27th 2023. In-person in Verona, Italy and online (hybrid event) + +[Website](https://2023.reactjsday.it/) - [Twitter](https://twitter.com/reactjsday) - [Facebook](https://www.facebook.com/GrUSP/) - [YouTube](https://www.youtube.com/c/grusp) + + ### React Summit US 2023 {/*react-summit-us-2023*/} November 13 & 15, 2023. In-person in New York, US + remote first interactivity (hybrid event) @@ -43,6 +64,11 @@ December 8 & 12, 2023. In-person in Berlin, Germany + remote first interactivity ## Past Conferences {/*past-conferences*/} +### React Rally 2023 🐙 {/*react-rally-2023*/} +August 17 & 18, 2023. Salt Lake City, UT, USA + +[Website](https://www.reactrally.com/) - [Twitter](https://twitter.com/ReactRally) - [Instagram](https://www.instagram.com/reactrally/) + ### React Nexus 2023 {/*react-nexus-2023*/} July 07 & 08, 2023. Bangalore, India (In-person event) From be6c39d8b7d4baf1199d695e5c179e5e511e5183 Mon Sep 17 00:00:00 2001 From: Saksham Gupta <90046016+0xSaksham@users.noreply.github.com> Date: Tue, 5 Sep 2023 21:44:53 +0530 Subject: [PATCH 031/382] Update tutorial-tic-tac-toe.md (#6259) Grammar fix --- src/content/learn/tutorial-tic-tac-toe.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/learn/tutorial-tic-tac-toe.md b/src/content/learn/tutorial-tic-tac-toe.md index 16e5f518..7c5adb11 100644 --- a/src/content/learn/tutorial-tic-tac-toe.md +++ b/src/content/learn/tutorial-tic-tac-toe.md @@ -2266,7 +2266,7 @@ to <li>Alexa: 5 tasks left</li> ``` -In addition to the updated counts, a human reading this would probably say that you swapped Alexa and Ben's ordering and inserted Claudia between Alexa and Ben. However, React is a computer program and can't know what you intended, so you need to specify a _key_ property for each list item to differentiate each list item from its siblings. If your data was from a database, Alexa, Ben, and Claudia's database IDs could be used as keys. +In addition to the updated counts, a human reading this would probably say that you swapped Alexa and Ben's ordering and inserted Claudia between Alexa and Ben. However, React is a computer program and does not know what you intended, so you need to specify a _key_ property for each list item to differentiate each list item from its siblings. If your data was from a database, Alexa, Ben, and Claudia's database IDs could be used as keys. ```js {1} <li key={user.id}> From 05380da53eb139b0141ad48f85e6d099138af151 Mon Sep 17 00:00:00 2001 From: "Justin E. Samuels" <9955512+ThugDebugger@users.noreply.github.com> Date: Tue, 5 Sep 2023 12:15:13 -0400 Subject: [PATCH 032/382] Update conferences.md (#6256) Added RenderATL 2024 to the conferences Markdown page --- src/content/community/conferences.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/content/community/conferences.md b/src/content/community/conferences.md index 19080024..6e85bd6f 100644 --- a/src/content/community/conferences.md +++ b/src/content/community/conferences.md @@ -62,6 +62,11 @@ December 8 & 12, 2023. In-person in Berlin, Germany + remote first interactivity [Website](https://reactday.berlin) - [Twitter](https://twitter.com/reactdayberlin) - [Facebook](https://www.facebook.com/reactdayberlin/) - [Videos](https://portal.gitnation.org/events/react-day-berlin-2023) +### Render(ATL) 2024 🍑 {/*renderatl-2024-*/} +June 12 - June 14, 2024. Atlanta, GA, USA + +[Website](https://renderatl.com) - [Discord](https://www.renderatl.com/discord) - [Twitter](https://twitter.com/renderATL) - [Instagram](https://www.instagram.com/renderatl/) - [Facebook](https://www.facebook.com/renderatl/) - [LinkedIn](https://www.linkedin.com/company/renderatl) - [Podcast](https://www.renderatl.com/culture-and-code#/) + ## Past Conferences {/*past-conferences*/} ### React Rally 2023 🐙 {/*react-rally-2023*/} From cd09ffbc352608f5bc04c8e8f788c5f9ffe164fa Mon Sep 17 00:00:00 2001 From: Rohit Sekh <96457403+venom-10@users.noreply.github.com> Date: Tue, 5 Sep 2023 23:55:56 +0530 Subject: [PATCH 033/382] Update Twitter(X) icon for light and dark mode (#6235) Update Twitter(X) icon for light and dark mode --- src/components/Icon/IconTwitter.tsx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/components/Icon/IconTwitter.tsx b/src/components/Icon/IconTwitter.tsx index 95117152..e7b0cf09 100644 --- a/src/components/Icon/IconTwitter.tsx +++ b/src/components/Icon/IconTwitter.tsx @@ -9,13 +9,13 @@ export const IconTwitter = memo<JSX.IntrinsicElements['svg']>( return ( <svg xmlns="http://www.w3.org/2000/svg" - viewBox="0 0 24 24" - width="1.33em" - height="1.33em" + viewBox="0 0 512 512" + height="1.30em" + width="1.30em" fill="currentColor" {...props}> <path fill="none" d="M0 0h24v24H0z" /> - <path d="M22.162 5.656a8.384 8.384 0 0 1-2.402.658A4.196 4.196 0 0 0 21.6 4c-.82.488-1.719.83-2.656 1.015a4.182 4.182 0 0 0-7.126 3.814 11.874 11.874 0 0 1-8.62-4.37 4.168 4.168 0 0 0-.566 2.103c0 1.45.738 2.731 1.86 3.481a4.168 4.168 0 0 1-1.894-.523v.052a4.185 4.185 0 0 0 3.355 4.101 4.21 4.21 0 0 1-1.89.072A4.185 4.185 0 0 0 7.97 16.65a8.394 8.394 0 0 1-6.191 1.732 11.83 11.83 0 0 0 6.41 1.88c7.693 0 11.9-6.373 11.9-11.9 0-.18-.005-.362-.013-.54a8.496 8.496 0 0 0 2.087-2.165z" /> + <path d="M389.2 48h70.6L305.6 224.2 487 464H345L233.7 318.6 106.5 464H35.8L200.7 275.5 26.8 48H172.4L272.9 180.9 389.2 48zM364.4 421.8h39.1L151.1 88h-42L364.4 421.8z" /> </svg> ); } From 230c39bd91db9005d10985776222fa6aeea95386 Mon Sep 17 00:00:00 2001 From: Max Jacobson <max@hardscrabble.net> Date: Tue, 5 Sep 2023 16:35:49 -0400 Subject: [PATCH 034/382] Fix link in new typescript docs (#6232) While reading the new typescript docs introduced in #6120, I noticed this link points to a fork. This commit changes it to a relative link so it should work everywhere. --- src/content/learn/typescript.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/learn/typescript.md b/src/content/learn/typescript.md index 5695b755..56fa5be5 100644 --- a/src/content/learn/typescript.md +++ b/src/content/learn/typescript.md @@ -20,7 +20,7 @@ TypeScript is a popular way to add type definitions to JavaScript codebases. Out ## Installation {/*installation*/} -All [production-grade React frameworks](https://react-dev-git-fork-orta-typescriptpage-fbopensource.vercel.app/learn/start-a-new-react-project#production-grade-react-frameworks) offer support for using TypeScript. Follow the framework specific guide for installation: +All [production-grade React frameworks](/learn/start-a-new-react-project#production-grade-react-frameworks) offer support for using TypeScript. Follow the framework specific guide for installation: - [Next.js](https://nextjs.org/docs/pages/building-your-application/configuring/typescript) - [Remix](https://remix.run/docs/en/1.19.2/guides/typescript) From 14629a7e19e283e415976973f33ceb2a0e4756e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?N=C3=A9stor=20Guillermo=20Hern=C3=A1ndez?= <nghsoft@fibertel.com.ar> Date: Tue, 5 Sep 2023 18:39:45 -0300 Subject: [PATCH 035/382] Fix incorrect link in select.md (#6227) Fix incorrect link in select.md --- src/content/reference/react-dom/components/select.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/reference/react-dom/components/select.md b/src/content/reference/react-dom/components/select.md index 46710908..0dbdc153 100644 --- a/src/content/reference/react-dom/components/select.md +++ b/src/content/reference/react-dom/components/select.md @@ -52,7 +52,7 @@ These `<select>` props are relevant both for uncontrolled and controlled select * [`autoComplete`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select#autocomplete): A string. Specifies one of the possible [autocomplete behaviors.](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete#values) * [`autoFocus`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select#autofocus): A boolean. If `true`, React will focus the element on mount. -* `children`: `<select>` accepts [`<option>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option), [`<optgroup>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/optgroup), and [`<datalist>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/optgroup) components as children. You can also pass your own components as long as they eventually render one of the allowed components. If you pass your own components that eventually render `<option>` tags, each `<option>` you render must have a `value`. +* `children`: `<select>` accepts [`<option>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/option), [`<optgroup>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/optgroup), and [`<datalist>`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/datalist) components as children. You can also pass your own components as long as they eventually render one of the allowed components. If you pass your own components that eventually render `<option>` tags, each `<option>` you render must have a `value`. * [`disabled`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select#disabled): A boolean. If `true`, the select box will not be interactive and will appear dimmed. * [`form`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select#form): A string. Specifies the `id` of the `<form>` this select box belongs to. If omitted, it's the closest parent form. * [`multiple`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select#multiple): A boolean. If `true`, the browser allows [multiple selection.](#enabling-multiple-selection) From df9d90764a754d3d165880af3d11685f517bbe6b Mon Sep 17 00:00:00 2001 From: Minu Kim <minumoseskim@gmail.com> Date: Wed, 6 Sep 2023 04:48:30 -0400 Subject: [PATCH 036/382] Fix flushSync.md grammar (#6282) --- src/content/reference/react-dom/flushSync.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/content/reference/react-dom/flushSync.md b/src/content/reference/react-dom/flushSync.md index 253879b4..7b40a738 100644 --- a/src/content/reference/react-dom/flushSync.md +++ b/src/content/reference/react-dom/flushSync.md @@ -89,14 +89,14 @@ import { flushSync } from 'react-dom'; export default function PrintApp() { const [isPrinting, setIsPrinting] = useState(false); - + useEffect(() => { function handleBeforePrint() { flushSync(() => { setIsPrinting(true); }) } - + function handleAfterPrint() { setIsPrinting(false); } @@ -108,7 +108,7 @@ export default function PrintApp() { window.removeEventListener('afterprint', handleAfterPrint); } }, []); - + return ( <> <h1>isPrinting: {isPrinting ? 'yes' : 'no'}</h1> @@ -122,7 +122,7 @@ export default function PrintApp() { </Sandpack> -Without `flushSync`, when the print dialog will display `isPrinting` as "no". This is because React batches the updates asynchronously and the print dialog is displayed before the state is updated. +Without `flushSync`, the print dialog will display `isPrinting` as "no". This is because React batches the updates asynchronously and the print dialog is displayed before the state is updated. <Pitfall> From 7141306c908d88a122399b67c1672e41856262be Mon Sep 17 00:00:00 2001 From: Luna <lunaleaps@gmail.com> Date: Wed, 6 Sep 2023 10:50:03 -0700 Subject: [PATCH 037/382] Add cache API docs (#6240) Co-authored-by: Ricky <rickhanlonii@gmail.com> Co-authored-by: Luna Wei <luwe@fb.com> Co-authored-by: Ricky Hanlon <rickhanlonii@gmail.com> --- src/components/MDX/Heading.tsx | 8 + src/components/MDX/MDXComponents.tsx | 3 +- src/content/reference/react/cache.md | 498 +++++++++++++++++++++++++++ src/sidebarReference.json | 5 + 4 files changed, 513 insertions(+), 1 deletion(-) create mode 100644 src/content/reference/react/cache.md diff --git a/src/components/MDX/Heading.tsx b/src/components/MDX/Heading.tsx index 50e209e7..a9f3efc3 100644 --- a/src/components/MDX/Heading.tsx +++ b/src/components/MDX/Heading.tsx @@ -88,3 +88,11 @@ export const H4 = ({className, ...props}: HeadingProps) => ( {...props} /> ); + +export const H5 = ({className, ...props}: HeadingProps) => ( + <Heading + as="h5" + className={cn(className, 'text-lg font-display font-bold leading-9 my-2')} + {...props} + /> +); diff --git a/src/components/MDX/MDXComponents.tsx b/src/components/MDX/MDXComponents.tsx index a35a1514..8344f977 100644 --- a/src/components/MDX/MDXComponents.tsx +++ b/src/components/MDX/MDXComponents.tsx @@ -11,7 +11,7 @@ import {CodeDiagram} from './CodeDiagram'; import ConsoleBlock from './ConsoleBlock'; import ExpandableCallout from './ExpandableCallout'; import ExpandableExample from './ExpandableExample'; -import {H1, H2, H3, H4} from './Heading'; +import {H1, H2, H3, H4, H5} from './Heading'; import InlineCode from './InlineCode'; import Intro from './Intro'; import BlogCard from './BlogCard'; @@ -388,6 +388,7 @@ export const MDXComponents = { h2: H2, h3: H3, h4: H4, + h5: H5, hr: Divider, a: Link, img: Image, diff --git a/src/content/reference/react/cache.md b/src/content/reference/react/cache.md new file mode 100644 index 00000000..db991e58 --- /dev/null +++ b/src/content/reference/react/cache.md @@ -0,0 +1,498 @@ +--- +title: cache +canary: true +--- + +<Canary> +* `cache` is only for use with [React Server Components](https://react.dev/blog/2023/03/22/react-labs-what-we-have-been-working-on-march-2023#react-server-components). See [frameworks](https://react.dev/learn/start-a-new-react-project#bleeding-edge-react-frameworks) that support React Server Components. + +* `cache` is only available in React’s [Canary](https://react.dev/community/versioning-policy#canary-channel) and [experimental](https://react.dev/community/versioning-policy#experimental-channel) channels. Please ensure you understand the limitations before using `cache` in production. Learn more about [React's release channels here](/community/versioning-policy#all-release-channels). +</Canary> + +<Intro> + +`cache` lets you cache the result of a data fetch or computation. + +```js +const cachedFn = cache(fn); +``` + +</Intro> + +<InlineToc /> + +--- + +## Reference {/*reference*/} + +### `cache(fn)` {/*cache*/} + +Call `cache` outside of any components to create a version of the function with caching. + +```js {4,7} +import {cache} from 'react'; +import calculateMetrics from 'lib/metrics'; + +const getMetrics = cache(calculateMetrics); + +function Chart({data}) { + const report = getMetrics(data); + // ... +} +``` + +When `getMetrics` is first called with `data`, `getMetrics` will call `calculateMetrics(data)` and store the result in cache. If `getMetrics` is called again with the same `data`, it will return the cached result instead of calling `calculateMetrics(data)` again. + +[See more examples below.](#usage) + +#### Parameters {/*parameters*/} + +- `fn`: The function you want to cache results for. `fn` can take any arguments and return any value. + +#### Returns {/*returns*/} + +`cache` returns a cached version of `fn` with the same type signature. It does not call `fn` in the process. + +When calling `cachedFn` with given arguments, it first checks if a cached result exists in the cache. If a cached result exists, it returns the result. If not, it calls `fn` with the arguments, stores the result in the cache, and returns the result. The only time `fn` is called is when there is a cache miss. + +<Note> + +The optimization of caching return values based on inputs is known as [_memoization_](https://en.wikipedia.org/wiki/Memoization). We refer to the function returned from `cache` as a memoized function. + +</Note> + +#### Caveats {/*caveats*/} + +[//]: # 'TODO: add links to Server/Client Component reference once https://github.com/reactjs/react.dev/pull/6177 is merged' + +- React will invalidate the cache for all memoized functions for each server request. +- Each call to `cache` creates a new function. This means that calling `cache` with the same function multiple times will return different memoized functions that do not share the same cache. +- `cachedFn` will also cache errors. If `fn` throws an error for certain arguments, it will be cached, and the same error is re-thrown when `cachedFn` is called with those same arguments. +- `cache` is for use in [Server Components](https://react.dev/blog/2023/03/22/react-labs-what-we-have-been-working-on-march-2023#react-server-components) only. + +--- + +## Usage {/*usage*/} + +### Cache an expensive computation {/*cache-expensive-computation*/} + +Use `cache` to skip duplicate work. + +```js [[1, 7, "getUserMetrics(user)"],[2, 13, "getUserMetrics(user)"]] +import {cache} from 'react'; +import calculateUserMetrics from 'lib/user'; + +const getUserMetrics = cache(calculateUserMetrics); + +function Profile({user}) { + const metrics = getUserMetrics(user); + // ... +} + +function TeamReport({users}) { + for (let user in users) { + const metrics = getUserMetrics(user); + // ... + } + // ... +} +``` + +If the same `user` object is rendered in both `Profile` and `TeamReport`, the two components can share work and only call `calculateUserMetrics` once for that `user`. + +Assume `Profile` is rendered first. It will call <CodeStep step={1}>`getUserMetrics`</CodeStep>, and check if there is a cached result. Since it is the first time `getUserMetrics` is called with that `user`, there will be a cache miss. `getUserMetrics` will then call `calculateUserMetrics` with that `user` and write the result to cache. + +When `TeamReport` renders its list of `users` and reaches the same `user` object, it will call <CodeStep step={2}>`getUserMetrics`</CodeStep> and read the result from cache. + +<Pitfall> + +##### Calling different memoized functions will read from different caches. {/*pitfall-different-memoized-functions*/} + +To access the same cache, components must call the same memoized function. + +```js [[1, 7, "getWeekReport"], [1, 7, "cache(calculateWeekReport)"], [1, 8, "getWeekReport"]] +// Temperature.js +import {cache} from 'react'; +import {calculateWeekReport} from './report'; + +export function Temperature({cityData}) { + // 🚩 Wrong: Calling `cache` in component creates new `getWeekReport` for each render + const getWeekReport = cache(calculateWeekReport); + const report = getWeekReport(cityData); + // ... +} +``` + +```js [[2, 6, "getWeekReport"], [2, 6, "cache(calculateWeekReport)"], [2, 9, "getWeekReport"]] +// Precipitation.js +import {cache} from 'react'; +import {calculateWeekReport} from './report'; + +// 🚩 Wrong: `getWeekReport` is only accessible for `Precipitation` component. +const getWeekReport = cache(calculateWeekReport); + +export function Precipitation({cityData}) { + const report = getWeekReport(cityData); + // ... +} +``` + +In the above example, <CodeStep step={2}>`Precipitation`</CodeStep> and <CodeStep step={1}>`Temperature`</CodeStep> each call `cache` to create a new memoized function with their own cache look-up. If both components render for the same `cityData`, they will do duplicate work to call `calculateWeekReport`. + +In addition, `Temperature` creates a <CodeStep step={1}>new memoized function</CodeStep> each time the component is rendered which doesn't allow for any cache sharing. + +To maximize cache hits and reduce work, the two components should call the same memoized function to access the same cache. Instead, define the memoized function in a dedicated module that can be [`import`-ed](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import) across components. + +```js [[3, 5, "export default cache(calculateWeekReport)"]] +// getWeekReport.js +import {cache} from 'react'; +import {calculateWeekReport} from './report'; + +export default cache(calculateWeekReport); +``` + +```js [[3, 2, "getWeekReport", 0], [3, 5, "getWeekReport"]] +// Temperature.js +import getWeekReport from './getWeekReport'; + +export default function Temperature({cityData}) { + const report = getWeekReport(cityData); + // ... +} +``` + +```js [[3, 2, "getWeekReport", 0], [3, 5, "getWeekReport"]] +// Precipitation.js +import getWeekReport from './getWeekReport'; + +export default function Precipitation({cityData}) { + const report = getWeekReport(cityData); + // ... +} +``` +Here, both components call the <CodeStep step={3}>same memoized function</CodeStep> exported from `./getWeekReport.js` to read and write to the same cache. +</Pitfall> + +### Share a snapshot of data {/*take-and-share-snapshot-of-data*/} + +To share a snapshot of data between components, call `cache` with a data-fetching function like `fetch`. When multiple components make the same data fetch, only one request is made and the data returned is cached and shared across components. All components refer to the same snapshot of data across the server render. + +```js [[1, 4, "city"], [1, 5, "fetchTemperature(city)"], [2, 4, "getTemperature"], [2, 9, "getTemperature"], [1, 9, "city"], [2, 14, "getTemperature"], [1, 14, "city"]] +import {cache} from 'react'; +import {fetchTemperature} from './api.js'; + +const getTemperature = cache(async (city) => { + return await fetchTemperature(city); +}); + +async function AnimatedWeatherCard({city}) { + const temperature = await getTemperature(city); + // ... +} + +async function MinimalWeatherCard({city}) { + const temperature = await getTemperature(city); + // ... +} +``` + +If `AnimatedWeatherCard` and `MinimalWeatherCard` both render for the same <CodeStep step={1}>city</CodeStep>, they will receive the same snapshot of data from the <CodeStep step={2}>memoized function</CodeStep>. + +If `AnimatedWeatherCard` and `MinimalWeatherCard` supply different <CodeStep step={1}>city</CodeStep> arguments to <CodeStep step={2}>`getTemperature`</CodeStep>, then `fetchTemperature` will be called twice and each call site will receive different data. + +The <CodeStep step={1}>city</CodeStep> acts as a cache key. + +<Note> + +[//]: # 'TODO: add links to Server Components when merged.' + +<CodeStep step={3}>Asynchronous rendering</CodeStep> is only supported for Server Components. + +```js [[3, 1, "async"], [3, 2, "await"]] +async function AnimatedWeatherCard({city}) { + const temperature = await getTemperature(city); + // ... +} +``` +[//]: # 'TODO: add link and mention to use documentation when merged' +[//]: # 'To render components that use asynchronous data in Client Components, see `use` documentation.' + +</Note> + +### Preload data {/*preload-data*/} + +By caching a long-running data fetch, you can kick off asynchronous work prior to rendering the component. + +```jsx [[2, 6, "await getUser(id)"], [1, 17, "getUser(id)"]] +const getUser = cache(async (id) => { + return await db.user.query(id); +} + +async function Profile({id}) { + const user = await getUser(id); + return ( + <section> + <img src={user.profilePic} /> + <h2>{user.name}</h2> + </section> + ); +} + +function Page({id}) { + // ✅ Good: start fetching the user data + getUser(id); + // ... some computational work + return ( + <> + <Profile id={id} /> + </> + ); +} +``` + +When rendering `Page`, the component calls <CodeStep step={1}>`getUser`</CodeStep> but note that it doesn't use the returned data. This early <CodeStep step={1}>`getUser`</CodeStep> call kicks off the asynchronous database query that occurs while `Page` is doing other computational work and rendering children. + +When rendering `Profile`, we call <CodeStep step={2}>`getUser`</CodeStep> again. If the initial <CodeStep step={1}>`getUser`</CodeStep> call has already returned and cached the user data, when when `Profile` <CodeStep step={2}>asks and waits for this data</CodeStep>, it can simply read from the cache without requiring another remote procedure call. If the <CodeStep step={1}> initial data request</CodeStep> hasn't been completed, preloading data in this pattern reduces delay in data-fetching. + +<DeepDive> + +#### Caching asynchronous work {/*caching-asynchronous-work*/} + +When evaluating an [asynchronous function](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/async_function), you will receive a [Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) for that work. The promise holds the state of that work (_pending_, _fulfilled_, _failed_) and its eventual settled result. + +In this example, the asynchronous function <CodeStep step={1}>`fetchData`</CodeStep> returns a promise that is awaiting the `fetch`. + +```js [[1, 1, "fetchData()"], [2, 8, "getData()"], [3, 10, "getData()"]] +async function fetchData() { + return await fetch(`https://...`); +} + +const getData = cache(fetchData); + +async function MyComponent() { + getData(); + // ... some computational work + await getData(); + // ... +} +``` + +In calling <CodeStep step={2}>`getData`</CodeStep> the first time, the promise returned from <CodeStep step={1}>`fetchData`</CodeStep> is cached. Subsequent look-ups will then return the same promise. + +Notice that the first <CodeStep step={2}>`getData`</CodeStep> call does not `await` whereas the <CodeStep step={3}>second</CodeStep> does. [`await`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/await) is a JavaScript operator that will wait and return the settled result of the promise. The first <CodeStep step={2}>`getData`</CodeStep> call simply initiates the `fetch` to cache the promise for the second <CodeStep step={3}>`getData`</CodeStep> to look-up. + +If by the <CodeStep step={3}>second call</CodeStep> the promise is still _pending_, then `await` will pause for the result. The optimization is that while we wait on the `fetch`, React can continue with computational work, thus reducing the wait time for the <CodeStep step={3}>second call</CodeStep>. + +If the promise is already settled, either to an error or the _fulfilled_ result, `await` will return that value immediately. In both outcomes, there is a performance benefit. +</DeepDive> + +<Pitfall> + +##### Calling a memoized function outside of a component will not use the cache. {/*pitfall-memoized-call-outside-component*/} + +```jsx [[1, 3, "getUser"]] +import {cache} from 'react'; + +const getUser = cache(async (userId) => { + return await db.user.query(userId); +}); + +// 🚩 Wrong: Calling memoized function outside of component will not memoize. +getUser('demo-id'); + +async function DemoProfile() { + // ✅ Good: `getUser` will memoize. + const user = await getUser('demo-id'); + return <Profile user={user} />; +} +``` + +React only provides cache access to the memoized function in a component. When calling <CodeStep step={1}>`getUser`</CodeStep> outside of a component, it will still evaluate the function but not read or update the cache. + +This is because cache access is provided through a [context](/learn/passing-data-deeply-with-context) which is only accessibile from a component. + +</Pitfall> + +<DeepDive> + +#### When should I use `cache`, [`memo`](/reference/react/memo), or [`useMemo`](/reference/react/useMemo)? {/*cache-memo-usememo*/} + +All mentioned APIs offer memoization but the difference is what they're intended to memoize, who can access the cache, and when their cache is invalidated. + +#### `useMemo` {/*deep-dive-use-memo*/} + +In general, you should use [`useMemo`](/reference/react/useMemo) for caching a expensive computation in a Client Component across renders. As an example, to memoize a transformation of data within a component. + +```jsx {4} +'use client'; + +function WeatherReport({record}) { + const avgTemp = useMemo(() => calculateAvg(record)), record); + // ... +} + +function App() { + const record = getRecord(); + return ( + <> + <WeatherReport record={record} /> + <WeatherReport record={record} /> + </> + ); +} +``` +In this example, `App` renders two `WeatherReport`s with the same record. Even though both components do the same work, they cannot share work. `useMemo`'s cache is only local to the component. + +However, `useMemo` does ensure that if `App` re-renders and the `record` object doesn't change, each component instance would skip work and use the memoized value of `avgTemp`. `useMemo` will only cache the last computation of `avgTemp` with the given dependencies. + +#### `cache` {/*deep-dive-cache*/} + +In general, you should use `cache` in Server Components to memoize work that can be shared across components. + +```js [[1, 12, "<WeatherReport city={city} />"], [3, 13, "<WeatherReport city={city} />"], [2, 1, "cache(fetchReport)"]] +const cachedFetchReport = cache(fetchReport); + +function WeatherReport({city}) { + const report = cachedFetchReport(city); + // ... +} + +function App() { + const city = "Los Angeles"; + return ( + <> + <WeatherReport city={city} /> + <WeatherReport city={city} /> + </> + ); +} +``` +Re-writing the previous example to use `cache`, in this case the <CodeStep step={3}>second instance of `WeatherReport`</CodeStep> will be able to skip duplicate work and read from the same cache as the <CodeStep step={1}>first `WeatherReport`</CodeStep>. Another difference from the previous example is that `cache` is also recommended for <CodeStep step={2}>memoizing data fetches</CodeStep>, unlike `useMemo` which should only be used for computations. + +At this time, `cache` should only be used in Server Components and the cache will be invalidated across server requests. + +#### `memo` {/*deep-dive-memo*/} + +You should use [`memo`](reference/react/memo) to prevent a component re-rendering if its props are unchanged. + +```js +'use client'; + +function WeatherReport({record}) { + const avgTemp = calculateAvg(record); + // ... +} + +const MemoWeatherReport = memo(WeatherReport); + +function App() { + const record = getRecord(); + return ( + <> + <MemoWeatherReport record={record} /> + <MemoWeatherReport record={record} /> + </> + ); +} +``` + +In this example, both `MemoWeatherReport` components will call `calculateAvg` when first rendered. However, if `App` re-renders, with no changes to `record`, none of the props have changed and `MemoWeatherReport` will not re-render. + +Compared to `useMemo`, `memo` memoizes the component render based on props vs. specific computations. Similar to `useMemo`, the memoized component only caches the last render with the last prop values. Once the props change, the cache invalidates and the component re-renders. + +</DeepDive> + +--- + +## Troubleshooting {/*troubleshooting*/} + +### My memoized function still runs even though I've called it with the same arguments {/*memoized-function-still-runs*/} + +See prior mentioned pitfalls +* [Calling different memoized functions will read from different caches.](#pitfall-different-memoized-functions) +* [Calling a memoized function outside of a component will not use the cache.](#pitfall-memoized-call-outside-component) + +If none of the above apply, it may be a problem with how React checks if something exists in cache. + +If your arguments are not [primatives](https://developer.mozilla.org/en-US/docs/Glossary/Primitive) (ex. objects, functions, arrays), ensure you're passing the same object reference. + +When calling a memoized function, React will look up the input arguments to see if a result is already cached. React will use shallow equality of the arguments to determine if there is a cache hit. + +```js +import {cache} from 'react'; + +const calculateNorm = cache((vector) => { + // ... +}); + +function MapMarker(props) { + // 🚩 Wrong: props is an object that changes every render. + const length = calculateNorm(props); + // ... +} + +function App() { + return ( + <> + <MapMarker x={10} y={10} z={10} /> + <MapMarker x={10} y={10} z={10} /> + </> + ); +} +``` + +In this case the two `MapMarker`s look like they're doing the same work and calling `calculateNorm` with the same value of `{x: 10, y: 10, z:10}`. Even though the objects contain the same values, they are not the same object reference as each component creates its own `props` object. + +React will call [`Object.is`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is) on the input to verify if there is a cache hit. + +```js {3,9} +import {cache} from 'react'; + +const calculateNorm = cache((x, y, z) => { + // ... +}); + +function MapMarker(props) { + // ✅ Good: Pass primitives to memoized function + const length = calculateNorm(props.x, props.y, props.z); + // ... +} + +function App() { + return ( + <> + <MapMarker x={10} y={10} z={10} /> + <MapMarker x={10} y={10} z={10} /> + </> + ); +} +``` + +One way to address this could be to pass the vector dimensions to `calculateNorm`. This works because the dimensions themselves are primitives. + +Another solution may be to pass the vector object itself as a prop to the component. We'll need to pass the same object to both component instances. + +```js {3,9,14} +import {cache} from 'react'; + +const calculateNorm = cache((vector) => { + // ... +}); + +function MapMarker(props) { + // ✅ Good: Pass the same `vector` object + const length = calculateNorm(props.vector); + // ... +} + +function App() { + const vector = [10, 10, 10]; + return ( + <> + <MapMarker vector={vector} /> + <MapMarker vector={vector} /> + </> + ); +} +``` + diff --git a/src/sidebarReference.json b/src/sidebarReference.json index 04a52357..3251873c 100644 --- a/src/sidebarReference.json +++ b/src/sidebarReference.json @@ -98,6 +98,11 @@ "title": "APIs", "path": "/reference/react/apis", "routes": [ + { + "title": "cache", + "path": "/reference/react/cache", + "canary": true + }, { "title": "createContext", "path": "/reference/react/createContext" From 9e144cdd5a419671fe0912d0678e490cce9062f0 Mon Sep 17 00:00:00 2001 From: Aleksandar15 <58865226+Aleksandar15@users.noreply.github.com> Date: Wed, 6 Sep 2023 23:07:02 +0200 Subject: [PATCH 038/382] Fix typo in preserving-and-resetting-state.md (#6194) --- src/content/learn/preserving-and-resetting-state.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/learn/preserving-and-resetting-state.md b/src/content/learn/preserving-and-resetting-state.md index 21468859..1c9c341f 100644 --- a/src/content/learn/preserving-and-resetting-state.md +++ b/src/content/learn/preserving-and-resetting-state.md @@ -935,7 +935,7 @@ Clicking "next" again </DiagramGroup> -Each `Counter`'s state gets destroyed each time its removed from the DOM. This is why they reset every time you click the button. +Each `Counter`'s state gets destroyed each time it's removed from the DOM. This is why they reset every time you click the button. This solution is convenient when you only have a few independent components rendered in the same place. In this example, you only have two, so it's not a hassle to render both separately in the JSX. From ee98f75cf191820c08df7e039406407b820a8353 Mon Sep 17 00:00:00 2001 From: ramadevsign <50571688+orama254@users.noreply.github.com> Date: Thu, 7 Sep 2023 00:12:29 +0300 Subject: [PATCH 039/382] add rendercon kenya 2023 to conferences (#6133) --- src/content/community/conferences.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/content/community/conferences.md b/src/content/community/conferences.md index 6e85bd6f..2f67c475 100644 --- a/src/content/community/conferences.md +++ b/src/content/community/conferences.md @@ -30,6 +30,10 @@ September 7 & 8, 2023. Wrocław, Poland [Website](https://react-native.eu) - [Twitter](https://twitter.com/react_native_eu) - [Facebook](https://www.facebook.com/reactnativeeu) +### RenderCon Kenya 2023 {/*rendercon-kenya-2023*/} +September 29 - 30, 2023. Nairobi, Kenya + +[Website](https://rendercon.org/) - [Twitter](https://twitter.com/renderconke) - [LinkedIn](https://www.linkedin.com/company/renderconke/) - [YouTube](https://www.youtube.com/channel/UC0bCcG8gHUL4njDOpQGcMIA) ### React India 2023 {/*react-india-2023*/} October 5 - 7, 2023. In-person in Goa, India (hybrid event) + Oct 3 2023 - remote day @@ -547,7 +551,7 @@ August 18 in Guangzhou, China [Website](https://react.w3ctech.com) -### React Rally 2018{/*react-rally-2018*/} +### React Rally 2018 {/*react-rally-2018*/} August 16-17 in Salt Lake City, Utah USA [Website](http://www.reactrally.com) - [Twitter](https://twitter.com/reactrally) From 20ccdf9291986e7c45341f22758f7d2f9c3667a6 Mon Sep 17 00:00:00 2001 From: Sophie Alpert <git@sophiebits.com> Date: Thu, 7 Sep 2023 11:38:21 -0700 Subject: [PATCH 040/382] Update lazy.md to mention default exports (#6285) React.lazy dots into the `default` property. Document this. --- src/content/reference/react/lazy.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/content/reference/react/lazy.md b/src/content/reference/react/lazy.md index ba82d4fe..e6dcf877 100644 --- a/src/content/reference/react/lazy.md +++ b/src/content/reference/react/lazy.md @@ -32,7 +32,7 @@ const MarkdownPreview = lazy(() => import('./MarkdownPreview.js')); #### Parameters {/*parameters*/} -* `load`: A function that returns a [Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) or another *thenable* (a Promise-like object with a `then` method). React will not call `load` until the first time you attempt to render the returned component. After React first calls `load`, it will wait for it to resolve, and then render the resolved value as a React component. Both the returned Promise and the Promise's resolved value will be cached, so React will not call `load` more than once. If the Promise rejects, React will `throw` the rejection reason for the nearest Error Boundary to handle. +* `load`: A function that returns a [Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) or another *thenable* (a Promise-like object with a `then` method). React will not call `load` until the first time you attempt to render the returned component. After React first calls `load`, it will wait for it to resolve, and then render the resolved value's `.default` as a React component. Both the returned Promise and the Promise's resolved value will be cached, so React will not call `load` more than once. If the Promise rejects, React will `throw` the rejection reason for the nearest Error Boundary to handle. #### Returns {/*returns*/} @@ -48,7 +48,7 @@ const MarkdownPreview = lazy(() => import('./MarkdownPreview.js')); #### Returns {/*load-returns*/} -You need to return a [Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) or some other *thenable* (a Promise-like object with a `then` method). It needs to eventually resolve to a valid React component type, such as a function, [`memo`](/reference/react/memo), or a [`forwardRef`](/reference/react/forwardRef) component. +You need to return a [Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) or some other *thenable* (a Promise-like object with a `then` method). It needs to eventually resolve to an object whose `.default` property is a valid React component type, such as a function, [`memo`](/reference/react/memo), or a [`forwardRef`](/reference/react/forwardRef) component. --- @@ -70,7 +70,7 @@ import { lazy } from 'react'; const MarkdownPreview = lazy(() => import('./MarkdownPreview.js')); ``` -This code relies on [dynamic `import()`,](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/import) which might require support from your bundler or framework. +This code relies on [dynamic `import()`,](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/import) which might require support from your bundler or framework. Using this pattern requires that the lazy component you're importing was exported as the `default` export. Now that your component's code loads on demand, you also need to specify what should be displayed while it is loading. You can do this by wrapping the lazy component or any of its parents into a [`<Suspense>`](/reference/react/Suspense) boundary: From 46e7b2c6870dc1d39ccce5ea926d2f49b37084d1 Mon Sep 17 00:00:00 2001 From: Drew Nollsch <drew.nollsch@gmail.com> Date: Fri, 8 Sep 2023 18:01:17 +0200 Subject: [PATCH 041/382] Fixes error in cloneElement code example (#6291) --- src/content/reference/react/cloneElement.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/reference/react/cloneElement.md b/src/content/reference/react/cloneElement.md index d6ef84b0..9cae7238 100644 --- a/src/content/reference/react/cloneElement.md +++ b/src/content/reference/react/cloneElement.md @@ -40,7 +40,7 @@ const clonedElement = cloneElement( 'Goodbye' ); -console.log(clonedElement); // <Row title="Cabbage">Goodbye</Row> +console.log(clonedElement); // <Row title="Cabbage" isHighlighted={true}>Goodbye</Row> ``` [See more examples below.](#usage) From 742d2bff8f30effb905cc4a0fc972741c8ff1960 Mon Sep 17 00:00:00 2001 From: Matt Carroll <7158882+mattcarrollcode@users.noreply.github.com> Date: Fri, 8 Sep 2023 10:33:16 -0700 Subject: [PATCH 042/382] Add use hook API reference page (#6177) * [WIP] Add use hook API reference page * [WIP] Update use hook API reference page based on feedback * [WIP] use hook API ref doc: add browser API example * [WIP] use hook API ref doc: add context, lib examples * [WIP] use reference doc - incorporate all current feedback * [WIP] use reference page fix typos * use reference doc: address PR feedback from Luna, Sophia,Eli, and Lee * Apply @harish-sethuraman's typo fixes from code review Co-authored-by: Strek <ssharishkumar@gmail.com> * use reference doc typo fixes * use reference doc: update style to match other react.dev conventions * minor fixes * Remove client Promises, use canary labels * Add use hook section to index, remove RSC section on components page * Final edits * Clarify use reference caveats --------- Co-authored-by: Strek <ssharishkumar@gmail.com> --- src/content/reference/react/index.md | 18 + src/content/reference/react/use.md | 496 +++++++++++++++++++++++++++ src/sidebarReference.json | 5 + 3 files changed, 519 insertions(+) create mode 100644 src/content/reference/react/use.md diff --git a/src/content/reference/react/index.md b/src/content/reference/react/index.md index 650a1c38..cec71ce8 100644 --- a/src/content/reference/react/index.md +++ b/src/content/reference/react/index.md @@ -106,6 +106,24 @@ To prioritize rendering, use one of these Hooks: --- +## Resource Hooks {/*resource-hooks*/} + +*Resources* can be accessed by a component without having them as part of their state. For example, a component can read a message from a Promise or read styling information from a context. + +To read a value from a resource, use this Hook: + +- [`use`](/reference/react/use) lets you read the value of a resource like a [Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) or [context](/learn/passing-data-deeply-with-context). + +```js +function MessageComponent({ messagePromise }) { + const message = use(messagePromise); + const theme = use(ThemeContext); + // ... +} +``` + +--- + ## Other Hooks {/*other-hooks*/} These Hooks are mostly useful to library authors and aren't commonly used in the application code. diff --git a/src/content/reference/react/use.md b/src/content/reference/react/use.md new file mode 100644 index 00000000..8e1a8f21 --- /dev/null +++ b/src/content/reference/react/use.md @@ -0,0 +1,496 @@ +--- +title: use +canary: true +--- + +<Canary> + +The `use` Hook is currently only available in React's canary and experimental channels. Learn more about [React's release channels here](/community/versioning-policy#all-release-channels). + +</Canary> + +<Intro> + +`use` is a React Hook that lets you read the value of a resource like a [Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) or [context](/learn/passing-data-deeply-with-context). + +```js +const value = use(resource); +``` + +</Intro> + +<InlineToc /> + +--- + +## Reference {/*reference*/} + +### `use(resource)` {/*use*/} + +Call `use` in your component to read the value of a resource like a [Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) or [context](/learn/passing-data-deeply-with-context). + +```jsx +import { use } from 'react'; + +function MessageComponent({ messagePromise }) { + const message = use(messagePromise); + const theme = use(ThemeContext); + // ... +``` + +Unlike all other React Hooks, `use` can be called within loops and conditional statements like `if`. Like other React Hooks, the function that calls `use` must be a Component or Hook. + +When called with a Promise, the `use` Hook integrates with [`Suspense`](/reference/react/Suspense) and [error boundaries](/reference/react/Component#catching-rendering-errors-with-an-error-boundary). The component calling `use` *suspends* while the Promise passed to `use` is pending. If the component that calls `use` is wrapped in a Suspense boundary, the fallback will be displayed. Once the Promise is resolved, the Suspense fallback is replaced by the rendered components using the data returned by the `use` Hook. If the Promise passed to `use` is rejected, the fallback of the nearest Error Boundary will be displayed. + +[See more examples below.](#usage) + +#### Parameters {/*parameters*/} + +* `resource`: this is the source of the data you want to read a value from. A resource can be a [Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) or a [context](/learn/passing-data-deeply-with-context). + +#### Returns {/*returns*/} + +The `use` Hook returns the value that was read from the resource like the resolved value of a [Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) or [context](/learn/passing-data-deeply-with-context). + +#### Caveats {/*caveats*/} + +* The `use` Hook must be called inside a Component or a Hook. +* When fetching data in a [Server Component](/reference/react/use-server), prefer `async` and `await` over `use`. `async` and `await` pick up rendering from the point where `await` was invoked, whereas `use` re-renders the component after the data is resolved. +* Prefer creating Promises in [Server Components](/reference/react/use-server) and passing them to [Client Components](/reference/react/use-client) over creating Promises in Client Components. Promises created in Client Components are recreated on every render. Promises passed from a Server Component to a Client Component are stable across re-renders. [See this example](#streaming-data-from-server-to-client). + +--- + +## Usage {/*usage*/} + +### Reading context with `use` {/*reading-context-with-use*/} + +When a [context](/learn/passing-data-deeply-with-context) is passed to `use`, it works similarly to [`useContext`](/reference/react/useContext). While `useContext` must be called at the top level of your component, `use` can be called inside conditionals like `if` and loops like `for`. `use` is preferred over `useContext` because it is more flexible. + +```js [[2, 4, "theme"], [1, 4, "ThemeContext"]] +import { use } from 'react'; + +function Button() { + const theme = use(ThemeContext); + // ... +``` + +`use` returns the <CodeStep step={2}>context value</CodeStep> for the <CodeStep step={1}>context</CodeStep> you passed. To determine the context value, React searches the component tree and finds **the closest context provider above** for that particular context. + +To pass context to a `Button`, wrap it or one of its parent components into the corresponding context provider. + +```js [[1, 3, "ThemeContext"], [2, 3, "\\"dark\\""], [1, 5, "ThemeContext"]] +function MyPage() { + return ( + <ThemeContext.Provider value="dark"> + <Form /> + </ThemeContext.Provider> + ); +} + +function Form() { + // ... renders buttons inside ... +} +``` + +It doesn't matter how many layers of components there are between the provider and the `Button`. When a `Button` *anywhere* inside of `Form` calls `use(ThemeContext)`, it will receive `"dark"` as the value. + +Unlike [`useContext`](/reference/react/useContext), <CodeStep step={2}>`use`</CodeStep> can be called in conditionals and loops like <CodeStep step={1}>`if`</CodeStep>. + +```js [[1, 2, "if"], [2, 3, "use"]] +function HorizontalRule({ show }) { + if (show) { + const theme = use(ThemeContext); + return <hr className={theme} />; + } + return false; +} +``` + +<CodeStep step={2}>`use`</CodeStep> is called from inside a <CodeStep step={1}>`if`</CodeStep> statement, allowing you to conditionally read values from a Context. + +<Pitfall> + +Like `useContext`, `use(context)` always looks for the closest context provider *above* the component that calls it. It searches upwards and **does not** consider context providers in the component from which you're calling `use(context)`. + +</Pitfall> + +<Sandpack> + +```js +import { createContext, use } from 'react'; + +const ThemeContext = createContext(null); + +export default function MyApp() { + return ( + <ThemeContext.Provider value="dark"> + <Form /> + </ThemeContext.Provider> + ) +} + +function Form() { + return ( + <Panel title="Welcome"> + <Button show={true}>Sign up</Button> + <Button show={false}>Log in</Button> + </Panel> + ); +} + +function Panel({ title, children }) { + const theme = use(ThemeContext); + const className = 'panel-' + theme; + return ( + <section className={className}> + <h1>{title}</h1> + {children} + </section> + ) +} + +function Button({ show, children }) { + if (show) { + const theme = use(ThemeContext); + const className = 'button-' + theme; + return ( + <button className={className}> + {children} + </button> + ); + } + return false +} +``` + +```css +.panel-light, +.panel-dark { + border: 1px solid black; + border-radius: 4px; + padding: 20px; +} +.panel-light { + color: #222; + background: #fff; +} + +.panel-dark { + color: #fff; + background: rgb(23, 32, 42); +} + +.button-light, +.button-dark { + border: 1px solid #777; + padding: 5px; + margin-right: 10px; + margin-top: 10px; +} + +.button-dark { + background: #222; + color: #fff; +} + +.button-light { + background: #fff; + color: #222; +} +``` + +```json package.json hidden +{ + "dependencies": { + "react": "18.3.0-canary-9377e1010-20230712", + "react-dom": "18.3.0-canary-9377e1010-20230712", + "react-scripts": "^5.0.0" + }, + "main": "/index.js" +} +``` + +</Sandpack> + +### Streaming data from the server to the client {/*streaming-data-from-server-to-client*/} + +Data can be streamed from the server to the client by passing a Promise as a prop from a <CodeStep step={1}>Server Component</CodeStep> to a <CodeStep step={2}>Client Component</CodeStep>. + +```js [[1, 4, "App"], [2, 2, "Message"], [3, 7, "Suspense"], [4, 8, "messagePromise", 30], [4, 5, "messagePromise"]] +import { fetchMessage } from './lib.js'; +import { Message } from './message.js'; + +export default function App() { + const messagePromise = fetchMessage(); + return ( + <Suspense fallback={<p>waiting for message...</p>}> + <Message messagePromise={messagePromise} /> + </Suspense> + ); +} +``` + +The <CodeStep step={2}>Client Component</CodeStep> then takes <CodeStep step={4}>the Promise it received as a prop</CodeStep> and passes it to the <CodeStep step={5}>`use`</CodeStep> Hook. This allows the <CodeStep step={2}>Client Component</CodeStep> to read the value from <CodeStep step={4}>the Promise</CodeStep> that was initially created by the Server Component. + +```js [[2, 6, "Message"], [4, 6, "messagePromise"], [4, 7, "messagePromise"], [5, 7, "use"]] +// message.js +'use client'; + +import { use } from 'react'; + +export function Message({ messagePromise }) { + const messageContent = use(messagePromise); + return <p>Here is the message: {messageContent}</p>; +} +``` +Because <CodeStep step={2}>`Message`</CodeStep> is wrapped in <CodeStep step={3}>[`Suspense`](/reference/react/Suspense)</CodeStep>, the fallback will be displayed until the Promise is resolved. When the Promise is resolved, the value will be read by the <CodeStep step={5}>`use`</CodeStep> Hook and the <CodeStep step={2}>`Message`</CodeStep> component will replace the Suspense fallback. + +<Sandpack> + +```js message.js active +"use client"; + +import { use, Suspense } from "react"; + +function Message({ messagePromise }) { + const messageContent = use(messagePromise); + return <p>Here is the message: {messageContent}</p>; +} + +export function MessageContainer({ messagePromise }) { + return ( + <Suspense fallback={<p>⌛Downloading message...</p>}> + <Message messagePromise={messagePromise} /> + </Suspense> + ); +} +``` + +```js App.js hidden +import { useState } from "react"; +import { MessageContainer } from "./message.js"; + +function fetchMessage() { + return new Promise((resolve) => setTimeout(resolve, 1000, "⚛️")); +} + +export default function App() { + const [messagePromise, setMessagePromise] = useState(null); + const [show, setShow] = useState(false); + function download() { + setMessagePromise(fetchMessage()); + setShow(true); + } + + if (show) { + return <MessageContainer messagePromise={messagePromise} />; + } else { + return <button onClick={download}>Download message</button>; + } +} +``` + +```js index.js hidden +// TODO: update to import from stable +// react instead of canary once the `use` +// Hook is in a stable release of React +import React, { StrictMode } from 'react'; +import { createRoot } from 'react-dom/client'; +import './styles.css'; + +// TODO: update this example to use +// the Codesandbox Server Component +// demo environment once it is created +import App from './App'; + +const root = createRoot(document.getElementById('root')); +root.render( + <StrictMode> + <App /> + </StrictMode> +); +``` + +```json package.json hidden +{ + "dependencies": { + "react": "18.3.0-canary-9377e1010-20230712", + "react-dom": "18.3.0-canary-9377e1010-20230712", + "react-scripts": "^5.0.0" + }, + "main": "/index.js" +} +``` +</Sandpack> + +<Note> + +When passing a Promise from a Server Component to a Client Component, its resolved value must be serializable to pass between server and client. Data types like functions aren't serializable and cannot be the resolved value of such a Promise. + +</Note> + + +<DeepDive> + +#### Should I resolve a Promise in a Server or Client Component? {/*resolve-promise-in-server-or-client-component*/} + +A Promise can be passed from a Server Component to a Client Component and resolved in the Client component with the `use` Hook. You can also resolve the Promise in a Server Component with `await` and pass the required data to the Client Component as a prop. + +```js +export default function App() { + const messageContent = await fetchMessage(); + return <Message messageContent={messageContent} /> +} +``` + +But using `await` in a [Server Component](/reference/react/components#server-components) will block its rendering until the `await` statement is finished. Passing a Promise from a Server Component to a Client Component prevents the Promise from blocking the rendering of the Server Component. + +</DeepDive> + +### Dealing with rejected Promises {/*dealing-with-rejected-promises*/} + +In some cases a Promise passed to `use` could be rejected. You can handle rejected Promises by either: + +1. [Displaying an error to users with error boundary.](#displaying-an-error-to-users-with-error-boundary) +2. [Providing an alternative value with `Promise.catch`](#providing-an-alternative-value-with-promise-catch) + +<Pitfall> +`use` cannot be called in a try-catch block. Instead of a try-catch block [wrap your component in an Error Boundary](#displaying-an-error-to-users-with-error-boundary), or [provide an alternative value to use with the Promise's `.catch` method](#providing-an-alternative-value-with-promise-catch). +</Pitfall> + +#### Displaying an error to users with a error boundary {/*displaying-an-error-to-users-with-error-boundary*/} + +If you'd like to display an error to your users when a Promise is rejected, you can use an [error boundary](/reference/react/Component#catching-rendering-errors-with-an-error-boundary). To use an error boundary, wrap the component where you are calling the `use` Hook in an error boundary. If the Promise passed to `use` is rejected the fallback for the error boundary will be displayed. + +<Sandpack> + +```js message.js active +"use client"; + +import { use, Suspense } from "react"; +import { ErrorBoundary } from "react-error-boundary"; + +export function MessageContainer({ messagePromise }) { + return ( + <ErrorBoundary fallback={<p>⚠️Something went wrong</p>}> + <Suspense fallback={<p>⌛Downloading message...</p>}> + <Message messagePromise={messagePromise} /> + </Suspense> + </ErrorBoundary> + ); +} + +function Message({ messagePromise }) { + const content = use(messagePromise); + return <p>Here is the message: {content}</p>; +} +``` + +```js App.js hidden +import { useState } from "react"; +import { MessageContainer } from "./message.js"; + +function fetchMessage() { + return new Promise((resolve, reject) => setTimeout(reject, 1000)); +} + +export default function App() { + const [messagePromise, setMessagePromise] = useState(null); + const [show, setShow] = useState(false); + function download() { + setMessagePromise(fetchMessage()); + setShow(true); + } + + if (show) { + return <MessageContainer messagePromise={messagePromise} />; + } else { + return <button onClick={download}>Download message</button>; + } +} +``` + +```js index.js hidden +// TODO: update to import from stable +// react instead of canary once the `use` +// Hook is in a stable release of React +import React, { StrictMode } from 'react'; +import { createRoot } from 'react-dom/client'; +import './styles.css'; + +// TODO: update this example to use +// the Codesandbox Server Component +// demo environment once it is created +import App from './App'; + +const root = createRoot(document.getElementById('root')); +root.render( + <StrictMode> + <App /> + </StrictMode> +); +``` + +```json package.json hidden +{ + "dependencies": { + "react": "18.3.0-canary-9377e1010-20230712", + "react-dom": "18.3.0-canary-9377e1010-20230712", + "react-scripts": "^5.0.0", + "react-error-boundary": "4.0.3" + }, + "main": "/index.js" +} +``` +</Sandpack> + +#### Providing an alternative value with `Promise.catch` {/*providing-an-alternative-value-with-promise-catch*/} + +If you'd like to provide an alternative value when the Promise passed to `use` is rejected you can use the Promise's <CodeStep step={1}>[`catch`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/catch)</CodeStep> method. + +```js [[1, 6, "catch"],[2, 7, "return"]] +import { Message } from './message.js'; + +export default function App() { + const messagePromise = new Promise((resolve, reject) => { + reject(); + }).catch(() => { + return "no new message found."; + }); + + return ( + <Suspense fallback={<p>waiting for message...</p>}> + <Message messagePromise={messagePromise} /> + </Suspense> + ); +} +``` + +To use the Promise's <CodeStep step={1}>`catch`</CodeStep> method, call <CodeStep step={1}>`catch`</CodeStep> on the Promise object. <CodeStep step={1}>`catch`</CodeStep> takes a single argument: a function that takes an error message as an argument. Whatever is <CodeStep step={2}>returned</CodeStep> by the function passed to <CodeStep step={1}>`catch`</CodeStep> will be used as the resolved value of the Promise. + +--- + +## Troubleshooting {/*troubleshooting*/} + +### "Suspense Exception: This is not a real error!" {/*suspense-exception-error*/} + +You are either calling `use` outside of a React component or Hook function, or calling `use` in a try–catch block. If you are calling `use` inside a try–catch block, wrap your component in an error boundary, or call the Promise's `catch` to catch the error and resolve the Promise with another value. [See these examples](#dealing-with-rejected-promises). + +If you are calling `use` outside a React component or Hook function, move the `use` call to a React component or Hook function. + +```jsx +function MessageComponent({messagePromise}) { + function download() { + // ❌ the function calling `use` is not a Component or Hook + const message = use(messagePromise); + // ... +``` + +Instead, call `use` outside any component closures, where the function that calls `use` is a component or Hook. + +```jsx +function MessageComponent({messagePromise}) { + // ✅ `use` is being called from a component. + const message = use(messagePromise); + // ... +``` diff --git a/src/sidebarReference.json b/src/sidebarReference.json index 3251873c..62725693 100644 --- a/src/sidebarReference.json +++ b/src/sidebarReference.json @@ -10,6 +10,11 @@ "title": "Hooks", "path": "/reference/react", "routes": [ + { + "title": "use", + "path": "/reference/react/use", + "canary": true + }, { "title": "useCallback", "path": "/reference/react/useCallback" From 5219d736a7c181a830f7646e616eb97774b43272 Mon Sep 17 00:00:00 2001 From: Abhinav Mahajan <113239388+abhinav-m22@users.noreply.github.com> Date: Sat, 9 Sep 2023 06:50:59 +0530 Subject: [PATCH 043/382] Removed the multiple checks (#5759) From 43ada1f1b1dcca0f0852927670faf95eeaab2e99 Mon Sep 17 00:00:00 2001 From: Danilo Woznica <danilowoz@gmail.com> Date: Tue, 12 Sep 2023 18:49:14 +0100 Subject: [PATCH 044/382] Sandpack 2.0: upgrade playgrounds (#5917) * Update 17 files * remove: legacy react devtool * Update 3 files * fix(editor): allow horizontal scroll * Update SandpackRoot.tsx --- .env.development | 1 - .env.production | 3 +- next.config.js | 8 +- package.json | 2 +- .../@codemirror+lang-javascript+0.19.6.patch | 30 -- .../@codesandbox+sandpack-react+1.15.5.patch | 62 --- patches/@lezer+javascript+0.15.2.patch | 345 ------------ src/components/MDX/CodeBlock/CodeBlock.tsx | 7 +- src/components/MDX/Sandpack/Console.tsx | 5 +- src/components/MDX/Sandpack/CustomPreset.tsx | 23 +- .../MDX/Sandpack/DownloadButton.tsx | 2 +- .../MDX/Sandpack/LoadingOverlay.tsx | 2 +- src/components/MDX/Sandpack/NavigationBar.tsx | 2 +- .../MDX/Sandpack/OpenInCodeSandboxButton.tsx | 2 +- src/components/MDX/Sandpack/Preview.tsx | 17 +- src/components/MDX/Sandpack/SandpackRoot.tsx | 15 +- src/components/MDX/Sandpack/createFileMap.ts | 2 +- src/content/community/conferences.md | 2 +- src/styles/sandpack.css | 19 +- src/utils/emptyShim.js | 6 - yarn.lock | 508 ++++++++---------- 21 files changed, 248 insertions(+), 815 deletions(-) delete mode 100644 patches/@codemirror+lang-javascript+0.19.6.patch delete mode 100644 patches/@codesandbox+sandpack-react+1.15.5.patch delete mode 100644 patches/@lezer+javascript+0.15.2.patch delete mode 100644 src/utils/emptyShim.js diff --git a/.env.development b/.env.development index a692f21c..e69de29b 100644 --- a/.env.development +++ b/.env.development @@ -1 +0,0 @@ -SANDPACK_BARE_COMPONENTS=true \ No newline at end of file diff --git a/.env.production b/.env.production index 445c9c4d..d25eb7dd 100644 --- a/.env.production +++ b/.env.production @@ -1,2 +1 @@ -NEXT_PUBLIC_GA_TRACKING_ID = 'UA-41298772-4' -SANDPACK_BARE_COMPONENTS=true \ No newline at end of file +NEXT_PUBLIC_GA_TRACKING_ID = 'UA-41298772-4' \ No newline at end of file diff --git a/next.config.js b/next.config.js index 41472858..61ff1944 100644 --- a/next.config.js +++ b/next.config.js @@ -14,9 +14,7 @@ const nextConfig = { scrollRestoration: true, legacyBrowsers: false, }, - env: { - SANDPACK_BARE_COMPONENTS: process.env.SANDPACK_BARE_COMPONENTS, - }, + env: {}, webpack: (config, {dev, isServer, ...options}) => { if (process.env.ANALYZE) { const {BundleAnalyzerPlugin} = require('webpack-bundle-analyzer'); @@ -35,10 +33,6 @@ const nextConfig = { const {IgnorePlugin, NormalModuleReplacementPlugin} = require('webpack'); config.plugins.push( - new NormalModuleReplacementPlugin( - /^@stitches\/core$/, - require.resolve('./src/utils/emptyShim.js') - ), new NormalModuleReplacementPlugin( /^raf$/, require.resolve('./src/utils/rafShim.js') diff --git a/package.json b/package.json index e47c10ff..5ff6adba 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,7 @@ "check-all": "npm-run-all prettier lint:fix tsc" }, "dependencies": { - "@codesandbox/sandpack-react": "1.15.5", + "@codesandbox/sandpack-react": "2.6.0", "@docsearch/css": "3.0.0-alpha.41", "@docsearch/react": "3.0.0-alpha.41", "@headlessui/react": "^1.7.0", diff --git a/patches/@codemirror+lang-javascript+0.19.6.patch b/patches/@codemirror+lang-javascript+0.19.6.patch deleted file mode 100644 index 3436b8e3..00000000 --- a/patches/@codemirror+lang-javascript+0.19.6.patch +++ /dev/null @@ -1,30 +0,0 @@ -diff --git a/node_modules/@codemirror/lang-javascript/dist/index.cjs b/node_modules/@codemirror/lang-javascript/dist/index.cjs -index 4475e4f..e1255c9 100644 ---- a/node_modules/@codemirror/lang-javascript/dist/index.cjs -+++ b/node_modules/@codemirror/lang-javascript/dist/index.cjs -@@ -135,7 +135,9 @@ const javascriptLanguage = language.LRLanguage.define({ - JSXText: highlight.tags.content, - "JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag": highlight.tags.angleBracket, - "JSXIdentifier JSXNameSpacedName": highlight.tags.tagName, -- "JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName": highlight.tags.attributeName -+ "JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName": highlight.tags.attributeName, -+ "JSXAttribute/JSXLowerIdentifier JSXAttribute/JSXNameSpacedName": highlight.tags.attributeName, -+ "JSXBuiltin/JSXIdentifier": highlight.tags.standard(highlight.tags.tagName) - }) - ] - }), -diff --git a/node_modules/@codemirror/lang-javascript/dist/index.js b/node_modules/@codemirror/lang-javascript/dist/index.js -index d089f6b..db09ea6 100644 ---- a/node_modules/@codemirror/lang-javascript/dist/index.js -+++ b/node_modules/@codemirror/lang-javascript/dist/index.js -@@ -131,7 +131,9 @@ const javascriptLanguage = /*@__PURE__*/LRLanguage.define({ - JSXText: tags.content, - "JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag": tags.angleBracket, - "JSXIdentifier JSXNameSpacedName": tags.tagName, -- "JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName": tags.attributeName -+ "JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName": tags.attributeName, -+ "JSXAttribute/JSXLowerIdentifier JSXAttribute/JSXNameSpacedName": tags.attributeName, -+ "JSXBuiltin/JSXIdentifier": tags.standard(tags.tagName), - }) - ] - }), diff --git a/patches/@codesandbox+sandpack-react+1.15.5.patch b/patches/@codesandbox+sandpack-react+1.15.5.patch deleted file mode 100644 index b68a5303..00000000 --- a/patches/@codesandbox+sandpack-react+1.15.5.patch +++ /dev/null @@ -1,62 +0,0 @@ -diff --git a/node_modules/@codesandbox/sandpack-react/dist/cjs/index.js b/node_modules/@codesandbox/sandpack-react/dist/cjs/index.js -index 6b8518e..ada84f5 100644 ---- a/node_modules/@codesandbox/sandpack-react/dist/cjs/index.js -+++ b/node_modules/@codesandbox/sandpack-react/dist/cjs/index.js -@@ -92,7 +92,7 @@ h1 { - <body> - <div id="root"></div> - </body> --</html>`},"/package.json":{code:JSON.stringify({dependencies:{react:"^18.0.0","react-dom":"^18.0.0","react-scripts":"^4.0.0"},main:"/index.js"})}},main:"/App.js",environment:"create-react-app"};var Ft={files:{"tsconfig.json":{code:`{ -+</html>`},"/package.json":{code:JSON.stringify({dependencies:{react:"^18.0.0","react-dom":"^18.0.0","react-scripts":"^5.0.0"},main:"/index.js"})}},main:"/App.js",environment:"create-react-app"};var Ft={files:{"tsconfig.json":{code:`{ - "include": [ - "./**/*" - ], -@@ -140,7 +140,7 @@ h1 { - <body> - <div id="root"></div> - </body> --</html>`},"/package.json":{code:JSON.stringify({dependencies:{react:"^18.0.0","react-dom":"^18.0.0","react-scripts":"^4.0.0"},devDependencies:{"@types/react":"^18.0.0","@types/react-dom":"^18.0.0",typescript:"^4.0.0"},main:"/index.tsx"})}},main:"/App.tsx",environment:"create-react-app"};var At={files:{"/App.tsx":{code:`import { Component } from "solid-js"; -+</html>`},"/package.json":{code:JSON.stringify({dependencies:{react:"^18.0.0","react-dom":"^18.0.0","react-scripts":"^5.0.0"},devDependencies:{"@types/react":"^18.0.0","@types/react-dom":"^18.0.0",typescript:"^4.0.0"},main:"/index.tsx"})}},main:"/App.tsx",environment:"create-react-app"};var At={files:{"/App.tsx":{code:`import { Component } from "solid-js"; - - const App: Component = () => { - return <h1>Hello World</h1>; -@@ -395,7 +395,7 @@ createApp(App).mount('#app') - <!-- built files will be auto injected --> - </body> - </html> --`},"/package.json":{code:JSON.stringify({dependencies:{"core-js":"^3.6.5",vue:"^3.0.0-0","@vue/cli-plugin-babel":"4.5.0"},main:"/src/main.js"})}},main:"/src/App.vue",environment:"vue-cli"};var We={react:wt,"react-ts":Ft,vue:Ht,vanilla:Ot,"vanilla-ts":Dt,vue3:Bt,angular:Lt,svelte:Pt,solid:At,"test-ts":It};var pt=e=>{var c,p,d,h,y,S;let t=(0,Ee.normalizePath)(e.files),o=bn({template:e.template,customSetup:e.customSetup,files:t}),s=(0,Ee.normalizePath)((p=(c=e.options)==null?void 0:c.visibleFiles)!=null?p:[]),r=((d=e.options)==null?void 0:d.activeFile)?Is((h=e.options)==null?void 0:h.activeFile,t||{}):void 0;s.length===0&&t&&Object.keys(t).forEach(v=>{let g=t[v];if(typeof g=="string"){s.push(v);return}!r&&g.active&&(r=v,g.hidden===!0&&s.push(v)),g.hidden||s.push(v)}),s.length===0&&(s=[o.main]),o.files[o.entry]||(o.entry=Is(o.entry,o.files)),!r&&o.main&&(r=o.main),(!r||!o.files[r])&&(r=s[0]),s.includes(r)||s.push(r);let n=(0,Ee.addPackageJSONIfNeeded)(o.files,(y=o.dependencies)!=null?y:{},(S=o.devDependencies)!=null?S:{},o.entry);return{visibleFiles:s.filter(v=>n[v]),activeFile:r,files:n,environment:o.environment}},Is=(e,t)=>{let o=(0,Ee.normalizePath)(t),s=(0,Ee.normalizePath)(e);if(s in o)return s;if(!e)return null;let r=null,n=0,a=[".js",".jsx",".ts",".tsx"];for(;!r&&n<a.length;){let p=`${s.split(".")[0]}${a[n]}`;o[p]!==void 0&&(r=p),n++}return r},bn=({files:e,template:t,customSetup:o})=>{if(!t){if(!o)return We.vanilla;if(!e||Object.keys(e).length===0)throw new Error("[sandpack-react]: without a template, you must pass at least one file");return M(u({},o),{files:_t(e)})}let s=We[t];if(!s)throw new Error(`[sandpack-react]: invalid template "${t}" provided`);return!o&&!e?s:{files:_t(u(u({},s.files),e)),dependencies:u(u({},s.dependencies),o==null?void 0:o.dependencies),devDependencies:u(u({},s.devDependencies),o==null?void 0:o.devDependencies),entry:(0,Ee.normalizePath)((o==null?void 0:o.entry)||s.entry),main:s.main,environment:(o==null?void 0:o.environment)||s.environment}},_t=e=>e?Object.keys(e).reduce((t,o)=>(typeof e[o]=="string"?t[o]={code:e[o]}:t[o]=e[o],t),{}):{};var mt=re.createContext(null),yn=3e4,$o=class extends re.PureComponent{constructor(t){super(t);this.timeoutHook=null;this.initializeSandpackIframeHook=null;this.handleMessage=t=>{this.timeoutHook&&clearTimeout(this.timeoutHook),t.type==="state"?this.setState({bundlerState:t.state}):t.type==="done"&&!t.compilatonError?this.setState({error:null}):t.type==="action"&&t.action==="show-error"?this.setState({error:(0,Ge.extractErrorDetails)(t)}):t.type==="action"&&t.action==="notification"&&t.notificationType==="error"&&this.setState({error:{message:t.title}})};this.registerReactDevTools=t=>{this.setState({reactDevTools:t})};this.updateCurrentFile=t=>{this.updateFile(this.state.activeFile,t)};this.updateFile=(t,o)=>{var r;let s=this.state.files;if(typeof t=="string"&&o){if(o===((r=this.state.files[t])==null?void 0:r.code))return;s=M(u({},s),{[t]:{code:o}})}else typeof t=="object"&&(s=u(u({},s),_t(t)));this.setState({files:(0,Ge.normalizePath)(s)},this.updateClients)};this.updateClients=()=>{var n,a,c,p;let{files:t,sandpackStatus:o}=this.state,s=(a=(n=this.props.options)==null?void 0:n.recompileMode)!=null?a:"delayed",r=(p=(c=this.props.options)==null?void 0:c.recompileDelay)!=null?p:500;o==="running"&&(s==="immediate"&&Object.values(this.clients).forEach(d=>{d.updatePreview({files:t})}),s==="delayed"&&(window.clearTimeout(this.debounceHook),this.debounceHook=window.setTimeout(()=>{Object.values(this.clients).forEach(d=>{d.updatePreview({files:this.state.files})})},r)))};this.createClient=(t,o)=>{var n,a,c,p,d,h,y,S,v;let s=new Ge.SandpackClient(t,{files:this.state.files,template:this.state.environment},{externalResources:(n=this.props.options)==null?void 0:n.externalResources,bundlerURL:(a=this.props.options)==null?void 0:a.bundlerURL,startRoute:(c=this.props.options)==null?void 0:c.startRoute,fileResolver:(p=this.props.options)==null?void 0:p.fileResolver,skipEval:(h=(d=this.props.options)==null?void 0:d.skipEval)!=null?h:!1,logLevel:(y=this.props.options)==null?void 0:y.logLevel,showOpenInCodeSandbox:!this.openInCSBRegistered.current,showErrorScreen:!this.errorScreenRegistered.current,showLoadingScreen:!this.loadingScreenRegistered.current,reactDevTools:this.state.reactDevTools,customNpmRegistries:(v=(S=this.props.customSetup)==null?void 0:S.npmRegistries)==null?void 0:v.map(g=>{var k;return(k=M(u({},g),{proxyEnabled:!1}))!=null?k:[]})});return typeof this.unsubscribe!="function"&&(this.unsubscribe=s.listen(this.handleMessage),this.timeoutHook=setTimeout(()=>{this.setState({sandpackStatus:"timeout"})},yn)),this.unsubscribeClientListeners[o]=this.unsubscribeClientListeners[o]||{},this.queuedListeners[o]&&(Object.keys(this.queuedListeners[o]).forEach(g=>{let k=this.queuedListeners[o][g],$=s.listen(k);this.unsubscribeClientListeners[o][g]=$}),this.queuedListeners[o]={}),Object.entries(this.queuedListeners.global).forEach(([g,k])=>{let $=s.listen(k);this.unsubscribeClientListeners[o][g]=$}),s};this.runSandpack=()=>{Object.keys(this.preregisteredIframes).forEach(t=>{let o=this.preregisteredIframes[t];this.clients[t]=this.createClient(o,t)}),this.setState({sandpackStatus:"running"})};this.registerBundler=(t,o)=>{this.state.sandpackStatus==="running"?this.clients[o]=this.createClient(t,o):this.preregisteredIframes[o]=t};this.unregisterBundler=t=>{var r;let o=this.clients[t];o?(o.cleanup(),(r=o.iframe.contentWindow)==null||r.location.replace("about:blank"),delete this.clients[t]):delete this.preregisteredIframes[t],this.timeoutHook&&clearTimeout(this.timeoutHook),Object.values(this.unsubscribeClientListeners).forEach(n=>{Object.values(n).forEach(c=>c())}),this.setState({sandpackStatus:"idle"})};this.unregisterAllClients=()=>{Object.keys(this.clients).map(this.unregisterBundler),typeof this.unsubscribe=="function"&&(this.unsubscribe(),this.unsubscribe=void 0)};this.setActiveFile=t=>{this.setState({activeFile:t})};this.openFile=t=>{this.setState(({visibleFiles:o})=>{let s=o.includes(t)?o:[...o,t];return{activeFile:t,visibleFiles:s}})};this.closeFile=t=>{this.state.visibleFiles.length!==1&&this.setState(({visibleFiles:o,activeFile:s})=>{let r=o.indexOf(t),n=o.filter(a=>a!==t);return{activeFile:t===s?r===0?o[1]:o[r-1]:s,visibleFiles:n}})};this.deleteFile=t=>{this.setState(({visibleFiles:o,files:s})=>{let r=u({},s);return delete r[t],{visibleFiles:o.filter(n=>n!==t),files:r}},this.updateClients)};this.addFile=this.updateFile;this.dispatchMessage=(t,o)=>{if(this.state.sandpackStatus!=="running"){console.warn("[sandpack-react]: dispatch cannot be called while in idle mode");return}o?this.clients[o].dispatch(t):Object.values(this.clients).forEach(s=>{s.dispatch(t)})};this.addListener=(t,o)=>{if(o){if(this.clients[o])return this.clients[o].listen(t);{let s=it();return this.queuedListeners[o]=this.queuedListeners[o]||{},this.unsubscribeClientListeners[o]=this.unsubscribeClientListeners[o]||{},this.queuedListeners[o][s]=t,()=>{this.queuedListeners[o][s]?delete this.queuedListeners[o][s]:this.unsubscribeClientListeners[o][s]&&(this.unsubscribeClientListeners[o][s](),delete this.unsubscribeClientListeners[o][s])}}}else{let s=it();this.queuedListeners.global[s]=t;let n=Object.values(this.clients).map(c=>c.listen(t));return()=>{n.forEach(c=>c())}}};this.resetFile=t=>{let{files:o}=pt({template:this.props.template,files:this.props.files,customSetup:this.props.customSetup,options:this.props.options});this.setState(s=>({files:M(u({},s.files),{[t]:o[t]})}),this.updateClients)};this.resetAllFiles=()=>{let{files:t}=pt({template:this.props.template,files:this.props.files,customSetup:this.props.customSetup,options:this.props.options});this.setState({files:t},this.updateClients)};this._getSandpackState=()=>{let{files:t,activeFile:o,visibleFiles:s,visibleFilesFromProps:r,startRoute:n,bundlerState:a,editorState:c,error:p,sandpackStatus:d,environment:h,initMode:y}=this.state;return{files:t,environment:h,visibleFiles:s,visibleFilesFromProps:r,activeFile:o,startRoute:n,error:p,bundlerState:a,status:d,editorState:c,initMode:y,clients:this.clients,dispatch:this.dispatchMessage,errorScreenRegisteredRef:this.errorScreenRegistered,lazyAnchorRef:this.lazyAnchorRef,listen:this.addListener,loadingScreenRegisteredRef:this.loadingScreenRegistered,openInCSBRegisteredRef:this.openInCSBRegistered,registerBundler:this.registerBundler,runSandpack:this.runSandpack,unregisterBundler:this.unregisterBundler,registerReactDevTools:this.registerReactDevTools,openFile:this.openFile,resetFile:this.resetFile,resetAllFiles:this.resetAllFiles,setActiveFile:this.setActiveFile,updateCurrentFile:this.updateCurrentFile,updateFile:this.updateFile,addFile:this.addFile,closeFile:this.closeFile,deleteFile:this.deleteFile}};var a,c,p,d;let{activeFile:o,visibleFiles:s,files:r,environment:n}=pt({template:t.template,files:t.files,customSetup:t.customSetup,options:t.options});this.state={files:r,environment:n,visibleFiles:s,visibleFilesFromProps:s,activeFile:o,startRoute:(a=this.props.options)==null?void 0:a.startRoute,bundlerState:void 0,error:null,sandpackStatus:((p=(c=this.props.options)==null?void 0:c.autorun)!=null?p:!0)?"initial":"idle",editorState:"pristine",initMode:((d=this.props.options)==null?void 0:d.initMode)||"lazy",reactDevTools:void 0},this.queuedListeners={global:{}},this.unsubscribeClientListeners={},this.preregisteredIframes={},this.clients={},this.lazyAnchorRef=re.createRef(),this.errorScreenRegistered=re.createRef(),this.openInCSBRegistered=re.createRef(),this.loadingScreenRegistered=re.createRef()}initializeSandpackIframe(){var s,r,n,a,c;if(!((r=(s=this.props.options)==null?void 0:s.autorun)!=null?r:!0))return;let o=(a=(n=this.props.options)==null?void 0:n.initModeObserverOptions)!=null?a:{rootMargin:"1000px 0px"};this.intersectionObserver&&this.lazyAnchorRef.current&&((c=this.intersectionObserver)==null||c.unobserve(this.lazyAnchorRef.current)),this.lazyAnchorRef.current&&this.state.initMode==="lazy"?(this.intersectionObserver=new IntersectionObserver(p=>{var d;p.some(h=>h.isIntersecting)&&(this.initializeSandpackIframeHook=setTimeout(()=>{this.runSandpack()},50),this.lazyAnchorRef.current&&((d=this.intersectionObserver)==null||d.unobserve(this.lazyAnchorRef.current)))},o),this.intersectionObserver.observe(this.lazyAnchorRef.current)):this.lazyAnchorRef.current&&this.state.initMode==="user-visible"?(this.intersectionObserver=new IntersectionObserver(p=>{p.some(d=>d.isIntersecting)?this.initializeSandpackIframeHook=setTimeout(()=>{this.runSandpack()},50):(this.initializeSandpackIframeHook&&clearTimeout(this.initializeSandpackIframeHook),Object.keys(this.clients).map(this.unregisterBundler),this.unregisterAllClients())},o),this.intersectionObserver.observe(this.lazyAnchorRef.current)):this.initializeSandpackIframeHook=setTimeout(()=>this.runSandpack(),50)}componentDidMount(){this.initializeSandpackIframe()}componentDidUpdate(t){var c,p,d,h;((c=t.options)==null?void 0:c.initMode)!==((p=this.props.options)==null?void 0:p.initMode)&&((d=this.props.options)==null?void 0:d.initMode)&&this.setState({initMode:(h=this.props.options)==null?void 0:h.initMode},this.initializeSandpackIframe);let{activeFile:o,visibleFiles:s,files:r,environment:n}=pt({template:this.props.template,files:this.props.files,customSetup:this.props.customSetup,options:this.props.options});if(t.template!==this.props.template||!(0,dt.default)(t.options,this.props.options)||!(0,dt.default)(t.customSetup,this.props.customSetup)||!(0,dt.default)(t.files,this.props.files)){if(this.setState({activeFile:o,visibleFiles:s,visibleFilesFromProps:s,files:r,environment:n}),this.state.sandpackStatus!=="running")return;Object.values(this.clients).forEach(y=>y.updatePreview({files:r,template:n}))}let a=(0,dt.default)(r,this.state.files)?"pristine":"dirty";a!==this.state.editorState&&this.setState({editorState:a})}componentWillUnmount(){typeof this.unsubscribe=="function"&&this.unsubscribe(),this.timeoutHook&&clearTimeout(this.timeoutHook),this.debounceHook&&clearTimeout(this.debounceHook),this.initializeSandpackIframeHook&&clearTimeout(this.initializeSandpackIframeHook),this.intersectionObserver&&this.intersectionObserver.disconnect()}render(){var n;let{children:t,theme:o,className:s,style:r}=this.props;return re.createElement(mt.Provider,{value:this._getSandpackState()},re.createElement(Os.ClasserProvider,{classes:(n=this.props.options)==null?void 0:n.classes},re.createElement(No,{className:s,style:r,theme:o},t)))}},Mo=$o,Sn=mt.Consumer;function T(){let e=Ds.useContext(mt);if(e===null)throw new Error('[sandpack-react]: "useSandpack" must be wrapped by a "SandpackProvider"');let r=e,{dispatch:t,listen:o}=r,s=N(r,["dispatch","listen"]);return{sandpack:u({},s),dispatch:t,listen:o}}var ut=()=>{var t,o,s;let{sandpack:e}=T();return{code:(t=e.files[e.activeFile])==null?void 0:t.code,readOnly:(s=(o=e.files[e.activeFile])==null?void 0:o.readOnly)!=null?s:!1,updateCode:e.updateCurrentFile}};var Bs=f(require("@code-hike/classer")),Ye=f(require("react"));var me=m({svg:{margin:"auto"}}),F=m({appearance:"none",border:"0",outline:"none",display:"flex",alignItems:"center",fontSize:"inherit",fontFamily:"inherit",backgroundColor:"transparent",transition:"color $default, background $default",cursor:"pointer",color:"$colors$clickable","&:disabled":{color:"$colors$disabled"},"&:hover:not(:disabled,[data-active='true'])":{color:"$colors$hover"},'&[data-active="true"]':{color:"$colors$accent"},svg:{minWidth:"$space$4",width:"$space$4",height:"$space$4"},[`&.${me}`]:{padding:"$space$1",width:"$space$7",height:"$space$7",display:"flex"}}),te=m({backgroundColor:"$colors$surface2",borderRadius:"99999px",'&[data-active="true"]':{color:"$colors$surface1",background:"$colors$accent"},"&:hover:not(:disabled,[data-active='true'])":{backgroundColor:"$colors$surface3"}}),Hs=m({padding:0}),vn=Mt({"0%":{opacity:0,transform:"translateY(4px)"},"100%":{opacity:1,transform:"translateY(0)"}}),ft=m({position:"absolute",bottom:"0",left:"0",right:"0",top:"0",margin:"0",overflow:"auto",height:"100%",zIndex:"$top"}),jt=m({padding:"$space$4",whiteSpace:"pre-wrap",fontFamily:"$font$mono",backgroundColor:"$colors$errorSurface"}),Ze=m({animation:`${vn} 150ms ease`,color:"$colors$error"});var kn=m({borderBottom:"1px solid $colors$surface2",background:"$colors$surface1"}),Cn=m({padding:"0 $space$2",overflow:"auto",display:"flex",flexWrap:"nowrap",alignItems:"stretch",minHeight:"40px",marginBottom:"-1px"}),_s=m({padding:"0 $space$1 0 $space$1",borderRadius:"$border$radius",marginLeft:"$space$1",width:"$space$5",visibility:"hidden",svg:{width:"$space$3",height:"$space$3",display:"block",position:"relative",top:1}}),js=m({padding:"0 $space$2",height:"$layout$headerHeight",whiteSpace:"nowrap","&:focus":{outline:"none"},[`&:hover > .${_s}`]:{visibility:"unset"}}),ht=s=>{var r=s,{closableTabs:e,className:t}=r,o=N(r,["closableTabs","className"]);let{sandpack:n}=T(),a=(0,Bs.useClasser)(b),{activeFile:c,visibleFiles:p,setActiveFile:d}=n,h=S=>{S.stopPropagation();let v=S.target.closest("[data-active]"),g=v==null?void 0:v.getAttribute("title");!g||n.closeFile(g)},y=S=>{let v=Xe(S),g=p.reduce((k,$)=>($===S||Xe($)===v&&k.push($),k),[]);return g.length===0?v:Es(S,g)};return Ye.createElement("div",u({className:l(a("tabs"),kn,t),translate:"no"},o),Ye.createElement("div",{"aria-label":"Select active file",className:l(a("tabs-scrollable-container"),Cn),role:"tablist"},p.map(S=>Ye.createElement("button",{key:S,"aria-selected":S===c,className:l(a("tab-button"),F,js),"data-active":S===c,onClick:()=>d(S),role:"tab",title:S,type:"button"},y(S),e&&p.length>1&&Ye.createElement("span",{className:l(a("close-button"),_s),onClick:h},Ye.createElement(Ro,null))))))};var Us=f(require("@code-hike/classer")),Lo=f(require("react"));var xn=m({position:"absolute",bottom:"$space$2",right:"$space$2",paddingRight:"$space$3"}),gt=s=>{var r=s,{className:e,onClick:t}=r,o=N(r,["className","onClick"]);let n=(0,Us.useClasser)(b),{sandpack:a}=T();return Lo.createElement("button",u({className:l(n("button"),F,te,xn,e),onClick:c=>{a.runSandpack(),t==null||t(c)},type:"button"},o),Lo.createElement(rt,null),"Run")};var zs=f(require("@code-hike/classer")),Vs=f(require("react"));var Te=m({display:"flex",flexDirection:"column",width:"100%",position:"relative",backgroundColor:"$colors$surface1",transition:"flex $transitions$default",gap:1,[`&:has(.${b}-stack)`]:{backgroundColor:"$colors$surface2"}}),ne=o=>{var s=o,{className:e}=s,t=N(s,["className"]);let r=(0,zs.useClasser)(b);return Vs.createElement("div",u({className:l(r("stack"),Te,e)},t))};var ir=f(require("@code-hike/classer")),Xt=f(require("@codemirror/closebrackets")),Ne=f(require("@codemirror/commands")),cr=f(require("@codemirror/comment")),lr=f(require("@codemirror/gutter")),pr=f(require("@codemirror/highlight")),Wt=f(require("@codemirror/history")),dr=f(require("@codemirror/matchbrackets")),$e=f(require("@codemirror/state")),Io=f(require("@codemirror/state")),fe=f(require("@codemirror/view")),mr=f(require("@react-hook/intersection-observer")),L=f(require("react"));var Xs=f(require("react"));var Oe=()=>{let{theme:e,id:t,mode:o}=Xs.useContext(lt);return{theme:e,themeId:t,themeMode:o}};var wo=(e,t)=>{if(e.length!==t.length)return!1;let o=!0;for(let s=0;s<e.length;s++)if(e[s]!==t[s]){o=!1;break}return o};var De=f(require("@codemirror/view"));var P=f(require("@codemirror/highlight")),Ws=f(require("@codemirror/lang-css")),Gs=f(require("@codemirror/lang-html")),Fo=f(require("@codemirror/lang-javascript")),Zs=f(require("@codemirror/view")),Ys=f(require("react"));var bt=(e,{line:t,column:o})=>e.line(t).from+(o!=null?o:0)-1,Js=()=>Zs.EditorView.theme({"&":{backgroundColor:`var(--${b}-colors-surface1)`,color:`var(--${b}-syntax-color-plain)`,height:"100%"},".cm-matchingBracket, .cm-nonmatchingBracket, &.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{color:"inherit",backgroundColor:"rgba(128,128,128,.25)",backgroundBlendMode:"difference"},"&.cm-editor.cm-focused":{outline:"none"},".cm-activeLine":{backgroundColor:`var(--${b}-colors-surface3)`,borderRadius:`var(--${b}-border-radius)`},".cm-errorLine":{backgroundColor:`var(--${b}-colors-errorSurface)`,borderRadius:`var(--${b}-border-radius)`},".cm-content":{caretColor:`var(--${b}-colors-accent)`,padding:`0 var(--${b}-space-4)`},".cm-scroller":{fontFamily:`var(--${b}-font-mono)`,lineHeight:`var(--${b}-font-lineHeight)`},".cm-gutters":{backgroundColor:`var(--${b}-colors-surface1)`,color:`var(--${b}-colors-disabled)`,border:"none",paddingLeft:`var(--${b}-space-1)`},".cm-gutter.cm-lineNumbers":{fontSize:".6em"},".cm-lineNumbers .cm-gutterElement":{lineHeight:`var(--${b}-font-lineHeight)`,minWidth:`var(--${b}-space-5)`},".cm-content .cm-line":{paddingLeft:`var(--${b}-space-1)`},".cm-content.cm-readonly .cm-line":{paddingLeft:0}}),ue=e=>`${b}-syntax-${e}`,qs=()=>["string","plain","comment","keyword","definition","punctuation","property","tag","static"].reduce((t,o)=>M(u({},t),{[`.${ue(o)}`]:{color:`$syntax$color$${o}`,fontStyle:`$syntax$fontStyle$${o}`}}),{}),Ks=e=>P.HighlightStyle.define([{tag:P.tags.link,textDecoration:"underline"},{tag:P.tags.emphasis,fontStyle:"italic"},{tag:P.tags.strong,fontWeight:"bold"},{tag:P.tags.keyword,class:ue("keyword")},{tag:[P.tags.atom,P.tags.number,P.tags.bool],class:ue("static")},{tag:P.tags.tagName,class:ue("tag")},{tag:P.tags.variableName,class:ue("plain")},{tag:P.tags.function(P.tags.variableName),class:ue("definition")},{tag:P.tags.definition(P.tags.function(P.tags.variableName)),class:ue("definition")},{tag:P.tags.propertyName,class:ue("property")},{tag:[P.tags.literal,P.tags.inserted],class:ue(e.syntax.string?"string":"static")},{tag:P.tags.punctuation,class:ue("punctuation")},{tag:[P.tags.comment,P.tags.quote],class:ue("comment")}]),Qs=(e,t,o)=>{if(!e&&!t)return"javascript";let s=t;if(!s&&e){let r=e.lastIndexOf(".");s=e.slice(r+1)}for(let r of o)if(s===r.name||r.extensions.includes(s||""))return r.name;switch(s){case"ts":case"tsx":return"typescript";case"html":case"svelte":case"vue":return"html";case"css":case"less":case"scss":return"css";case"js":case"jsx":case"json":default:return"javascript"}},er=(e,t)=>{let o={javascript:(0,Fo.javascript)({jsx:!0,typescript:!1}),typescript:(0,Fo.javascript)({jsx:!0,typescript:!0}),html:(0,Gs.html)(),css:(0,Ws.css)()};for(let s of t)if(e===s.name)return s.language;return o[e]},Ut=(...e)=>Ys.useCallback(t=>e.forEach(o=>{if(!!o){if(typeof o=="function")return o(t);o.current=t}}),e);function tr(e){return De.ViewPlugin.fromClass(class{constructor(t){this.decorations=this.getDecoration(t)}update(t){}getDecoration(t){if(!e)return De.Decoration.none;let o=e.map(s=>{var c,p,d;let r=De.Decoration.line({attributes:{class:(c=s.className)!=null?c:""}}),n=De.Decoration.mark({class:(p=s.className)!=null?p:"",attributes:(d=s.elementAttributes)!=null?d:void 0}),a=bt(t.state.doc,{line:s.line,column:s.startColumn})+1;if(s.startColumn&&s.endColumn){let h=bt(t.state.doc,{line:s.line,column:s.endColumn})+1;return n.range(a,h)}return r.range(a)});return De.Decoration.set(o)}},{decorations:t=>t.decorations})}var He=f(require("@codemirror/view"));function or(){return En}var Rn=He.Decoration.line({attributes:{class:"cm-errorLine"}}),En=He.ViewPlugin.fromClass(class{constructor(){this.decorations=He.Decoration.none}update(e){e.transactions.forEach(t=>{let o=t.annotation("show-error");if(o!==void 0){let s=bt(e.view.state.doc,{line:o})+1;this.decorations=He.Decoration.set([Rn.range(s)])}else t.annotation("remove-errors")&&(this.decorations=He.Decoration.none)})}},{decorations:e=>e.decorations});var zt=m({margin:"0",display:"block",fontFamily:"$font$mono",fontSize:"$font$size",color:"$syntax$color$plain",lineHeight:"$font$lineHeight"}),Ao=m(qs()),Vt=m({flex:1,position:"relative",overflow:"auto",background:"$colors$surface1",".cm-scroller":{padding:"$space$4 0"},[`.${zt}`]:{padding:"$space$4 0"}}),Po=m({margin:"0",outline:"none",height:"100%"}),sr=m({fontFamily:"$font$mono",fontSize:"0.8em",position:"absolute",right:"$space$2",bottom:"$space$2",zIndex:"$top",color:"$colors$clickable",backgroundColor:"$colors$surface2",borderRadius:"99999px",padding:"calc($space$1 / 2) $space$2",[`& + .${F}`]:{right:"calc($space$11 * 2)"}});var rr=f(require("@codemirror/highlight")),nr=f(require("react")),ar=({langSupport:e,highlightTheme:t,code:o=""})=>{let s=e.language.parser.parse(o),r=0,n=[],a=(c,p)=>{if(c>r){let d=o.slice(r,c);n.push(p?(0,nr.createElement)("span",{children:d,className:p,key:`${c}${r}`}):d),r=c}};return(0,rr.highlightTree)(s,t.match,(c,p,d)=>{a(c,""),a(p,d)}),r<o.length&&n.push(` -+`},"/package.json":{code:JSON.stringify({dependencies:{"core-js":"^3.6.5",vue:"^3.0.0-0","@vue/cli-plugin-babel":"4.5.0"},main:"/src/main.js"})}},main:"/src/App.vue",environment:"vue-cli"};var We={react:wt,"react-ts":Ft,vue:Ht,vanilla:Ot,"vanilla-ts":Dt,vue3:Bt,angular:Lt,svelte:Pt,solid:At,"test-ts":It};var pt=e=>{var c,p,d,h,y,S;let t=(0,Ee.normalizePath)(e.files),o=bn({template:e.template,customSetup:e.customSetup,files:t}),s=(0,Ee.normalizePath)((p=(c=e.options)==null?void 0:c.visibleFiles)!=null?p:[]),r=((d=e.options)==null?void 0:d.activeFile)?Is((h=e.options)==null?void 0:h.activeFile,t||{}):void 0;s.length===0&&t&&Object.keys(t).forEach(v=>{let g=t[v];if(typeof g=="string"){s.push(v);return}!r&&g.active&&(r=v,g.hidden===!0&&s.push(v)),g.hidden||s.push(v)}),s.length===0&&(s=[o.main]),o.files[o.entry]||(o.entry=Is(o.entry,o.files)),!r&&o.main&&(r=o.main),(!r||!o.files[r])&&(r=s[0]),s.includes(r)||s.push(r);let n=(0,Ee.addPackageJSONIfNeeded)(o.files,(y=o.dependencies)!=null?y:{},(S=o.devDependencies)!=null?S:{},o.entry);return{visibleFiles:s.filter(v=>n[v]),activeFile:r,files:n,environment:o.environment}},Is=(e,t)=>{let o=(0,Ee.normalizePath)(t),s=(0,Ee.normalizePath)(e);if(s in o)return s;if(!e)return null;let r=null,n=0,a=[".js",".jsx",".ts",".tsx"];for(;!r&&n<a.length;){let p=`${s.split(".")[0]}${a[n]}`;o[p]!==void 0&&(r=p),n++}return r},bn=({files:e,template:t,customSetup:o})=>{if(!t){if(!o)return We.vanilla;if(!e||Object.keys(e).length===0)throw new Error("[sandpack-react]: without a template, you must pass at least one file");return M(u({},o),{files:_t(e)})}let s=We[t];if(!s)throw new Error(`[sandpack-react]: invalid template "${t}" provided`);return!o&&!e?s:{files:_t(u(u({},s.files),e)),dependencies:u(u({},s.dependencies),o==null?void 0:o.dependencies),devDependencies:u(u({},s.devDependencies),o==null?void 0:o.devDependencies),entry:(0,Ee.normalizePath)((o==null?void 0:o.entry)||s.entry),main:s.main,environment:(o==null?void 0:o.environment)||s.environment}},_t=e=>e?Object.keys(e).reduce((t,o)=>(typeof e[o]=="string"?t[o]={code:e[o]}:t[o]=e[o],t),{}):{};var mt=re.createContext(null),yn=3e4,$o=class extends re.PureComponent{constructor(t){super(t);this.timeoutHook=null;this.initializeSandpackIframeHook=null;this.handleMessage=t=>{this.timeoutHook&&clearTimeout(this.timeoutHook),t.type==="state"?this.setState({bundlerState:t.state}):t.type==="done"&&!t.compilatonError?this.setState({error:null}):t.type==="action"&&t.action==="show-error"?this.setState({error:(0,Ge.extractErrorDetails)(t)}):t.type==="action"&&t.action==="notification"&&t.notificationType==="error"&&this.setState({error:{message:t.title}})};this.registerReactDevTools=t=>{this.setState({reactDevTools:t})};this.updateCurrentFile=t=>{this.updateFile(this.state.activeFile,t)};this.updateFile=(t,o)=>{var r;let s=this.state.files;if(typeof t=="string"&&o){if(o===((r=this.state.files[t])==null?void 0:r.code))return;s=M(u({},s),{[t]:{code:o}})}else typeof t=="object"&&(s=u(u({},s),_t(t)));this.setState({files:(0,Ge.normalizePath)(s)},this.updateClients)};this.updateClients=()=>{var n,a,c,p;let{files:t,sandpackStatus:o}=this.state,s=(a=(n=this.props.options)==null?void 0:n.recompileMode)!=null?a:"delayed",r=(p=(c=this.props.options)==null?void 0:c.recompileDelay)!=null?p:500;o==="running"&&(s==="immediate"&&Object.values(this.clients).forEach(d=>{d.updatePreview({files:t})}),s==="delayed"&&(window.clearTimeout(this.debounceHook),this.debounceHook=window.setTimeout(()=>{Object.values(this.clients).forEach(d=>{d.updatePreview({files:this.state.files})})},r)))};this.createClient=(t,o)=>{var n,a,c,p,d,h,y,S,v;let s=new Ge.SandpackClient(t,{files:this.state.files,template:this.state.environment},{externalResources:(n=this.props.options)==null?void 0:n.externalResources,bundlerURL:(a=this.props.options)==null?void 0:a.bundlerURL,startRoute:(c=this.props.options)==null?void 0:c.startRoute,fileResolver:(p=this.props.options)==null?void 0:p.fileResolver,skipEval:(h=(d=this.props.options)==null?void 0:d.skipEval)!=null?h:!1,logLevel:(y=this.props.options)==null?void 0:y.logLevel,showOpenInCodeSandbox:!this.openInCSBRegistered.current,showErrorScreen:!this.errorScreenRegistered.current,showLoadingScreen:!this.loadingScreenRegistered.current,reactDevTools:this.state.reactDevTools,customNpmRegistries:(v=(S=this.props.customSetup)==null?void 0:S.npmRegistries)==null?void 0:v.map(g=>{var k;return(k=M(u({},g),{proxyEnabled:!1}))!=null?k:[]})});return typeof this.unsubscribe!="function"&&(this.unsubscribe=s.listen(this.handleMessage),this.timeoutHook=setTimeout(()=>{this.setState({sandpackStatus:"timeout"})},yn)),this.unsubscribeClientListeners[o]=this.unsubscribeClientListeners[o]||{},this.queuedListeners[o]&&(Object.keys(this.queuedListeners[o]).forEach(g=>{let k=this.queuedListeners[o][g],$=s.listen(k);this.unsubscribeClientListeners[o][g]=$}),this.queuedListeners[o]={}),Object.entries(this.queuedListeners.global).forEach(([g,k])=>{let $=s.listen(k);this.unsubscribeClientListeners[o][g]=$}),s};this.runSandpack=()=>{Object.keys(this.preregisteredIframes).forEach(t=>{let o=this.preregisteredIframes[t];this.clients[t]=this.createClient(o,t)}),this.setState({sandpackStatus:"running"})};this.registerBundler=(t,o)=>{this.state.sandpackStatus==="running"?this.clients[o]=this.createClient(t,o):this.preregisteredIframes[o]=t};this.unregisterBundler=t=>{var r;let o=this.clients[t];o?(o.cleanup(),(r=o.iframe.contentWindow)==null||r.location.replace("about:blank"),delete this.clients[t]):delete this.preregisteredIframes[t],this.timeoutHook&&clearTimeout(this.timeoutHook),Object.values(this.unsubscribeClientListeners).forEach(n=>{Object.values(n).forEach(c=>c())}),this.setState({sandpackStatus:"idle"})};this.unregisterAllClients=()=>{Object.keys(this.clients).map(this.unregisterBundler),typeof this.unsubscribe=="function"&&(this.unsubscribe(),this.unsubscribe=void 0)};this.setActiveFile=t=>{this.setState({activeFile:t})};this.openFile=t=>{this.setState(({visibleFiles:o})=>{let s=o.includes(t)?o:[...o,t];return{activeFile:t,visibleFiles:s}})};this.closeFile=t=>{this.state.visibleFiles.length!==1&&this.setState(({visibleFiles:o,activeFile:s})=>{let r=o.indexOf(t),n=o.filter(a=>a!==t);return{activeFile:t===s?r===0?o[1]:o[r-1]:s,visibleFiles:n}})};this.deleteFile=t=>{this.setState(({visibleFiles:o,files:s})=>{let r=u({},s);return delete r[t],{visibleFiles:o.filter(n=>n!==t),files:r}},this.updateClients)};this.addFile=this.updateFile;this.dispatchMessage=(t,o)=>{if(this.state.sandpackStatus!=="running"){console.warn("[sandpack-react]: dispatch cannot be called while in idle mode");return}o?this.clients[o].dispatch(t):Object.values(this.clients).forEach(s=>{s.dispatch(t)})};this.addListener=(t,o)=>{if(o){if(this.clients[o])return this.clients[o].listen(t);{let s=it();return this.queuedListeners[o]=this.queuedListeners[o]||{},this.unsubscribeClientListeners[o]=this.unsubscribeClientListeners[o]||{},this.queuedListeners[o][s]=t,()=>{this.queuedListeners[o][s]?delete this.queuedListeners[o][s]:this.unsubscribeClientListeners[o][s]&&(this.unsubscribeClientListeners[o][s](),delete this.unsubscribeClientListeners[o][s])}}}else{let s=it();this.queuedListeners.global[s]=t;let n=Object.values(this.clients).map(c=>c.listen(t));return()=>{n.forEach(c=>c())}}};this.resetFile=t=>{let{files:o}=pt({template:this.props.template,files:this.props.files,customSetup:this.props.customSetup,options:this.props.options});this.setState(s=>({files:M(u({},s.files),{[t]:o[t]})}),this.updateClients)};this.resetAllFiles=()=>{let{files:t}=pt({template:this.props.template,files:this.props.files,customSetup:this.props.customSetup,options:this.props.options});this.setState({files:t},this.updateClients)};this._getSandpackState=()=>{let{files:t,activeFile:o,visibleFiles:s,visibleFilesFromProps:r,startRoute:n,bundlerState:a,editorState:c,error:p,sandpackStatus:d,environment:h,initMode:y}=this.state;return{files:t,environment:h,visibleFiles:s,visibleFilesFromProps:r,activeFile:o,startRoute:n,error:p,bundlerState:a,status:d,editorState:c,initMode:y,clients:this.clients,dispatch:this.dispatchMessage,errorScreenRegisteredRef:this.errorScreenRegistered,lazyAnchorRef:this.lazyAnchorRef,listen:this.addListener,loadingScreenRegisteredRef:this.loadingScreenRegistered,openInCSBRegisteredRef:this.openInCSBRegistered,registerBundler:this.registerBundler,runSandpack:this.runSandpack,unregisterBundler:this.unregisterBundler,registerReactDevTools:this.registerReactDevTools,openFile:this.openFile,resetFile:this.resetFile,resetAllFiles:this.resetAllFiles,setActiveFile:this.setActiveFile,updateCurrentFile:this.updateCurrentFile,updateFile:this.updateFile,addFile:this.addFile,closeFile:this.closeFile,deleteFile:this.deleteFile}};var a,c,p,d;let{activeFile:o,visibleFiles:s,files:r,environment:n}=pt({template:t.template,files:t.files,customSetup:t.customSetup,options:t.options});this.state={files:r,environment:n,visibleFiles:s,visibleFilesFromProps:s,activeFile:o,startRoute:(a=this.props.options)==null?void 0:a.startRoute,bundlerState:void 0,error:null,sandpackStatus:((p=(c=this.props.options)==null?void 0:c.autorun)!=null?p:!0)?"initial":"idle",editorState:"pristine",initMode:((d=this.props.options)==null?void 0:d.initMode)||"lazy",reactDevTools:void 0},this.queuedListeners={global:{}},this.unsubscribeClientListeners={},this.preregisteredIframes={},this.clients={},this.lazyAnchorRef=re.createRef(),this.errorScreenRegistered=re.createRef(),this.openInCSBRegistered=re.createRef(),this.loadingScreenRegistered=re.createRef()}initializeSandpackIframe(){var s,r,n,a,c;if(!((r=(s=this.props.options)==null?void 0:s.autorun)!=null?r:!0))return;let o=(a=(n=this.props.options)==null?void 0:n.initModeObserverOptions)!=null?a:{rootMargin:"1000px 0px"};this.intersectionObserver&&this.lazyAnchorRef.current&&((c=this.intersectionObserver)==null||c.unobserve(this.lazyAnchorRef.current)),this.lazyAnchorRef.current&&this.state.initMode==="lazy"?(this.intersectionObserver=new IntersectionObserver(p=>{var d;p.some(h=>h.isIntersecting)&&(this.initializeSandpackIframeHook=setTimeout(()=>{this.runSandpack()},50),this.lazyAnchorRef.current&&((d=this.intersectionObserver)==null||d.unobserve(this.lazyAnchorRef.current)))},o),this.intersectionObserver.observe(this.lazyAnchorRef.current)):this.lazyAnchorRef.current&&this.state.initMode==="user-visible"?(this.intersectionObserver=new IntersectionObserver(p=>{p.some(d=>d.isIntersecting)?this.initializeSandpackIframeHook=setTimeout(()=>{this.runSandpack()},50):(this.initializeSandpackIframeHook&&clearTimeout(this.initializeSandpackIframeHook),Object.keys(this.clients).map(this.unregisterBundler),this.unregisterAllClients())},o),this.intersectionObserver.observe(this.lazyAnchorRef.current)):this.initializeSandpackIframeHook=setTimeout(()=>this.runSandpack(),50)}componentDidMount(){this.initializeSandpackIframe()}componentDidUpdate(t){var c,p,d,h;((c=t.options)==null?void 0:c.initMode)!==((p=this.props.options)==null?void 0:p.initMode)&&((d=this.props.options)==null?void 0:d.initMode)&&this.setState({initMode:(h=this.props.options)==null?void 0:h.initMode},this.initializeSandpackIframe);let{activeFile:o,visibleFiles:s,files:r,environment:n}=pt({template:this.props.template,files:this.props.files,customSetup:this.props.customSetup,options:this.props.options});if(t.template!==this.props.template||!(0,dt.default)(t.options,this.props.options)||!(0,dt.default)(t.customSetup,this.props.customSetup)||!(0,dt.default)(t.files,this.props.files)){if(this.setState({activeFile:o,visibleFiles:s,visibleFilesFromProps:s,files:r,environment:n}),this.state.sandpackStatus!=="running")return;Object.values(this.clients).forEach(y=>y.updatePreview({files:r,template:n}))}let a=(0,dt.default)(r,this.state.files)?"pristine":"dirty";a!==this.state.editorState&&this.setState({editorState:a})}componentWillUnmount(){typeof this.unsubscribe=="function"&&this.unsubscribe(),this.timeoutHook&&clearTimeout(this.timeoutHook),this.debounceHook&&clearTimeout(this.debounceHook),this.initializeSandpackIframeHook&&clearTimeout(this.initializeSandpackIframeHook),this.intersectionObserver&&this.intersectionObserver.disconnect()}render(){var n;let{children:t,theme:o,className:s,style:r}=this.props;return re.createElement(mt.Provider,{value:this._getSandpackState()},re.createElement(Os.ClasserProvider,{classes:(n=this.props.options)==null?void 0:n.classes},re.createElement(No,{className:s,style:r,theme:o},t)))}},Mo=$o,Sn=mt.Consumer;function T(){let e=Ds.useContext(mt);if(e===null)throw new Error('[sandpack-react]: "useSandpack" must be wrapped by a "SandpackProvider"');let r=e,{dispatch:t,listen:o}=r,s=N(r,["dispatch","listen"]);return{sandpack:u({},s),dispatch:t,listen:o}}var ut=()=>{var t,o,s;let{sandpack:e}=T();return{code:(t=e.files[e.activeFile])==null?void 0:t.code,readOnly:(s=(o=e.files[e.activeFile])==null?void 0:o.readOnly)!=null?s:!1,updateCode:e.updateCurrentFile}};var Bs=f(require("@code-hike/classer")),Ye=f(require("react"));var me=m({svg:{margin:"auto"}}),F=m({appearance:"none",border:"0",outline:"none",display:"flex",alignItems:"center",fontSize:"inherit",fontFamily:"inherit",backgroundColor:"transparent",transition:"color $default, background $default",cursor:"pointer",color:"$colors$clickable","&:disabled":{color:"$colors$disabled"},"&:hover:not(:disabled,[data-active='true'])":{color:"$colors$hover"},'&[data-active="true"]':{color:"$colors$accent"},svg:{minWidth:"$space$4",width:"$space$4",height:"$space$4"},[`&.${me}`]:{padding:"$space$1",width:"$space$7",height:"$space$7",display:"flex"}}),te=m({backgroundColor:"$colors$surface2",borderRadius:"99999px",'&[data-active="true"]':{color:"$colors$surface1",background:"$colors$accent"},"&:hover:not(:disabled,[data-active='true'])":{backgroundColor:"$colors$surface3"}}),Hs=m({padding:0}),vn=Mt({"0%":{opacity:0,transform:"translateY(4px)"},"100%":{opacity:1,transform:"translateY(0)"}}),ft=m({position:"absolute",bottom:"0",left:"0",right:"0",top:"0",margin:"0",overflow:"auto",height:"100%",zIndex:"$top"}),jt=m({padding:"$space$4",whiteSpace:"pre-wrap",fontFamily:"$font$mono",backgroundColor:"$colors$errorSurface"}),Ze=m({animation:`${vn} 150ms ease`,color:"$colors$error"});var kn=m({borderBottom:"1px solid $colors$surface2",background:"$colors$surface1"}),Cn=m({padding:"0 $space$2",overflow:"auto",display:"flex",flexWrap:"nowrap",alignItems:"stretch",minHeight:"40px",marginBottom:"-1px"}),_s=m({padding:"0 $space$1 0 $space$1",borderRadius:"$border$radius",marginLeft:"$space$1",width:"$space$5",visibility:"hidden",svg:{width:"$space$3",height:"$space$3",display:"block",position:"relative",top:1}}),js=m({padding:"0 $space$2",height:"$layout$headerHeight",whiteSpace:"nowrap","&:focus":{outline:"none"},[`&:hover > .${_s}`]:{visibility:"unset"}}),ht=s=>{var r=s,{closableTabs:e,className:t}=r,o=N(r,["closableTabs","className"]);let{sandpack:n}=T(),a=(0,Bs.useClasser)(b),{activeFile:c,visibleFiles:p,setActiveFile:d}=n,h=S=>{S.stopPropagation();let v=S.target.closest("[data-active]"),g=v==null?void 0:v.getAttribute("title");!g||n.closeFile(g)},y=S=>{let v=Xe(S),g=p.reduce((k,$)=>($===S||Xe($)===v&&k.push($),k),[]);return g.length===0?v:Es(S,g)};return Ye.createElement("div",u({className:l(a("tabs"),kn,t),translate:"no"},o),Ye.createElement("div",{"aria-label":"Select active file",className:l(a("tabs-scrollable-container"),Cn),role:"tablist"},p.map(S=>Ye.createElement("button",{key:S,"aria-selected":S===c,className:l(a("tab-button"),F,js),"data-active":S===c,onClick:()=>d(S),role:"tab",title:S,type:"button"},y(S),e&&p.length>1&&Ye.createElement("span",{className:l(a("close-button"),_s),onClick:h},Ye.createElement(Ro,null))))))};var Us=f(require("@code-hike/classer")),Lo=f(require("react"));var xn=m({position:"absolute",bottom:"$space$2",right:"$space$2",paddingRight:"$space$3"}),gt=s=>{var r=s,{className:e,onClick:t}=r,o=N(r,["className","onClick"]);let n=(0,Us.useClasser)(b),{sandpack:a}=T();return Lo.createElement("button",u({className:l(n("button"),F,te,xn,e),onClick:c=>{a.runSandpack(),t==null||t(c)},type:"button"},o),Lo.createElement(rt,null),"Run")};var zs=f(require("@code-hike/classer")),Vs=f(require("react"));var Te=m({display:"flex",flexDirection:"column",width:"100%",position:"relative",backgroundColor:"$colors$surface1",transition:"flex $transitions$default",gap:1,[`&:has(.${b}-stack)`]:{backgroundColor:"$colors$surface2"}}),ne=o=>{var s=o,{className:e}=s,t=N(s,["className"]);let r=(0,zs.useClasser)(b);return Vs.createElement("div",u({className:l(r("stack"),Te,e)},t))};var ir=f(require("@code-hike/classer")),Xt=f(require("@codemirror/closebrackets")),Ne=f(require("@codemirror/commands")),cr=f(require("@codemirror/comment")),lr=f(require("@codemirror/gutter")),pr=f(require("@codemirror/highlight")),Wt=f(require("@codemirror/history")),dr=f(require("@codemirror/matchbrackets")),$e=f(require("@codemirror/state")),Io=f(require("@codemirror/state")),fe=f(require("@codemirror/view")),mr=f(require("@react-hook/intersection-observer")),L=f(require("react"));var Xs=f(require("react"));var Oe=()=>{let{theme:e,id:t,mode:o}=Xs.useContext(lt);return{theme:e,themeId:t,themeMode:o}};var wo=(e,t)=>{if(e.length!==t.length)return!1;let o=!0;for(let s=0;s<e.length;s++)if(e[s]!==t[s]){o=!1;break}return o};var De=f(require("@codemirror/view"));var P=f(require("@codemirror/highlight")),Ws=f(require("@codemirror/lang-css")),Gs=f(require("@codemirror/lang-html")),Fo=f(require("@codemirror/lang-javascript")),Zs=f(require("@codemirror/view")),Ys=f(require("react"));var bt=(e,{line:t,column:o})=>e.line(t).from+(o!=null?o:0)-1,Js=()=>Zs.EditorView.theme({"&":{backgroundColor:`var(--${b}-colors-surface1)`,color:`var(--${b}-syntax-color-plain)`,height:"100%"},".cm-matchingBracket, .cm-nonmatchingBracket, &.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{color:"inherit",backgroundColor:"rgba(128,128,128,.25)",backgroundBlendMode:"difference"},"&.cm-editor.cm-focused":{outline:"none"},".cm-activeLine":{backgroundColor:`var(--${b}-colors-surface3)`,borderRadius:`var(--${b}-border-radius)`},".cm-errorLine":{backgroundColor:`var(--${b}-colors-errorSurface)`,borderRadius:`var(--${b}-border-radius)`},".cm-content":{caretColor:`var(--${b}-colors-accent)`,padding:`0 var(--${b}-space-4)`},".cm-scroller":{fontFamily:`var(--${b}-font-mono)`,lineHeight:`var(--${b}-font-lineHeight)`},".cm-gutters":{backgroundColor:`var(--${b}-colors-surface1)`,color:`var(--${b}-colors-disabled)`,border:"none",paddingLeft:`var(--${b}-space-1)`},".cm-gutter.cm-lineNumbers":{fontSize:".6em"},".cm-lineNumbers .cm-gutterElement":{lineHeight:`var(--${b}-font-lineHeight)`,minWidth:`var(--${b}-space-5)`},".cm-content .cm-line":{paddingLeft:`var(--${b}-space-1)`},".cm-content.cm-readonly .cm-line":{paddingLeft:0}}),ue=e=>`${b}-syntax-${e}`,qs=()=>["string","plain","comment","keyword","definition","punctuation","property","tag","static"].reduce((t,o)=>M(u({},t),{[`.${ue(o)}`]:{color:`$syntax$color$${o}`,fontStyle:`$syntax$fontStyle$${o}`}}),{}),Ks=e=>P.HighlightStyle.define([{tag:P.tags.link,textDecoration:"underline"},{tag:P.tags.emphasis,fontStyle:"italic"},{tag:P.tags.strong,fontWeight:"bold"},{tag:P.tags.keyword,class:ue("keyword")},{tag:[P.tags.atom,P.tags.number,P.tags.bool],class:ue("static")},{tag:P.tags.standard(P.tags.tagName),class:ue("tag")},{tag:P.tags.variableName,class:ue("plain")},{tag:P.tags.function(P.tags.variableName),class:ue("definition")},{tag:[P.tags.definition(P.tags.function(P.tags.variableName)),P.tags.tagName],class:ue("definition")},{tag:P.tags.propertyName,class:ue("property")},{tag:[P.tags.literal,P.tags.inserted],class:ue(e.syntax.string?"string":"static")},{tag:P.tags.punctuation,class:ue("punctuation")},{tag:[P.tags.comment,P.tags.quote],class:ue("comment")}]),Qs=(e,t,o)=>{if(!e&&!t)return"javascript";let s=t;if(!s&&e){let r=e.lastIndexOf(".");s=e.slice(r+1)}for(let r of o)if(s===r.name||r.extensions.includes(s||""))return r.name;switch(s){case"ts":case"tsx":return"typescript";case"html":case"svelte":case"vue":return"html";case"css":case"less":case"scss":return"css";case"js":case"jsx":case"json":default:return"javascript"}},er=(e,t)=>{let o={javascript:(0,Fo.javascript)({jsx:!0,typescript:!1}),typescript:(0,Fo.javascript)({jsx:!0,typescript:!0}),html:(0,Gs.html)(),css:(0,Ws.css)()};for(let s of t)if(e===s.name)return s.language;return o[e]},Ut=(...e)=>Ys.useCallback(t=>e.forEach(o=>{if(!!o){if(typeof o=="function")return o(t);o.current=t}}),e);function tr(e){return De.ViewPlugin.fromClass(class{constructor(t){this.decorations=this.getDecoration(t)}update(t){}getDecoration(t){if(!e)return De.Decoration.none;let o=e.map(s=>{var c,p,d;let r=De.Decoration.line({attributes:{class:(c=s.className)!=null?c:""}}),n=De.Decoration.mark({class:(p=s.className)!=null?p:"",attributes:(d=s.elementAttributes)!=null?d:void 0}),a=bt(t.state.doc,{line:s.line,column:s.startColumn})+1;if(s.startColumn&&s.endColumn){let h=bt(t.state.doc,{line:s.line,column:s.endColumn})+1;return n.range(a,h)}return r.range(a)});return De.Decoration.set(o)}},{decorations:t=>t.decorations})}var He=f(require("@codemirror/view"));function or(){return En}var Rn=He.Decoration.line({attributes:{class:"cm-errorLine"}}),En=He.ViewPlugin.fromClass(class{constructor(){this.decorations=He.Decoration.none}update(e){e.transactions.forEach(t=>{let o=t.annotation("show-error");if(o!==void 0){let s=bt(e.view.state.doc,{line:o})+1;this.decorations=He.Decoration.set([Rn.range(s)])}else t.annotation("remove-errors")&&(this.decorations=He.Decoration.none)})}},{decorations:e=>e.decorations});var zt=m({margin:"0",display:"block",fontFamily:"$font$mono",fontSize:"$font$size",color:"$syntax$color$plain",lineHeight:"$font$lineHeight"}),Ao=m(qs()),Vt=m({flex:1,position:"relative",overflow:"auto",background:"$colors$surface1",".cm-scroller":{padding:"$space$4 0"},[`.${zt}`]:{padding:"$space$4 0"}}),Po=m({margin:"0",outline:"none",height:"100%"}),sr=m({fontFamily:"$font$mono",fontSize:"0.8em",position:"absolute",right:"$space$2",bottom:"$space$2",zIndex:"$top",color:"$colors$clickable",backgroundColor:"$colors$surface2",borderRadius:"99999px",padding:"calc($space$1 / 2) $space$2",[`& + .${F}`]:{right:"calc($space$11 * 2)"}});var rr=f(require("@codemirror/highlight")),nr=f(require("react")),ar=({langSupport:e,highlightTheme:t,code:o=""})=>{let s=e.language.parser.parse(o),r=0,n=[],a=(c,p)=>{if(c>r){let d=o.slice(r,c);n.push(p?(0,nr.createElement)("span",{children:d,className:p,key:`${c}${r}`}):d),r=c}};return(0,rr.highlightTree)(s,t.match,(c,p,d)=>{a(c,""),a(p,d)}),r<o.length&&n.push(` - - `),n};var Be=L.forwardRef(({code:e,filePath:t,fileType:o,onCodeUpdate:s,showLineNumbers:r=!1,showInlineErrors:n=!1,wrapContent:a=!1,editorState:c="pristine",readOnly:p=!1,showReadOnly:d=!0,decorators:h,initMode:y="lazy",id:S,extensions:v=[],extensionsKeymap:g=[],additionalLanguages:k=[]},$)=>{let w=L.useRef(null),X=Ut(w,$),A=L.useRef(),{theme:ae,themeId:W}=Oe(),[Q,G]=L.useState(e),[q,C]=L.useState(y==="immediate"),O=(0,ir.useClasser)(b),{listen:be}=T(),x=L.useRef([]),R=L.useRef([]),{isIntersecting:z}=(0,mr.default)(w,{rootMargin:"600px 0px",threshold:.2});L.useImperativeHandle($,()=>({getCodemirror:()=>A.current})),L.useEffect(()=>{(y==="lazy"||y==="user-visible")&&z&&C(!0)},[y,z]);let D=Qs(t,o,k),V=er(D,k),le=Ks(ae),et=ar({langSupport:V,highlightTheme:le,code:e}),je=L.useMemo(()=>h&&h.sort((_,Z)=>_.line-Z.line),[h]);L.useEffect(()=>{if(!w.current||!q)return;let _=setTimeout(function(){let ee=[{key:"Tab",run:ie=>{var Ce;(0,Ne.indentMore)(ie);let pe=g.find(({key:Ae})=>Ae==="Tab");return(Ce=pe==null?void 0:pe.run(ie))!=null?Ce:!0}},{key:"Shift-Tab",run:({state:ie,dispatch:pe})=>{var Ae;(0,Ne.indentLess)({state:ie,dispatch:pe});let Ce=g.find(({key:Nt})=>Nt==="Shift-Tab");return(Ae=Ce==null?void 0:Ce.run(ye))!=null?Ae:!0}},{key:"Escape",run:()=>(p||w.current&&w.current.focus(),!0)},{key:"mod-Backspace",run:Ne.deleteGroupBackward}],j=[(0,fe.highlightSpecialChars)(),(0,Wt.history)(),(0,Xt.closeBrackets)(),...v,fe.keymap.of([...Xt.closeBracketsKeymap,...Ne.defaultKeymap,...Wt.historyKeymap,...cr.commentKeymap,...ee,...g]),V,pr.defaultHighlightStyle.fallback,Js(),le];p?(j.push($e.EditorState.readOnly.of(!0)),j.push(fe.EditorView.editable.of(!1))):(j.push((0,dr.bracketMatching)()),j.push((0,fe.highlightActiveLine)())),je&&j.push(tr(je)),a&&j.push(fe.EditorView.lineWrapping),r&&j.push((0,lr.lineNumbers)()),n&&j.push(or());let Ue=$e.EditorState.create({doc:e,extensions:j}),ze=w.current,ot=ze.querySelector(".sp-pre-placeholder");ot&&ze.removeChild(ot);let ye=new fe.EditorView({state:Ue,parent:ze,dispatch:ie=>{if(ye.update([ie]),ie.docChanged){let pe=ie.newDoc.sliceString(0,ie.newDoc.length);G(pe),s==null||s(pe)}}});ye.contentDOM.setAttribute("data-gramm","false"),ye.contentDOM.setAttribute("aria-label",t?`Code Editor for ${Xe(t)}`:"Code Editor"),p?ye.contentDOM.classList.add("cm-readonly"):ye.contentDOM.setAttribute("tabIndex","-1"),A.current=ye},0);return()=>{var Z;(Z=A.current)==null||Z.destroy(),clearTimeout(_)}},[q,r,a,W,je,p]),L.useEffect(function(){let Z=A.current,ee=!wo(v,x.current)||!wo(g,R.current);Z&&ee&&(Z.dispatch({effects:$e.StateEffect.appendConfig.of(v)}),Z.dispatch({effects:$e.StateEffect.appendConfig.of(fe.keymap.of([...g]))}),x.current=v,R.current=g)},[v,g]),L.useEffect(()=>{A.current&&c==="dirty"&&window.matchMedia("(min-width: 768px)").matches&&A.current.contentDOM.focus()},[]),L.useEffect(()=>{if(A.current&&e!==Q){let _=A.current,Z=_.state.selection.ranges.some(({to:j,from:Ue})=>j>e.length||Ue>e.length)?$e.EditorSelection.cursor(e.length):_.state.selection,ee={from:0,to:_.state.doc.length,insert:e};_.dispatch({changes:ee,selection:Z})}},[e]),L.useEffect(function(){if(!n)return;let Z=be(ee=>{let j=A.current;ee.type==="success"?j==null||j.dispatch({annotations:[new Io.Annotation("remove-errors",!0)]}):ee.type==="action"&&ee.action==="show-error"&&ee.line&&(j==null||j.dispatch({annotations:[new Io.Annotation("show-error",ee.line)]}))});return()=>Z()},[be,n]);let Tt=_=>{_.key==="Enter"&&A.current&&(_.preventDefault(),A.current.contentDOM.focus())},tt=()=>{let _=4;return r&&(_+=6),p||(_+=1),`var(--${b}-space-${_})`};return p?L.createElement(L.Fragment,null,L.createElement("pre",{ref:X,className:l(O("cm",c,D),Po,Ao),translate:"no"},L.createElement("code",{className:l(O("pre-placeholder"),zt),style:{marginLeft:tt()}},et)),p&&d&&L.createElement("span",u({className:l(O("read-only"),sr)},{}),"Read-only")):L.createElement("div",{ref:X,"aria-autocomplete":"list","aria-label":t?`Code Editor for ${Xe(t)}`:"Code Editor","aria-multiline":"true",className:l(O("cm",c,D),Po,Ao),onKeyDown:Tt,role:"textbox",tabIndex:0,translate:"no",suppressHydrationWarning:!0},L.createElement("pre",{className:l(O("pre-placeholder"),zt),style:{marginLeft:tt()}},et))});var Oo=Me.forwardRef(({style:e,showTabs:t,showLineNumbers:o=!1,showInlineErrors:s=!1,showRunButton:r=!0,wrapContent:n=!1,closableTabs:a=!1,initMode:c,extensions:p,extensionsKeymap:d,id:h,readOnly:y,showReadOnly:S,additionalLanguages:v},g)=>{let{sandpack:k}=T(),{code:$,updateCode:w,readOnly:X}=ut(),{activeFile:A,status:ae,editorState:W}=k,Q=t!=null?t:k.visibleFiles.length>1,G=(0,ur.useClasser)(b),q=C=>{w(C)};return Me.createElement(ne,{className:G("editor"),style:e},Q&&Me.createElement(ht,{closableTabs:a}),Me.createElement("div",{className:l(G("code-editor"),Vt)},Me.createElement(Be,{key:A,ref:g,additionalLanguages:v,code:$,editorState:W,extensions:p,extensionsKeymap:d,filePath:A,id:h,initMode:c||k.initMode,onCodeUpdate:q,readOnly:y||X,showInlineErrors:s,showLineNumbers:o,showReadOnly:S,wrapContent:n}),r&&ae==="idle"?Me.createElement(gt,null):null))});var fr=f(require("@code-hike/classer")),Le=f(require("react"));var Do=Le.forwardRef((p,c)=>{var d=p,{showTabs:e,showLineNumbers:t,decorators:o,code:s,initMode:r,wrapContent:n}=d,a=N(d,["showTabs","showLineNumbers","decorators","code","initMode","wrapContent"]);let{sandpack:h}=T(),{code:y}=ut(),S=(0,fr.useClasser)(b),v=e!=null?e:h.visibleFiles.length>1;return Le.createElement(ne,u({},a),v?Le.createElement(ht,null):null,Le.createElement("div",{className:l(S("code-editor"),Vt)},Le.createElement(Be,{ref:c,code:s!=null?s:y,decorators:o,filePath:h.activeFile,initMode:r||h.initMode,showLineNumbers:t,showReadOnly:!1,wrapContent:n,readOnly:!0})),h.status==="idle"?Le.createElement(gt,null):null)});var Ho=f(require("react"));var Yt=f(require("react"));var qe=f(require("react"));var hr=f(require("@code-hike/classer")),Je=f(require("react"));var Tn=m({borderRadius:"0",width:"100%",padding:0,marginBottom:"$space$2",span:{textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden"},svg:{marginRight:"$space$1"}}),Gt=({selectFile:e,path:t,active:o,onClick:s,depth:r,isDirOpen:n})=>{let a=(0,hr.useClasser)(b),c=h=>{e&&e(t),s==null||s(h)},p=t.split("/").filter(Boolean).pop(),d=()=>e?Je.createElement(xo,null):n?Je.createElement(ko,null):Je.createElement(Co,null);return Je.createElement("button",{className:l(a("button","explorer"),F,Tn),"data-active":o,onClick:c,style:{paddingLeft:18*r+"px"},title:p,type:"button"},d(),Je.createElement("span",null,p))};var gr=({prefixedPath:e,files:t,selectFile:o,activeFile:s,depth:r,autoHiddenFiles:n,visibleFiles:a})=>{let[c,p]=qe.useState(!0);return qe.createElement("div",{key:e},qe.createElement(Gt,{depth:r,isDirOpen:c,onClick:()=>p(h=>!h),path:e+"/"}),c&&qe.createElement(Zt,{activeFile:s,autoHiddenFiles:n,depth:r+1,files:t,prefixedPath:e,selectFile:o,visibleFiles:a}))};var br=({autoHiddenFiles:e,visibleFiles:t,files:o,prefixedPath:s})=>{let r=t.length>0,n=e&&!r,a=e&&!!r,c=Object.keys(o).filter(h=>{var S;let y=h.startsWith(s);return a?y&&t.includes(h):n?y&&!((S=o[h])==null?void 0:S.hidden):y}).map(h=>h.substring(s.length)),p=new Set(c.filter(h=>h.includes("/")).map(h=>`${s}${h.split("/")[0]}/`)),d=c.filter(h=>!h.includes("/")).map(h=>`${s}${h}`);return{directories:Array.from(p),modules:d}};var Zt=({depth:e=0,activeFile:t,selectFile:o,prefixedPath:s,files:r,autoHiddenFiles:n,visibleFiles:a})=>{let{directories:c,modules:p}=br({visibleFiles:a,autoHiddenFiles:n,prefixedPath:s,files:r});return Yt.createElement("div",null,c.map(d=>Yt.createElement(gr,{key:d,activeFile:t,autoHiddenFiles:n,depth:e,files:r,prefixedPath:d,selectFile:o,visibleFiles:a})),p.map(d=>Yt.createElement(Gt,{key:d,active:t===d,depth:e,path:d,selectFile:o})))};var Nn=m({padding:"$space$3",overflow:"auto",height:"100%"}),$n=s=>{var r=s,{className:e,autoHiddenFiles:t=!1}=r,o=N(r,["className","autoHiddenFiles"]);let{sandpack:n}=T();return Ho.createElement("div",u({className:l(Te,Nn,`${b}-file-explorer`,e)},o),Ho.createElement(Zt,{activeFile:n.activeFile,autoHiddenFiles:t,files:n.files,prefixedPath:"/",selectFile:n.openFile,visibleFiles:n.visibleFilesFromProps}))};var Sr=f(require("@code-hike/classer")),Y=f(require("react"));var yr=e=>{let t=e.match(/(https?:\/\/.*?)\//);return t&&t[1]?[t[1],e.replace(t[1],"")]:[e,"/"]};var Mn=m({display:"flex",alignItems:"center",height:"$layout$headerHeight",borderBottom:"1px solid $colors$surface2",padding:"$space$3 $space$2",background:"$colors$surface1"}),Ln=m({backgroundColor:"$colors$surface2",color:"$colors$clickable",padding:"$space$1 $space$3",borderRadius:"99999px",border:"1px solid $colors$surface2",height:"24px",lineHeight:"24px",fontSize:"inherit",outline:"none",flex:1,marginLeft:"$space$4",width:"0",transition:"background $transitions$default","&:hover":{backgroundColor:"$colors$surface3"},"&:focus":{backgroundColor:"$surface1",border:"1px solid $colors$accent",color:"$colors$base"}}),Bo=r=>{var n=r,{clientId:e,onURLChange:t,className:o}=n,s=N(n,["clientId","onURLChange","className"]);var q;let[a,c]=Y.useState(""),{sandpack:p,dispatch:d,listen:h}=T(),[y,S]=Y.useState((q=p.startRoute)!=null?q:"/"),[v,g]=Y.useState(!1),[k,$]=Y.useState(!1),w=(0,Sr.useClasser)(b);Y.useEffect(()=>{let C=h(O=>{if(O.type==="urlchange"){let{url:be,back:x,forward:R}=O,[z,D]=yr(be);c(z),S(D),g(x),$(R)}},e);return()=>C()},[]);let X=C=>{let O=C.target.value.startsWith("/")?C.target.value:`/${C.target.value}`;S(O)},A=C=>{C.code==="Enter"&&(C.preventDefault(),C.stopPropagation(),typeof t=="function"&&t(a+C.currentTarget.value))},ae=()=>{d({type:"refresh"})},W=()=>{d({type:"urlback"})},Q=()=>{d({type:"urlforward"})},G=l(w("button","icon"),F,Hs,m({minWidth:"$space$6",justifyContent:"center"}));return Y.createElement("div",u({className:l(w("navigator"),Mn,o)},s),Y.createElement("button",{"aria-label":"Go back one page",className:G,disabled:!v,onClick:W,type:"button"},Y.createElement(bo,null)),Y.createElement("button",{"aria-label":"Go forward one page",className:G,disabled:!k,onClick:Q,type:"button"},Y.createElement(yo,null)),Y.createElement("button",{"aria-label":"Refresh page",className:G,onClick:ae,type:"button"},Y.createElement(nt,null)),Y.createElement("input",{"aria-label":"Current Sandpack URL",className:l(w("input"),Ln),name:"Current Sandpack URL",onChange:X,onKeyDown:A,type:"text",value:y}))};var $r=f(require("@code-hike/classer")),U=f(require("react"));var vr=f(require("react"));var _o=()=>{var o;let{sandpack:e}=T(),{error:t}=e;return vr.useEffect(()=>{e.errorScreenRegisteredRef.current=!0},[]),(o=t==null?void 0:t.message)!=null?o:null};var yt=f(require("react"));var Jt=200,jo=(e,t)=>{let{sandpack:o,listen:s}=T(),[r,n]=yt.useState("LOADING");return yt.useEffect(()=>{o.loadingScreenRegisteredRef.current=!0;let a=s(c=>{c.type==="start"&&c.firstLoad===!0&&n("LOADING"),c.type==="done"&&n(p=>p==="LOADING"?"PRE_FADING":"HIDDEN")},e);return()=>{a()}},[e,o.status==="idle"]),yt.useEffect(()=>{let a;return r==="PRE_FADING"&&!t?n("FADING"):r==="FADING"&&(a=setTimeout(()=>n("HIDDEN"),Jt)),()=>{clearTimeout(a)}},[r,t]),o.status==="timeout"?"TIMEOUT":o.status!=="running"?"HIDDEN":r};var Uo=e=>{let{dispatch:t}=T();return{refresh:()=>t({type:"refresh"},e),back:()=>t({type:"urlback"},e),forward:()=>t({type:"urlforward"},e)}};function wn(e){var r,n;let{activeFile:t,bundlerState:o}=e;if(o==null)return null;let s=o.transpiledModules[t+":"];return(n=(r=s==null?void 0:s.source)==null?void 0:r.compiledCode)!=null?n:null}var zo=()=>{let{sandpack:e}=T();return e.status!=="running"?null:wn(e)};var St=f(require("react"));var vt=()=>{let{sandpack:e,listen:t,dispatch:o}=T(),s=St.useRef(null),r=St.useRef(it());return St.useEffect(()=>{let a=s.current,c=r.current;return a!==null&&e.registerBundler(a,c),()=>e.unregisterBundler(c)},[]),{sandpack:e,getClient:()=>e.clients[r.current]||null,clientId:r.current,iframe:s,listen:a=>t(a,r.current),dispatch:a=>o(a,r.current)}};var kr=f(require("@code-hike/classer")),Vo=f(require("react"));var kt=s=>{var r=s,{children:e,className:t}=r,o=N(r,["children","className"]);let n=_o(),a=(0,kr.useClasser)(b);return!n&&!e?null:Vo.createElement("div",u({className:l(a("overlay","error"),ft,jt,t),translate:"no"},o),Vo.createElement("div",{className:l(a("error-message"),Ze)},n||e))};var Tr=f(require("@code-hike/classer")),_e=f(require("react"));var Er=f(require("@code-hike/classer")),he=f(require("react"));var Rr=f(require("@code-hike/classer")),Xo=f(require("react"));var Cr=f(require("lz-string")),ce=f(require("react"));var Fn=e=>Cr.default.compressToBase64(JSON.stringify(e)).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,""),xr="https://codesandbox.io/api/v1/sandboxes/define",An=(e,t)=>{let o=Object.keys(e).reduce((s,r)=>{let n=r.replace("/",""),a={content:e[r].code,isBinary:!1};return M(u({},s),{[n]:a})},{});return Fn(u({files:o},t?{template:t}:null))},qt=o=>{var s=o,{children:e}=s,t=N(s,["children"]);var p,d,h;let{sandpack:r}=T(),n=ce.useRef(null),[a,c]=ce.useState();return ce.useEffect(function(){let S=setTimeout(()=>{let v=An(r.files,r.environment),g=new URLSearchParams({parameters:v,query:new URLSearchParams({file:r.activeFile,utm_medium:"sandpack"}).toString()});c(g)},600);return()=>{clearTimeout(S)}},[r.activeFile,r.environment,r.files]),ce.useEffect(function(){r.openInCSBRegisteredRef.current=!0},[]),((h=(d=(p=a==null?void 0:a.get)==null?void 0:p.call(a,"parameters"))==null?void 0:d.length)!=null?h:0)>1500?ce.createElement("button",u({onClick:()=>{var y;return(y=n.current)==null?void 0:y.submit()},title:"Open in CodeSandbox"},t),ce.createElement("form",{ref:n,action:xr,method:"POST",style:{visibility:"hidden"},target:"_blank"},Array.from(a,([y,S])=>ce.createElement("input",{key:y,name:y,type:"hidden",value:S}))),e):ce.createElement("a",u({href:`${xr}?${a==null?void 0:a.toString()}`,rel:"noreferrer noopener",target:"_blank",title:"Open in CodeSandbox"},t),e)};var Ke=()=>{let e=(0,Rr.useClasser)(b);return Xo.createElement(qt,{className:l(e("button","icon-standalone"),F,me,te)},Xo.createElement(vo,null))};var Wo=m({transform:"translate(-4px, 9px) scale(0.13, 0.13)","*":{position:"absolute",width:"96px",height:"96px"}}),Pn=m({position:"absolute",right:"$space$2",bottom:"$space$2",zIndex:"$top",width:"32px",height:"32px",borderRadius:"$border$radius",[`.${Wo}`]:{display:"flex"},[`.${F}`]:{display:"none"},[`&:hover .${F}`]:{display:"flex"},[`&:hover .${Wo}`]:{display:"none"}}),In=Mt({"0%":{transform:"rotateX(-25.5deg) rotateY(45deg)"},"100%":{transform:"rotateX(-25.5deg) rotateY(405deg)"}}),On=m({animation:`${In} 1s linear infinite`,animationFillMode:"forwards",transformStyle:"preserve-3d",transform:"rotateX(-25.5deg) rotateY(45deg)","*":{border:"10px solid $colors$clickable",borderRadius:"8px",background:"$colors$surface1"},".top":{transform:"rotateX(90deg) translateZ(44px)",transformOrigin:"50% 50%"},".bottom":{transform:"rotateX(-90deg) translateZ(44px)",transformOrigin:"50% 50%"},".front":{transform:"rotateY(0deg) translateZ(44px)",transformOrigin:"50% 50%"},".back":{transform:"rotateY(-180deg) translateZ(44px)",transformOrigin:"50% 50%"},".left":{transform:"rotateY(-90deg) translateZ(44px)",transformOrigin:"50% 50%"},".right":{transform:"rotateY(90deg) translateZ(44px)",transformOrigin:"50% 50%"}}),Kt=s=>{var r=s,{className:e,showOpenInCodeSandbox:t}=r,o=N(r,["className","showOpenInCodeSandbox"]);let n=(0,Er.useClasser)(b);return he.createElement("div",u({className:l(n("cube-wrapper"),Pn,e),title:"Open in CodeSandbox"},o),t&&he.createElement(Ke,null),he.createElement("div",{className:l(n("cube"),Wo)},he.createElement("div",{className:l(n("sides"),On)},he.createElement("div",{className:"top"}),he.createElement("div",{className:"right"}),he.createElement("div",{className:"bottom"}),he.createElement("div",{className:"left"}),he.createElement("div",{className:"front"}),he.createElement("div",{className:"back"}))))};var Dn=m({backgroundColor:"$colors$surface1"}),Ct=a=>{var c=a,{clientId:e,loading:t,className:o,style:s,showOpenInCodeSandbox:r}=c,n=N(c,["clientId","loading","className","style","showOpenInCodeSandbox"]);let p=jo(e,t),d=(0,Tr.useClasser)(b);if(p==="HIDDEN")return null;if(p==="TIMEOUT")return _e.createElement("div",u({className:l(d("overlay","error"),ft,jt,o)},n),_e.createElement("div",{className:l(d("error-message"),Ze)},"Unable to establish connection with the sandpack bundler. Make sure you are online or try again later. If the problem persists, please report it via"," ",_e.createElement("a",{className:l(d("error-message"),Ze),href:"mailto:hello@codesandbox.io?subject=Sandpack Timeout Error"},"email")," ","or submit an issue on"," ",_e.createElement("a",{className:l(d("error-message"),Ze),href:"https://github.com/codesandbox/sandpack/issues",rel:"noreferrer noopener",target:"_blank"},"GitHub.")));let h=p==="LOADING"||p==="PRE_FADING";return _e.createElement("div",u({className:l(d("overlay","loading"),ft,Dn,o),style:M(u({},s),{opacity:h?1:0,transition:`opacity ${Jt}ms ease-out`})},n),_e.createElement(Kt,{showOpenInCodeSandbox:r}))};var Nr=f(require("@code-hike/classer")),Go=f(require("react"));var Zo=({clientId:e})=>{let{refresh:t}=Uo(e),o=(0,Nr.useClasser)(b);return Go.createElement("button",{className:l(o("button","icon-standalone"),F,me,te),onClick:t,title:"Refresh Sandpack",type:"button"},Go.createElement(nt,null))};var Hn=m({flex:1,display:"flex",flexDirection:"column",background:"white",overflow:"auto",position:"relative"}),Bn=m({border:"0",outline:"0",width:"100%",height:"100%",minHeight:"160px",maxHeight:"2000px",flex:1}),_n=m({display:"flex",position:"absolute",bottom:"$space$2",right:"$space$2",zIndex:"$overlay","> *":{marginLeft:"$space$2"}}),Yo=U.forwardRef((d,p)=>{var h=d,{showNavigator:e=!1,showRefreshButton:t=!0,showOpenInCodeSandbox:o=!0,showSandpackErrorOverlay:s=!0,actionsChildren:r=U.createElement(U.Fragment,null),children:n,className:a}=h,c=N(h,["showNavigator","showRefreshButton","showOpenInCodeSandbox","showSandpackErrorOverlay","actionsChildren","children","className"]);let{sandpack:y,listen:S,iframe:v,getClient:g,clientId:k}=vt(),[$,w]=U.useState(null),{status:X,errorScreenRegisteredRef:A,openInCSBRegisteredRef:ae,loadingScreenRegisteredRef:W}=y,Q=(0,$r.useClasser)(b);ae.current=!0,A.current=!0,W.current=!0,U.useEffect(()=>S(C=>{C.type==="resize"&&w(C.height)}),[]),U.useImperativeHandle(p,()=>({clientId:k,getClient:g}),[g,k]);let G=q=>{!v.current||(v.current.src=q)};return U.createElement(ne,u({className:l(`${b}-preview`,a)},c),e&&U.createElement(Bo,{clientId:k,onURLChange:G}),U.createElement("div",{className:l(Q("preview-container"),Hn)},U.createElement("iframe",{ref:v,className:l(Q("preview-iframe"),Bn),style:{height:$||void 0},title:"Sandpack Preview"}),s&&U.createElement(kt,null),U.createElement("div",{className:l(Q("preview-actions"),_n)},r,!e&&t&&X==="running"&&U.createElement(Zo,{clientId:k}),o&&U.createElement(Ke,null)),U.createElement(Ct,{clientId:k,showOpenInCodeSandbox:o}),n))});var Mr=f(require("@code-hike/classer")),Se=f(require("react"));var jn=m({display:"flex",flexDirection:"column",width:"100%",position:"relative",overflow:"auto",minHeight:"160px",flex:1}),Un=o=>{var s=o,{className:e}=s,t=N(s,["className"]);let{sandpack:r}=T(),n=zo(),a=(0,Mr.useClasser)(b),c=Se.useRef(null);return Se.useEffect(()=>{let p=c.current;return p&&r.registerBundler(p,"hidden"),()=>{r.unregisterBundler("hidden")}},[]),Se.createElement("div",u({className:l(a("transpiled-code"),Te,jn,e)},t),Se.createElement(Do,u({code:n!=null?n:"",initMode:r.initMode},t)),Se.createElement("iframe",{ref:c,style:{display:"none"},title:"transpiled sandpack code"}),Se.createElement(kt,null),Se.createElement(Ct,{clientId:"hidden",showOpenInCodeSandbox:!1}))};var Lr=f(require("@code-hike/classer")),ge=f(require("react"));var zn=m({height:"$layout$height",width:"100%"}),Vn=r=>{var n=r,{clientId:e,theme:t,className:o}=n,s=N(n,["clientId","theme","className"]);let{listen:a,sandpack:c}=T(),{themeMode:p}=Oe(),d=(0,Lr.useClasser)(b),h=ge.useRef(),[y,S]=ge.useState(null);return ge.useEffect(()=>{import("react-devtools-inline/frontend").then(v=>{h.current=v})},[]),ge.useEffect(()=>a(g=>{var k;if(g.type==="activate-react-devtools"){let $=e?c.clients[e]:Object.values(c.clients)[0],w=(k=$==null?void 0:$.iframe)==null?void 0:k.contentWindow;h.current&&w&&S(h.current.initialize(w))}}),[h,e,a,c.clients]),ge.useEffect(()=>{c.registerReactDevTools("legacy")},[]),y?ge.createElement("div",u({className:l(d("devtools"),zn,o)},s),ge.createElement(y,{browserTheme:t!=null?t:p})):null};var H=f(require("react"));var wr=f(require("@code-hike/classer")),Qt=f(require("react"));var Fr=m({border:"1px solid $colors$surface2",display:"flex",flexWrap:"wrap",alignItems:"stretch",borderRadius:"$border$radius",overflow:"hidden",position:"relative",backgroundColor:"$colors$surface2",gap:1,[`> .${Te}`]:{flexGrow:1,flexShrink:1,flexBasis:"0",minWidth:"350px",height:"$layout$height","@media print":{height:"auto",display:"block"},"@media screen and (max-width: 768px)":{height:"auto",minWidth:"100% !important;"}},[`> .${b}-file-explorer`]:{flex:.2,minWidth:200}}),Jo=Qt.forwardRef((r,s)=>{var n=r,{children:e,className:t}=n,o=N(n,["children","className"]);let{sandpack:a}=T(),c=(0,wr.useClasser)(b),p=Ut(a.lazyAnchorRef,s);return Qt.createElement("div",u({ref:p,className:l(c("layout"),Fr,t)},o),e)});var Re=f(require("react"));var Xn=m({justifyContent:"space-between",borderBottom:"1px solid $colors$surface2",padding:"$space$3 $space$2",fontFamily:"$font$mono",maxHeight:"$layout$headerHeight",overflowX:"auto",whiteSpace:"nowrap"}),qo=m({display:"flex",flexDirection:"row",alignItems:"center",gap:"$space$2"}),Ar=({status:e,suiteOnly:t,setSuiteOnly:o,setVerbose:s,verbose:r,watchMode:n,setWatchMode:a,showSuitesOnly:c})=>{let p=l(F,te,m({padding:"$space$1 $space$3"}));return Re.createElement("div",{className:l(Xn,qo)},Re.createElement("div",{className:l(qo)},Re.createElement("p",{className:l(m({lineHeight:1,margin:0,color:"$colors$base",fontSize:"$font$size",display:"flex",alignItems:"center",gap:"$space$2"}))},Re.createElement(Pe,null),"Tests")),Re.createElement("div",{className:l(qo)},c&&Re.createElement("button",{className:p,"data-active":t,disabled:e==="initialising",onClick:o},"Suite only"),Re.createElement("button",{className:p,"data-active":r,disabled:e==="initialising",onClick:s},"Verbose"),Re.createElement("button",{className:p,"data-active":n,disabled:e==="initialising",onClick:a},"Watch")))};var Pr=f(require("@code-hike/classer")),Ko=f(require("react"));var Ir=({onClick:e})=>{let t=(0,Pr.useClasser)(b);return Ko.createElement("button",{className:l(t("button","icon-standalone"),F,me,te),onClick:e,title:"Run tests",type:"button"},Ko.createElement(rt,null))};var I=f(require("react"));var Fe=f(require("react"));var we=f(require("react"));var Or=e=>({"--test-pass":e?"#18df16":"#15c213","--test-fail":e?"#df162b":"#c21325","--test-skip":e?"#eace2b":"#c2a813","--test-run":e?"#eace2b":"#c2a813","--test-title":e?"#3fbabe":"#256c6f"}),eo=m({variants:{status:{pass:{color:"var(--test-pass)"},fail:{color:"var(--test-fail)"},skip:{color:"var(--test-skip)"},title:{color:"var(--test-title)"}}}}),ve=eo({status:"pass"}),J=eo({status:"fail"}),to=eo({status:"skip"}),Dr=eo({status:"title"}),Qo=m({variants:{status:{pass:{background:"var(--test-pass)",color:"$colors$surface1"},fail:{background:"var(--test-fail)",color:"$colors$surface1"},run:{background:"var(--test-run)",color:"$colors$surface1"}}}}),Hr=Qo({status:"run"}),Br=Qo({status:"pass"}),es=Qo({status:"fail"});var Wn=m({marginLeft:"$space$4"}),Gn=m({marginBottom:"$space$2",color:"$colors$clickable"}),Zn=m({marginBottom:"$space$2",color:"$colors$hover"}),Yn=m({marginLeft:"$space$2"}),ts=m({marginRight:"$space$2"}),oo=({tests:e,style:t})=>we.default.createElement("div",{className:l(Wn)},e.map(o=>we.default.createElement("div",{key:o.name,className:l(Gn)},o.status==="pass"&&we.default.createElement("span",{className:l(ve,ts)},"\u2713"),o.status==="fail"&&we.default.createElement("span",{className:l(J,ts)},"\u2715"),o.status==="idle"&&we.default.createElement("span",{className:l(to,ts)},"\u25CB"),we.default.createElement("span",{className:l(Zn)},o.name),o.duration!==void 0&&we.default.createElement("span",{className:l(Yn)},"(",o.duration," ms)"))));var _r=f(require("clean-set")),jr=e=>so(e).filter(t=>t.status==="fail"),so=e=>Object.values(e.tests).concat(...Object.values(e.describes).map(so)),Ur=e=>e.map(ro).reduce((t,o)=>({pass:t.pass+o.pass,fail:t.fail+o.fail,skip:t.skip+o.skip,total:t.total+o.total}),{pass:0,skip:0,fail:0,total:0}),ro=e=>so(e).reduce((t,o)=>({pass:o.status==="pass"?t.pass+1:t.pass,fail:o.status==="fail"?t.fail+1:t.fail,skip:o.status==="idle"||o.status==="running"?t.skip+1:t.skip,total:t.total+1}),{pass:0,fail:0,skip:0,total:0}),zr=e=>e.filter(t=>Object.values(t.describes).length>0||Object.values(t.tests).length>0).map(ro).reduce((t,o)=>({pass:t.pass+(o.fail===0?1:0),fail:t.fail+(o.fail>0?1:0),total:t.total+1}),{pass:0,fail:0,total:0}),Vr=e=>Qe(e,so).reduce((t,o)=>t+(o.duration||0),0),no=e=>Object.values(e.describes).length===0&&Object.values(e.tests).length===0,xt=e=>{let t=e.length-1,o=e.slice(0,t),s=e[t];return[o,s]},Qe=(e,t)=>e.map(t).reduce((o,s)=>o.concat(s),[]),ke=(e,t)=>o=>(0,_r.default)(o,e,t);var Jn=m({color:"$colors$hover",marginBottom:"$space$2"}),qn=m({marginLeft:"$space$4"}),os=({describes:e})=>Fe.createElement(Fe.Fragment,null,e.map(t=>{if(no(t))return null;let o=Object.values(t.tests),s=Object.values(t.describes);return Fe.createElement("div",{key:t.name,className:l(qn)},Fe.createElement("div",{className:l(Jn)},t.name),Fe.createElement(oo,{tests:o}),Fe.createElement(os,{describes:s}))}));var Xr=f(require("react"));var Kn=m({color:"$colors$hover",fontSize:"$font$size",padding:"$space$2",whiteSpace:"pre-wrap"}),ss=({error:e,path:t})=>Xr.createElement("div",{className:l(Kn),dangerouslySetInnerHTML:{__html:Qn(e,t)}}),ao=e=>e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'"),Qn=(e,t)=>{let o="";if(e.matcherResult?o=`<span>${ao(e.message).replace(/(expected)/m,`<span class="${ve}">$1</span>`).replace(/(received)/m,`<span class="${J}">$1</span>`).replace(/(Difference:)/m,"<span>$1</span>").replace(/(Expected:)(.*)/m,`<span>$1</span><span class="${ve}">$2</span>`).replace(/(Received:)(.*)/m,`<span>$1</span><span class="${J}">$2</span>`).replace(/^(-.*)/gm,`<span class="${J}">$1</span>`).replace(/^(\+.*)/gm,`<span class="${ve}">$1</span>`)}</span>`:o=ao(e.message),e.mappedErrors&&e.mappedErrors[0]&&e.mappedErrors[0].fileName.endsWith(t)&&e.mappedErrors[0]._originalScriptCode){let r=e.mappedErrors[0]._originalScriptCode||[],n=Math.max(...r.map(c=>(c.lineNumber+"").length))+2,a=Array.from({length:n}).map(()=>" ");o+="<br />",o+="<br />",o+="<div>",r.filter(c=>c.content.trim()).forEach(c=>{let p=(c.lineNumber+"").length,d=[...a];d.length-=p,c.highlight&&(d.length-=2);let h=c.content.indexOf(".to"),y=Array.from({length:a.length+h-(n-1)},()=>" "),S=ao(c.content).replace(/(describe|test|it)(\()('|"|`)(.*)('|"|`)/m,`<span>$1$2$3</span><span class="${Dr}">$4</span><span>$5</span>`).replace(/(expect\()(.*)(\)\..*)(to[\w\d]*)(\()(.*)(\))/m,`<span>$1</span><span class="${J}">$2</span><span>$3</span><span style="text-decoration: underline; font-weight: 900">$4</span><span>$5</span><span class="${ve}">$6</span><span>$7</span>`);o+=`<div ${c.highlight?'style="font-weight:200;"':""}>`+(c.highlight?`<span class="${J}">></span> `:"")+d.join("")+ao(""+c.lineNumber)+" | "+S+"</div>"+(c.highlight?"<div>"+a.join("")+" | "+y.join("")+`<span class="${J}">^</span></div>`:"")}),o+="</div>"}return o.replace(/(?:\r\n|\r|\n)/g,"<br />")};var ea=m({display:"flex",flexDirection:"row",alignItems:"center",marginBottom:"$space$2"}),rs=m({marginBottom:"$space$2"}),ta=m({fontWeight:"bold"}),io=m({borderRadius:"calc($border$radius / 2)"}),oa=m({padding:"$space$1 $space$2",fontFamily:"$font$mono",textTransform:"uppercase",marginRight:"$space$2"}),sa=m({fontFamily:"$font$mono",cursor:"pointer",display:"inline-block"}),ra=m({color:"$colors$clickable",textDecorationStyle:"dotted",textDecorationLine:"underline"}),na=m({color:"$colors$hover",fontWeight:"bold",textDecorationStyle:"dotted",textDecorationLine:"underline"}),Wr=({specs:e,openSpec:t,status:o,verbose:s})=>I.createElement(I.Fragment,null,e.map(r=>{if(r.error)return I.createElement("div",{key:r.name,className:l(rs)},I.createElement(co,{className:l(io,es)},"Error"),I.createElement(Gr,{onClick:()=>t(r.name),path:r.name}),I.createElement(ss,{error:r.error,path:r.name}));if(no(r))return null;let n=Object.values(r.tests),a=Object.values(r.describes),c=ro(r);return I.createElement("div",{key:r.name,className:l(rs)},I.createElement("div",{className:l(ea)},o==="complete"?c.fail>0?I.createElement(co,{className:l(io,es)},"Fail"):I.createElement(co,{className:l(io,Br)},"Pass"):I.createElement(co,{className:l(io,Hr)},"Run"),I.createElement(Gr,{onClick:()=>t(r.name),path:r.name})),s&&I.createElement(oo,{tests:n}),s&&I.createElement(os,{describes:a}),jr(r).map(p=>I.createElement("div",{key:`failing-${p.name}`,className:l(rs)},I.createElement("div",{className:l(ta,J)},"\u25CF ",p.blocks.join(" \u203A ")," \u203A ",p.name),p.errors.map(d=>I.createElement(ss,{key:`failing-${p.name}-error`,error:d,path:p.path})))))})),co=({children:e,className:t})=>I.createElement("span",{className:l(oa,t)},e),Gr=({onClick:e,path:t})=>{let o=t.split("/"),s=o.slice(0,o.length-1).join("/")+"/",r=o[o.length-1];return I.createElement("button",{className:l(F,sa),onClick:e},I.createElement("span",{className:l(ra)},s),I.createElement("span",{className:l(na)},r))};var oe=f(require("react"));var Zr=m({marginBottom:"$space$2"}),ns=m({fontWeight:"bold",color:"$colors$hover",whiteSpace:"pre-wrap"}),aa=m({fontWeight:"bold",color:"$colors$clickable"}),Yr=({suites:e,tests:t,duration:o})=>{let s="Test suites: ",r=n=>{let a=s.length-n.length,c=Array.from({length:a},()=>" ").join("");return n+c};return oe.createElement("div",{className:l(aa)},oe.createElement("div",{className:l(Zr)},oe.createElement("span",{className:l(ns)},s),e.fail>0&&oe.createElement("span",{className:l(J)},e.fail," failed,"," "),e.pass>0&&oe.createElement("span",{className:l(ve)},e.pass," passed,"," "),oe.createElement("span",null,e.total," total")),oe.createElement("div",{className:l(Zr)},oe.createElement("span",{className:l(ns)},r("Tests:")),t.fail>0&&oe.createElement("span",{className:l(J)},t.fail," failed,"," "),t.skip>0&&oe.createElement("span",{className:l(to)},t.skip," skipped,"," "),t.pass>0&&oe.createElement("span",{className:l(ve)},t.pass," passed,"," "),oe.createElement("span",null,t.total," total")),oe.createElement("div",{className:l(ns)},r("Time:"),o/1e3,"s"))};var ia=m({display:"flex",position:"absolute",bottom:"$space$2",right:"$space$2",zIndex:"$overlay","> *":{marginLeft:"$space$2"}}),ca={specs:{},status:"initialising",verbose:!1,watchMode:!0,suiteOnly:!1,specsCount:0},lo=c=>{var p=c,{verbose:e=!1,watchMode:t=!0,style:o,className:s,onComplete:r,actionsChildren:n}=p,a=N(p,["verbose","watchMode","style","className","onComplete","actionsChildren"]);let d=Oe(),{getClient:h,iframe:y,listen:S,sandpack:v}=vt(),[g,k]=H.useState(M(u({},ca),{verbose:e,watchMode:t}));H.useEffect(()=>{let C=[],O="";return S(x=>{if(!(g.suiteOnly&&("path"in x&&x.path!==v.activeFile||"test"in x&&"path"in x.test&&x.test.path!==v.activeFile))){if(x.type==="action"&&x.action==="clear-errors"&&x.source==="jest"){O=x.path;return}if(x.type==="test"){if(x.event==="initialize_tests")return C=[],O="",g.watchMode?$():k(R=>M(u({},R),{status:"idle",specs:{}}));if(x.event==="test_count")return k(R=>M(u({},R),{specsCount:x.count}));if(x.event==="total_test_start")return C=[],k(R=>M(u({},R),{status:"running"}));if(x.event==="total_test_end")return k(R=>(r!==void 0&&r(R.specs),M(u({},R),{status:"complete"})));if(x.event==="add_file")return k(ke(["specs",x.path],{describes:{},tests:{},name:x.path}));if(x.event==="remove_file")return k(R=>{let z=Object.entries(R.specs).reduce((D,[V,le])=>V===x.path?D:M(u({},D),{[V]:le}),{});return M(u({},R),{specs:z})});if(x.event==="file_error")return k(ke(["specs",x.path,"error"],x.error));if(x.event==="describe_start"){C.push(x.blockName);let[R,z]=xt(C),D=O;return z===void 0?void 0:k(ke(["specs",D,"describes",...Qe(R,V=>[V,"describes"]),z],{name:x.blockName,tests:{},describes:{}}))}if(x.event==="describe_end"){C.pop();return}if(x.event==="add_test"){let[R,z]=xt(C),D={status:"idle",errors:[],name:x.testName,blocks:[...C],path:x.path};return k(z===void 0?ke(["specs",x.path,"tests",x.testName],D):ke(["specs",x.path,"describes",...Qe(R,V=>[V,"describes"]),z,"tests",x.testName],D))}if(x.event==="test_start"){let{test:R}=x,[z,D]=xt(R.blocks),V={status:"running",name:R.name,blocks:R.blocks,path:R.path,errors:[]};return k(D===void 0?ke(["specs",R.path,"tests",R.name],V):ke(["specs",R.path,"describes",...Qe(z,le=>[le,"describes"]),D,"tests",R.name],V))}if(x.event==="test_end"){let{test:R}=x,[z,D]=xt(R.blocks),V={status:R.status,errors:R.errors,duration:R.duration,name:R.name,blocks:R.blocks,path:R.path};return k(D===void 0?ke(["specs",R.path,"tests",R.name],V):ke(["specs",R.path,"describes",...Qe(z,le=>[le,"describes"]),D,"tests",R.name],V))}}}})},[g.suiteOnly,g.watchMode,v.activeFile]);let $=()=>{k(O=>M(u({},O),{status:"running",specs:{}}));let C=h();C&&C.dispatch({type:"run-all-tests"})},w=()=>{k(O=>M(u({},O),{status:"running",specs:{}}));let C=h();C&&C.dispatch({type:"run-tests",path:v.activeFile})},X=/.*\.(test|spec)\.[tj]sx?$/,A=v.activeFile.match(X)!==null;H.useEffect(function(){return S(({type:be})=>{be==="done"&&g.watchMode&&(A?w():$())})},[w,$,g.watchMode,A]);let ae=C=>{v.setActiveFile(C)},W=Object.values(g.specs),Q=Vr(W),G=Ur(W),q=zr(W);return H.createElement(ne,u({className:l(`${b}-tests`,s),style:u(u({},Or(d.themeMode==="dark")),o)},a),H.createElement("iframe",{ref:y,style:{display:"none"},title:"Sandpack Tests"}),H.createElement(Ar,{setSuiteOnly:()=>k(C=>M(u({},C),{suiteOnly:!C.suiteOnly})),setVerbose:()=>k(C=>M(u({},C),{verbose:!C.verbose})),setWatchMode:()=>{k(C=>M(u({},C),{watchMode:!C.watchMode}))},showSuitesOnly:g.specsCount>1,status:g.status,suiteOnly:g.suiteOnly,verbose:g.verbose,watchMode:g.watchMode}),g.status==="running"||g.status==="initialising"?H.createElement(Kt,{showOpenInCodeSandbox:!1}):H.createElement("div",{className:ia.toString()},n,H.createElement(Ir,{onClick:g.suiteOnly?w:$})),H.createElement("div",{className:l(la)},W.length===0&&g.status==="complete"?H.createElement("div",{className:l(pa)},H.createElement("p",null,"No test files found."),H.createElement("p",null,"Test match:"," ",H.createElement("span",{className:l(J)},X.toString()))):H.createElement(H.Fragment,null,H.createElement(Wr,{openSpec:ae,specs:W,status:g.status,verbose:g.verbose}),g.status==="complete"&&G.total>0&&H.createElement(Yr,{duration:Q,suites:q,tests:G}))))},la=m({padding:"$space$4",height:"100%",overflow:"auto",display:"flex",flexDirection:"column",position:"relative",fontFamily:"$font$mono"}),pa=m({fontWeight:"bold",color:"$colors$base"});var se=f(require("react"));var Jr=f(require("@code-hike/classer")),as=f(require("react"));var qr=({onClick:e})=>{let t=(0,Jr.useClasser)("sp");return as.default.createElement("button",{className:l(t("button","icon-standalone"),F,me,te,m({position:"absolute",bottom:"$space$2",right:"$space$2"})),onClick:e},as.default.createElement(So,null))};var po=f(require("react"));var Kr=()=>po.default.createElement("div",{className:l(m({borderBottom:"1px solid $colors$surface2",padding:"$space$3 $space$2",height:"$layout$headerHeight"}))},po.default.createElement("p",{className:l(m({lineHeight:1,margin:0,color:"$colors$base",fontSize:"$font$size",display:"flex",alignItems:"center",gap:"$space$2"}))},po.default.createElement(Pe,null),"Console"));var uo=f(require("react"));var Qr=["SyntaxError: ","Error in sandbox:"],en={id:"random",method:"clear",data:["Console was cleared"]},is="@t",cs="@r",ls=1e4,ps=2,mo=400,ds=mo*2;var fo=e=>{var a,c;let[t,o]=uo.useState([]),{listen:s}=T(),r=(a=e==null?void 0:e.showSyntaxError)!=null?a:!1,n=(c=e==null?void 0:e.maxMessageCount)!=null?c:ds;return uo.useEffect(()=>s(d=>{if(d.type==="console"&&d.codesandbox){if(d.log.find(({method:y})=>y==="clear"))return o([en]);let h=r?d.log:d.log.filter(y=>y.data.filter(v=>typeof v!="string"?!0:Qr.filter(k=>v.startsWith(k)).length===0).length>0);if(!h)return;o(y=>{let S=[...y,...h].filter((v,g,k)=>g===k.findIndex($=>$.id===v.id));for(;S.length>ds;)S.shift();return S})}},e==null?void 0:e.clientId),[s,n,e,r]),{logs:t,reset:()=>o([])}};var ms=function(){return(0,eval)("this")}(),da=typeof ArrayBuffer=="function",ma=typeof Map=="function",ua=typeof Set=="function",Rt;(function(s){s[s.infinity=0]="infinity",s[s.minusInfinity=1]="minusInfinity",s[s.minusZero=2]="minusZero"})(Rt||(Rt={}));var tn={Arithmetic:e=>e===0?1/0:e===1?-1/0:e===2?-0:e,HTMLElement:e=>{let t=document.implementation.createHTMLDocument("sandbox");try{let o=t.createElement(e.tagName);o.innerHTML=e.innerHTML;for(let s of Object.keys(e.attributes))try{o.setAttribute(s,e.attributes[s])}catch(r){}return o}catch(o){return e}},Function:e=>{let t=()=>{};return Object.defineProperty(t,"toString",{value:()=>`function ${e.name}() {${e.body}}`}),t},"[[NaN]]":()=>NaN,"[[undefined]]":()=>{},"[[Date]]":e=>{let t=new Date;return t.setTime(e),t},"[[RegExp]]":e=>new RegExp(e.src,e.flags),"[[Error]]":e=>{let t=ms[e.name]||Error,o=new t(e.message);return o.stack=e.stack,o},"[[ArrayBuffer]]":e=>{if(da){let t=new ArrayBuffer(e.length);return new Int8Array(t).set(e),t}return e},"[[TypedArray]]":e=>typeof ms[e.ctorName]=="function"?new ms[e.ctorName](e.arr):e.arr,"[[Map]]":e=>{if(ma){let o=new Map;for(let s=0;s<e.length;s+=2)o.set(e[s],e[s+1]);return o}let t=[];for(let o=0;o<e.length;o+=2)t.push([e[i],e[i+1]]);return t},"[[Set]]":e=>{if(ua){let t=new Set;for(let o=0;o<e.length;o++)t.add(e[o]);return t}return e}};var on=e=>{if(typeof e=="string"||typeof e=="number"||e===null)return e;if(Array.isArray(e))return e.map(on);if(typeof e=="object"&&is in e){let t=e[is];return tn[t](e.data)}return e},fa=(e,t,o)=>`[${e.reduce((r,n,a)=>`${r}${a?", ":""}${Et(n,t,o)}`,"")}]`,ha=(e,t,o)=>{let s=e.constructor.name!=="Object"?`${e.constructor.name} `:"";if(o>ps)return s;let r=Object.entries(e),n=Object.entries(e).reduce((a,[c,p],d)=>{let h=d===0?"":", ",y=r.length>10?` - `:"",S=Et(p,t,o);return d===mo?a+y+"...":d>mo?a:a+`${h}${y}${c}: `+S},"");return`${s}{ ${n}${r.length>10?` -diff --git a/node_modules/@codesandbox/sandpack-react/dist/esm/index.js b/node_modules/@codesandbox/sandpack-react/dist/esm/index.js -index 985904c..3513462 100644 ---- a/node_modules/@codesandbox/sandpack-react/dist/esm/index.js -+++ b/node_modules/@codesandbox/sandpack-react/dist/esm/index.js -@@ -92,7 +92,7 @@ h1 { - <body> - <div id="root"></div> - </body> --</html>`},"/package.json":{code:JSON.stringify({dependencies:{react:"^18.0.0","react-dom":"^18.0.0","react-scripts":"^4.0.0"},main:"/index.js"})}},main:"/App.js",environment:"create-react-app"};var Ht={files:{"tsconfig.json":{code:`{ -+</html>`},"/package.json":{code:JSON.stringify({dependencies:{react:"^18.0.0","react-dom":"^18.0.0","react-scripts":"^5.0.0"},main:"/index.js"})}},main:"/App.js",environment:"create-react-app"};var Ht={files:{"tsconfig.json":{code:`{ - "include": [ - "./**/*" - ], -@@ -140,7 +140,7 @@ h1 { - <body> - <div id="root"></div> - </body> --</html>`},"/package.json":{code:JSON.stringify({dependencies:{react:"^18.0.0","react-dom":"^18.0.0","react-scripts":"^4.0.0"},devDependencies:{"@types/react":"^18.0.0","@types/react-dom":"^18.0.0",typescript:"^4.0.0"},main:"/index.tsx"})}},main:"/App.tsx",environment:"create-react-app"};var Bt={files:{"/App.tsx":{code:`import { Component } from "solid-js"; -+</html>`},"/package.json":{code:JSON.stringify({dependencies:{react:"^18.0.0","react-dom":"^18.0.0","react-scripts":"^5.0.0"},devDependencies:{"@types/react":"^18.0.0","@types/react-dom":"^18.0.0",typescript:"^4.0.0"},main:"/index.tsx"})}},main:"/App.tsx",environment:"create-react-app"};var Bt={files:{"/App.tsx":{code:`import { Component } from "solid-js"; - - const App: Component = () => { - return <h1>Hello World</h1>; -@@ -395,7 +395,7 @@ createApp(App).mount('#app') - <!-- built files will be auto injected --> - </body> - </html> --`},"/package.json":{code:JSON.stringify({dependencies:{"core-js":"^3.6.5",vue:"^3.0.0-0","@vue/cli-plugin-babel":"4.5.0"},main:"/src/main.js"})}},main:"/src/App.vue",environment:"vue-cli"};var Ie={react:Dt,"react-ts":Ht,vue:Vt,vanilla:Ut,"vanilla-ts":zt,vue3:Xt,angular:Ot,svelte:_t,solid:Bt,"test-ts":jt};var De=e=>{var a,p,d,u,f,b;let t=Oe(e.files),o=Sr({template:e.template,customSetup:e.customSetup,files:t}),s=Oe((p=(a=e.options)==null?void 0:a.visibleFiles)!=null?p:[]),r=((d=e.options)==null?void 0:d.activeFile)?Yo((u=e.options)==null?void 0:u.activeFile,t||{}):void 0;s.length===0&&t&&Object.keys(t).forEach(g=>{let y=t[g];if(typeof y=="string"){s.push(g);return}!r&&y.active&&(r=g,y.hidden===!0&&s.push(g)),y.hidden||s.push(g)}),s.length===0&&(s=[o.main]),o.files[o.entry]||(o.entry=Yo(o.entry,o.files)),!r&&o.main&&(r=o.main),(!r||!o.files[r])&&(r=s[0]),s.includes(r)||s.push(r);let n=yr(o.files,(f=o.dependencies)!=null?f:{},(b=o.devDependencies)!=null?b:{},o.entry);return{visibleFiles:s.filter(g=>n[g]),activeFile:r,files:n,environment:o.environment}},Yo=(e,t)=>{let o=Oe(t),s=Oe(e);if(s in o)return s;if(!e)return null;let r=null,n=0,c=[".js",".jsx",".ts",".tsx"];for(;!r&&n<c.length;){let p=`${s.split(".")[0]}${c[n]}`;o[p]!==void 0&&(r=p),n++}return r},Sr=({files:e,template:t,customSetup:o})=>{if(!t){if(!o)return Ie.vanilla;if(!e||Object.keys(e).length===0)throw new Error("[sandpack-react]: without a template, you must pass at least one file");return{...o,files:st(e)}}let s=Ie[t];if(!s)throw new Error(`[sandpack-react]: invalid template "${t}" provided`);return!o&&!e?s:{files:st({...s.files,...e}),dependencies:{...s.dependencies,...o==null?void 0:o.dependencies},devDependencies:{...s.devDependencies,...o==null?void 0:o.devDependencies},entry:Oe((o==null?void 0:o.entry)||s.entry),main:s.main,environment:(o==null?void 0:o.environment)||s.environment}},st=e=>e?Object.keys(e).reduce((t,o)=>(typeof e[o]=="string"?t[o]={code:e[o]}:t[o]=e[o],t),{}):{};var nt=Er(null),Rr=3e4,Jo=class extends Tr{constructor(t){super(t);this.timeoutHook=null;this.initializeSandpackIframeHook=null;this.handleMessage=t=>{this.timeoutHook&&clearTimeout(this.timeoutHook),t.type==="state"?this.setState({bundlerState:t.state}):t.type==="done"&&!t.compilatonError?this.setState({error:null}):t.type==="action"&&t.action==="show-error"?this.setState({error:Cr(t)}):t.type==="action"&&t.action==="notification"&&t.notificationType==="error"&&this.setState({error:{message:t.title}})};this.registerReactDevTools=t=>{this.setState({reactDevTools:t})};this.updateCurrentFile=t=>{this.updateFile(this.state.activeFile,t)};this.updateFile=(t,o)=>{var r;let s=this.state.files;if(typeof t=="string"&&o){if(o===((r=this.state.files[t])==null?void 0:r.code))return;s={...s,[t]:{code:o}}}else typeof t=="object"&&(s={...s,...st(t)});this.setState({files:xr(s)},this.updateClients)};this.updateClients=()=>{var n,c,a,p;let{files:t,sandpackStatus:o}=this.state,s=(c=(n=this.props.options)==null?void 0:n.recompileMode)!=null?c:"delayed",r=(p=(a=this.props.options)==null?void 0:a.recompileDelay)!=null?p:500;o==="running"&&(s==="immediate"&&Object.values(this.clients).forEach(d=>{d.updatePreview({files:t})}),s==="delayed"&&(window.clearTimeout(this.debounceHook),this.debounceHook=window.setTimeout(()=>{Object.values(this.clients).forEach(d=>{d.updatePreview({files:this.state.files})})},r)))};this.createClient=(t,o)=>{var n,c,a,p,d,u,f,b,g;let s=new kr(t,{files:this.state.files,template:this.state.environment},{externalResources:(n=this.props.options)==null?void 0:n.externalResources,bundlerURL:(c=this.props.options)==null?void 0:c.bundlerURL,startRoute:(a=this.props.options)==null?void 0:a.startRoute,fileResolver:(p=this.props.options)==null?void 0:p.fileResolver,skipEval:(u=(d=this.props.options)==null?void 0:d.skipEval)!=null?u:!1,logLevel:(f=this.props.options)==null?void 0:f.logLevel,showOpenInCodeSandbox:!this.openInCSBRegistered.current,showErrorScreen:!this.errorScreenRegistered.current,showLoadingScreen:!this.loadingScreenRegistered.current,reactDevTools:this.state.reactDevTools,customNpmRegistries:(g=(b=this.props.customSetup)==null?void 0:b.npmRegistries)==null?void 0:g.map(y=>({...y,proxyEnabled:!1}))});return typeof this.unsubscribe!="function"&&(this.unsubscribe=s.listen(this.handleMessage),this.timeoutHook=setTimeout(()=>{this.setState({sandpackStatus:"timeout"})},Rr)),this.unsubscribeClientListeners[o]=this.unsubscribeClientListeners[o]||{},this.queuedListeners[o]&&(Object.keys(this.queuedListeners[o]).forEach(y=>{let R=this.queuedListeners[o][y],N=s.listen(R);this.unsubscribeClientListeners[o][y]=N}),this.queuedListeners[o]={}),Object.entries(this.queuedListeners.global).forEach(([y,R])=>{let N=s.listen(R);this.unsubscribeClientListeners[o][y]=N}),s};this.runSandpack=()=>{Object.keys(this.preregisteredIframes).forEach(t=>{let o=this.preregisteredIframes[t];this.clients[t]=this.createClient(o,t)}),this.setState({sandpackStatus:"running"})};this.registerBundler=(t,o)=>{this.state.sandpackStatus==="running"?this.clients[o]=this.createClient(t,o):this.preregisteredIframes[o]=t};this.unregisterBundler=t=>{var r;let o=this.clients[t];o?(o.cleanup(),(r=o.iframe.contentWindow)==null||r.location.replace("about:blank"),delete this.clients[t]):delete this.preregisteredIframes[t],this.timeoutHook&&clearTimeout(this.timeoutHook),Object.values(this.unsubscribeClientListeners).forEach(n=>{Object.values(n).forEach(a=>a())}),this.setState({sandpackStatus:"idle"})};this.unregisterAllClients=()=>{Object.keys(this.clients).map(this.unregisterBundler),typeof this.unsubscribe=="function"&&(this.unsubscribe(),this.unsubscribe=void 0)};this.setActiveFile=t=>{this.setState({activeFile:t})};this.openFile=t=>{this.setState(({visibleFiles:o})=>{let s=o.includes(t)?o:[...o,t];return{activeFile:t,visibleFiles:s}})};this.closeFile=t=>{this.state.visibleFiles.length!==1&&this.setState(({visibleFiles:o,activeFile:s})=>{let r=o.indexOf(t),n=o.filter(c=>c!==t);return{activeFile:t===s?r===0?o[1]:o[r-1]:s,visibleFiles:n}})};this.deleteFile=t=>{this.setState(({visibleFiles:o,files:s})=>{let r={...s};return delete r[t],{visibleFiles:o.filter(n=>n!==t),files:r}},this.updateClients)};this.addFile=this.updateFile;this.dispatchMessage=(t,o)=>{if(this.state.sandpackStatus!=="running"){console.warn("[sandpack-react]: dispatch cannot be called while in idle mode");return}o?this.clients[o].dispatch(t):Object.values(this.clients).forEach(s=>{s.dispatch(t)})};this.addListener=(t,o)=>{if(o){if(this.clients[o])return this.clients[o].listen(t);{let s=Ae();return this.queuedListeners[o]=this.queuedListeners[o]||{},this.unsubscribeClientListeners[o]=this.unsubscribeClientListeners[o]||{},this.queuedListeners[o][s]=t,()=>{this.queuedListeners[o][s]?delete this.queuedListeners[o][s]:this.unsubscribeClientListeners[o][s]&&(this.unsubscribeClientListeners[o][s](),delete this.unsubscribeClientListeners[o][s])}}}else{let s=Ae();this.queuedListeners.global[s]=t;let n=Object.values(this.clients).map(a=>a.listen(t));return()=>{n.forEach(a=>a())}}};this.resetFile=t=>{let{files:o}=De({template:this.props.template,files:this.props.files,customSetup:this.props.customSetup,options:this.props.options});this.setState(s=>({files:{...s.files,[t]:o[t]}}),this.updateClients)};this.resetAllFiles=()=>{let{files:t}=De({template:this.props.template,files:this.props.files,customSetup:this.props.customSetup,options:this.props.options});this.setState({files:t},this.updateClients)};this._getSandpackState=()=>{let{files:t,activeFile:o,visibleFiles:s,visibleFilesFromProps:r,startRoute:n,bundlerState:c,editorState:a,error:p,sandpackStatus:d,environment:u,initMode:f}=this.state;return{files:t,environment:u,visibleFiles:s,visibleFilesFromProps:r,activeFile:o,startRoute:n,error:p,bundlerState:c,status:d,editorState:a,initMode:f,clients:this.clients,dispatch:this.dispatchMessage,errorScreenRegisteredRef:this.errorScreenRegistered,lazyAnchorRef:this.lazyAnchorRef,listen:this.addListener,loadingScreenRegisteredRef:this.loadingScreenRegistered,openInCSBRegisteredRef:this.openInCSBRegistered,registerBundler:this.registerBundler,runSandpack:this.runSandpack,unregisterBundler:this.unregisterBundler,registerReactDevTools:this.registerReactDevTools,openFile:this.openFile,resetFile:this.resetFile,resetAllFiles:this.resetAllFiles,setActiveFile:this.setActiveFile,updateCurrentFile:this.updateCurrentFile,updateFile:this.updateFile,addFile:this.addFile,closeFile:this.closeFile,deleteFile:this.deleteFile}};var c,a,p,d;let{activeFile:o,visibleFiles:s,files:r,environment:n}=De({template:t.template,files:t.files,customSetup:t.customSetup,options:t.options});this.state={files:r,environment:n,visibleFiles:s,visibleFilesFromProps:s,activeFile:o,startRoute:(c=this.props.options)==null?void 0:c.startRoute,bundlerState:void 0,error:null,sandpackStatus:((p=(a=this.props.options)==null?void 0:a.autorun)!=null?p:!0)?"initial":"idle",editorState:"pristine",initMode:((d=this.props.options)==null?void 0:d.initMode)||"lazy",reactDevTools:void 0},this.queuedListeners={global:{}},this.unsubscribeClientListeners={},this.preregisteredIframes={},this.clients={},this.lazyAnchorRef=at(),this.errorScreenRegistered=at(),this.openInCSBRegistered=at(),this.loadingScreenRegistered=at()}initializeSandpackIframe(){var s,r,n,c,a;if(!((r=(s=this.props.options)==null?void 0:s.autorun)!=null?r:!0))return;let o=(c=(n=this.props.options)==null?void 0:n.initModeObserverOptions)!=null?c:{rootMargin:"1000px 0px"};this.intersectionObserver&&this.lazyAnchorRef.current&&((a=this.intersectionObserver)==null||a.unobserve(this.lazyAnchorRef.current)),this.lazyAnchorRef.current&&this.state.initMode==="lazy"?(this.intersectionObserver=new IntersectionObserver(p=>{var d;p.some(u=>u.isIntersecting)&&(this.initializeSandpackIframeHook=setTimeout(()=>{this.runSandpack()},50),this.lazyAnchorRef.current&&((d=this.intersectionObserver)==null||d.unobserve(this.lazyAnchorRef.current)))},o),this.intersectionObserver.observe(this.lazyAnchorRef.current)):this.lazyAnchorRef.current&&this.state.initMode==="user-visible"?(this.intersectionObserver=new IntersectionObserver(p=>{p.some(d=>d.isIntersecting)?this.initializeSandpackIframeHook=setTimeout(()=>{this.runSandpack()},50):(this.initializeSandpackIframeHook&&clearTimeout(this.initializeSandpackIframeHook),Object.keys(this.clients).map(this.unregisterBundler),this.unregisterAllClients())},o),this.intersectionObserver.observe(this.lazyAnchorRef.current)):this.initializeSandpackIframeHook=setTimeout(()=>this.runSandpack(),50)}componentDidMount(){this.initializeSandpackIframe()}componentDidUpdate(t){var a,p,d,u;((a=t.options)==null?void 0:a.initMode)!==((p=this.props.options)==null?void 0:p.initMode)&&((d=this.props.options)==null?void 0:d.initMode)&&this.setState({initMode:(u=this.props.options)==null?void 0:u.initMode},this.initializeSandpackIframe);let{activeFile:o,visibleFiles:s,files:r,environment:n}=De({template:this.props.template,files:this.props.files,customSetup:this.props.customSetup,options:this.props.options});if(t.template!==this.props.template||!rt(t.options,this.props.options)||!rt(t.customSetup,this.props.customSetup)||!rt(t.files,this.props.files)){if(this.setState({activeFile:o,visibleFiles:s,visibleFilesFromProps:s,files:r,environment:n}),this.state.sandpackStatus!=="running")return;Object.values(this.clients).forEach(f=>f.updatePreview({files:r,template:n}))}let c=rt(r,this.state.files)?"pristine":"dirty";c!==this.state.editorState&&this.setState({editorState:c})}componentWillUnmount(){typeof this.unsubscribe=="function"&&this.unsubscribe(),this.timeoutHook&&clearTimeout(this.timeoutHook),this.debounceHook&&clearTimeout(this.debounceHook),this.initializeSandpackIframeHook&&clearTimeout(this.initializeSandpackIframeHook),this.intersectionObserver&&this.intersectionObserver.disconnect()}render(){var n;let{children:t,theme:o,className:s,style:r}=this.props;return Wt(nt.Provider,{value:this._getSandpackState()},Wt(vr,{classes:(n=this.props.options)==null?void 0:n.classes},Wt(Go,{className:s,style:r,theme:o},t)))}},qo=Jo,dc=nt.Consumer;function x(){let e=Nr(nt);if(e===null)throw new Error('[sandpack-react]: "useSandpack" must be wrapped by a "SandpackProvider"');let{dispatch:t,listen:o,...s}=e;return{sandpack:{...s},dispatch:t,listen:o}}var it=()=>{var t,o,s;let{sandpack:e}=x();return{code:(t=e.files[e.activeFile])==null?void 0:t.code,readOnly:(s=(o=e.files[e.activeFile])==null?void 0:o.readOnly)!=null?s:!1,updateCode:e.updateCurrentFile}};import{useClasser as Mr}from"@code-hike/classer";import{createElement as Be}from"react";var ee=m({svg:{margin:"auto"}}),T=m({appearance:"none",border:"0",outline:"none",display:"flex",alignItems:"center",fontSize:"inherit",fontFamily:"inherit",backgroundColor:"transparent",transition:"color $default, background $default",cursor:"pointer",color:"$colors$clickable","&:disabled":{color:"$colors$disabled"},"&:hover:not(:disabled,[data-active='true'])":{color:"$colors$hover"},'&[data-active="true"]':{color:"$colors$accent"},svg:{minWidth:"$space$4",width:"$space$4",height:"$space$4"},[`&.${ee}`]:{padding:"$space$1",width:"$space$7",height:"$space$7",display:"flex"}}),z=m({backgroundColor:"$colors$surface2",borderRadius:"99999px",'&[data-active="true"]':{color:"$colors$surface1",background:"$colors$accent"},"&:hover:not(:disabled,[data-active='true'])":{backgroundColor:"$colors$surface3"}}),Ko=m({padding:0}),$r=tt({"0%":{opacity:0,transform:"translateY(4px)"},"100%":{opacity:1,transform:"translateY(0)"}}),He=m({position:"absolute",bottom:"0",left:"0",right:"0",top:"0",margin:"0",overflow:"auto",height:"100%",zIndex:"$top"}),ct=m({padding:"$space$4",whiteSpace:"pre-wrap",fontFamily:"$font$mono",backgroundColor:"$colors$errorSurface"}),ke=m({animation:`${$r} 150ms ease`,color:"$colors$error"});var Lr=m({borderBottom:"1px solid $colors$surface2",background:"$colors$surface1"}),wr=m({padding:"0 $space$2",overflow:"auto",display:"flex",flexWrap:"nowrap",alignItems:"stretch",minHeight:"40px",marginBottom:"-1px"}),Qo=m({padding:"0 $space$1 0 $space$1",borderRadius:"$border$radius",marginLeft:"$space$1",width:"$space$5",visibility:"hidden",svg:{width:"$space$3",height:"$space$3",display:"block",position:"relative",top:1}}),Fr=m({padding:"0 $space$2",height:"$layout$headerHeight",whiteSpace:"nowrap","&:focus":{outline:"none"},[`&:hover > .${Qo}`]:{visibility:"unset"}}),lt=({closableTabs:e,className:t,...o})=>{let{sandpack:s}=x(),r=Mr(h),{activeFile:n,visibleFiles:c,setActiveFile:a}=s,p=u=>{u.stopPropagation();let f=u.target.closest("[data-active]"),b=f==null?void 0:f.getAttribute("title");!b||s.closeFile(b)},d=u=>{let f=ve(u),b=c.reduce((g,y)=>(y===u||ve(y)===f&&g.push(y),g),[]);return b.length===0?f:_o(u,b)};return Be("div",{className:l(r("tabs"),Lr,t),translate:"no",...o},Be("div",{"aria-label":"Select active file",className:l(r("tabs-scrollable-container"),wr),role:"tablist"},c.map(u=>Be("button",{key:u,"aria-selected":u===n,className:l(r("tab-button"),T,Fr),"data-active":u===n,onClick:()=>a(u),role:"tab",title:u,type:"button"},d(u),e&&c.length>1&&Be("span",{className:l(r("close-button"),Qo),onClick:p},Be(Do,null))))))};import{useClasser as Ar}from"@code-hike/classer";import{createElement as es}from"react";var Pr=m({position:"absolute",bottom:"$space$2",right:"$space$2",paddingRight:"$space$3"}),pt=({className:e,onClick:t,...o})=>{let s=Ar(h),{sandpack:r}=x();return es("button",{className:l(s("button"),T,z,Pr,e),onClick:n=>{r.runSandpack(),t==null||t(n)},type:"button",...o},es(Ke,null),"Run")};import{useClasser as Ir}from"@code-hike/classer";import{createElement as Or}from"react";var me=m({display:"flex",flexDirection:"column",width:"100%",position:"relative",backgroundColor:"$colors$surface1",transition:"flex $transitions$default",gap:1,[`&:has(.${h}-stack)`]:{backgroundColor:"$colors$surface2"}}),Y=({className:e,...t})=>{let o=Ir(h);return Or("div",{className:l(o("stack"),me,e),...t})};import{useClasser as Yr}from"@code-hike/classer";import{closeBrackets as Jr,closeBracketsKeymap as qr}from"@codemirror/closebrackets";import{defaultKeymap as Kr,indentLess as Qr,indentMore as en,deleteGroupBackward as tn}from"@codemirror/commands";import{commentKeymap as on}from"@codemirror/comment";import{lineNumbers as sn}from"@codemirror/gutter";import{defaultHighlightStyle as rn}from"@codemirror/highlight";import{history as nn,historyKeymap as an}from"@codemirror/history";import{bracketMatching as cn}from"@codemirror/matchbrackets";import{EditorState as ds,EditorSelection as ln,StateEffect as ms}from"@codemirror/state";import{Annotation as us}from"@codemirror/state";import{highlightSpecialChars as pn,highlightActiveLine as dn,keymap as fs,EditorView as Jt}from"@codemirror/view";import mn from"@react-hook/intersection-observer";import{Fragment as gn,createElement as Ee,forwardRef as un,useEffect as Re,useImperativeHandle as fn,useMemo as hn,useRef as gt,useState as hs}from"react";import{useContext as Dr}from"react";var Ce=()=>{let{theme:e,id:t,mode:o}=Dr(ot);return{theme:e,themeId:t,themeMode:o}};var Gt=(e,t)=>{if(e.length!==t.length)return!1;let o=!0;for(let s=0;s<e.length;s++)if(e[s]!==t[s]){o=!1;break}return o};import{Decoration as mt,ViewPlugin as zr}from"@codemirror/view";import{HighlightStyle as Hr,tags as A}from"@codemirror/highlight";import{css as Br}from"@codemirror/lang-css";import{html as _r}from"@codemirror/lang-html";import{javascript as ts}from"@codemirror/lang-javascript";import{EditorView as jr}from"@codemirror/view";import{useCallback as Ur}from"react";var _e=(e,{line:t,column:o})=>e.line(t).from+(o!=null?o:0)-1,os=()=>jr.theme({"&":{backgroundColor:`var(--${h}-colors-surface1)`,color:`var(--${h}-syntax-color-plain)`,height:"100%"},".cm-matchingBracket, .cm-nonmatchingBracket, &.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{color:"inherit",backgroundColor:"rgba(128,128,128,.25)",backgroundBlendMode:"difference"},"&.cm-editor.cm-focused":{outline:"none"},".cm-activeLine":{backgroundColor:`var(--${h}-colors-surface3)`,borderRadius:`var(--${h}-border-radius)`},".cm-errorLine":{backgroundColor:`var(--${h}-colors-errorSurface)`,borderRadius:`var(--${h}-border-radius)`},".cm-content":{caretColor:`var(--${h}-colors-accent)`,padding:`0 var(--${h}-space-4)`},".cm-scroller":{fontFamily:`var(--${h}-font-mono)`,lineHeight:`var(--${h}-font-lineHeight)`},".cm-gutters":{backgroundColor:`var(--${h}-colors-surface1)`,color:`var(--${h}-colors-disabled)`,border:"none",paddingLeft:`var(--${h}-space-1)`},".cm-gutter.cm-lineNumbers":{fontSize:".6em"},".cm-lineNumbers .cm-gutterElement":{lineHeight:`var(--${h}-font-lineHeight)`,minWidth:`var(--${h}-space-5)`},".cm-content .cm-line":{paddingLeft:`var(--${h}-space-1)`},".cm-content.cm-readonly .cm-line":{paddingLeft:0}}),te=e=>`${h}-syntax-${e}`,ss=()=>["string","plain","comment","keyword","definition","punctuation","property","tag","static"].reduce((t,o)=>({...t,[`.${te(o)}`]:{color:`$syntax$color$${o}`,fontStyle:`$syntax$fontStyle$${o}`}}),{}),rs=e=>Hr.define([{tag:A.link,textDecoration:"underline"},{tag:A.emphasis,fontStyle:"italic"},{tag:A.strong,fontWeight:"bold"},{tag:A.keyword,class:te("keyword")},{tag:[A.atom,A.number,A.bool],class:te("static")},{tag:A.tagName,class:te("tag")},{tag:A.variableName,class:te("plain")},{tag:A.function(A.variableName),class:te("definition")},{tag:A.definition(A.function(A.variableName)),class:te("definition")},{tag:A.propertyName,class:te("property")},{tag:[A.literal,A.inserted],class:te(e.syntax.string?"string":"static")},{tag:A.punctuation,class:te("punctuation")},{tag:[A.comment,A.quote],class:te("comment")}]),ns=(e,t,o)=>{if(!e&&!t)return"javascript";let s=t;if(!s&&e){let r=e.lastIndexOf(".");s=e.slice(r+1)}for(let r of o)if(s===r.name||r.extensions.includes(s||""))return r.name;switch(s){case"ts":case"tsx":return"typescript";case"html":case"svelte":case"vue":return"html";case"css":case"less":case"scss":return"css";case"js":case"jsx":case"json":default:return"javascript"}},as=(e,t)=>{let o={javascript:ts({jsx:!0,typescript:!1}),typescript:ts({jsx:!0,typescript:!0}),html:_r(),css:Br()};for(let s of t)if(e===s.name)return s.language;return o[e]},dt=(...e)=>Ur(t=>e.forEach(o=>{if(!!o){if(typeof o=="function")return o(t);o.current=t}}),e);function is(e){return zr.fromClass(class{constructor(t){this.decorations=this.getDecoration(t)}update(t){}getDecoration(t){if(!e)return mt.none;let o=e.map(s=>{var a,p,d;let r=mt.line({attributes:{class:(a=s.className)!=null?a:""}}),n=mt.mark({class:(p=s.className)!=null?p:"",attributes:(d=s.elementAttributes)!=null?d:void 0}),c=_e(t.state.doc,{line:s.line,column:s.startColumn})+1;if(s.startColumn&&s.endColumn){let u=_e(t.state.doc,{line:s.line,column:s.endColumn})+1;return n.range(c,u)}return r.range(c)});return mt.set(o)}},{decorations:t=>t.decorations})}import{Decoration as ut,ViewPlugin as Vr}from"@codemirror/view";function cs(){return Wr}var Xr=ut.line({attributes:{class:"cm-errorLine"}}),Wr=Vr.fromClass(class{constructor(){this.decorations=ut.none}update(e){e.transactions.forEach(t=>{let o=t.annotation("show-error");if(o!==void 0){let s=_e(e.view.state.doc,{line:o})+1;this.decorations=ut.set([Xr.range(s)])}else t.annotation("remove-errors")&&(this.decorations=ut.none)})}},{decorations:e=>e.decorations});var ft=m({margin:"0",display:"block",fontFamily:"$font$mono",fontSize:"$font$size",color:"$syntax$color$plain",lineHeight:"$font$lineHeight"}),Zt=m(ss()),ht=m({flex:1,position:"relative",overflow:"auto",background:"$colors$surface1",".cm-scroller":{padding:"$space$4 0"},[`.${ft}`]:{padding:"$space$4 0"}}),Yt=m({margin:"0",outline:"none",height:"100%"}),ls=m({fontFamily:"$font$mono",fontSize:"0.8em",position:"absolute",right:"$space$2",bottom:"$space$2",zIndex:"$top",color:"$colors$clickable",backgroundColor:"$colors$surface2",borderRadius:"99999px",padding:"calc($space$1 / 2) $space$2",[`& + .${T}`]:{right:"calc($space$11 * 2)"}});import{highlightTree as Gr}from"@codemirror/highlight";import{createElement as Zr}from"react";var ps=({langSupport:e,highlightTheme:t,code:o=""})=>{let s=e.language.parser.parse(o),r=0,n=[],c=(a,p)=>{if(a>r){let d=o.slice(r,a);n.push(p?Zr("span",{children:d,className:p,key:`${a}${r}`}):d),r=a}};return Gr(s,t.match,(a,p,d)=>{c(a,""),c(p,d)}),r<o.length&&n.push(` -+`},"/package.json":{code:JSON.stringify({dependencies:{"core-js":"^3.6.5",vue:"^3.0.0-0","@vue/cli-plugin-babel":"4.5.0"},main:"/src/main.js"})}},main:"/src/App.vue",environment:"vue-cli"};var Ie={react:Dt,"react-ts":Ht,vue:Vt,vanilla:Ut,"vanilla-ts":zt,vue3:Xt,angular:Ot,svelte:_t,solid:Bt,"test-ts":jt};var De=e=>{var a,p,d,u,f,b;let t=Oe(e.files),o=Sr({template:e.template,customSetup:e.customSetup,files:t}),s=Oe((p=(a=e.options)==null?void 0:a.visibleFiles)!=null?p:[]),r=((d=e.options)==null?void 0:d.activeFile)?Yo((u=e.options)==null?void 0:u.activeFile,t||{}):void 0;s.length===0&&t&&Object.keys(t).forEach(g=>{let y=t[g];if(typeof y=="string"){s.push(g);return}!r&&y.active&&(r=g,y.hidden===!0&&s.push(g)),y.hidden||s.push(g)}),s.length===0&&(s=[o.main]),o.files[o.entry]||(o.entry=Yo(o.entry,o.files)),!r&&o.main&&(r=o.main),(!r||!o.files[r])&&(r=s[0]),s.includes(r)||s.push(r);let n=yr(o.files,(f=o.dependencies)!=null?f:{},(b=o.devDependencies)!=null?b:{},o.entry);return{visibleFiles:s.filter(g=>n[g]),activeFile:r,files:n,environment:o.environment}},Yo=(e,t)=>{let o=Oe(t),s=Oe(e);if(s in o)return s;if(!e)return null;let r=null,n=0,c=[".js",".jsx",".ts",".tsx"];for(;!r&&n<c.length;){let p=`${s.split(".")[0]}${c[n]}`;o[p]!==void 0&&(r=p),n++}return r},Sr=({files:e,template:t,customSetup:o})=>{if(!t){if(!o)return Ie.vanilla;if(!e||Object.keys(e).length===0)throw new Error("[sandpack-react]: without a template, you must pass at least one file");return{...o,files:st(e)}}let s=Ie[t];if(!s)throw new Error(`[sandpack-react]: invalid template "${t}" provided`);return!o&&!e?s:{files:st({...s.files,...e}),dependencies:{...s.dependencies,...o==null?void 0:o.dependencies},devDependencies:{...s.devDependencies,...o==null?void 0:o.devDependencies},entry:Oe((o==null?void 0:o.entry)||s.entry),main:s.main,environment:(o==null?void 0:o.environment)||s.environment}},st=e=>e?Object.keys(e).reduce((t,o)=>(typeof e[o]=="string"?t[o]={code:e[o]}:t[o]=e[o],t),{}):{};var nt=Er(null),Rr=3e4,Jo=class extends Tr{constructor(t){super(t);this.timeoutHook=null;this.initializeSandpackIframeHook=null;this.handleMessage=t=>{this.timeoutHook&&clearTimeout(this.timeoutHook),t.type==="state"?this.setState({bundlerState:t.state}):t.type==="done"&&!t.compilatonError?this.setState({error:null}):t.type==="action"&&t.action==="show-error"?this.setState({error:Cr(t)}):t.type==="action"&&t.action==="notification"&&t.notificationType==="error"&&this.setState({error:{message:t.title}})};this.registerReactDevTools=t=>{this.setState({reactDevTools:t})};this.updateCurrentFile=t=>{this.updateFile(this.state.activeFile,t)};this.updateFile=(t,o)=>{var r;let s=this.state.files;if(typeof t=="string"&&o){if(o===((r=this.state.files[t])==null?void 0:r.code))return;s={...s,[t]:{code:o}}}else typeof t=="object"&&(s={...s,...st(t)});this.setState({files:xr(s)},this.updateClients)};this.updateClients=()=>{var n,c,a,p;let{files:t,sandpackStatus:o}=this.state,s=(c=(n=this.props.options)==null?void 0:n.recompileMode)!=null?c:"delayed",r=(p=(a=this.props.options)==null?void 0:a.recompileDelay)!=null?p:500;o==="running"&&(s==="immediate"&&Object.values(this.clients).forEach(d=>{d.updatePreview({files:t})}),s==="delayed"&&(window.clearTimeout(this.debounceHook),this.debounceHook=window.setTimeout(()=>{Object.values(this.clients).forEach(d=>{d.updatePreview({files:this.state.files})})},r)))};this.createClient=(t,o)=>{var n,c,a,p,d,u,f,b,g;let s=new kr(t,{files:this.state.files,template:this.state.environment},{externalResources:(n=this.props.options)==null?void 0:n.externalResources,bundlerURL:(c=this.props.options)==null?void 0:c.bundlerURL,startRoute:(a=this.props.options)==null?void 0:a.startRoute,fileResolver:(p=this.props.options)==null?void 0:p.fileResolver,skipEval:(u=(d=this.props.options)==null?void 0:d.skipEval)!=null?u:!1,logLevel:(f=this.props.options)==null?void 0:f.logLevel,showOpenInCodeSandbox:!this.openInCSBRegistered.current,showErrorScreen:!this.errorScreenRegistered.current,showLoadingScreen:!this.loadingScreenRegistered.current,reactDevTools:this.state.reactDevTools,customNpmRegistries:(g=(b=this.props.customSetup)==null?void 0:b.npmRegistries)==null?void 0:g.map(y=>({...y,proxyEnabled:!1}))});return typeof this.unsubscribe!="function"&&(this.unsubscribe=s.listen(this.handleMessage),this.timeoutHook=setTimeout(()=>{this.setState({sandpackStatus:"timeout"})},Rr)),this.unsubscribeClientListeners[o]=this.unsubscribeClientListeners[o]||{},this.queuedListeners[o]&&(Object.keys(this.queuedListeners[o]).forEach(y=>{let R=this.queuedListeners[o][y],N=s.listen(R);this.unsubscribeClientListeners[o][y]=N}),this.queuedListeners[o]={}),Object.entries(this.queuedListeners.global).forEach(([y,R])=>{let N=s.listen(R);this.unsubscribeClientListeners[o][y]=N}),s};this.runSandpack=()=>{Object.keys(this.preregisteredIframes).forEach(t=>{let o=this.preregisteredIframes[t];this.clients[t]=this.createClient(o,t)}),this.setState({sandpackStatus:"running"})};this.registerBundler=(t,o)=>{this.state.sandpackStatus==="running"?this.clients[o]=this.createClient(t,o):this.preregisteredIframes[o]=t};this.unregisterBundler=t=>{var r;let o=this.clients[t];o?(o.cleanup(),(r=o.iframe.contentWindow)==null||r.location.replace("about:blank"),delete this.clients[t]):delete this.preregisteredIframes[t],this.timeoutHook&&clearTimeout(this.timeoutHook),Object.values(this.unsubscribeClientListeners).forEach(n=>{Object.values(n).forEach(a=>a())}),this.setState({sandpackStatus:"idle"})};this.unregisterAllClients=()=>{Object.keys(this.clients).map(this.unregisterBundler),typeof this.unsubscribe=="function"&&(this.unsubscribe(),this.unsubscribe=void 0)};this.setActiveFile=t=>{this.setState({activeFile:t})};this.openFile=t=>{this.setState(({visibleFiles:o})=>{let s=o.includes(t)?o:[...o,t];return{activeFile:t,visibleFiles:s}})};this.closeFile=t=>{this.state.visibleFiles.length!==1&&this.setState(({visibleFiles:o,activeFile:s})=>{let r=o.indexOf(t),n=o.filter(c=>c!==t);return{activeFile:t===s?r===0?o[1]:o[r-1]:s,visibleFiles:n}})};this.deleteFile=t=>{this.setState(({visibleFiles:o,files:s})=>{let r={...s};return delete r[t],{visibleFiles:o.filter(n=>n!==t),files:r}},this.updateClients)};this.addFile=this.updateFile;this.dispatchMessage=(t,o)=>{if(this.state.sandpackStatus!=="running"){console.warn("[sandpack-react]: dispatch cannot be called while in idle mode");return}o?this.clients[o].dispatch(t):Object.values(this.clients).forEach(s=>{s.dispatch(t)})};this.addListener=(t,o)=>{if(o){if(this.clients[o])return this.clients[o].listen(t);{let s=Ae();return this.queuedListeners[o]=this.queuedListeners[o]||{},this.unsubscribeClientListeners[o]=this.unsubscribeClientListeners[o]||{},this.queuedListeners[o][s]=t,()=>{this.queuedListeners[o][s]?delete this.queuedListeners[o][s]:this.unsubscribeClientListeners[o][s]&&(this.unsubscribeClientListeners[o][s](),delete this.unsubscribeClientListeners[o][s])}}}else{let s=Ae();this.queuedListeners.global[s]=t;let n=Object.values(this.clients).map(a=>a.listen(t));return()=>{n.forEach(a=>a())}}};this.resetFile=t=>{let{files:o}=De({template:this.props.template,files:this.props.files,customSetup:this.props.customSetup,options:this.props.options});this.setState(s=>({files:{...s.files,[t]:o[t]}}),this.updateClients)};this.resetAllFiles=()=>{let{files:t}=De({template:this.props.template,files:this.props.files,customSetup:this.props.customSetup,options:this.props.options});this.setState({files:t},this.updateClients)};this._getSandpackState=()=>{let{files:t,activeFile:o,visibleFiles:s,visibleFilesFromProps:r,startRoute:n,bundlerState:c,editorState:a,error:p,sandpackStatus:d,environment:u,initMode:f}=this.state;return{files:t,environment:u,visibleFiles:s,visibleFilesFromProps:r,activeFile:o,startRoute:n,error:p,bundlerState:c,status:d,editorState:a,initMode:f,clients:this.clients,dispatch:this.dispatchMessage,errorScreenRegisteredRef:this.errorScreenRegistered,lazyAnchorRef:this.lazyAnchorRef,listen:this.addListener,loadingScreenRegisteredRef:this.loadingScreenRegistered,openInCSBRegisteredRef:this.openInCSBRegistered,registerBundler:this.registerBundler,runSandpack:this.runSandpack,unregisterBundler:this.unregisterBundler,registerReactDevTools:this.registerReactDevTools,openFile:this.openFile,resetFile:this.resetFile,resetAllFiles:this.resetAllFiles,setActiveFile:this.setActiveFile,updateCurrentFile:this.updateCurrentFile,updateFile:this.updateFile,addFile:this.addFile,closeFile:this.closeFile,deleteFile:this.deleteFile}};var c,a,p,d;let{activeFile:o,visibleFiles:s,files:r,environment:n}=De({template:t.template,files:t.files,customSetup:t.customSetup,options:t.options});this.state={files:r,environment:n,visibleFiles:s,visibleFilesFromProps:s,activeFile:o,startRoute:(c=this.props.options)==null?void 0:c.startRoute,bundlerState:void 0,error:null,sandpackStatus:((p=(a=this.props.options)==null?void 0:a.autorun)!=null?p:!0)?"initial":"idle",editorState:"pristine",initMode:((d=this.props.options)==null?void 0:d.initMode)||"lazy",reactDevTools:void 0},this.queuedListeners={global:{}},this.unsubscribeClientListeners={},this.preregisteredIframes={},this.clients={},this.lazyAnchorRef=at(),this.errorScreenRegistered=at(),this.openInCSBRegistered=at(),this.loadingScreenRegistered=at()}initializeSandpackIframe(){var s,r,n,c,a;if(!((r=(s=this.props.options)==null?void 0:s.autorun)!=null?r:!0))return;let o=(c=(n=this.props.options)==null?void 0:n.initModeObserverOptions)!=null?c:{rootMargin:"1000px 0px"};this.intersectionObserver&&this.lazyAnchorRef.current&&((a=this.intersectionObserver)==null||a.unobserve(this.lazyAnchorRef.current)),this.lazyAnchorRef.current&&this.state.initMode==="lazy"?(this.intersectionObserver=new IntersectionObserver(p=>{var d;p.some(u=>u.isIntersecting)&&(this.initializeSandpackIframeHook=setTimeout(()=>{this.runSandpack()},50),this.lazyAnchorRef.current&&((d=this.intersectionObserver)==null||d.unobserve(this.lazyAnchorRef.current)))},o),this.intersectionObserver.observe(this.lazyAnchorRef.current)):this.lazyAnchorRef.current&&this.state.initMode==="user-visible"?(this.intersectionObserver=new IntersectionObserver(p=>{p.some(d=>d.isIntersecting)?this.initializeSandpackIframeHook=setTimeout(()=>{this.runSandpack()},50):(this.initializeSandpackIframeHook&&clearTimeout(this.initializeSandpackIframeHook),Object.keys(this.clients).map(this.unregisterBundler),this.unregisterAllClients())},o),this.intersectionObserver.observe(this.lazyAnchorRef.current)):this.initializeSandpackIframeHook=setTimeout(()=>this.runSandpack(),50)}componentDidMount(){this.initializeSandpackIframe()}componentDidUpdate(t){var a,p,d,u;((a=t.options)==null?void 0:a.initMode)!==((p=this.props.options)==null?void 0:p.initMode)&&((d=this.props.options)==null?void 0:d.initMode)&&this.setState({initMode:(u=this.props.options)==null?void 0:u.initMode},this.initializeSandpackIframe);let{activeFile:o,visibleFiles:s,files:r,environment:n}=De({template:this.props.template,files:this.props.files,customSetup:this.props.customSetup,options:this.props.options});if(t.template!==this.props.template||!rt(t.options,this.props.options)||!rt(t.customSetup,this.props.customSetup)||!rt(t.files,this.props.files)){if(this.setState({activeFile:o,visibleFiles:s,visibleFilesFromProps:s,files:r,environment:n}),this.state.sandpackStatus!=="running")return;Object.values(this.clients).forEach(f=>f.updatePreview({files:r,template:n}))}let c=rt(r,this.state.files)?"pristine":"dirty";c!==this.state.editorState&&this.setState({editorState:c})}componentWillUnmount(){typeof this.unsubscribe=="function"&&this.unsubscribe(),this.timeoutHook&&clearTimeout(this.timeoutHook),this.debounceHook&&clearTimeout(this.debounceHook),this.initializeSandpackIframeHook&&clearTimeout(this.initializeSandpackIframeHook),this.intersectionObserver&&this.intersectionObserver.disconnect()}render(){var n;let{children:t,theme:o,className:s,style:r}=this.props;return Wt(nt.Provider,{value:this._getSandpackState()},Wt(vr,{classes:(n=this.props.options)==null?void 0:n.classes},Wt(Go,{className:s,style:r,theme:o},t)))}},qo=Jo,dc=nt.Consumer;function x(){let e=Nr(nt);if(e===null)throw new Error('[sandpack-react]: "useSandpack" must be wrapped by a "SandpackProvider"');let{dispatch:t,listen:o,...s}=e;return{sandpack:{...s},dispatch:t,listen:o}}var it=()=>{var t,o,s;let{sandpack:e}=x();return{code:(t=e.files[e.activeFile])==null?void 0:t.code,readOnly:(s=(o=e.files[e.activeFile])==null?void 0:o.readOnly)!=null?s:!1,updateCode:e.updateCurrentFile}};import{useClasser as Mr}from"@code-hike/classer";import{createElement as Be}from"react";var ee=m({svg:{margin:"auto"}}),T=m({appearance:"none",border:"0",outline:"none",display:"flex",alignItems:"center",fontSize:"inherit",fontFamily:"inherit",backgroundColor:"transparent",transition:"color $default, background $default",cursor:"pointer",color:"$colors$clickable","&:disabled":{color:"$colors$disabled"},"&:hover:not(:disabled,[data-active='true'])":{color:"$colors$hover"},'&[data-active="true"]':{color:"$colors$accent"},svg:{minWidth:"$space$4",width:"$space$4",height:"$space$4"},[`&.${ee}`]:{padding:"$space$1",width:"$space$7",height:"$space$7",display:"flex"}}),z=m({backgroundColor:"$colors$surface2",borderRadius:"99999px",'&[data-active="true"]':{color:"$colors$surface1",background:"$colors$accent"},"&:hover:not(:disabled,[data-active='true'])":{backgroundColor:"$colors$surface3"}}),Ko=m({padding:0}),$r=tt({"0%":{opacity:0,transform:"translateY(4px)"},"100%":{opacity:1,transform:"translateY(0)"}}),He=m({position:"absolute",bottom:"0",left:"0",right:"0",top:"0",margin:"0",overflow:"auto",height:"100%",zIndex:"$top"}),ct=m({padding:"$space$4",whiteSpace:"pre-wrap",fontFamily:"$font$mono",backgroundColor:"$colors$errorSurface"}),ke=m({animation:`${$r} 150ms ease`,color:"$colors$error"});var Lr=m({borderBottom:"1px solid $colors$surface2",background:"$colors$surface1"}),wr=m({padding:"0 $space$2",overflow:"auto",display:"flex",flexWrap:"nowrap",alignItems:"stretch",minHeight:"40px",marginBottom:"-1px"}),Qo=m({padding:"0 $space$1 0 $space$1",borderRadius:"$border$radius",marginLeft:"$space$1",width:"$space$5",visibility:"hidden",svg:{width:"$space$3",height:"$space$3",display:"block",position:"relative",top:1}}),Fr=m({padding:"0 $space$2",height:"$layout$headerHeight",whiteSpace:"nowrap","&:focus":{outline:"none"},[`&:hover > .${Qo}`]:{visibility:"unset"}}),lt=({closableTabs:e,className:t,...o})=>{let{sandpack:s}=x(),r=Mr(h),{activeFile:n,visibleFiles:c,setActiveFile:a}=s,p=u=>{u.stopPropagation();let f=u.target.closest("[data-active]"),b=f==null?void 0:f.getAttribute("title");!b||s.closeFile(b)},d=u=>{let f=ve(u),b=c.reduce((g,y)=>(y===u||ve(y)===f&&g.push(y),g),[]);return b.length===0?f:_o(u,b)};return Be("div",{className:l(r("tabs"),Lr,t),translate:"no",...o},Be("div",{"aria-label":"Select active file",className:l(r("tabs-scrollable-container"),wr),role:"tablist"},c.map(u=>Be("button",{key:u,"aria-selected":u===n,className:l(r("tab-button"),T,Fr),"data-active":u===n,onClick:()=>a(u),role:"tab",title:u,type:"button"},d(u),e&&c.length>1&&Be("span",{className:l(r("close-button"),Qo),onClick:p},Be(Do,null))))))};import{useClasser as Ar}from"@code-hike/classer";import{createElement as es}from"react";var Pr=m({position:"absolute",bottom:"$space$2",right:"$space$2",paddingRight:"$space$3"}),pt=({className:e,onClick:t,...o})=>{let s=Ar(h),{sandpack:r}=x();return es("button",{className:l(s("button"),T,z,Pr,e),onClick:n=>{r.runSandpack(),t==null||t(n)},type:"button",...o},es(Ke,null),"Run")};import{useClasser as Ir}from"@code-hike/classer";import{createElement as Or}from"react";var me=m({display:"flex",flexDirection:"column",width:"100%",position:"relative",backgroundColor:"$colors$surface1",transition:"flex $transitions$default",gap:1,[`&:has(.${h}-stack)`]:{backgroundColor:"$colors$surface2"}}),Y=({className:e,...t})=>{let o=Ir(h);return Or("div",{className:l(o("stack"),me,e),...t})};import{useClasser as Yr}from"@code-hike/classer";import{closeBrackets as Jr,closeBracketsKeymap as qr}from"@codemirror/closebrackets";import{defaultKeymap as Kr,indentLess as Qr,indentMore as en,deleteGroupBackward as tn}from"@codemirror/commands";import{commentKeymap as on}from"@codemirror/comment";import{lineNumbers as sn}from"@codemirror/gutter";import{defaultHighlightStyle as rn}from"@codemirror/highlight";import{history as nn,historyKeymap as an}from"@codemirror/history";import{bracketMatching as cn}from"@codemirror/matchbrackets";import{EditorState as ds,EditorSelection as ln,StateEffect as ms}from"@codemirror/state";import{Annotation as us}from"@codemirror/state";import{highlightSpecialChars as pn,highlightActiveLine as dn,keymap as fs,EditorView as Jt}from"@codemirror/view";import mn from"@react-hook/intersection-observer";import{Fragment as gn,createElement as Ee,forwardRef as un,useEffect as Re,useImperativeHandle as fn,useMemo as hn,useRef as gt,useState as hs}from"react";import{useContext as Dr}from"react";var Ce=()=>{let{theme:e,id:t,mode:o}=Dr(ot);return{theme:e,themeId:t,themeMode:o}};var Gt=(e,t)=>{if(e.length!==t.length)return!1;let o=!0;for(let s=0;s<e.length;s++)if(e[s]!==t[s]){o=!1;break}return o};import{Decoration as mt,ViewPlugin as zr}from"@codemirror/view";import{HighlightStyle as Hr,tags as A}from"@codemirror/highlight";import{css as Br}from"@codemirror/lang-css";import{html as _r}from"@codemirror/lang-html";import{javascript as ts}from"@codemirror/lang-javascript";import{EditorView as jr}from"@codemirror/view";import{useCallback as Ur}from"react";var _e=(e,{line:t,column:o})=>e.line(t).from+(o!=null?o:0)-1,os=()=>jr.theme({"&":{backgroundColor:`var(--${h}-colors-surface1)`,color:`var(--${h}-syntax-color-plain)`,height:"100%"},".cm-matchingBracket, .cm-nonmatchingBracket, &.cm-focused .cm-matchingBracket, &.cm-focused .cm-nonmatchingBracket":{color:"inherit",backgroundColor:"rgba(128,128,128,.25)",backgroundBlendMode:"difference"},"&.cm-editor.cm-focused":{outline:"none"},".cm-activeLine":{backgroundColor:`var(--${h}-colors-surface3)`,borderRadius:`var(--${h}-border-radius)`},".cm-errorLine":{backgroundColor:`var(--${h}-colors-errorSurface)`,borderRadius:`var(--${h}-border-radius)`},".cm-content":{caretColor:`var(--${h}-colors-accent)`,padding:`0 var(--${h}-space-4)`},".cm-scroller":{fontFamily:`var(--${h}-font-mono)`,lineHeight:`var(--${h}-font-lineHeight)`},".cm-gutters":{backgroundColor:`var(--${h}-colors-surface1)`,color:`var(--${h}-colors-disabled)`,border:"none",paddingLeft:`var(--${h}-space-1)`},".cm-gutter.cm-lineNumbers":{fontSize:".6em"},".cm-lineNumbers .cm-gutterElement":{lineHeight:`var(--${h}-font-lineHeight)`,minWidth:`var(--${h}-space-5)`},".cm-content .cm-line":{paddingLeft:`var(--${h}-space-1)`},".cm-content.cm-readonly .cm-line":{paddingLeft:0}}),te=e=>`${h}-syntax-${e}`,ss=()=>["string","plain","comment","keyword","definition","punctuation","property","tag","static"].reduce((t,o)=>({...t,[`.${te(o)}`]:{color:`$syntax$color$${o}`,fontStyle:`$syntax$fontStyle$${o}`}}),{}),rs=e=>Hr.define([{tag:A.link,textDecoration:"underline"},{tag:A.emphasis,fontStyle:"italic"},{tag:A.strong,fontWeight:"bold"},{tag:A.keyword,class:te("keyword")},{tag:[A.atom,A.number,A.bool],class:te("static")},{tag:A.standard(A.tagName),class:te("tag")},{tag:A.variableName,class:te("plain")},{tag:A.function(A.variableName),class:te("definition")},{tag:[A.definition(A.function(A.variableName)),A.tagName],class:te("definition")},{tag:A.propertyName,class:te("property")},{tag:[A.literal,A.inserted],class:te(e.syntax.string?"string":"static")},{tag:A.punctuation,class:te("punctuation")},{tag:[A.comment,A.quote],class:te("comment")}]),ns=(e,t,o)=>{if(!e&&!t)return"javascript";let s=t;if(!s&&e){let r=e.lastIndexOf(".");s=e.slice(r+1)}for(let r of o)if(s===r.name||r.extensions.includes(s||""))return r.name;switch(s){case"ts":case"tsx":return"typescript";case"html":case"svelte":case"vue":return"html";case"css":case"less":case"scss":return"css";case"js":case"jsx":case"json":default:return"javascript"}},as=(e,t)=>{let o={javascript:ts({jsx:!0,typescript:!1}),typescript:ts({jsx:!0,typescript:!0}),html:_r(),css:Br()};for(let s of t)if(e===s.name)return s.language;return o[e]},dt=(...e)=>Ur(t=>e.forEach(o=>{if(!!o){if(typeof o=="function")return o(t);o.current=t}}),e);function is(e){return zr.fromClass(class{constructor(t){this.decorations=this.getDecoration(t)}update(t){}getDecoration(t){if(!e)return mt.none;let o=e.map(s=>{var a,p,d;let r=mt.line({attributes:{class:(a=s.className)!=null?a:""}}),n=mt.mark({class:(p=s.className)!=null?p:"",attributes:(d=s.elementAttributes)!=null?d:void 0}),c=_e(t.state.doc,{line:s.line,column:s.startColumn})+1;if(s.startColumn&&s.endColumn){let u=_e(t.state.doc,{line:s.line,column:s.endColumn})+1;return n.range(c,u)}return r.range(c)});return mt.set(o)}},{decorations:t=>t.decorations})}import{Decoration as ut,ViewPlugin as Vr}from"@codemirror/view";function cs(){return Wr}var Xr=ut.line({attributes:{class:"cm-errorLine"}}),Wr=Vr.fromClass(class{constructor(){this.decorations=ut.none}update(e){e.transactions.forEach(t=>{let o=t.annotation("show-error");if(o!==void 0){let s=_e(e.view.state.doc,{line:o})+1;this.decorations=ut.set([Xr.range(s)])}else t.annotation("remove-errors")&&(this.decorations=ut.none)})}},{decorations:e=>e.decorations});var ft=m({margin:"0",display:"block",fontFamily:"$font$mono",fontSize:"$font$size",color:"$syntax$color$plain",lineHeight:"$font$lineHeight"}),Zt=m(ss()),ht=m({flex:1,position:"relative",overflow:"auto",background:"$colors$surface1",".cm-scroller":{padding:"$space$4 0"},[`.${ft}`]:{padding:"$space$4 0"}}),Yt=m({margin:"0",outline:"none",height:"100%"}),ls=m({fontFamily:"$font$mono",fontSize:"0.8em",position:"absolute",right:"$space$2",bottom:"$space$2",zIndex:"$top",color:"$colors$clickable",backgroundColor:"$colors$surface2",borderRadius:"99999px",padding:"calc($space$1 / 2) $space$2",[`& + .${T}`]:{right:"calc($space$11 * 2)"}});import{highlightTree as Gr}from"@codemirror/highlight";import{createElement as Zr}from"react";var ps=({langSupport:e,highlightTheme:t,code:o=""})=>{let s=e.language.parser.parse(o),r=0,n=[],c=(a,p)=>{if(a>r){let d=o.slice(r,a);n.push(p?Zr("span",{children:d,className:p,key:`${a}${r}`}):d),r=a}};return Gr(s,t.match,(a,p,d)=>{c(a,""),c(p,d)}),r<o.length&&n.push(` - - `),n};var xe=un(({code:e,filePath:t,fileType:o,onCodeUpdate:s,showLineNumbers:r=!1,showInlineErrors:n=!1,wrapContent:c=!1,editorState:a="pristine",readOnly:p=!1,showReadOnly:d=!0,decorators:u,initMode:f="lazy",id:b,extensions:g=[],extensionsKeymap:y=[],additionalLanguages:R=[]},N)=>{let F=gt(null),X=dt(F,N),E=gt(),{theme:_,themeId:B}=Ce(),[j,v]=hs(e),[$,q]=hs(f==="immediate"),S=Yr(h),{listen:k}=x(),I=gt([]),M=gt([]),{isIntersecting:O}=mn(F,{rootMargin:"600px 0px",threshold:.2});fn(N,()=>({getCodemirror:()=>E.current})),Re(()=>{(f==="lazy"||f==="user-visible")&&O&&q(!0)},[f,O]);let G=ns(t,o,R),$e=as(G,R),Me=rs(_),Le=ps({langSupport:$e,highlightTheme:Me,code:e}),he=hn(()=>u&&u.sort((L,D)=>L.line-D.line),[u]);Re(()=>{if(!F.current||!$)return;let L=setTimeout(function(){let U=[{key:"Tab",run:Z=>{var ie;en(Z);let K=y.find(({key:de})=>de==="Tab");return(ie=K==null?void 0:K.run(Z))!=null?ie:!0}},{key:"Shift-Tab",run:({state:Z,dispatch:K})=>{var de;Qr({state:Z,dispatch:K});let ie=y.find(({key:qe})=>qe==="Shift-Tab");return(de=ie==null?void 0:ie.run(oe))!=null?de:!0}},{key:"Escape",run:()=>(p||F.current&&F.current.focus(),!0)},{key:"mod-Backspace",run:tn}],w=[pn(),nn(),Jr(),...g,fs.of([...qr,...Kr,...an,...on,...U,...y]),$e,rn.fallback,os(),Me];p?(w.push(ds.readOnly.of(!0)),w.push(Jt.editable.of(!1))):(w.push(cn()),w.push(dn())),he&&w.push(is(he)),c&&w.push(Jt.lineWrapping),r&&w.push(sn()),n&&w.push(cs());let ge=ds.create({doc:e,extensions:w}),be=F.current,Fe=be.querySelector(".sp-pre-placeholder");Fe&&be.removeChild(Fe);let oe=new Jt({state:ge,parent:be,dispatch:Z=>{if(oe.update([Z]),Z.docChanged){let K=Z.newDoc.sliceString(0,Z.newDoc.length);v(K),s==null||s(K)}}});oe.contentDOM.setAttribute("data-gramm","false"),oe.contentDOM.setAttribute("aria-label",t?`Code Editor for ${ve(t)}`:"Code Editor"),p?oe.contentDOM.classList.add("cm-readonly"):oe.contentDOM.setAttribute("tabIndex","-1"),E.current=oe},0);return()=>{var D;(D=E.current)==null||D.destroy(),clearTimeout(L)}},[$,r,c,B,he,p]),Re(function(){let D=E.current,U=!Gt(g,I.current)||!Gt(y,M.current);D&&U&&(D.dispatch({effects:ms.appendConfig.of(g)}),D.dispatch({effects:ms.appendConfig.of(fs.of([...y]))}),I.current=g,M.current=y)},[g,y]),Re(()=>{E.current&&a==="dirty"&&window.matchMedia("(min-width: 768px)").matches&&E.current.contentDOM.focus()},[]),Re(()=>{if(E.current&&e!==j){let L=E.current,D=L.state.selection.ranges.some(({to:w,from:ge})=>w>e.length||ge>e.length)?ln.cursor(e.length):L.state.selection,U={from:0,to:L.state.doc.length,insert:e};L.dispatch({changes:U,selection:D})}},[e]),Re(function(){if(!n)return;let D=k(U=>{let w=E.current;U.type==="success"?w==null||w.dispatch({annotations:[new us("remove-errors",!0)]}):U.type==="action"&&U.action==="show-error"&&U.line&&(w==null||w.dispatch({annotations:[new us("show-error",U.line)]}))});return()=>D()},[k,n]);let Je=L=>{L.key==="Enter"&&E.current&&(L.preventDefault(),E.current.contentDOM.focus())},we=()=>{let L=4;return r&&(L+=6),p||(L+=1),`var(--${h}-space-${L})`};return p?Ee(gn,null,Ee("pre",{ref:X,className:l(S("cm",a,G),Yt,Zt),translate:"no"},Ee("code",{className:l(S("pre-placeholder"),ft),style:{marginLeft:we()}},Le)),p&&d&&Ee("span",{className:l(S("read-only"),ls),...{}},"Read-only")):Ee("div",{ref:X,"aria-autocomplete":"list","aria-label":t?`Code Editor for ${ve(t)}`:"Code Editor","aria-multiline":"true",className:l(S("cm",a,G),Yt,Zt),onKeyDown:Je,role:"textbox",tabIndex:0,translate:"no",suppressHydrationWarning:!0},Ee("pre",{className:l(S("pre-placeholder"),ft),style:{marginLeft:we()}},Le))});var gs=yn(({style:e,showTabs:t,showLineNumbers:o=!1,showInlineErrors:s=!1,showRunButton:r=!0,wrapContent:n=!1,closableTabs:c=!1,initMode:a,extensions:p,extensionsKeymap:d,id:u,readOnly:f,showReadOnly:b,additionalLanguages:g},y)=>{let{sandpack:R}=x(),{code:N,updateCode:F,readOnly:X}=it(),{activeFile:E,status:_,editorState:B}=R,j=t!=null?t:R.visibleFiles.length>1,v=bn(h),$=q=>{F(q)};return je(Y,{className:v("editor"),style:e},j&&je(lt,{closableTabs:c}),je("div",{className:l(v("code-editor"),ht)},je(xe,{key:E,ref:y,additionalLanguages:g,code:N,editorState:B,extensions:p,extensionsKeymap:d,filePath:E,id:u,initMode:a||R.initMode,onCodeUpdate:$,readOnly:f||X,showInlineErrors:s,showLineNumbers:o,showReadOnly:b,wrapContent:n}),r&&_==="idle"?je(pt,null):null))});import{useClasser as Sn}from"@code-hike/classer";import{createElement as Ue,forwardRef as vn}from"react";var bs=vn(({showTabs:e,showLineNumbers:t,decorators:o,code:s,initMode:r,wrapContent:n,...c},a)=>{let{sandpack:p}=x(),{code:d}=it(),u=Sn(h),f=e!=null?e:p.visibleFiles.length>1;return Ue(Y,{...c},f?Ue(lt,null):null,Ue("div",{className:l(u("code-editor"),ht)},Ue(xe,{ref:a,code:s!=null?s:d,decorators:o,filePath:p.activeFile,initMode:r||p.initMode,showLineNumbers:t,showReadOnly:!1,wrapContent:n,readOnly:!0})),p.status==="idle"?Ue(pt,null):null)});import{createElement as vs}from"react";import{createElement as Kt}from"react";import{createElement as qt,useState as xn}from"react";import{useClasser as kn}from"@code-hike/classer";import{createElement as ze}from"react";var Cn=m({borderRadius:"0",width:"100%",padding:0,marginBottom:"$space$2",span:{textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden"},svg:{marginRight:"$space$1"}}),bt=({selectFile:e,path:t,active:o,onClick:s,depth:r,isDirOpen:n})=>{let c=kn(h),a=u=>{e&&e(t),s==null||s(u)},p=t.split("/").filter(Boolean).pop(),d=()=>e?ze(Oo,null):n?ze(Po,null):ze(Io,null);return ze("button",{className:l(c("button","explorer"),T,Cn),"data-active":o,onClick:a,style:{paddingLeft:18*r+"px"},title:p,type:"button"},d(),ze("span",null,p))};var ys=({prefixedPath:e,files:t,selectFile:o,activeFile:s,depth:r,autoHiddenFiles:n,visibleFiles:c})=>{let[a,p]=xn(!0);return qt("div",{key:e},qt(bt,{depth:r,isDirOpen:a,onClick:()=>p(u=>!u),path:e+"/"}),a&&qt(yt,{activeFile:s,autoHiddenFiles:n,depth:r+1,files:t,prefixedPath:e,selectFile:o,visibleFiles:c}))};var Ss=({autoHiddenFiles:e,visibleFiles:t,files:o,prefixedPath:s})=>{let r=t.length>0,n=e&&!r,c=e&&!!r,a=Object.keys(o).filter(u=>{var b;let f=u.startsWith(s);return c?f&&t.includes(u):n?f&&!((b=o[u])==null?void 0:b.hidden):f}).map(u=>u.substring(s.length)),p=new Set(a.filter(u=>u.includes("/")).map(u=>`${s}${u.split("/")[0]}/`)),d=a.filter(u=>!u.includes("/")).map(u=>`${s}${u}`);return{directories:Array.from(p),modules:d}};var yt=({depth:e=0,activeFile:t,selectFile:o,prefixedPath:s,files:r,autoHiddenFiles:n,visibleFiles:c})=>{let{directories:a,modules:p}=Ss({visibleFiles:c,autoHiddenFiles:n,prefixedPath:s,files:r});return Kt("div",null,a.map(d=>Kt(ys,{key:d,activeFile:t,autoHiddenFiles:n,depth:e,files:r,prefixedPath:d,selectFile:o,visibleFiles:c})),p.map(d=>Kt(bt,{key:d,active:t===d,depth:e,path:d,selectFile:o})))};var Rn=m({padding:"$space$3",overflow:"auto",height:"100%"}),wp=({className:e,autoHiddenFiles:t=!1,...o})=>{let{sandpack:s}=x();return vs("div",{className:l(me,Rn,`${h}-file-explorer`,e),...o},vs(yt,{activeFile:s.activeFile,autoHiddenFiles:t,files:s.files,prefixedPath:"/",selectFile:s.openFile,visibleFiles:s.visibleFilesFromProps}))};import{useClasser as En}from"@code-hike/classer";import{createElement as le,useEffect as $n,useState as St}from"react";var ks=e=>{let t=e.match(/(https?:\/\/.*?)\//);return t&&t[1]?[t[1],e.replace(t[1],"")]:[e,"/"]};var Tn=m({display:"flex",alignItems:"center",height:"$layout$headerHeight",borderBottom:"1px solid $colors$surface2",padding:"$space$3 $space$2",background:"$colors$surface1"}),Nn=m({backgroundColor:"$colors$surface2",color:"$colors$clickable",padding:"$space$1 $space$3",borderRadius:"99999px",border:"1px solid $colors$surface2",height:"24px",lineHeight:"24px",fontSize:"inherit",outline:"none",flex:1,marginLeft:"$space$4",width:"0",transition:"background $transitions$default","&:hover":{backgroundColor:"$colors$surface3"},"&:focus":{backgroundColor:"$surface1",border:"1px solid $colors$accent",color:"$colors$base"}}),Cs=({clientId:e,onURLChange:t,className:o,...s})=>{var j;let[r,n]=St(""),{sandpack:c,dispatch:a,listen:p}=x(),[d,u]=St((j=c.startRoute)!=null?j:"/"),[f,b]=St(!1),[g,y]=St(!1),R=En(h);$n(()=>{let v=p($=>{if($.type==="urlchange"){let{url:q,back:S,forward:k}=$,[I,M]=ks(q);n(I),u(M),b(S),y(k)}},e);return()=>v()},[]);let N=v=>{let $=v.target.value.startsWith("/")?v.target.value:`/${v.target.value}`;u($)},F=v=>{v.code==="Enter"&&(v.preventDefault(),v.stopPropagation(),typeof t=="function"&&t(r+v.currentTarget.value))},X=()=>{a({type:"refresh"})},E=()=>{a({type:"urlback"})},_=()=>{a({type:"urlforward"})},B=l(R("button","icon"),T,Ko,m({minWidth:"$space$6",justifyContent:"center"}));return le("div",{className:l(R("navigator"),Tn,o),...s},le("button",{"aria-label":"Go back one page",className:B,disabled:!f,onClick:E,type:"button"},le(Lo,null)),le("button",{"aria-label":"Go forward one page",className:B,disabled:!g,onClick:_,type:"button"},le(wo,null)),le("button",{"aria-label":"Refresh page",className:B,onClick:X,type:"button"},le(Qe,null)),le("input",{"aria-label":"Current Sandpack URL",className:l(R("input"),Nn),name:"Current Sandpack URL",onChange:N,onKeyDown:F,type:"text",value:d}))};import{useClasser as Gn}from"@code-hike/classer";import{Fragment as Kn,createElement as re,forwardRef as qn,useEffect as ea,useImperativeHandle as ta,useState as Qn}from"react";import{useEffect as Mn}from"react";var xs=()=>{var o;let{sandpack:e}=x(),{error:t}=e;return Mn(()=>{e.errorScreenRegisteredRef.current=!0},[]),(o=t==null?void 0:t.message)!=null?o:null};import{useEffect as Es,useState as Ln}from"react";var Qt=200,Rs=(e,t)=>{let{sandpack:o,listen:s}=x(),[r,n]=Ln("LOADING");return Es(()=>{o.loadingScreenRegisteredRef.current=!0;let c=s(a=>{a.type==="start"&&a.firstLoad===!0&&n("LOADING"),a.type==="done"&&n(p=>p==="LOADING"?"PRE_FADING":"HIDDEN")},e);return()=>{c()}},[e,o.status==="idle"]),Es(()=>{let c;return r==="PRE_FADING"&&!t?n("FADING"):r==="FADING"&&(c=setTimeout(()=>n("HIDDEN"),Qt)),()=>{clearTimeout(c)}},[r,t]),o.status==="timeout"?"TIMEOUT":o.status!=="running"?"HIDDEN":r};var Ts=e=>{let{dispatch:t}=x();return{refresh:()=>t({type:"refresh"},e),back:()=>t({type:"urlback"},e),forward:()=>t({type:"urlforward"},e)}};function wn(e){var r,n;let{activeFile:t,bundlerState:o}=e;if(o==null)return null;let s=o.transpiledModules[t+":"];return(n=(r=s==null?void 0:s.source)==null?void 0:r.compiledCode)!=null?n:null}var Ns=()=>{let{sandpack:e}=x();return e.status!=="running"?null:wn(e)};import{useEffect as Fn,useRef as $s}from"react";var vt=()=>{let{sandpack:e,listen:t,dispatch:o}=x(),s=$s(null),r=$s(Ae());return Fn(()=>{let c=s.current,a=r.current;return c!==null&&e.registerBundler(c,a),()=>e.unregisterBundler(a)},[]),{sandpack:e,getClient:()=>e.clients[r.current]||null,clientId:r.current,iframe:s,listen:c=>t(c,r.current),dispatch:c=>o(c,r.current)}};import{useClasser as An}from"@code-hike/classer";import{createElement as Ms}from"react";var kt=({children:e,className:t,...o})=>{let s=xs(),r=An(h);return!s&&!e?null:Ms("div",{className:l(r("overlay","error"),He,ct,t),translate:"no",...o},Ms("div",{className:l(r("error-message"),ke)},s||e))};import{useClasser as Vn}from"@code-hike/classer";import{createElement as Te}from"react";import{useClasser as _n}from"@code-hike/classer";import{createElement as se}from"react";import{useClasser as Bn}from"@code-hike/classer";import{createElement as Fs}from"react";import Pn from"lz-string";import{createElement as Ct,useEffect as ws,useRef as Dn,useState as Hn}from"react";var In=e=>Pn.compressToBase64(JSON.stringify(e)).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,""),Ls="https://codesandbox.io/api/v1/sandboxes/define",On=(e,t)=>{let o=Object.keys(e).reduce((s,r)=>{let n=r.replace("/",""),c={content:e[r].code,isBinary:!1};return{...s,[n]:c}},{});return In({files:o,...t?{template:t}:null})},eo=({children:e,...t})=>{var c,a,p;let{sandpack:o}=x(),s=Dn(null),[r,n]=Hn();return ws(function(){let u=setTimeout(()=>{let f=On(o.files,o.environment),b=new URLSearchParams({parameters:f,query:new URLSearchParams({file:o.activeFile,utm_medium:"sandpack"}).toString()});n(b)},600);return()=>{clearTimeout(u)}},[o.activeFile,o.environment,o.files]),ws(function(){o.openInCSBRegisteredRef.current=!0},[]),((p=(a=(c=r==null?void 0:r.get)==null?void 0:c.call(r,"parameters"))==null?void 0:a.length)!=null?p:0)>1500?Ct("button",{onClick:()=>{var d;return(d=s.current)==null?void 0:d.submit()},title:"Open in CodeSandbox",...t},Ct("form",{ref:s,action:Ls,method:"POST",style:{visibility:"hidden"},target:"_blank"},Array.from(r,([d,u])=>Ct("input",{key:d,name:d,type:"hidden",value:u}))),e):Ct("a",{href:`${Ls}?${r==null?void 0:r.toString()}`,rel:"noreferrer noopener",target:"_blank",title:"Open in CodeSandbox",...t},e)};var Ve=()=>{let e=Bn(h);return Fs(eo,{className:l(e("button","icon-standalone"),T,ee,z)},Fs(Ao,null))};var to=m({transform:"translate(-4px, 9px) scale(0.13, 0.13)","*":{position:"absolute",width:"96px",height:"96px"}}),jn=m({position:"absolute",right:"$space$2",bottom:"$space$2",zIndex:"$top",width:"32px",height:"32px",borderRadius:"$border$radius",[`.${to}`]:{display:"flex"},[`.${T}`]:{display:"none"},[`&:hover .${T}`]:{display:"flex"},[`&:hover .${to}`]:{display:"none"}}),Un=tt({"0%":{transform:"rotateX(-25.5deg) rotateY(45deg)"},"100%":{transform:"rotateX(-25.5deg) rotateY(405deg)"}}),zn=m({animation:`${Un} 1s linear infinite`,animationFillMode:"forwards",transformStyle:"preserve-3d",transform:"rotateX(-25.5deg) rotateY(45deg)","*":{border:"10px solid $colors$clickable",borderRadius:"8px",background:"$colors$surface1"},".top":{transform:"rotateX(90deg) translateZ(44px)",transformOrigin:"50% 50%"},".bottom":{transform:"rotateX(-90deg) translateZ(44px)",transformOrigin:"50% 50%"},".front":{transform:"rotateY(0deg) translateZ(44px)",transformOrigin:"50% 50%"},".back":{transform:"rotateY(-180deg) translateZ(44px)",transformOrigin:"50% 50%"},".left":{transform:"rotateY(-90deg) translateZ(44px)",transformOrigin:"50% 50%"},".right":{transform:"rotateY(90deg) translateZ(44px)",transformOrigin:"50% 50%"}}),xt=({className:e,showOpenInCodeSandbox:t,...o})=>{let s=_n(h);return se("div",{className:l(s("cube-wrapper"),jn,e),title:"Open in CodeSandbox",...o},t&&se(Ve,null),se("div",{className:l(s("cube"),to)},se("div",{className:l(s("sides"),zn)},se("div",{className:"top"}),se("div",{className:"right"}),se("div",{className:"bottom"}),se("div",{className:"left"}),se("div",{className:"front"}),se("div",{className:"back"}))))};var Xn=m({backgroundColor:"$colors$surface1"}),Rt=({clientId:e,loading:t,className:o,style:s,showOpenInCodeSandbox:r,...n})=>{let c=Rs(e,t),a=Vn(h);if(c==="HIDDEN")return null;if(c==="TIMEOUT")return Te("div",{className:l(a("overlay","error"),He,ct,o),...n},Te("div",{className:l(a("error-message"),ke)},"Unable to establish connection with the sandpack bundler. Make sure you are online or try again later. If the problem persists, please report it via"," ",Te("a",{className:l(a("error-message"),ke),href:"mailto:hello@codesandbox.io?subject=Sandpack Timeout Error"},"email")," ","or submit an issue on"," ",Te("a",{className:l(a("error-message"),ke),href:"https://github.com/codesandbox/sandpack/issues",rel:"noreferrer noopener",target:"_blank"},"GitHub.")));let p=c==="LOADING"||c==="PRE_FADING";return Te("div",{className:l(a("overlay","loading"),He,Xn,o),style:{...s,opacity:p?1:0,transition:`opacity ${Qt}ms ease-out`},...n},Te(xt,{showOpenInCodeSandbox:r}))};import{useClasser as Wn}from"@code-hike/classer";import{createElement as Ps}from"react";var As=({clientId:e})=>{let{refresh:t}=Ts(e),o=Wn(h);return Ps("button",{className:l(o("button","icon-standalone"),T,ee,z),onClick:t,title:"Refresh Sandpack",type:"button"},Ps(Qe,null))};var Zn=m({flex:1,display:"flex",flexDirection:"column",background:"white",overflow:"auto",position:"relative"}),Yn=m({border:"0",outline:"0",width:"100%",height:"100%",minHeight:"160px",maxHeight:"2000px",flex:1}),Jn=m({display:"flex",position:"absolute",bottom:"$space$2",right:"$space$2",zIndex:"$overlay","> *":{marginLeft:"$space$2"}}),Is=qn(({showNavigator:e=!1,showRefreshButton:t=!0,showOpenInCodeSandbox:o=!0,showSandpackErrorOverlay:s=!0,actionsChildren:r=re(Kn,null),children:n,className:c,...a},p)=>{let{sandpack:d,listen:u,iframe:f,getClient:b,clientId:g}=vt(),[y,R]=Qn(null),{status:N,errorScreenRegisteredRef:F,openInCSBRegisteredRef:X,loadingScreenRegisteredRef:E}=d,_=Gn(h);X.current=!0,F.current=!0,E.current=!0,ea(()=>u(v=>{v.type==="resize"&&R(v.height)}),[]),ta(p,()=>({clientId:g,getClient:b}),[b,g]);let B=j=>{!f.current||(f.current.src=j)};return re(Y,{className:l(`${h}-preview`,c),...a},e&&re(Cs,{clientId:g,onURLChange:B}),re("div",{className:l(_("preview-container"),Zn)},re("iframe",{ref:f,className:l(_("preview-iframe"),Yn),style:{height:y||void 0},title:"Sandpack Preview"}),s&&re(kt,null),re("div",{className:l(_("preview-actions"),Jn)},r,!e&&t&&N==="running"&&re(As,{clientId:g}),o&&re(Ve,null)),re(Rt,{clientId:g,showOpenInCodeSandbox:o}),n))});import{useClasser as oa}from"@code-hike/classer";import{createElement as Xe,useEffect as na,useRef as ra}from"react";var sa=m({display:"flex",flexDirection:"column",width:"100%",position:"relative",overflow:"auto",minHeight:"160px",flex:1}),bm=({className:e,...t})=>{let{sandpack:o}=x(),s=Ns(),r=oa(h),n=ra(null);return na(()=>{let c=n.current;return c&&o.registerBundler(c,"hidden"),()=>{o.unregisterBundler("hidden")}},[]),Xe("div",{className:l(r("transpiled-code"),me,sa,e),...t},Xe(bs,{code:s!=null?s:"",initMode:o.initMode,...t}),Xe("iframe",{ref:n,style:{display:"none"},title:"transpiled sandpack code"}),Xe(kt,null),Xe(Rt,{clientId:"hidden",showOpenInCodeSandbox:!1}))};import{useClasser as aa}from"@code-hike/classer";import{createElement as Os,useEffect as oo,useRef as ca,useState as la}from"react";var ia=m({height:"$layout$height",width:"100%"}),Em=({clientId:e,theme:t,className:o,...s})=>{let{listen:r,sandpack:n}=x(),{themeMode:c}=Ce(),a=aa(h),p=ca(),[d,u]=la(null);return oo(()=>{import("react-devtools-inline/frontend").then(f=>{p.current=f})},[]),oo(()=>r(b=>{var g;if(b.type==="activate-react-devtools"){let y=e?n.clients[e]:Object.values(n.clients)[0],R=(g=y==null?void 0:y.iframe)==null?void 0:g.contentWindow;p.current&&R&&u(p.current.initialize(R))}}),[p,e,r,n.clients]),oo(()=>{n.registerReactDevTools("legacy")},[]),d?Os("div",{className:l(a("devtools"),ia,o),...s},Os(d,{browserTheme:t!=null?t:c})):null};import{Fragment as _a,createElement as V,useEffect as Qs,useState as Ba}from"react";import{useClasser as pa}from"@code-hike/classer";import{createElement as ua,forwardRef as ma}from"react";var da=m({border:"1px solid $colors$surface2",display:"flex",flexWrap:"wrap",alignItems:"stretch",borderRadius:"$border$radius",overflow:"hidden",position:"relative",backgroundColor:"$colors$surface2",gap:1,[`> .${me}`]:{flexGrow:1,flexShrink:1,flexBasis:"0",minWidth:"350px",height:"$layout$height","@media print":{height:"auto",display:"block"},"@media screen and (max-width: 768px)":{height:"auto",minWidth:"100% !important;"}},[`> .${h}-file-explorer`]:{flex:.2,minWidth:200}}),Ds=ma(({children:e,className:t,...o},s)=>{let{sandpack:r}=x(),n=pa(h),c=dt(r.lazyAnchorRef,s);return ua("div",{ref:c,className:l(n("layout"),da,t),...o},e)});import{createElement as pe}from"react";var fa=m({justifyContent:"space-between",borderBottom:"1px solid $colors$surface2",padding:"$space$3 $space$2",fontFamily:"$font$mono",maxHeight:"$layout$headerHeight",overflowX:"auto",whiteSpace:"nowrap"}),so=m({display:"flex",flexDirection:"row",alignItems:"center",gap:"$space$2"}),Hs=({status:e,suiteOnly:t,setSuiteOnly:o,setVerbose:s,verbose:r,watchMode:n,setWatchMode:c,showSuitesOnly:a})=>{let p=l(T,z,m({padding:"$space$1 $space$3"}));return pe("div",{className:l(fa,so)},pe("div",{className:l(so)},pe("p",{className:l(m({lineHeight:1,margin:0,color:"$colors$base",fontSize:"$font$size",display:"flex",alignItems:"center",gap:"$space$2"}))},pe(Se,null),"Tests")),pe("div",{className:l(so)},a&&pe("button",{className:p,"data-active":t,disabled:e==="initialising",onClick:o},"Suite only"),pe("button",{className:p,"data-active":r,disabled:e==="initialising",onClick:s},"Verbose"),pe("button",{className:p,"data-active":n,disabled:e==="initialising",onClick:c},"Watch")))};import{useClasser as ha}from"@code-hike/classer";import{createElement as _s}from"react";var Bs=({onClick:e})=>{let t=ha(h);return _s("button",{className:l(t("button","icon-standalone"),T,ee,z),onClick:e,title:"Run tests",type:"button"},_s(Ke,null))};import{Fragment as Aa,createElement as P}from"react";import{Fragment as xa,createElement as Ge}from"react";import ue from"react";var js=e=>({"--test-pass":e?"#18df16":"#15c213","--test-fail":e?"#df162b":"#c21325","--test-skip":e?"#eace2b":"#c2a813","--test-run":e?"#eace2b":"#c2a813","--test-title":e?"#3fbabe":"#256c6f"}),Et=m({variants:{status:{pass:{color:"var(--test-pass)"},fail:{color:"var(--test-fail)"},skip:{color:"var(--test-skip)"},title:{color:"var(--test-title)"}}}}),ne=Et({status:"pass"}),H=Et({status:"fail"}),Tt=Et({status:"skip"}),Us=Et({status:"title"}),ro=m({variants:{status:{pass:{background:"var(--test-pass)",color:"$colors$surface1"},fail:{background:"var(--test-fail)",color:"$colors$surface1"},run:{background:"var(--test-run)",color:"$colors$surface1"}}}}),zs=ro({status:"run"}),Vs=ro({status:"pass"}),no=ro({status:"fail"});var ga=m({marginLeft:"$space$4"}),ba=m({marginBottom:"$space$2",color:"$colors$clickable"}),ya=m({marginBottom:"$space$2",color:"$colors$hover"}),Sa=m({marginLeft:"$space$2"}),ao=m({marginRight:"$space$2"}),Nt=({tests:e,style:t})=>ue.createElement("div",{className:l(ga)},e.map(o=>ue.createElement("div",{key:o.name,className:l(ba)},o.status==="pass"&&ue.createElement("span",{className:l(ne,ao)},"\u2713"),o.status==="fail"&&ue.createElement("span",{className:l(H,ao)},"\u2715"),o.status==="idle"&&ue.createElement("span",{className:l(Tt,ao)},"\u25CB"),ue.createElement("span",{className:l(ya)},o.name),o.duration!==void 0&&ue.createElement("span",{className:l(Sa)},"(",o.duration," ms)"))));import va from"clean-set";var Xs=e=>$t(e).filter(t=>t.status==="fail"),$t=e=>Object.values(e.tests).concat(...Object.values(e.describes).map($t)),Ws=e=>e.map(Mt).reduce((t,o)=>({pass:t.pass+o.pass,fail:t.fail+o.fail,skip:t.skip+o.skip,total:t.total+o.total}),{pass:0,skip:0,fail:0,total:0}),Mt=e=>$t(e).reduce((t,o)=>({pass:o.status==="pass"?t.pass+1:t.pass,fail:o.status==="fail"?t.fail+1:t.fail,skip:o.status==="idle"||o.status==="running"?t.skip+1:t.skip,total:t.total+1}),{pass:0,fail:0,skip:0,total:0}),Gs=e=>e.filter(t=>Object.values(t.describes).length>0||Object.values(t.tests).length>0).map(Mt).reduce((t,o)=>({pass:t.pass+(o.fail===0?1:0),fail:t.fail+(o.fail>0?1:0),total:t.total+1}),{pass:0,fail:0,total:0}),Zs=e=>Ne(e,$t).reduce((t,o)=>t+(o.duration||0),0),Lt=e=>Object.values(e.describes).length===0&&Object.values(e.tests).length===0,We=e=>{let t=e.length-1,o=e.slice(0,t),s=e[t];return[o,s]},Ne=(e,t)=>e.map(t).reduce((o,s)=>o.concat(s),[]),ae=(e,t)=>o=>va(o,e,t);var ka=m({color:"$colors$hover",marginBottom:"$space$2"}),Ca=m({marginLeft:"$space$4"}),io=({describes:e})=>Ge(xa,null,e.map(t=>{if(Lt(t))return null;let o=Object.values(t.tests),s=Object.values(t.describes);return Ge("div",{key:t.name,className:l(Ca)},Ge("div",{className:l(ka)},t.name),Ge(Nt,{tests:o}),Ge(io,{describes:s}))}));import{createElement as Ta}from"react";var Ra=m({color:"$colors$hover",fontSize:"$font$size",padding:"$space$2",whiteSpace:"pre-wrap"}),co=({error:e,path:t})=>Ta("div",{className:l(Ra),dangerouslySetInnerHTML:{__html:Ea(e,t)}}),wt=e=>e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'"),Ea=(e,t)=>{let o="";if(e.matcherResult?o=`<span>${wt(e.message).replace(/(expected)/m,`<span class="${ne}">$1</span>`).replace(/(received)/m,`<span class="${H}">$1</span>`).replace(/(Difference:)/m,"<span>$1</span>").replace(/(Expected:)(.*)/m,`<span>$1</span><span class="${ne}">$2</span>`).replace(/(Received:)(.*)/m,`<span>$1</span><span class="${H}">$2</span>`).replace(/^(-.*)/gm,`<span class="${H}">$1</span>`).replace(/^(\+.*)/gm,`<span class="${ne}">$1</span>`)}</span>`:o=wt(e.message),e.mappedErrors&&e.mappedErrors[0]&&e.mappedErrors[0].fileName.endsWith(t)&&e.mappedErrors[0]._originalScriptCode){let r=e.mappedErrors[0]._originalScriptCode||[],n=Math.max(...r.map(a=>(a.lineNumber+"").length))+2,c=Array.from({length:n}).map(()=>" ");o+="<br />",o+="<br />",o+="<div>",r.filter(a=>a.content.trim()).forEach(a=>{let p=(a.lineNumber+"").length,d=[...c];d.length-=p,a.highlight&&(d.length-=2);let u=a.content.indexOf(".to"),f=Array.from({length:c.length+u-(n-1)},()=>" "),b=wt(a.content).replace(/(describe|test|it)(\()('|"|`)(.*)('|"|`)/m,`<span>$1$2$3</span><span class="${Us}">$4</span><span>$5</span>`).replace(/(expect\()(.*)(\)\..*)(to[\w\d]*)(\()(.*)(\))/m,`<span>$1</span><span class="${H}">$2</span><span>$3</span><span style="text-decoration: underline; font-weight: 900">$4</span><span>$5</span><span class="${ne}">$6</span><span>$7</span>`);o+=`<div ${a.highlight?'style="font-weight:200;"':""}>`+(a.highlight?`<span class="${H}">></span> `:"")+d.join("")+wt(""+a.lineNumber)+" | "+b+"</div>"+(a.highlight?"<div>"+c.join("")+" | "+f.join("")+`<span class="${H}">^</span></div>`:"")}),o+="</div>"}return o.replace(/(?:\r\n|\r|\n)/g,"<br />")};var Na=m({display:"flex",flexDirection:"row",alignItems:"center",marginBottom:"$space$2"}),lo=m({marginBottom:"$space$2"}),$a=m({fontWeight:"bold"}),Ft=m({borderRadius:"calc($border$radius / 2)"}),Ma=m({padding:"$space$1 $space$2",fontFamily:"$font$mono",textTransform:"uppercase",marginRight:"$space$2"}),La=m({fontFamily:"$font$mono",cursor:"pointer",display:"inline-block"}),wa=m({color:"$colors$clickable",textDecorationStyle:"dotted",textDecorationLine:"underline"}),Fa=m({color:"$colors$hover",fontWeight:"bold",textDecorationStyle:"dotted",textDecorationLine:"underline"}),Ys=({specs:e,openSpec:t,status:o,verbose:s})=>P(Aa,null,e.map(r=>{if(r.error)return P("div",{key:r.name,className:l(lo)},P(At,{className:l(Ft,no)},"Error"),P(Js,{onClick:()=>t(r.name),path:r.name}),P(co,{error:r.error,path:r.name}));if(Lt(r))return null;let n=Object.values(r.tests),c=Object.values(r.describes),a=Mt(r);return P("div",{key:r.name,className:l(lo)},P("div",{className:l(Na)},o==="complete"?a.fail>0?P(At,{className:l(Ft,no)},"Fail"):P(At,{className:l(Ft,Vs)},"Pass"):P(At,{className:l(Ft,zs)},"Run"),P(Js,{onClick:()=>t(r.name),path:r.name})),s&&P(Nt,{tests:n}),s&&P(io,{describes:c}),Xs(r).map(p=>P("div",{key:`failing-${p.name}`,className:l(lo)},P("div",{className:l($a,H)},"\u25CF ",p.blocks.join(" \u203A ")," \u203A ",p.name),p.errors.map(d=>P(co,{key:`failing-${p.name}-error`,error:d,path:p.path})))))})),At=({children:e,className:t})=>P("span",{className:l(Ma,t)},e),Js=({onClick:e,path:t})=>{let o=t.split("/"),s=o.slice(0,o.length-1).join("/")+"/",r=o[o.length-1];return P("button",{className:l(T,La),onClick:e},P("span",{className:l(wa)},s),P("span",{className:l(Fa)},r))};import{createElement as W}from"react";var qs=m({marginBottom:"$space$2"}),po=m({fontWeight:"bold",color:"$colors$hover",whiteSpace:"pre-wrap"}),Pa=m({fontWeight:"bold",color:"$colors$clickable"}),Ks=({suites:e,tests:t,duration:o})=>{let s="Test suites: ",r=n=>{let c=s.length-n.length,a=Array.from({length:c},()=>" ").join("");return n+a};return W("div",{className:l(Pa)},W("div",{className:l(qs)},W("span",{className:l(po)},s),e.fail>0&&W("span",{className:l(H)},e.fail," failed,"," "),e.pass>0&&W("span",{className:l(ne)},e.pass," passed,"," "),W("span",null,e.total," total")),W("div",{className:l(qs)},W("span",{className:l(po)},r("Tests:")),t.fail>0&&W("span",{className:l(H)},t.fail," failed,"," "),t.skip>0&&W("span",{className:l(Tt)},t.skip," skipped,"," "),t.pass>0&&W("span",{className:l(ne)},t.pass," passed,"," "),W("span",null,t.total," total")),W("div",{className:l(po)},r("Time:"),o/1e3,"s"))};var Ia=m({display:"flex",position:"absolute",bottom:"$space$2",right:"$space$2",zIndex:"$overlay","> *":{marginLeft:"$space$2"}}),Oa={specs:{},status:"initialising",verbose:!1,watchMode:!0,suiteOnly:!1,specsCount:0},mo=({verbose:e=!1,watchMode:t=!0,style:o,className:s,onComplete:r,actionsChildren:n,...c})=>{let a=Ce(),{getClient:p,iframe:d,listen:u,sandpack:f}=vt(),[b,g]=Ba({...Oa,verbose:e,watchMode:t});Qs(()=>{let v=[],$="";return u(S=>{if(!(b.suiteOnly&&("path"in S&&S.path!==f.activeFile||"test"in S&&"path"in S.test&&S.test.path!==f.activeFile))){if(S.type==="action"&&S.action==="clear-errors"&&S.source==="jest"){$=S.path;return}if(S.type==="test"){if(S.event==="initialize_tests")return v=[],$="",b.watchMode?y():g(k=>({...k,status:"idle",specs:{}}));if(S.event==="test_count")return g(k=>({...k,specsCount:S.count}));if(S.event==="total_test_start")return v=[],g(k=>({...k,status:"running"}));if(S.event==="total_test_end")return g(k=>(r!==void 0&&r(k.specs),{...k,status:"complete"}));if(S.event==="add_file")return g(ae(["specs",S.path],{describes:{},tests:{},name:S.path}));if(S.event==="remove_file")return g(k=>{let I=Object.entries(k.specs).reduce((M,[O,G])=>O===S.path?M:{...M,[O]:G},{});return{...k,specs:I}});if(S.event==="file_error")return g(ae(["specs",S.path,"error"],S.error));if(S.event==="describe_start"){v.push(S.blockName);let[k,I]=We(v),M=$;return I===void 0?void 0:g(ae(["specs",M,"describes",...Ne(k,O=>[O,"describes"]),I],{name:S.blockName,tests:{},describes:{}}))}if(S.event==="describe_end"){v.pop();return}if(S.event==="add_test"){let[k,I]=We(v),M={status:"idle",errors:[],name:S.testName,blocks:[...v],path:S.path};return g(I===void 0?ae(["specs",S.path,"tests",S.testName],M):ae(["specs",S.path,"describes",...Ne(k,O=>[O,"describes"]),I,"tests",S.testName],M))}if(S.event==="test_start"){let{test:k}=S,[I,M]=We(k.blocks),O={status:"running",name:k.name,blocks:k.blocks,path:k.path,errors:[]};return g(M===void 0?ae(["specs",k.path,"tests",k.name],O):ae(["specs",k.path,"describes",...Ne(I,G=>[G,"describes"]),M,"tests",k.name],O))}if(S.event==="test_end"){let{test:k}=S,[I,M]=We(k.blocks),O={status:k.status,errors:k.errors,duration:k.duration,name:k.name,blocks:k.blocks,path:k.path};return g(M===void 0?ae(["specs",k.path,"tests",k.name],O):ae(["specs",k.path,"describes",...Ne(I,G=>[G,"describes"]),M,"tests",k.name],O))}}}})},[b.suiteOnly,b.watchMode,f.activeFile]);let y=()=>{g($=>({...$,status:"running",specs:{}}));let v=p();v&&v.dispatch({type:"run-all-tests"})},R=()=>{g($=>({...$,status:"running",specs:{}}));let v=p();v&&v.dispatch({type:"run-tests",path:f.activeFile})},N=/.*\.(test|spec)\.[tj]sx?$/,F=f.activeFile.match(N)!==null;Qs(function(){return u(({type:q})=>{q==="done"&&b.watchMode&&(F?R():y())})},[R,y,b.watchMode,F]);let X=v=>{f.setActiveFile(v)},E=Object.values(b.specs),_=Zs(E),B=Ws(E),j=Gs(E);return V(Y,{className:l(`${h}-tests`,s),style:{...js(a.themeMode==="dark"),...o},...c},V("iframe",{ref:d,style:{display:"none"},title:"Sandpack Tests"}),V(Hs,{setSuiteOnly:()=>g(v=>({...v,suiteOnly:!v.suiteOnly})),setVerbose:()=>g(v=>({...v,verbose:!v.verbose})),setWatchMode:()=>{g(v=>({...v,watchMode:!v.watchMode}))},showSuitesOnly:b.specsCount>1,status:b.status,suiteOnly:b.suiteOnly,verbose:b.verbose,watchMode:b.watchMode}),b.status==="running"||b.status==="initialising"?V(xt,{showOpenInCodeSandbox:!1}):V("div",{className:Ia.toString()},n,V(Bs,{onClick:b.suiteOnly?R:y})),V("div",{className:l(Da)},E.length===0&&b.status==="complete"?V("div",{className:l(Ha)},V("p",null,"No test files found."),V("p",null,"Test match:"," ",V("span",{className:l(H)},N.toString()))):V(_a,null,V(Ys,{openSpec:X,specs:E,status:b.status,verbose:b.verbose}),b.status==="complete"&&B.total>0&&V(Ks,{duration:_,suites:j,tests:B}))))},Da=m({padding:"$space$4",height:"100%",overflow:"auto",display:"flex",flexDirection:"column",position:"relative",fontFamily:"$font$mono"}),Ha=m({fontWeight:"bold",color:"$colors$base"});import{Fragment as Ka,createElement as fe,useEffect as qa,useRef as Ja}from"react";import{useClasser as ja}from"@code-hike/classer";import er from"react";var tr=({onClick:e})=>{let t=ja("sp");return er.createElement("button",{className:l(t("button","icon-standalone"),T,ee,z,m({position:"absolute",bottom:"$space$2",right:"$space$2"})),onClick:e},er.createElement(Fo,null))};import uo from"react";var or=()=>uo.createElement("div",{className:l(m({borderBottom:"1px solid $colors$surface2",padding:"$space$3 $space$2",height:"$layout$headerHeight"}))},uo.createElement("p",{className:l(m({lineHeight:1,margin:0,color:"$colors$base",fontSize:"$font$size",display:"flex",alignItems:"center",gap:"$space$2"}))},uo.createElement(Se,null),"Console"));import{useEffect as za,useState as Ua}from"react";var sr=["SyntaxError: ","Error in sandbox:"],rr={id:"random",method:"clear",data:["Console was cleared"]},fo="@t",ho="@r",go=1e4,bo=2,Pt=400,yo=Pt*2;var So=e=>{var c,a;let[t,o]=Ua([]),{listen:s}=x(),r=(c=e==null?void 0:e.showSyntaxError)!=null?c:!1,n=(a=e==null?void 0:e.maxMessageCount)!=null?a:yo;return za(()=>s(d=>{if(d.type==="console"&&d.codesandbox){if(d.log.find(({method:f})=>f==="clear"))return o([rr]);let u=r?d.log:d.log.filter(f=>f.data.filter(g=>typeof g!="string"?!0:sr.filter(R=>g.startsWith(R)).length===0).length>0);if(!u)return;o(f=>{let b=[...f,...u].filter((g,y,R)=>y===R.findIndex(N=>N.id===g.id));for(;b.length>yo;)b.shift();return b})}},e==null?void 0:e.clientId),[s,n,e,r]),{logs:t,reset:()=>o([])}};var vo=function(){return(0,eval)("this")}(),Va=typeof ArrayBuffer=="function",Xa=typeof Map=="function",Wa=typeof Set=="function",Ze;(function(s){s[s.infinity=0]="infinity",s[s.minusInfinity=1]="minusInfinity",s[s.minusZero=2]="minusZero"})(Ze||(Ze={}));var nr={Arithmetic:e=>e===0?1/0:e===1?-1/0:e===2?-0:e,HTMLElement:e=>{let t=document.implementation.createHTMLDocument("sandbox");try{let o=t.createElement(e.tagName);o.innerHTML=e.innerHTML;for(let s of Object.keys(e.attributes))try{o.setAttribute(s,e.attributes[s])}catch{}return o}catch(o){return e}},Function:e=>{let t=()=>{};return Object.defineProperty(t,"toString",{value:()=>`function ${e.name}() {${e.body}}`}),t},"[[NaN]]":()=>NaN,"[[undefined]]":()=>{},"[[Date]]":e=>{let t=new Date;return t.setTime(e),t},"[[RegExp]]":e=>new RegExp(e.src,e.flags),"[[Error]]":e=>{let t=vo[e.name]||Error,o=new t(e.message);return o.stack=e.stack,o},"[[ArrayBuffer]]":e=>{if(Va){let t=new ArrayBuffer(e.length);return new Int8Array(t).set(e),t}return e},"[[TypedArray]]":e=>typeof vo[e.ctorName]=="function"?new vo[e.ctorName](e.arr):e.arr,"[[Map]]":e=>{if(Xa){let o=new Map;for(let s=0;s<e.length;s+=2)o.set(e[s],e[s+1]);return o}let t=[];for(let o=0;o<e.length;o+=2)t.push([e[i],e[i+1]]);return t},"[[Set]]":e=>{if(Wa){let t=new Set;for(let o=0;o<e.length;o++)t.add(e[o]);return t}return e}};var ar=e=>{if(typeof e=="string"||typeof e=="number"||e===null)return e;if(Array.isArray(e))return e.map(ar);if(typeof e=="object"&&fo in e){let t=e[fo];return nr[t](e.data)}return e},Ga=(e,t,o)=>`[${e.reduce((r,n,c)=>`${r}${c?", ":""}${Ye(n,t,o)}`,"")}]`,Za=(e,t,o)=>{let s=e.constructor.name!=="Object"?`${e.constructor.name} `:"";if(o>bo)return s;let r=Object.entries(e),n=Object.entries(e).reduce((c,[a,p],d)=>{let u=d===0?"":", ",f=r.length>10?` - `:"",b=Ye(p,t,o);return d===Pt?c+f+"...":d>Pt?c:c+`${u}${f}${a}: `+b},"");return`${s}{ ${n}${r.length>10?` diff --git a/patches/@lezer+javascript+0.15.2.patch b/patches/@lezer+javascript+0.15.2.patch deleted file mode 100644 index c7ecd94c..00000000 --- a/patches/@lezer+javascript+0.15.2.patch +++ /dev/null @@ -1,345 +0,0 @@ -diff --git a/node_modules/@lezer/javascript/dist/index.cjs b/node_modules/@lezer/javascript/dist/index.cjs -index 2d4ede8..622851f 100644 ---- a/node_modules/@lezer/javascript/dist/index.cjs -+++ b/node_modules/@lezer/javascript/dist/index.cjs -@@ -6,16 +6,16 @@ var lr = require('@lezer/lr'); - var common = require('@lezer/common'); - - // This file was generated by lezer-generator. You probably shouldn't edit it. --const noSemi = 275, -+const noSemi = 277, - incdec = 1, - incdecPrefix = 2, -- templateContent = 276, -- templateDollarBrace = 277, -- templateEnd = 278, -- insertSemi = 279, -+ templateContent = 278, -+ templateDollarBrace = 279, -+ templateEnd = 280, -+ insertSemi = 281, - TSExtends = 3, -- spaces = 281, -- newline = 282, -+ spaces = 283, -+ newline = 284, - LineComment = 4, - BlockComment = 5, - Dialect_ts = 1; -@@ -95,31 +95,31 @@ function tsExtends(value, stack) { - } - - // This file was generated by lezer-generator. You probably shouldn't edit it. --const spec_identifier = {__proto__:null,export:16, as:21, from:25, default:30, async:35, function:36, this:46, true:54, false:54, void:60, typeof:64, null:78, super:80, new:114, await:131, yield:133, delete:134, class:144, extends:146, public:189, private:189, protected:189, readonly:191, instanceof:212, in:214, const:216, import:248, keyof:299, unique:303, infer:309, is:343, abstract:363, implements:365, type:367, let:370, var:372, interface:379, enum:383, namespace:389, module:391, declare:395, global:399, for:420, of:429, while:432, with:436, do:440, if:444, else:446, switch:450, case:456, try:462, catch:464, finally:466, return:470, throw:474, break:478, continue:482, debugger:486}; --const spec_word = {__proto__:null,async:101, get:103, set:105, public:153, private:153, protected:153, static:155, abstract:157, override:159, readonly:165, new:347}; -+const spec_identifier = {__proto__:null,export:16, as:21, from:25, default:30, async:35, function:36, this:46, true:54, false:54, void:60, typeof:64, null:78, super:80, new:114, await:131, yield:133, delete:134, class:144, extends:146, public:189, private:189, protected:189, readonly:191, instanceof:212, in:214, const:216, import:248, keyof:303, unique:307, infer:313, is:347, abstract:367, implements:369, type:371, let:374, var:376, interface:383, enum:387, namespace:393, module:395, declare:399, global:403, for:424, of:433, while:436, with:440, do:444, if:448, else:450, switch:454, case:460, try:466, catch:468, finally:470, return:474, throw:478, break:482, continue:486, debugger:490}; -+const spec_word = {__proto__:null,async:101, get:103, set:105, public:153, private:153, protected:153, static:155, abstract:157, override:159, readonly:165, new:351}; - const spec_LessThan = {__proto__:null,"<":121}; - const parser = lr.LRParser.deserialize({ - version: 13, -- states: "$1WO`QYOOO'QQ!LdO'#CgO'XOSO'#DSO)dQYO'#DXO)tQYO'#DdO){QYO'#DnO-xQYO'#DtOOQO'#EX'#EXO.]QWO'#EWO.bQWO'#EWOOQ!LS'#Eb'#EbO0aQ!LdO'#IqO2wQ!LdO'#IrO3eQWO'#EvO3jQpO'#F]OOQ!LS'#FO'#FOO3rO!bO'#FOO4QQWO'#FdO5_QWO'#FcOOQ!LS'#Ir'#IrOOQ!LQ'#Iq'#IqOOQQ'#J['#J[O5dQWO'#HjO5iQ!LYO'#HkOOQQ'#Ic'#IcOOQQ'#Hl'#HlQ`QYOOO){QYO'#DfO5qQWO'#GWO5vQ#tO'#ClO6UQWO'#EVO6aQWO'#EcO6fQ#tO'#E}O7QQWO'#GWO7VQWO'#G[O7bQWO'#G[O7pQWO'#G_O7pQWO'#G`O7pQWO'#GbO5qQWO'#GeO8aQWO'#GhO9oQWO'#CcO:PQWO'#GuO:XQWO'#G{O:XQWO'#G}O`QYO'#HPO:XQWO'#HRO:XQWO'#HUO:^QWO'#H[O:cQ!LZO'#H`O){QYO'#HbO:nQ!LZO'#HdO:yQ!LZO'#HfO5iQ!LYO'#HhO){QYO'#IsOOOS'#Hn'#HnO;UOSO,59nOOQ!LS,59n,59nO=gQbO'#CgO=qQYO'#HoO>OQWO'#ItO?}QbO'#ItO'dQYO'#ItO@UQWO,59sO@lQ&jO'#D^OAeQWO'#EXOArQWO'#JPOA}QWO'#JOOBVQWO,5:uOB[QWO'#I}OBcQWO'#DuO5vQ#tO'#EVOBqQWO'#EVOB|Q`O'#E}OOQ!LS,5:O,5:OOCUQYO,5:OOESQ!LdO,5:YOEpQWO,5:`OFZQ!LYO'#I|O7VQWO'#I{OFbQWO'#I{OFjQWO,5:tOFoQWO'#I{OF}QYO,5:rOH}QWO'#ESOJXQWO,5:rOKhQWO'#DhOKoQYO'#DmOKyQ&jO,5:{O){QYO,5:{OOQQ'#En'#EnOOQQ'#Ep'#EpO){QYO,5:}O){QYO,5:}O){QYO,5:}O){QYO,5:}O){QYO,5:}O){QYO,5:}O){QYO,5:}O){QYO,5:}O){QYO,5:}O){QYO,5:}O){QYO,5:}OOQQ'#Et'#EtOLRQYO,5;_OOQ!LS,5;d,5;dOOQ!LS,5;e,5;eONRQWO,5;eOOQ!LS,5;f,5;fO){QYO'#HyONWQ!LYO,5<PONrQWO,5:}O){QYO,5;bO! [QpO'#JTONyQpO'#JTO! cQpO'#JTO! tQpO,5;mOOOO,5;w,5;wO!!SQYO'#F_OOOO'#Hx'#HxO3rO!bO,5;jO!!ZQpO'#FaOOQ!LS,5;j,5;jO!!wQ,UO'#CqOOQ!LS'#Ct'#CtO!#[QWO'#CtO!#aOSO'#CxO!#}Q#tO,5;|O!$UQWO,5<OO!%bQWO'#FnO!%oQWO'#FoO!%tQWO'#FsO!&vQ&jO'#FwO!'iQ,UO'#IlOOQ!LS'#Il'#IlO!'sQWO'#IkO!(RQWO'#IjOOQ!LS'#Cr'#CrOOQ!LS'#Cy'#CyO!(ZQWO'#C{OJ^QWO'#FfOJ^QWO'#FhO!(`QWO'#FjO!(eQWO'#FkO!(jQWO'#FqOJ^QWO'#FvO!(oQWO'#EYO!)WQWO,5;}O`QYO,5>UOOQQ'#If'#IfOOQQ,5>V,5>VOOQQ-E;j-E;jO!+SQ!LdO,5:QOOQ!LQ'#Co'#CoO!+sQ#tO,5<rOOQO'#Ce'#CeO!,UQWO'#CpO!,^Q!LYO'#IgO5_QWO'#IgO:^QWO,59WO!,lQpO,59WO!,tQ#tO,59WO5vQ#tO,59WO!-PQWO,5:rO!-XQWO'#GtO!-dQWO'#J`O){QYO,5;gO!-lQ&jO,5;iO!-qQWO,5=_O!-vQWO,5=_O!-{QWO,5=_O5iQ!LYO,5=_O5qQWO,5<rO!.ZQWO'#EZO!.lQ&jO'#E[OOQ!LQ'#I}'#I}O!.}Q!LYO'#J]O5iQ!LYO,5<vO7pQWO,5<|OOQO'#Cq'#CqO!/YQpO,5<yO!/bQ#tO,5<zO!/mQWO,5<|O!/rQ`O,5=PO:^QWO'#GjO5qQWO'#GlO!/zQWO'#GlO5vQ#tO'#GoO!0PQWO'#GoOOQQ,5=S,5=SO!0UQWO'#GpO!0^QWO'#ClO!0cQWO,58}O!0mQWO,58}O!2oQYO,58}OOQQ,58},58}O!2|Q!LYO,58}O){QYO,58}O!3XQYO'#GwOOQQ'#Gx'#GxOOQQ'#Gy'#GyO`QYO,5=aO!3iQWO,5=aO){QYO'#DtO`QYO,5=gO`QYO,5=iO!3nQWO,5=kO`QYO,5=mO!3sQWO,5=pO!3xQYO,5=vOOQQ,5=z,5=zO){QYO,5=zO5iQ!LYO,5=|OOQQ,5>O,5>OO!7yQWO,5>OOOQQ,5>Q,5>QO!7yQWO,5>QOOQQ,5>S,5>SO!8OQ`O,5?_OOOS-E;l-E;lOOQ!LS1G/Y1G/YO!8TQbO,5>ZO){QYO,5>ZOOQO-E;m-E;mO!8_QWO,5?`O!8gQbO,5?`O!8nQWO,5?jOOQ!LS1G/_1G/_O!8vQpO'#DQOOQO'#Iv'#IvO){QYO'#IvO!9eQpO'#IvO!:SQpO'#D_O!:eQ&jO'#D_O!<pQYO'#D_O!<wQWO'#IuO!=PQWO,59xO!=UQWO'#E]O!=dQWO'#JQO!=lQWO,5:vO!>SQ&jO'#D_O){QYO,5?kO!>^QWO'#HtO!8nQWO,5?jOOQ!LQ1G0a1G0aO!?jQ&jO'#DxOOQ!LS,5:a,5:aO){QYO,5:aOH}QWO,5:aO!?qQWO,5:aO:^QWO,5:qO!,lQpO,5:qO!,tQ#tO,5:qO5vQ#tO,5:qOOQ!LS1G/j1G/jOOQ!LS1G/z1G/zOOQ!LQ'#ER'#ERO){QYO,5?hO!?|Q!LYO,5?hO!@_Q!LYO,5?hO!@fQWO,5?gO!@nQWO'#HvO!@fQWO,5?gOOQ!LQ1G0`1G0`O7VQWO,5?gOOQ!LS1G0^1G0^O!AYQ!LdO1G0^O!AyQ!LbO,5:nOOQ!LS'#Fm'#FmO!BgQ!LdO'#IlOF}QYO1G0^O!DfQ#tO'#IwO!DpQWO,5:SO!DuQbO'#IxO){QYO'#IxO!EPQWO,5:XOOQ!LS'#DQ'#DQOOQ!LS1G0g1G0gO!EUQWO1G0gO!GgQ!LdO1G0iO!GnQ!LdO1G0iO!JRQ!LdO1G0iO!JYQ!LdO1G0iO!LaQ!LdO1G0iO!LtQ!LdO1G0iO# eQ!LdO1G0iO# lQ!LdO1G0iO#$PQ!LdO1G0iO#$WQ!LdO1G0iO#%{Q!LdO1G0iO#(uQ7^O'#CgO#*pQ7^O1G0yO#,kQ7^O'#IrOOQ!LS1G1P1G1PO#-OQ!LdO,5>eOOQ!LQ-E;w-E;wO#-oQ!LdO1G0iOOQ!LS1G0i1G0iO#/qQ!LdO1G0|O#0bQpO,5;oO#0gQpO,5;pO#0lQpO'#FWO#1QQWO'#FVOOQO'#JU'#JUOOQO'#Hw'#HwO#1VQpO1G1XOOQ!LS1G1X1G1XOOOO1G1b1G1bO#1eQ7^O'#IqO#1oQWO,5;yOLRQYO,5;yOOOO-E;v-E;vOOQ!LS1G1U1G1UOOQ!LS,5;{,5;{O#1tQpO,5;{OOQ!LS,59`,59`OH}QWO'#InOOOS'#Hm'#HmO#1yOSO,59dOOQ!LS,59d,59dO){QYO1G1hO!(eQWO'#H{O#2UQWO,5<aOOQ!LS,5<^,5<^OOQO'#GR'#GROJ^QWO,5<lOOQO'#GT'#GTOJ^QWO,5<nOJ^QWO,5<pOOQO1G1j1G1jO#2aQ`O'#CoO#2tQ`O,5<YO#2{QWO'#JXO5qQWO'#JXO#3ZQWO,5<[OJ^QWO,5<ZO#3`Q`O'#FmO#3mQ`O'#JYO#3wQWO'#JYOH}QWO'#JYO#3|QWO,5<_OOQ!LQ'#Dc'#DcO#4RQWO'#FpO#4^QpO'#FxO!&qQ&jO'#FxO!&qQ&jO'#FzO#4oQWO'#F{O!(jQWO'#GOOOQO'#H}'#H}O#4tQ&jO,5<cOOQ!LS,5<c,5<cO#4{Q&jO'#FxO#5ZQ&jO'#FyO#5cQ&jO'#FyOOQ!LS,5<q,5<qOJ^QWO,5?VOJ^QWO,5?VO#5hQWO'#IOO#5sQWO,5?UOOQ!LS'#Cg'#CgO#6gQ#tO,59gOOQ!LS,59g,59gO#7YQ#tO,5<QO#7{Q#tO,5<SO#8VQWO,5<UOOQ!LS,5<V,5<VO#8[QWO,5<]O#8aQ#tO,5<bOF}QYO1G1iO#8qQWO1G1iOOQQ1G3p1G3pOOQ!LS1G/l1G/lONRQWO1G/lOOQQ1G2^1G2^OH}QWO1G2^O){QYO1G2^OH}QWO1G2^O#8vQWO1G2^O#9UQWO,59[O#:_QWO'#ESOOQ!LQ,5?R,5?RO#:iQ!LYO,5?ROOQQ1G.r1G.rO:^QWO1G.rO!,lQpO1G.rO!,tQ#tO1G.rO#:wQWO1G0^O#:|QWO'#CgO#;XQWO'#JaO#;aQWO,5=`O#;fQWO'#JaO#;kQWO'#JaO#;pQWO'#IWO#<OQWO,5?zO#<WQbO1G1ROOQ!LS1G1T1G1TO5qQWO1G2yO#<_QWO1G2yO#<dQWO1G2yO#<iQWO1G2yOOQQ1G2y1G2yO#<nQ#tO1G2^O7VQWO'#JOO7VQWO'#E]O7VQWO'#IQO#=PQ!LYO,5?wOOQQ1G2b1G2bO!/mQWO1G2hOH}QWO1G2eO#=[QWO1G2eOOQQ1G2f1G2fOH}QWO1G2fO#=aQWO1G2fO#=iQ&jO'#GdOOQQ1G2h1G2hO!&qQ&jO'#ISO!/rQ`O1G2kOOQQ1G2k1G2kOOQQ,5=U,5=UO#=qQ#tO,5=WO5qQWO,5=WO#4oQWO,5=ZO5_QWO,5=ZO!,lQpO,5=ZO!,tQ#tO,5=ZO5vQ#tO,5=ZO#>SQWO'#J_O#>_QWO,5=[OOQQ1G.i1G.iO#>dQ!LYO1G.iO#>oQWO1G.iO!(ZQWO1G.iO5iQ!LYO1G.iO#>tQbO,5?|O#?OQWO,5?|O#?ZQYO,5=cO#?bQWO,5=cO7VQWO,5?|OOQQ1G2{1G2{O`QYO1G2{OOQQ1G3R1G3ROOQQ1G3T1G3TO:XQWO1G3VO#?gQYO1G3XO#CbQYO'#HWOOQQ1G3[1G3[O:^QWO1G3bO#CoQWO1G3bO5iQ!LYO1G3fOOQQ1G3h1G3hOOQ!LQ'#Ft'#FtO5iQ!LYO1G3jO5iQ!LYO1G3lOOOS1G4y1G4yO#CwQ`O,5<PO#DPQbO1G3uO#DZQWO1G4zO#DcQWO1G5UO#DkQWO,5?bOLRQYO,5:wO7VQWO,5:wO:^QWO,59yOLRQYO,59yO!,lQpO,59yO#DpQ7^O,59yOOQO,5:w,5:wO#DzQ&jO'#HpO#EbQWO,5?aOOQ!LS1G/d1G/dO#EjQ&jO'#HuO#FOQWO,5?lOOQ!LQ1G0b1G0bO!:eQ&jO,59yO#FWQbO1G5VOOQO,5>`,5>`O7VQWO,5>`OOQO-E;r-E;rOOQ!LQ'#EO'#EOO#FbQ!LrO'#EPO!?bQ&jO'#DyOOQO'#Hs'#HsO#F|Q&jO,5:dOOQ!LS,5:d,5:dO#GTQ&jO'#DyO#GfQ&jO'#DyO#GmQ&jO'#EUO#GpQ&jO'#EPO#G}Q&jO'#EPO!?bQ&jO'#EPO#HbQWO1G/{O#HgQ`O1G/{OOQ!LS1G/{1G/{O){QYO1G/{OH}QWO1G/{OOQ!LS1G0]1G0]O:^QWO1G0]O!,lQpO1G0]O!,tQ#tO1G0]O#HnQ!LdO1G5SO){QYO1G5SO#IOQ!LYO1G5SO#IaQWO1G5RO7VQWO,5>bOOQO,5>b,5>bO#IiQWO,5>bOOQO-E;t-E;tO#IaQWO1G5RO#IwQ!LdO,59gO#KvQ!LdO,5<QO#MxQ!LdO,5<SO$ zQ!LdO,5<bOOQ!LS7+%x7+%xO$$SQ!LdO7+%xO$$sQWO'#HqO$$}QWO,5?cOOQ!LS1G/n1G/nO$%VQYO'#HrO$%dQWO,5?dO$%lQbO,5?dOOQ!LS1G/s1G/sOOQ!LS7+&R7+&RO$%vQ7^O,5:YO){QYO7+&eO$&QQ7^O,5:QOOQO1G1Z1G1ZOOQO1G1[1G1[O$&_QMhO,5;rOLRQYO,5;qOOQO-E;u-E;uOOQ!LS7+&s7+&sOOOO7+&|7+&|OOOO1G1e1G1eO$&jQWO1G1eOOQ!LS1G1g1G1gO$&oQ`O,5?YOOOS-E;k-E;kOOQ!LS1G/O1G/OO$&vQ!LdO7+'SOOQ!LS,5>g,5>gO$'gQWO,5>gOOQ!LS1G1{1G1{P$'lQWO'#H{POQ!LS-E;y-E;yO$(]Q#tO1G2WO$)OQ#tO1G2YO$)YQ#tO1G2[OOQ!LS1G1t1G1tO$)aQWO'#HzO$)oQWO,5?sO$)oQWO,5?sO$)wQWO,5?sO$*SQWO,5?sOOQO1G1v1G1vO$*bQ#tO1G1uO$*rQWO'#H|O$+SQWO,5?tOH}QWO,5?tO$+[Q`O,5?tOOQ!LS1G1y1G1yO5iQ!LYO,5<dO5iQ!LYO,5<eO$+fQWO,5<eO#4jQWO,5<eO!,lQpO,5<dO$+kQWO,5<fO5iQ!LYO,5<gO$+fQWO,5<jOOQO-E;{-E;{OOQ!LS1G1}1G1}O!&qQ&jO,5<dO$+sQWO,5<eO!&qQ&jO,5<fO!&qQ&jO,5<eO$,OQ#tO1G4qO$,YQ#tO1G4qOOQO,5>j,5>jOOQO-E;|-E;|O!-lQ&jO,59iO){QYO,59iO$,gQWO1G1pOJ^QWO1G1wO$,lQ!LdO7+'TOOQ!LS7+'T7+'TOF}QYO7+'TOOQ!LS7+%W7+%WO$-]Q`O'#JZO#HbQWO7+'xO$-gQWO7+'xO$-oQ`O7+'xOOQQ7+'x7+'xOH}QWO7+'xO){QYO7+'xOH}QWO7+'xOOQO1G.v1G.vO$-yQ!LbO'#CgO$.ZQ!LbO,5<hO$.xQWO,5<hOOQ!LQ1G4m1G4mOOQQ7+$^7+$^O:^QWO7+$^O!,lQpO7+$^OF}QYO7+%xO$.}QWO'#IVO$/]QWO,5?{OOQO1G2z1G2zO5qQWO,5?{O$/]QWO,5?{O$/eQWO,5?{OOQO,5>r,5>rOOQO-E<U-E<UOOQ!LS7+&m7+&mO$/jQWO7+(eO5iQ!LYO7+(eO5qQWO7+(eO$/oQWO7+(eO$/tQWO7+'xOOQ!LQ,5>l,5>lOOQ!LQ-E<O-E<OOOQQ7+(S7+(SO$0SQ!LbO7+(POH}QWO7+(PO$0^Q`O7+(QOOQQ7+(Q7+(QOH}QWO7+(QO$0eQWO'#J^O$0pQWO,5=OOOQO,5>n,5>nOOQO-E<Q-E<QOOQQ7+(V7+(VO$1jQ&jO'#GmOOQQ1G2r1G2rOH}QWO1G2rO){QYO1G2rOH}QWO1G2rO$1qQWO1G2rO$2PQ#tO1G2rO5iQ!LYO1G2uO#4oQWO1G2uO5_QWO1G2uO!,lQpO1G2uO!,tQ#tO1G2uO$2bQWO'#IUO$2mQWO,5?yO$2uQ&jO,5?yOOQ!LQ1G2v1G2vOOQQ7+$T7+$TO$2zQWO7+$TO5iQ!LYO7+$TO$3PQWO7+$TO){QYO1G5hO){QYO1G5iO$3UQYO1G2}O$3]QWO1G2}O$3bQYO1G2}O$3iQ!LYO1G5hOOQQ7+(g7+(gO5iQ!LYO7+(qO`QYO7+(sOOQQ'#Jd'#JdOOQQ'#IX'#IXO$3sQYO,5=rOOQQ,5=r,5=rO){QYO'#HXO$4QQWO'#HZOOQQ7+(|7+(|O$4VQYO7+(|O7VQWO7+(|OOQQ7+)Q7+)QOOQQ7+)U7+)UOOQQ7+)W7+)WOOQO1G4|1G4|O$8TQ7^O1G0cO$8_QWO1G0cOOQO1G/e1G/eO$8jQ7^O1G/eO:^QWO1G/eOLRQYO'#D_OOQO,5>[,5>[OOQO-E;n-E;nOOQO,5>a,5>aOOQO-E;s-E;sO!,lQpO1G/eOOQO1G3z1G3zO:^QWO,5:eOOQO,5:k,5:kO){QYO,5:kO$8tQ!LYO,5:kO$9PQ!LYO,5:kO!,lQpO,5:eOOQO-E;q-E;qOOQ!LS1G0O1G0OO!?bQ&jO,5:eO$9_Q&jO,5:eO$9pQ!LrO,5:kO$:[Q&jO,5:eO!?bQ&jO,5:kOOQO,5:p,5:pO$:cQ&jO,5:kO$:pQ!LYO,5:kOOQ!LS7+%g7+%gO#HbQWO7+%gO#HgQ`O7+%gOOQ!LS7+%w7+%wO:^QWO7+%wO!,lQpO7+%wO$;UQ!LdO7+*nO){QYO7+*nOOQO1G3|1G3|O7VQWO1G3|O$;fQWO7+*mO$;nQ!LdO1G2WO$=pQ!LdO1G2YO$?rQ!LdO1G1uO$AzQ#tO,5>]OOQO-E;o-E;oO$BUQbO,5>^O){QYO,5>^OOQO-E;p-E;pO$B`QWO1G5OO$BhQ7^O1G0^O$DoQ7^O1G0iO$DvQ7^O1G0iO$FwQ7^O1G0iO$GOQ7^O1G0iO$HsQ7^O1G0iO$IWQ7^O1G0iO$KeQ7^O1G0iO$KlQ7^O1G0iO$MmQ7^O1G0iO$MtQ7^O1G0iO% iQ7^O1G0iO% |Q!LdO<<JPO%!mQ7^O1G0iO%$]Q7^O'#IlO%&YQ7^O1G0|OLRQYO'#FYOOQO'#JV'#JVOOQO1G1^1G1^O%&gQWO1G1]O%&lQ7^O,5>eOOOO7+'P7+'POOOS1G4t1G4tOOQ!LS1G4R1G4ROJ^QWO7+'vO%&vQWO,5>fO5qQWO,5>fOOQO-E;x-E;xO%'UQWO1G5_O%'UQWO1G5_O%'^QWO1G5_O%'iQ`O,5>hO%'sQWO,5>hOH}QWO,5>hOOQO-E;z-E;zO%'xQ`O1G5`O%(SQWO1G5`OOQO1G2O1G2OOOQO1G2P1G2PO5iQ!LYO1G2PO$+fQWO1G2PO5iQ!LYO1G2OO%([QWO1G2QOH}QWO1G2QOOQO1G2R1G2RO5iQ!LYO1G2UO!,lQpO1G2OO#4jQWO1G2PO%(aQWO1G2QO%(iQWO1G2POJ^QWO7+*]OOQ!LS1G/T1G/TO%(tQWO1G/TOOQ!LS7+'[7+'[O%(yQ#tO7+'cO%)ZQ!LdO<<JoOOQ!LS<<Jo<<JoOH}QWO'#IPO%)zQWO,5?uOOQQ<<Kd<<KdOH}QWO<<KdO#HbQWO<<KdO%*SQWO<<KdO%*[Q`O<<KdOH}QWO1G2SOOQQ<<Gx<<GxO:^QWO<<GxO%*fQ!LdO<<IdOOQ!LS<<Id<<IdOOQO,5>q,5>qO%+VQWO,5>qO#;kQWO,5>qOOQO-E<T-E<TO%+[QWO1G5gO%+[QWO1G5gO5qQWO1G5gO%+dQWO<<LPOOQQ<<LP<<LPO%+iQWO<<LPO5iQ!LYO<<LPO){QYO<<KdOH}QWO<<KdOOQQ<<Kk<<KkO$0SQ!LbO<<KkOOQQ<<Kl<<KlO$0^Q`O<<KlO%+nQ&jO'#IRO%+yQWO,5?xOLRQYO,5?xOOQQ1G2j1G2jO#FbQ!LrO'#EPO!?bQ&jO'#GnOOQO'#IT'#ITO%,RQ&jO,5=XOOQQ,5=X,5=XO%,YQ&jO'#EPO%,eQ&jO'#EPO%,|Q&jO'#EPO%-WQ&jO'#GnO%-iQWO7+(^O%-nQWO7+(^O%-vQ`O7+(^OOQQ7+(^7+(^OH}QWO7+(^O){QYO7+(^OH}QWO7+(^O%.QQWO7+(^OOQQ7+(a7+(aO5iQ!LYO7+(aO#4oQWO7+(aO5_QWO7+(aO!,lQpO7+(aO%.`QWO,5>pOOQO-E<S-E<SOOQO'#Gq'#GqO%.kQWO1G5eO5iQ!LYO<<GoOOQQ<<Go<<GoO%.sQWO<<GoO%.xQWO7++SO%.}QWO7++TOOQQ7+(i7+(iO%/SQWO7+(iO%/XQYO7+(iO%/`QWO7+(iO){QYO7++SO){QYO7++TOOQQ<<L]<<L]OOQQ<<L_<<L_OOQQ-E<V-E<VOOQQ1G3^1G3^O%/eQWO,5=sOOQQ,5=u,5=uO:^QWO<<LhO%/jQWO<<LhOLRQYO7+%}OOQO7+%P7+%PO%/oQ7^O1G5VO:^QWO7+%POOQO1G0P1G0PO%/yQ!LdO1G0VOOQO1G0V1G0VO){QYO1G0VO%0TQ!LYO1G0VO:^QWO1G0PO!,lQpO1G0PO!?bQ&jO1G0PO%0`Q!LYO1G0VO%0nQ&jO1G0PO%1PQ!LYO1G0VO%1eQ!LrO1G0VO%1oQ&jO1G0PO!?bQ&jO1G0VOOQ!LS<<IR<<IROOQ!LS<<Ic<<IcO:^QWO<<IcO%1vQ!LdO<<NYOOQO7+)h7+)hO%2WQ!LdO7+'cO%4`QbO1G3xO%4jQ7^O7+%xO%4wQ7^O,59gO%6tQ7^O,5<QO%8qQ7^O,5<SO%:nQ7^O,5<bO%<^Q7^O7+'SO%<kQ7^O7+'TO%<xQWO,5;tOOQO7+&w7+&wO%<}Q#tO<<KbOOQO1G4Q1G4QO%=_QWO1G4QO%=jQWO1G4QO%=xQWO7+*yO%=xQWO7+*yOH}QWO1G4SO%>QQ`O1G4SO%>[QWO7+*zOOQO7+'k7+'kO5iQ!LYO7+'kOOQO7+'j7+'jO$+fQWO7+'lO%>dQ`O7+'lOOQO7+'p7+'pO5iQ!LYO7+'jO$+fQWO7+'kO%>kQWO7+'lOH}QWO7+'lO#4jQWO7+'kO%>pQ#tO<<MwOOQ!LS7+$o7+$oO%>zQ`O,5>kOOQO-E;}-E;}O#HbQWOANAOOOQQANAOANAOOH}QWOANAOO%?UQ!LbO7+'nOOQQAN=dAN=dO5qQWO1G4]OOQO1G4]1G4]O%?cQWO1G4]O%?hQWO7++RO%?hQWO7++RO5iQ!LYOANAkO%?pQWOANAkOOQQANAkANAkO%?uQWOANAOO%?}Q`OANAOOOQQANAVANAVOOQQANAWANAWO%@XQWO,5>mOOQO-E<P-E<PO%@dQ7^O1G5dO#4oQWO,5=YO5_QWO,5=YO!,lQpO,5=YOOQO-E<R-E<ROOQQ1G2s1G2sO$9pQ!LrO,5:kO!?bQ&jO,5=YO%@nQ&jO,5=YO%APQ&jO,5:kOOQQ<<Kx<<KxOH}QWO<<KxO%-iQWO<<KxO%AZQWO<<KxO%AcQ`O<<KxO){QYO<<KxOH}QWO<<KxOOQQ<<K{<<K{O5iQ!LYO<<K{O#4oQWO<<K{O5_QWO<<K{O%AmQ&jO1G4[O%ArQWO7++POOQQAN=ZAN=ZO5iQ!LYOAN=ZOOQQ<<Nn<<NnOOQQ<<No<<NoOOQQ<<LT<<LTO%AzQWO<<LTO%BPQYO<<LTO%BWQWO<<NnO%B]QWO<<NoOOQQ1G3_1G3_OOQQANBSANBSO:^QWOANBSO%BbQ7^O<<IiOOQO<<Hk<<HkOOQO7+%q7+%qO%/yQ!LdO7+%qO){QYO7+%qOOQO7+%k7+%kO:^QWO7+%kO!,lQpO7+%kO%BlQ!LYO7+%qO!?bQ&jO7+%kO%BwQ!LYO7+%qO%CVQ&jO7+%kO%ChQ!LYO7+%qOOQ!LSAN>}AN>}O%C|Q!LdO<<KbO%FUQ7^O<<JPO%FcQ7^O1G1uO%HRQ7^O1G2WO%JOQ7^O1G2YO%K{Q7^O<<JoO%LYQ7^O<<IdOOQO1G1`1G1`OOQO7+)l7+)lO%LgQWO7+)lO%LrQWO<<NeO%LzQ`O7+)nOOQO<<KV<<KVO5iQ!LYO<<KWO$+fQWO<<KWOOQO<<KU<<KUO5iQ!LYO<<KVO%MUQ`O<<KWO$+fQWO<<KVOOQQG26jG26jO#HbQWOG26jOOQO7+)w7+)wO5qQWO7+)wO%M]QWO<<NmOOQQG27VG27VO5iQ!LYOG27VOH}QWOG26jOLRQYO1G4XO%MeQWO7++OO5iQ!LYO1G2tO#4oQWO1G2tO5_QWO1G2tO!,lQpO1G2tO!?bQ&jO1G2tO%1eQ!LrO1G0VO%MmQ&jO1G2tO%-iQWOANAdOOQQANAdANAdOH}QWOANAdO%NOQWOANAdO%NWQ`OANAdOOQQANAgANAgO5iQ!LYOANAgO#4oQWOANAgOOQO'#Gr'#GrOOQO7+)v7+)vOOQQG22uG22uOOQQANAoANAoO%NbQWOANAoOOQQANDYANDYOOQQANDZANDZO%NgQYOG27nOOQO<<I]<<I]O%/yQ!LdO<<I]OOQO<<IV<<IVO:^QWO<<IVO){QYO<<I]O!,lQpO<<IVO&$eQ!LYO<<I]O!?bQ&jO<<IVO&$pQ!LYO<<I]O&%OQ7^O7+'cOOQO<<MW<<MWOOQOAN@rAN@rO5iQ!LYOAN@rOOQOAN@qAN@qO$+fQWOAN@rO5iQ!LYOAN@qOOQQLD,ULD,UOOQO<<Mc<<McOOQQLD,qLD,qO#HbQWOLD,UO&&nQ7^O7+)sOOQO7+(`7+(`O5iQ!LYO7+(`O#4oQWO7+(`O5_QWO7+(`O!,lQpO7+(`O!?bQ&jO7+(`OOQQG27OG27OO%-iQWOG27OOH}QWOG27OOOQQG27RG27RO5iQ!LYOG27ROOQQG27ZG27ZO:^QWOLD-YOOQOAN>wAN>wOOQOAN>qAN>qO%/yQ!LdOAN>wO:^QWOAN>qO){QYOAN>wO!,lQpOAN>qO&&xQ!LYOAN>wO&'TQ7^O<<KbOOQOG26^G26^O5iQ!LYOG26^OOQOG26]G26]OOQQ!$( p!$( pOOQO<<Kz<<KzO5iQ!LYO<<KzO#4oQWO<<KzO5_QWO<<KzO!,lQpO<<KzOOQQLD,jLD,jO%-iQWOLD,jOOQQLD,mLD,mOOQQ!$(!t!$(!tOOQOG24cG24cOOQOG24]G24]O%/yQ!LdOG24cO:^QWOG24]O){QYOG24cOOQOLD+xLD+xOOQOANAfANAfO5iQ!LYOANAfO#4oQWOANAfO5_QWOANAfOOQQ!$(!U!$(!UOOQOLD)}LD)}OOQOLD)wLD)wO%/yQ!LdOLD)}OOQOG27QG27QO5iQ!LYOG27QO#4oQWOG27QOOQO!$'Mi!$'MiOOQOLD,lLD,lO5iQ!LYOLD,lOOQO!$(!W!$(!WOLRQYO'#DnO&(sQbO'#IqOLRQYO'#DfO&(zQ!LdO'#CgO&)eQbO'#CgO&)uQYO,5:rOLRQYO,5:}OLRQYO,5:}OLRQYO,5:}OLRQYO,5:}OLRQYO,5:}OLRQYO,5:}OLRQYO,5:}OLRQYO,5:}OLRQYO,5:}OLRQYO,5:}OLRQYO,5:}OLRQYO'#HyO&+uQWO,5<PO&-XQWO,5:}OLRQYO,5;bO!(ZQWO'#C{O!(ZQWO'#C{OH}QWO'#FfO&+}QWO'#FfOH}QWO'#FhO&+}QWO'#FhOH}QWO'#FvO&+}QWO'#FvOLRQYO,5?kO&)uQYO1G0^O&-`Q7^O'#CgOLRQYO1G1hOH}QWO,5<lO&+}QWO,5<lOH}QWO,5<nO&+}QWO,5<nOH}QWO,5<ZO&+}QWO,5<ZO&)uQYO1G1iOLRQYO7+&eOH}QWO1G1wO&+}QWO1G1wO&)uQYO7+'TO&)uQYO7+%xOH}QWO7+'vO&+}QWO7+'vO&-jQWO'#EWO&-oQWO'#EWO&-wQWO'#EvO&-|QWO'#EcO&.RQWO'#JPO&.^QWO'#I}O&.iQWO,5:rO&.nQ#tO,5;|O&.uQWO'#FoO&.zQWO'#FoO&/PQWO,5;}O&/XQWO,5:rO&/aQ7^O1G0yO&/hQWO,5<]O&/mQWO,5<]O&/rQWO1G1iO&/wQWO1G0^O&/|Q#tO1G2[O&0TQ#tO1G2[O4QQWO'#FdO5_QWO'#FcOBqQWO'#EVOLRQYO,5;_O!(jQWO'#FqO!(jQWO'#FqOJ^QWO,5<pOJ^QWO,5<p", -- stateData: "&1Q~O'TOS'UOSSOSTOS~OPTOQTOWyO]cO^hOanObmOgcOiTOjcOkcOnTOpTOuROwcOxcOycO!PSO!ZkO!`UO!cTO!dTO!eTO!fTO!gTO!jlO#`sO#ppO#t^O${qO$}tO%PrO%QrO%TuO%VvO%YwO%ZwO%]xO%jzO%p{O%r|O%t}O%v!OO%y!PO&P!QO&T!RO&V!SO&X!TO&Z!UO&]!VO'WPO'aQO'mYO'zaO~OPZXYZX^ZXiZXrZXsZXuZX}ZX!]ZX!^ZX!`ZX!fZX!wZX#ScX#WZX#XZX#YZX#ZZX#[ZX#]ZX#^ZX#_ZX#aZX#cZX#eZX#fZX#kZX'RZX'aZX'nZX'uZX'vZX~O!X$hX~P$zO'O!XO'P!WO'Q!ZO~OPTOQTO]cOa!jOb!iOgcOiTOjcOkcOnTOpTOuROwcOxcOycO!P!bO!ZkO!`UO!cTO!dTO!eTO!fTO!gTO!j!hO#p!kO#t^O'W![O'aQO'mYO'zaO~O|!`O}!]Oz'hPz'rP~P'dO!O!lO~P`OPTOQTO]cOa!jOb!iOgcOiTOjcOkcOnTOpTOuROwcOxcOycO!P!bO!ZkO!`UO!cTO!dTO!eTO!fTO!gTO!j!hO#p!kO#t^O'W9VO'aQO'mYO'zaO~OPTOQTO]cOa!jOb!iOgcOiTOjcOkcOnTOpTOuROwcOxcOycO!P!bO!ZkO!`UO!cTO!dTO!eTO!fTO!gTO!j!hO#p!kO#t^O'aQO'mYO'zaO~O|!qO#Q!tO#R!qO'W9WO!_'oP~P+{O#S!uO~O!X!vO#S!uO~OP#]OY#cOi#QOr!zOs!zOu!{O}#aO!]#SO!^!xO!`!yO!f#]O#W#OO#X#PO#Y#PO#Z#PO#[#RO#]#SO#^#SO#_#SO#a#TO#c#VO#e#XO#f#YO'aQO'n#ZO'u!|O'v!}O~O^'eX'R'eX!_'eXz'eX!P'eX$|'eX!X'eX~P.jO!w#dO#k#dOP'fXY'fX^'fXi'fXr'fXs'fXu'fX}'fX!]'fX!^'fX!`'fX!f'fX#W'fX#X'fX#Y'fX#Z'fX#['fX#]'fX#^'fX#a'fX#c'fX#e'fX#f'fX'a'fX'n'fX'u'fX'v'fX~O#_'fX'R'fXz'fX!_'fX'c'fX!P'fX$|'fX!X'fX~P0zO!w#dO~O#v#eO#}#iO~O!P#jO#t^O$Q#kO$S#mO~O]#pOg#}Oi#qOj#pOk#pOn$OOp$POu#wO!P#xO!Z$UO!`#uO#R$VO#p$SO$Z$QO$]$RO$`$TO'W#oO'a#rO'['^P~O!`$WO~O!X$YO~O^$ZO'R$ZO~O'W$_O~O!`$WO'W$_O'X$aO']$bO~Ob$hO!`$WO'W$_O~O#_#SO~O]$qOr$mO!P$jO!`$lO$}$pO'W$_O'X$aO[(SP~O!j$rO~Ou$sO!P$tO'W$_O~Ou$sO!P$tO%V$xO'W$_O~O'W$yO~O#`sO$}tO%PrO%QrO%TuO%VvO%YwO%ZwO~Oa%SOb%RO!j%PO${%QO%_%OO~P7uOa%VObmO!P%UO!jlO#`sO${qO%PrO%QrO%TuO%VvO%YwO%ZwO%]xO~O_%YO!w%]O$}%WO'X$aO~P8tO!`%^O!c%bO~O!`%cO~O!PSO~O^$ZO&}%kO'R$ZO~O^$ZO&}%nO'R$ZO~O^$ZO&}%pO'R$ZO~O'O!XO'P!WO'Q%tO~OPZXYZXiZXrZXsZXuZX}ZX}cX!]ZX!^ZX!`ZX!fZX!wZX!wcX#ScX#WZX#XZX#YZX#ZZX#[ZX#]ZX#^ZX#_ZX#aZX#cZX#eZX#fZX#kZX'aZX'nZX'uZX'vZX~OzZXzcX~P;aO|%vOz&cX}&cX~P){O}!]Oz'hX~OP#]OY#cOi#QOr!zOs!zOu!{O}!]O!]#SO!^!xO!`!yO!f#]O#W#OO#X#PO#Y#PO#Z#PO#[#RO#]#SO#^#SO#_#SO#a#TO#c#VO#e#XO#f#YO'aQO'n#ZO'u!|O'v!}O~Oz'hX~P>WOz%{O~Ou&OO!S&YO!T&RO!U&RO'X$aO~O]&POj&PO|&SO'd%|O!O'iP!O'tP~P@ZOz'qX}'qX!X'qX!_'qX'n'qX~O!w'qX#S!{X!O'qX~PASO!w&ZOz'sX}'sX~O}&[Oz'rX~Oz&^O~O!w#dO~PASOR&bO!P&_O!k&aO'W$_O~Ob&gO!`$WO'W$_O~Or$mO!`$lO~O!O&hO~P`Or!zOs!zOu!{O!^!xO!`!yO'aQOP!baY!bai!ba}!ba!]!ba!f!ba#W!ba#X!ba#Y!ba#Z!ba#[!ba#]!ba#^!ba#_!ba#a!ba#c!ba#e!ba#f!ba'n!ba'u!ba'v!ba~O^!ba'R!baz!ba!_!ba'c!ba!P!ba$|!ba!X!ba~PC]O!_&iO~O!X!vO!w&kO'n&jO}'pX^'pX'R'pX~O!_'pX~PEuO}&oO!_'oX~O!_&qO~Ou$sO!P$tO#R&rO'W$_O~OPTOQTO]cOa!jOb!iOgcOiTOjcOkcOnTOpTOuROwcOxcOycO!PSO!ZkO!`UO!cTO!dTO!eTO!fTO!gTO!j!hO#p!kO#t^O'W9VO'aQO'mYO'zaO~O]#pOg#}Oi#qOj#pOk#pOn$OOp9iOu#wO!P#xO!Z:lO!`#uO#R9oO#p$SO$Z9kO$]9mO$`$TO'W&vO'a#rO~O#S&xO~O]#pOg#}Oi#qOj#pOk#pOn$OOp$POu#wO!P#xO!Z$UO!`#uO#R$VO#p$SO$Z$QO$]$RO$`$TO'W&vO'a#rO~O'['kP~PJ^O|&|O!_'lP~P){O'd'OO'mYO~OP9SOQ9SO]cOa:jOb!iOgcOi9SOjcOkcOn9SOp9SOuROwcOxcOycO!P!bO!Z9UO!`UO!c9SO!d9SO!e9SO!f9SO!g9SO!j!hO#p!kO#t^O'W'^O'aQO'mYO'z:hO~O!`!yO~O}#aO^$Xa'R$Xa!_$Xaz$Xa!P$Xa$|$Xa!X$Xa~O#`'eO~PH}O!X'gO!P'wX#s'wX#v'wX#}'wX~Or'hO~PNyOr'hO!P'wX#s'wX#v'wX#}'wX~O!P'jO#s'nO#v'iO#}'oO~O|'rO~PLRO#v#eO#}'uO~Or$aXu$aX!^$aX'n$aX'u$aX'v$aX~OReX}eX!weX'[eX'[$aX~P!!cOj'wO~O'O'yO'P'xO'Q'{O~Or'}Ou(OO'n#ZO'u(QO'v(SO~O'['|O~P!#lO'[(VO~O]#pOg#}Oi#qOj#pOk#pOn$OOp9iOu#wO!P#xO!Z:lO!`#uO#R9oO#p$SO$Z9kO$]9mO$`$TO'a#rO~O|(ZO'W(WO!_'{P~P!$ZO#S(]O~O|(aO'W(^Oz'|P~P!$ZO^(jOi(oOu(gO!S(mO!T(fO!U(fO!`(dO!t(nO$s(iO'X$aO'd(cO~O!O(lO~P!&RO!^!xOr'`Xu'`X'n'`X'u'`X'v'`X}'`X!w'`X~O'['`X#i'`X~P!&}OR(rO!w(qO}'_X'['_X~O}(sO'['^X~O'W(uO~O!`(zO~O'W&vO~O!`(dO~Ou$sO|!qO!P$tO#Q!tO#R!qO'W$_O!_'oP~O!X!vO#S)OO~OP#]OY#cOi#QOr!zOs!zOu!{O!]#SO!^!xO!`!yO!f#]O#W#OO#X#PO#Y#PO#Z#PO#[#RO#]#SO#^#SO#_#SO#a#TO#c#VO#e#XO#f#YO'aQO'n#ZO'u!|O'v!}O~O^!Ya}!Ya'R!Yaz!Ya!_!Ya'c!Ya!P!Ya$|!Ya!X!Ya~P!)`OR)WO!P&_O!k)VO$|)UO']$bO~O'W$yO'['^P~O!X)ZO!P'ZX^'ZX'R'ZX~O!`$WO']$bO~O!`$WO'W$_O']$bO~O!X!vO#S&xO~O$})gO'W)cO!O(TP~O})hO[(SX~O'd'OO~OY)lO~O[)mO~O!P$jO'W$_O'X$aO[(SP~Ou$sO|)rO!P$tO'W$_Oz'rP~O]&VOj&VO|)sO'd'OO!O'tP~O})tO^(PX'R(PX~O!w)xO']$bO~OR){O!P#xO']$bO~O!P)}O~Or*PO!PSO~O!j*UO~Ob*ZO~O'W(uO!O(RP~Ob$hO~O$}tO'W$yO~P8tOY*aO[*`O~OPTOQTO]cOanObmOgcOiTOjcOkcOnTOpTOuROwcOxcOycO!ZkO!`UO!cTO!dTO!eTO!fTO!gTO!jlO#t^O${qO'aQO'mYO'zaO~O!P!bO#p!kO'W9VO~P!0uO[*`O^$ZO'R$ZO~O^*eO#`*gO%P*gO%Q*gO~P){O!`%^O~O%p*lO~O!P*nO~O&Q*qO&R*pOP&OaQ&OaW&Oa]&Oa^&Oaa&Oab&Oag&Oai&Oaj&Oak&Oan&Oap&Oau&Oaw&Oax&Oay&Oa!P&Oa!Z&Oa!`&Oa!c&Oa!d&Oa!e&Oa!f&Oa!g&Oa!j&Oa#`&Oa#p&Oa#t&Oa${&Oa$}&Oa%P&Oa%Q&Oa%T&Oa%V&Oa%Y&Oa%Z&Oa%]&Oa%j&Oa%p&Oa%r&Oa%t&Oa%v&Oa%y&Oa&P&Oa&T&Oa&V&Oa&X&Oa&Z&Oa&]&Oa&|&Oa'W&Oa'a&Oa'm&Oa'z&Oa!O&Oa%w&Oa_&Oa%|&Oa~O'W*tO~O'c*wO~Oz&ca}&ca~P!)`O}!]Oz'ha~Oz'ha~P>WO}&[Oz'ra~O}tX}!VX!OtX!O!VX!XtX!X!VX!`!VX!wtX']!VX~O!X+OO!w*}O}#PX}'jX!O#PX!O'jX!X'jX!`'jX']'jX~O!X+QO!`$WO']$bO}!RX!O!RX~O]%}Oj%}Ou&OO'd(cO~OP9SOQ9SO]cOa:jOb!iOgcOi9SOjcOkcOn9SOp9SOuROwcOxcOycO!P!bO!Z9UO!`UO!c9SO!d9SO!e9SO!f9SO!g9SO!j!hO#p!kO#t^O'aQO'mYO'z:hO~O'W9sO~P!:sO}+UO!O'iX~O!O+WO~O!X+OO!w*}O}#PX!O#PX~O}+XO!O'tX~O!O+ZO~O]%}Oj%}Ou&OO'X$aO'd(cO~O!T+[O!U+[O~P!=qOu$sO|+_O!P$tO'W$_Oz&hX}&hX~O^+dO!S+gO!T+cO!U+cO!n+kO!o+iO!p+jO!q+hO!t+lO'X$aO'd(cO'm+aO~O!O+fO~P!>rOR+qO!P&_O!k+pO~O!w+wO}'pa!_'pa^'pa'R'pa~O!X!vO~P!?|O}&oO!_'oa~Ou$sO|+zO!P$tO#Q+|O#R+zO'W$_O}&jX!_&jX~O^!zi}!zi'R!ziz!zi!_!zi'c!zi!P!zi$|!zi!X!zi~P!)`O#S!va}!va!_!va!w!va!P!va^!va'R!vaz!va~P!#lO#S'`XP'`XY'`X^'`Xi'`Xs'`X!]'`X!`'`X!f'`X#W'`X#X'`X#Y'`X#Z'`X#['`X#]'`X#^'`X#_'`X#a'`X#c'`X#e'`X#f'`X'R'`X'a'`X!_'`Xz'`X!P'`X'c'`X$|'`X!X'`X~P!&}O},VO'['kX~P!#lO'[,XO~O},YO!_'lX~P!)`O!_,]O~Oz,^O~OP#]Or!zOs!zOu!{O!^!xO!`!yO!f#]O'aQOY#Vi^#Vii#Vi}#Vi!]#Vi#X#Vi#Y#Vi#Z#Vi#[#Vi#]#Vi#^#Vi#_#Vi#a#Vi#c#Vi#e#Vi#f#Vi'R#Vi'n#Vi'u#Vi'v#Viz#Vi!_#Vi'c#Vi!P#Vi$|#Vi!X#Vi~O#W#Vi~P!EZO#W#OO~P!EZOP#]Or!zOs!zOu!{O!^!xO!`!yO!f#]O#W#OO#X#PO#Y#PO#Z#PO'aQOY#Vi^#Vi}#Vi!]#Vi#[#Vi#]#Vi#^#Vi#_#Vi#a#Vi#c#Vi#e#Vi#f#Vi'R#Vi'n#Vi'u#Vi'v#Viz#Vi!_#Vi'c#Vi!P#Vi$|#Vi!X#Vi~Oi#Vi~P!GuOi#QO~P!GuOP#]Oi#QOr!zOs!zOu!{O!^!xO!`!yO!f#]O#W#OO#X#PO#Y#PO#Z#PO#[#RO'aQO^#Vi}#Vi#a#Vi#c#Vi#e#Vi#f#Vi'R#Vi'n#Vi'u#Vi'v#Viz#Vi!_#Vi'c#Vi!P#Vi$|#Vi!X#Vi~OY#Vi!]#Vi#]#Vi#^#Vi#_#Vi~P!JaOY#cO!]#SO#]#SO#^#SO#_#SO~P!JaOP#]OY#cOi#QOr!zOs!zOu!{O!]#SO!^!xO!`!yO!f#]O#W#OO#X#PO#Y#PO#Z#PO#[#RO#]#SO#^#SO#_#SO#a#TO'aQO^#Vi}#Vi#c#Vi#e#Vi#f#Vi'R#Vi'n#Vi'v#Viz#Vi!_#Vi'c#Vi!P#Vi$|#Vi!X#Vi~O'u#Vi~P!MXO'u!|O~P!MXOP#]OY#cOi#QOr!zOs!zOu!{O!]#SO!^!xO!`!yO!f#]O#W#OO#X#PO#Y#PO#Z#PO#[#RO#]#SO#^#SO#_#SO#a#TO#c#VO'aQO'u!|O^#Vi}#Vi#e#Vi#f#Vi'R#Vi'n#Viz#Vi!_#Vi'c#Vi!P#Vi$|#Vi!X#Vi~O'v#Vi~P# sO'v!}O~P# sOP#]OY#cOi#QOr!zOs!zOu!{O!]#SO!^!xO!`!yO!f#]O#W#OO#X#PO#Y#PO#Z#PO#[#RO#]#SO#^#SO#_#SO#a#TO#c#VO#e#XO'aQO'u!|O'v!}O~O^#Vi}#Vi#f#Vi'R#Vi'n#Viz#Vi!_#Vi'c#Vi!P#Vi$|#Vi!X#Vi~P#$_OPZXYZXiZXrZXsZXuZX!]ZX!^ZX!`ZX!fZX!wZX#ScX#WZX#XZX#YZX#ZZX#[ZX#]ZX#^ZX#_ZX#aZX#cZX#eZX#fZX#kZX'aZX'nZX'uZX'vZX}ZX!OZX~O#iZX~P#&rOP#]OY9gOi9[Or!zOs!zOu!{O!]9^O!^!xO!`!yO!f#]O#W9YO#X9ZO#Y9ZO#Z9ZO#[9]O#]9^O#^9^O#_9^O#a9_O#c9aO#e9cO#f9dO'aQO'n#ZO'u!|O'v!}O~O#i,`O~P#(|OP'fXY'fXi'fXr'fXs'fXu'fX!]'fX!^'fX!`'fX!f'fX#W'fX#X'fX#Y'fX#Z'fX#['fX#]'fX#^'fX#a'fX#c'fX#e'fX#f'fX'a'fX'n'fX'u'fX'v'fX}'fX~O!w9hO#k9hO#_'fX#i'fX!O'fX~P#*wO^&ma}&ma'R&ma!_&ma'c&maz&ma!P&ma$|&ma!X&ma~P!)`OP#ViY#Vi^#Vii#Vis#Vi}#Vi!]#Vi!^#Vi!`#Vi!f#Vi#W#Vi#X#Vi#Y#Vi#Z#Vi#[#Vi#]#Vi#^#Vi#_#Vi#a#Vi#c#Vi#e#Vi#f#Vi'R#Vi'a#Viz#Vi!_#Vi'c#Vi!P#Vi$|#Vi!X#Vi~P!#lO^#ji}#ji'R#jiz#ji!_#ji'c#ji!P#ji$|#ji!X#ji~P!)`O#v,bO~O#v,cO~O!X'gO!w,dO!P#zX#s#zX#v#zX#}#zX~O|,eO~O!P'jO#s,gO#v'iO#},hO~O}9eO!O'eX~P#(|O!O,iO~O#},kO~O'O'yO'P'xO'Q,nO~O],qOj,qOz,rO~O}cX!XcX!_cX!_$aX'ncX~P!!cO!_,xO~P!#lO},yO!X!vO'n&jO!_'{X~O!_-OO~Oz$aX}$aX!X$hX~P!!cO}-QOz'|X~P!#lO!X-SO~Oz-UO~O|(ZO'W$_O!_'{P~Oi-YO!X!vO!`$WO']$bO'n&jO~O!X)ZO~O!O-`O~P!&RO!T-aO!U-aO'X$aO'd(cO~Ou-cO'd(cO~O!t-dO~O'W$yO}&rX'[&rX~O}(sO'['^a~Or-iOs-iOu-jO'noa'uoa'voa}oa!woa~O'[oa#ioa~P#5{Or'}Ou(OO'n$Ya'u$Ya'v$Ya}$Ya!w$Ya~O'[$Ya#i$Ya~P#6qOr'}Ou(OO'n$[a'u$[a'v$[a}$[a!w$[a~O'[$[a#i$[a~P#7dO]-kO~O#S-lO~O'[$ja}$ja#i$ja!w$ja~P!#lO#S-oO~OR-xO!P&_O!k-wO$|-vO~O'[-yO~O]#pOi#qOj#pOk#pOn$OOp9iOu#wO!P#xO!Z:lO!`#uO#R9oO#p$SO$Z9kO$]9mO$`$TO'a#rO~Og-{O'W-zO~P#9ZO!X)ZO!P'Za^'Za'R'Za~O#S.RO~OYZX}cX!OcX~O}.SO!O(TX~O!O.UO~OY.VO~O'W)cO~O!P$jO'W$_O[&zX}&zX~O})hO[(Sa~O!_.[O~P!)`O].^O~OY._O~O[.`O~OR-xO!P&_O!k-wO$|-vO']$bO~O})tO^(Pa'R(Pa~O!w.fO~OR.iO!P#xO~O'd'OO!O(QP~OR.sO!P.oO!k.rO$|.qO']$bO~OY.}O}.{O!O(RX~O!O/OO~O[/QO^$ZO'R$ZO~O]/RO~O#_/TO%n/UO~P0zO!w#dO#_/TO%n/UO~O^/VO~P){O^/XO~O%w/]OP%uiQ%uiW%ui]%ui^%uia%uib%uig%uii%uij%uik%uin%uip%uiu%uiw%uix%uiy%ui!P%ui!Z%ui!`%ui!c%ui!d%ui!e%ui!f%ui!g%ui!j%ui#`%ui#p%ui#t%ui${%ui$}%ui%P%ui%Q%ui%T%ui%V%ui%Y%ui%Z%ui%]%ui%j%ui%p%ui%r%ui%t%ui%v%ui%y%ui&P%ui&T%ui&V%ui&X%ui&Z%ui&]%ui&|%ui'W%ui'a%ui'm%ui'z%ui!O%ui_%ui%|%ui~O_/cO!O/aO%|/bO~P`O!PSO!`/fO~O}#aO'c$Xa~Oz&ci}&ci~P!)`O}!]Oz'hi~O}&[Oz'ri~Oz/jO~O}!Ra!O!Ra~P#(|O]%}Oj%}O|/pO'd(cO}&dX!O&dX~P@ZO}+UO!O'ia~O]&VOj&VO|)sO'd'OO}&iX!O&iX~O}+XO!O'ta~Oz'si}'si~P!)`O^$ZO!X!vO!`$WO!f/{O!w/yO'R$ZO']$bO'n&jO~O!O0OO~P!>rO!T0PO!U0PO'X$aO'd(cO'm+aO~O!S0QO~P#GTO!PSO!S0QO!q0SO!t0TO~P#GTO!S0QO!o0VO!p0VO!q0SO!t0TO~P#GTO!P&_O~O!P&_O~P!#lO}'pi!_'pi^'pi'R'pi~P!)`O!w0`O}'pi!_'pi^'pi'R'pi~O}&oO!_'oi~Ou$sO!P$tO#R0bO'W$_O~O#SoaPoaYoa^oaioa!]oa!^oa!`oa!foa#Woa#Xoa#Yoa#Zoa#[oa#]oa#^oa#_oa#aoa#coa#eoa#foa'Roa'aoa!_oazoa!Poa'coa$|oa!Xoa~P#5{O#S$YaP$YaY$Ya^$Yai$Yas$Ya!]$Ya!^$Ya!`$Ya!f$Ya#W$Ya#X$Ya#Y$Ya#Z$Ya#[$Ya#]$Ya#^$Ya#_$Ya#a$Ya#c$Ya#e$Ya#f$Ya'R$Ya'a$Ya!_$Yaz$Ya!P$Ya'c$Ya$|$Ya!X$Ya~P#6qO#S$[aP$[aY$[a^$[ai$[as$[a!]$[a!^$[a!`$[a!f$[a#W$[a#X$[a#Y$[a#Z$[a#[$[a#]$[a#^$[a#_$[a#a$[a#c$[a#e$[a#f$[a'R$[a'a$[a!_$[az$[a!P$[a'c$[a$|$[a!X$[a~P#7dO#S$jaP$jaY$ja^$jai$jas$ja}$ja!]$ja!^$ja!`$ja!f$ja#W$ja#X$ja#Y$ja#Z$ja#[$ja#]$ja#^$ja#_$ja#a$ja#c$ja#e$ja#f$ja'R$ja'a$ja!_$jaz$ja!P$ja!w$ja'c$ja$|$ja!X$ja~P!#lO^!zq}!zq'R!zqz!zq!_!zq'c!zq!P!zq$|!zq!X!zq~P!)`O}&eX'[&eX~PJ^O},VO'['ka~O|0jO}&fX!_&fX~P){O},YO!_'la~O},YO!_'la~P!)`O#i!ba!O!ba~PC]O#i!Ya}!Ya!O!Ya~P#(|O!P0}O#t^O#{1OO~O!O1SO~O'c1TO~P!#lO^$Uq}$Uq'R$Uqz$Uq!_$Uq'c$Uq!P$Uq$|$Uq!X$Uq~P!)`Oz1UO~O],qOj,qO~Or'}Ou(OO'v(SO'n$ti'u$ti}$ti!w$ti~O'[$ti#i$ti~P$'tOr'}Ou(OO'n$vi'u$vi'v$vi}$vi!w$vi~O'[$vi#i$vi~P$(gO#i1VO~P!#lO|1XO'W$_O}&nX!_&nX~O},yO!_'{a~O},yO!X!vO!_'{a~O},yO!X!vO'n&jO!_'{a~O'[$ci}$ci#i$ci!w$ci~P!#lO|1`O'W(^Oz&pX}&pX~P!$ZO}-QOz'|a~O}-QOz'|a~P!#lO!X!vO~O!X!vO#_1jO~Oi1nO!X!vO'n&jO~O}'_i'['_i~P!#lO!w1qO}'_i'['_i~P!#lO!_1tO~O^$Vq}$Vq'R$Vqz$Vq!_$Vq'c$Vq!P$Vq$|$Vq!X$Vq~P!)`O}1xO!P'}X~P!#lO!P&_O$|1{O~O!P&_O$|1{O~P!#lO!P$aX$qZX^$aX'R$aX~P!!cO$q2POrfXufX!PfX'nfX'ufX'vfX^fX'RfX~O$q2PO~O$}2WO'W)cO}&yX!O&yX~O}.SO!O(Ta~OY2[O~O[2]O~O]2`O~OR2bO!P&_O!k2aO$|1{O~O^$ZO'R$ZO~P!#lO!P#xO~P!#lO}2gO!w2iO!O(QX~O!O2jO~Ou(gO!S2sO!T2lO!U2lO!n2rO!o2qO!p2qO!t2pO'X$aO'd(cO'm+aO~O!O2oO~P$0uOR2zO!P.oO!k2yO$|2xO~OR2zO!P.oO!k2yO$|2xO']$bO~O'W(uO}&xX!O&xX~O}.{O!O(Ra~O'd3TO~O]3VO~O[3XO~O!_3[O~P){O^3^O~O^3^O~P){O#_3`O%n3aO~PEuO_/cO!O3eO%|/bO~P`O!X3gO~O&R3hOP&OqQ&OqW&Oq]&Oq^&Oqa&Oqb&Oqg&Oqi&Oqj&Oqk&Oqn&Oqp&Oqu&Oqw&Oqx&Oqy&Oq!P&Oq!Z&Oq!`&Oq!c&Oq!d&Oq!e&Oq!f&Oq!g&Oq!j&Oq#`&Oq#p&Oq#t&Oq${&Oq$}&Oq%P&Oq%Q&Oq%T&Oq%V&Oq%Y&Oq%Z&Oq%]&Oq%j&Oq%p&Oq%r&Oq%t&Oq%v&Oq%y&Oq&P&Oq&T&Oq&V&Oq&X&Oq&Z&Oq&]&Oq&|&Oq'W&Oq'a&Oq'm&Oq'z&Oq!O&Oq%w&Oq_&Oq%|&Oq~O}#Pi!O#Pi~P#(|O!w3jO}#Pi!O#Pi~O}!Ri!O!Ri~P#(|O^$ZO!w3qO'R$ZO~O^$ZO!X!vO!w3qO'R$ZO~O!T3uO!U3uO'X$aO'd(cO'm+aO~O^$ZO!X!vO!`$WO!f3vO!w3qO'R$ZO']$bO'n&jO~O!S3wO~P$9_O!S3wO!q3zO!t3{O~P$9_O^$ZO!X!vO!f3vO!w3qO'R$ZO'n&jO~O}'pq!_'pq^'pq'R'pq~P!)`O}&oO!_'oq~O#S$tiP$tiY$ti^$tii$tis$ti!]$ti!^$ti!`$ti!f$ti#W$ti#X$ti#Y$ti#Z$ti#[$ti#]$ti#^$ti#_$ti#a$ti#c$ti#e$ti#f$ti'R$ti'a$ti!_$tiz$ti!P$ti'c$ti$|$ti!X$ti~P$'tO#S$viP$viY$vi^$vii$vis$vi!]$vi!^$vi!`$vi!f$vi#W$vi#X$vi#Y$vi#Z$vi#[$vi#]$vi#^$vi#_$vi#a$vi#c$vi#e$vi#f$vi'R$vi'a$vi!_$viz$vi!P$vi'c$vi$|$vi!X$vi~P$(gO#S$ciP$ciY$ci^$cii$cis$ci}$ci!]$ci!^$ci!`$ci!f$ci#W$ci#X$ci#Y$ci#Z$ci#[$ci#]$ci#^$ci#_$ci#a$ci#c$ci#e$ci#f$ci'R$ci'a$ci!_$ciz$ci!P$ci!w$ci'c$ci$|$ci!X$ci~P!#lO}&ea'[&ea~P!#lO}&fa!_&fa~P!)`O},YO!_'li~O#i!zi}!zi!O!zi~P#(|OP#]Or!zOs!zOu!{O!^!xO!`!yO!f#]O'aQOY#Vii#Vi!]#Vi#X#Vi#Y#Vi#Z#Vi#[#Vi#]#Vi#^#Vi#_#Vi#a#Vi#c#Vi#e#Vi#f#Vi#i#Vi'n#Vi'u#Vi'v#Vi}#Vi!O#Vi~O#W#Vi~P$BuO#W9YO~P$BuOP#]Or!zOs!zOu!{O!^!xO!`!yO!f#]O#W9YO#X9ZO#Y9ZO#Z9ZO'aQOY#Vi!]#Vi#[#Vi#]#Vi#^#Vi#_#Vi#a#Vi#c#Vi#e#Vi#f#Vi#i#Vi'n#Vi'u#Vi'v#Vi}#Vi!O#Vi~Oi#Vi~P$D}Oi9[O~P$D}OP#]Oi9[Or!zOs!zOu!{O!^!xO!`!yO!f#]O#W9YO#X9ZO#Y9ZO#Z9ZO#[9]O'aQO#a#Vi#c#Vi#e#Vi#f#Vi#i#Vi'n#Vi'u#Vi'v#Vi}#Vi!O#Vi~OY#Vi!]#Vi#]#Vi#^#Vi#_#Vi~P$GVOY9gO!]9^O#]9^O#^9^O#_9^O~P$GVOP#]OY9gOi9[Or!zOs!zOu!{O!]9^O!^!xO!`!yO!f#]O#W9YO#X9ZO#Y9ZO#Z9ZO#[9]O#]9^O#^9^O#_9^O#a9_O'aQO#c#Vi#e#Vi#f#Vi#i#Vi'n#Vi'v#Vi}#Vi!O#Vi~O'u#Vi~P$IkO'u!|O~P$IkOP#]OY9gOi9[Or!zOs!zOu!{O!]9^O!^!xO!`!yO!f#]O#W9YO#X9ZO#Y9ZO#Z9ZO#[9]O#]9^O#^9^O#_9^O#a9_O#c9aO'aQO'u!|O#e#Vi#f#Vi#i#Vi'n#Vi}#Vi!O#Vi~O'v#Vi~P$KsO'v!}O~P$KsOP#]OY9gOi9[Or!zOs!zOu!{O!]9^O!^!xO!`!yO!f#]O#W9YO#X9ZO#Y9ZO#Z9ZO#[9]O#]9^O#^9^O#_9^O#a9_O#c9aO#e9cO'aQO'u!|O'v!}O~O#f#Vi#i#Vi'n#Vi}#Vi!O#Vi~P$M{O^#gy}#gy'R#gyz#gy!_#gy'c#gy!P#gy$|#gy!X#gy~P!)`OP#ViY#Vii#Vis#Vi!]#Vi!^#Vi!`#Vi!f#Vi#W#Vi#X#Vi#Y#Vi#Z#Vi#[#Vi#]#Vi#^#Vi#_#Vi#a#Vi#c#Vi#e#Vi#f#Vi#i#Vi'a#Vi}#Vi!O#Vi~P!#lO!^!xOP'`XY'`Xi'`Xr'`Xs'`Xu'`X!]'`X!`'`X!f'`X#W'`X#X'`X#Y'`X#Z'`X#['`X#]'`X#^'`X#_'`X#a'`X#c'`X#e'`X#f'`X#i'`X'a'`X'n'`X'u'`X'v'`X}'`X!O'`X~O#i#ji}#ji!O#ji~P#(|O!O4]O~O}&ma!O&ma~P#(|O!X!vO'n&jO}&na!_&na~O},yO!_'{i~O},yO!X!vO!_'{i~Oz&pa}&pa~P!#lO!X4dO~O}-QOz'|i~P!#lO}-QOz'|i~Oz4jO~O!X!vO#_4pO~Oi4qO!X!vO'n&jO~Oz4sO~O'[$eq}$eq#i$eq!w$eq~P!#lO^$Vy}$Vy'R$Vyz$Vy!_$Vy'c$Vy!P$Vy$|$Vy!X$Vy~P!)`O}1xO!P'}a~O!P&_O$|4xO~O!P&_O$|4xO~P!#lO^!zy}!zy'R!zyz!zy!_!zy'c!zy!P!zy$|!zy!X!zy~P!)`OY4{O~O}.SO!O(Ti~O]5QO~O[5RO~O'd'OO}&uX!O&uX~O}2gO!O(Qa~O!O5`O~P$0uOu-cO'd(cO'm+aO~O!S5cO!T5bO!U5bO!t0TO'X$aO'd(cO'm+aO~O!o5dO!p5dO~P%,eO!T5bO!U5bO'X$aO'd(cO'm+aO~O!P.oO~O!P.oO$|5fO~O!P.oO$|5fO~P!#lOR5kO!P.oO!k5jO$|5fO~OY5pO}&xa!O&xa~O}.{O!O(Ri~O]5sO~O!_5tO~O!_5uO~O!_5vO~O!_5vO~P){O^5xO~O!X5{O~O!_5}O~O}'si!O'si~P#(|O^$ZO'R$ZO~P!)`O^$ZO!w6SO'R$ZO~O^$ZO!X!vO!w6SO'R$ZO~O!T6XO!U6XO'X$aO'd(cO'm+aO~O^$ZO!X!vO!f6YO!w6SO'R$ZO'n&jO~O!`$WO']$bO~P%1PO!S6ZO~P%0nO}'py!_'py^'py'R'py~P!)`O#S$eqP$eqY$eq^$eqi$eqs$eq}$eq!]$eq!^$eq!`$eq!f$eq#W$eq#X$eq#Y$eq#Z$eq#[$eq#]$eq#^$eq#_$eq#a$eq#c$eq#e$eq#f$eq'R$eq'a$eq!_$eqz$eq!P$eq!w$eq'c$eq$|$eq!X$eq~P!#lO}&fi!_&fi~P!)`O#i!zq}!zq!O!zq~P#(|Or-iOs-iOu-jOPoaYoaioa!]oa!^oa!`oa!foa#Woa#Xoa#Yoa#Zoa#[oa#]oa#^oa#_oa#aoa#coa#eoa#foa#ioa'aoa'noa'uoa'voa}oa!Ooa~Or'}Ou(OOP$YaY$Yai$Yas$Ya!]$Ya!^$Ya!`$Ya!f$Ya#W$Ya#X$Ya#Y$Ya#Z$Ya#[$Ya#]$Ya#^$Ya#_$Ya#a$Ya#c$Ya#e$Ya#f$Ya#i$Ya'a$Ya'n$Ya'u$Ya'v$Ya}$Ya!O$Ya~Or'}Ou(OOP$[aY$[ai$[as$[a!]$[a!^$[a!`$[a!f$[a#W$[a#X$[a#Y$[a#Z$[a#[$[a#]$[a#^$[a#_$[a#a$[a#c$[a#e$[a#f$[a#i$[a'a$[a'n$[a'u$[a'v$[a}$[a!O$[a~OP$jaY$jai$jas$ja!]$ja!^$ja!`$ja!f$ja#W$ja#X$ja#Y$ja#Z$ja#[$ja#]$ja#^$ja#_$ja#a$ja#c$ja#e$ja#f$ja#i$ja'a$ja}$ja!O$ja~P!#lO#i$Uq}$Uq!O$Uq~P#(|O#i$Vq}$Vq!O$Vq~P#(|O!O6eO~O'[$xy}$xy#i$xy!w$xy~P!#lO!X!vO}&ni!_&ni~O!X!vO'n&jO}&ni!_&ni~O},yO!_'{q~Oz&pi}&pi~P!#lO}-QOz'|q~Oz6lO~P!#lOz6lO~O}'_y'['_y~P!#lO}&sa!P&sa~P!#lO!P$pq^$pq'R$pq~P!#lOY6tO~O}.SO!O(Tq~O]6wO~O!P&_O$|6xO~O!P&_O$|6xO~P!#lO!w6yO}&ua!O&ua~O}2gO!O(Qi~P#(|O!T7PO!U7PO'X$aO'd(cO'm+aO~O!S7RO!t3{O~P%@nO!P.oO$|7UO~O!P.oO$|7UO~P!#lO'd7[O~O}.{O!O(Rq~O!_7_O~O!_7_O~P){O!_7aO~O!_7bO~O}#Py!O#Py~P#(|O^$ZO!w7hO'R$ZO~O^$ZO!X!vO!w7hO'R$ZO~O!T7kO!U7kO'X$aO'd(cO'm+aO~O^$ZO!X!vO!f7lO!w7hO'R$ZO'n&jO~O#S$xyP$xyY$xy^$xyi$xys$xy}$xy!]$xy!^$xy!`$xy!f$xy#W$xy#X$xy#Y$xy#Z$xy#[$xy#]$xy#^$xy#_$xy#a$xy#c$xy#e$xy#f$xy'R$xy'a$xy!_$xyz$xy!P$xy!w$xy'c$xy$|$xy!X$xy~P!#lO#i#gy}#gy!O#gy~P#(|OP$ciY$cii$cis$ci!]$ci!^$ci!`$ci!f$ci#W$ci#X$ci#Y$ci#Z$ci#[$ci#]$ci#^$ci#_$ci#a$ci#c$ci#e$ci#f$ci#i$ci'a$ci}$ci!O$ci~P!#lOr'}Ou(OO'v(SOP$tiY$tii$tis$ti!]$ti!^$ti!`$ti!f$ti#W$ti#X$ti#Y$ti#Z$ti#[$ti#]$ti#^$ti#_$ti#a$ti#c$ti#e$ti#f$ti#i$ti'a$ti'n$ti'u$ti}$ti!O$ti~Or'}Ou(OOP$viY$vii$vis$vi!]$vi!^$vi!`$vi!f$vi#W$vi#X$vi#Y$vi#Z$vi#[$vi#]$vi#^$vi#_$vi#a$vi#c$vi#e$vi#f$vi#i$vi'a$vi'n$vi'u$vi'v$vi}$vi!O$vi~O#i$Vy}$Vy!O$Vy~P#(|O#i!zy}!zy!O!zy~P#(|O!X!vO}&nq!_&nq~O},yO!_'{y~Oz&pq}&pq~P!#lOz7rO~P!#lO}.SO!O(Ty~O}2gO!O(Qq~O!T8OO!U8OO'X$aO'd(cO'm+aO~O!P.oO$|8RO~O!P.oO$|8RO~P!#lO!_8UO~O&R8VOP&O!ZQ&O!ZW&O!Z]&O!Z^&O!Za&O!Zb&O!Zg&O!Zi&O!Zj&O!Zk&O!Zn&O!Zp&O!Zu&O!Zw&O!Zx&O!Zy&O!Z!P&O!Z!Z&O!Z!`&O!Z!c&O!Z!d&O!Z!e&O!Z!f&O!Z!g&O!Z!j&O!Z#`&O!Z#p&O!Z#t&O!Z${&O!Z$}&O!Z%P&O!Z%Q&O!Z%T&O!Z%V&O!Z%Y&O!Z%Z&O!Z%]&O!Z%j&O!Z%p&O!Z%r&O!Z%t&O!Z%v&O!Z%y&O!Z&P&O!Z&T&O!Z&V&O!Z&X&O!Z&Z&O!Z&]&O!Z&|&O!Z'W&O!Z'a&O!Z'm&O!Z'z&O!Z!O&O!Z%w&O!Z_&O!Z%|&O!Z~O^$ZO!w8[O'R$ZO~O^$ZO!X!vO!w8[O'R$ZO~OP$eqY$eqi$eqs$eq!]$eq!^$eq!`$eq!f$eq#W$eq#X$eq#Y$eq#Z$eq#[$eq#]$eq#^$eq#_$eq#a$eq#c$eq#e$eq#f$eq#i$eq'a$eq}$eq!O$eq~P!#lO}&uq!O&uq~P#(|O^$ZO!w8qO'R$ZO~OP$xyY$xyi$xys$xy!]$xy!^$xy!`$xy!f$xy#W$xy#X$xy#Y$xy#Z$xy#[$xy#]$xy#^$xy#_$xy#a$xy#c$xy#e$xy#f$xy#i$xy'a$xy}$xy!O$xy~P!#lO'c'eX~P.jO'cZXzZX!_ZX%nZX!PZX$|ZX!XZX~P$zO!XcX!_ZX!_cX'ncX~P;aOP9SOQ9SO]cOa:jOb!iOgcOi9SOjcOkcOn9SOp9SOuROwcOxcOycO!PSO!Z9UO!`UO!c9SO!d9SO!e9SO!f9SO!g9SO!j!hO#p!kO#t^O'W'^O'aQO'mYO'z:hO~O}9eO!O$Xa~O]#pOg#}Oi#qOj#pOk#pOn$OOp9jOu#wO!P#xO!Z:mO!`#uO#R9pO#p$SO$Z9lO$]9nO$`$TO'W&vO'a#rO~O#`'eO~P&+}O!OZX!OcX~P;aO#S9XO~O!X!vO#S9XO~O!w9hO~O#_9^O~O!w9qO}'sX!O'sX~O!w9hO}'qX!O'qX~O#S9rO~O'[9tO~P!#lO#S9yO~O#S9zO~O!X!vO#S9{O~O!X!vO#S9rO~O#i9|O~P#(|O#S9}O~O#S:OO~O#S:PO~O#S:QO~O#i:RO~P!#lO#i:SO~P!#lO#t~!^!n!p!q#Q#R'z$Z$]$`$q${$|$}%T%V%Y%Z%]%_~TS#t'z#Xy'T'U#v'T'W'd~", -- goto: "#Dk(XPPPPPPP(YP(jP*^PPPP-sPP.Y3j5^5qP5qPPP5q5qP5qP7_PP7dP7xPPPP<XPPPP<X>wPPP>}AYP<XPCsPPPPEk<XPPPPPGd<XPPJcK`PPPPKdL|PMUNVPK`<X<X!#^!&V!*v!*v!.TPPP!.[!1O<XPPPPPPPPPP!3sP!5UPP<X!6cP<XP<X<X<X<XP<X!8vPP!;mP!>`!>h!>l!>lP!;jP!>p!>pP!AcP!Ag<X<X!Am!D_5qP5qP5q5qP!Eb5q5q!GY5q!I[5q!J|5q5q!Kj!Md!Md!Mh!Md!MpP!MdP5q!Nl5q# v5q5q-sPPP##TPP##m##mP##mP#$S##mPP#$YP#$PP#$P#$lMQ#$P#%Z#%a#%d(Y#%g(YP#%n#%n#%nP(YP(YP(YP(YPP(YP#%t#%wP#%w(YPPP(YP(YP(YP(YP(YP(Y(Y#%{#&V#&]#&c#&q#&w#&}#'X#'_#'i#'o#'}#(T#(Z#(i#)O#*b#*p#*v#*|#+S#+Y#+d#+j#+p#+z#,^#,dPPPPPPPPP#,jPP#-^#1[PP#2r#2y#3RP#7_PP#7c#9v#?p#?t#?w#?z#@V#@YPP#@]#@a#AO#As#Aw#BZPP#B_#Be#BiP#Bl#Bp#Bs#Cc#Cy#DO#DR#DU#D[#D_#Dc#DgmhOSj}!m$Y%a%d%e%g*i*n/]/`Q$gmQ$npQ%XyS&R!b+UQ&f!iS(f#x(kQ)a$hQ)n$pQ*Y%RQ+[&YS+c&_+eQ+u&gQ-a(mQ.z*ZY0P+g+h+i+j+kS2l.o2nU3u0Q0S0VU5b2q2r2sS6X3w3zS7P5c5dQ7k6ZR8O7R$l[ORSTUjk}!S!W!]!`!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#a#d$Y$l%Y%]%a%c%d%e%g%k%v&O&Z&a&k&x&|'|)O)V*e*i*n+p+w,Y,`-j-o-w.R.r/T/U/V/X/]/`/b/y0`0j2a2y3^3`3a3q5j5x6S7h8[8q!j'`#[#j&S'r*}+Q,e/p0}2i3j6y9S9U9X9Y9Z9[9]9^9_9`9a9b9c9d9e9h9q9r9t9{9|:P:Q:kQ(v$PQ)f$jQ*[%UQ*c%^Q,P9iQ-|)ZQ.X)gQ/S*aQ2V.SQ3R.{Q4U9jR4}2WpeOSjy}!m$Y%W%a%d%e%g*i*n/]/`R*^%Y&WVOSTjkn}!S!W!]!j!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#[#a#d#j$Y$l%Y%]%^%a%c%d%e%g%k%v&O&Z&a&k&x&|'r'|)O)V*e*i*n*}+Q+p+w,Y,`,e-j-o-w.R.r/T/U/V/X/]/`/b/p/y0`0j0}2a2i2y3^3`3a3j3q5j5x6S6y7h8[8q9S9U9X9Y9Z9[9]9^9_9`9a9b9c9d9e9h9q9r9t9{9|:P:Q:j:kW!cRU!`&SQ$`lQ$fmS$kp$pv$urs!q!t$W$s&[&o&r)r)s)t*g+O+_+z+|/f0bQ$}wQ&c!hQ&e!iS(Y#u(dS)`$g$hQ)d$jQ)q$rQ*T%PQ*X%RS+t&f&gQ,}(ZQ.Q)aQ.W)gQ.Y)hQ.])lQ.u*US.y*Y*ZQ0^+uQ1W,yQ2U.SQ2Y.VQ2_._Q3Q.zQ4a1XQ4|2WQ5P2[Q6s4{R7u6t!Y$dm!i$f$g$h&Q&e&f&g(e)`)a+R+b+t+u-Z.Q/u/|0R0^1m3t3y6V7i8]Q)X$`Q)y$zQ)|${Q*W%RQ.a)qQ.t*TU.x*X*Y*ZQ2{.uS3P.y.zQ5]2kQ5o3QS6}5^5aS7|7O7QQ8g7}R8v8hW#{a$b(s:hS$zt%WQ${uQ$|vR)w$x$V#za!v!x#c#u#w$Q$R$V&b'x(R(T(U(](a(q(r)U)W)Z)x){+q,V-Q-S-l-v-x.f.i.q.s1V1`1j1q1x1{2P2b2x2z4d4p4x5f5k6x7U8R9g9k9l9m9n9o9p9u9v9w9x9y9z9}:O:R:S:h:n:oV(w$P9i9jU&V!b$t+XQ'P!zQ)k$mQ.j)}Q1r-iR5X2g&YcORSTUjk}!S!W!]!`!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#[#a#d#j$Y$l%Y%]%^%a%c%d%e%g%k%v&O&S&Z&a&k&x&|'r'|)O)V*e*i*n*}+Q+p+w,Y,`,e-j-o-w.R.r/T/U/V/X/]/`/b/p/y0`0j0}2a2i2y3^3`3a3j3q5j5x6S6y7h8[8q9S9U9X9Y9Z9[9]9^9_9`9a9b9c9d9e9h9q9r9t9{9|:P:Q:k$]#`Z!_!n$^%u%y&t&{'R'S'T'U'V'W'X'Y'Z'[']'_'b'f'p)j*y+S+]+v,U,[,_,a,o-m/k/n0_0i0m0n0o0p0q0r0s0t0u0v0w0x0y0|1R1v2S3l3o4P4S4T4Y4Z5Z6O6R6_6c6d7e7x8Y8o8z9T:a&ZcORSTUjk}!S!W!]!`!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#[#a#d#j$Y$l%Y%]%^%a%c%d%e%g%k%v&O&S&Z&a&k&x&|'r'|)O)V*e*i*n*}+Q+p+w,Y,`,e-j-o-w.R.r/T/U/V/X/]/`/b/p/y0`0j0}2a2i2y3^3`3a3j3q5j5x6S6y7h8[8q9S9U9X9Y9Z9[9]9^9_9`9a9b9c9d9e9h9q9r9t9{9|:P:Q:kQ&T!bR/q+UY%}!b&R&Y+U+[S(e#x(kS+b&_+eS-Z(f(mQ-[(gQ-b(nQ.l*PU/|+c+g+hU0R+i+j+kS0W+l2pQ1m-aQ1o-cQ1p-dS2k.o2nU3t0P0Q0SQ3x0TQ3y0VS5^2l2sS5a2q2rU6V3u3w3zQ6[3{S7O5b5cQ7Q5dS7i6X6ZS7}7P7RQ8]7kR8h8OlhOSj}!m$Y%a%d%e%g*i*n/]/`Q%i!QS&s!u9XQ)^$eQ*R$}Q*S%OQ+r&dS,T&x9rS-n)O9{Q.O)_Q.n*QQ/d*pQ/e*qQ/m+PQ0U+iQ0[+sS1w-o:PQ2Q.PS2T.R:QQ3k/oQ3n/wQ3}0]Q4z2RQ5|3hQ6P3mQ6T3sQ6]4OQ7c5}Q7f6UQ8X7gQ8l8VQ8n8ZR8y8p$W#_Z!_!n%u%y&t&{'R'S'T'U'V'W'X'Y'Z'[']'_'b'f'p)j*y+S+]+v,U,[,_,o-m/k/n0_0i0m0n0o0p0q0r0s0t0u0v0w0x0y0|1R1v2S3l3o4P4S4T4Y4Z5Z6O6R6_6c6d7e7x8Y8o8z9T:aU(p#y&w0{T)S$^,a$W#^Z!_!n%u%y&t&{'R'S'T'U'V'W'X'Y'Z'[']'_'b'f'p)j*y+S+]+v,U,[,_,o-m/k/n0_0i0m0n0o0p0q0r0s0t0u0v0w0x0y0|1R1v2S3l3o4P4S4T4Y4Z5Z6O6R6_6c6d7e7x8Y8o8z9T:aQ'a#_S)R$^,aR-p)S&YcORSTUjk}!S!W!]!`!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#[#a#d#j$Y$l%Y%]%^%a%c%d%e%g%k%v&O&S&Z&a&k&x&|'r'|)O)V*e*i*n*}+Q+p+w,Y,`,e-j-o-w.R.r/T/U/V/X/]/`/b/p/y0`0j0}2a2i2y3^3`3a3j3q5j5x6S6y7h8[8q9S9U9X9Y9Z9[9]9^9_9`9a9b9c9d9e9h9q9r9t9{9|:P:Q:kQ%d{Q%e|Q%g!OQ%h!PR/[*lQ&`!hQ)T$`Q+o&cS-u)X)qS0X+m+nW1z-r-s-t.aS3|0Y0ZU4w1|1}2OU6q4v5T5UQ7t6rR8c7wT+d&_+eS+b&_+eU/|+c+g+hU0R+i+j+kS0W+l2pS2k.o2nU3t0P0Q0SQ3x0TQ3y0VS5^2l2sS5a2q2rU6V3u3w3zQ6[3{S7O5b5cQ7Q5dS7i6X6ZS7}7P7RQ8]7kR8h8OS+d&_+eT2m.o2nS&m!p/YQ,|(YQ-X(eS/{+b2kQ1],}S1g-Y-bU3v0R0W5aQ4`1WS4n1n1pU6Y3x3y7QQ6g4aQ6p4qR7l6[Q!wXS&l!p/YQ)P$XQ)[$cQ)b$iQ+x&mQ,{(YQ-W(eQ-](hQ-})]Q.v*VS/z+b2kS1[,|,}S1f-X-bQ1i-[Q1l-^Q2}.wW3r/{0R0W5aQ4_1WQ4c1]S4h1g1pQ4o1oQ5m3OW6W3v3x3y7QS6f4`4aQ6k4jQ6n4nQ6{5[Q7Y5nS7j6Y6[Q7n6gQ7p6lQ7s6pQ7z6|Q8T7ZQ8^7lQ8a7rQ8e7{Q8t8fQ8|8uQ9Q8}Q:Z:UQ:d:_R:e:`$nWORSTUjk}!S!W!]!`!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#a#d$Y$l%Y%]%^%a%c%d%e%g%k%v&O&Z&a&k&x&|'|)O)V*e*i*n+p+w,Y,`-j-o-w.R.r/T/U/V/X/]/`/b/y0`0j2a2y3^3`3a3q5j5x6S7h8[8qS!wn!j!j:T#[#j&S'r*}+Q,e/p0}2i3j6y9S9U9X9Y9Z9[9]9^9_9`9a9b9c9d9e9h9q9r9t9{9|:P:Q:kR:Z:j$nXORSTUjk}!S!W!]!`!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#a#d$Y$l%Y%]%^%a%c%d%e%g%k%v&O&Z&a&k&x&|'|)O)V*e*i*n+p+w,Y,`-j-o-w.R.r/T/U/V/X/]/`/b/y0`0j2a2y3^3`3a3q5j5x6S7h8[8qQ$Xb!Y$cm!i$f$g$h&Q&e&f&g(e)`)a+R+b+t+u-Z.Q/u/|0R0^1m3t3y6V7i8]S$in!jQ)]$dQ*V%RW.w*W*X*Y*ZU3O.x.y.zQ5[2kS5n3P3QU6|5]5^5aQ7Z5oU7{6}7O7QS8f7|7}S8u8g8hQ8}8v!j:U#[#j&S'r*}+Q,e/p0}2i3j6y9S9U9X9Y9Z9[9]9^9_9`9a9b9c9d9e9h9q9r9t9{9|:P:Q:kQ:_:iR:`:j$f]OSTjk}!S!W!]!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#a#d$Y$l%Y%]%a%c%d%e%g%k%v&O&Z&a&k&x&|'|)O)V*e*i*n+p+w,Y,`-j-o-w.R.r/T/U/V/X/]/`/b/y0`0j2a2y3^3`3a3q5j5x6S7h8[8qU!gRU!`v$urs!q!t$W$s&[&o&r)r)s)t*g+O+_+z+|/f0bQ*d%^!h:V#[#j'r*}+Q,e/p0}2i3j6y9S9U9X9Y9Z9[9]9^9_9`9a9b9c9d9e9h9q9r9t9{9|:P:Q:kR:Y&SS&W!b$tR/s+X$l[ORSTUjk}!S!W!]!`!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#a#d$Y$l%Y%]%a%c%d%e%g%k%v&O&Z&a&k&x&|'|)O)V*e*i*n+p+w,Y,`-j-o-w.R.r/T/U/V/X/]/`/b/y0`0j2a2y3^3`3a3q5j5x6S7h8[8q!j'`#[#j&S'r*}+Q,e/p0}2i3j6y9S9U9X9Y9Z9[9]9^9_9`9a9b9c9d9e9h9q9r9t9{9|:P:Q:kR*c%^$noORSTUjk}!S!W!]!`!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#a#d$Y$l%Y%]%^%a%c%d%e%g%k%v&O&Z&a&k&x&|'|)O)V*e*i*n+p+w,Y,`-j-o-w.R.r/T/U/V/X/]/`/b/y0`0j2a2y3^3`3a3q5j5x6S7h8[8qQ'P!z!k:W#[#j&S'r*}+Q,e/p0}2i3j6y9S9U9X9Y9Z9[9]9^9_9`9a9b9c9d9e9h9q9r9t9{9|:P:Q:k!h#UZ!_$^%u%y&t&{'Y'Z'[']'b'f)j*y+]+v,U,[,o-m0_0i0y1v2S3o4P4S6R7e8Y8o8z9T!R9`'_'p+S,a/k/n0m0u0v0w0x0|1R3l4T4Y4Z5Z6O6_6c6d7x:a!d#WZ!_$^%u%y&t&{'[']'b'f)j*y+]+v,U,[,o-m0_0i0y1v2S3o4P4S6R7e8Y8o8z9T}9b'_'p+S,a/k/n0m0w0x0|1R3l4T4Y4Z5Z6O6_6c6d7x:a!`#[Z!_$^%u%y&t&{'b'f)j*y+]+v,U,[,o-m0_0i0y1v2S3o4P4S6R7e8Y8o8z9Tl(U#s&y(},w-P-e-f0g1u4^4r:[:f:gx:k'_'p+S,a/k/n0m0|1R3l4T4Y4Z5Z6O6_6c6d7x:a!`:n&u'd(X(_+n,S,l-T-q-t.e.g0Z0f1^1b2O2d2f2v4R4e4k4t4y5U5i6^6i6o7WZ:o0z4X6`7m8_&YcORSTUjk}!S!W!]!`!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#[#a#d#j$Y$l%Y%]%^%a%c%d%e%g%k%v&O&S&Z&a&k&x&|'r'|)O)V*e*i*n*}+Q+p+w,Y,`,e-j-o-w.R.r/T/U/V/X/]/`/b/p/y0`0j0}2a2i2y3^3`3a3j3q5j5x6S6y7h8[8q9S9U9X9Y9Z9[9]9^9_9`9a9b9c9d9e9h9q9r9t9{9|:P:Q:kS#k`#lR1O,d&a_ORSTU`jk}!S!W!]!`!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#[#a#d#j#l$Y$l%Y%]%^%a%c%d%e%g%k%v&O&S&Z&a&k&x&|'r'|)O)V*e*i*n*}+Q+p+w,Y,`,d,e-j-o-w.R.r/T/U/V/X/]/`/b/p/y0`0j0}2a2i2y3^3`3a3j3q5j5x6S6y7h8[8q9S9U9X9Y9Z9[9]9^9_9`9a9b9c9d9e9h9q9r9t9{9|:P:Q:kS#f^#mT'i#h'mT#g^#mT'k#h'm&a`ORSTU`jk}!S!W!]!`!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#[#a#d#j#l$Y$l%Y%]%^%a%c%d%e%g%k%v&O&S&Z&a&k&x&|'r'|)O)V*e*i*n*}+Q+p+w,Y,`,d,e-j-o-w.R.r/T/U/V/X/]/`/b/p/y0`0j0}2a2i2y3^3`3a3j3q5j5x6S6y7h8[8q9S9U9X9Y9Z9[9]9^9_9`9a9b9c9d9e9h9q9r9t9{9|:P:Q:kT#k`#lQ#n`R't#l$nbORSTUjk}!S!W!]!`!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#a#d$Y$l%Y%]%^%a%c%d%e%g%k%v&O&Z&a&k&x&|'|)O)V*e*i*n+p+w,Y,`-j-o-w.R.r/T/U/V/X/]/`/b/y0`0j2a2y3^3`3a3q5j5x6S7h8[8q!k:i#[#j&S'r*}+Q,e/p0}2i3j6y9S9U9X9Y9Z9[9]9^9_9`9a9b9c9d9e9h9q9r9t9{9|:P:Q:k#RdOSUj}!S!W!m!{#j$Y%Y%]%^%a%c%d%e%g%k&O&a'r)V*e*i*n+p,e-j-w.r/T/U/V/X/]/`/b0}2a2y3^3`3a5j5xt#ya!x$Q$R$V(R(T(U(](q(r,V-l1V1q:h:n:o!|&w!v#c#u#w&b'x(a)U)W)Z)x){+q-Q-S-v-x.f.i.q.s1`1j1x1{2P2b2x2z4d4p4x5f5k6x7U8R9k9m9o9u9w9y9}:RQ({$TQ,p'}c0{9g9l9n9p9v9x9z:O:St#va!x$Q$R$V(R(T(U(](q(r,V-l1V1q:h:n:oS(h#x(kQ(|$UQ-^(i!|:]!v#c#u#w&b'x(a)U)W)Z)x){+q-Q-S-v-x.f.i.q.s1`1j1x1{2P2b2x2z4d4p4x5f5k6x7U8R9k9m9o9u9w9y9}:Rb:^9g9l9n9p9v9x9z:O:SQ:b:lR:c:mt#ya!x$Q$R$V(R(T(U(](q(r,V-l1V1q:h:n:o!|&w!v#c#u#w&b'x(a)U)W)Z)x){+q-Q-S-v-x.f.i.q.s1`1j1x1{2P2b2x2z4d4p4x5f5k6x7U8R9k9m9o9u9w9y9}:Rc0{9g9l9n9p9v9x9z:O:SlfOSj}!m$Y%a%d%e%g*i*n/]/`Q(`#wQ*u%nQ*v%pR1_-Q$U#za!v!x#c#u#w$Q$R$V&b'x(R(T(U(](a(q(r)U)W)Z)x){+q,V-Q-S-l-v-x.f.i.q.s1V1`1j1q1x1{2P2b2x2z4d4p4x5f5k6x7U8R9g9k9l9m9n9o9p9u9v9w9x9y9z9}:O:R:S:h:n:oQ)z${Q.h)|Q2e.gR5W2fT(j#x(kS(j#x(kT2m.o2nQ)[$cQ-](hQ-})]Q.v*VQ2}.wQ5m3OQ6{5[Q7Y5nQ7z6|Q8T7ZQ8e7{Q8t8fQ8|8uR9Q8}l(R#s&y(},w-P-e-f0g1u4^4r:[:f:g!`9u&u'd(X(_+n,S,l-T-q-t.e.g0Z0f1^1b2O2d2f2v4R4e4k4t4y5U5i6^6i6o7WZ9v0z4X6`7m8_n(T#s&y(},u,w-P-e-f0g1u4^4r:[:f:g!b9w&u'd(X(_+n,S,l-T-q-t.e.g0Z0d0f1^1b2O2d2f2v4R4e4k4t4y5U5i6^6i6o7W]9x0z4X6`6a7m8_peOSjy}!m$Y%W%a%d%e%g*i*n/]/`Q%TxR*e%^peOSjy}!m$Y%W%a%d%e%g*i*n/]/`R%TxQ*O$|R.d)wqeOSjy}!m$Y%W%a%d%e%g*i*n/]/`Q.p*TS2w.t.uW5e2t2u2v2{U7T5g5h5iU8P7S7V7WQ8i8QR8w8jQ%[yR*_%WR3U.}R7]5pS$kp$pR.Y)hQ%azR*i%bR*o%hT/^*n/`QjOQ!mST$]j!mQ'z#rR,m'zQ!YQR%s!YQ!^RU%w!^%x*zQ%x!_R*z%yQ+V&TR/r+VQ,W&yR0h,WQ,Z&{S0k,Z0lR0l,[Q+e&_R/}+eQ&]!eQ*{%zT+`&]*{Q+Y&WR/t+YQ&p!rQ+y&nU+}&p+y0cR0c,OQ'm#hR,f'mQ#l`R's#lQ#bZU'c#b*x9fQ*x9TR9f'pQ,z(YW1Y,z1Z4b6hU1Z,{,|,}S4b1[1]R6h4c#q(P#s&u&y'd(X(_(x(y(}+n,Q,R,S,l,u,v,w-P-T-e-f-q-t.e.g0Z0d0e0f0g0z1^1b1u2O2d2f2v4R4V4W4X4^4e4k4r4t4y5U5i6^6`6a6b6i6o7W7m8_:[:f:gQ-R(_U1a-R1c4fQ1c-TR4f1bQ(k#xR-_(kQ(t#|R-h(tQ1y-qR4u1yQ)u$vR.c)uQ2h.jS5Y2h6zR6z5ZQ*Q$}R.m*QQ2n.oR5_2nQ.|*[S3S.|5qR5q3UQ.T)dW2X.T2Z5O6uQ2Z.WQ5O2YR6u5PQ)i$kR.Z)iQ/`*nR3d/`WiOSj!mQ%f}Q)Q$YQ*h%aQ*j%dQ*k%eQ*m%gQ/Z*iS/^*n/`R3c/]Q$[gQ%j!RQ%m!TQ%o!UQ%q!VQ)p$qQ)v$wQ*^%[Q*s%lS/P*_*bQ/g*rQ/h*uQ/i*vS/x+b2kQ1d-VQ1e-WQ1k-]Q2^.^Q2c.eQ2|.vQ3W/RQ3b/[Y3p/z/{0R0W5aQ4g1fQ4i1hQ4l1lQ5S2`Q5V2dQ5l2}Q5r3V[6Q3o3r3v3x3y7QQ6j4hQ6m4mQ6v5QQ7X5mQ7^5sW7d6R6W6Y6[Q7o6kQ7q6nQ7v6wQ7y6{Q8S7YU8W7e7j7lQ8`7pQ8b7sQ8d7zQ8k8TS8m8Y8^Q8r8aQ8s8eQ8x8oQ8{8tQ9O8zQ9P8|R9R9QQ$emQ&d!iU)_$f$g$hQ+P&QU+s&e&f&gQ-V(eS.P)`)aQ/o+RQ/w+bS0]+t+uQ1h-ZQ2R.QQ3m/uS3s/|0RQ4O0^Q4m1mS6U3t3yQ7g6VQ8Z7iR8p8]S#ta:hR)Y$bU#|a$b:hR-g(sQ#saS&u!v)ZQ&y!xQ'd#cQ(X#uQ(_#wQ(x$QQ(y$RQ(}$VQ+n&bQ,Q9kQ,R9mQ,S9oQ,l'xQ,u(RQ,v(TQ,w(UQ-P(]Q-T(aQ-e(qQ-f(rd-q)U-v.q1{2x4x5f6x7U8RQ-t)WQ.e)xQ.g){Q0Z+qQ0d9uQ0e9wQ0f9yQ0g,VQ0z9gQ1^-QQ1b-SQ1u-lQ2O-xQ2d.fQ2f.iQ2v.sQ4R9}Q4V9lQ4W9nQ4X9pQ4^1VQ4e1`Q4k1jQ4r1qQ4t1xQ4y2PQ5U2bQ5i2zQ6^:RQ6`9zQ6a9vQ6b9xQ6i4dQ6o4pQ7W5kQ7m:OQ8_:SQ:[:hQ:f:nR:g:oT'y#r'zlgOSj}!m$Y%a%d%e%g*i*n/]/`S!oU%cQ%l!SQ%r!WQ'Q!{Q'q#jS*b%Y%]Q*f%^Q*r%kQ*|&OQ+m&aQ,j'rQ-s)VQ/W*eQ0Y+pQ1Q,eQ1s-jQ1}-wQ2u.rQ3Y/TQ3Z/UQ3]/VQ3_/XQ3f/bQ4[0}Q5T2aQ5h2yQ5w3^Q5y3`Q5z3aQ7V5jR7`5x!vZOSUj}!S!m!{$Y%Y%]%^%a%c%d%e%g%k&O&a)V*e*i*n+p-j-w.r/T/U/V/X/]/`/b2a2y3^3`3a5j5xQ!_RQ!nTQ$^kQ%u!]Q%y!`Q&t!uQ&{!yQ'R#OQ'S#PQ'T#QQ'U#RQ'V#SQ'W#TQ'X#UQ'Y#VQ'Z#WQ'[#XQ']#YQ'_#[Q'b#aQ'f#dW'p#j'r,e0}Q)j$lQ*y%vS+S&S/pQ+]&ZQ+v&kQ,U&xQ,[&|Q,_9SQ,a9UQ,o'|Q-m)OQ/k*}Q/n+QQ0_+wQ0i,YQ0m9XQ0n9YQ0o9ZQ0p9[Q0q9]Q0r9^Q0s9_Q0t9`Q0u9aQ0v9bQ0w9cQ0x9dQ0y,`Q0|9hQ1R9eQ1v-oQ2S.RQ3l9qQ3o/yQ4P0`Q4S0jQ4T9rQ4Y9tQ4Z9{Q5Z2iQ6O3jQ6R3qQ6_9|Q6c:PQ6d:QQ7e6SQ7x6yQ8Y7hQ8o8[Q8z8qQ9T!WR:a:kT!XQ!YR!aRR&U!bS&Q!b+US+R&R&YR/u+[R&z!xR&}!yT!sU$WS!rU$WU$vrs*gS&n!q!tQ+{&oQ,O&rQ.b)tS0a+z+|R4Q0b[!dR!`$s&[)r+_h!pUrs!q!t$W&o&r)t+z+|0bQ/Y*gQ/l+OQ3i/fT:X&S)sT!fR$sS!eR$sS%z!`)rS+T&S)sQ+^&[R/v+_T&X!b$tQ#h^R'v#mT'l#h'mR1P,dT([#u(dR(b#wQ-r)UQ1|-vQ2t.qQ4v1{Q5g2xQ6r4xQ7S5fQ7w6xQ8Q7UR8j8RlhOSj}!m$Y%a%d%e%g*i*n/]/`Q%ZyR*^%WV$wrs*gR.k)}R*]%UQ$opR)o$pR)e$jT%_z%bT%`z%bT/_*n/`", -- nodeNames: "⚠ ArithOp ArithOp extends LineComment BlockComment Script ExportDeclaration export Star as VariableName from String ; default FunctionDeclaration async function VariableDefinition TypeParamList TypeDefinition ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType VoidType void TypeofType typeof MemberExpression . ?. PropertyName [ TemplateString null super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewExpression new TypeArgList CompareOp < ) ( ArgList UnaryExpression await yield delete LogicOp BitOp ParenthesizedExpression ClassExpression class extends ClassBody MethodDeclaration Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression PrivatePropertyName BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof in const CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXStartTag JSXSelfClosingTag JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast ArrowFunction TypeParamList SequenceExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature CallSignature TypePredicate is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody MethodDeclaration AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try catch finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement", -- maxTerm: 330, -+ states: "$1dO`QYOOO'QQ!LdO'#CgO'XOSO'#DSO)dQYO'#DXO)tQYO'#DdO){QYO'#DnO-xQYO'#DtOOQO'#EX'#EXO.]QWO'#EWO.bQWO'#EWOOQ!LS'#Eb'#EbO0aQ!LdO'#IsO2wQ!LdO'#ItO3eQWO'#EvO3jQpO'#F_OOQ!LS'#FO'#FOO3uO!bO'#FOO4TQWO'#FfO5bQWO'#FeOOQ!LS'#It'#ItOOQ!LQ'#Is'#IsOOQQ'#J^'#J^O5gQWO'#HlO5lQ!LYO'#HmOOQQ'#Ie'#IeOOQQ'#Hn'#HnQ`QYOOO){QYO'#DfO5tQWO'#GYO5yQ#tO'#ClO6XQWO'#EVO6dQWO'#EcO6iQ#tO'#E}O7TQWO'#GYO7YQWO'#G^O7eQWO'#G^O7sQWO'#GaO7sQWO'#GbO7sQWO'#GdO5tQWO'#GgO8dQWO'#GjO9rQWO'#CcO:SQWO'#GwO:[QWO'#G}O:[QWO'#HPO`QYO'#HRO:[QWO'#HTO:[QWO'#HWO:aQWO'#H^O:fQ!LZO'#HbO){QYO'#HdO:qQ!LZO'#HfO:|Q!LZO'#HhO5lQ!LYO'#HjO){QYO'#IuOOOS'#Hp'#HpO;XOSO,59nOOQ!LS,59n,59nO=jQbO'#CgO=tQYO'#HqO>RQWO'#IvO@QQbO'#IvO'dQYO'#IvO@XQWO,59sO@oQ&jO'#D^OAhQWO'#EXOAuQWO'#JROBQQWO'#JQOBYQWO,5:uOB_QWO'#JPOBfQWO'#DuO5yQ#tO'#EVOBtQWO'#EVOCPQ`O'#E}OOQ!LS,5:O,5:OOCXQYO,5:OOEVQ!LdO,5:YOEsQWO,5:`OF^Q!LYO'#JOO7YQWO'#I}OFeQWO'#I}OFmQWO,5:tOFrQWO'#I}OGQQYO,5:rOIQQWO'#ESOJ[QWO,5:rOKkQWO'#DhOKrQYO'#DmOK|Q&jO,5:{O){QYO,5:{OOQQ'#En'#EnOOQQ'#Ep'#EpO){QYO,5:}O){QYO,5:}O){QYO,5:}O){QYO,5:}O){QYO,5:}O){QYO,5:}O){QYO,5:}O){QYO,5:}O){QYO,5:}O){QYO,5:}O){QYO,5:}OOQQ'#Et'#EtOLUQYO,5;_OOQ!LS,5;d,5;dOOQ!LS,5;e,5;eONUQWO,5;eOOQ!LS,5;f,5;fO){QYO'#H{ONZQ!LYO,5<RONuQWO,5:}O){QYO,5;bON|QpO'#FTO! yQpO'#JVO! eQpO'#JVO!!QQpO'#JVOOQO'#JV'#JVO!!fQpO,5;mOOOO,5;y,5;yO!!wQYO'#FaOOOO'#Hz'#HzO3uO!bO,5;jO!#OQpO'#FcOOQ!LS,5;j,5;jO!#oQ,UO'#CqOOQ!LS'#Ct'#CtO!$SQWO'#CtO!$XOSO'#CxO!$uQ#tO,5<OO!$|QWO,5<QO!&YQWO'#FpO!&gQWO'#FqO!&lQWO'#FuO!'nQ&jO'#FyO!(aQ,UO'#InOOQ!LS'#In'#InO!(kQWO'#ImO!(yQWO'#IlOOQ!LS'#Cr'#CrOOQ!LS'#Cy'#CyO!)RQWO'#C{OJaQWO'#FhOJaQWO'#FjO!)WQWO'#FlO!)]QWO'#FmO!)bQWO'#FsOJaQWO'#FxO!)gQWO'#EYO!*OQWO,5<PO`QYO,5>WOOQQ'#Ih'#IhOOQQ,5>X,5>XOOQQ-E;l-E;lO!+zQ!LdO,5:QOOQ!LQ'#Co'#CoO!,kQ#tO,5<tOOQO'#Ce'#CeO!,|QWO'#CpO!-UQ!LYO'#IiO5bQWO'#IiO:aQWO,59WO!-dQpO,59WO!-lQ#tO,59WO5yQ#tO,59WO!-wQWO,5:rO!.PQWO'#GvO!.[QWO'#JbO){QYO,5;gO!.dQ&jO,5;iO!.iQWO,5=aO!.nQWO,5=aO!.sQWO,5=aO5lQ!LYO,5=aO5tQWO,5<tO!/RQWO'#EZO!/dQ&jO'#E[OOQ!LQ'#JP'#JPO!/uQ!LYO'#J_O5lQ!LYO,5<xO7sQWO,5=OOOQO'#Cq'#CqO!0QQpO,5<{O!0YQ#tO,5<|O!0eQWO,5=OO!0jQ`O,5=RO:aQWO'#GlO5tQWO'#GnO!0rQWO'#GnO5yQ#tO'#GqO!0wQWO'#GqOOQQ,5=U,5=UO!0|QWO'#GrO!1UQWO'#ClO!1ZQWO,58}O!1eQWO,58}O!3gQYO,58}OOQQ,58},58}O!3tQ!LYO,58}O){QYO,58}O!4PQYO'#GyOOQQ'#Gz'#GzOOQQ'#G{'#G{O`QYO,5=cO!4aQWO,5=cO){QYO'#DtO`QYO,5=iO`QYO,5=kO!4fQWO,5=mO`QYO,5=oO!4kQWO,5=rO!4pQYO,5=xOOQQ,5=|,5=|O){QYO,5=|O5lQ!LYO,5>OOOQQ,5>Q,5>QO!8qQWO,5>QOOQQ,5>S,5>SO!8qQWO,5>SOOQQ,5>U,5>UO!8vQ`O,5?aOOOS-E;n-E;nOOQ!LS1G/Y1G/YO!8{QbO,5>]O){QYO,5>]OOQO-E;o-E;oO!9VQWO,5?bO!9_QbO,5?bO!9fQWO,5?lOOQ!LS1G/_1G/_O!9nQpO'#DQOOQO'#Ix'#IxO){QYO'#IxO!:]QpO'#IxO!:zQpO'#D_O!;]Q&jO'#D_O!=hQYO'#D_O!=oQWO'#IwO!=wQWO,59xO!=|QWO'#E]O!>[QWO'#JSO!>dQWO,5:vO!>zQ&jO'#D_O){QYO,5?mO!?UQWO'#HvO!9fQWO,5?lOOQ!LQ1G0a1G0aO!@bQ&jO'#DxOOQ!LS,5:a,5:aO){QYO,5:aOIQQWO,5:aO!@iQWO,5:aO:aQWO,5:qO!-dQpO,5:qO!-lQ#tO,5:qO5yQ#tO,5:qOOQ!LS1G/j1G/jOOQ!LS1G/z1G/zOOQ!LQ'#ER'#ERO){QYO,5?jO!@tQ!LYO,5?jO!AVQ!LYO,5?jO!A^QWO,5?iO!AfQWO'#HxO!A^QWO,5?iOOQ!LQ1G0`1G0`O7YQWO,5?iOOQ!LS1G0^1G0^O!BQQ!LdO1G0^O!BqQ!LbO,5:nOOQ!LS'#Fo'#FoO!C_Q!LdO'#InOGQQYO1G0^O!E^Q#tO'#IyO!EhQWO,5:SO!EmQbO'#IzO){QYO'#IzO!EwQWO,5:XOOQ!LS'#DQ'#DQOOQ!LS1G0g1G0gO!E|QWO1G0gO!H_Q!LdO1G0iO!HfQ!LdO1G0iO!JyQ!LdO1G0iO!KQQ!LdO1G0iO!MXQ!LdO1G0iO!MlQ!LdO1G0iO#!]Q!LdO1G0iO#!dQ!LdO1G0iO#$wQ!LdO1G0iO#%OQ!LdO1G0iO#&sQ!LdO1G0iO#)mQ7^O'#CgO#+hQ7^O1G0yO#-cQ7^O'#ItOOQ!LS1G1P1G1PO#-vQ!LdO,5>gOOQ!LQ-E;y-E;yO#.gQ!LdO1G0iOOQ!LS1G0i1G0iO#0iQ!LdO1G0|O#1YQpO,5;qO#1bQpO,5;rO#1jQpO'#FYO#2RQWO'#FXOOQO'#JW'#JWOOQO'#Hy'#HyO#2WQpO1G1XOOQ!LS1G1X1G1XOOOO1G1d1G1dO#2iQ7^O'#IsO#2sQWO,5;{OLUQYO,5;{OOOO-E;x-E;xOOQ!LS1G1U1G1UOOQ!LS,5;},5;}O#2xQpO,5;}OOQ!LS,59`,59`OIQQWO'#IpOOOS'#Ho'#HoO#2}OSO,59dOOQ!LS,59d,59dO){QYO1G1jO!)]QWO'#H}O#3YQWO,5<cOOQ!LS,5<`,5<`OOQO'#GT'#GTOJaQWO,5<nOOQO'#GV'#GVOJaQWO,5<pOJaQWO,5<rOOQO1G1l1G1lO#3eQ`O'#CoO#3xQ`O,5<[O#4PQWO'#JZO5tQWO'#JZO#4_QWO,5<^OJaQWO,5<]O#4dQ`O'#FoO#4qQ`O'#J[O#4{QWO'#J[OIQQWO'#J[O#5QQWO,5<aOOQ!LQ'#Dc'#DcO#5VQWO'#FrO#5bQpO'#FzO!'iQ&jO'#FzO!'iQ&jO'#F|O#5sQWO'#F}O!)bQWO'#GQOOQO'#IP'#IPO#5xQ&jO,5<eOOQ!LS,5<e,5<eO#6PQ&jO'#FzO#6_Q&jO'#F{O#6gQ&jO'#F{OOQ!LS,5<s,5<sOJaQWO,5?XOJaQWO,5?XO#6lQWO'#IQO#6wQWO,5?WOOQ!LS'#Cg'#CgO#7kQ#tO,59gOOQ!LS,59g,59gO#8^Q#tO,5<SO#9PQ#tO,5<UO#9ZQWO,5<WOOQ!LS,5<X,5<XO#9`QWO,5<_O#9eQ#tO,5<dOGQQYO1G1kO#9uQWO1G1kOOQQ1G3r1G3rOOQ!LS1G/l1G/lONUQWO1G/lOOQQ1G2`1G2`OIQQWO1G2`O){QYO1G2`OIQQWO1G2`O#9zQWO1G2`O#:YQWO,59[O#;cQWO'#ESOOQ!LQ,5?T,5?TO#;mQ!LYO,5?TOOQQ1G.r1G.rO:aQWO1G.rO!-dQpO1G.rO!-lQ#tO1G.rO#;{QWO1G0^O#<QQWO'#CgO#<]QWO'#JcO#<eQWO,5=bO#<jQWO'#JcO#<oQWO'#JcO#<tQWO'#IYO#=SQWO,5?|O#=[QbO1G1ROOQ!LS1G1T1G1TO5tQWO1G2{O#=cQWO1G2{O#=hQWO1G2{O#=mQWO1G2{OOQQ1G2{1G2{O#=rQ#tO1G2`O7YQWO'#JQO7YQWO'#E]O7YQWO'#ISO#>TQ!LYO,5?yOOQQ1G2d1G2dO!0eQWO1G2jOIQQWO1G2gO#>`QWO1G2gOOQQ1G2h1G2hOIQQWO1G2hO#>eQWO1G2hO#>mQ&jO'#GfOOQQ1G2j1G2jO!'iQ&jO'#IUO!0jQ`O1G2mOOQQ1G2m1G2mOOQQ,5=W,5=WO#>uQ#tO,5=YO5tQWO,5=YO#5sQWO,5=]O5bQWO,5=]O!-dQpO,5=]O!-lQ#tO,5=]O5yQ#tO,5=]O#?WQWO'#JaO#?cQWO,5=^OOQQ1G.i1G.iO#?hQ!LYO1G.iO#?sQWO1G.iO!)RQWO1G.iO5lQ!LYO1G.iO#?xQbO,5@OO#@SQWO,5@OO#@_QYO,5=eO#@fQWO,5=eO7YQWO,5@OOOQQ1G2}1G2}O`QYO1G2}OOQQ1G3T1G3TOOQQ1G3V1G3VO:[QWO1G3XO#@kQYO1G3ZO#DfQYO'#HYOOQQ1G3^1G3^O:aQWO1G3dO#DsQWO1G3dO5lQ!LYO1G3hOOQQ1G3j1G3jOOQ!LQ'#Fv'#FvO5lQ!LYO1G3lO5lQ!LYO1G3nOOOS1G4{1G4{O#D{Q`O,5<RO#ETQbO1G3wO#E_QWO1G4|O#EgQWO1G5WO#EoQWO,5?dOLUQYO,5:wO7YQWO,5:wO:aQWO,59yOLUQYO,59yO!-dQpO,59yO#EtQ7^O,59yOOQO,5:w,5:wO#FOQ&jO'#HrO#FfQWO,5?cOOQ!LS1G/d1G/dO#FnQ&jO'#HwO#GSQWO,5?nOOQ!LQ1G0b1G0bO!;]Q&jO,59yO#G[QbO1G5XOOQO,5>b,5>bO7YQWO,5>bOOQO-E;t-E;tOOQ!LQ'#EO'#EOO#GfQ!LrO'#EPO!@YQ&jO'#DyOOQO'#Hu'#HuO#HQQ&jO,5:dOOQ!LS,5:d,5:dO#HXQ&jO'#DyO#HjQ&jO'#DyO#HqQ&jO'#EUO#HtQ&jO'#EPO#IRQ&jO'#EPO!@YQ&jO'#EPO#IfQWO1G/{O#IkQ`O1G/{OOQ!LS1G/{1G/{O){QYO1G/{OIQQWO1G/{OOQ!LS1G0]1G0]O:aQWO1G0]O!-dQpO1G0]O!-lQ#tO1G0]O#IrQ!LdO1G5UO){QYO1G5UO#JSQ!LYO1G5UO#JeQWO1G5TO7YQWO,5>dOOQO,5>d,5>dO#JmQWO,5>dOOQO-E;v-E;vO#JeQWO1G5TO#J{Q!LdO,59gO#LzQ!LdO,5<SO#N|Q!LdO,5<UO$#OQ!LdO,5<dOOQ!LS7+%x7+%xO$%WQ!LdO7+%xO$%wQWO'#HsO$&RQWO,5?eOOQ!LS1G/n1G/nO$&ZQYO'#HtO$&hQWO,5?fO$&pQbO,5?fOOQ!LS1G/s1G/sOOQ!LS7+&R7+&RO$&zQ7^O,5:YO){QYO7+&eO$'UQ7^O,5:QOOQO1G1]1G1]OOQO1G1^1G1^O$'cQMhO,5;tOLUQYO,5;sOOQO-E;w-E;wOOQ!LS7+&s7+&sOOOO7+'O7+'OOOOO1G1g1G1gO$'nQWO1G1gOOQ!LS1G1i1G1iO$'sQ`O,5?[OOOS-E;m-E;mOOQ!LS1G/O1G/OO$'zQ!LdO7+'UOOQ!LS,5>i,5>iO$(kQWO,5>iOOQ!LS1G1}1G1}P$(pQWO'#H}POQ!LS-E;{-E;{O$)aQ#tO1G2YO$*SQ#tO1G2[O$*^Q#tO1G2^OOQ!LS1G1v1G1vO$*eQWO'#H|O$*sQWO,5?uO$*sQWO,5?uO$*{QWO,5?uO$+WQWO,5?uOOQO1G1x1G1xO$+fQ#tO1G1wO$+vQWO'#IOO$,WQWO,5?vOIQQWO,5?vO$,`Q`O,5?vOOQ!LS1G1{1G1{O5lQ!LYO,5<fO5lQ!LYO,5<gO$,jQWO,5<gO#5nQWO,5<gO!-dQpO,5<fO$,oQWO,5<hO5lQ!LYO,5<iO$,jQWO,5<lOOQO-E;}-E;}OOQ!LS1G2P1G2PO!'iQ&jO,5<fO$,wQWO,5<gO!'iQ&jO,5<hO!'iQ&jO,5<gO$-SQ#tO1G4sO$-^Q#tO1G4sOOQO,5>l,5>lOOQO-E<O-E<OO!.dQ&jO,59iO){QYO,59iO$-kQWO1G1rOJaQWO1G1yO$-pQ!LdO7+'VOOQ!LS7+'V7+'VOGQQYO7+'VOOQ!LS7+%W7+%WO$.aQ`O'#J]O#IfQWO7+'zO$.kQWO7+'zO$.sQ`O7+'zOOQQ7+'z7+'zOIQQWO7+'zO){QYO7+'zOIQQWO7+'zOOQO1G.v1G.vO$.}Q!LbO'#CgO$/_Q!LbO,5<jO$/|QWO,5<jOOQ!LQ1G4o1G4oOOQQ7+$^7+$^O:aQWO7+$^O!-dQpO7+$^OGQQYO7+%xO$0RQWO'#IXO$0aQWO,5?}OOQO1G2|1G2|O5tQWO,5?}O$0aQWO,5?}O$0iQWO,5?}OOQO,5>t,5>tOOQO-E<W-E<WOOQ!LS7+&m7+&mO$0nQWO7+(gO5lQ!LYO7+(gO5tQWO7+(gO$0sQWO7+(gO$0xQWO7+'zOOQ!LQ,5>n,5>nOOQ!LQ-E<Q-E<QOOQQ7+(U7+(UO$1WQ!LbO7+(ROIQQWO7+(RO$1bQ`O7+(SOOQQ7+(S7+(SOIQQWO7+(SO$1iQWO'#J`O$1tQWO,5=QOOQO,5>p,5>pOOQO-E<S-E<SOOQQ7+(X7+(XO$2nQ&jO'#GoOOQQ1G2t1G2tOIQQWO1G2tO){QYO1G2tOIQQWO1G2tO$2uQWO1G2tO$3TQ#tO1G2tO5lQ!LYO1G2wO#5sQWO1G2wO5bQWO1G2wO!-dQpO1G2wO!-lQ#tO1G2wO$3fQWO'#IWO$3qQWO,5?{O$3yQ&jO,5?{OOQ!LQ1G2x1G2xOOQQ7+$T7+$TO$4OQWO7+$TO5lQ!LYO7+$TO$4TQWO7+$TO){QYO1G5jO){QYO1G5kO$4YQYO1G3PO$4aQWO1G3PO$4fQYO1G3PO$4mQ!LYO1G5jOOQQ7+(i7+(iO5lQ!LYO7+(sO`QYO7+(uOOQQ'#Jf'#JfOOQQ'#IZ'#IZO$4wQYO,5=tOOQQ,5=t,5=tO){QYO'#HZO$5UQWO'#H]OOQQ7+)O7+)OO$5ZQYO7+)OO7YQWO7+)OOOQQ7+)S7+)SOOQQ7+)W7+)WOOQQ7+)Y7+)YOOQO1G5O1G5OO$9XQ7^O1G0cO$9cQWO1G0cOOQO1G/e1G/eO$9nQ7^O1G/eO:aQWO1G/eOLUQYO'#D_OOQO,5>^,5>^OOQO-E;p-E;pOOQO,5>c,5>cOOQO-E;u-E;uO!-dQpO1G/eOOQO1G3|1G3|O:aQWO,5:eOOQO,5:k,5:kO){QYO,5:kO$9xQ!LYO,5:kO$:TQ!LYO,5:kO!-dQpO,5:eOOQO-E;s-E;sOOQ!LS1G0O1G0OO!@YQ&jO,5:eO$:cQ&jO,5:eO$:tQ!LrO,5:kO$;`Q&jO,5:eO!@YQ&jO,5:kOOQO,5:p,5:pO$;gQ&jO,5:kO$;tQ!LYO,5:kOOQ!LS7+%g7+%gO#IfQWO7+%gO#IkQ`O7+%gOOQ!LS7+%w7+%wO:aQWO7+%wO!-dQpO7+%wO$<YQ!LdO7+*pO){QYO7+*pOOQO1G4O1G4OO7YQWO1G4OO$<jQWO7+*oO$<rQ!LdO1G2YO$>tQ!LdO1G2[O$@vQ!LdO1G1wO$COQ#tO,5>_OOQO-E;q-E;qO$CYQbO,5>`O){QYO,5>`OOQO-E;r-E;rO$CdQWO1G5QO$ClQ7^O1G0^O$EsQ7^O1G0iO$EzQ7^O1G0iO$G{Q7^O1G0iO$HSQ7^O1G0iO$IwQ7^O1G0iO$J[Q7^O1G0iO$LiQ7^O1G0iO$LpQ7^O1G0iO$NqQ7^O1G0iO$NxQ7^O1G0iO%!mQ7^O1G0iO%#QQ!LdO<<JPO%#qQ7^O1G0iO%%aQ7^O'#InO%'^Q7^O1G0|OLUQYO'#F[OOQO'#JX'#JXOOQO1G1`1G1`O%'kQWO1G1_O%'pQ7^O,5>gOOOO7+'R7+'ROOOS1G4v1G4vOOQ!LS1G4T1G4TOJaQWO7+'xO%'zQWO,5>hO5tQWO,5>hOOQO-E;z-E;zO%(YQWO1G5aO%(YQWO1G5aO%(bQWO1G5aO%(mQ`O,5>jO%(wQWO,5>jOIQQWO,5>jOOQO-E;|-E;|O%(|Q`O1G5bO%)WQWO1G5bOOQO1G2Q1G2QOOQO1G2R1G2RO5lQ!LYO1G2RO$,jQWO1G2RO5lQ!LYO1G2QO%)`QWO1G2SOIQQWO1G2SOOQO1G2T1G2TO5lQ!LYO1G2WO!-dQpO1G2QO#5nQWO1G2RO%)eQWO1G2SO%)mQWO1G2ROJaQWO7+*_OOQ!LS1G/T1G/TO%)xQWO1G/TOOQ!LS7+'^7+'^O%)}Q#tO7+'eO%*_Q!LdO<<JqOOQ!LS<<Jq<<JqOIQQWO'#IRO%+OQWO,5?wOOQQ<<Kf<<KfOIQQWO<<KfO#IfQWO<<KfO%+WQWO<<KfO%+`Q`O<<KfOIQQWO1G2UOOQQ<<Gx<<GxO:aQWO<<GxO%+jQ!LdO<<IdOOQ!LS<<Id<<IdOOQO,5>s,5>sO%,ZQWO,5>sO#<oQWO,5>sOOQO-E<V-E<VO%,`QWO1G5iO%,`QWO1G5iO5tQWO1G5iO%,hQWO<<LROOQQ<<LR<<LRO%,mQWO<<LRO5lQ!LYO<<LRO){QYO<<KfOIQQWO<<KfOOQQ<<Km<<KmO$1WQ!LbO<<KmOOQQ<<Kn<<KnO$1bQ`O<<KnO%,rQ&jO'#ITO%,}QWO,5?zOLUQYO,5?zOOQQ1G2l1G2lO#GfQ!LrO'#EPO!@YQ&jO'#GpOOQO'#IV'#IVO%-VQ&jO,5=ZOOQQ,5=Z,5=ZO%-^Q&jO'#EPO%-iQ&jO'#EPO%.QQ&jO'#EPO%.[Q&jO'#GpO%.mQWO7+(`O%.rQWO7+(`O%.zQ`O7+(`OOQQ7+(`7+(`OIQQWO7+(`O){QYO7+(`OIQQWO7+(`O%/UQWO7+(`OOQQ7+(c7+(cO5lQ!LYO7+(cO#5sQWO7+(cO5bQWO7+(cO!-dQpO7+(cO%/dQWO,5>rOOQO-E<U-E<UOOQO'#Gs'#GsO%/oQWO1G5gO5lQ!LYO<<GoOOQQ<<Go<<GoO%/wQWO<<GoO%/|QWO7++UO%0RQWO7++VOOQQ7+(k7+(kO%0WQWO7+(kO%0]QYO7+(kO%0dQWO7+(kO){QYO7++UO){QYO7++VOOQQ<<L_<<L_OOQQ<<La<<LaOOQQ-E<X-E<XOOQQ1G3`1G3`O%0iQWO,5=uOOQQ,5=w,5=wO:aQWO<<LjO%0nQWO<<LjOLUQYO7+%}OOQO7+%P7+%PO%0sQ7^O1G5XO:aQWO7+%POOQO1G0P1G0PO%0}Q!LdO1G0VOOQO1G0V1G0VO){QYO1G0VO%1XQ!LYO1G0VO:aQWO1G0PO!-dQpO1G0PO!@YQ&jO1G0PO%1dQ!LYO1G0VO%1rQ&jO1G0PO%2TQ!LYO1G0VO%2iQ!LrO1G0VO%2sQ&jO1G0PO!@YQ&jO1G0VOOQ!LS<<IR<<IROOQ!LS<<Ic<<IcO:aQWO<<IcO%2zQ!LdO<<N[OOQO7+)j7+)jO%3[Q!LdO7+'eO%5dQbO1G3zO%5nQ7^O7+%xO%5{Q7^O,59gO%7xQ7^O,5<SO%9uQ7^O,5<UO%;rQ7^O,5<dO%=bQ7^O7+'UO%=oQ7^O7+'VO%=|QWO,5;vOOQO7+&y7+&yO%>RQ#tO<<KdOOQO1G4S1G4SO%>cQWO1G4SO%>nQWO1G4SO%>|QWO7+*{O%>|QWO7+*{OIQQWO1G4UO%?UQ`O1G4UO%?`QWO7+*|OOQO7+'m7+'mO5lQ!LYO7+'mOOQO7+'l7+'lO$,jQWO7+'nO%?hQ`O7+'nOOQO7+'r7+'rO5lQ!LYO7+'lO$,jQWO7+'mO%?oQWO7+'nOIQQWO7+'nO#5nQWO7+'mO%?tQ#tO<<MyOOQ!LS7+$o7+$oO%@OQ`O,5>mOOQO-E<P-E<PO#IfQWOANAQOOQQANAQANAQOIQQWOANAQO%@YQ!LbO7+'pOOQQAN=dAN=dO5tQWO1G4_OOQO1G4_1G4_O%@gQWO1G4_O%@lQWO7++TO%@lQWO7++TO5lQ!LYOANAmO%@tQWOANAmOOQQANAmANAmO%@yQWOANAQO%ARQ`OANAQOOQQANAXANAXOOQQANAYANAYO%A]QWO,5>oOOQO-E<R-E<RO%AhQ7^O1G5fO#5sQWO,5=[O5bQWO,5=[O!-dQpO,5=[OOQO-E<T-E<TOOQQ1G2u1G2uO$:tQ!LrO,5:kO!@YQ&jO,5=[O%ArQ&jO,5=[O%BTQ&jO,5:kOOQQ<<Kz<<KzOIQQWO<<KzO%.mQWO<<KzO%B_QWO<<KzO%BgQ`O<<KzO){QYO<<KzOIQQWO<<KzOOQQ<<K}<<K}O5lQ!LYO<<K}O#5sQWO<<K}O5bQWO<<K}O%BqQ&jO1G4^O%BvQWO7++ROOQQAN=ZAN=ZO5lQ!LYOAN=ZOOQQ<<Np<<NpOOQQ<<Nq<<NqOOQQ<<LV<<LVO%COQWO<<LVO%CTQYO<<LVO%C[QWO<<NpO%CaQWO<<NqOOQQ1G3a1G3aOOQQANBUANBUO:aQWOANBUO%CfQ7^O<<IiOOQO<<Hk<<HkOOQO7+%q7+%qO%0}Q!LdO7+%qO){QYO7+%qOOQO7+%k7+%kO:aQWO7+%kO!-dQpO7+%kO%CpQ!LYO7+%qO!@YQ&jO7+%kO%C{Q!LYO7+%qO%DZQ&jO7+%kO%DlQ!LYO7+%qOOQ!LSAN>}AN>}O%EQQ!LdO<<KdO%GYQ7^O<<JPO%GgQ7^O1G1wO%IVQ7^O1G2YO%KSQ7^O1G2[O%MPQ7^O<<JqO%M^Q7^O<<IdOOQO1G1b1G1bOOQO7+)n7+)nO%MkQWO7+)nO%MvQWO<<NgO%NOQ`O7+)pOOQO<<KX<<KXO5lQ!LYO<<KYO$,jQWO<<KYOOQO<<KW<<KWO5lQ!LYO<<KXO%NYQ`O<<KYO$,jQWO<<KXOOQQG26lG26lO#IfQWOG26lOOQO7+)y7+)yO5tQWO7+)yO%NaQWO<<NoOOQQG27XG27XO5lQ!LYOG27XOIQQWOG26lOLUQYO1G4ZO%NiQWO7++QO5lQ!LYO1G2vO#5sQWO1G2vO5bQWO1G2vO!-dQpO1G2vO!@YQ&jO1G2vO%2iQ!LrO1G0VO%NqQ&jO1G2vO%.mQWOANAfOOQQANAfANAfOIQQWOANAfO& SQWOANAfO& [Q`OANAfOOQQANAiANAiO5lQ!LYOANAiO#5sQWOANAiOOQO'#Gt'#GtOOQO7+)x7+)xOOQQG22uG22uOOQQANAqANAqO& fQWOANAqOOQQAND[AND[OOQQAND]AND]O& kQYOG27pOOQO<<I]<<I]O%0}Q!LdO<<I]OOQO<<IV<<IVO:aQWO<<IVO){QYO<<I]O!-dQpO<<IVO&%iQ!LYO<<I]O!@YQ&jO<<IVO&%tQ!LYO<<I]O&&SQ7^O7+'eOOQO<<MY<<MYOOQOAN@tAN@tO5lQ!LYOAN@tOOQOAN@sAN@sO$,jQWOAN@tO5lQ!LYOAN@sOOQQLD,WLD,WOOQO<<Me<<MeOOQQLD,sLD,sO#IfQWOLD,WO&'rQ7^O7+)uOOQO7+(b7+(bO5lQ!LYO7+(bO#5sQWO7+(bO5bQWO7+(bO!-dQpO7+(bO!@YQ&jO7+(bOOQQG27QG27QO%.mQWOG27QOIQQWOG27QOOQQG27TG27TO5lQ!LYOG27TOOQQG27]G27]O:aQWOLD-[OOQOAN>wAN>wOOQOAN>qAN>qO%0}Q!LdOAN>wO:aQWOAN>qO){QYOAN>wO!-dQpOAN>qO&'|Q!LYOAN>wO&(XQ7^O<<KdOOQOG26`G26`O5lQ!LYOG26`OOQOG26_G26_OOQQ!$( r!$( rOOQO<<K|<<K|O5lQ!LYO<<K|O#5sQWO<<K|O5bQWO<<K|O!-dQpO<<K|OOQQLD,lLD,lO%.mQWOLD,lOOQQLD,oLD,oOOQQ!$(!v!$(!vOOQOG24cG24cOOQOG24]G24]O%0}Q!LdOG24cO:aQWOG24]O){QYOG24cOOQOLD+zLD+zOOQOANAhANAhO5lQ!LYOANAhO#5sQWOANAhO5bQWOANAhOOQQ!$(!W!$(!WOOQOLD)}LD)}OOQOLD)wLD)wO%0}Q!LdOLD)}OOQOG27SG27SO5lQ!LYOG27SO#5sQWOG27SOOQO!$'Mi!$'MiOOQOLD,nLD,nO5lQ!LYOLD,nOOQO!$(!Y!$(!YOLUQYO'#DnO&)wQbO'#IsOLUQYO'#DfO&*OQ!LdO'#CgO&*iQbO'#CgO&*yQYO,5:rOLUQYO,5:}OLUQYO,5:}OLUQYO,5:}OLUQYO,5:}OLUQYO,5:}OLUQYO,5:}OLUQYO,5:}OLUQYO,5:}OLUQYO,5:}OLUQYO,5:}OLUQYO,5:}OLUQYO'#H{O&,yQWO,5<RO&.]QWO,5:}OLUQYO,5;bO!)RQWO'#C{O!)RQWO'#C{OIQQWO'#FhO&-RQWO'#FhOIQQWO'#FjO&-RQWO'#FjOIQQWO'#FxO&-RQWO'#FxOLUQYO,5?mO&*yQYO1G0^O&.dQ7^O'#CgOLUQYO1G1jOIQQWO,5<nO&-RQWO,5<nOIQQWO,5<pO&-RQWO,5<pOIQQWO,5<]O&-RQWO,5<]O&*yQYO1G1kOLUQYO7+&eOIQQWO1G1yO&-RQWO1G1yO&*yQYO7+'VO&*yQYO7+%xOIQQWO7+'xO&-RQWO7+'xO&.nQWO'#EWO&.sQWO'#EWO&.{QWO'#EvO&/QQWO'#EcO&/VQWO'#JRO&/bQWO'#JPO&/mQWO,5:rO&/rQ#tO,5<OO&/yQWO'#FqO&0OQWO'#FqO&0TQWO,5<PO&0]QWO,5:rO&0eQ7^O1G0yO&0lQWO,5<_O&0qQWO,5<_O&0vQWO1G1kO&0{QWO1G0^O&1QQ#tO1G2^O&1XQ#tO1G2^O4TQWO'#FfO5bQWO'#FeOBtQWO'#EVOLUQYO,5;_O!)bQWO'#FsO!)bQWO'#FsOJaQWO,5<rOJaQWO,5<r", -+ stateData: "&2W~O'VOS'WOSSOSTOS~OPTOQTOWyO]cO^hOanObmOgcOiTOjcOkcOnTOpTOuROwcOxcOycO!PSO!ZkO!`UO!cTO!dTO!eTO!fTO!gTO!jlO#`sO#ppO#t^O$}qO%PtO%RrO%SrO%VuO%XvO%[wO%]wO%_xO%lzO%r{O%t|O%v}O%x!OO%{!PO&R!QO&V!RO&X!SO&Z!TO&]!UO&_!VO'YPO'cQO'oYO'|aO~OPZXYZX^ZXiZXrZXsZXuZX}ZX!]ZX!^ZX!`ZX!fZX!wZX#ScX#WZX#XZX#YZX#ZZX#[ZX#]ZX#^ZX#_ZX#aZX#cZX#eZX#fZX#kZX'TZX'cZX'pZX'wZX'xZX~O!X$jX~P$zO'Q!XO'R!WO'S!ZO~OPTOQTO]cOa!jOb!iOgcOiTOjcOkcOnTOpTOuROwcOxcOycO!P!bO!ZkO!`UO!cTO!dTO!eTO!fTO!gTO!j!hO#p!kO#t^O'Y![O'cQO'oYO'|aO~O|!`O}!]Oz'jPz'tP~P'dO!O!lO~P`OPTOQTO]cOa!jOb!iOgcOiTOjcOkcOnTOpTOuROwcOxcOycO!P!bO!ZkO!`UO!cTO!dTO!eTO!fTO!gTO!j!hO#p!kO#t^O'Y9XO'cQO'oYO'|aO~OPTOQTO]cOa!jOb!iOgcOiTOjcOkcOnTOpTOuROwcOxcOycO!P!bO!ZkO!`UO!cTO!dTO!eTO!fTO!gTO!j!hO#p!kO#t^O'cQO'oYO'|aO~O|!qO#Q!tO#R!qO'Y9YO!_'qP~P+{O#S!uO~O!X!vO#S!uO~OP#]OY#cOi#QOr!zOs!zOu!{O}#aO!]#SO!^!xO!`!yO!f#]O#W#OO#X#PO#Y#PO#Z#PO#[#RO#]#SO#^#SO#_#SO#a#TO#c#VO#e#XO#f#YO'cQO'p#ZO'w!|O'x!}O~O^'gX'T'gX!_'gXz'gX!P'gX%O'gX!X'gX~P.jO!w#dO#k#dOP'hXY'hX^'hXi'hXr'hXs'hXu'hX}'hX!]'hX!^'hX!`'hX!f'hX#W'hX#X'hX#Y'hX#Z'hX#['hX#]'hX#^'hX#a'hX#c'hX#e'hX#f'hX'c'hX'p'hX'w'hX'x'hX~O#_'hX'T'hXz'hX!_'hX'e'hX!P'hX%O'hX!X'hX~P0zO!w#dO~O#v#fO#x#eO$P#kO~O!P#lO#t^O$S#mO$U#oO~O]#rOg$POi#sOj#rOk#rOn$QOp$ROu#yO!P#zO!Z$WO!`#wO#R$XO#p$UO$]$SO$_$TO$b$VO'Y#qO'c#tO'^'`P~O!`$YO~O!X$[O~O^$]O'T$]O~O'Y$aO~O!`$YO'Y$aO'Z$cO'_$dO~Ob$jO!`$YO'Y$aO~O#_#SO~O]$sOr$oO!P$lO!`$nO%P$rO'Y$aO'Z$cO[(UP~O!j$tO~Ou$uO!P$vO'Y$aO~Ou$uO!P$vO%X$zO'Y$aO~O'Y${O~O#`sO%PtO%RrO%SrO%VuO%XvO%[wO%]wO~Oa%UOb%TO!j%RO$}%SO%a%QO~P7xOa%XObmO!P%WO!jlO#`sO$}qO%RrO%SrO%VuO%XvO%[wO%]wO%_xO~O_%[O!w%_O%P%YO'Z$cO~P8wO!`%`O!c%dO~O!`%eO~O!PSO~O^$]O'P%mO'T$]O~O^$]O'P%pO'T$]O~O^$]O'P%rO'T$]O~O'Q!XO'R!WO'S%vO~OPZXYZXiZXrZXsZXuZX}ZX}cX!]ZX!^ZX!`ZX!fZX!wZX!wcX#ScX#WZX#XZX#YZX#ZZX#[ZX#]ZX#^ZX#_ZX#aZX#cZX#eZX#fZX#kZX'cZX'pZX'wZX'xZX~OzZXzcX~P;dO|%xOz&eX}&eX~P){O}!]Oz'jX~OP#]OY#cOi#QOr!zOs!zOu!{O}!]O!]#SO!^!xO!`!yO!f#]O#W#OO#X#PO#Y#PO#Z#PO#[#RO#]#SO#^#SO#_#SO#a#TO#c#VO#e#XO#f#YO'cQO'p#ZO'w!|O'x!}O~Oz'jX~P>ZOz%}O~Ou&QO!S&[O!T&TO!U&TO'Z$cO~O]&ROj&RO|&UO'f&OO!O'kP!O'vP~P@^Oz'sX}'sX!X'sX!_'sX'p'sX~O!w'sX#S!{X!O'sX~PAVO!w&]Oz'uX}'uX~O}&^Oz'tX~Oz&`O~O!w#dO~PAVOR&dO!P&aO!k&cO'Y$aO~Ob&iO!`$YO'Y$aO~Or$oO!`$nO~O!O&jO~P`Or!zOs!zOu!{O!^!xO!`!yO'cQOP!baY!bai!ba}!ba!]!ba!f!ba#W!ba#X!ba#Y!ba#Z!ba#[!ba#]!ba#^!ba#_!ba#a!ba#c!ba#e!ba#f!ba'p!ba'w!ba'x!ba~O^!ba'T!baz!ba!_!ba'e!ba!P!ba%O!ba!X!ba~PC`O!_&kO~O!X!vO!w&mO'p&lO}'rX^'rX'T'rX~O!_'rX~PExO}&qO!_'qX~O!_&sO~Ou$uO!P$vO#R&tO'Y$aO~OPTOQTO]cOa!jOb!iOgcOiTOjcOkcOnTOpTOuROwcOxcOycO!PSO!ZkO!`UO!cTO!dTO!eTO!fTO!gTO!j!hO#p!kO#t^O'Y9XO'cQO'oYO'|aO~O]#rOg$POi#sOj#rOk#rOn$QOp9kOu#yO!P#zO!Z:nO!`#wO#R9qO#p$UO$]9mO$_9oO$b$VO'Y&xO'c#tO~O#S&zO~O]#rOg$POi#sOj#rOk#rOn$QOp$ROu#yO!P#zO!Z$WO!`#wO#R$XO#p$UO$]$SO$_$TO$b$VO'Y&xO'c#tO~O'^'mP~PJaO|'OO!_'nP~P){O'f'QO'oYO~OP9UOQ9UO]cOa:lOb!iOgcOi9UOjcOkcOn9UOp9UOuROwcOxcOycO!P!bO!Z9WO!`UO!c9UO!d9UO!e9UO!f9UO!g9UO!j!hO#p!kO#t^O'Y'`O'cQO'oYO'|:jO~O!`!yO~O}#aO^$Za'T$Za!_$Zaz$Za!P$Za%O$Za!X$Za~O#`'gO~PIQOr'jO!X'iO!P#wX#s#wX#v#wX#x#wX$P#wX~O!X'iO!P'yX#s'yX#v'yX#x'yX$P'yX~Or'jO~P! eOr'jO!P'yX#s'yX#v'yX#x'yX$P'yX~O!P'lO#s'pO#v'kO#x'kO$P'qO~O|'tO~PLUO#v#fO#x#eO$P'wO~Or$cXu$cX!^$cX'p$cX'w$cX'x$cX~OReX}eX!weX'^eX'^$cX~P!#ZOj'yO~O'Q'{O'R'zO'S'}O~Or(POu(QO'p#ZO'w(SO'x(UO~O'^(OO~P!$dO'^(XO~O]#rOg$POi#sOj#rOk#rOn$QOp9kOu#yO!P#zO!Z:nO!`#wO#R9qO#p$UO$]9mO$_9oO$b$VO'c#tO~O|(]O'Y(YO!_'}P~P!%RO#S(_O~O|(cO'Y(`Oz(OP~P!%RO^(lOi(qOu(iO!S(oO!T(hO!U(hO!`(fO!t(pO$u(kO'Z$cO'f(eO~O!O(nO~P!&yO!^!xOr'bXu'bX'p'bX'w'bX'x'bX}'bX!w'bX~O'^'bX#i'bX~P!'uOR(tO!w(sO}'aX'^'aX~O}(uO'^'`X~O'Y(wO~O!`(|O~O'Y&xO~O!`(fO~Ou$uO|!qO!P$vO#Q!tO#R!qO'Y$aO!_'qP~O!X!vO#S)QO~OP#]OY#cOi#QOr!zOs!zOu!{O!]#SO!^!xO!`!yO!f#]O#W#OO#X#PO#Y#PO#Z#PO#[#RO#]#SO#^#SO#_#SO#a#TO#c#VO#e#XO#f#YO'cQO'p#ZO'w!|O'x!}O~O^!Ya}!Ya'T!Yaz!Ya!_!Ya'e!Ya!P!Ya%O!Ya!X!Ya~P!*WOR)YO!P&aO!k)XO%O)WO'_$dO~O'Y${O'^'`P~O!X)]O!P']X^']X'T']X~O!`$YO'_$dO~O!`$YO'Y$aO'_$dO~O!X!vO#S&zO~O%P)iO'Y)eO!O(VP~O})jO[(UX~O'f'QO~OY)nO~O[)oO~O!P$lO'Y$aO'Z$cO[(UP~Ou$uO|)tO!P$vO'Y$aOz'tP~O]&XOj&XO|)uO'f'QO!O'vP~O})vO^(RX'T(RX~O!w)zO'_$dO~OR)}O!P#zO'_$dO~O!P*PO~Or*RO!PSO~O!j*WO~Ob*]O~O'Y(wO!O(TP~Ob$jO~O%PtO'Y${O~P8wOY*cO[*bO~OPTOQTO]cOanObmOgcOiTOjcOkcOnTOpTOuROwcOxcOycO!ZkO!`UO!cTO!dTO!eTO!fTO!gTO!jlO#t^O$}qO'cQO'oYO'|aO~O!P!bO#p!kO'Y9XO~P!1mO[*bO^$]O'T$]O~O^*gO#`*iO%R*iO%S*iO~P){O!`%`O~O%r*nO~O!P*pO~O&S*sO&T*rOP&QaQ&QaW&Qa]&Qa^&Qaa&Qab&Qag&Qai&Qaj&Qak&Qan&Qap&Qau&Qaw&Qax&Qay&Qa!P&Qa!Z&Qa!`&Qa!c&Qa!d&Qa!e&Qa!f&Qa!g&Qa!j&Qa#`&Qa#p&Qa#t&Qa$}&Qa%P&Qa%R&Qa%S&Qa%V&Qa%X&Qa%[&Qa%]&Qa%_&Qa%l&Qa%r&Qa%t&Qa%v&Qa%x&Qa%{&Qa&R&Qa&V&Qa&X&Qa&Z&Qa&]&Qa&_&Qa'O&Qa'Y&Qa'c&Qa'o&Qa'|&Qa!O&Qa%y&Qa_&Qa&O&Qa~O'Y*vO~O'e*yO~Oz&ea}&ea~P!*WO}!]Oz'ja~Oz'ja~P>ZO}&^Oz'ta~O}tX}!VX!OtX!O!VX!XtX!X!VX!`!VX!wtX'_!VX~O!X+QO!w+PO}#PX}'lX!O#PX!O'lX!X'lX!`'lX'_'lX~O!X+SO!`$YO'_$dO}!RX!O!RX~O]&POj&POu&QO'f(eO~OP9UOQ9UO]cOa:lOb!iOgcOi9UOjcOkcOn9UOp9UOuROwcOxcOycO!P!bO!Z9WO!`UO!c9UO!d9UO!e9UO!f9UO!g9UO!j!hO#p!kO#t^O'cQO'oYO'|:jO~O'Y9uO~P!;kO}+WO!O'kX~O!O+YO~O!X+QO!w+PO}#PX!O#PX~O}+ZO!O'vX~O!O+]O~O]&POj&POu&QO'Z$cO'f(eO~O!T+^O!U+^O~P!>iOu$uO|+aO!P$vO'Y$aOz&jX}&jX~O^+fO!S+iO!T+eO!U+eO!n+mO!o+kO!p+lO!q+jO!t+nO'Z$cO'f(eO'o+cO~O!O+hO~P!?jOR+sO!P&aO!k+rO~O!w+yO}'ra!_'ra^'ra'T'ra~O!X!vO~P!@tO}&qO!_'qa~Ou$uO|+|O!P$vO#Q,OO#R+|O'Y$aO}&lX!_&lX~O^!zi}!zi'T!ziz!zi!_!zi'e!zi!P!zi%O!zi!X!zi~P!*WO#S!va}!va!_!va!w!va!P!va^!va'T!vaz!va~P!$dO#S'bXP'bXY'bX^'bXi'bXs'bX!]'bX!`'bX!f'bX#W'bX#X'bX#Y'bX#Z'bX#['bX#]'bX#^'bX#_'bX#a'bX#c'bX#e'bX#f'bX'T'bX'c'bX!_'bXz'bX!P'bX'e'bX%O'bX!X'bX~P!'uO},XO'^'mX~P!$dO'^,ZO~O},[O!_'nX~P!*WO!_,_O~Oz,`O~OP#]Or!zOs!zOu!{O!^!xO!`!yO!f#]O'cQOY#Vi^#Vii#Vi}#Vi!]#Vi#X#Vi#Y#Vi#Z#Vi#[#Vi#]#Vi#^#Vi#_#Vi#a#Vi#c#Vi#e#Vi#f#Vi'T#Vi'p#Vi'w#Vi'x#Viz#Vi!_#Vi'e#Vi!P#Vi%O#Vi!X#Vi~O#W#Vi~P!FRO#W#OO~P!FROP#]Or!zOs!zOu!{O!^!xO!`!yO!f#]O#W#OO#X#PO#Y#PO#Z#PO'cQOY#Vi^#Vi}#Vi!]#Vi#[#Vi#]#Vi#^#Vi#_#Vi#a#Vi#c#Vi#e#Vi#f#Vi'T#Vi'p#Vi'w#Vi'x#Viz#Vi!_#Vi'e#Vi!P#Vi%O#Vi!X#Vi~Oi#Vi~P!HmOi#QO~P!HmOP#]Oi#QOr!zOs!zOu!{O!^!xO!`!yO!f#]O#W#OO#X#PO#Y#PO#Z#PO#[#RO'cQO^#Vi}#Vi#a#Vi#c#Vi#e#Vi#f#Vi'T#Vi'p#Vi'w#Vi'x#Viz#Vi!_#Vi'e#Vi!P#Vi%O#Vi!X#Vi~OY#Vi!]#Vi#]#Vi#^#Vi#_#Vi~P!KXOY#cO!]#SO#]#SO#^#SO#_#SO~P!KXOP#]OY#cOi#QOr!zOs!zOu!{O!]#SO!^!xO!`!yO!f#]O#W#OO#X#PO#Y#PO#Z#PO#[#RO#]#SO#^#SO#_#SO#a#TO'cQO^#Vi}#Vi#c#Vi#e#Vi#f#Vi'T#Vi'p#Vi'x#Viz#Vi!_#Vi'e#Vi!P#Vi%O#Vi!X#Vi~O'w#Vi~P!NPO'w!|O~P!NPOP#]OY#cOi#QOr!zOs!zOu!{O!]#SO!^!xO!`!yO!f#]O#W#OO#X#PO#Y#PO#Z#PO#[#RO#]#SO#^#SO#_#SO#a#TO#c#VO'cQO'w!|O^#Vi}#Vi#e#Vi#f#Vi'T#Vi'p#Viz#Vi!_#Vi'e#Vi!P#Vi%O#Vi!X#Vi~O'x#Vi~P#!kO'x!}O~P#!kOP#]OY#cOi#QOr!zOs!zOu!{O!]#SO!^!xO!`!yO!f#]O#W#OO#X#PO#Y#PO#Z#PO#[#RO#]#SO#^#SO#_#SO#a#TO#c#VO#e#XO'cQO'w!|O'x!}O~O^#Vi}#Vi#f#Vi'T#Vi'p#Viz#Vi!_#Vi'e#Vi!P#Vi%O#Vi!X#Vi~P#%VOPZXYZXiZXrZXsZXuZX!]ZX!^ZX!`ZX!fZX!wZX#ScX#WZX#XZX#YZX#ZZX#[ZX#]ZX#^ZX#_ZX#aZX#cZX#eZX#fZX#kZX'cZX'pZX'wZX'xZX}ZX!OZX~O#iZX~P#'jOP#]OY9iOi9^Or!zOs!zOu!{O!]9`O!^!xO!`!yO!f#]O#W9[O#X9]O#Y9]O#Z9]O#[9_O#]9`O#^9`O#_9`O#a9aO#c9cO#e9eO#f9fO'cQO'p#ZO'w!|O'x!}O~O#i,bO~P#)tOP'hXY'hXi'hXr'hXs'hXu'hX!]'hX!^'hX!`'hX!f'hX#W'hX#X'hX#Y'hX#Z'hX#['hX#]'hX#^'hX#a'hX#c'hX#e'hX#f'hX'c'hX'p'hX'w'hX'x'hX}'hX~O!w9jO#k9jO#_'hX#i'hX!O'hX~P#+oO^&oa}&oa'T&oa!_&oa'e&oaz&oa!P&oa%O&oa!X&oa~P!*WOP#ViY#Vi^#Vii#Vis#Vi}#Vi!]#Vi!^#Vi!`#Vi!f#Vi#W#Vi#X#Vi#Y#Vi#Z#Vi#[#Vi#]#Vi#^#Vi#_#Vi#a#Vi#c#Vi#e#Vi#f#Vi'T#Vi'c#Viz#Vi!_#Vi'e#Vi!P#Vi%O#Vi!X#Vi~P!$dO^#ji}#ji'T#jiz#ji!_#ji'e#ji!P#ji%O#ji!X#ji~P!*WO#v,dO#x,dO~O#v,eO#x,eO~O!X'iO!w,fO!P#|X#s#|X#v#|X#x#|X$P#|X~O|,gO~O!P'lO#s,iO#v'kO#x'kO$P,jO~O}9gO!O'gX~P#)tO!O,kO~O$P,mO~O'Q'{O'R'zO'S,pO~O],sOj,sOz,tO~O}cX!XcX!_cX!_$cX'pcX~P!#ZO!_,zO~P!$dO},{O!X!vO'p&lO!_'}X~O!_-QO~Oz$cX}$cX!X$jX~P!#ZO}-SOz(OX~P!$dO!X-UO~Oz-WO~O|(]O'Y$aO!_'}P~Oi-[O!X!vO!`$YO'_$dO'p&lO~O!X)]O~O!O-bO~P!&yO!T-cO!U-cO'Z$cO'f(eO~Ou-eO'f(eO~O!t-fO~O'Y${O}&tX'^&tX~O}(uO'^'`a~Or-kOs-kOu-lO'poa'woa'xoa}oa!woa~O'^oa#ioa~P#7POr(POu(QO'p$[a'w$[a'x$[a}$[a!w$[a~O'^$[a#i$[a~P#7uOr(POu(QO'p$^a'w$^a'x$^a}$^a!w$^a~O'^$^a#i$^a~P#8hO]-mO~O#S-nO~O'^$la}$la#i$la!w$la~P!$dO#S-qO~OR-zO!P&aO!k-yO%O-xO~O'^-{O~O]#rOi#sOj#rOk#rOn$QOp9kOu#yO!P#zO!Z:nO!`#wO#R9qO#p$UO$]9mO$_9oO$b$VO'c#tO~Og-}O'Y-|O~P#:_O!X)]O!P']a^']a'T']a~O#S.TO~OYZX}cX!OcX~O}.UO!O(VX~O!O.WO~OY.XO~O'Y)eO~O!P$lO'Y$aO[&|X}&|X~O})jO[(Ua~O!_.^O~P!*WO].`O~OY.aO~O[.bO~OR-zO!P&aO!k-yO%O-xO'_$dO~O})vO^(Ra'T(Ra~O!w.hO~OR.kO!P#zO~O'f'QO!O(SP~OR.uO!P.qO!k.tO%O.sO'_$dO~OY/PO}.}O!O(TX~O!O/QO~O[/SO^$]O'T$]O~O]/TO~O#_/VO%p/WO~P0zO!w#dO#_/VO%p/WO~O^/XO~P){O^/ZO~O%y/_OP%wiQ%wiW%wi]%wi^%wia%wib%wig%wii%wij%wik%win%wip%wiu%wiw%wix%wiy%wi!P%wi!Z%wi!`%wi!c%wi!d%wi!e%wi!f%wi!g%wi!j%wi#`%wi#p%wi#t%wi$}%wi%P%wi%R%wi%S%wi%V%wi%X%wi%[%wi%]%wi%_%wi%l%wi%r%wi%t%wi%v%wi%x%wi%{%wi&R%wi&V%wi&X%wi&Z%wi&]%wi&_%wi'O%wi'Y%wi'c%wi'o%wi'|%wi!O%wi_%wi&O%wi~O_/eO!O/cO&O/dO~P`O!PSO!`/hO~O}#aO'e$Za~Oz&ei}&ei~P!*WO}!]Oz'ji~O}&^Oz'ti~Oz/lO~O}!Ra!O!Ra~P#)tO]&POj&PO|/rO'f(eO}&fX!O&fX~P@^O}+WO!O'ka~O]&XOj&XO|)uO'f'QO}&kX!O&kX~O}+ZO!O'va~Oz'ui}'ui~P!*WO^$]O!X!vO!`$YO!f/}O!w/{O'T$]O'_$dO'p&lO~O!O0QO~P!?jO!T0RO!U0RO'Z$cO'f(eO'o+cO~O!S0SO~P#HXO!PSO!S0SO!q0UO!t0VO~P#HXO!S0SO!o0XO!p0XO!q0UO!t0VO~P#HXO!P&aO~O!P&aO~P!$dO}'ri!_'ri^'ri'T'ri~P!*WO!w0bO}'ri!_'ri^'ri'T'ri~O}&qO!_'qi~Ou$uO!P$vO#R0dO'Y$aO~O#SoaPoaYoa^oaioa!]oa!^oa!`oa!foa#Woa#Xoa#Yoa#Zoa#[oa#]oa#^oa#_oa#aoa#coa#eoa#foa'Toa'coa!_oazoa!Poa'eoa%Ooa!Xoa~P#7PO#S$[aP$[aY$[a^$[ai$[as$[a!]$[a!^$[a!`$[a!f$[a#W$[a#X$[a#Y$[a#Z$[a#[$[a#]$[a#^$[a#_$[a#a$[a#c$[a#e$[a#f$[a'T$[a'c$[a!_$[az$[a!P$[a'e$[a%O$[a!X$[a~P#7uO#S$^aP$^aY$^a^$^ai$^as$^a!]$^a!^$^a!`$^a!f$^a#W$^a#X$^a#Y$^a#Z$^a#[$^a#]$^a#^$^a#_$^a#a$^a#c$^a#e$^a#f$^a'T$^a'c$^a!_$^az$^a!P$^a'e$^a%O$^a!X$^a~P#8hO#S$laP$laY$la^$lai$las$la}$la!]$la!^$la!`$la!f$la#W$la#X$la#Y$la#Z$la#[$la#]$la#^$la#_$la#a$la#c$la#e$la#f$la'T$la'c$la!_$laz$la!P$la!w$la'e$la%O$la!X$la~P!$dO^!zq}!zq'T!zqz!zq!_!zq'e!zq!P!zq%O!zq!X!zq~P!*WO}&gX'^&gX~PJaO},XO'^'ma~O|0lO}&hX!_&hX~P){O},[O!_'na~O},[O!_'na~P!*WO#i!ba!O!ba~PC`O#i!Ya}!Ya!O!Ya~P#)tO!P1PO#t^O#}1QO~O!O1UO~O'e1VO~P!$dO^$Wq}$Wq'T$Wqz$Wq!_$Wq'e$Wq!P$Wq%O$Wq!X$Wq~P!*WOz1WO~O],sOj,sO~Or(POu(QO'x(UO'p$vi'w$vi}$vi!w$vi~O'^$vi#i$vi~P$(xOr(POu(QO'p$xi'w$xi'x$xi}$xi!w$xi~O'^$xi#i$xi~P$)kO#i1XO~P!$dO|1ZO'Y$aO}&pX!_&pX~O},{O!_'}a~O},{O!X!vO!_'}a~O},{O!X!vO'p&lO!_'}a~O'^$ei}$ei#i$ei!w$ei~P!$dO|1bO'Y(`Oz&rX}&rX~P!%RO}-SOz(Oa~O}-SOz(Oa~P!$dO!X!vO~O!X!vO#_1lO~Oi1pO!X!vO'p&lO~O}'ai'^'ai~P!$dO!w1sO}'ai'^'ai~P!$dO!_1vO~O^$Xq}$Xq'T$Xqz$Xq!_$Xq'e$Xq!P$Xq%O$Xq!X$Xq~P!*WO}1zO!P(PX~P!$dO!P&aO%O1}O~O!P&aO%O1}O~P!$dO!P$cX$sZX^$cX'T$cX~P!#ZO$s2ROrfXufX!PfX'pfX'wfX'xfX^fX'TfX~O$s2RO~O%P2YO'Y)eO}&{X!O&{X~O}.UO!O(Va~OY2^O~O[2_O~O]2bO~OR2dO!P&aO!k2cO%O1}O~O^$]O'T$]O~P!$dO!P#zO~P!$dO}2iO!w2kO!O(SX~O!O2lO~Ou(iO!S2uO!T2nO!U2nO!n2tO!o2sO!p2sO!t2rO'Z$cO'f(eO'o+cO~O!O2qO~P$1yOR2|O!P.qO!k2{O%O2zO~OR2|O!P.qO!k2{O%O2zO'_$dO~O'Y(wO}&zX!O&zX~O}.}O!O(Ta~O'f3VO~O]3XO~O[3ZO~O!_3^O~P){O^3`O~O^3`O~P){O#_3bO%p3cO~PExO_/eO!O3gO&O/dO~P`O!X3iO~O&T3jOP&QqQ&QqW&Qq]&Qq^&Qqa&Qqb&Qqg&Qqi&Qqj&Qqk&Qqn&Qqp&Qqu&Qqw&Qqx&Qqy&Qq!P&Qq!Z&Qq!`&Qq!c&Qq!d&Qq!e&Qq!f&Qq!g&Qq!j&Qq#`&Qq#p&Qq#t&Qq$}&Qq%P&Qq%R&Qq%S&Qq%V&Qq%X&Qq%[&Qq%]&Qq%_&Qq%l&Qq%r&Qq%t&Qq%v&Qq%x&Qq%{&Qq&R&Qq&V&Qq&X&Qq&Z&Qq&]&Qq&_&Qq'O&Qq'Y&Qq'c&Qq'o&Qq'|&Qq!O&Qq%y&Qq_&Qq&O&Qq~O}#Pi!O#Pi~P#)tO!w3lO}#Pi!O#Pi~O}!Ri!O!Ri~P#)tO^$]O!w3sO'T$]O~O^$]O!X!vO!w3sO'T$]O~O!T3wO!U3wO'Z$cO'f(eO'o+cO~O^$]O!X!vO!`$YO!f3xO!w3sO'T$]O'_$dO'p&lO~O!S3yO~P$:cO!S3yO!q3|O!t3}O~P$:cO^$]O!X!vO!f3xO!w3sO'T$]O'p&lO~O}'rq!_'rq^'rq'T'rq~P!*WO}&qO!_'qq~O#S$viP$viY$vi^$vii$vis$vi!]$vi!^$vi!`$vi!f$vi#W$vi#X$vi#Y$vi#Z$vi#[$vi#]$vi#^$vi#_$vi#a$vi#c$vi#e$vi#f$vi'T$vi'c$vi!_$viz$vi!P$vi'e$vi%O$vi!X$vi~P$(xO#S$xiP$xiY$xi^$xii$xis$xi!]$xi!^$xi!`$xi!f$xi#W$xi#X$xi#Y$xi#Z$xi#[$xi#]$xi#^$xi#_$xi#a$xi#c$xi#e$xi#f$xi'T$xi'c$xi!_$xiz$xi!P$xi'e$xi%O$xi!X$xi~P$)kO#S$eiP$eiY$ei^$eii$eis$ei}$ei!]$ei!^$ei!`$ei!f$ei#W$ei#X$ei#Y$ei#Z$ei#[$ei#]$ei#^$ei#_$ei#a$ei#c$ei#e$ei#f$ei'T$ei'c$ei!_$eiz$ei!P$ei!w$ei'e$ei%O$ei!X$ei~P!$dO}&ga'^&ga~P!$dO}&ha!_&ha~P!*WO},[O!_'ni~O#i!zi}!zi!O!zi~P#)tOP#]Or!zOs!zOu!{O!^!xO!`!yO!f#]O'cQOY#Vii#Vi!]#Vi#X#Vi#Y#Vi#Z#Vi#[#Vi#]#Vi#^#Vi#_#Vi#a#Vi#c#Vi#e#Vi#f#Vi#i#Vi'p#Vi'w#Vi'x#Vi}#Vi!O#Vi~O#W#Vi~P$CyO#W9[O~P$CyOP#]Or!zOs!zOu!{O!^!xO!`!yO!f#]O#W9[O#X9]O#Y9]O#Z9]O'cQOY#Vi!]#Vi#[#Vi#]#Vi#^#Vi#_#Vi#a#Vi#c#Vi#e#Vi#f#Vi#i#Vi'p#Vi'w#Vi'x#Vi}#Vi!O#Vi~Oi#Vi~P$FROi9^O~P$FROP#]Oi9^Or!zOs!zOu!{O!^!xO!`!yO!f#]O#W9[O#X9]O#Y9]O#Z9]O#[9_O'cQO#a#Vi#c#Vi#e#Vi#f#Vi#i#Vi'p#Vi'w#Vi'x#Vi}#Vi!O#Vi~OY#Vi!]#Vi#]#Vi#^#Vi#_#Vi~P$HZOY9iO!]9`O#]9`O#^9`O#_9`O~P$HZOP#]OY9iOi9^Or!zOs!zOu!{O!]9`O!^!xO!`!yO!f#]O#W9[O#X9]O#Y9]O#Z9]O#[9_O#]9`O#^9`O#_9`O#a9aO'cQO#c#Vi#e#Vi#f#Vi#i#Vi'p#Vi'x#Vi}#Vi!O#Vi~O'w#Vi~P$JoO'w!|O~P$JoOP#]OY9iOi9^Or!zOs!zOu!{O!]9`O!^!xO!`!yO!f#]O#W9[O#X9]O#Y9]O#Z9]O#[9_O#]9`O#^9`O#_9`O#a9aO#c9cO'cQO'w!|O#e#Vi#f#Vi#i#Vi'p#Vi}#Vi!O#Vi~O'x#Vi~P$LwO'x!}O~P$LwOP#]OY9iOi9^Or!zOs!zOu!{O!]9`O!^!xO!`!yO!f#]O#W9[O#X9]O#Y9]O#Z9]O#[9_O#]9`O#^9`O#_9`O#a9aO#c9cO#e9eO'cQO'w!|O'x!}O~O#f#Vi#i#Vi'p#Vi}#Vi!O#Vi~P% PO^#gy}#gy'T#gyz#gy!_#gy'e#gy!P#gy%O#gy!X#gy~P!*WOP#ViY#Vii#Vis#Vi!]#Vi!^#Vi!`#Vi!f#Vi#W#Vi#X#Vi#Y#Vi#Z#Vi#[#Vi#]#Vi#^#Vi#_#Vi#a#Vi#c#Vi#e#Vi#f#Vi#i#Vi'c#Vi}#Vi!O#Vi~P!$dO!^!xOP'bXY'bXi'bXr'bXs'bXu'bX!]'bX!`'bX!f'bX#W'bX#X'bX#Y'bX#Z'bX#['bX#]'bX#^'bX#_'bX#a'bX#c'bX#e'bX#f'bX#i'bX'c'bX'p'bX'w'bX'x'bX}'bX!O'bX~O#i#ji}#ji!O#ji~P#)tO!O4_O~O}&oa!O&oa~P#)tO!X!vO'p&lO}&pa!_&pa~O},{O!_'}i~O},{O!X!vO!_'}i~Oz&ra}&ra~P!$dO!X4fO~O}-SOz(Oi~P!$dO}-SOz(Oi~Oz4lO~O!X!vO#_4rO~Oi4sO!X!vO'p&lO~Oz4uO~O'^$gq}$gq#i$gq!w$gq~P!$dO^$Xy}$Xy'T$Xyz$Xy!_$Xy'e$Xy!P$Xy%O$Xy!X$Xy~P!*WO}1zO!P(Pa~O!P&aO%O4zO~O!P&aO%O4zO~P!$dO^!zy}!zy'T!zyz!zy!_!zy'e!zy!P!zy%O!zy!X!zy~P!*WOY4}O~O}.UO!O(Vi~O]5SO~O[5TO~O'f'QO}&wX!O&wX~O}2iO!O(Sa~O!O5bO~P$1yOu-eO'f(eO'o+cO~O!S5eO!T5dO!U5dO!t0VO'Z$cO'f(eO'o+cO~O!o5fO!p5fO~P%-iO!T5dO!U5dO'Z$cO'f(eO'o+cO~O!P.qO~O!P.qO%O5hO~O!P.qO%O5hO~P!$dOR5mO!P.qO!k5lO%O5hO~OY5rO}&za!O&za~O}.}O!O(Ti~O]5uO~O!_5vO~O!_5wO~O!_5xO~O!_5xO~P){O^5zO~O!X5}O~O!_6PO~O}'ui!O'ui~P#)tO^$]O'T$]O~P!*WO^$]O!w6UO'T$]O~O^$]O!X!vO!w6UO'T$]O~O!T6ZO!U6ZO'Z$cO'f(eO'o+cO~O^$]O!X!vO!f6[O!w6UO'T$]O'p&lO~O!`$YO'_$dO~P%2TO!S6]O~P%1rO}'ry!_'ry^'ry'T'ry~P!*WO#S$gqP$gqY$gq^$gqi$gqs$gq}$gq!]$gq!^$gq!`$gq!f$gq#W$gq#X$gq#Y$gq#Z$gq#[$gq#]$gq#^$gq#_$gq#a$gq#c$gq#e$gq#f$gq'T$gq'c$gq!_$gqz$gq!P$gq!w$gq'e$gq%O$gq!X$gq~P!$dO}&hi!_&hi~P!*WO#i!zq}!zq!O!zq~P#)tOr-kOs-kOu-lOPoaYoaioa!]oa!^oa!`oa!foa#Woa#Xoa#Yoa#Zoa#[oa#]oa#^oa#_oa#aoa#coa#eoa#foa#ioa'coa'poa'woa'xoa}oa!Ooa~Or(POu(QOP$[aY$[ai$[as$[a!]$[a!^$[a!`$[a!f$[a#W$[a#X$[a#Y$[a#Z$[a#[$[a#]$[a#^$[a#_$[a#a$[a#c$[a#e$[a#f$[a#i$[a'c$[a'p$[a'w$[a'x$[a}$[a!O$[a~Or(POu(QOP$^aY$^ai$^as$^a!]$^a!^$^a!`$^a!f$^a#W$^a#X$^a#Y$^a#Z$^a#[$^a#]$^a#^$^a#_$^a#a$^a#c$^a#e$^a#f$^a#i$^a'c$^a'p$^a'w$^a'x$^a}$^a!O$^a~OP$laY$lai$las$la!]$la!^$la!`$la!f$la#W$la#X$la#Y$la#Z$la#[$la#]$la#^$la#_$la#a$la#c$la#e$la#f$la#i$la'c$la}$la!O$la~P!$dO#i$Wq}$Wq!O$Wq~P#)tO#i$Xq}$Xq!O$Xq~P#)tO!O6gO~O'^$zy}$zy#i$zy!w$zy~P!$dO!X!vO}&pi!_&pi~O!X!vO'p&lO}&pi!_&pi~O},{O!_'}q~Oz&ri}&ri~P!$dO}-SOz(Oq~Oz6nO~P!$dOz6nO~O}'ay'^'ay~P!$dO}&ua!P&ua~P!$dO!P$rq^$rq'T$rq~P!$dOY6vO~O}.UO!O(Vq~O]6yO~O!P&aO%O6zO~O!P&aO%O6zO~P!$dO!w6{O}&wa!O&wa~O}2iO!O(Si~P#)tO!T7RO!U7RO'Z$cO'f(eO'o+cO~O!S7TO!t3}O~P%ArO!P.qO%O7WO~O!P.qO%O7WO~P!$dO'f7^O~O}.}O!O(Tq~O!_7aO~O!_7aO~P){O!_7cO~O!_7dO~O}#Py!O#Py~P#)tO^$]O!w7jO'T$]O~O^$]O!X!vO!w7jO'T$]O~O!T7mO!U7mO'Z$cO'f(eO'o+cO~O^$]O!X!vO!f7nO!w7jO'T$]O'p&lO~O#S$zyP$zyY$zy^$zyi$zys$zy}$zy!]$zy!^$zy!`$zy!f$zy#W$zy#X$zy#Y$zy#Z$zy#[$zy#]$zy#^$zy#_$zy#a$zy#c$zy#e$zy#f$zy'T$zy'c$zy!_$zyz$zy!P$zy!w$zy'e$zy%O$zy!X$zy~P!$dO#i#gy}#gy!O#gy~P#)tOP$eiY$eii$eis$ei!]$ei!^$ei!`$ei!f$ei#W$ei#X$ei#Y$ei#Z$ei#[$ei#]$ei#^$ei#_$ei#a$ei#c$ei#e$ei#f$ei#i$ei'c$ei}$ei!O$ei~P!$dOr(POu(QO'x(UOP$viY$vii$vis$vi!]$vi!^$vi!`$vi!f$vi#W$vi#X$vi#Y$vi#Z$vi#[$vi#]$vi#^$vi#_$vi#a$vi#c$vi#e$vi#f$vi#i$vi'c$vi'p$vi'w$vi}$vi!O$vi~Or(POu(QOP$xiY$xii$xis$xi!]$xi!^$xi!`$xi!f$xi#W$xi#X$xi#Y$xi#Z$xi#[$xi#]$xi#^$xi#_$xi#a$xi#c$xi#e$xi#f$xi#i$xi'c$xi'p$xi'w$xi'x$xi}$xi!O$xi~O#i$Xy}$Xy!O$Xy~P#)tO#i!zy}!zy!O!zy~P#)tO!X!vO}&pq!_&pq~O},{O!_'}y~Oz&rq}&rq~P!$dOz7tO~P!$dO}.UO!O(Vy~O}2iO!O(Sq~O!T8QO!U8QO'Z$cO'f(eO'o+cO~O!P.qO%O8TO~O!P.qO%O8TO~P!$dO!_8WO~O&T8XOP&Q!ZQ&Q!ZW&Q!Z]&Q!Z^&Q!Za&Q!Zb&Q!Zg&Q!Zi&Q!Zj&Q!Zk&Q!Zn&Q!Zp&Q!Zu&Q!Zw&Q!Zx&Q!Zy&Q!Z!P&Q!Z!Z&Q!Z!`&Q!Z!c&Q!Z!d&Q!Z!e&Q!Z!f&Q!Z!g&Q!Z!j&Q!Z#`&Q!Z#p&Q!Z#t&Q!Z$}&Q!Z%P&Q!Z%R&Q!Z%S&Q!Z%V&Q!Z%X&Q!Z%[&Q!Z%]&Q!Z%_&Q!Z%l&Q!Z%r&Q!Z%t&Q!Z%v&Q!Z%x&Q!Z%{&Q!Z&R&Q!Z&V&Q!Z&X&Q!Z&Z&Q!Z&]&Q!Z&_&Q!Z'O&Q!Z'Y&Q!Z'c&Q!Z'o&Q!Z'|&Q!Z!O&Q!Z%y&Q!Z_&Q!Z&O&Q!Z~O^$]O!w8^O'T$]O~O^$]O!X!vO!w8^O'T$]O~OP$gqY$gqi$gqs$gq!]$gq!^$gq!`$gq!f$gq#W$gq#X$gq#Y$gq#Z$gq#[$gq#]$gq#^$gq#_$gq#a$gq#c$gq#e$gq#f$gq#i$gq'c$gq}$gq!O$gq~P!$dO}&wq!O&wq~P#)tO^$]O!w8sO'T$]O~OP$zyY$zyi$zys$zy!]$zy!^$zy!`$zy!f$zy#W$zy#X$zy#Y$zy#Z$zy#[$zy#]$zy#^$zy#_$zy#a$zy#c$zy#e$zy#f$zy#i$zy'c$zy}$zy!O$zy~P!$dO'e'gX~P.jO'eZXzZX!_ZX%pZX!PZX%OZX!XZX~P$zO!XcX!_ZX!_cX'pcX~P;dOP9UOQ9UO]cOa:lOb!iOgcOi9UOjcOkcOn9UOp9UOuROwcOxcOycO!PSO!Z9WO!`UO!c9UO!d9UO!e9UO!f9UO!g9UO!j!hO#p!kO#t^O'Y'`O'cQO'oYO'|:jO~O}9gO!O$Za~O]#rOg$POi#sOj#rOk#rOn$QOp9lOu#yO!P#zO!Z:oO!`#wO#R9rO#p$UO$]9nO$_9pO$b$VO'Y&xO'c#tO~O#`'gO~P&-RO!OZX!OcX~P;dO#S9ZO~O!X!vO#S9ZO~O!w9jO~O#_9`O~O!w9sO}'uX!O'uX~O!w9jO}'sX!O'sX~O#S9tO~O'^9vO~P!$dO#S9{O~O#S9|O~O!X!vO#S9}O~O!X!vO#S9tO~O#i:OO~P#)tO#S:PO~O#S:QO~O#S:RO~O#S:SO~O#i:TO~P!$dO#i:UO~P!$dO#t~!^!n!p!q#Q#R'|$]$_$b$s$}%O%P%V%X%[%]%_%a~TS#t'|#Xy'V'W'f'W'Y#v#x#v~", -+ goto: "#Dq(ZPPPPPPP([P(lP*`PPPP-uPP.[3l5`5sP5sPPP5s5sP5sP7aPP7fP7zPPPP<ZPPPP<Z>yPPP?PA[P<ZPCuPPPPEm<ZPPPPPGf<ZPPJeKbPPPPKfMOPMWNXPKb<Z<Z!#`!&X!*x!*x!.VPPP!.^!1Q<ZPPPPPPPPPP!3uP!5WPP<Z!6eP<ZP<Z<Z<Z<ZP<Z!8xPP!;oP!>bP!>f!>n!>r!>rP!;lP!>v!>vP!AiP!Am<Z<Z!As!De5sP5sP5s5sP!Eh5s5s!G`5s!Ib5s!KS5s5s!Kp!Mj!Mj!Mn!Mj!MvP!MjP5s!Nr5s# |5s5s-uPPP##ZPP##s##sP##sP#$Y##sPP#$`P#$VP#$V#$rMS#$V#%a#%g#%j([#%m([P#%t#%t#%tP([P([P([P([PP([P#%z#%}P#%}([PPP([P([P([P([P([P([([#&R#&]#&c#&i#&w#&}#'T#'_#'e#'o#'u#(T#(Z#(a#(o#)U#*h#*v#*|#+S#+Y#+`#+j#+p#+v#,Q#,d#,jPPPPPPPPP#,pPP#-d#1bPP#2x#3P#3XP#7ePP#7i#9|#?v#?z#?}#@Q#@]#@`PP#@c#@g#AU#Ay#A}#BaPP#Be#Bk#BoP#Br#Bv#By#Ci#DP#DU#DX#D[#Db#De#Di#DmmhOSj}!m$[%c%f%g%i*k*p/_/bQ$imQ$ppQ%ZyS&T!b+WQ&h!iS(h#z(mQ)c$jQ)p$rQ*[%TQ+^&[S+e&a+gQ+w&iQ-c(oQ.|*]Y0R+i+j+k+l+mS2n.q2pU3w0S0U0XU5d2s2t2uS6Z3y3|S7R5e5fQ7m6]R8Q7T$l[ORSTUjk}!S!W!]!`!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#a#d$[$n%[%_%c%e%f%g%i%m%x&Q&]&c&m&z'O(O)Q)X*g*k*p+r+y,[,b-l-q-y.T.t/V/W/X/Z/_/b/d/{0b0l2c2{3`3b3c3s5l5z6U7j8^8s!j'b#[#l&U't+P+S,g/r1P2k3l6{9U9W9Z9[9]9^9_9`9a9b9c9d9e9f9g9j9s9t9v9}:O:R:S:mQ(x$RQ)h$lQ*^%WQ*e%`Q,R9kQ.O)]Q.Z)iQ/U*cQ2X.UQ3T.}Q4W9lR5P2YpeOSjy}!m$[%Y%c%f%g%i*k*p/_/bR*`%[&WVOSTjkn}!S!W!]!j!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#[#a#d#l$[$n%[%_%`%c%e%f%g%i%m%x&Q&]&c&m&z'O't(O)Q)X*g*k*p+P+S+r+y,[,b,g-l-q-y.T.t/V/W/X/Z/_/b/d/r/{0b0l1P2c2k2{3`3b3c3l3s5l5z6U6{7j8^8s9U9W9Z9[9]9^9_9`9a9b9c9d9e9f9g9j9s9t9v9}:O:R:S:l:mW!cRU!`&UQ$blQ$hmS$mp$rv$wrs!q!t$Y$u&^&q&t)t)u)v*i+Q+a+|,O/h0dQ%PwQ&e!hQ&g!iS([#w(fS)b$i$jQ)f$lQ)s$tQ*V%RQ*Z%TS+v&h&iQ-P(]Q.S)cQ.Y)iQ.[)jQ._)nQ.w*WS.{*[*]Q0`+wQ1Y,{Q2W.UQ2[.XQ2a.aQ3S.|Q4c1ZQ5O2YQ5R2^Q6u4}R7w6v!Y$fm!i$h$i$j&S&g&h&i(g)b)c+T+d+v+w-].S/w0O0T0`1o3v3{6X7k8_Q)Z$bQ){$|Q*O$}Q*Y%TQ.c)sQ.v*VU.z*Z*[*]Q2}.wS3R.{.|Q5_2mQ5q3SS7P5`5cS8O7Q7SQ8i8PR8x8jW#}a$d(u:jS$|t%YQ$}uQ%OvR)y$z$V#|a!v!x#c#w#y$S$T$X&d'z(T(V(W(_(c(s(t)W)Y)])z)}+s,X-S-U-n-x-z.h.k.s.u1X1b1l1s1z1}2R2d2z2|4f4r4z5h5m6z7W8T9i9m9n9o9p9q9r9w9x9y9z9{9|:P:Q:T:U:j:p:qV(y$R9k9lU&X!b$v+ZQ'R!zQ)m$oQ.l*PQ1t-kR5Z2i&YcORSTUjk}!S!W!]!`!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#[#a#d#l$[$n%[%_%`%c%e%f%g%i%m%x&Q&U&]&c&m&z'O't(O)Q)X*g*k*p+P+S+r+y,[,b,g-l-q-y.T.t/V/W/X/Z/_/b/d/r/{0b0l1P2c2k2{3`3b3c3l3s5l5z6U6{7j8^8s9U9W9Z9[9]9^9_9`9a9b9c9d9e9f9g9j9s9t9v9}:O:R:S:m$]#`Z!_!n$`%w%{&v&}'T'U'V'W'X'Y'Z'[']'^'_'a'd'h'r)l*{+U+_+x,W,^,a,c,q-o/m/p0a0k0o0p0q0r0s0t0u0v0w0x0y0z0{1O1T1x2U3n3q4R4U4V4[4]5]6Q6T6a6e6f7g7z8[8q8|9V:c&ZcORSTUjk}!S!W!]!`!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#[#a#d#l$[$n%[%_%`%c%e%f%g%i%m%x&Q&U&]&c&m&z'O't(O)Q)X*g*k*p+P+S+r+y,[,b,g-l-q-y.T.t/V/W/X/Z/_/b/d/r/{0b0l1P2c2k2{3`3b3c3l3s5l5z6U6{7j8^8s9U9W9Z9[9]9^9_9`9a9b9c9d9e9f9g9j9s9t9v9}:O:R:S:mQ&V!bR/s+WY&P!b&T&[+W+^S(g#z(mS+d&a+gS-](h(oQ-^(iQ-d(pQ.n*RU0O+e+i+jU0T+k+l+mS0Y+n2rQ1o-cQ1q-eQ1r-fS2m.q2pU3v0R0S0UQ3z0VQ3{0XS5`2n2uS5c2s2tU6X3w3y3|Q6^3}S7Q5d5eQ7S5fS7k6Z6]S8P7R7TQ8_7mR8j8QlhOSj}!m$[%c%f%g%i*k*p/_/bQ%k!QS&u!u9ZQ)`$gQ*T%PQ*U%QQ+t&fS,V&z9tS-p)Q9}Q.Q)aQ.p*SQ/f*rQ/g*sQ/o+RQ0W+kQ0^+uS1y-q:RQ2S.RS2V.T:SQ3m/qQ3p/yQ4P0_Q4|2TQ6O3jQ6R3oQ6V3uQ6_4QQ7e6PQ7h6WQ8Z7iQ8n8XQ8p8]R8{8r$W#_Z!_!n%w%{&v&}'T'U'V'W'X'Y'Z'[']'^'_'a'd'h'r)l*{+U+_+x,W,^,a,q-o/m/p0a0k0o0p0q0r0s0t0u0v0w0x0y0z0{1O1T1x2U3n3q4R4U4V4[4]5]6Q6T6a6e6f7g7z8[8q8|9V:cU(r#{&y0}T)U$`,c$W#^Z!_!n%w%{&v&}'T'U'V'W'X'Y'Z'[']'^'_'a'd'h'r)l*{+U+_+x,W,^,a,q-o/m/p0a0k0o0p0q0r0s0t0u0v0w0x0y0z0{1O1T1x2U3n3q4R4U4V4[4]5]6Q6T6a6e6f7g7z8[8q8|9V:cQ'c#_S)T$`,cR-r)U&YcORSTUjk}!S!W!]!`!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#[#a#d#l$[$n%[%_%`%c%e%f%g%i%m%x&Q&U&]&c&m&z'O't(O)Q)X*g*k*p+P+S+r+y,[,b,g-l-q-y.T.t/V/W/X/Z/_/b/d/r/{0b0l1P2c2k2{3`3b3c3l3s5l5z6U6{7j8^8s9U9W9Z9[9]9^9_9`9a9b9c9d9e9f9g9j9s9t9v9}:O:R:S:mQ%f{Q%g|Q%i!OQ%j!PR/^*nQ&b!hQ)V$bQ+q&eS-w)Z)sS0Z+o+pW1|-t-u-v.cS4O0[0]U4y2O2P2QU6s4x5V5WQ7v6tR8e7yT+f&a+gS+d&a+gU0O+e+i+jU0T+k+l+mS0Y+n2rS2m.q2pU3v0R0S0UQ3z0VQ3{0XS5`2n2uS5c2s2tU6X3w3y3|Q6^3}S7Q5d5eQ7S5fS7k6Z6]S8P7R7TQ8_7mR8j8QS+f&a+gT2o.q2pS&o!p/[Q-O([Q-Z(gS/}+d2mQ1_-PS1i-[-dU3x0T0Y5cQ4b1YS4p1p1rU6[3z3{7SQ6i4cQ6r4sR7n6^Q!wXS&n!p/[Q)R$ZQ)^$eQ)d$kQ+z&oQ,}([Q-Y(gQ-_(jQ.P)_Q.x*XS/|+d2mS1^-O-PS1h-Z-dQ1k-^Q1n-`Q3P.yW3t/}0T0Y5cQ4a1YQ4e1_S4j1i1rQ4q1qQ5o3QW6Y3x3z3{7SS6h4b4cQ6m4lQ6p4pQ6}5^Q7[5pS7l6[6^Q7p6iQ7r6nQ7u6rQ7|7OQ8V7]Q8`7nQ8c7tQ8g7}Q8v8hQ9O8wQ9S9PQ:]:WQ:f:aR:g:b$nWORSTUjk}!S!W!]!`!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#a#d$[$n%[%_%`%c%e%f%g%i%m%x&Q&]&c&m&z'O(O)Q)X*g*k*p+r+y,[,b-l-q-y.T.t/V/W/X/Z/_/b/d/{0b0l2c2{3`3b3c3s5l5z6U7j8^8sS!wn!j!j:V#[#l&U't+P+S,g/r1P2k3l6{9U9W9Z9[9]9^9_9`9a9b9c9d9e9f9g9j9s9t9v9}:O:R:S:mR:]:l$nXORSTUjk}!S!W!]!`!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#a#d$[$n%[%_%`%c%e%f%g%i%m%x&Q&]&c&m&z'O(O)Q)X*g*k*p+r+y,[,b-l-q-y.T.t/V/W/X/Z/_/b/d/{0b0l2c2{3`3b3c3s5l5z6U7j8^8sQ$Zb!Y$em!i$h$i$j&S&g&h&i(g)b)c+T+d+v+w-].S/w0O0T0`1o3v3{6X7k8_S$kn!jQ)_$fQ*X%TW.y*Y*Z*[*]U3Q.z.{.|Q5^2mS5p3R3SU7O5_5`5cQ7]5qU7}7P7Q7SS8h8O8PS8w8i8jQ9P8x!j:W#[#l&U't+P+S,g/r1P2k3l6{9U9W9Z9[9]9^9_9`9a9b9c9d9e9f9g9j9s9t9v9}:O:R:S:mQ:a:kR:b:l$f]OSTjk}!S!W!]!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#a#d$[$n%[%_%c%e%f%g%i%m%x&Q&]&c&m&z'O(O)Q)X*g*k*p+r+y,[,b-l-q-y.T.t/V/W/X/Z/_/b/d/{0b0l2c2{3`3b3c3s5l5z6U7j8^8sU!gRU!`v$wrs!q!t$Y$u&^&q&t)t)u)v*i+Q+a+|,O/h0dQ*f%`!h:X#[#l't+P+S,g/r1P2k3l6{9U9W9Z9[9]9^9_9`9a9b9c9d9e9f9g9j9s9t9v9}:O:R:S:mR:[&US&Y!b$vR/u+Z$l[ORSTUjk}!S!W!]!`!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#a#d$[$n%[%_%c%e%f%g%i%m%x&Q&]&c&m&z'O(O)Q)X*g*k*p+r+y,[,b-l-q-y.T.t/V/W/X/Z/_/b/d/{0b0l2c2{3`3b3c3s5l5z6U7j8^8s!j'b#[#l&U't+P+S,g/r1P2k3l6{9U9W9Z9[9]9^9_9`9a9b9c9d9e9f9g9j9s9t9v9}:O:R:S:mR*e%`$noORSTUjk}!S!W!]!`!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#a#d$[$n%[%_%`%c%e%f%g%i%m%x&Q&]&c&m&z'O(O)Q)X*g*k*p+r+y,[,b-l-q-y.T.t/V/W/X/Z/_/b/d/{0b0l2c2{3`3b3c3s5l5z6U7j8^8sQ'R!z!k:Y#[#l&U't+P+S,g/r1P2k3l6{9U9W9Z9[9]9^9_9`9a9b9c9d9e9f9g9j9s9t9v9}:O:R:S:m!h#UZ!_$`%w%{&v&}'[']'^'_'d'h)l*{+_+x,W,^,q-o0a0k0{1x2U3q4R4U6T7g8[8q8|9V!R9b'a'r+U,c/m/p0o0w0x0y0z1O1T3n4V4[4]5]6Q6a6e6f7z:c!d#WZ!_$`%w%{&v&}'^'_'d'h)l*{+_+x,W,^,q-o0a0k0{1x2U3q4R4U6T7g8[8q8|9V}9d'a'r+U,c/m/p0o0y0z1O1T3n4V4[4]5]6Q6a6e6f7z:c!`#[Z!_$`%w%{&v&}'d'h)l*{+_+x,W,^,q-o0a0k0{1x2U3q4R4U6T7g8[8q8|9Vl(W#u&{)P,y-R-g-h0i1w4`4t:^:h:ix:m'a'r+U,c/m/p0o1O1T3n4V4[4]5]6Q6a6e6f7z:c!`:p&w'f(Z(a+p,U,n-V-s-v.g.i0]0h1`1d2Q2f2h2x4T4g4m4v4{5W5k6`6k6q7YZ:q0|4Z6b7o8a&YcORSTUjk}!S!W!]!`!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#[#a#d#l$[$n%[%_%`%c%e%f%g%i%m%x&Q&U&]&c&m&z'O't(O)Q)X*g*k*p+P+S+r+y,[,b,g-l-q-y.T.t/V/W/X/Z/_/b/d/r/{0b0l1P2c2k2{3`3b3c3l3s5l5z6U6{7j8^8s9U9W9Z9[9]9^9_9`9a9b9c9d9e9f9g9j9s9t9v9}:O:R:S:mS#m`#nR1Q,f&a_ORSTU`jk}!S!W!]!`!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#[#a#d#l#n$[$n%[%_%`%c%e%f%g%i%m%x&Q&U&]&c&m&z'O't(O)Q)X*g*k*p+P+S+r+y,[,b,f,g-l-q-y.T.t/V/W/X/Z/_/b/d/r/{0b0l1P2c2k2{3`3b3c3l3s5l5z6U6{7j8^8s9U9W9Z9[9]9^9_9`9a9b9c9d9e9f9g9j9s9t9v9}:O:R:S:mT#i^#oS#g^#oT'k#j'oT#h^#oT'm#j'o&a`ORSTU`jk}!S!W!]!`!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#[#a#d#l#n$[$n%[%_%`%c%e%f%g%i%m%x&Q&U&]&c&m&z'O't(O)Q)X*g*k*p+P+S+r+y,[,b,f,g-l-q-y.T.t/V/W/X/Z/_/b/d/r/{0b0l1P2c2k2{3`3b3c3l3s5l5z6U6{7j8^8s9U9W9Z9[9]9^9_9`9a9b9c9d9e9f9g9j9s9t9v9}:O:R:S:mT#m`#nQ#p`R'v#n$nbORSTUjk}!S!W!]!`!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#a#d$[$n%[%_%`%c%e%f%g%i%m%x&Q&]&c&m&z'O(O)Q)X*g*k*p+r+y,[,b-l-q-y.T.t/V/W/X/Z/_/b/d/{0b0l2c2{3`3b3c3s5l5z6U7j8^8s!k:k#[#l&U't+P+S,g/r1P2k3l6{9U9W9Z9[9]9^9_9`9a9b9c9d9e9f9g9j9s9t9v9}:O:R:S:m#RdOSUj}!S!W!m!{#l$[%[%_%`%c%e%f%g%i%m&Q&c't)X*g*k*p+r,g-l-y.t/V/W/X/Z/_/b/d1P2c2{3`3b3c5l5zt#{a!x$S$T$X(T(V(W(_(s(t,X-n1X1s:j:p:q!|&y!v#c#w#y&d'z(c)W)Y)])z)}+s-S-U-x-z.h.k.s.u1b1l1z1}2R2d2z2|4f4r4z5h5m6z7W8T9m9o9q9w9y9{:P:TQ(}$VQ,r(Pc0}9i9n9p9r9x9z9|:Q:Ut#xa!x$S$T$X(T(V(W(_(s(t,X-n1X1s:j:p:qS(j#z(mQ)O$WQ-`(k!|:_!v#c#w#y&d'z(c)W)Y)])z)}+s-S-U-x-z.h.k.s.u1b1l1z1}2R2d2z2|4f4r4z5h5m6z7W8T9m9o9q9w9y9{:P:Tb:`9i9n9p9r9x9z9|:Q:UQ:d:nR:e:ot#{a!x$S$T$X(T(V(W(_(s(t,X-n1X1s:j:p:q!|&y!v#c#w#y&d'z(c)W)Y)])z)}+s-S-U-x-z.h.k.s.u1b1l1z1}2R2d2z2|4f4r4z5h5m6z7W8T9m9o9q9w9y9{:P:Tc0}9i9n9p9r9x9z9|:Q:UlfOSj}!m$[%c%f%g%i*k*p/_/bQ(b#yQ*w%pQ*x%rR1a-S$U#|a!v!x#c#w#y$S$T$X&d'z(T(V(W(_(c(s(t)W)Y)])z)}+s,X-S-U-n-x-z.h.k.s.u1X1b1l1s1z1}2R2d2z2|4f4r4z5h5m6z7W8T9i9m9n9o9p9q9r9w9x9y9z9{9|:P:Q:T:U:j:p:qQ)|$}Q.j*OQ2g.iR5Y2hT(l#z(mS(l#z(mT2o.q2pQ)^$eQ-_(jQ.P)_Q.x*XQ3P.yQ5o3QQ6}5^Q7[5pQ7|7OQ8V7]Q8g7}Q8v8hQ9O8wR9S9Pl(T#u&{)P,y-R-g-h0i1w4`4t:^:h:i!`9w&w'f(Z(a+p,U,n-V-s-v.g.i0]0h1`1d2Q2f2h2x4T4g4m4v4{5W5k6`6k6q7YZ9x0|4Z6b7o8an(V#u&{)P,w,y-R-g-h0i1w4`4t:^:h:i!b9y&w'f(Z(a+p,U,n-V-s-v.g.i0]0f0h1`1d2Q2f2h2x4T4g4m4v4{5W5k6`6k6q7Y]9z0|4Z6b6c7o8apeOSjy}!m$[%Y%c%f%g%i*k*p/_/bQ%VxR*g%`peOSjy}!m$[%Y%c%f%g%i*k*p/_/bR%VxQ*Q%OR.f)yqeOSjy}!m$[%Y%c%f%g%i*k*p/_/bQ.r*VS2y.v.wW5g2v2w2x2}U7V5i5j5kU8R7U7X7YQ8k8SR8y8lQ%^yR*a%YR3W/PR7_5rS$mp$rR.[)jQ%czR*k%dR*q%jT/`*p/bQjOQ!mST$_j!mQ'|#tR,o'|Q!YQR%u!YQ!^RU%y!^%z*|Q%z!_R*|%{Q+X&VR/t+XQ,Y&{R0j,YQ,]&}S0m,]0nR0n,^Q+g&aR0P+gQ&_!eQ*}%|T+b&_*}Q+[&YR/v+[Q&r!rQ+{&pU,P&r+{0eR0e,QQ'o#jR,h'oQ#n`R'u#nQ#bZU'e#b*z9hQ*z9VR9h'rQ,|([W1[,|1]4d6jU1],}-O-PS4d1^1_R6j4e#q(R#u&w&{'f(Z(a(z({)P+p,S,T,U,n,w,x,y-R-V-g-h-s-v.g.i0]0f0g0h0i0|1`1d1w2Q2f2h2x4T4X4Y4Z4`4g4m4t4v4{5W5k6`6b6c6d6k6q7Y7o8a:^:h:iQ-T(aU1c-T1e4hQ1e-VR4h1dQ(m#zR-a(mQ(v$OR-j(vQ1{-sR4w1{Q)w$xR.e)wQ2j.lS5[2j6|R6|5]Q*S%PR.o*SQ2p.qR5a2pQ/O*^S3U/O5sR5s3WQ.V)fW2Z.V2]5Q6wQ2].YQ5Q2[R6w5RQ)k$mR.])kQ/b*pR3f/bWiOSj!mQ%h}Q)S$[Q*j%cQ*l%fQ*m%gQ*o%iQ/]*kS/`*p/bR3e/_Q$^gQ%l!RQ%o!TQ%q!UQ%s!VQ)r$sQ)x$yQ*`%^Q*u%nS/R*a*dQ/i*tQ/j*wQ/k*xS/z+d2mQ1f-XQ1g-YQ1m-_Q2`.`Q2e.gQ3O.xQ3Y/TQ3d/^Y3r/|/}0T0Y5cQ4i1hQ4k1jQ4n1nQ5U2bQ5X2fQ5n3PQ5t3X[6S3q3t3x3z3{7SQ6l4jQ6o4oQ6x5SQ7Z5oQ7`5uW7f6T6Y6[6^Q7q6mQ7s6pQ7x6yQ7{6}Q8U7[U8Y7g7l7nQ8b7rQ8d7uQ8f7|Q8m8VS8o8[8`Q8t8cQ8u8gQ8z8qQ8}8vQ9Q8|Q9R9OR9T9SQ$gmQ&f!iU)a$h$i$jQ+R&SU+u&g&h&iQ-X(gS.R)b)cQ/q+TQ/y+dS0_+v+wQ1j-]Q2T.SQ3o/wS3u0O0TQ4Q0`Q4o1oS6W3v3{Q7i6XQ8]7kR8r8_S#va:jR)[$dU$Oa$d:jR-i(uQ#uaS&w!v)]Q&{!xQ'f#cQ(Z#wQ(a#yQ(z$SQ({$TQ)P$XQ+p&dQ,S9mQ,T9oQ,U9qQ,n'zQ,w(TQ,x(VQ,y(WQ-R(_Q-V(cQ-g(sQ-h(td-s)W-x.s1}2z4z5h6z7W8TQ-v)YQ.g)zQ.i)}Q0]+sQ0f9wQ0g9yQ0h9{Q0i,XQ0|9iQ1`-SQ1d-UQ1w-nQ2Q-zQ2f.hQ2h.kQ2x.uQ4T:PQ4X9nQ4Y9pQ4Z9rQ4`1XQ4g1bQ4m1lQ4t1sQ4v1zQ4{2RQ5W2dQ5k2|Q6`:TQ6b9|Q6c9xQ6d9zQ6k4fQ6q4rQ7Y5mQ7o:QQ8a:UQ:^:jQ:h:pR:i:qT'{#t'|lgOSj}!m$[%c%f%g%i*k*p/_/bS!oU%eQ%n!SQ%t!WQ'S!{Q's#lS*d%[%_Q*h%`Q*t%mQ+O&QQ+o&cQ,l'tQ-u)XQ/Y*gQ0[+rQ1S,gQ1u-lQ2P-yQ2w.tQ3[/VQ3]/WQ3_/XQ3a/ZQ3h/dQ4^1PQ5V2cQ5j2{Q5y3`Q5{3bQ5|3cQ7X5lR7b5z!vZOSUj}!S!m!{$[%[%_%`%c%e%f%g%i%m&Q&c)X*g*k*p+r-l-y.t/V/W/X/Z/_/b/d2c2{3`3b3c5l5zQ!_RQ!nTQ$`kQ%w!]Q%{!`Q&v!uQ&}!yQ'T#OQ'U#PQ'V#QQ'W#RQ'X#SQ'Y#TQ'Z#UQ'[#VQ']#WQ'^#XQ'_#YQ'a#[Q'd#aQ'h#dW'r#l't,g1PQ)l$nQ*{%xS+U&U/rQ+_&]Q+x&mQ,W&zQ,^'OQ,a9UQ,c9WQ,q(OQ-o)QQ/m+PQ/p+SQ0a+yQ0k,[Q0o9ZQ0p9[Q0q9]Q0r9^Q0s9_Q0t9`Q0u9aQ0v9bQ0w9cQ0x9dQ0y9eQ0z9fQ0{,bQ1O9jQ1T9gQ1x-qQ2U.TQ3n9sQ3q/{Q4R0bQ4U0lQ4V9tQ4[9vQ4]9}Q5]2kQ6Q3lQ6T3sQ6a:OQ6e:RQ6f:SQ7g6UQ7z6{Q8[7jQ8q8^Q8|8sQ9V!WR:c:mT!XQ!YR!aRR&W!bS&S!b+WS+T&T&[R/w+^R&|!xR'P!yT!sU$YS!rU$YU$xrs*iS&p!q!tQ+}&qQ,Q&tQ.d)vS0c+|,OR4S0d[!dR!`$u&^)t+ah!pUrs!q!t$Y&q&t)v+|,O0dQ/[*iQ/n+QQ3k/hT:Z&U)uT!fR$uS!eR$uS%|!`)tS+V&U)uQ+`&^R/x+aT&Z!b$vQ#j^R'x#oT'n#j'oR1R,fT(^#w(fR(d#yQ-t)WQ2O-xQ2v.sQ4x1}Q5i2zQ6t4zQ7U5hQ7y6zQ8S7WR8l8TlhOSj}!m$[%c%f%g%i*k*p/_/bQ%]yR*`%YV$yrs*iR.m*PR*_%WQ$qpR)q$rR)g$lT%az%dT%bz%dT/a*p/b", -+ nodeNames: "⚠ ArithOp ArithOp extends LineComment BlockComment Script ExportDeclaration export Star as VariableName from String ; default FunctionDeclaration async function VariableDefinition TypeParamList TypeDefinition ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType VoidType void TypeofType typeof MemberExpression . ?. PropertyName [ TemplateString null super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewExpression new TypeArgList CompareOp < ) ( ArgList UnaryExpression await yield delete LogicOp BitOp ParenthesizedExpression ClassExpression class extends ClassBody MethodDeclaration Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression PrivatePropertyName BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof in const CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXStartTag JSXSelfClosingTag JSXIdentifier JSXBuiltin JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast ArrowFunction TypeParamList SequenceExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature CallSignature TypePredicate is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody MethodDeclaration AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try catch finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement", -+ maxTerm: 332, - context: trackNewline, - nodeProps: [ -- [common.NodeProp.group, -26,7,14,16,54,180,184,187,188,190,193,196,207,209,215,217,219,221,224,230,234,236,238,240,242,244,245,"Statement",-30,11,13,23,26,27,38,39,40,41,43,48,56,64,70,71,87,88,97,99,115,118,120,121,122,123,125,126,144,145,147,"Expression",-22,22,24,28,29,31,148,150,152,153,155,156,157,159,160,161,163,164,165,174,176,178,179,"Type",-3,75,81,86,"ClassItem"], -- [common.NodeProp.closedBy, 37,"]",47,"}",62,")",128,"JSXSelfCloseEndTag JSXEndTag",142,"JSXEndTag"], -- [common.NodeProp.openedBy, 42,"[",46,"{",61,"(",127,"JSXStartTag",137,"JSXStartTag JSXStartCloseTag"] -+ [common.NodeProp.group, -26,7,14,16,54,182,186,189,190,192,195,198,209,211,217,219,221,223,226,232,236,238,240,242,244,246,247,"Statement",-30,11,13,23,26,27,38,39,40,41,43,48,56,64,70,71,87,88,97,99,115,118,120,121,122,123,125,126,146,147,149,"Expression",-22,22,24,28,29,31,150,152,154,155,157,158,159,161,162,163,165,166,167,176,178,180,181,"Type",-3,75,81,86,"ClassItem"], -+ [common.NodeProp.closedBy, 37,"]",47,"}",62,")",128,"JSXSelfCloseEndTag JSXEndTag",144,"JSXEndTag"], -+ [common.NodeProp.openedBy, 42,"[",46,"{",61,"(",127,"JSXStartTag",139,"JSXStartTag JSXStartCloseTag"] - ], - skippedNodes: [0,4,5], - repeatNodeCount: 28, -- tokenData: "!C}~R!`OX%TXY%cYZ'RZ[%c[]%T]^'R^p%Tpq%cqr'crs(kst0htu2`uv4pvw5ewx6cxy<yyz=Zz{=k{|>k|}?O}!O>k!O!P?`!P!QCl!Q!R!0[!R![!1q![!]!7s!]!^!8V!^!_!8g!_!`!9d!`!a!:[!a!b!<R!b!c%T!c!}2`!}#O!=d#O#P%T#P#Q!=t#Q#R!>U#R#S2`#S#T!>i#T#o2`#o#p!>y#p#q!?O#q#r!?f#r#s!?x#s$f%T$f$g%c$g#BY2`#BY#BZ!@Y#BZ$IS2`$IS$I_!@Y$I_$I|2`$I|$I}!Bq$I}$JO!Bq$JO$JT2`$JT$JU!@Y$JU$KV2`$KV$KW!@Y$KW&FU2`&FU&FV!@Y&FV?HT2`?HT?HU!@Y?HU~2`W%YR$QWO!^%T!_#o%T#p~%T,T%jg$QW'T+{OX%TXY%cYZ%TZ[%c[p%Tpq%cq!^%T!_#o%T#p$f%T$f$g%c$g#BY%T#BY#BZ%c#BZ$IS%T$IS$I_%c$I_$JT%T$JT$JU%c$JU$KV%T$KV$KW%c$KW&FU%T&FU&FV%c&FV?HT%T?HT?HU%c?HU~%T,T'YR$QW'U+{O!^%T!_#o%T#p~%T$T'jS$QW!f#{O!^%T!_!`'v!`#o%T#p~%T$O'}S#a#v$QWO!^%T!_!`(Z!`#o%T#p~%T$O(bR#a#v$QWO!^%T!_#o%T#p~%T'u(rZ$QW]!ROY(kYZ)eZr(krs*rs!^(k!^!_+U!_#O(k#O#P-b#P#o(k#o#p+U#p~(k&r)jV$QWOr)ers*Ps!^)e!^!_*a!_#o)e#o#p*a#p~)e&r*WR#{&j$QWO!^%T!_#o%T#p~%T&j*dROr*ars*ms~*a&j*rO#{&j'u*{R#{&j$QW]!RO!^%T!_#o%T#p~%T'm+ZV]!ROY+UYZ*aZr+Urs+ps#O+U#O#P+w#P~+U'm+wO#{&j]!R'm+zROr+Urs,Ts~+U'm,[U#{&j]!ROY,nZr,nrs-Vs#O,n#O#P-[#P~,n!R,sU]!ROY,nZr,nrs-Vs#O,n#O#P-[#P~,n!R-[O]!R!R-_PO~,n'u-gV$QWOr(krs-|s!^(k!^!_+U!_#o(k#o#p+U#p~(k'u.VZ#{&j$QW]!ROY.xYZ%TZr.xrs/rs!^.x!^!_,n!_#O.x#O#P0S#P#o.x#o#p,n#p~.x!Z/PZ$QW]!ROY.xYZ%TZr.xrs/rs!^.x!^!_,n!_#O.x#O#P0S#P#o.x#o#p,n#p~.x!Z/yR$QW]!RO!^%T!_#o%T#p~%T!Z0XT$QWO!^.x!^!_,n!_#o.x#o#p,n#p~.xy0mZ$QWOt%Ttu1`u!^%T!_!c%T!c!}1`!}#R%T#R#S1`#S#T%T#T#o1`#p$g%T$g~1`y1g]$QW'mqOt%Ttu1`u!Q%T!Q![1`![!^%T!_!c%T!c!}1`!}#R%T#R#S1`#S#T%T#T#o1`#p$g%T$g~1`&i2k_$QW#vS'W%k'dpOt%Ttu2`u}%T}!O3j!O!Q%T!Q![2`![!^%T!_!c%T!c!}2`!}#R%T#R#S2`#S#T%T#T#o2`#p$g%T$g~2`[3q_$QW#vSOt%Ttu3ju}%T}!O3j!O!Q%T!Q![3j![!^%T!_!c%T!c!}3j!}#R%T#R#S3j#S#T%T#T#o3j#p$g%T$g~3j$O4wS#Y#v$QWO!^%T!_!`5T!`#o%T#p~%T$O5[R$QW#k#vO!^%T!_#o%T#p~%T%r5lU'v%j$QWOv%Tvw6Ow!^%T!_!`5T!`#o%T#p~%T$O6VS$QW#e#vO!^%T!_!`5T!`#o%T#p~%T'u6jZ$QW]!ROY6cYZ7]Zw6cwx*rx!^6c!^!_8T!_#O6c#O#P:T#P#o6c#o#p8T#p~6c&r7bV$QWOw7]wx*Px!^7]!^!_7w!_#o7]#o#p7w#p~7]&j7zROw7wwx*mx~7w'm8YV]!ROY8TYZ7wZw8Twx+px#O8T#O#P8o#P~8T'm8rROw8Twx8{x~8T'm9SU#{&j]!ROY9fZw9fwx-Vx#O9f#O#P9}#P~9f!R9kU]!ROY9fZw9fwx-Vx#O9f#O#P9}#P~9f!R:QPO~9f'u:YV$QWOw6cwx:ox!^6c!^!_8T!_#o6c#o#p8T#p~6c'u:xZ#{&j$QW]!ROY;kYZ%TZw;kwx/rx!^;k!^!_9f!_#O;k#O#P<e#P#o;k#o#p9f#p~;k!Z;rZ$QW]!ROY;kYZ%TZw;kwx/rx!^;k!^!_9f!_#O;k#O#P<e#P#o;k#o#p9f#p~;k!Z<jT$QWO!^;k!^!_9f!_#o;k#o#p9f#p~;k%V=QR!`$}$QWO!^%T!_#o%T#p~%TZ=bR!_R$QWO!^%T!_#o%T#p~%T%R=tU'X!R#Z#v$QWOz%Tz{>W{!^%T!_!`5T!`#o%T#p~%T$O>_S#W#v$QWO!^%T!_!`5T!`#o%T#p~%T$u>rSi$m$QWO!^%T!_!`5T!`#o%T#p~%T&i?VR}&a$QWO!^%T!_#o%T#p~%T&i?gVr%n$QWO!O%T!O!P?|!P!Q%T!Q![@r![!^%T!_#o%T#p~%Ty@RT$QWO!O%T!O!P@b!P!^%T!_#o%T#p~%Ty@iR|q$QWO!^%T!_#o%T#p~%Ty@yZ$QWjqO!Q%T!Q![@r![!^%T!_!g%T!g!hAl!h#R%T#R#S@r#S#X%T#X#YAl#Y#o%T#p~%TyAqZ$QWO{%T{|Bd|}%T}!OBd!O!Q%T!Q![CO![!^%T!_#R%T#R#SCO#S#o%T#p~%TyBiV$QWO!Q%T!Q![CO![!^%T!_#R%T#R#SCO#S#o%T#p~%TyCVV$QWjqO!Q%T!Q![CO![!^%T!_#R%T#R#SCO#S#o%T#p~%T,TCs`$QW#X#vOYDuYZ%TZzDuz{Jl{!PDu!P!Q!-e!Q!^Du!^!_Fx!_!`!.^!`!a!/]!a!}Du!}#OHq#O#PJQ#P#oDu#o#pFx#p~DuXD|[$QWyPOYDuYZ%TZ!PDu!P!QEr!Q!^Du!^!_Fx!_!}Du!}#OHq#O#PJQ#P#oDu#o#pFx#p~DuXEy_$QWyPO!^%T!_#Z%T#Z#[Er#[#]%T#]#^Er#^#a%T#a#bEr#b#g%T#g#hEr#h#i%T#i#jEr#j#m%T#m#nEr#n#o%T#p~%TPF}VyPOYFxZ!PFx!P!QGd!Q!}Fx!}#OG{#O#PHh#P~FxPGiUyP#Z#[Gd#]#^Gd#a#bGd#g#hGd#i#jGd#m#nGdPHOTOYG{Z#OG{#O#PH_#P#QFx#Q~G{PHbQOYG{Z~G{PHkQOYFxZ~FxXHvY$QWOYHqYZ%TZ!^Hq!^!_G{!_#OHq#O#PIf#P#QDu#Q#oHq#o#pG{#p~HqXIkV$QWOYHqYZ%TZ!^Hq!^!_G{!_#oHq#o#pG{#p~HqXJVV$QWOYDuYZ%TZ!^Du!^!_Fx!_#oDu#o#pFx#p~Du,TJs^$QWyPOYJlYZKoZzJlz{NQ{!PJl!P!Q!,R!Q!^Jl!^!_!!]!_!}Jl!}#O!'|#O#P!+a#P#oJl#o#p!!]#p~Jl,TKtV$QWOzKoz{LZ{!^Ko!^!_M]!_#oKo#o#pM]#p~Ko,TL`X$QWOzKoz{LZ{!PKo!P!QL{!Q!^Ko!^!_M]!_#oKo#o#pM]#p~Ko,TMSR$QWT+{O!^%T!_#o%T#p~%T+{M`ROzM]z{Mi{~M]+{MlTOzM]z{Mi{!PM]!P!QM{!Q~M]+{NQOT+{,TNX^$QWyPOYJlYZKoZzJlz{NQ{!PJl!P!Q! T!Q!^Jl!^!_!!]!_!}Jl!}#O!'|#O#P!+a#P#oJl#o#p!!]#p~Jl,T! ^_$QWT+{yPO!^%T!_#Z%T#Z#[Er#[#]%T#]#^Er#^#a%T#a#bEr#b#g%T#g#hEr#h#i%T#i#jEr#j#m%T#m#nEr#n#o%T#p~%T+{!!bYyPOY!!]YZM]Zz!!]z{!#Q{!P!!]!P!Q!&x!Q!}!!]!}#O!$`#O#P!&f#P~!!]+{!#VYyPOY!!]YZM]Zz!!]z{!#Q{!P!!]!P!Q!#u!Q!}!!]!}#O!$`#O#P!&f#P~!!]+{!#|UT+{yP#Z#[Gd#]#^Gd#a#bGd#g#hGd#i#jGd#m#nGd+{!$cWOY!$`YZM]Zz!$`z{!${{#O!$`#O#P!&S#P#Q!!]#Q~!$`+{!%OYOY!$`YZM]Zz!$`z{!${{!P!$`!P!Q!%n!Q#O!$`#O#P!&S#P#Q!!]#Q~!$`+{!%sTT+{OYG{Z#OG{#O#PH_#P#QFx#Q~G{+{!&VTOY!$`YZM]Zz!$`z{!${{~!$`+{!&iTOY!!]YZM]Zz!!]z{!#Q{~!!]+{!&}_yPOzM]z{Mi{#ZM]#Z#[!&x#[#]M]#]#^!&x#^#aM]#a#b!&x#b#gM]#g#h!&x#h#iM]#i#j!&x#j#mM]#m#n!&x#n~M],T!(R[$QWOY!'|YZKoZz!'|z{!(w{!^!'|!^!_!$`!_#O!'|#O#P!*o#P#QJl#Q#o!'|#o#p!$`#p~!'|,T!(|^$QWOY!'|YZKoZz!'|z{!(w{!P!'|!P!Q!)x!Q!^!'|!^!_!$`!_#O!'|#O#P!*o#P#QJl#Q#o!'|#o#p!$`#p~!'|,T!*PY$QWT+{OYHqYZ%TZ!^Hq!^!_G{!_#OHq#O#PIf#P#QDu#Q#oHq#o#pG{#p~Hq,T!*tX$QWOY!'|YZKoZz!'|z{!(w{!^!'|!^!_!$`!_#o!'|#o#p!$`#p~!'|,T!+fX$QWOYJlYZKoZzJlz{NQ{!^Jl!^!_!!]!_#oJl#o#p!!]#p~Jl,T!,Yc$QWyPOzKoz{LZ{!^Ko!^!_M]!_#ZKo#Z#[!,R#[#]Ko#]#^!,R#^#aKo#a#b!,R#b#gKo#g#h!,R#h#iKo#i#j!,R#j#mKo#m#n!,R#n#oKo#o#pM]#p~Ko,T!-lV$QWS+{OY!-eYZ%TZ!^!-e!^!_!.R!_#o!-e#o#p!.R#p~!-e+{!.WQS+{OY!.RZ~!.R$P!.g[$QW#k#vyPOYDuYZ%TZ!PDu!P!QEr!Q!^Du!^!_Fx!_!}Du!}#OHq#O#PJQ#P#oDu#o#pFx#p~Du]!/f[#sS$QWyPOYDuYZ%TZ!PDu!P!QEr!Q!^Du!^!_Fx!_!}Du!}#OHq#O#PJQ#P#oDu#o#pFx#p~Duy!0cd$QWjqO!O%T!O!P@r!P!Q%T!Q![!1q![!^%T!_!g%T!g!hAl!h#R%T#R#S!1q#S#U%T#U#V!3X#V#X%T#X#YAl#Y#b%T#b#c!2w#c#d!4m#d#l%T#l#m!5{#m#o%T#p~%Ty!1x_$QWjqO!O%T!O!P@r!P!Q%T!Q![!1q![!^%T!_!g%T!g!hAl!h#R%T#R#S!1q#S#X%T#X#YAl#Y#b%T#b#c!2w#c#o%T#p~%Ty!3OR$QWjqO!^%T!_#o%T#p~%Ty!3^W$QWO!Q%T!Q!R!3v!R!S!3v!S!^%T!_#R%T#R#S!3v#S#o%T#p~%Ty!3}Y$QWjqO!Q%T!Q!R!3v!R!S!3v!S!^%T!_#R%T#R#S!3v#S#b%T#b#c!2w#c#o%T#p~%Ty!4rV$QWO!Q%T!Q!Y!5X!Y!^%T!_#R%T#R#S!5X#S#o%T#p~%Ty!5`X$QWjqO!Q%T!Q!Y!5X!Y!^%T!_#R%T#R#S!5X#S#b%T#b#c!2w#c#o%T#p~%Ty!6QZ$QWO!Q%T!Q![!6s![!^%T!_!c%T!c!i!6s!i#R%T#R#S!6s#S#T%T#T#Z!6s#Z#o%T#p~%Ty!6z]$QWjqO!Q%T!Q![!6s![!^%T!_!c%T!c!i!6s!i#R%T#R#S!6s#S#T%T#T#Z!6s#Z#b%T#b#c!2w#c#o%T#p~%T%w!7|R!XV$QW#i%hO!^%T!_#o%T#p~%T!P!8^R^w$QWO!^%T!_#o%T#p~%T+c!8rR']d!]%Y#t&s'zP!P!Q!8{!^!_!9Q!_!`!9_W!9QO$SW#v!9VP#[#v!_!`!9Y#v!9_O#k#v#v!9dO#]#v%w!9kT!w%o$QWO!^%T!_!`'v!`!a!9z!a#o%T#p~%T$P!:RR#S#w$QWO!^%T!_#o%T#p~%T%w!:gT'[!s#]#v#}S$QWO!^%T!_!`!:v!`!a!;W!a#o%T#p~%T$O!:}R#]#v$QWO!^%T!_#o%T#p~%T$O!;_T#[#v$QWO!^%T!_!`5T!`!a!;n!a#o%T#p~%T$O!;uS#[#v$QWO!^%T!_!`5T!`#o%T#p~%T%w!<YV'n%o$QWO!O%T!O!P!<o!P!^%T!_!a%T!a!b!=P!b#o%T#p~%T$`!<vRs$W$QWO!^%T!_#o%T#p~%T$O!=WS$QW#f#vO!^%T!_!`5T!`#o%T#p~%T&e!=kRu&]$QWO!^%T!_#o%T#p~%TZ!={RzR$QWO!^%T!_#o%T#p~%T$O!>]S#c#v$QWO!^%T!_!`5T!`#o%T#p~%T$P!>pR$QW'a#wO!^%T!_#o%T#p~%T~!?OO!P~%r!?VT'u%j$QWO!^%T!_!`5T!`#o%T#p#q!=P#q~%T$u!?oR!O$k$QW'cQO!^%T!_#o%T#p~%TX!@PR!gP$QWO!^%T!_#o%T#p~%T,T!@gr$QW'T+{#vS'W%k'dpOX%TXY%cYZ%TZ[%c[p%Tpq%cqt%Ttu2`u}%T}!O3j!O!Q%T!Q![2`![!^%T!_!c%T!c!}2`!}#R%T#R#S2`#S#T%T#T#o2`#p$f%T$f$g%c$g#BY2`#BY#BZ!@Y#BZ$IS2`$IS$I_!@Y$I_$JT2`$JT$JU!@Y$JU$KV2`$KV$KW!@Y$KW&FU2`&FU&FV!@Y&FV?HT2`?HT?HU!@Y?HU~2`,T!CO_$QW'U+{#vS'W%k'dpOt%Ttu2`u}%T}!O3j!O!Q%T!Q![2`![!^%T!_!c%T!c!}2`!}#R%T#R#S2`#S#T%T#T#o2`#p$g%T$g~2`", -+ tokenData: "!F_~R!`OX%TXY%cYZ'RZ[%c[]%T]^'R^p%Tpq%cqr'crs(kst0htu2`uv4pvw5ewx6cxy<yyz=Zz{=k{|>k|}?O}!O>k!O!P?`!P!QCl!Q!R!0[!R![!1q![!]!7s!]!^!8V!^!_!8g!_!`!9d!`!a!:[!a!b!<R!b!c%T!c!}2`!}#O!=d#O#P%T#P#Q!=t#Q#R!>U#R#S2`#S#T!>i#T#o!>y#o#p!AZ#p#q!A`#q#r!Av#r#s!BY#s$f%T$f$g%c$g#BY2`#BY#BZ!Bj#BZ$IS2`$IS$I_!Bj$I_$I|2`$I|$I}!ER$I}$JO!ER$JO$JT2`$JT$JU!Bj$JU$KV2`$KV$KW!Bj$KW&FU2`&FU&FV!Bj&FV?HT2`?HT?HU!Bj?HU~2`W%YR$SWO!^%T!_#o%T#p~%T,T%jg$SW'V+{OX%TXY%cYZ%TZ[%c[p%Tpq%cq!^%T!_#o%T#p$f%T$f$g%c$g#BY%T#BY#BZ%c#BZ$IS%T$IS$I_%c$I_$JT%T$JT$JU%c$JU$KV%T$KV$KW%c$KW&FU%T&FU&FV%c&FV?HT%T?HT?HU%c?HU~%T,T'YR$SW'W+{O!^%T!_#o%T#p~%T$T'jS$SW!f#{O!^%T!_!`'v!`#o%T#p~%T$O'}S#a#v$SWO!^%T!_!`(Z!`#o%T#p~%T$O(bR#a#v$SWO!^%T!_#o%T#p~%T'u(rZ$SW]!ROY(kYZ)eZr(krs*rs!^(k!^!_+U!_#O(k#O#P-b#P#o(k#o#p+U#p~(k&r)jV$SWOr)ers*Ps!^)e!^!_*a!_#o)e#o#p*a#p~)e&r*WR#}&j$SWO!^%T!_#o%T#p~%T&j*dROr*ars*ms~*a&j*rO#}&j'u*{R#}&j$SW]!RO!^%T!_#o%T#p~%T'm+ZV]!ROY+UYZ*aZr+Urs+ps#O+U#O#P+w#P~+U'm+wO#}&j]!R'm+zROr+Urs,Ts~+U'm,[U#}&j]!ROY,nZr,nrs-Vs#O,n#O#P-[#P~,n!R,sU]!ROY,nZr,nrs-Vs#O,n#O#P-[#P~,n!R-[O]!R!R-_PO~,n'u-gV$SWOr(krs-|s!^(k!^!_+U!_#o(k#o#p+U#p~(k'u.VZ#}&j$SW]!ROY.xYZ%TZr.xrs/rs!^.x!^!_,n!_#O.x#O#P0S#P#o.x#o#p,n#p~.x!Z/PZ$SW]!ROY.xYZ%TZr.xrs/rs!^.x!^!_,n!_#O.x#O#P0S#P#o.x#o#p,n#p~.x!Z/yR$SW]!RO!^%T!_#o%T#p~%T!Z0XT$SWO!^.x!^!_,n!_#o.x#o#p,n#p~.xy0mZ$SWOt%Ttu1`u!^%T!_!c%T!c!}1`!}#R%T#R#S1`#S#T%T#T#o1`#p$g%T$g~1`y1g]$SW'oqOt%Ttu1`u!Q%T!Q![1`![!^%T!_!c%T!c!}1`!}#R%T#R#S1`#S#T%T#T#o1`#p$g%T$g~1`&i2k_$SW'fp'Y%k#vSOt%Ttu2`u}%T}!O3j!O!Q%T!Q![2`![!^%T!_!c%T!c!}2`!}#R%T#R#S2`#S#T%T#T#o2`#p$g%T$g~2`[3q_$SW#vSOt%Ttu3ju}%T}!O3j!O!Q%T!Q![3j![!^%T!_!c%T!c!}3j!}#R%T#R#S3j#S#T%T#T#o3j#p$g%T$g~3j$O4wS#Y#v$SWO!^%T!_!`5T!`#o%T#p~%T$O5[R$SW#k#vO!^%T!_#o%T#p~%T%r5lU'x%j$SWOv%Tvw6Ow!^%T!_!`5T!`#o%T#p~%T$O6VS$SW#e#vO!^%T!_!`5T!`#o%T#p~%T'u6jZ$SW]!ROY6cYZ7]Zw6cwx*rx!^6c!^!_8T!_#O6c#O#P:T#P#o6c#o#p8T#p~6c&r7bV$SWOw7]wx*Px!^7]!^!_7w!_#o7]#o#p7w#p~7]&j7zROw7wwx*mx~7w'm8YV]!ROY8TYZ7wZw8Twx+px#O8T#O#P8o#P~8T'm8rROw8Twx8{x~8T'm9SU#}&j]!ROY9fZw9fwx-Vx#O9f#O#P9}#P~9f!R9kU]!ROY9fZw9fwx-Vx#O9f#O#P9}#P~9f!R:QPO~9f'u:YV$SWOw6cwx:ox!^6c!^!_8T!_#o6c#o#p8T#p~6c'u:xZ#}&j$SW]!ROY;kYZ%TZw;kwx/rx!^;k!^!_9f!_#O;k#O#P<e#P#o;k#o#p9f#p~;k!Z;rZ$SW]!ROY;kYZ%TZw;kwx/rx!^;k!^!_9f!_#O;k#O#P<e#P#o;k#o#p9f#p~;k!Z<jT$SWO!^;k!^!_9f!_#o;k#o#p9f#p~;k%V=QR!`$}$SWO!^%T!_#o%T#p~%TZ=bR!_R$SWO!^%T!_#o%T#p~%T%R=tU'Z!R#Z#v$SWOz%Tz{>W{!^%T!_!`5T!`#o%T#p~%T$O>_S#W#v$SWO!^%T!_!`5T!`#o%T#p~%T$u>rSi$m$SWO!^%T!_!`5T!`#o%T#p~%T&i?VR}&a$SWO!^%T!_#o%T#p~%T&i?gVr%n$SWO!O%T!O!P?|!P!Q%T!Q![@r![!^%T!_#o%T#p~%Ty@RT$SWO!O%T!O!P@b!P!^%T!_#o%T#p~%Ty@iR|q$SWO!^%T!_#o%T#p~%Ty@yZ$SWjqO!Q%T!Q![@r![!^%T!_!g%T!g!hAl!h#R%T#R#S@r#S#X%T#X#YAl#Y#o%T#p~%TyAqZ$SWO{%T{|Bd|}%T}!OBd!O!Q%T!Q![CO![!^%T!_#R%T#R#SCO#S#o%T#p~%TyBiV$SWO!Q%T!Q![CO![!^%T!_#R%T#R#SCO#S#o%T#p~%TyCVV$SWjqO!Q%T!Q![CO![!^%T!_#R%T#R#SCO#S#o%T#p~%T,TCs`$SW#X#vOYDuYZ%TZzDuz{Jl{!PDu!P!Q!-e!Q!^Du!^!_Fx!_!`!.^!`!a!/]!a!}Du!}#OHq#O#PJQ#P#oDu#o#pFx#p~DuXD|[$SWyPOYDuYZ%TZ!PDu!P!QEr!Q!^Du!^!_Fx!_!}Du!}#OHq#O#PJQ#P#oDu#o#pFx#p~DuXEy_$SWyPO!^%T!_#Z%T#Z#[Er#[#]%T#]#^Er#^#a%T#a#bEr#b#g%T#g#hEr#h#i%T#i#jEr#j#m%T#m#nEr#n#o%T#p~%TPF}VyPOYFxZ!PFx!P!QGd!Q!}Fx!}#OG{#O#PHh#P~FxPGiUyP#Z#[Gd#]#^Gd#a#bGd#g#hGd#i#jGd#m#nGdPHOTOYG{Z#OG{#O#PH_#P#QFx#Q~G{PHbQOYG{Z~G{PHkQOYFxZ~FxXHvY$SWOYHqYZ%TZ!^Hq!^!_G{!_#OHq#O#PIf#P#QDu#Q#oHq#o#pG{#p~HqXIkV$SWOYHqYZ%TZ!^Hq!^!_G{!_#oHq#o#pG{#p~HqXJVV$SWOYDuYZ%TZ!^Du!^!_Fx!_#oDu#o#pFx#p~Du,TJs^$SWyPOYJlYZKoZzJlz{NQ{!PJl!P!Q!,R!Q!^Jl!^!_!!]!_!}Jl!}#O!'|#O#P!+a#P#oJl#o#p!!]#p~Jl,TKtV$SWOzKoz{LZ{!^Ko!^!_M]!_#oKo#o#pM]#p~Ko,TL`X$SWOzKoz{LZ{!PKo!P!QL{!Q!^Ko!^!_M]!_#oKo#o#pM]#p~Ko,TMSR$SWT+{O!^%T!_#o%T#p~%T+{M`ROzM]z{Mi{~M]+{MlTOzM]z{Mi{!PM]!P!QM{!Q~M]+{NQOT+{,TNX^$SWyPOYJlYZKoZzJlz{NQ{!PJl!P!Q! T!Q!^Jl!^!_!!]!_!}Jl!}#O!'|#O#P!+a#P#oJl#o#p!!]#p~Jl,T! ^_$SWT+{yPO!^%T!_#Z%T#Z#[Er#[#]%T#]#^Er#^#a%T#a#bEr#b#g%T#g#hEr#h#i%T#i#jEr#j#m%T#m#nEr#n#o%T#p~%T+{!!bYyPOY!!]YZM]Zz!!]z{!#Q{!P!!]!P!Q!&x!Q!}!!]!}#O!$`#O#P!&f#P~!!]+{!#VYyPOY!!]YZM]Zz!!]z{!#Q{!P!!]!P!Q!#u!Q!}!!]!}#O!$`#O#P!&f#P~!!]+{!#|UT+{yP#Z#[Gd#]#^Gd#a#bGd#g#hGd#i#jGd#m#nGd+{!$cWOY!$`YZM]Zz!$`z{!${{#O!$`#O#P!&S#P#Q!!]#Q~!$`+{!%OYOY!$`YZM]Zz!$`z{!${{!P!$`!P!Q!%n!Q#O!$`#O#P!&S#P#Q!!]#Q~!$`+{!%sTT+{OYG{Z#OG{#O#PH_#P#QFx#Q~G{+{!&VTOY!$`YZM]Zz!$`z{!${{~!$`+{!&iTOY!!]YZM]Zz!!]z{!#Q{~!!]+{!&}_yPOzM]z{Mi{#ZM]#Z#[!&x#[#]M]#]#^!&x#^#aM]#a#b!&x#b#gM]#g#h!&x#h#iM]#i#j!&x#j#mM]#m#n!&x#n~M],T!(R[$SWOY!'|YZKoZz!'|z{!(w{!^!'|!^!_!$`!_#O!'|#O#P!*o#P#QJl#Q#o!'|#o#p!$`#p~!'|,T!(|^$SWOY!'|YZKoZz!'|z{!(w{!P!'|!P!Q!)x!Q!^!'|!^!_!$`!_#O!'|#O#P!*o#P#QJl#Q#o!'|#o#p!$`#p~!'|,T!*PY$SWT+{OYHqYZ%TZ!^Hq!^!_G{!_#OHq#O#PIf#P#QDu#Q#oHq#o#pG{#p~Hq,T!*tX$SWOY!'|YZKoZz!'|z{!(w{!^!'|!^!_!$`!_#o!'|#o#p!$`#p~!'|,T!+fX$SWOYJlYZKoZzJlz{NQ{!^Jl!^!_!!]!_#oJl#o#p!!]#p~Jl,T!,Yc$SWyPOzKoz{LZ{!^Ko!^!_M]!_#ZKo#Z#[!,R#[#]Ko#]#^!,R#^#aKo#a#b!,R#b#gKo#g#h!,R#h#iKo#i#j!,R#j#mKo#m#n!,R#n#oKo#o#pM]#p~Ko,T!-lV$SWS+{OY!-eYZ%TZ!^!-e!^!_!.R!_#o!-e#o#p!.R#p~!-e+{!.WQS+{OY!.RZ~!.R$P!.g[$SW#k#vyPOYDuYZ%TZ!PDu!P!QEr!Q!^Du!^!_Fx!_!}Du!}#OHq#O#PJQ#P#oDu#o#pFx#p~Du]!/f[#sS$SWyPOYDuYZ%TZ!PDu!P!QEr!Q!^Du!^!_Fx!_!}Du!}#OHq#O#PJQ#P#oDu#o#pFx#p~Duy!0cd$SWjqO!O%T!O!P@r!P!Q%T!Q![!1q![!^%T!_!g%T!g!hAl!h#R%T#R#S!1q#S#U%T#U#V!3X#V#X%T#X#YAl#Y#b%T#b#c!2w#c#d!4m#d#l%T#l#m!5{#m#o%T#p~%Ty!1x_$SWjqO!O%T!O!P@r!P!Q%T!Q![!1q![!^%T!_!g%T!g!hAl!h#R%T#R#S!1q#S#X%T#X#YAl#Y#b%T#b#c!2w#c#o%T#p~%Ty!3OR$SWjqO!^%T!_#o%T#p~%Ty!3^W$SWO!Q%T!Q!R!3v!R!S!3v!S!^%T!_#R%T#R#S!3v#S#o%T#p~%Ty!3}Y$SWjqO!Q%T!Q!R!3v!R!S!3v!S!^%T!_#R%T#R#S!3v#S#b%T#b#c!2w#c#o%T#p~%Ty!4rV$SWO!Q%T!Q!Y!5X!Y!^%T!_#R%T#R#S!5X#S#o%T#p~%Ty!5`X$SWjqO!Q%T!Q!Y!5X!Y!^%T!_#R%T#R#S!5X#S#b%T#b#c!2w#c#o%T#p~%Ty!6QZ$SWO!Q%T!Q![!6s![!^%T!_!c%T!c!i!6s!i#R%T#R#S!6s#S#T%T#T#Z!6s#Z#o%T#p~%Ty!6z]$SWjqO!Q%T!Q![!6s![!^%T!_!c%T!c!i!6s!i#R%T#R#S!6s#S#T%T#T#Z!6s#Z#b%T#b#c!2w#c#o%T#p~%T%w!7|R!XV$SW#i%hO!^%T!_#o%T#p~%T!P!8^R^w$SWO!^%T!_#o%T#p~%T+c!8rR'_d!]%Y#t&s'|P!P!Q!8{!^!_!9Q!_!`!9_W!9QO$UW#v!9VP#[#v!_!`!9Y#v!9_O#k#v#v!9dO#]#v%w!9kT!w%o$SWO!^%T!_!`'v!`!a!9z!a#o%T#p~%T$P!:RR#S#w$SWO!^%T!_#o%T#p~%T%w!:gT'^!s#]#v$PS$SWO!^%T!_!`!:v!`!a!;W!a#o%T#p~%T$O!:}R#]#v$SWO!^%T!_#o%T#p~%T$O!;_T#[#v$SWO!^%T!_!`5T!`!a!;n!a#o%T#p~%T$O!;uS#[#v$SWO!^%T!_!`5T!`#o%T#p~%T%w!<YV'p%o$SWO!O%T!O!P!<o!P!^%T!_!a%T!a!b!=P!b#o%T#p~%T$`!<vRs$W$SWO!^%T!_#o%T#p~%T$O!=WS$SW#f#vO!^%T!_!`5T!`#o%T#p~%T&e!=kRu&]$SWO!^%T!_#o%T#p~%TZ!={RzR$SWO!^%T!_#o%T#p~%T$O!>]S#c#v$SWO!^%T!_!`5T!`#o%T#p~%T$P!>pR$SW'c#wO!^%T!_#o%T#p~%T&i!?U_$SW'fp'Y%k#xSOt%Ttu!>yu}%T}!O!@T!O!Q%T!Q![!>y![!^%T!_!c%T!c!}!>y!}#R%T#R#S!>y#S#T%T#T#o!>y#p$g%T$g~!>y[!@[_$SW#xSOt%Ttu!@Tu}%T}!O!@T!O!Q%T!Q![!@T![!^%T!_!c%T!c!}!@T!}#R%T#R#S!@T#S#T%T#T#o!@T#p$g%T$g~!@T~!A`O!P~%r!AgT'w%j$SWO!^%T!_!`5T!`#o%T#p#q!=P#q~%T$u!BPR!O$k$SW'eQO!^%T!_#o%T#p~%TX!BaR!gP$SWO!^%T!_#o%T#p~%T,T!Bwr$SW'V+{'fp'Y%k#vSOX%TXY%cYZ%TZ[%c[p%Tpq%cqt%Ttu2`u}%T}!O3j!O!Q%T!Q![2`![!^%T!_!c%T!c!}2`!}#R%T#R#S2`#S#T%T#T#o2`#p$f%T$f$g%c$g#BY2`#BY#BZ!Bj#BZ$IS2`$IS$I_!Bj$I_$JT2`$JT$JU!Bj$JU$KV2`$KV$KW!Bj$KW&FU2`&FU&FV!Bj&FV?HT2`?HT?HU!Bj?HU~2`,T!E`_$SW'W+{'fp'Y%k#vSOt%Ttu2`u}%T}!O3j!O!Q%T!Q![2`![!^%T!_!c%T!c!}2`!}#R%T#R#S2`#S#T%T#T#o2`#p$g%T$g~2`", - tokenizers: [noSemicolon, incdecToken, template, 0, 1, 2, 3, 4, 5, 6, 7, 8, insertSemicolon], - topRules: {"Script":[0,6]}, -- dialects: {jsx: 11282, ts: 11284}, -- dynamicPrecedences: {"145":1,"172":1}, -- specialized: [{term: 284, get: (value, stack) => (tsExtends(value, stack) << 1)},{term: 284, get: value => spec_identifier[value] || -1},{term: 296, get: value => spec_word[value] || -1},{term: 59, get: value => spec_LessThan[value] || -1}], -- tokenPrec: 11305 -+ dialects: {jsx: 11332, ts: 11334}, -+ dynamicPrecedences: {"147":1,"174":1}, -+ specialized: [{term: 286, get: (value, stack) => (tsExtends(value, stack) << 1)},{term: 286, get: value => spec_identifier[value] || -1},{term: 298, get: value => spec_word[value] || -1},{term: 59, get: value => spec_LessThan[value] || -1}], -+ tokenPrec: 11355 - }); - - exports.parser = parser; -diff --git a/node_modules/@lezer/javascript/dist/index.es.js b/node_modules/@lezer/javascript/dist/index.es.js -index 94d1df0..489e965 100644 ---- a/node_modules/@lezer/javascript/dist/index.es.js -+++ b/node_modules/@lezer/javascript/dist/index.es.js -@@ -2,16 +2,16 @@ import { ContextTracker, ExternalTokenizer, LRParser } from '@lezer/lr'; - import { NodeProp } from '@lezer/common'; - - // This file was generated by lezer-generator. You probably shouldn't edit it. --const noSemi = 275, -+const noSemi = 277, - incdec = 1, - incdecPrefix = 2, -- templateContent = 276, -- templateDollarBrace = 277, -- templateEnd = 278, -- insertSemi = 279, -+ templateContent = 278, -+ templateDollarBrace = 279, -+ templateEnd = 280, -+ insertSemi = 281, - TSExtends = 3, -- spaces = 281, -- newline = 282, -+ spaces = 283, -+ newline = 284, - LineComment = 4, - BlockComment = 5, - Dialect_ts = 1; -@@ -91,31 +91,31 @@ function tsExtends(value, stack) { - } - - // This file was generated by lezer-generator. You probably shouldn't edit it. --const spec_identifier = {__proto__:null,export:16, as:21, from:25, default:30, async:35, function:36, this:46, true:54, false:54, void:60, typeof:64, null:78, super:80, new:114, await:131, yield:133, delete:134, class:144, extends:146, public:189, private:189, protected:189, readonly:191, instanceof:212, in:214, const:216, import:248, keyof:299, unique:303, infer:309, is:343, abstract:363, implements:365, type:367, let:370, var:372, interface:379, enum:383, namespace:389, module:391, declare:395, global:399, for:420, of:429, while:432, with:436, do:440, if:444, else:446, switch:450, case:456, try:462, catch:464, finally:466, return:470, throw:474, break:478, continue:482, debugger:486}; --const spec_word = {__proto__:null,async:101, get:103, set:105, public:153, private:153, protected:153, static:155, abstract:157, override:159, readonly:165, new:347}; -+const spec_identifier = {__proto__:null,export:16, as:21, from:25, default:30, async:35, function:36, this:46, true:54, false:54, void:60, typeof:64, null:78, super:80, new:114, await:131, yield:133, delete:134, class:144, extends:146, public:189, private:189, protected:189, readonly:191, instanceof:212, in:214, const:216, import:248, keyof:303, unique:307, infer:313, is:347, abstract:367, implements:369, type:371, let:374, var:376, interface:383, enum:387, namespace:393, module:395, declare:399, global:403, for:424, of:433, while:436, with:440, do:444, if:448, else:450, switch:454, case:460, try:466, catch:468, finally:470, return:474, throw:478, break:482, continue:486, debugger:490}; -+const spec_word = {__proto__:null,async:101, get:103, set:105, public:153, private:153, protected:153, static:155, abstract:157, override:159, readonly:165, new:351}; - const spec_LessThan = {__proto__:null,"<":121}; - const parser = LRParser.deserialize({ - version: 13, -- states: "$1WO`QYOOO'QQ!LdO'#CgO'XOSO'#DSO)dQYO'#DXO)tQYO'#DdO){QYO'#DnO-xQYO'#DtOOQO'#EX'#EXO.]QWO'#EWO.bQWO'#EWOOQ!LS'#Eb'#EbO0aQ!LdO'#IqO2wQ!LdO'#IrO3eQWO'#EvO3jQpO'#F]OOQ!LS'#FO'#FOO3rO!bO'#FOO4QQWO'#FdO5_QWO'#FcOOQ!LS'#Ir'#IrOOQ!LQ'#Iq'#IqOOQQ'#J['#J[O5dQWO'#HjO5iQ!LYO'#HkOOQQ'#Ic'#IcOOQQ'#Hl'#HlQ`QYOOO){QYO'#DfO5qQWO'#GWO5vQ#tO'#ClO6UQWO'#EVO6aQWO'#EcO6fQ#tO'#E}O7QQWO'#GWO7VQWO'#G[O7bQWO'#G[O7pQWO'#G_O7pQWO'#G`O7pQWO'#GbO5qQWO'#GeO8aQWO'#GhO9oQWO'#CcO:PQWO'#GuO:XQWO'#G{O:XQWO'#G}O`QYO'#HPO:XQWO'#HRO:XQWO'#HUO:^QWO'#H[O:cQ!LZO'#H`O){QYO'#HbO:nQ!LZO'#HdO:yQ!LZO'#HfO5iQ!LYO'#HhO){QYO'#IsOOOS'#Hn'#HnO;UOSO,59nOOQ!LS,59n,59nO=gQbO'#CgO=qQYO'#HoO>OQWO'#ItO?}QbO'#ItO'dQYO'#ItO@UQWO,59sO@lQ&jO'#D^OAeQWO'#EXOArQWO'#JPOA}QWO'#JOOBVQWO,5:uOB[QWO'#I}OBcQWO'#DuO5vQ#tO'#EVOBqQWO'#EVOB|Q`O'#E}OOQ!LS,5:O,5:OOCUQYO,5:OOESQ!LdO,5:YOEpQWO,5:`OFZQ!LYO'#I|O7VQWO'#I{OFbQWO'#I{OFjQWO,5:tOFoQWO'#I{OF}QYO,5:rOH}QWO'#ESOJXQWO,5:rOKhQWO'#DhOKoQYO'#DmOKyQ&jO,5:{O){QYO,5:{OOQQ'#En'#EnOOQQ'#Ep'#EpO){QYO,5:}O){QYO,5:}O){QYO,5:}O){QYO,5:}O){QYO,5:}O){QYO,5:}O){QYO,5:}O){QYO,5:}O){QYO,5:}O){QYO,5:}O){QYO,5:}OOQQ'#Et'#EtOLRQYO,5;_OOQ!LS,5;d,5;dOOQ!LS,5;e,5;eONRQWO,5;eOOQ!LS,5;f,5;fO){QYO'#HyONWQ!LYO,5<PONrQWO,5:}O){QYO,5;bO! [QpO'#JTONyQpO'#JTO! cQpO'#JTO! tQpO,5;mOOOO,5;w,5;wO!!SQYO'#F_OOOO'#Hx'#HxO3rO!bO,5;jO!!ZQpO'#FaOOQ!LS,5;j,5;jO!!wQ,UO'#CqOOQ!LS'#Ct'#CtO!#[QWO'#CtO!#aOSO'#CxO!#}Q#tO,5;|O!$UQWO,5<OO!%bQWO'#FnO!%oQWO'#FoO!%tQWO'#FsO!&vQ&jO'#FwO!'iQ,UO'#IlOOQ!LS'#Il'#IlO!'sQWO'#IkO!(RQWO'#IjOOQ!LS'#Cr'#CrOOQ!LS'#Cy'#CyO!(ZQWO'#C{OJ^QWO'#FfOJ^QWO'#FhO!(`QWO'#FjO!(eQWO'#FkO!(jQWO'#FqOJ^QWO'#FvO!(oQWO'#EYO!)WQWO,5;}O`QYO,5>UOOQQ'#If'#IfOOQQ,5>V,5>VOOQQ-E;j-E;jO!+SQ!LdO,5:QOOQ!LQ'#Co'#CoO!+sQ#tO,5<rOOQO'#Ce'#CeO!,UQWO'#CpO!,^Q!LYO'#IgO5_QWO'#IgO:^QWO,59WO!,lQpO,59WO!,tQ#tO,59WO5vQ#tO,59WO!-PQWO,5:rO!-XQWO'#GtO!-dQWO'#J`O){QYO,5;gO!-lQ&jO,5;iO!-qQWO,5=_O!-vQWO,5=_O!-{QWO,5=_O5iQ!LYO,5=_O5qQWO,5<rO!.ZQWO'#EZO!.lQ&jO'#E[OOQ!LQ'#I}'#I}O!.}Q!LYO'#J]O5iQ!LYO,5<vO7pQWO,5<|OOQO'#Cq'#CqO!/YQpO,5<yO!/bQ#tO,5<zO!/mQWO,5<|O!/rQ`O,5=PO:^QWO'#GjO5qQWO'#GlO!/zQWO'#GlO5vQ#tO'#GoO!0PQWO'#GoOOQQ,5=S,5=SO!0UQWO'#GpO!0^QWO'#ClO!0cQWO,58}O!0mQWO,58}O!2oQYO,58}OOQQ,58},58}O!2|Q!LYO,58}O){QYO,58}O!3XQYO'#GwOOQQ'#Gx'#GxOOQQ'#Gy'#GyO`QYO,5=aO!3iQWO,5=aO){QYO'#DtO`QYO,5=gO`QYO,5=iO!3nQWO,5=kO`QYO,5=mO!3sQWO,5=pO!3xQYO,5=vOOQQ,5=z,5=zO){QYO,5=zO5iQ!LYO,5=|OOQQ,5>O,5>OO!7yQWO,5>OOOQQ,5>Q,5>QO!7yQWO,5>QOOQQ,5>S,5>SO!8OQ`O,5?_OOOS-E;l-E;lOOQ!LS1G/Y1G/YO!8TQbO,5>ZO){QYO,5>ZOOQO-E;m-E;mO!8_QWO,5?`O!8gQbO,5?`O!8nQWO,5?jOOQ!LS1G/_1G/_O!8vQpO'#DQOOQO'#Iv'#IvO){QYO'#IvO!9eQpO'#IvO!:SQpO'#D_O!:eQ&jO'#D_O!<pQYO'#D_O!<wQWO'#IuO!=PQWO,59xO!=UQWO'#E]O!=dQWO'#JQO!=lQWO,5:vO!>SQ&jO'#D_O){QYO,5?kO!>^QWO'#HtO!8nQWO,5?jOOQ!LQ1G0a1G0aO!?jQ&jO'#DxOOQ!LS,5:a,5:aO){QYO,5:aOH}QWO,5:aO!?qQWO,5:aO:^QWO,5:qO!,lQpO,5:qO!,tQ#tO,5:qO5vQ#tO,5:qOOQ!LS1G/j1G/jOOQ!LS1G/z1G/zOOQ!LQ'#ER'#ERO){QYO,5?hO!?|Q!LYO,5?hO!@_Q!LYO,5?hO!@fQWO,5?gO!@nQWO'#HvO!@fQWO,5?gOOQ!LQ1G0`1G0`O7VQWO,5?gOOQ!LS1G0^1G0^O!AYQ!LdO1G0^O!AyQ!LbO,5:nOOQ!LS'#Fm'#FmO!BgQ!LdO'#IlOF}QYO1G0^O!DfQ#tO'#IwO!DpQWO,5:SO!DuQbO'#IxO){QYO'#IxO!EPQWO,5:XOOQ!LS'#DQ'#DQOOQ!LS1G0g1G0gO!EUQWO1G0gO!GgQ!LdO1G0iO!GnQ!LdO1G0iO!JRQ!LdO1G0iO!JYQ!LdO1G0iO!LaQ!LdO1G0iO!LtQ!LdO1G0iO# eQ!LdO1G0iO# lQ!LdO1G0iO#$PQ!LdO1G0iO#$WQ!LdO1G0iO#%{Q!LdO1G0iO#(uQ7^O'#CgO#*pQ7^O1G0yO#,kQ7^O'#IrOOQ!LS1G1P1G1PO#-OQ!LdO,5>eOOQ!LQ-E;w-E;wO#-oQ!LdO1G0iOOQ!LS1G0i1G0iO#/qQ!LdO1G0|O#0bQpO,5;oO#0gQpO,5;pO#0lQpO'#FWO#1QQWO'#FVOOQO'#JU'#JUOOQO'#Hw'#HwO#1VQpO1G1XOOQ!LS1G1X1G1XOOOO1G1b1G1bO#1eQ7^O'#IqO#1oQWO,5;yOLRQYO,5;yOOOO-E;v-E;vOOQ!LS1G1U1G1UOOQ!LS,5;{,5;{O#1tQpO,5;{OOQ!LS,59`,59`OH}QWO'#InOOOS'#Hm'#HmO#1yOSO,59dOOQ!LS,59d,59dO){QYO1G1hO!(eQWO'#H{O#2UQWO,5<aOOQ!LS,5<^,5<^OOQO'#GR'#GROJ^QWO,5<lOOQO'#GT'#GTOJ^QWO,5<nOJ^QWO,5<pOOQO1G1j1G1jO#2aQ`O'#CoO#2tQ`O,5<YO#2{QWO'#JXO5qQWO'#JXO#3ZQWO,5<[OJ^QWO,5<ZO#3`Q`O'#FmO#3mQ`O'#JYO#3wQWO'#JYOH}QWO'#JYO#3|QWO,5<_OOQ!LQ'#Dc'#DcO#4RQWO'#FpO#4^QpO'#FxO!&qQ&jO'#FxO!&qQ&jO'#FzO#4oQWO'#F{O!(jQWO'#GOOOQO'#H}'#H}O#4tQ&jO,5<cOOQ!LS,5<c,5<cO#4{Q&jO'#FxO#5ZQ&jO'#FyO#5cQ&jO'#FyOOQ!LS,5<q,5<qOJ^QWO,5?VOJ^QWO,5?VO#5hQWO'#IOO#5sQWO,5?UOOQ!LS'#Cg'#CgO#6gQ#tO,59gOOQ!LS,59g,59gO#7YQ#tO,5<QO#7{Q#tO,5<SO#8VQWO,5<UOOQ!LS,5<V,5<VO#8[QWO,5<]O#8aQ#tO,5<bOF}QYO1G1iO#8qQWO1G1iOOQQ1G3p1G3pOOQ!LS1G/l1G/lONRQWO1G/lOOQQ1G2^1G2^OH}QWO1G2^O){QYO1G2^OH}QWO1G2^O#8vQWO1G2^O#9UQWO,59[O#:_QWO'#ESOOQ!LQ,5?R,5?RO#:iQ!LYO,5?ROOQQ1G.r1G.rO:^QWO1G.rO!,lQpO1G.rO!,tQ#tO1G.rO#:wQWO1G0^O#:|QWO'#CgO#;XQWO'#JaO#;aQWO,5=`O#;fQWO'#JaO#;kQWO'#JaO#;pQWO'#IWO#<OQWO,5?zO#<WQbO1G1ROOQ!LS1G1T1G1TO5qQWO1G2yO#<_QWO1G2yO#<dQWO1G2yO#<iQWO1G2yOOQQ1G2y1G2yO#<nQ#tO1G2^O7VQWO'#JOO7VQWO'#E]O7VQWO'#IQO#=PQ!LYO,5?wOOQQ1G2b1G2bO!/mQWO1G2hOH}QWO1G2eO#=[QWO1G2eOOQQ1G2f1G2fOH}QWO1G2fO#=aQWO1G2fO#=iQ&jO'#GdOOQQ1G2h1G2hO!&qQ&jO'#ISO!/rQ`O1G2kOOQQ1G2k1G2kOOQQ,5=U,5=UO#=qQ#tO,5=WO5qQWO,5=WO#4oQWO,5=ZO5_QWO,5=ZO!,lQpO,5=ZO!,tQ#tO,5=ZO5vQ#tO,5=ZO#>SQWO'#J_O#>_QWO,5=[OOQQ1G.i1G.iO#>dQ!LYO1G.iO#>oQWO1G.iO!(ZQWO1G.iO5iQ!LYO1G.iO#>tQbO,5?|O#?OQWO,5?|O#?ZQYO,5=cO#?bQWO,5=cO7VQWO,5?|OOQQ1G2{1G2{O`QYO1G2{OOQQ1G3R1G3ROOQQ1G3T1G3TO:XQWO1G3VO#?gQYO1G3XO#CbQYO'#HWOOQQ1G3[1G3[O:^QWO1G3bO#CoQWO1G3bO5iQ!LYO1G3fOOQQ1G3h1G3hOOQ!LQ'#Ft'#FtO5iQ!LYO1G3jO5iQ!LYO1G3lOOOS1G4y1G4yO#CwQ`O,5<PO#DPQbO1G3uO#DZQWO1G4zO#DcQWO1G5UO#DkQWO,5?bOLRQYO,5:wO7VQWO,5:wO:^QWO,59yOLRQYO,59yO!,lQpO,59yO#DpQ7^O,59yOOQO,5:w,5:wO#DzQ&jO'#HpO#EbQWO,5?aOOQ!LS1G/d1G/dO#EjQ&jO'#HuO#FOQWO,5?lOOQ!LQ1G0b1G0bO!:eQ&jO,59yO#FWQbO1G5VOOQO,5>`,5>`O7VQWO,5>`OOQO-E;r-E;rOOQ!LQ'#EO'#EOO#FbQ!LrO'#EPO!?bQ&jO'#DyOOQO'#Hs'#HsO#F|Q&jO,5:dOOQ!LS,5:d,5:dO#GTQ&jO'#DyO#GfQ&jO'#DyO#GmQ&jO'#EUO#GpQ&jO'#EPO#G}Q&jO'#EPO!?bQ&jO'#EPO#HbQWO1G/{O#HgQ`O1G/{OOQ!LS1G/{1G/{O){QYO1G/{OH}QWO1G/{OOQ!LS1G0]1G0]O:^QWO1G0]O!,lQpO1G0]O!,tQ#tO1G0]O#HnQ!LdO1G5SO){QYO1G5SO#IOQ!LYO1G5SO#IaQWO1G5RO7VQWO,5>bOOQO,5>b,5>bO#IiQWO,5>bOOQO-E;t-E;tO#IaQWO1G5RO#IwQ!LdO,59gO#KvQ!LdO,5<QO#MxQ!LdO,5<SO$ zQ!LdO,5<bOOQ!LS7+%x7+%xO$$SQ!LdO7+%xO$$sQWO'#HqO$$}QWO,5?cOOQ!LS1G/n1G/nO$%VQYO'#HrO$%dQWO,5?dO$%lQbO,5?dOOQ!LS1G/s1G/sOOQ!LS7+&R7+&RO$%vQ7^O,5:YO){QYO7+&eO$&QQ7^O,5:QOOQO1G1Z1G1ZOOQO1G1[1G1[O$&_QMhO,5;rOLRQYO,5;qOOQO-E;u-E;uOOQ!LS7+&s7+&sOOOO7+&|7+&|OOOO1G1e1G1eO$&jQWO1G1eOOQ!LS1G1g1G1gO$&oQ`O,5?YOOOS-E;k-E;kOOQ!LS1G/O1G/OO$&vQ!LdO7+'SOOQ!LS,5>g,5>gO$'gQWO,5>gOOQ!LS1G1{1G1{P$'lQWO'#H{POQ!LS-E;y-E;yO$(]Q#tO1G2WO$)OQ#tO1G2YO$)YQ#tO1G2[OOQ!LS1G1t1G1tO$)aQWO'#HzO$)oQWO,5?sO$)oQWO,5?sO$)wQWO,5?sO$*SQWO,5?sOOQO1G1v1G1vO$*bQ#tO1G1uO$*rQWO'#H|O$+SQWO,5?tOH}QWO,5?tO$+[Q`O,5?tOOQ!LS1G1y1G1yO5iQ!LYO,5<dO5iQ!LYO,5<eO$+fQWO,5<eO#4jQWO,5<eO!,lQpO,5<dO$+kQWO,5<fO5iQ!LYO,5<gO$+fQWO,5<jOOQO-E;{-E;{OOQ!LS1G1}1G1}O!&qQ&jO,5<dO$+sQWO,5<eO!&qQ&jO,5<fO!&qQ&jO,5<eO$,OQ#tO1G4qO$,YQ#tO1G4qOOQO,5>j,5>jOOQO-E;|-E;|O!-lQ&jO,59iO){QYO,59iO$,gQWO1G1pOJ^QWO1G1wO$,lQ!LdO7+'TOOQ!LS7+'T7+'TOF}QYO7+'TOOQ!LS7+%W7+%WO$-]Q`O'#JZO#HbQWO7+'xO$-gQWO7+'xO$-oQ`O7+'xOOQQ7+'x7+'xOH}QWO7+'xO){QYO7+'xOH}QWO7+'xOOQO1G.v1G.vO$-yQ!LbO'#CgO$.ZQ!LbO,5<hO$.xQWO,5<hOOQ!LQ1G4m1G4mOOQQ7+$^7+$^O:^QWO7+$^O!,lQpO7+$^OF}QYO7+%xO$.}QWO'#IVO$/]QWO,5?{OOQO1G2z1G2zO5qQWO,5?{O$/]QWO,5?{O$/eQWO,5?{OOQO,5>r,5>rOOQO-E<U-E<UOOQ!LS7+&m7+&mO$/jQWO7+(eO5iQ!LYO7+(eO5qQWO7+(eO$/oQWO7+(eO$/tQWO7+'xOOQ!LQ,5>l,5>lOOQ!LQ-E<O-E<OOOQQ7+(S7+(SO$0SQ!LbO7+(POH}QWO7+(PO$0^Q`O7+(QOOQQ7+(Q7+(QOH}QWO7+(QO$0eQWO'#J^O$0pQWO,5=OOOQO,5>n,5>nOOQO-E<Q-E<QOOQQ7+(V7+(VO$1jQ&jO'#GmOOQQ1G2r1G2rOH}QWO1G2rO){QYO1G2rOH}QWO1G2rO$1qQWO1G2rO$2PQ#tO1G2rO5iQ!LYO1G2uO#4oQWO1G2uO5_QWO1G2uO!,lQpO1G2uO!,tQ#tO1G2uO$2bQWO'#IUO$2mQWO,5?yO$2uQ&jO,5?yOOQ!LQ1G2v1G2vOOQQ7+$T7+$TO$2zQWO7+$TO5iQ!LYO7+$TO$3PQWO7+$TO){QYO1G5hO){QYO1G5iO$3UQYO1G2}O$3]QWO1G2}O$3bQYO1G2}O$3iQ!LYO1G5hOOQQ7+(g7+(gO5iQ!LYO7+(qO`QYO7+(sOOQQ'#Jd'#JdOOQQ'#IX'#IXO$3sQYO,5=rOOQQ,5=r,5=rO){QYO'#HXO$4QQWO'#HZOOQQ7+(|7+(|O$4VQYO7+(|O7VQWO7+(|OOQQ7+)Q7+)QOOQQ7+)U7+)UOOQQ7+)W7+)WOOQO1G4|1G4|O$8TQ7^O1G0cO$8_QWO1G0cOOQO1G/e1G/eO$8jQ7^O1G/eO:^QWO1G/eOLRQYO'#D_OOQO,5>[,5>[OOQO-E;n-E;nOOQO,5>a,5>aOOQO-E;s-E;sO!,lQpO1G/eOOQO1G3z1G3zO:^QWO,5:eOOQO,5:k,5:kO){QYO,5:kO$8tQ!LYO,5:kO$9PQ!LYO,5:kO!,lQpO,5:eOOQO-E;q-E;qOOQ!LS1G0O1G0OO!?bQ&jO,5:eO$9_Q&jO,5:eO$9pQ!LrO,5:kO$:[Q&jO,5:eO!?bQ&jO,5:kOOQO,5:p,5:pO$:cQ&jO,5:kO$:pQ!LYO,5:kOOQ!LS7+%g7+%gO#HbQWO7+%gO#HgQ`O7+%gOOQ!LS7+%w7+%wO:^QWO7+%wO!,lQpO7+%wO$;UQ!LdO7+*nO){QYO7+*nOOQO1G3|1G3|O7VQWO1G3|O$;fQWO7+*mO$;nQ!LdO1G2WO$=pQ!LdO1G2YO$?rQ!LdO1G1uO$AzQ#tO,5>]OOQO-E;o-E;oO$BUQbO,5>^O){QYO,5>^OOQO-E;p-E;pO$B`QWO1G5OO$BhQ7^O1G0^O$DoQ7^O1G0iO$DvQ7^O1G0iO$FwQ7^O1G0iO$GOQ7^O1G0iO$HsQ7^O1G0iO$IWQ7^O1G0iO$KeQ7^O1G0iO$KlQ7^O1G0iO$MmQ7^O1G0iO$MtQ7^O1G0iO% iQ7^O1G0iO% |Q!LdO<<JPO%!mQ7^O1G0iO%$]Q7^O'#IlO%&YQ7^O1G0|OLRQYO'#FYOOQO'#JV'#JVOOQO1G1^1G1^O%&gQWO1G1]O%&lQ7^O,5>eOOOO7+'P7+'POOOS1G4t1G4tOOQ!LS1G4R1G4ROJ^QWO7+'vO%&vQWO,5>fO5qQWO,5>fOOQO-E;x-E;xO%'UQWO1G5_O%'UQWO1G5_O%'^QWO1G5_O%'iQ`O,5>hO%'sQWO,5>hOH}QWO,5>hOOQO-E;z-E;zO%'xQ`O1G5`O%(SQWO1G5`OOQO1G2O1G2OOOQO1G2P1G2PO5iQ!LYO1G2PO$+fQWO1G2PO5iQ!LYO1G2OO%([QWO1G2QOH}QWO1G2QOOQO1G2R1G2RO5iQ!LYO1G2UO!,lQpO1G2OO#4jQWO1G2PO%(aQWO1G2QO%(iQWO1G2POJ^QWO7+*]OOQ!LS1G/T1G/TO%(tQWO1G/TOOQ!LS7+'[7+'[O%(yQ#tO7+'cO%)ZQ!LdO<<JoOOQ!LS<<Jo<<JoOH}QWO'#IPO%)zQWO,5?uOOQQ<<Kd<<KdOH}QWO<<KdO#HbQWO<<KdO%*SQWO<<KdO%*[Q`O<<KdOH}QWO1G2SOOQQ<<Gx<<GxO:^QWO<<GxO%*fQ!LdO<<IdOOQ!LS<<Id<<IdOOQO,5>q,5>qO%+VQWO,5>qO#;kQWO,5>qOOQO-E<T-E<TO%+[QWO1G5gO%+[QWO1G5gO5qQWO1G5gO%+dQWO<<LPOOQQ<<LP<<LPO%+iQWO<<LPO5iQ!LYO<<LPO){QYO<<KdOH}QWO<<KdOOQQ<<Kk<<KkO$0SQ!LbO<<KkOOQQ<<Kl<<KlO$0^Q`O<<KlO%+nQ&jO'#IRO%+yQWO,5?xOLRQYO,5?xOOQQ1G2j1G2jO#FbQ!LrO'#EPO!?bQ&jO'#GnOOQO'#IT'#ITO%,RQ&jO,5=XOOQQ,5=X,5=XO%,YQ&jO'#EPO%,eQ&jO'#EPO%,|Q&jO'#EPO%-WQ&jO'#GnO%-iQWO7+(^O%-nQWO7+(^O%-vQ`O7+(^OOQQ7+(^7+(^OH}QWO7+(^O){QYO7+(^OH}QWO7+(^O%.QQWO7+(^OOQQ7+(a7+(aO5iQ!LYO7+(aO#4oQWO7+(aO5_QWO7+(aO!,lQpO7+(aO%.`QWO,5>pOOQO-E<S-E<SOOQO'#Gq'#GqO%.kQWO1G5eO5iQ!LYO<<GoOOQQ<<Go<<GoO%.sQWO<<GoO%.xQWO7++SO%.}QWO7++TOOQQ7+(i7+(iO%/SQWO7+(iO%/XQYO7+(iO%/`QWO7+(iO){QYO7++SO){QYO7++TOOQQ<<L]<<L]OOQQ<<L_<<L_OOQQ-E<V-E<VOOQQ1G3^1G3^O%/eQWO,5=sOOQQ,5=u,5=uO:^QWO<<LhO%/jQWO<<LhOLRQYO7+%}OOQO7+%P7+%PO%/oQ7^O1G5VO:^QWO7+%POOQO1G0P1G0PO%/yQ!LdO1G0VOOQO1G0V1G0VO){QYO1G0VO%0TQ!LYO1G0VO:^QWO1G0PO!,lQpO1G0PO!?bQ&jO1G0PO%0`Q!LYO1G0VO%0nQ&jO1G0PO%1PQ!LYO1G0VO%1eQ!LrO1G0VO%1oQ&jO1G0PO!?bQ&jO1G0VOOQ!LS<<IR<<IROOQ!LS<<Ic<<IcO:^QWO<<IcO%1vQ!LdO<<NYOOQO7+)h7+)hO%2WQ!LdO7+'cO%4`QbO1G3xO%4jQ7^O7+%xO%4wQ7^O,59gO%6tQ7^O,5<QO%8qQ7^O,5<SO%:nQ7^O,5<bO%<^Q7^O7+'SO%<kQ7^O7+'TO%<xQWO,5;tOOQO7+&w7+&wO%<}Q#tO<<KbOOQO1G4Q1G4QO%=_QWO1G4QO%=jQWO1G4QO%=xQWO7+*yO%=xQWO7+*yOH}QWO1G4SO%>QQ`O1G4SO%>[QWO7+*zOOQO7+'k7+'kO5iQ!LYO7+'kOOQO7+'j7+'jO$+fQWO7+'lO%>dQ`O7+'lOOQO7+'p7+'pO5iQ!LYO7+'jO$+fQWO7+'kO%>kQWO7+'lOH}QWO7+'lO#4jQWO7+'kO%>pQ#tO<<MwOOQ!LS7+$o7+$oO%>zQ`O,5>kOOQO-E;}-E;}O#HbQWOANAOOOQQANAOANAOOH}QWOANAOO%?UQ!LbO7+'nOOQQAN=dAN=dO5qQWO1G4]OOQO1G4]1G4]O%?cQWO1G4]O%?hQWO7++RO%?hQWO7++RO5iQ!LYOANAkO%?pQWOANAkOOQQANAkANAkO%?uQWOANAOO%?}Q`OANAOOOQQANAVANAVOOQQANAWANAWO%@XQWO,5>mOOQO-E<P-E<PO%@dQ7^O1G5dO#4oQWO,5=YO5_QWO,5=YO!,lQpO,5=YOOQO-E<R-E<ROOQQ1G2s1G2sO$9pQ!LrO,5:kO!?bQ&jO,5=YO%@nQ&jO,5=YO%APQ&jO,5:kOOQQ<<Kx<<KxOH}QWO<<KxO%-iQWO<<KxO%AZQWO<<KxO%AcQ`O<<KxO){QYO<<KxOH}QWO<<KxOOQQ<<K{<<K{O5iQ!LYO<<K{O#4oQWO<<K{O5_QWO<<K{O%AmQ&jO1G4[O%ArQWO7++POOQQAN=ZAN=ZO5iQ!LYOAN=ZOOQQ<<Nn<<NnOOQQ<<No<<NoOOQQ<<LT<<LTO%AzQWO<<LTO%BPQYO<<LTO%BWQWO<<NnO%B]QWO<<NoOOQQ1G3_1G3_OOQQANBSANBSO:^QWOANBSO%BbQ7^O<<IiOOQO<<Hk<<HkOOQO7+%q7+%qO%/yQ!LdO7+%qO){QYO7+%qOOQO7+%k7+%kO:^QWO7+%kO!,lQpO7+%kO%BlQ!LYO7+%qO!?bQ&jO7+%kO%BwQ!LYO7+%qO%CVQ&jO7+%kO%ChQ!LYO7+%qOOQ!LSAN>}AN>}O%C|Q!LdO<<KbO%FUQ7^O<<JPO%FcQ7^O1G1uO%HRQ7^O1G2WO%JOQ7^O1G2YO%K{Q7^O<<JoO%LYQ7^O<<IdOOQO1G1`1G1`OOQO7+)l7+)lO%LgQWO7+)lO%LrQWO<<NeO%LzQ`O7+)nOOQO<<KV<<KVO5iQ!LYO<<KWO$+fQWO<<KWOOQO<<KU<<KUO5iQ!LYO<<KVO%MUQ`O<<KWO$+fQWO<<KVOOQQG26jG26jO#HbQWOG26jOOQO7+)w7+)wO5qQWO7+)wO%M]QWO<<NmOOQQG27VG27VO5iQ!LYOG27VOH}QWOG26jOLRQYO1G4XO%MeQWO7++OO5iQ!LYO1G2tO#4oQWO1G2tO5_QWO1G2tO!,lQpO1G2tO!?bQ&jO1G2tO%1eQ!LrO1G0VO%MmQ&jO1G2tO%-iQWOANAdOOQQANAdANAdOH}QWOANAdO%NOQWOANAdO%NWQ`OANAdOOQQANAgANAgO5iQ!LYOANAgO#4oQWOANAgOOQO'#Gr'#GrOOQO7+)v7+)vOOQQG22uG22uOOQQANAoANAoO%NbQWOANAoOOQQANDYANDYOOQQANDZANDZO%NgQYOG27nOOQO<<I]<<I]O%/yQ!LdO<<I]OOQO<<IV<<IVO:^QWO<<IVO){QYO<<I]O!,lQpO<<IVO&$eQ!LYO<<I]O!?bQ&jO<<IVO&$pQ!LYO<<I]O&%OQ7^O7+'cOOQO<<MW<<MWOOQOAN@rAN@rO5iQ!LYOAN@rOOQOAN@qAN@qO$+fQWOAN@rO5iQ!LYOAN@qOOQQLD,ULD,UOOQO<<Mc<<McOOQQLD,qLD,qO#HbQWOLD,UO&&nQ7^O7+)sOOQO7+(`7+(`O5iQ!LYO7+(`O#4oQWO7+(`O5_QWO7+(`O!,lQpO7+(`O!?bQ&jO7+(`OOQQG27OG27OO%-iQWOG27OOH}QWOG27OOOQQG27RG27RO5iQ!LYOG27ROOQQG27ZG27ZO:^QWOLD-YOOQOAN>wAN>wOOQOAN>qAN>qO%/yQ!LdOAN>wO:^QWOAN>qO){QYOAN>wO!,lQpOAN>qO&&xQ!LYOAN>wO&'TQ7^O<<KbOOQOG26^G26^O5iQ!LYOG26^OOQOG26]G26]OOQQ!$( p!$( pOOQO<<Kz<<KzO5iQ!LYO<<KzO#4oQWO<<KzO5_QWO<<KzO!,lQpO<<KzOOQQLD,jLD,jO%-iQWOLD,jOOQQLD,mLD,mOOQQ!$(!t!$(!tOOQOG24cG24cOOQOG24]G24]O%/yQ!LdOG24cO:^QWOG24]O){QYOG24cOOQOLD+xLD+xOOQOANAfANAfO5iQ!LYOANAfO#4oQWOANAfO5_QWOANAfOOQQ!$(!U!$(!UOOQOLD)}LD)}OOQOLD)wLD)wO%/yQ!LdOLD)}OOQOG27QG27QO5iQ!LYOG27QO#4oQWOG27QOOQO!$'Mi!$'MiOOQOLD,lLD,lO5iQ!LYOLD,lOOQO!$(!W!$(!WOLRQYO'#DnO&(sQbO'#IqOLRQYO'#DfO&(zQ!LdO'#CgO&)eQbO'#CgO&)uQYO,5:rOLRQYO,5:}OLRQYO,5:}OLRQYO,5:}OLRQYO,5:}OLRQYO,5:}OLRQYO,5:}OLRQYO,5:}OLRQYO,5:}OLRQYO,5:}OLRQYO,5:}OLRQYO,5:}OLRQYO'#HyO&+uQWO,5<PO&-XQWO,5:}OLRQYO,5;bO!(ZQWO'#C{O!(ZQWO'#C{OH}QWO'#FfO&+}QWO'#FfOH}QWO'#FhO&+}QWO'#FhOH}QWO'#FvO&+}QWO'#FvOLRQYO,5?kO&)uQYO1G0^O&-`Q7^O'#CgOLRQYO1G1hOH}QWO,5<lO&+}QWO,5<lOH}QWO,5<nO&+}QWO,5<nOH}QWO,5<ZO&+}QWO,5<ZO&)uQYO1G1iOLRQYO7+&eOH}QWO1G1wO&+}QWO1G1wO&)uQYO7+'TO&)uQYO7+%xOH}QWO7+'vO&+}QWO7+'vO&-jQWO'#EWO&-oQWO'#EWO&-wQWO'#EvO&-|QWO'#EcO&.RQWO'#JPO&.^QWO'#I}O&.iQWO,5:rO&.nQ#tO,5;|O&.uQWO'#FoO&.zQWO'#FoO&/PQWO,5;}O&/XQWO,5:rO&/aQ7^O1G0yO&/hQWO,5<]O&/mQWO,5<]O&/rQWO1G1iO&/wQWO1G0^O&/|Q#tO1G2[O&0TQ#tO1G2[O4QQWO'#FdO5_QWO'#FcOBqQWO'#EVOLRQYO,5;_O!(jQWO'#FqO!(jQWO'#FqOJ^QWO,5<pOJ^QWO,5<p", -- stateData: "&1Q~O'TOS'UOSSOSTOS~OPTOQTOWyO]cO^hOanObmOgcOiTOjcOkcOnTOpTOuROwcOxcOycO!PSO!ZkO!`UO!cTO!dTO!eTO!fTO!gTO!jlO#`sO#ppO#t^O${qO$}tO%PrO%QrO%TuO%VvO%YwO%ZwO%]xO%jzO%p{O%r|O%t}O%v!OO%y!PO&P!QO&T!RO&V!SO&X!TO&Z!UO&]!VO'WPO'aQO'mYO'zaO~OPZXYZX^ZXiZXrZXsZXuZX}ZX!]ZX!^ZX!`ZX!fZX!wZX#ScX#WZX#XZX#YZX#ZZX#[ZX#]ZX#^ZX#_ZX#aZX#cZX#eZX#fZX#kZX'RZX'aZX'nZX'uZX'vZX~O!X$hX~P$zO'O!XO'P!WO'Q!ZO~OPTOQTO]cOa!jOb!iOgcOiTOjcOkcOnTOpTOuROwcOxcOycO!P!bO!ZkO!`UO!cTO!dTO!eTO!fTO!gTO!j!hO#p!kO#t^O'W![O'aQO'mYO'zaO~O|!`O}!]Oz'hPz'rP~P'dO!O!lO~P`OPTOQTO]cOa!jOb!iOgcOiTOjcOkcOnTOpTOuROwcOxcOycO!P!bO!ZkO!`UO!cTO!dTO!eTO!fTO!gTO!j!hO#p!kO#t^O'W9VO'aQO'mYO'zaO~OPTOQTO]cOa!jOb!iOgcOiTOjcOkcOnTOpTOuROwcOxcOycO!P!bO!ZkO!`UO!cTO!dTO!eTO!fTO!gTO!j!hO#p!kO#t^O'aQO'mYO'zaO~O|!qO#Q!tO#R!qO'W9WO!_'oP~P+{O#S!uO~O!X!vO#S!uO~OP#]OY#cOi#QOr!zOs!zOu!{O}#aO!]#SO!^!xO!`!yO!f#]O#W#OO#X#PO#Y#PO#Z#PO#[#RO#]#SO#^#SO#_#SO#a#TO#c#VO#e#XO#f#YO'aQO'n#ZO'u!|O'v!}O~O^'eX'R'eX!_'eXz'eX!P'eX$|'eX!X'eX~P.jO!w#dO#k#dOP'fXY'fX^'fXi'fXr'fXs'fXu'fX}'fX!]'fX!^'fX!`'fX!f'fX#W'fX#X'fX#Y'fX#Z'fX#['fX#]'fX#^'fX#a'fX#c'fX#e'fX#f'fX'a'fX'n'fX'u'fX'v'fX~O#_'fX'R'fXz'fX!_'fX'c'fX!P'fX$|'fX!X'fX~P0zO!w#dO~O#v#eO#}#iO~O!P#jO#t^O$Q#kO$S#mO~O]#pOg#}Oi#qOj#pOk#pOn$OOp$POu#wO!P#xO!Z$UO!`#uO#R$VO#p$SO$Z$QO$]$RO$`$TO'W#oO'a#rO'['^P~O!`$WO~O!X$YO~O^$ZO'R$ZO~O'W$_O~O!`$WO'W$_O'X$aO']$bO~Ob$hO!`$WO'W$_O~O#_#SO~O]$qOr$mO!P$jO!`$lO$}$pO'W$_O'X$aO[(SP~O!j$rO~Ou$sO!P$tO'W$_O~Ou$sO!P$tO%V$xO'W$_O~O'W$yO~O#`sO$}tO%PrO%QrO%TuO%VvO%YwO%ZwO~Oa%SOb%RO!j%PO${%QO%_%OO~P7uOa%VObmO!P%UO!jlO#`sO${qO%PrO%QrO%TuO%VvO%YwO%ZwO%]xO~O_%YO!w%]O$}%WO'X$aO~P8tO!`%^O!c%bO~O!`%cO~O!PSO~O^$ZO&}%kO'R$ZO~O^$ZO&}%nO'R$ZO~O^$ZO&}%pO'R$ZO~O'O!XO'P!WO'Q%tO~OPZXYZXiZXrZXsZXuZX}ZX}cX!]ZX!^ZX!`ZX!fZX!wZX!wcX#ScX#WZX#XZX#YZX#ZZX#[ZX#]ZX#^ZX#_ZX#aZX#cZX#eZX#fZX#kZX'aZX'nZX'uZX'vZX~OzZXzcX~P;aO|%vOz&cX}&cX~P){O}!]Oz'hX~OP#]OY#cOi#QOr!zOs!zOu!{O}!]O!]#SO!^!xO!`!yO!f#]O#W#OO#X#PO#Y#PO#Z#PO#[#RO#]#SO#^#SO#_#SO#a#TO#c#VO#e#XO#f#YO'aQO'n#ZO'u!|O'v!}O~Oz'hX~P>WOz%{O~Ou&OO!S&YO!T&RO!U&RO'X$aO~O]&POj&PO|&SO'd%|O!O'iP!O'tP~P@ZOz'qX}'qX!X'qX!_'qX'n'qX~O!w'qX#S!{X!O'qX~PASO!w&ZOz'sX}'sX~O}&[Oz'rX~Oz&^O~O!w#dO~PASOR&bO!P&_O!k&aO'W$_O~Ob&gO!`$WO'W$_O~Or$mO!`$lO~O!O&hO~P`Or!zOs!zOu!{O!^!xO!`!yO'aQOP!baY!bai!ba}!ba!]!ba!f!ba#W!ba#X!ba#Y!ba#Z!ba#[!ba#]!ba#^!ba#_!ba#a!ba#c!ba#e!ba#f!ba'n!ba'u!ba'v!ba~O^!ba'R!baz!ba!_!ba'c!ba!P!ba$|!ba!X!ba~PC]O!_&iO~O!X!vO!w&kO'n&jO}'pX^'pX'R'pX~O!_'pX~PEuO}&oO!_'oX~O!_&qO~Ou$sO!P$tO#R&rO'W$_O~OPTOQTO]cOa!jOb!iOgcOiTOjcOkcOnTOpTOuROwcOxcOycO!PSO!ZkO!`UO!cTO!dTO!eTO!fTO!gTO!j!hO#p!kO#t^O'W9VO'aQO'mYO'zaO~O]#pOg#}Oi#qOj#pOk#pOn$OOp9iOu#wO!P#xO!Z:lO!`#uO#R9oO#p$SO$Z9kO$]9mO$`$TO'W&vO'a#rO~O#S&xO~O]#pOg#}Oi#qOj#pOk#pOn$OOp$POu#wO!P#xO!Z$UO!`#uO#R$VO#p$SO$Z$QO$]$RO$`$TO'W&vO'a#rO~O'['kP~PJ^O|&|O!_'lP~P){O'd'OO'mYO~OP9SOQ9SO]cOa:jOb!iOgcOi9SOjcOkcOn9SOp9SOuROwcOxcOycO!P!bO!Z9UO!`UO!c9SO!d9SO!e9SO!f9SO!g9SO!j!hO#p!kO#t^O'W'^O'aQO'mYO'z:hO~O!`!yO~O}#aO^$Xa'R$Xa!_$Xaz$Xa!P$Xa$|$Xa!X$Xa~O#`'eO~PH}O!X'gO!P'wX#s'wX#v'wX#}'wX~Or'hO~PNyOr'hO!P'wX#s'wX#v'wX#}'wX~O!P'jO#s'nO#v'iO#}'oO~O|'rO~PLRO#v#eO#}'uO~Or$aXu$aX!^$aX'n$aX'u$aX'v$aX~OReX}eX!weX'[eX'[$aX~P!!cOj'wO~O'O'yO'P'xO'Q'{O~Or'}Ou(OO'n#ZO'u(QO'v(SO~O'['|O~P!#lO'[(VO~O]#pOg#}Oi#qOj#pOk#pOn$OOp9iOu#wO!P#xO!Z:lO!`#uO#R9oO#p$SO$Z9kO$]9mO$`$TO'a#rO~O|(ZO'W(WO!_'{P~P!$ZO#S(]O~O|(aO'W(^Oz'|P~P!$ZO^(jOi(oOu(gO!S(mO!T(fO!U(fO!`(dO!t(nO$s(iO'X$aO'd(cO~O!O(lO~P!&RO!^!xOr'`Xu'`X'n'`X'u'`X'v'`X}'`X!w'`X~O'['`X#i'`X~P!&}OR(rO!w(qO}'_X'['_X~O}(sO'['^X~O'W(uO~O!`(zO~O'W&vO~O!`(dO~Ou$sO|!qO!P$tO#Q!tO#R!qO'W$_O!_'oP~O!X!vO#S)OO~OP#]OY#cOi#QOr!zOs!zOu!{O!]#SO!^!xO!`!yO!f#]O#W#OO#X#PO#Y#PO#Z#PO#[#RO#]#SO#^#SO#_#SO#a#TO#c#VO#e#XO#f#YO'aQO'n#ZO'u!|O'v!}O~O^!Ya}!Ya'R!Yaz!Ya!_!Ya'c!Ya!P!Ya$|!Ya!X!Ya~P!)`OR)WO!P&_O!k)VO$|)UO']$bO~O'W$yO'['^P~O!X)ZO!P'ZX^'ZX'R'ZX~O!`$WO']$bO~O!`$WO'W$_O']$bO~O!X!vO#S&xO~O$})gO'W)cO!O(TP~O})hO[(SX~O'd'OO~OY)lO~O[)mO~O!P$jO'W$_O'X$aO[(SP~Ou$sO|)rO!P$tO'W$_Oz'rP~O]&VOj&VO|)sO'd'OO!O'tP~O})tO^(PX'R(PX~O!w)xO']$bO~OR){O!P#xO']$bO~O!P)}O~Or*PO!PSO~O!j*UO~Ob*ZO~O'W(uO!O(RP~Ob$hO~O$}tO'W$yO~P8tOY*aO[*`O~OPTOQTO]cOanObmOgcOiTOjcOkcOnTOpTOuROwcOxcOycO!ZkO!`UO!cTO!dTO!eTO!fTO!gTO!jlO#t^O${qO'aQO'mYO'zaO~O!P!bO#p!kO'W9VO~P!0uO[*`O^$ZO'R$ZO~O^*eO#`*gO%P*gO%Q*gO~P){O!`%^O~O%p*lO~O!P*nO~O&Q*qO&R*pOP&OaQ&OaW&Oa]&Oa^&Oaa&Oab&Oag&Oai&Oaj&Oak&Oan&Oap&Oau&Oaw&Oax&Oay&Oa!P&Oa!Z&Oa!`&Oa!c&Oa!d&Oa!e&Oa!f&Oa!g&Oa!j&Oa#`&Oa#p&Oa#t&Oa${&Oa$}&Oa%P&Oa%Q&Oa%T&Oa%V&Oa%Y&Oa%Z&Oa%]&Oa%j&Oa%p&Oa%r&Oa%t&Oa%v&Oa%y&Oa&P&Oa&T&Oa&V&Oa&X&Oa&Z&Oa&]&Oa&|&Oa'W&Oa'a&Oa'm&Oa'z&Oa!O&Oa%w&Oa_&Oa%|&Oa~O'W*tO~O'c*wO~Oz&ca}&ca~P!)`O}!]Oz'ha~Oz'ha~P>WO}&[Oz'ra~O}tX}!VX!OtX!O!VX!XtX!X!VX!`!VX!wtX']!VX~O!X+OO!w*}O}#PX}'jX!O#PX!O'jX!X'jX!`'jX']'jX~O!X+QO!`$WO']$bO}!RX!O!RX~O]%}Oj%}Ou&OO'd(cO~OP9SOQ9SO]cOa:jOb!iOgcOi9SOjcOkcOn9SOp9SOuROwcOxcOycO!P!bO!Z9UO!`UO!c9SO!d9SO!e9SO!f9SO!g9SO!j!hO#p!kO#t^O'aQO'mYO'z:hO~O'W9sO~P!:sO}+UO!O'iX~O!O+WO~O!X+OO!w*}O}#PX!O#PX~O}+XO!O'tX~O!O+ZO~O]%}Oj%}Ou&OO'X$aO'd(cO~O!T+[O!U+[O~P!=qOu$sO|+_O!P$tO'W$_Oz&hX}&hX~O^+dO!S+gO!T+cO!U+cO!n+kO!o+iO!p+jO!q+hO!t+lO'X$aO'd(cO'm+aO~O!O+fO~P!>rOR+qO!P&_O!k+pO~O!w+wO}'pa!_'pa^'pa'R'pa~O!X!vO~P!?|O}&oO!_'oa~Ou$sO|+zO!P$tO#Q+|O#R+zO'W$_O}&jX!_&jX~O^!zi}!zi'R!ziz!zi!_!zi'c!zi!P!zi$|!zi!X!zi~P!)`O#S!va}!va!_!va!w!va!P!va^!va'R!vaz!va~P!#lO#S'`XP'`XY'`X^'`Xi'`Xs'`X!]'`X!`'`X!f'`X#W'`X#X'`X#Y'`X#Z'`X#['`X#]'`X#^'`X#_'`X#a'`X#c'`X#e'`X#f'`X'R'`X'a'`X!_'`Xz'`X!P'`X'c'`X$|'`X!X'`X~P!&}O},VO'['kX~P!#lO'[,XO~O},YO!_'lX~P!)`O!_,]O~Oz,^O~OP#]Or!zOs!zOu!{O!^!xO!`!yO!f#]O'aQOY#Vi^#Vii#Vi}#Vi!]#Vi#X#Vi#Y#Vi#Z#Vi#[#Vi#]#Vi#^#Vi#_#Vi#a#Vi#c#Vi#e#Vi#f#Vi'R#Vi'n#Vi'u#Vi'v#Viz#Vi!_#Vi'c#Vi!P#Vi$|#Vi!X#Vi~O#W#Vi~P!EZO#W#OO~P!EZOP#]Or!zOs!zOu!{O!^!xO!`!yO!f#]O#W#OO#X#PO#Y#PO#Z#PO'aQOY#Vi^#Vi}#Vi!]#Vi#[#Vi#]#Vi#^#Vi#_#Vi#a#Vi#c#Vi#e#Vi#f#Vi'R#Vi'n#Vi'u#Vi'v#Viz#Vi!_#Vi'c#Vi!P#Vi$|#Vi!X#Vi~Oi#Vi~P!GuOi#QO~P!GuOP#]Oi#QOr!zOs!zOu!{O!^!xO!`!yO!f#]O#W#OO#X#PO#Y#PO#Z#PO#[#RO'aQO^#Vi}#Vi#a#Vi#c#Vi#e#Vi#f#Vi'R#Vi'n#Vi'u#Vi'v#Viz#Vi!_#Vi'c#Vi!P#Vi$|#Vi!X#Vi~OY#Vi!]#Vi#]#Vi#^#Vi#_#Vi~P!JaOY#cO!]#SO#]#SO#^#SO#_#SO~P!JaOP#]OY#cOi#QOr!zOs!zOu!{O!]#SO!^!xO!`!yO!f#]O#W#OO#X#PO#Y#PO#Z#PO#[#RO#]#SO#^#SO#_#SO#a#TO'aQO^#Vi}#Vi#c#Vi#e#Vi#f#Vi'R#Vi'n#Vi'v#Viz#Vi!_#Vi'c#Vi!P#Vi$|#Vi!X#Vi~O'u#Vi~P!MXO'u!|O~P!MXOP#]OY#cOi#QOr!zOs!zOu!{O!]#SO!^!xO!`!yO!f#]O#W#OO#X#PO#Y#PO#Z#PO#[#RO#]#SO#^#SO#_#SO#a#TO#c#VO'aQO'u!|O^#Vi}#Vi#e#Vi#f#Vi'R#Vi'n#Viz#Vi!_#Vi'c#Vi!P#Vi$|#Vi!X#Vi~O'v#Vi~P# sO'v!}O~P# sOP#]OY#cOi#QOr!zOs!zOu!{O!]#SO!^!xO!`!yO!f#]O#W#OO#X#PO#Y#PO#Z#PO#[#RO#]#SO#^#SO#_#SO#a#TO#c#VO#e#XO'aQO'u!|O'v!}O~O^#Vi}#Vi#f#Vi'R#Vi'n#Viz#Vi!_#Vi'c#Vi!P#Vi$|#Vi!X#Vi~P#$_OPZXYZXiZXrZXsZXuZX!]ZX!^ZX!`ZX!fZX!wZX#ScX#WZX#XZX#YZX#ZZX#[ZX#]ZX#^ZX#_ZX#aZX#cZX#eZX#fZX#kZX'aZX'nZX'uZX'vZX}ZX!OZX~O#iZX~P#&rOP#]OY9gOi9[Or!zOs!zOu!{O!]9^O!^!xO!`!yO!f#]O#W9YO#X9ZO#Y9ZO#Z9ZO#[9]O#]9^O#^9^O#_9^O#a9_O#c9aO#e9cO#f9dO'aQO'n#ZO'u!|O'v!}O~O#i,`O~P#(|OP'fXY'fXi'fXr'fXs'fXu'fX!]'fX!^'fX!`'fX!f'fX#W'fX#X'fX#Y'fX#Z'fX#['fX#]'fX#^'fX#a'fX#c'fX#e'fX#f'fX'a'fX'n'fX'u'fX'v'fX}'fX~O!w9hO#k9hO#_'fX#i'fX!O'fX~P#*wO^&ma}&ma'R&ma!_&ma'c&maz&ma!P&ma$|&ma!X&ma~P!)`OP#ViY#Vi^#Vii#Vis#Vi}#Vi!]#Vi!^#Vi!`#Vi!f#Vi#W#Vi#X#Vi#Y#Vi#Z#Vi#[#Vi#]#Vi#^#Vi#_#Vi#a#Vi#c#Vi#e#Vi#f#Vi'R#Vi'a#Viz#Vi!_#Vi'c#Vi!P#Vi$|#Vi!X#Vi~P!#lO^#ji}#ji'R#jiz#ji!_#ji'c#ji!P#ji$|#ji!X#ji~P!)`O#v,bO~O#v,cO~O!X'gO!w,dO!P#zX#s#zX#v#zX#}#zX~O|,eO~O!P'jO#s,gO#v'iO#},hO~O}9eO!O'eX~P#(|O!O,iO~O#},kO~O'O'yO'P'xO'Q,nO~O],qOj,qOz,rO~O}cX!XcX!_cX!_$aX'ncX~P!!cO!_,xO~P!#lO},yO!X!vO'n&jO!_'{X~O!_-OO~Oz$aX}$aX!X$hX~P!!cO}-QOz'|X~P!#lO!X-SO~Oz-UO~O|(ZO'W$_O!_'{P~Oi-YO!X!vO!`$WO']$bO'n&jO~O!X)ZO~O!O-`O~P!&RO!T-aO!U-aO'X$aO'd(cO~Ou-cO'd(cO~O!t-dO~O'W$yO}&rX'[&rX~O}(sO'['^a~Or-iOs-iOu-jO'noa'uoa'voa}oa!woa~O'[oa#ioa~P#5{Or'}Ou(OO'n$Ya'u$Ya'v$Ya}$Ya!w$Ya~O'[$Ya#i$Ya~P#6qOr'}Ou(OO'n$[a'u$[a'v$[a}$[a!w$[a~O'[$[a#i$[a~P#7dO]-kO~O#S-lO~O'[$ja}$ja#i$ja!w$ja~P!#lO#S-oO~OR-xO!P&_O!k-wO$|-vO~O'[-yO~O]#pOi#qOj#pOk#pOn$OOp9iOu#wO!P#xO!Z:lO!`#uO#R9oO#p$SO$Z9kO$]9mO$`$TO'a#rO~Og-{O'W-zO~P#9ZO!X)ZO!P'Za^'Za'R'Za~O#S.RO~OYZX}cX!OcX~O}.SO!O(TX~O!O.UO~OY.VO~O'W)cO~O!P$jO'W$_O[&zX}&zX~O})hO[(Sa~O!_.[O~P!)`O].^O~OY._O~O[.`O~OR-xO!P&_O!k-wO$|-vO']$bO~O})tO^(Pa'R(Pa~O!w.fO~OR.iO!P#xO~O'd'OO!O(QP~OR.sO!P.oO!k.rO$|.qO']$bO~OY.}O}.{O!O(RX~O!O/OO~O[/QO^$ZO'R$ZO~O]/RO~O#_/TO%n/UO~P0zO!w#dO#_/TO%n/UO~O^/VO~P){O^/XO~O%w/]OP%uiQ%uiW%ui]%ui^%uia%uib%uig%uii%uij%uik%uin%uip%uiu%uiw%uix%uiy%ui!P%ui!Z%ui!`%ui!c%ui!d%ui!e%ui!f%ui!g%ui!j%ui#`%ui#p%ui#t%ui${%ui$}%ui%P%ui%Q%ui%T%ui%V%ui%Y%ui%Z%ui%]%ui%j%ui%p%ui%r%ui%t%ui%v%ui%y%ui&P%ui&T%ui&V%ui&X%ui&Z%ui&]%ui&|%ui'W%ui'a%ui'm%ui'z%ui!O%ui_%ui%|%ui~O_/cO!O/aO%|/bO~P`O!PSO!`/fO~O}#aO'c$Xa~Oz&ci}&ci~P!)`O}!]Oz'hi~O}&[Oz'ri~Oz/jO~O}!Ra!O!Ra~P#(|O]%}Oj%}O|/pO'd(cO}&dX!O&dX~P@ZO}+UO!O'ia~O]&VOj&VO|)sO'd'OO}&iX!O&iX~O}+XO!O'ta~Oz'si}'si~P!)`O^$ZO!X!vO!`$WO!f/{O!w/yO'R$ZO']$bO'n&jO~O!O0OO~P!>rO!T0PO!U0PO'X$aO'd(cO'm+aO~O!S0QO~P#GTO!PSO!S0QO!q0SO!t0TO~P#GTO!S0QO!o0VO!p0VO!q0SO!t0TO~P#GTO!P&_O~O!P&_O~P!#lO}'pi!_'pi^'pi'R'pi~P!)`O!w0`O}'pi!_'pi^'pi'R'pi~O}&oO!_'oi~Ou$sO!P$tO#R0bO'W$_O~O#SoaPoaYoa^oaioa!]oa!^oa!`oa!foa#Woa#Xoa#Yoa#Zoa#[oa#]oa#^oa#_oa#aoa#coa#eoa#foa'Roa'aoa!_oazoa!Poa'coa$|oa!Xoa~P#5{O#S$YaP$YaY$Ya^$Yai$Yas$Ya!]$Ya!^$Ya!`$Ya!f$Ya#W$Ya#X$Ya#Y$Ya#Z$Ya#[$Ya#]$Ya#^$Ya#_$Ya#a$Ya#c$Ya#e$Ya#f$Ya'R$Ya'a$Ya!_$Yaz$Ya!P$Ya'c$Ya$|$Ya!X$Ya~P#6qO#S$[aP$[aY$[a^$[ai$[as$[a!]$[a!^$[a!`$[a!f$[a#W$[a#X$[a#Y$[a#Z$[a#[$[a#]$[a#^$[a#_$[a#a$[a#c$[a#e$[a#f$[a'R$[a'a$[a!_$[az$[a!P$[a'c$[a$|$[a!X$[a~P#7dO#S$jaP$jaY$ja^$jai$jas$ja}$ja!]$ja!^$ja!`$ja!f$ja#W$ja#X$ja#Y$ja#Z$ja#[$ja#]$ja#^$ja#_$ja#a$ja#c$ja#e$ja#f$ja'R$ja'a$ja!_$jaz$ja!P$ja!w$ja'c$ja$|$ja!X$ja~P!#lO^!zq}!zq'R!zqz!zq!_!zq'c!zq!P!zq$|!zq!X!zq~P!)`O}&eX'[&eX~PJ^O},VO'['ka~O|0jO}&fX!_&fX~P){O},YO!_'la~O},YO!_'la~P!)`O#i!ba!O!ba~PC]O#i!Ya}!Ya!O!Ya~P#(|O!P0}O#t^O#{1OO~O!O1SO~O'c1TO~P!#lO^$Uq}$Uq'R$Uqz$Uq!_$Uq'c$Uq!P$Uq$|$Uq!X$Uq~P!)`Oz1UO~O],qOj,qO~Or'}Ou(OO'v(SO'n$ti'u$ti}$ti!w$ti~O'[$ti#i$ti~P$'tOr'}Ou(OO'n$vi'u$vi'v$vi}$vi!w$vi~O'[$vi#i$vi~P$(gO#i1VO~P!#lO|1XO'W$_O}&nX!_&nX~O},yO!_'{a~O},yO!X!vO!_'{a~O},yO!X!vO'n&jO!_'{a~O'[$ci}$ci#i$ci!w$ci~P!#lO|1`O'W(^Oz&pX}&pX~P!$ZO}-QOz'|a~O}-QOz'|a~P!#lO!X!vO~O!X!vO#_1jO~Oi1nO!X!vO'n&jO~O}'_i'['_i~P!#lO!w1qO}'_i'['_i~P!#lO!_1tO~O^$Vq}$Vq'R$Vqz$Vq!_$Vq'c$Vq!P$Vq$|$Vq!X$Vq~P!)`O}1xO!P'}X~P!#lO!P&_O$|1{O~O!P&_O$|1{O~P!#lO!P$aX$qZX^$aX'R$aX~P!!cO$q2POrfXufX!PfX'nfX'ufX'vfX^fX'RfX~O$q2PO~O$}2WO'W)cO}&yX!O&yX~O}.SO!O(Ta~OY2[O~O[2]O~O]2`O~OR2bO!P&_O!k2aO$|1{O~O^$ZO'R$ZO~P!#lO!P#xO~P!#lO}2gO!w2iO!O(QX~O!O2jO~Ou(gO!S2sO!T2lO!U2lO!n2rO!o2qO!p2qO!t2pO'X$aO'd(cO'm+aO~O!O2oO~P$0uOR2zO!P.oO!k2yO$|2xO~OR2zO!P.oO!k2yO$|2xO']$bO~O'W(uO}&xX!O&xX~O}.{O!O(Ra~O'd3TO~O]3VO~O[3XO~O!_3[O~P){O^3^O~O^3^O~P){O#_3`O%n3aO~PEuO_/cO!O3eO%|/bO~P`O!X3gO~O&R3hOP&OqQ&OqW&Oq]&Oq^&Oqa&Oqb&Oqg&Oqi&Oqj&Oqk&Oqn&Oqp&Oqu&Oqw&Oqx&Oqy&Oq!P&Oq!Z&Oq!`&Oq!c&Oq!d&Oq!e&Oq!f&Oq!g&Oq!j&Oq#`&Oq#p&Oq#t&Oq${&Oq$}&Oq%P&Oq%Q&Oq%T&Oq%V&Oq%Y&Oq%Z&Oq%]&Oq%j&Oq%p&Oq%r&Oq%t&Oq%v&Oq%y&Oq&P&Oq&T&Oq&V&Oq&X&Oq&Z&Oq&]&Oq&|&Oq'W&Oq'a&Oq'm&Oq'z&Oq!O&Oq%w&Oq_&Oq%|&Oq~O}#Pi!O#Pi~P#(|O!w3jO}#Pi!O#Pi~O}!Ri!O!Ri~P#(|O^$ZO!w3qO'R$ZO~O^$ZO!X!vO!w3qO'R$ZO~O!T3uO!U3uO'X$aO'd(cO'm+aO~O^$ZO!X!vO!`$WO!f3vO!w3qO'R$ZO']$bO'n&jO~O!S3wO~P$9_O!S3wO!q3zO!t3{O~P$9_O^$ZO!X!vO!f3vO!w3qO'R$ZO'n&jO~O}'pq!_'pq^'pq'R'pq~P!)`O}&oO!_'oq~O#S$tiP$tiY$ti^$tii$tis$ti!]$ti!^$ti!`$ti!f$ti#W$ti#X$ti#Y$ti#Z$ti#[$ti#]$ti#^$ti#_$ti#a$ti#c$ti#e$ti#f$ti'R$ti'a$ti!_$tiz$ti!P$ti'c$ti$|$ti!X$ti~P$'tO#S$viP$viY$vi^$vii$vis$vi!]$vi!^$vi!`$vi!f$vi#W$vi#X$vi#Y$vi#Z$vi#[$vi#]$vi#^$vi#_$vi#a$vi#c$vi#e$vi#f$vi'R$vi'a$vi!_$viz$vi!P$vi'c$vi$|$vi!X$vi~P$(gO#S$ciP$ciY$ci^$cii$cis$ci}$ci!]$ci!^$ci!`$ci!f$ci#W$ci#X$ci#Y$ci#Z$ci#[$ci#]$ci#^$ci#_$ci#a$ci#c$ci#e$ci#f$ci'R$ci'a$ci!_$ciz$ci!P$ci!w$ci'c$ci$|$ci!X$ci~P!#lO}&ea'[&ea~P!#lO}&fa!_&fa~P!)`O},YO!_'li~O#i!zi}!zi!O!zi~P#(|OP#]Or!zOs!zOu!{O!^!xO!`!yO!f#]O'aQOY#Vii#Vi!]#Vi#X#Vi#Y#Vi#Z#Vi#[#Vi#]#Vi#^#Vi#_#Vi#a#Vi#c#Vi#e#Vi#f#Vi#i#Vi'n#Vi'u#Vi'v#Vi}#Vi!O#Vi~O#W#Vi~P$BuO#W9YO~P$BuOP#]Or!zOs!zOu!{O!^!xO!`!yO!f#]O#W9YO#X9ZO#Y9ZO#Z9ZO'aQOY#Vi!]#Vi#[#Vi#]#Vi#^#Vi#_#Vi#a#Vi#c#Vi#e#Vi#f#Vi#i#Vi'n#Vi'u#Vi'v#Vi}#Vi!O#Vi~Oi#Vi~P$D}Oi9[O~P$D}OP#]Oi9[Or!zOs!zOu!{O!^!xO!`!yO!f#]O#W9YO#X9ZO#Y9ZO#Z9ZO#[9]O'aQO#a#Vi#c#Vi#e#Vi#f#Vi#i#Vi'n#Vi'u#Vi'v#Vi}#Vi!O#Vi~OY#Vi!]#Vi#]#Vi#^#Vi#_#Vi~P$GVOY9gO!]9^O#]9^O#^9^O#_9^O~P$GVOP#]OY9gOi9[Or!zOs!zOu!{O!]9^O!^!xO!`!yO!f#]O#W9YO#X9ZO#Y9ZO#Z9ZO#[9]O#]9^O#^9^O#_9^O#a9_O'aQO#c#Vi#e#Vi#f#Vi#i#Vi'n#Vi'v#Vi}#Vi!O#Vi~O'u#Vi~P$IkO'u!|O~P$IkOP#]OY9gOi9[Or!zOs!zOu!{O!]9^O!^!xO!`!yO!f#]O#W9YO#X9ZO#Y9ZO#Z9ZO#[9]O#]9^O#^9^O#_9^O#a9_O#c9aO'aQO'u!|O#e#Vi#f#Vi#i#Vi'n#Vi}#Vi!O#Vi~O'v#Vi~P$KsO'v!}O~P$KsOP#]OY9gOi9[Or!zOs!zOu!{O!]9^O!^!xO!`!yO!f#]O#W9YO#X9ZO#Y9ZO#Z9ZO#[9]O#]9^O#^9^O#_9^O#a9_O#c9aO#e9cO'aQO'u!|O'v!}O~O#f#Vi#i#Vi'n#Vi}#Vi!O#Vi~P$M{O^#gy}#gy'R#gyz#gy!_#gy'c#gy!P#gy$|#gy!X#gy~P!)`OP#ViY#Vii#Vis#Vi!]#Vi!^#Vi!`#Vi!f#Vi#W#Vi#X#Vi#Y#Vi#Z#Vi#[#Vi#]#Vi#^#Vi#_#Vi#a#Vi#c#Vi#e#Vi#f#Vi#i#Vi'a#Vi}#Vi!O#Vi~P!#lO!^!xOP'`XY'`Xi'`Xr'`Xs'`Xu'`X!]'`X!`'`X!f'`X#W'`X#X'`X#Y'`X#Z'`X#['`X#]'`X#^'`X#_'`X#a'`X#c'`X#e'`X#f'`X#i'`X'a'`X'n'`X'u'`X'v'`X}'`X!O'`X~O#i#ji}#ji!O#ji~P#(|O!O4]O~O}&ma!O&ma~P#(|O!X!vO'n&jO}&na!_&na~O},yO!_'{i~O},yO!X!vO!_'{i~Oz&pa}&pa~P!#lO!X4dO~O}-QOz'|i~P!#lO}-QOz'|i~Oz4jO~O!X!vO#_4pO~Oi4qO!X!vO'n&jO~Oz4sO~O'[$eq}$eq#i$eq!w$eq~P!#lO^$Vy}$Vy'R$Vyz$Vy!_$Vy'c$Vy!P$Vy$|$Vy!X$Vy~P!)`O}1xO!P'}a~O!P&_O$|4xO~O!P&_O$|4xO~P!#lO^!zy}!zy'R!zyz!zy!_!zy'c!zy!P!zy$|!zy!X!zy~P!)`OY4{O~O}.SO!O(Ti~O]5QO~O[5RO~O'd'OO}&uX!O&uX~O}2gO!O(Qa~O!O5`O~P$0uOu-cO'd(cO'm+aO~O!S5cO!T5bO!U5bO!t0TO'X$aO'd(cO'm+aO~O!o5dO!p5dO~P%,eO!T5bO!U5bO'X$aO'd(cO'm+aO~O!P.oO~O!P.oO$|5fO~O!P.oO$|5fO~P!#lOR5kO!P.oO!k5jO$|5fO~OY5pO}&xa!O&xa~O}.{O!O(Ri~O]5sO~O!_5tO~O!_5uO~O!_5vO~O!_5vO~P){O^5xO~O!X5{O~O!_5}O~O}'si!O'si~P#(|O^$ZO'R$ZO~P!)`O^$ZO!w6SO'R$ZO~O^$ZO!X!vO!w6SO'R$ZO~O!T6XO!U6XO'X$aO'd(cO'm+aO~O^$ZO!X!vO!f6YO!w6SO'R$ZO'n&jO~O!`$WO']$bO~P%1PO!S6ZO~P%0nO}'py!_'py^'py'R'py~P!)`O#S$eqP$eqY$eq^$eqi$eqs$eq}$eq!]$eq!^$eq!`$eq!f$eq#W$eq#X$eq#Y$eq#Z$eq#[$eq#]$eq#^$eq#_$eq#a$eq#c$eq#e$eq#f$eq'R$eq'a$eq!_$eqz$eq!P$eq!w$eq'c$eq$|$eq!X$eq~P!#lO}&fi!_&fi~P!)`O#i!zq}!zq!O!zq~P#(|Or-iOs-iOu-jOPoaYoaioa!]oa!^oa!`oa!foa#Woa#Xoa#Yoa#Zoa#[oa#]oa#^oa#_oa#aoa#coa#eoa#foa#ioa'aoa'noa'uoa'voa}oa!Ooa~Or'}Ou(OOP$YaY$Yai$Yas$Ya!]$Ya!^$Ya!`$Ya!f$Ya#W$Ya#X$Ya#Y$Ya#Z$Ya#[$Ya#]$Ya#^$Ya#_$Ya#a$Ya#c$Ya#e$Ya#f$Ya#i$Ya'a$Ya'n$Ya'u$Ya'v$Ya}$Ya!O$Ya~Or'}Ou(OOP$[aY$[ai$[as$[a!]$[a!^$[a!`$[a!f$[a#W$[a#X$[a#Y$[a#Z$[a#[$[a#]$[a#^$[a#_$[a#a$[a#c$[a#e$[a#f$[a#i$[a'a$[a'n$[a'u$[a'v$[a}$[a!O$[a~OP$jaY$jai$jas$ja!]$ja!^$ja!`$ja!f$ja#W$ja#X$ja#Y$ja#Z$ja#[$ja#]$ja#^$ja#_$ja#a$ja#c$ja#e$ja#f$ja#i$ja'a$ja}$ja!O$ja~P!#lO#i$Uq}$Uq!O$Uq~P#(|O#i$Vq}$Vq!O$Vq~P#(|O!O6eO~O'[$xy}$xy#i$xy!w$xy~P!#lO!X!vO}&ni!_&ni~O!X!vO'n&jO}&ni!_&ni~O},yO!_'{q~Oz&pi}&pi~P!#lO}-QOz'|q~Oz6lO~P!#lOz6lO~O}'_y'['_y~P!#lO}&sa!P&sa~P!#lO!P$pq^$pq'R$pq~P!#lOY6tO~O}.SO!O(Tq~O]6wO~O!P&_O$|6xO~O!P&_O$|6xO~P!#lO!w6yO}&ua!O&ua~O}2gO!O(Qi~P#(|O!T7PO!U7PO'X$aO'd(cO'm+aO~O!S7RO!t3{O~P%@nO!P.oO$|7UO~O!P.oO$|7UO~P!#lO'd7[O~O}.{O!O(Rq~O!_7_O~O!_7_O~P){O!_7aO~O!_7bO~O}#Py!O#Py~P#(|O^$ZO!w7hO'R$ZO~O^$ZO!X!vO!w7hO'R$ZO~O!T7kO!U7kO'X$aO'd(cO'm+aO~O^$ZO!X!vO!f7lO!w7hO'R$ZO'n&jO~O#S$xyP$xyY$xy^$xyi$xys$xy}$xy!]$xy!^$xy!`$xy!f$xy#W$xy#X$xy#Y$xy#Z$xy#[$xy#]$xy#^$xy#_$xy#a$xy#c$xy#e$xy#f$xy'R$xy'a$xy!_$xyz$xy!P$xy!w$xy'c$xy$|$xy!X$xy~P!#lO#i#gy}#gy!O#gy~P#(|OP$ciY$cii$cis$ci!]$ci!^$ci!`$ci!f$ci#W$ci#X$ci#Y$ci#Z$ci#[$ci#]$ci#^$ci#_$ci#a$ci#c$ci#e$ci#f$ci#i$ci'a$ci}$ci!O$ci~P!#lOr'}Ou(OO'v(SOP$tiY$tii$tis$ti!]$ti!^$ti!`$ti!f$ti#W$ti#X$ti#Y$ti#Z$ti#[$ti#]$ti#^$ti#_$ti#a$ti#c$ti#e$ti#f$ti#i$ti'a$ti'n$ti'u$ti}$ti!O$ti~Or'}Ou(OOP$viY$vii$vis$vi!]$vi!^$vi!`$vi!f$vi#W$vi#X$vi#Y$vi#Z$vi#[$vi#]$vi#^$vi#_$vi#a$vi#c$vi#e$vi#f$vi#i$vi'a$vi'n$vi'u$vi'v$vi}$vi!O$vi~O#i$Vy}$Vy!O$Vy~P#(|O#i!zy}!zy!O!zy~P#(|O!X!vO}&nq!_&nq~O},yO!_'{y~Oz&pq}&pq~P!#lOz7rO~P!#lO}.SO!O(Ty~O}2gO!O(Qq~O!T8OO!U8OO'X$aO'd(cO'm+aO~O!P.oO$|8RO~O!P.oO$|8RO~P!#lO!_8UO~O&R8VOP&O!ZQ&O!ZW&O!Z]&O!Z^&O!Za&O!Zb&O!Zg&O!Zi&O!Zj&O!Zk&O!Zn&O!Zp&O!Zu&O!Zw&O!Zx&O!Zy&O!Z!P&O!Z!Z&O!Z!`&O!Z!c&O!Z!d&O!Z!e&O!Z!f&O!Z!g&O!Z!j&O!Z#`&O!Z#p&O!Z#t&O!Z${&O!Z$}&O!Z%P&O!Z%Q&O!Z%T&O!Z%V&O!Z%Y&O!Z%Z&O!Z%]&O!Z%j&O!Z%p&O!Z%r&O!Z%t&O!Z%v&O!Z%y&O!Z&P&O!Z&T&O!Z&V&O!Z&X&O!Z&Z&O!Z&]&O!Z&|&O!Z'W&O!Z'a&O!Z'm&O!Z'z&O!Z!O&O!Z%w&O!Z_&O!Z%|&O!Z~O^$ZO!w8[O'R$ZO~O^$ZO!X!vO!w8[O'R$ZO~OP$eqY$eqi$eqs$eq!]$eq!^$eq!`$eq!f$eq#W$eq#X$eq#Y$eq#Z$eq#[$eq#]$eq#^$eq#_$eq#a$eq#c$eq#e$eq#f$eq#i$eq'a$eq}$eq!O$eq~P!#lO}&uq!O&uq~P#(|O^$ZO!w8qO'R$ZO~OP$xyY$xyi$xys$xy!]$xy!^$xy!`$xy!f$xy#W$xy#X$xy#Y$xy#Z$xy#[$xy#]$xy#^$xy#_$xy#a$xy#c$xy#e$xy#f$xy#i$xy'a$xy}$xy!O$xy~P!#lO'c'eX~P.jO'cZXzZX!_ZX%nZX!PZX$|ZX!XZX~P$zO!XcX!_ZX!_cX'ncX~P;aOP9SOQ9SO]cOa:jOb!iOgcOi9SOjcOkcOn9SOp9SOuROwcOxcOycO!PSO!Z9UO!`UO!c9SO!d9SO!e9SO!f9SO!g9SO!j!hO#p!kO#t^O'W'^O'aQO'mYO'z:hO~O}9eO!O$Xa~O]#pOg#}Oi#qOj#pOk#pOn$OOp9jOu#wO!P#xO!Z:mO!`#uO#R9pO#p$SO$Z9lO$]9nO$`$TO'W&vO'a#rO~O#`'eO~P&+}O!OZX!OcX~P;aO#S9XO~O!X!vO#S9XO~O!w9hO~O#_9^O~O!w9qO}'sX!O'sX~O!w9hO}'qX!O'qX~O#S9rO~O'[9tO~P!#lO#S9yO~O#S9zO~O!X!vO#S9{O~O!X!vO#S9rO~O#i9|O~P#(|O#S9}O~O#S:OO~O#S:PO~O#S:QO~O#i:RO~P!#lO#i:SO~P!#lO#t~!^!n!p!q#Q#R'z$Z$]$`$q${$|$}%T%V%Y%Z%]%_~TS#t'z#Xy'T'U#v'T'W'd~", -- goto: "#Dk(XPPPPPPP(YP(jP*^PPPP-sPP.Y3j5^5qP5qPPP5q5qP5qP7_PP7dP7xPPPP<XPPPP<X>wPPP>}AYP<XPCsPPPPEk<XPPPPPGd<XPPJcK`PPPPKdL|PMUNVPK`<X<X!#^!&V!*v!*v!.TPPP!.[!1O<XPPPPPPPPPP!3sP!5UPP<X!6cP<XP<X<X<X<XP<X!8vPP!;mP!>`!>h!>l!>lP!;jP!>p!>pP!AcP!Ag<X<X!Am!D_5qP5qP5q5qP!Eb5q5q!GY5q!I[5q!J|5q5q!Kj!Md!Md!Mh!Md!MpP!MdP5q!Nl5q# v5q5q-sPPP##TPP##m##mP##mP#$S##mPP#$YP#$PP#$P#$lMQ#$P#%Z#%a#%d(Y#%g(YP#%n#%n#%nP(YP(YP(YP(YPP(YP#%t#%wP#%w(YPPP(YP(YP(YP(YP(YP(Y(Y#%{#&V#&]#&c#&q#&w#&}#'X#'_#'i#'o#'}#(T#(Z#(i#)O#*b#*p#*v#*|#+S#+Y#+d#+j#+p#+z#,^#,dPPPPPPPPP#,jPP#-^#1[PP#2r#2y#3RP#7_PP#7c#9v#?p#?t#?w#?z#@V#@YPP#@]#@a#AO#As#Aw#BZPP#B_#Be#BiP#Bl#Bp#Bs#Cc#Cy#DO#DR#DU#D[#D_#Dc#DgmhOSj}!m$Y%a%d%e%g*i*n/]/`Q$gmQ$npQ%XyS&R!b+UQ&f!iS(f#x(kQ)a$hQ)n$pQ*Y%RQ+[&YS+c&_+eQ+u&gQ-a(mQ.z*ZY0P+g+h+i+j+kS2l.o2nU3u0Q0S0VU5b2q2r2sS6X3w3zS7P5c5dQ7k6ZR8O7R$l[ORSTUjk}!S!W!]!`!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#a#d$Y$l%Y%]%a%c%d%e%g%k%v&O&Z&a&k&x&|'|)O)V*e*i*n+p+w,Y,`-j-o-w.R.r/T/U/V/X/]/`/b/y0`0j2a2y3^3`3a3q5j5x6S7h8[8q!j'`#[#j&S'r*}+Q,e/p0}2i3j6y9S9U9X9Y9Z9[9]9^9_9`9a9b9c9d9e9h9q9r9t9{9|:P:Q:kQ(v$PQ)f$jQ*[%UQ*c%^Q,P9iQ-|)ZQ.X)gQ/S*aQ2V.SQ3R.{Q4U9jR4}2WpeOSjy}!m$Y%W%a%d%e%g*i*n/]/`R*^%Y&WVOSTjkn}!S!W!]!j!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#[#a#d#j$Y$l%Y%]%^%a%c%d%e%g%k%v&O&Z&a&k&x&|'r'|)O)V*e*i*n*}+Q+p+w,Y,`,e-j-o-w.R.r/T/U/V/X/]/`/b/p/y0`0j0}2a2i2y3^3`3a3j3q5j5x6S6y7h8[8q9S9U9X9Y9Z9[9]9^9_9`9a9b9c9d9e9h9q9r9t9{9|:P:Q:j:kW!cRU!`&SQ$`lQ$fmS$kp$pv$urs!q!t$W$s&[&o&r)r)s)t*g+O+_+z+|/f0bQ$}wQ&c!hQ&e!iS(Y#u(dS)`$g$hQ)d$jQ)q$rQ*T%PQ*X%RS+t&f&gQ,}(ZQ.Q)aQ.W)gQ.Y)hQ.])lQ.u*US.y*Y*ZQ0^+uQ1W,yQ2U.SQ2Y.VQ2_._Q3Q.zQ4a1XQ4|2WQ5P2[Q6s4{R7u6t!Y$dm!i$f$g$h&Q&e&f&g(e)`)a+R+b+t+u-Z.Q/u/|0R0^1m3t3y6V7i8]Q)X$`Q)y$zQ)|${Q*W%RQ.a)qQ.t*TU.x*X*Y*ZQ2{.uS3P.y.zQ5]2kQ5o3QS6}5^5aS7|7O7QQ8g7}R8v8hW#{a$b(s:hS$zt%WQ${uQ$|vR)w$x$V#za!v!x#c#u#w$Q$R$V&b'x(R(T(U(](a(q(r)U)W)Z)x){+q,V-Q-S-l-v-x.f.i.q.s1V1`1j1q1x1{2P2b2x2z4d4p4x5f5k6x7U8R9g9k9l9m9n9o9p9u9v9w9x9y9z9}:O:R:S:h:n:oV(w$P9i9jU&V!b$t+XQ'P!zQ)k$mQ.j)}Q1r-iR5X2g&YcORSTUjk}!S!W!]!`!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#[#a#d#j$Y$l%Y%]%^%a%c%d%e%g%k%v&O&S&Z&a&k&x&|'r'|)O)V*e*i*n*}+Q+p+w,Y,`,e-j-o-w.R.r/T/U/V/X/]/`/b/p/y0`0j0}2a2i2y3^3`3a3j3q5j5x6S6y7h8[8q9S9U9X9Y9Z9[9]9^9_9`9a9b9c9d9e9h9q9r9t9{9|:P:Q:k$]#`Z!_!n$^%u%y&t&{'R'S'T'U'V'W'X'Y'Z'[']'_'b'f'p)j*y+S+]+v,U,[,_,a,o-m/k/n0_0i0m0n0o0p0q0r0s0t0u0v0w0x0y0|1R1v2S3l3o4P4S4T4Y4Z5Z6O6R6_6c6d7e7x8Y8o8z9T:a&ZcORSTUjk}!S!W!]!`!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#[#a#d#j$Y$l%Y%]%^%a%c%d%e%g%k%v&O&S&Z&a&k&x&|'r'|)O)V*e*i*n*}+Q+p+w,Y,`,e-j-o-w.R.r/T/U/V/X/]/`/b/p/y0`0j0}2a2i2y3^3`3a3j3q5j5x6S6y7h8[8q9S9U9X9Y9Z9[9]9^9_9`9a9b9c9d9e9h9q9r9t9{9|:P:Q:kQ&T!bR/q+UY%}!b&R&Y+U+[S(e#x(kS+b&_+eS-Z(f(mQ-[(gQ-b(nQ.l*PU/|+c+g+hU0R+i+j+kS0W+l2pQ1m-aQ1o-cQ1p-dS2k.o2nU3t0P0Q0SQ3x0TQ3y0VS5^2l2sS5a2q2rU6V3u3w3zQ6[3{S7O5b5cQ7Q5dS7i6X6ZS7}7P7RQ8]7kR8h8OlhOSj}!m$Y%a%d%e%g*i*n/]/`Q%i!QS&s!u9XQ)^$eQ*R$}Q*S%OQ+r&dS,T&x9rS-n)O9{Q.O)_Q.n*QQ/d*pQ/e*qQ/m+PQ0U+iQ0[+sS1w-o:PQ2Q.PS2T.R:QQ3k/oQ3n/wQ3}0]Q4z2RQ5|3hQ6P3mQ6T3sQ6]4OQ7c5}Q7f6UQ8X7gQ8l8VQ8n8ZR8y8p$W#_Z!_!n%u%y&t&{'R'S'T'U'V'W'X'Y'Z'[']'_'b'f'p)j*y+S+]+v,U,[,_,o-m/k/n0_0i0m0n0o0p0q0r0s0t0u0v0w0x0y0|1R1v2S3l3o4P4S4T4Y4Z5Z6O6R6_6c6d7e7x8Y8o8z9T:aU(p#y&w0{T)S$^,a$W#^Z!_!n%u%y&t&{'R'S'T'U'V'W'X'Y'Z'[']'_'b'f'p)j*y+S+]+v,U,[,_,o-m/k/n0_0i0m0n0o0p0q0r0s0t0u0v0w0x0y0|1R1v2S3l3o4P4S4T4Y4Z5Z6O6R6_6c6d7e7x8Y8o8z9T:aQ'a#_S)R$^,aR-p)S&YcORSTUjk}!S!W!]!`!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#[#a#d#j$Y$l%Y%]%^%a%c%d%e%g%k%v&O&S&Z&a&k&x&|'r'|)O)V*e*i*n*}+Q+p+w,Y,`,e-j-o-w.R.r/T/U/V/X/]/`/b/p/y0`0j0}2a2i2y3^3`3a3j3q5j5x6S6y7h8[8q9S9U9X9Y9Z9[9]9^9_9`9a9b9c9d9e9h9q9r9t9{9|:P:Q:kQ%d{Q%e|Q%g!OQ%h!PR/[*lQ&`!hQ)T$`Q+o&cS-u)X)qS0X+m+nW1z-r-s-t.aS3|0Y0ZU4w1|1}2OU6q4v5T5UQ7t6rR8c7wT+d&_+eS+b&_+eU/|+c+g+hU0R+i+j+kS0W+l2pS2k.o2nU3t0P0Q0SQ3x0TQ3y0VS5^2l2sS5a2q2rU6V3u3w3zQ6[3{S7O5b5cQ7Q5dS7i6X6ZS7}7P7RQ8]7kR8h8OS+d&_+eT2m.o2nS&m!p/YQ,|(YQ-X(eS/{+b2kQ1],}S1g-Y-bU3v0R0W5aQ4`1WS4n1n1pU6Y3x3y7QQ6g4aQ6p4qR7l6[Q!wXS&l!p/YQ)P$XQ)[$cQ)b$iQ+x&mQ,{(YQ-W(eQ-](hQ-})]Q.v*VS/z+b2kS1[,|,}S1f-X-bQ1i-[Q1l-^Q2}.wW3r/{0R0W5aQ4_1WQ4c1]S4h1g1pQ4o1oQ5m3OW6W3v3x3y7QS6f4`4aQ6k4jQ6n4nQ6{5[Q7Y5nS7j6Y6[Q7n6gQ7p6lQ7s6pQ7z6|Q8T7ZQ8^7lQ8a7rQ8e7{Q8t8fQ8|8uQ9Q8}Q:Z:UQ:d:_R:e:`$nWORSTUjk}!S!W!]!`!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#a#d$Y$l%Y%]%^%a%c%d%e%g%k%v&O&Z&a&k&x&|'|)O)V*e*i*n+p+w,Y,`-j-o-w.R.r/T/U/V/X/]/`/b/y0`0j2a2y3^3`3a3q5j5x6S7h8[8qS!wn!j!j:T#[#j&S'r*}+Q,e/p0}2i3j6y9S9U9X9Y9Z9[9]9^9_9`9a9b9c9d9e9h9q9r9t9{9|:P:Q:kR:Z:j$nXORSTUjk}!S!W!]!`!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#a#d$Y$l%Y%]%^%a%c%d%e%g%k%v&O&Z&a&k&x&|'|)O)V*e*i*n+p+w,Y,`-j-o-w.R.r/T/U/V/X/]/`/b/y0`0j2a2y3^3`3a3q5j5x6S7h8[8qQ$Xb!Y$cm!i$f$g$h&Q&e&f&g(e)`)a+R+b+t+u-Z.Q/u/|0R0^1m3t3y6V7i8]S$in!jQ)]$dQ*V%RW.w*W*X*Y*ZU3O.x.y.zQ5[2kS5n3P3QU6|5]5^5aQ7Z5oU7{6}7O7QS8f7|7}S8u8g8hQ8}8v!j:U#[#j&S'r*}+Q,e/p0}2i3j6y9S9U9X9Y9Z9[9]9^9_9`9a9b9c9d9e9h9q9r9t9{9|:P:Q:kQ:_:iR:`:j$f]OSTjk}!S!W!]!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#a#d$Y$l%Y%]%a%c%d%e%g%k%v&O&Z&a&k&x&|'|)O)V*e*i*n+p+w,Y,`-j-o-w.R.r/T/U/V/X/]/`/b/y0`0j2a2y3^3`3a3q5j5x6S7h8[8qU!gRU!`v$urs!q!t$W$s&[&o&r)r)s)t*g+O+_+z+|/f0bQ*d%^!h:V#[#j'r*}+Q,e/p0}2i3j6y9S9U9X9Y9Z9[9]9^9_9`9a9b9c9d9e9h9q9r9t9{9|:P:Q:kR:Y&SS&W!b$tR/s+X$l[ORSTUjk}!S!W!]!`!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#a#d$Y$l%Y%]%a%c%d%e%g%k%v&O&Z&a&k&x&|'|)O)V*e*i*n+p+w,Y,`-j-o-w.R.r/T/U/V/X/]/`/b/y0`0j2a2y3^3`3a3q5j5x6S7h8[8q!j'`#[#j&S'r*}+Q,e/p0}2i3j6y9S9U9X9Y9Z9[9]9^9_9`9a9b9c9d9e9h9q9r9t9{9|:P:Q:kR*c%^$noORSTUjk}!S!W!]!`!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#a#d$Y$l%Y%]%^%a%c%d%e%g%k%v&O&Z&a&k&x&|'|)O)V*e*i*n+p+w,Y,`-j-o-w.R.r/T/U/V/X/]/`/b/y0`0j2a2y3^3`3a3q5j5x6S7h8[8qQ'P!z!k:W#[#j&S'r*}+Q,e/p0}2i3j6y9S9U9X9Y9Z9[9]9^9_9`9a9b9c9d9e9h9q9r9t9{9|:P:Q:k!h#UZ!_$^%u%y&t&{'Y'Z'[']'b'f)j*y+]+v,U,[,o-m0_0i0y1v2S3o4P4S6R7e8Y8o8z9T!R9`'_'p+S,a/k/n0m0u0v0w0x0|1R3l4T4Y4Z5Z6O6_6c6d7x:a!d#WZ!_$^%u%y&t&{'[']'b'f)j*y+]+v,U,[,o-m0_0i0y1v2S3o4P4S6R7e8Y8o8z9T}9b'_'p+S,a/k/n0m0w0x0|1R3l4T4Y4Z5Z6O6_6c6d7x:a!`#[Z!_$^%u%y&t&{'b'f)j*y+]+v,U,[,o-m0_0i0y1v2S3o4P4S6R7e8Y8o8z9Tl(U#s&y(},w-P-e-f0g1u4^4r:[:f:gx:k'_'p+S,a/k/n0m0|1R3l4T4Y4Z5Z6O6_6c6d7x:a!`:n&u'd(X(_+n,S,l-T-q-t.e.g0Z0f1^1b2O2d2f2v4R4e4k4t4y5U5i6^6i6o7WZ:o0z4X6`7m8_&YcORSTUjk}!S!W!]!`!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#[#a#d#j$Y$l%Y%]%^%a%c%d%e%g%k%v&O&S&Z&a&k&x&|'r'|)O)V*e*i*n*}+Q+p+w,Y,`,e-j-o-w.R.r/T/U/V/X/]/`/b/p/y0`0j0}2a2i2y3^3`3a3j3q5j5x6S6y7h8[8q9S9U9X9Y9Z9[9]9^9_9`9a9b9c9d9e9h9q9r9t9{9|:P:Q:kS#k`#lR1O,d&a_ORSTU`jk}!S!W!]!`!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#[#a#d#j#l$Y$l%Y%]%^%a%c%d%e%g%k%v&O&S&Z&a&k&x&|'r'|)O)V*e*i*n*}+Q+p+w,Y,`,d,e-j-o-w.R.r/T/U/V/X/]/`/b/p/y0`0j0}2a2i2y3^3`3a3j3q5j5x6S6y7h8[8q9S9U9X9Y9Z9[9]9^9_9`9a9b9c9d9e9h9q9r9t9{9|:P:Q:kS#f^#mT'i#h'mT#g^#mT'k#h'm&a`ORSTU`jk}!S!W!]!`!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#[#a#d#j#l$Y$l%Y%]%^%a%c%d%e%g%k%v&O&S&Z&a&k&x&|'r'|)O)V*e*i*n*}+Q+p+w,Y,`,d,e-j-o-w.R.r/T/U/V/X/]/`/b/p/y0`0j0}2a2i2y3^3`3a3j3q5j5x6S6y7h8[8q9S9U9X9Y9Z9[9]9^9_9`9a9b9c9d9e9h9q9r9t9{9|:P:Q:kT#k`#lQ#n`R't#l$nbORSTUjk}!S!W!]!`!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#a#d$Y$l%Y%]%^%a%c%d%e%g%k%v&O&Z&a&k&x&|'|)O)V*e*i*n+p+w,Y,`-j-o-w.R.r/T/U/V/X/]/`/b/y0`0j2a2y3^3`3a3q5j5x6S7h8[8q!k:i#[#j&S'r*}+Q,e/p0}2i3j6y9S9U9X9Y9Z9[9]9^9_9`9a9b9c9d9e9h9q9r9t9{9|:P:Q:k#RdOSUj}!S!W!m!{#j$Y%Y%]%^%a%c%d%e%g%k&O&a'r)V*e*i*n+p,e-j-w.r/T/U/V/X/]/`/b0}2a2y3^3`3a5j5xt#ya!x$Q$R$V(R(T(U(](q(r,V-l1V1q:h:n:o!|&w!v#c#u#w&b'x(a)U)W)Z)x){+q-Q-S-v-x.f.i.q.s1`1j1x1{2P2b2x2z4d4p4x5f5k6x7U8R9k9m9o9u9w9y9}:RQ({$TQ,p'}c0{9g9l9n9p9v9x9z:O:St#va!x$Q$R$V(R(T(U(](q(r,V-l1V1q:h:n:oS(h#x(kQ(|$UQ-^(i!|:]!v#c#u#w&b'x(a)U)W)Z)x){+q-Q-S-v-x.f.i.q.s1`1j1x1{2P2b2x2z4d4p4x5f5k6x7U8R9k9m9o9u9w9y9}:Rb:^9g9l9n9p9v9x9z:O:SQ:b:lR:c:mt#ya!x$Q$R$V(R(T(U(](q(r,V-l1V1q:h:n:o!|&w!v#c#u#w&b'x(a)U)W)Z)x){+q-Q-S-v-x.f.i.q.s1`1j1x1{2P2b2x2z4d4p4x5f5k6x7U8R9k9m9o9u9w9y9}:Rc0{9g9l9n9p9v9x9z:O:SlfOSj}!m$Y%a%d%e%g*i*n/]/`Q(`#wQ*u%nQ*v%pR1_-Q$U#za!v!x#c#u#w$Q$R$V&b'x(R(T(U(](a(q(r)U)W)Z)x){+q,V-Q-S-l-v-x.f.i.q.s1V1`1j1q1x1{2P2b2x2z4d4p4x5f5k6x7U8R9g9k9l9m9n9o9p9u9v9w9x9y9z9}:O:R:S:h:n:oQ)z${Q.h)|Q2e.gR5W2fT(j#x(kS(j#x(kT2m.o2nQ)[$cQ-](hQ-})]Q.v*VQ2}.wQ5m3OQ6{5[Q7Y5nQ7z6|Q8T7ZQ8e7{Q8t8fQ8|8uR9Q8}l(R#s&y(},w-P-e-f0g1u4^4r:[:f:g!`9u&u'd(X(_+n,S,l-T-q-t.e.g0Z0f1^1b2O2d2f2v4R4e4k4t4y5U5i6^6i6o7WZ9v0z4X6`7m8_n(T#s&y(},u,w-P-e-f0g1u4^4r:[:f:g!b9w&u'd(X(_+n,S,l-T-q-t.e.g0Z0d0f1^1b2O2d2f2v4R4e4k4t4y5U5i6^6i6o7W]9x0z4X6`6a7m8_peOSjy}!m$Y%W%a%d%e%g*i*n/]/`Q%TxR*e%^peOSjy}!m$Y%W%a%d%e%g*i*n/]/`R%TxQ*O$|R.d)wqeOSjy}!m$Y%W%a%d%e%g*i*n/]/`Q.p*TS2w.t.uW5e2t2u2v2{U7T5g5h5iU8P7S7V7WQ8i8QR8w8jQ%[yR*_%WR3U.}R7]5pS$kp$pR.Y)hQ%azR*i%bR*o%hT/^*n/`QjOQ!mST$]j!mQ'z#rR,m'zQ!YQR%s!YQ!^RU%w!^%x*zQ%x!_R*z%yQ+V&TR/r+VQ,W&yR0h,WQ,Z&{S0k,Z0lR0l,[Q+e&_R/}+eQ&]!eQ*{%zT+`&]*{Q+Y&WR/t+YQ&p!rQ+y&nU+}&p+y0cR0c,OQ'm#hR,f'mQ#l`R's#lQ#bZU'c#b*x9fQ*x9TR9f'pQ,z(YW1Y,z1Z4b6hU1Z,{,|,}S4b1[1]R6h4c#q(P#s&u&y'd(X(_(x(y(}+n,Q,R,S,l,u,v,w-P-T-e-f-q-t.e.g0Z0d0e0f0g0z1^1b1u2O2d2f2v4R4V4W4X4^4e4k4r4t4y5U5i6^6`6a6b6i6o7W7m8_:[:f:gQ-R(_U1a-R1c4fQ1c-TR4f1bQ(k#xR-_(kQ(t#|R-h(tQ1y-qR4u1yQ)u$vR.c)uQ2h.jS5Y2h6zR6z5ZQ*Q$}R.m*QQ2n.oR5_2nQ.|*[S3S.|5qR5q3UQ.T)dW2X.T2Z5O6uQ2Z.WQ5O2YR6u5PQ)i$kR.Z)iQ/`*nR3d/`WiOSj!mQ%f}Q)Q$YQ*h%aQ*j%dQ*k%eQ*m%gQ/Z*iS/^*n/`R3c/]Q$[gQ%j!RQ%m!TQ%o!UQ%q!VQ)p$qQ)v$wQ*^%[Q*s%lS/P*_*bQ/g*rQ/h*uQ/i*vS/x+b2kQ1d-VQ1e-WQ1k-]Q2^.^Q2c.eQ2|.vQ3W/RQ3b/[Y3p/z/{0R0W5aQ4g1fQ4i1hQ4l1lQ5S2`Q5V2dQ5l2}Q5r3V[6Q3o3r3v3x3y7QQ6j4hQ6m4mQ6v5QQ7X5mQ7^5sW7d6R6W6Y6[Q7o6kQ7q6nQ7v6wQ7y6{Q8S7YU8W7e7j7lQ8`7pQ8b7sQ8d7zQ8k8TS8m8Y8^Q8r8aQ8s8eQ8x8oQ8{8tQ9O8zQ9P8|R9R9QQ$emQ&d!iU)_$f$g$hQ+P&QU+s&e&f&gQ-V(eS.P)`)aQ/o+RQ/w+bS0]+t+uQ1h-ZQ2R.QQ3m/uS3s/|0RQ4O0^Q4m1mS6U3t3yQ7g6VQ8Z7iR8p8]S#ta:hR)Y$bU#|a$b:hR-g(sQ#saS&u!v)ZQ&y!xQ'd#cQ(X#uQ(_#wQ(x$QQ(y$RQ(}$VQ+n&bQ,Q9kQ,R9mQ,S9oQ,l'xQ,u(RQ,v(TQ,w(UQ-P(]Q-T(aQ-e(qQ-f(rd-q)U-v.q1{2x4x5f6x7U8RQ-t)WQ.e)xQ.g){Q0Z+qQ0d9uQ0e9wQ0f9yQ0g,VQ0z9gQ1^-QQ1b-SQ1u-lQ2O-xQ2d.fQ2f.iQ2v.sQ4R9}Q4V9lQ4W9nQ4X9pQ4^1VQ4e1`Q4k1jQ4r1qQ4t1xQ4y2PQ5U2bQ5i2zQ6^:RQ6`9zQ6a9vQ6b9xQ6i4dQ6o4pQ7W5kQ7m:OQ8_:SQ:[:hQ:f:nR:g:oT'y#r'zlgOSj}!m$Y%a%d%e%g*i*n/]/`S!oU%cQ%l!SQ%r!WQ'Q!{Q'q#jS*b%Y%]Q*f%^Q*r%kQ*|&OQ+m&aQ,j'rQ-s)VQ/W*eQ0Y+pQ1Q,eQ1s-jQ1}-wQ2u.rQ3Y/TQ3Z/UQ3]/VQ3_/XQ3f/bQ4[0}Q5T2aQ5h2yQ5w3^Q5y3`Q5z3aQ7V5jR7`5x!vZOSUj}!S!m!{$Y%Y%]%^%a%c%d%e%g%k&O&a)V*e*i*n+p-j-w.r/T/U/V/X/]/`/b2a2y3^3`3a5j5xQ!_RQ!nTQ$^kQ%u!]Q%y!`Q&t!uQ&{!yQ'R#OQ'S#PQ'T#QQ'U#RQ'V#SQ'W#TQ'X#UQ'Y#VQ'Z#WQ'[#XQ']#YQ'_#[Q'b#aQ'f#dW'p#j'r,e0}Q)j$lQ*y%vS+S&S/pQ+]&ZQ+v&kQ,U&xQ,[&|Q,_9SQ,a9UQ,o'|Q-m)OQ/k*}Q/n+QQ0_+wQ0i,YQ0m9XQ0n9YQ0o9ZQ0p9[Q0q9]Q0r9^Q0s9_Q0t9`Q0u9aQ0v9bQ0w9cQ0x9dQ0y,`Q0|9hQ1R9eQ1v-oQ2S.RQ3l9qQ3o/yQ4P0`Q4S0jQ4T9rQ4Y9tQ4Z9{Q5Z2iQ6O3jQ6R3qQ6_9|Q6c:PQ6d:QQ7e6SQ7x6yQ8Y7hQ8o8[Q8z8qQ9T!WR:a:kT!XQ!YR!aRR&U!bS&Q!b+US+R&R&YR/u+[R&z!xR&}!yT!sU$WS!rU$WU$vrs*gS&n!q!tQ+{&oQ,O&rQ.b)tS0a+z+|R4Q0b[!dR!`$s&[)r+_h!pUrs!q!t$W&o&r)t+z+|0bQ/Y*gQ/l+OQ3i/fT:X&S)sT!fR$sS!eR$sS%z!`)rS+T&S)sQ+^&[R/v+_T&X!b$tQ#h^R'v#mT'l#h'mR1P,dT([#u(dR(b#wQ-r)UQ1|-vQ2t.qQ4v1{Q5g2xQ6r4xQ7S5fQ7w6xQ8Q7UR8j8RlhOSj}!m$Y%a%d%e%g*i*n/]/`Q%ZyR*^%WV$wrs*gR.k)}R*]%UQ$opR)o$pR)e$jT%_z%bT%`z%bT/_*n/`", -- nodeNames: "⚠ ArithOp ArithOp extends LineComment BlockComment Script ExportDeclaration export Star as VariableName from String ; default FunctionDeclaration async function VariableDefinition TypeParamList TypeDefinition ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType VoidType void TypeofType typeof MemberExpression . ?. PropertyName [ TemplateString null super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewExpression new TypeArgList CompareOp < ) ( ArgList UnaryExpression await yield delete LogicOp BitOp ParenthesizedExpression ClassExpression class extends ClassBody MethodDeclaration Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression PrivatePropertyName BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof in const CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXStartTag JSXSelfClosingTag JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast ArrowFunction TypeParamList SequenceExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature CallSignature TypePredicate is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody MethodDeclaration AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try catch finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement", -- maxTerm: 330, -+ states: "$1dO`QYOOO'QQ!LdO'#CgO'XOSO'#DSO)dQYO'#DXO)tQYO'#DdO){QYO'#DnO-xQYO'#DtOOQO'#EX'#EXO.]QWO'#EWO.bQWO'#EWOOQ!LS'#Eb'#EbO0aQ!LdO'#IsO2wQ!LdO'#ItO3eQWO'#EvO3jQpO'#F_OOQ!LS'#FO'#FOO3uO!bO'#FOO4TQWO'#FfO5bQWO'#FeOOQ!LS'#It'#ItOOQ!LQ'#Is'#IsOOQQ'#J^'#J^O5gQWO'#HlO5lQ!LYO'#HmOOQQ'#Ie'#IeOOQQ'#Hn'#HnQ`QYOOO){QYO'#DfO5tQWO'#GYO5yQ#tO'#ClO6XQWO'#EVO6dQWO'#EcO6iQ#tO'#E}O7TQWO'#GYO7YQWO'#G^O7eQWO'#G^O7sQWO'#GaO7sQWO'#GbO7sQWO'#GdO5tQWO'#GgO8dQWO'#GjO9rQWO'#CcO:SQWO'#GwO:[QWO'#G}O:[QWO'#HPO`QYO'#HRO:[QWO'#HTO:[QWO'#HWO:aQWO'#H^O:fQ!LZO'#HbO){QYO'#HdO:qQ!LZO'#HfO:|Q!LZO'#HhO5lQ!LYO'#HjO){QYO'#IuOOOS'#Hp'#HpO;XOSO,59nOOQ!LS,59n,59nO=jQbO'#CgO=tQYO'#HqO>RQWO'#IvO@QQbO'#IvO'dQYO'#IvO@XQWO,59sO@oQ&jO'#D^OAhQWO'#EXOAuQWO'#JROBQQWO'#JQOBYQWO,5:uOB_QWO'#JPOBfQWO'#DuO5yQ#tO'#EVOBtQWO'#EVOCPQ`O'#E}OOQ!LS,5:O,5:OOCXQYO,5:OOEVQ!LdO,5:YOEsQWO,5:`OF^Q!LYO'#JOO7YQWO'#I}OFeQWO'#I}OFmQWO,5:tOFrQWO'#I}OGQQYO,5:rOIQQWO'#ESOJ[QWO,5:rOKkQWO'#DhOKrQYO'#DmOK|Q&jO,5:{O){QYO,5:{OOQQ'#En'#EnOOQQ'#Ep'#EpO){QYO,5:}O){QYO,5:}O){QYO,5:}O){QYO,5:}O){QYO,5:}O){QYO,5:}O){QYO,5:}O){QYO,5:}O){QYO,5:}O){QYO,5:}O){QYO,5:}OOQQ'#Et'#EtOLUQYO,5;_OOQ!LS,5;d,5;dOOQ!LS,5;e,5;eONUQWO,5;eOOQ!LS,5;f,5;fO){QYO'#H{ONZQ!LYO,5<RONuQWO,5:}O){QYO,5;bON|QpO'#FTO! yQpO'#JVO! eQpO'#JVO!!QQpO'#JVOOQO'#JV'#JVO!!fQpO,5;mOOOO,5;y,5;yO!!wQYO'#FaOOOO'#Hz'#HzO3uO!bO,5;jO!#OQpO'#FcOOQ!LS,5;j,5;jO!#oQ,UO'#CqOOQ!LS'#Ct'#CtO!$SQWO'#CtO!$XOSO'#CxO!$uQ#tO,5<OO!$|QWO,5<QO!&YQWO'#FpO!&gQWO'#FqO!&lQWO'#FuO!'nQ&jO'#FyO!(aQ,UO'#InOOQ!LS'#In'#InO!(kQWO'#ImO!(yQWO'#IlOOQ!LS'#Cr'#CrOOQ!LS'#Cy'#CyO!)RQWO'#C{OJaQWO'#FhOJaQWO'#FjO!)WQWO'#FlO!)]QWO'#FmO!)bQWO'#FsOJaQWO'#FxO!)gQWO'#EYO!*OQWO,5<PO`QYO,5>WOOQQ'#Ih'#IhOOQQ,5>X,5>XOOQQ-E;l-E;lO!+zQ!LdO,5:QOOQ!LQ'#Co'#CoO!,kQ#tO,5<tOOQO'#Ce'#CeO!,|QWO'#CpO!-UQ!LYO'#IiO5bQWO'#IiO:aQWO,59WO!-dQpO,59WO!-lQ#tO,59WO5yQ#tO,59WO!-wQWO,5:rO!.PQWO'#GvO!.[QWO'#JbO){QYO,5;gO!.dQ&jO,5;iO!.iQWO,5=aO!.nQWO,5=aO!.sQWO,5=aO5lQ!LYO,5=aO5tQWO,5<tO!/RQWO'#EZO!/dQ&jO'#E[OOQ!LQ'#JP'#JPO!/uQ!LYO'#J_O5lQ!LYO,5<xO7sQWO,5=OOOQO'#Cq'#CqO!0QQpO,5<{O!0YQ#tO,5<|O!0eQWO,5=OO!0jQ`O,5=RO:aQWO'#GlO5tQWO'#GnO!0rQWO'#GnO5yQ#tO'#GqO!0wQWO'#GqOOQQ,5=U,5=UO!0|QWO'#GrO!1UQWO'#ClO!1ZQWO,58}O!1eQWO,58}O!3gQYO,58}OOQQ,58},58}O!3tQ!LYO,58}O){QYO,58}O!4PQYO'#GyOOQQ'#Gz'#GzOOQQ'#G{'#G{O`QYO,5=cO!4aQWO,5=cO){QYO'#DtO`QYO,5=iO`QYO,5=kO!4fQWO,5=mO`QYO,5=oO!4kQWO,5=rO!4pQYO,5=xOOQQ,5=|,5=|O){QYO,5=|O5lQ!LYO,5>OOOQQ,5>Q,5>QO!8qQWO,5>QOOQQ,5>S,5>SO!8qQWO,5>SOOQQ,5>U,5>UO!8vQ`O,5?aOOOS-E;n-E;nOOQ!LS1G/Y1G/YO!8{QbO,5>]O){QYO,5>]OOQO-E;o-E;oO!9VQWO,5?bO!9_QbO,5?bO!9fQWO,5?lOOQ!LS1G/_1G/_O!9nQpO'#DQOOQO'#Ix'#IxO){QYO'#IxO!:]QpO'#IxO!:zQpO'#D_O!;]Q&jO'#D_O!=hQYO'#D_O!=oQWO'#IwO!=wQWO,59xO!=|QWO'#E]O!>[QWO'#JSO!>dQWO,5:vO!>zQ&jO'#D_O){QYO,5?mO!?UQWO'#HvO!9fQWO,5?lOOQ!LQ1G0a1G0aO!@bQ&jO'#DxOOQ!LS,5:a,5:aO){QYO,5:aOIQQWO,5:aO!@iQWO,5:aO:aQWO,5:qO!-dQpO,5:qO!-lQ#tO,5:qO5yQ#tO,5:qOOQ!LS1G/j1G/jOOQ!LS1G/z1G/zOOQ!LQ'#ER'#ERO){QYO,5?jO!@tQ!LYO,5?jO!AVQ!LYO,5?jO!A^QWO,5?iO!AfQWO'#HxO!A^QWO,5?iOOQ!LQ1G0`1G0`O7YQWO,5?iOOQ!LS1G0^1G0^O!BQQ!LdO1G0^O!BqQ!LbO,5:nOOQ!LS'#Fo'#FoO!C_Q!LdO'#InOGQQYO1G0^O!E^Q#tO'#IyO!EhQWO,5:SO!EmQbO'#IzO){QYO'#IzO!EwQWO,5:XOOQ!LS'#DQ'#DQOOQ!LS1G0g1G0gO!E|QWO1G0gO!H_Q!LdO1G0iO!HfQ!LdO1G0iO!JyQ!LdO1G0iO!KQQ!LdO1G0iO!MXQ!LdO1G0iO!MlQ!LdO1G0iO#!]Q!LdO1G0iO#!dQ!LdO1G0iO#$wQ!LdO1G0iO#%OQ!LdO1G0iO#&sQ!LdO1G0iO#)mQ7^O'#CgO#+hQ7^O1G0yO#-cQ7^O'#ItOOQ!LS1G1P1G1PO#-vQ!LdO,5>gOOQ!LQ-E;y-E;yO#.gQ!LdO1G0iOOQ!LS1G0i1G0iO#0iQ!LdO1G0|O#1YQpO,5;qO#1bQpO,5;rO#1jQpO'#FYO#2RQWO'#FXOOQO'#JW'#JWOOQO'#Hy'#HyO#2WQpO1G1XOOQ!LS1G1X1G1XOOOO1G1d1G1dO#2iQ7^O'#IsO#2sQWO,5;{OLUQYO,5;{OOOO-E;x-E;xOOQ!LS1G1U1G1UOOQ!LS,5;},5;}O#2xQpO,5;}OOQ!LS,59`,59`OIQQWO'#IpOOOS'#Ho'#HoO#2}OSO,59dOOQ!LS,59d,59dO){QYO1G1jO!)]QWO'#H}O#3YQWO,5<cOOQ!LS,5<`,5<`OOQO'#GT'#GTOJaQWO,5<nOOQO'#GV'#GVOJaQWO,5<pOJaQWO,5<rOOQO1G1l1G1lO#3eQ`O'#CoO#3xQ`O,5<[O#4PQWO'#JZO5tQWO'#JZO#4_QWO,5<^OJaQWO,5<]O#4dQ`O'#FoO#4qQ`O'#J[O#4{QWO'#J[OIQQWO'#J[O#5QQWO,5<aOOQ!LQ'#Dc'#DcO#5VQWO'#FrO#5bQpO'#FzO!'iQ&jO'#FzO!'iQ&jO'#F|O#5sQWO'#F}O!)bQWO'#GQOOQO'#IP'#IPO#5xQ&jO,5<eOOQ!LS,5<e,5<eO#6PQ&jO'#FzO#6_Q&jO'#F{O#6gQ&jO'#F{OOQ!LS,5<s,5<sOJaQWO,5?XOJaQWO,5?XO#6lQWO'#IQO#6wQWO,5?WOOQ!LS'#Cg'#CgO#7kQ#tO,59gOOQ!LS,59g,59gO#8^Q#tO,5<SO#9PQ#tO,5<UO#9ZQWO,5<WOOQ!LS,5<X,5<XO#9`QWO,5<_O#9eQ#tO,5<dOGQQYO1G1kO#9uQWO1G1kOOQQ1G3r1G3rOOQ!LS1G/l1G/lONUQWO1G/lOOQQ1G2`1G2`OIQQWO1G2`O){QYO1G2`OIQQWO1G2`O#9zQWO1G2`O#:YQWO,59[O#;cQWO'#ESOOQ!LQ,5?T,5?TO#;mQ!LYO,5?TOOQQ1G.r1G.rO:aQWO1G.rO!-dQpO1G.rO!-lQ#tO1G.rO#;{QWO1G0^O#<QQWO'#CgO#<]QWO'#JcO#<eQWO,5=bO#<jQWO'#JcO#<oQWO'#JcO#<tQWO'#IYO#=SQWO,5?|O#=[QbO1G1ROOQ!LS1G1T1G1TO5tQWO1G2{O#=cQWO1G2{O#=hQWO1G2{O#=mQWO1G2{OOQQ1G2{1G2{O#=rQ#tO1G2`O7YQWO'#JQO7YQWO'#E]O7YQWO'#ISO#>TQ!LYO,5?yOOQQ1G2d1G2dO!0eQWO1G2jOIQQWO1G2gO#>`QWO1G2gOOQQ1G2h1G2hOIQQWO1G2hO#>eQWO1G2hO#>mQ&jO'#GfOOQQ1G2j1G2jO!'iQ&jO'#IUO!0jQ`O1G2mOOQQ1G2m1G2mOOQQ,5=W,5=WO#>uQ#tO,5=YO5tQWO,5=YO#5sQWO,5=]O5bQWO,5=]O!-dQpO,5=]O!-lQ#tO,5=]O5yQ#tO,5=]O#?WQWO'#JaO#?cQWO,5=^OOQQ1G.i1G.iO#?hQ!LYO1G.iO#?sQWO1G.iO!)RQWO1G.iO5lQ!LYO1G.iO#?xQbO,5@OO#@SQWO,5@OO#@_QYO,5=eO#@fQWO,5=eO7YQWO,5@OOOQQ1G2}1G2}O`QYO1G2}OOQQ1G3T1G3TOOQQ1G3V1G3VO:[QWO1G3XO#@kQYO1G3ZO#DfQYO'#HYOOQQ1G3^1G3^O:aQWO1G3dO#DsQWO1G3dO5lQ!LYO1G3hOOQQ1G3j1G3jOOQ!LQ'#Fv'#FvO5lQ!LYO1G3lO5lQ!LYO1G3nOOOS1G4{1G4{O#D{Q`O,5<RO#ETQbO1G3wO#E_QWO1G4|O#EgQWO1G5WO#EoQWO,5?dOLUQYO,5:wO7YQWO,5:wO:aQWO,59yOLUQYO,59yO!-dQpO,59yO#EtQ7^O,59yOOQO,5:w,5:wO#FOQ&jO'#HrO#FfQWO,5?cOOQ!LS1G/d1G/dO#FnQ&jO'#HwO#GSQWO,5?nOOQ!LQ1G0b1G0bO!;]Q&jO,59yO#G[QbO1G5XOOQO,5>b,5>bO7YQWO,5>bOOQO-E;t-E;tOOQ!LQ'#EO'#EOO#GfQ!LrO'#EPO!@YQ&jO'#DyOOQO'#Hu'#HuO#HQQ&jO,5:dOOQ!LS,5:d,5:dO#HXQ&jO'#DyO#HjQ&jO'#DyO#HqQ&jO'#EUO#HtQ&jO'#EPO#IRQ&jO'#EPO!@YQ&jO'#EPO#IfQWO1G/{O#IkQ`O1G/{OOQ!LS1G/{1G/{O){QYO1G/{OIQQWO1G/{OOQ!LS1G0]1G0]O:aQWO1G0]O!-dQpO1G0]O!-lQ#tO1G0]O#IrQ!LdO1G5UO){QYO1G5UO#JSQ!LYO1G5UO#JeQWO1G5TO7YQWO,5>dOOQO,5>d,5>dO#JmQWO,5>dOOQO-E;v-E;vO#JeQWO1G5TO#J{Q!LdO,59gO#LzQ!LdO,5<SO#N|Q!LdO,5<UO$#OQ!LdO,5<dOOQ!LS7+%x7+%xO$%WQ!LdO7+%xO$%wQWO'#HsO$&RQWO,5?eOOQ!LS1G/n1G/nO$&ZQYO'#HtO$&hQWO,5?fO$&pQbO,5?fOOQ!LS1G/s1G/sOOQ!LS7+&R7+&RO$&zQ7^O,5:YO){QYO7+&eO$'UQ7^O,5:QOOQO1G1]1G1]OOQO1G1^1G1^O$'cQMhO,5;tOLUQYO,5;sOOQO-E;w-E;wOOQ!LS7+&s7+&sOOOO7+'O7+'OOOOO1G1g1G1gO$'nQWO1G1gOOQ!LS1G1i1G1iO$'sQ`O,5?[OOOS-E;m-E;mOOQ!LS1G/O1G/OO$'zQ!LdO7+'UOOQ!LS,5>i,5>iO$(kQWO,5>iOOQ!LS1G1}1G1}P$(pQWO'#H}POQ!LS-E;{-E;{O$)aQ#tO1G2YO$*SQ#tO1G2[O$*^Q#tO1G2^OOQ!LS1G1v1G1vO$*eQWO'#H|O$*sQWO,5?uO$*sQWO,5?uO$*{QWO,5?uO$+WQWO,5?uOOQO1G1x1G1xO$+fQ#tO1G1wO$+vQWO'#IOO$,WQWO,5?vOIQQWO,5?vO$,`Q`O,5?vOOQ!LS1G1{1G1{O5lQ!LYO,5<fO5lQ!LYO,5<gO$,jQWO,5<gO#5nQWO,5<gO!-dQpO,5<fO$,oQWO,5<hO5lQ!LYO,5<iO$,jQWO,5<lOOQO-E;}-E;}OOQ!LS1G2P1G2PO!'iQ&jO,5<fO$,wQWO,5<gO!'iQ&jO,5<hO!'iQ&jO,5<gO$-SQ#tO1G4sO$-^Q#tO1G4sOOQO,5>l,5>lOOQO-E<O-E<OO!.dQ&jO,59iO){QYO,59iO$-kQWO1G1rOJaQWO1G1yO$-pQ!LdO7+'VOOQ!LS7+'V7+'VOGQQYO7+'VOOQ!LS7+%W7+%WO$.aQ`O'#J]O#IfQWO7+'zO$.kQWO7+'zO$.sQ`O7+'zOOQQ7+'z7+'zOIQQWO7+'zO){QYO7+'zOIQQWO7+'zOOQO1G.v1G.vO$.}Q!LbO'#CgO$/_Q!LbO,5<jO$/|QWO,5<jOOQ!LQ1G4o1G4oOOQQ7+$^7+$^O:aQWO7+$^O!-dQpO7+$^OGQQYO7+%xO$0RQWO'#IXO$0aQWO,5?}OOQO1G2|1G2|O5tQWO,5?}O$0aQWO,5?}O$0iQWO,5?}OOQO,5>t,5>tOOQO-E<W-E<WOOQ!LS7+&m7+&mO$0nQWO7+(gO5lQ!LYO7+(gO5tQWO7+(gO$0sQWO7+(gO$0xQWO7+'zOOQ!LQ,5>n,5>nOOQ!LQ-E<Q-E<QOOQQ7+(U7+(UO$1WQ!LbO7+(ROIQQWO7+(RO$1bQ`O7+(SOOQQ7+(S7+(SOIQQWO7+(SO$1iQWO'#J`O$1tQWO,5=QOOQO,5>p,5>pOOQO-E<S-E<SOOQQ7+(X7+(XO$2nQ&jO'#GoOOQQ1G2t1G2tOIQQWO1G2tO){QYO1G2tOIQQWO1G2tO$2uQWO1G2tO$3TQ#tO1G2tO5lQ!LYO1G2wO#5sQWO1G2wO5bQWO1G2wO!-dQpO1G2wO!-lQ#tO1G2wO$3fQWO'#IWO$3qQWO,5?{O$3yQ&jO,5?{OOQ!LQ1G2x1G2xOOQQ7+$T7+$TO$4OQWO7+$TO5lQ!LYO7+$TO$4TQWO7+$TO){QYO1G5jO){QYO1G5kO$4YQYO1G3PO$4aQWO1G3PO$4fQYO1G3PO$4mQ!LYO1G5jOOQQ7+(i7+(iO5lQ!LYO7+(sO`QYO7+(uOOQQ'#Jf'#JfOOQQ'#IZ'#IZO$4wQYO,5=tOOQQ,5=t,5=tO){QYO'#HZO$5UQWO'#H]OOQQ7+)O7+)OO$5ZQYO7+)OO7YQWO7+)OOOQQ7+)S7+)SOOQQ7+)W7+)WOOQQ7+)Y7+)YOOQO1G5O1G5OO$9XQ7^O1G0cO$9cQWO1G0cOOQO1G/e1G/eO$9nQ7^O1G/eO:aQWO1G/eOLUQYO'#D_OOQO,5>^,5>^OOQO-E;p-E;pOOQO,5>c,5>cOOQO-E;u-E;uO!-dQpO1G/eOOQO1G3|1G3|O:aQWO,5:eOOQO,5:k,5:kO){QYO,5:kO$9xQ!LYO,5:kO$:TQ!LYO,5:kO!-dQpO,5:eOOQO-E;s-E;sOOQ!LS1G0O1G0OO!@YQ&jO,5:eO$:cQ&jO,5:eO$:tQ!LrO,5:kO$;`Q&jO,5:eO!@YQ&jO,5:kOOQO,5:p,5:pO$;gQ&jO,5:kO$;tQ!LYO,5:kOOQ!LS7+%g7+%gO#IfQWO7+%gO#IkQ`O7+%gOOQ!LS7+%w7+%wO:aQWO7+%wO!-dQpO7+%wO$<YQ!LdO7+*pO){QYO7+*pOOQO1G4O1G4OO7YQWO1G4OO$<jQWO7+*oO$<rQ!LdO1G2YO$>tQ!LdO1G2[O$@vQ!LdO1G1wO$COQ#tO,5>_OOQO-E;q-E;qO$CYQbO,5>`O){QYO,5>`OOQO-E;r-E;rO$CdQWO1G5QO$ClQ7^O1G0^O$EsQ7^O1G0iO$EzQ7^O1G0iO$G{Q7^O1G0iO$HSQ7^O1G0iO$IwQ7^O1G0iO$J[Q7^O1G0iO$LiQ7^O1G0iO$LpQ7^O1G0iO$NqQ7^O1G0iO$NxQ7^O1G0iO%!mQ7^O1G0iO%#QQ!LdO<<JPO%#qQ7^O1G0iO%%aQ7^O'#InO%'^Q7^O1G0|OLUQYO'#F[OOQO'#JX'#JXOOQO1G1`1G1`O%'kQWO1G1_O%'pQ7^O,5>gOOOO7+'R7+'ROOOS1G4v1G4vOOQ!LS1G4T1G4TOJaQWO7+'xO%'zQWO,5>hO5tQWO,5>hOOQO-E;z-E;zO%(YQWO1G5aO%(YQWO1G5aO%(bQWO1G5aO%(mQ`O,5>jO%(wQWO,5>jOIQQWO,5>jOOQO-E;|-E;|O%(|Q`O1G5bO%)WQWO1G5bOOQO1G2Q1G2QOOQO1G2R1G2RO5lQ!LYO1G2RO$,jQWO1G2RO5lQ!LYO1G2QO%)`QWO1G2SOIQQWO1G2SOOQO1G2T1G2TO5lQ!LYO1G2WO!-dQpO1G2QO#5nQWO1G2RO%)eQWO1G2SO%)mQWO1G2ROJaQWO7+*_OOQ!LS1G/T1G/TO%)xQWO1G/TOOQ!LS7+'^7+'^O%)}Q#tO7+'eO%*_Q!LdO<<JqOOQ!LS<<Jq<<JqOIQQWO'#IRO%+OQWO,5?wOOQQ<<Kf<<KfOIQQWO<<KfO#IfQWO<<KfO%+WQWO<<KfO%+`Q`O<<KfOIQQWO1G2UOOQQ<<Gx<<GxO:aQWO<<GxO%+jQ!LdO<<IdOOQ!LS<<Id<<IdOOQO,5>s,5>sO%,ZQWO,5>sO#<oQWO,5>sOOQO-E<V-E<VO%,`QWO1G5iO%,`QWO1G5iO5tQWO1G5iO%,hQWO<<LROOQQ<<LR<<LRO%,mQWO<<LRO5lQ!LYO<<LRO){QYO<<KfOIQQWO<<KfOOQQ<<Km<<KmO$1WQ!LbO<<KmOOQQ<<Kn<<KnO$1bQ`O<<KnO%,rQ&jO'#ITO%,}QWO,5?zOLUQYO,5?zOOQQ1G2l1G2lO#GfQ!LrO'#EPO!@YQ&jO'#GpOOQO'#IV'#IVO%-VQ&jO,5=ZOOQQ,5=Z,5=ZO%-^Q&jO'#EPO%-iQ&jO'#EPO%.QQ&jO'#EPO%.[Q&jO'#GpO%.mQWO7+(`O%.rQWO7+(`O%.zQ`O7+(`OOQQ7+(`7+(`OIQQWO7+(`O){QYO7+(`OIQQWO7+(`O%/UQWO7+(`OOQQ7+(c7+(cO5lQ!LYO7+(cO#5sQWO7+(cO5bQWO7+(cO!-dQpO7+(cO%/dQWO,5>rOOQO-E<U-E<UOOQO'#Gs'#GsO%/oQWO1G5gO5lQ!LYO<<GoOOQQ<<Go<<GoO%/wQWO<<GoO%/|QWO7++UO%0RQWO7++VOOQQ7+(k7+(kO%0WQWO7+(kO%0]QYO7+(kO%0dQWO7+(kO){QYO7++UO){QYO7++VOOQQ<<L_<<L_OOQQ<<La<<LaOOQQ-E<X-E<XOOQQ1G3`1G3`O%0iQWO,5=uOOQQ,5=w,5=wO:aQWO<<LjO%0nQWO<<LjOLUQYO7+%}OOQO7+%P7+%PO%0sQ7^O1G5XO:aQWO7+%POOQO1G0P1G0PO%0}Q!LdO1G0VOOQO1G0V1G0VO){QYO1G0VO%1XQ!LYO1G0VO:aQWO1G0PO!-dQpO1G0PO!@YQ&jO1G0PO%1dQ!LYO1G0VO%1rQ&jO1G0PO%2TQ!LYO1G0VO%2iQ!LrO1G0VO%2sQ&jO1G0PO!@YQ&jO1G0VOOQ!LS<<IR<<IROOQ!LS<<Ic<<IcO:aQWO<<IcO%2zQ!LdO<<N[OOQO7+)j7+)jO%3[Q!LdO7+'eO%5dQbO1G3zO%5nQ7^O7+%xO%5{Q7^O,59gO%7xQ7^O,5<SO%9uQ7^O,5<UO%;rQ7^O,5<dO%=bQ7^O7+'UO%=oQ7^O7+'VO%=|QWO,5;vOOQO7+&y7+&yO%>RQ#tO<<KdOOQO1G4S1G4SO%>cQWO1G4SO%>nQWO1G4SO%>|QWO7+*{O%>|QWO7+*{OIQQWO1G4UO%?UQ`O1G4UO%?`QWO7+*|OOQO7+'m7+'mO5lQ!LYO7+'mOOQO7+'l7+'lO$,jQWO7+'nO%?hQ`O7+'nOOQO7+'r7+'rO5lQ!LYO7+'lO$,jQWO7+'mO%?oQWO7+'nOIQQWO7+'nO#5nQWO7+'mO%?tQ#tO<<MyOOQ!LS7+$o7+$oO%@OQ`O,5>mOOQO-E<P-E<PO#IfQWOANAQOOQQANAQANAQOIQQWOANAQO%@YQ!LbO7+'pOOQQAN=dAN=dO5tQWO1G4_OOQO1G4_1G4_O%@gQWO1G4_O%@lQWO7++TO%@lQWO7++TO5lQ!LYOANAmO%@tQWOANAmOOQQANAmANAmO%@yQWOANAQO%ARQ`OANAQOOQQANAXANAXOOQQANAYANAYO%A]QWO,5>oOOQO-E<R-E<RO%AhQ7^O1G5fO#5sQWO,5=[O5bQWO,5=[O!-dQpO,5=[OOQO-E<T-E<TOOQQ1G2u1G2uO$:tQ!LrO,5:kO!@YQ&jO,5=[O%ArQ&jO,5=[O%BTQ&jO,5:kOOQQ<<Kz<<KzOIQQWO<<KzO%.mQWO<<KzO%B_QWO<<KzO%BgQ`O<<KzO){QYO<<KzOIQQWO<<KzOOQQ<<K}<<K}O5lQ!LYO<<K}O#5sQWO<<K}O5bQWO<<K}O%BqQ&jO1G4^O%BvQWO7++ROOQQAN=ZAN=ZO5lQ!LYOAN=ZOOQQ<<Np<<NpOOQQ<<Nq<<NqOOQQ<<LV<<LVO%COQWO<<LVO%CTQYO<<LVO%C[QWO<<NpO%CaQWO<<NqOOQQ1G3a1G3aOOQQANBUANBUO:aQWOANBUO%CfQ7^O<<IiOOQO<<Hk<<HkOOQO7+%q7+%qO%0}Q!LdO7+%qO){QYO7+%qOOQO7+%k7+%kO:aQWO7+%kO!-dQpO7+%kO%CpQ!LYO7+%qO!@YQ&jO7+%kO%C{Q!LYO7+%qO%DZQ&jO7+%kO%DlQ!LYO7+%qOOQ!LSAN>}AN>}O%EQQ!LdO<<KdO%GYQ7^O<<JPO%GgQ7^O1G1wO%IVQ7^O1G2YO%KSQ7^O1G2[O%MPQ7^O<<JqO%M^Q7^O<<IdOOQO1G1b1G1bOOQO7+)n7+)nO%MkQWO7+)nO%MvQWO<<NgO%NOQ`O7+)pOOQO<<KX<<KXO5lQ!LYO<<KYO$,jQWO<<KYOOQO<<KW<<KWO5lQ!LYO<<KXO%NYQ`O<<KYO$,jQWO<<KXOOQQG26lG26lO#IfQWOG26lOOQO7+)y7+)yO5tQWO7+)yO%NaQWO<<NoOOQQG27XG27XO5lQ!LYOG27XOIQQWOG26lOLUQYO1G4ZO%NiQWO7++QO5lQ!LYO1G2vO#5sQWO1G2vO5bQWO1G2vO!-dQpO1G2vO!@YQ&jO1G2vO%2iQ!LrO1G0VO%NqQ&jO1G2vO%.mQWOANAfOOQQANAfANAfOIQQWOANAfO& SQWOANAfO& [Q`OANAfOOQQANAiANAiO5lQ!LYOANAiO#5sQWOANAiOOQO'#Gt'#GtOOQO7+)x7+)xOOQQG22uG22uOOQQANAqANAqO& fQWOANAqOOQQAND[AND[OOQQAND]AND]O& kQYOG27pOOQO<<I]<<I]O%0}Q!LdO<<I]OOQO<<IV<<IVO:aQWO<<IVO){QYO<<I]O!-dQpO<<IVO&%iQ!LYO<<I]O!@YQ&jO<<IVO&%tQ!LYO<<I]O&&SQ7^O7+'eOOQO<<MY<<MYOOQOAN@tAN@tO5lQ!LYOAN@tOOQOAN@sAN@sO$,jQWOAN@tO5lQ!LYOAN@sOOQQLD,WLD,WOOQO<<Me<<MeOOQQLD,sLD,sO#IfQWOLD,WO&'rQ7^O7+)uOOQO7+(b7+(bO5lQ!LYO7+(bO#5sQWO7+(bO5bQWO7+(bO!-dQpO7+(bO!@YQ&jO7+(bOOQQG27QG27QO%.mQWOG27QOIQQWOG27QOOQQG27TG27TO5lQ!LYOG27TOOQQG27]G27]O:aQWOLD-[OOQOAN>wAN>wOOQOAN>qAN>qO%0}Q!LdOAN>wO:aQWOAN>qO){QYOAN>wO!-dQpOAN>qO&'|Q!LYOAN>wO&(XQ7^O<<KdOOQOG26`G26`O5lQ!LYOG26`OOQOG26_G26_OOQQ!$( r!$( rOOQO<<K|<<K|O5lQ!LYO<<K|O#5sQWO<<K|O5bQWO<<K|O!-dQpO<<K|OOQQLD,lLD,lO%.mQWOLD,lOOQQLD,oLD,oOOQQ!$(!v!$(!vOOQOG24cG24cOOQOG24]G24]O%0}Q!LdOG24cO:aQWOG24]O){QYOG24cOOQOLD+zLD+zOOQOANAhANAhO5lQ!LYOANAhO#5sQWOANAhO5bQWOANAhOOQQ!$(!W!$(!WOOQOLD)}LD)}OOQOLD)wLD)wO%0}Q!LdOLD)}OOQOG27SG27SO5lQ!LYOG27SO#5sQWOG27SOOQO!$'Mi!$'MiOOQOLD,nLD,nO5lQ!LYOLD,nOOQO!$(!Y!$(!YOLUQYO'#DnO&)wQbO'#IsOLUQYO'#DfO&*OQ!LdO'#CgO&*iQbO'#CgO&*yQYO,5:rOLUQYO,5:}OLUQYO,5:}OLUQYO,5:}OLUQYO,5:}OLUQYO,5:}OLUQYO,5:}OLUQYO,5:}OLUQYO,5:}OLUQYO,5:}OLUQYO,5:}OLUQYO,5:}OLUQYO'#H{O&,yQWO,5<RO&.]QWO,5:}OLUQYO,5;bO!)RQWO'#C{O!)RQWO'#C{OIQQWO'#FhO&-RQWO'#FhOIQQWO'#FjO&-RQWO'#FjOIQQWO'#FxO&-RQWO'#FxOLUQYO,5?mO&*yQYO1G0^O&.dQ7^O'#CgOLUQYO1G1jOIQQWO,5<nO&-RQWO,5<nOIQQWO,5<pO&-RQWO,5<pOIQQWO,5<]O&-RQWO,5<]O&*yQYO1G1kOLUQYO7+&eOIQQWO1G1yO&-RQWO1G1yO&*yQYO7+'VO&*yQYO7+%xOIQQWO7+'xO&-RQWO7+'xO&.nQWO'#EWO&.sQWO'#EWO&.{QWO'#EvO&/QQWO'#EcO&/VQWO'#JRO&/bQWO'#JPO&/mQWO,5:rO&/rQ#tO,5<OO&/yQWO'#FqO&0OQWO'#FqO&0TQWO,5<PO&0]QWO,5:rO&0eQ7^O1G0yO&0lQWO,5<_O&0qQWO,5<_O&0vQWO1G1kO&0{QWO1G0^O&1QQ#tO1G2^O&1XQ#tO1G2^O4TQWO'#FfO5bQWO'#FeOBtQWO'#EVOLUQYO,5;_O!)bQWO'#FsO!)bQWO'#FsOJaQWO,5<rOJaQWO,5<r", -+ stateData: "&2W~O'VOS'WOSSOSTOS~OPTOQTOWyO]cO^hOanObmOgcOiTOjcOkcOnTOpTOuROwcOxcOycO!PSO!ZkO!`UO!cTO!dTO!eTO!fTO!gTO!jlO#`sO#ppO#t^O$}qO%PtO%RrO%SrO%VuO%XvO%[wO%]wO%_xO%lzO%r{O%t|O%v}O%x!OO%{!PO&R!QO&V!RO&X!SO&Z!TO&]!UO&_!VO'YPO'cQO'oYO'|aO~OPZXYZX^ZXiZXrZXsZXuZX}ZX!]ZX!^ZX!`ZX!fZX!wZX#ScX#WZX#XZX#YZX#ZZX#[ZX#]ZX#^ZX#_ZX#aZX#cZX#eZX#fZX#kZX'TZX'cZX'pZX'wZX'xZX~O!X$jX~P$zO'Q!XO'R!WO'S!ZO~OPTOQTO]cOa!jOb!iOgcOiTOjcOkcOnTOpTOuROwcOxcOycO!P!bO!ZkO!`UO!cTO!dTO!eTO!fTO!gTO!j!hO#p!kO#t^O'Y![O'cQO'oYO'|aO~O|!`O}!]Oz'jPz'tP~P'dO!O!lO~P`OPTOQTO]cOa!jOb!iOgcOiTOjcOkcOnTOpTOuROwcOxcOycO!P!bO!ZkO!`UO!cTO!dTO!eTO!fTO!gTO!j!hO#p!kO#t^O'Y9XO'cQO'oYO'|aO~OPTOQTO]cOa!jOb!iOgcOiTOjcOkcOnTOpTOuROwcOxcOycO!P!bO!ZkO!`UO!cTO!dTO!eTO!fTO!gTO!j!hO#p!kO#t^O'cQO'oYO'|aO~O|!qO#Q!tO#R!qO'Y9YO!_'qP~P+{O#S!uO~O!X!vO#S!uO~OP#]OY#cOi#QOr!zOs!zOu!{O}#aO!]#SO!^!xO!`!yO!f#]O#W#OO#X#PO#Y#PO#Z#PO#[#RO#]#SO#^#SO#_#SO#a#TO#c#VO#e#XO#f#YO'cQO'p#ZO'w!|O'x!}O~O^'gX'T'gX!_'gXz'gX!P'gX%O'gX!X'gX~P.jO!w#dO#k#dOP'hXY'hX^'hXi'hXr'hXs'hXu'hX}'hX!]'hX!^'hX!`'hX!f'hX#W'hX#X'hX#Y'hX#Z'hX#['hX#]'hX#^'hX#a'hX#c'hX#e'hX#f'hX'c'hX'p'hX'w'hX'x'hX~O#_'hX'T'hXz'hX!_'hX'e'hX!P'hX%O'hX!X'hX~P0zO!w#dO~O#v#fO#x#eO$P#kO~O!P#lO#t^O$S#mO$U#oO~O]#rOg$POi#sOj#rOk#rOn$QOp$ROu#yO!P#zO!Z$WO!`#wO#R$XO#p$UO$]$SO$_$TO$b$VO'Y#qO'c#tO'^'`P~O!`$YO~O!X$[O~O^$]O'T$]O~O'Y$aO~O!`$YO'Y$aO'Z$cO'_$dO~Ob$jO!`$YO'Y$aO~O#_#SO~O]$sOr$oO!P$lO!`$nO%P$rO'Y$aO'Z$cO[(UP~O!j$tO~Ou$uO!P$vO'Y$aO~Ou$uO!P$vO%X$zO'Y$aO~O'Y${O~O#`sO%PtO%RrO%SrO%VuO%XvO%[wO%]wO~Oa%UOb%TO!j%RO$}%SO%a%QO~P7xOa%XObmO!P%WO!jlO#`sO$}qO%RrO%SrO%VuO%XvO%[wO%]wO%_xO~O_%[O!w%_O%P%YO'Z$cO~P8wO!`%`O!c%dO~O!`%eO~O!PSO~O^$]O'P%mO'T$]O~O^$]O'P%pO'T$]O~O^$]O'P%rO'T$]O~O'Q!XO'R!WO'S%vO~OPZXYZXiZXrZXsZXuZX}ZX}cX!]ZX!^ZX!`ZX!fZX!wZX!wcX#ScX#WZX#XZX#YZX#ZZX#[ZX#]ZX#^ZX#_ZX#aZX#cZX#eZX#fZX#kZX'cZX'pZX'wZX'xZX~OzZXzcX~P;dO|%xOz&eX}&eX~P){O}!]Oz'jX~OP#]OY#cOi#QOr!zOs!zOu!{O}!]O!]#SO!^!xO!`!yO!f#]O#W#OO#X#PO#Y#PO#Z#PO#[#RO#]#SO#^#SO#_#SO#a#TO#c#VO#e#XO#f#YO'cQO'p#ZO'w!|O'x!}O~Oz'jX~P>ZOz%}O~Ou&QO!S&[O!T&TO!U&TO'Z$cO~O]&ROj&RO|&UO'f&OO!O'kP!O'vP~P@^Oz'sX}'sX!X'sX!_'sX'p'sX~O!w'sX#S!{X!O'sX~PAVO!w&]Oz'uX}'uX~O}&^Oz'tX~Oz&`O~O!w#dO~PAVOR&dO!P&aO!k&cO'Y$aO~Ob&iO!`$YO'Y$aO~Or$oO!`$nO~O!O&jO~P`Or!zOs!zOu!{O!^!xO!`!yO'cQOP!baY!bai!ba}!ba!]!ba!f!ba#W!ba#X!ba#Y!ba#Z!ba#[!ba#]!ba#^!ba#_!ba#a!ba#c!ba#e!ba#f!ba'p!ba'w!ba'x!ba~O^!ba'T!baz!ba!_!ba'e!ba!P!ba%O!ba!X!ba~PC`O!_&kO~O!X!vO!w&mO'p&lO}'rX^'rX'T'rX~O!_'rX~PExO}&qO!_'qX~O!_&sO~Ou$uO!P$vO#R&tO'Y$aO~OPTOQTO]cOa!jOb!iOgcOiTOjcOkcOnTOpTOuROwcOxcOycO!PSO!ZkO!`UO!cTO!dTO!eTO!fTO!gTO!j!hO#p!kO#t^O'Y9XO'cQO'oYO'|aO~O]#rOg$POi#sOj#rOk#rOn$QOp9kOu#yO!P#zO!Z:nO!`#wO#R9qO#p$UO$]9mO$_9oO$b$VO'Y&xO'c#tO~O#S&zO~O]#rOg$POi#sOj#rOk#rOn$QOp$ROu#yO!P#zO!Z$WO!`#wO#R$XO#p$UO$]$SO$_$TO$b$VO'Y&xO'c#tO~O'^'mP~PJaO|'OO!_'nP~P){O'f'QO'oYO~OP9UOQ9UO]cOa:lOb!iOgcOi9UOjcOkcOn9UOp9UOuROwcOxcOycO!P!bO!Z9WO!`UO!c9UO!d9UO!e9UO!f9UO!g9UO!j!hO#p!kO#t^O'Y'`O'cQO'oYO'|:jO~O!`!yO~O}#aO^$Za'T$Za!_$Zaz$Za!P$Za%O$Za!X$Za~O#`'gO~PIQOr'jO!X'iO!P#wX#s#wX#v#wX#x#wX$P#wX~O!X'iO!P'yX#s'yX#v'yX#x'yX$P'yX~Or'jO~P! eOr'jO!P'yX#s'yX#v'yX#x'yX$P'yX~O!P'lO#s'pO#v'kO#x'kO$P'qO~O|'tO~PLUO#v#fO#x#eO$P'wO~Or$cXu$cX!^$cX'p$cX'w$cX'x$cX~OReX}eX!weX'^eX'^$cX~P!#ZOj'yO~O'Q'{O'R'zO'S'}O~Or(POu(QO'p#ZO'w(SO'x(UO~O'^(OO~P!$dO'^(XO~O]#rOg$POi#sOj#rOk#rOn$QOp9kOu#yO!P#zO!Z:nO!`#wO#R9qO#p$UO$]9mO$_9oO$b$VO'c#tO~O|(]O'Y(YO!_'}P~P!%RO#S(_O~O|(cO'Y(`Oz(OP~P!%RO^(lOi(qOu(iO!S(oO!T(hO!U(hO!`(fO!t(pO$u(kO'Z$cO'f(eO~O!O(nO~P!&yO!^!xOr'bXu'bX'p'bX'w'bX'x'bX}'bX!w'bX~O'^'bX#i'bX~P!'uOR(tO!w(sO}'aX'^'aX~O}(uO'^'`X~O'Y(wO~O!`(|O~O'Y&xO~O!`(fO~Ou$uO|!qO!P$vO#Q!tO#R!qO'Y$aO!_'qP~O!X!vO#S)QO~OP#]OY#cOi#QOr!zOs!zOu!{O!]#SO!^!xO!`!yO!f#]O#W#OO#X#PO#Y#PO#Z#PO#[#RO#]#SO#^#SO#_#SO#a#TO#c#VO#e#XO#f#YO'cQO'p#ZO'w!|O'x!}O~O^!Ya}!Ya'T!Yaz!Ya!_!Ya'e!Ya!P!Ya%O!Ya!X!Ya~P!*WOR)YO!P&aO!k)XO%O)WO'_$dO~O'Y${O'^'`P~O!X)]O!P']X^']X'T']X~O!`$YO'_$dO~O!`$YO'Y$aO'_$dO~O!X!vO#S&zO~O%P)iO'Y)eO!O(VP~O})jO[(UX~O'f'QO~OY)nO~O[)oO~O!P$lO'Y$aO'Z$cO[(UP~Ou$uO|)tO!P$vO'Y$aOz'tP~O]&XOj&XO|)uO'f'QO!O'vP~O})vO^(RX'T(RX~O!w)zO'_$dO~OR)}O!P#zO'_$dO~O!P*PO~Or*RO!PSO~O!j*WO~Ob*]O~O'Y(wO!O(TP~Ob$jO~O%PtO'Y${O~P8wOY*cO[*bO~OPTOQTO]cOanObmOgcOiTOjcOkcOnTOpTOuROwcOxcOycO!ZkO!`UO!cTO!dTO!eTO!fTO!gTO!jlO#t^O$}qO'cQO'oYO'|aO~O!P!bO#p!kO'Y9XO~P!1mO[*bO^$]O'T$]O~O^*gO#`*iO%R*iO%S*iO~P){O!`%`O~O%r*nO~O!P*pO~O&S*sO&T*rOP&QaQ&QaW&Qa]&Qa^&Qaa&Qab&Qag&Qai&Qaj&Qak&Qan&Qap&Qau&Qaw&Qax&Qay&Qa!P&Qa!Z&Qa!`&Qa!c&Qa!d&Qa!e&Qa!f&Qa!g&Qa!j&Qa#`&Qa#p&Qa#t&Qa$}&Qa%P&Qa%R&Qa%S&Qa%V&Qa%X&Qa%[&Qa%]&Qa%_&Qa%l&Qa%r&Qa%t&Qa%v&Qa%x&Qa%{&Qa&R&Qa&V&Qa&X&Qa&Z&Qa&]&Qa&_&Qa'O&Qa'Y&Qa'c&Qa'o&Qa'|&Qa!O&Qa%y&Qa_&Qa&O&Qa~O'Y*vO~O'e*yO~Oz&ea}&ea~P!*WO}!]Oz'ja~Oz'ja~P>ZO}&^Oz'ta~O}tX}!VX!OtX!O!VX!XtX!X!VX!`!VX!wtX'_!VX~O!X+QO!w+PO}#PX}'lX!O#PX!O'lX!X'lX!`'lX'_'lX~O!X+SO!`$YO'_$dO}!RX!O!RX~O]&POj&POu&QO'f(eO~OP9UOQ9UO]cOa:lOb!iOgcOi9UOjcOkcOn9UOp9UOuROwcOxcOycO!P!bO!Z9WO!`UO!c9UO!d9UO!e9UO!f9UO!g9UO!j!hO#p!kO#t^O'cQO'oYO'|:jO~O'Y9uO~P!;kO}+WO!O'kX~O!O+YO~O!X+QO!w+PO}#PX!O#PX~O}+ZO!O'vX~O!O+]O~O]&POj&POu&QO'Z$cO'f(eO~O!T+^O!U+^O~P!>iOu$uO|+aO!P$vO'Y$aOz&jX}&jX~O^+fO!S+iO!T+eO!U+eO!n+mO!o+kO!p+lO!q+jO!t+nO'Z$cO'f(eO'o+cO~O!O+hO~P!?jOR+sO!P&aO!k+rO~O!w+yO}'ra!_'ra^'ra'T'ra~O!X!vO~P!@tO}&qO!_'qa~Ou$uO|+|O!P$vO#Q,OO#R+|O'Y$aO}&lX!_&lX~O^!zi}!zi'T!ziz!zi!_!zi'e!zi!P!zi%O!zi!X!zi~P!*WO#S!va}!va!_!va!w!va!P!va^!va'T!vaz!va~P!$dO#S'bXP'bXY'bX^'bXi'bXs'bX!]'bX!`'bX!f'bX#W'bX#X'bX#Y'bX#Z'bX#['bX#]'bX#^'bX#_'bX#a'bX#c'bX#e'bX#f'bX'T'bX'c'bX!_'bXz'bX!P'bX'e'bX%O'bX!X'bX~P!'uO},XO'^'mX~P!$dO'^,ZO~O},[O!_'nX~P!*WO!_,_O~Oz,`O~OP#]Or!zOs!zOu!{O!^!xO!`!yO!f#]O'cQOY#Vi^#Vii#Vi}#Vi!]#Vi#X#Vi#Y#Vi#Z#Vi#[#Vi#]#Vi#^#Vi#_#Vi#a#Vi#c#Vi#e#Vi#f#Vi'T#Vi'p#Vi'w#Vi'x#Viz#Vi!_#Vi'e#Vi!P#Vi%O#Vi!X#Vi~O#W#Vi~P!FRO#W#OO~P!FROP#]Or!zOs!zOu!{O!^!xO!`!yO!f#]O#W#OO#X#PO#Y#PO#Z#PO'cQOY#Vi^#Vi}#Vi!]#Vi#[#Vi#]#Vi#^#Vi#_#Vi#a#Vi#c#Vi#e#Vi#f#Vi'T#Vi'p#Vi'w#Vi'x#Viz#Vi!_#Vi'e#Vi!P#Vi%O#Vi!X#Vi~Oi#Vi~P!HmOi#QO~P!HmOP#]Oi#QOr!zOs!zOu!{O!^!xO!`!yO!f#]O#W#OO#X#PO#Y#PO#Z#PO#[#RO'cQO^#Vi}#Vi#a#Vi#c#Vi#e#Vi#f#Vi'T#Vi'p#Vi'w#Vi'x#Viz#Vi!_#Vi'e#Vi!P#Vi%O#Vi!X#Vi~OY#Vi!]#Vi#]#Vi#^#Vi#_#Vi~P!KXOY#cO!]#SO#]#SO#^#SO#_#SO~P!KXOP#]OY#cOi#QOr!zOs!zOu!{O!]#SO!^!xO!`!yO!f#]O#W#OO#X#PO#Y#PO#Z#PO#[#RO#]#SO#^#SO#_#SO#a#TO'cQO^#Vi}#Vi#c#Vi#e#Vi#f#Vi'T#Vi'p#Vi'x#Viz#Vi!_#Vi'e#Vi!P#Vi%O#Vi!X#Vi~O'w#Vi~P!NPO'w!|O~P!NPOP#]OY#cOi#QOr!zOs!zOu!{O!]#SO!^!xO!`!yO!f#]O#W#OO#X#PO#Y#PO#Z#PO#[#RO#]#SO#^#SO#_#SO#a#TO#c#VO'cQO'w!|O^#Vi}#Vi#e#Vi#f#Vi'T#Vi'p#Viz#Vi!_#Vi'e#Vi!P#Vi%O#Vi!X#Vi~O'x#Vi~P#!kO'x!}O~P#!kOP#]OY#cOi#QOr!zOs!zOu!{O!]#SO!^!xO!`!yO!f#]O#W#OO#X#PO#Y#PO#Z#PO#[#RO#]#SO#^#SO#_#SO#a#TO#c#VO#e#XO'cQO'w!|O'x!}O~O^#Vi}#Vi#f#Vi'T#Vi'p#Viz#Vi!_#Vi'e#Vi!P#Vi%O#Vi!X#Vi~P#%VOPZXYZXiZXrZXsZXuZX!]ZX!^ZX!`ZX!fZX!wZX#ScX#WZX#XZX#YZX#ZZX#[ZX#]ZX#^ZX#_ZX#aZX#cZX#eZX#fZX#kZX'cZX'pZX'wZX'xZX}ZX!OZX~O#iZX~P#'jOP#]OY9iOi9^Or!zOs!zOu!{O!]9`O!^!xO!`!yO!f#]O#W9[O#X9]O#Y9]O#Z9]O#[9_O#]9`O#^9`O#_9`O#a9aO#c9cO#e9eO#f9fO'cQO'p#ZO'w!|O'x!}O~O#i,bO~P#)tOP'hXY'hXi'hXr'hXs'hXu'hX!]'hX!^'hX!`'hX!f'hX#W'hX#X'hX#Y'hX#Z'hX#['hX#]'hX#^'hX#a'hX#c'hX#e'hX#f'hX'c'hX'p'hX'w'hX'x'hX}'hX~O!w9jO#k9jO#_'hX#i'hX!O'hX~P#+oO^&oa}&oa'T&oa!_&oa'e&oaz&oa!P&oa%O&oa!X&oa~P!*WOP#ViY#Vi^#Vii#Vis#Vi}#Vi!]#Vi!^#Vi!`#Vi!f#Vi#W#Vi#X#Vi#Y#Vi#Z#Vi#[#Vi#]#Vi#^#Vi#_#Vi#a#Vi#c#Vi#e#Vi#f#Vi'T#Vi'c#Viz#Vi!_#Vi'e#Vi!P#Vi%O#Vi!X#Vi~P!$dO^#ji}#ji'T#jiz#ji!_#ji'e#ji!P#ji%O#ji!X#ji~P!*WO#v,dO#x,dO~O#v,eO#x,eO~O!X'iO!w,fO!P#|X#s#|X#v#|X#x#|X$P#|X~O|,gO~O!P'lO#s,iO#v'kO#x'kO$P,jO~O}9gO!O'gX~P#)tO!O,kO~O$P,mO~O'Q'{O'R'zO'S,pO~O],sOj,sOz,tO~O}cX!XcX!_cX!_$cX'pcX~P!#ZO!_,zO~P!$dO},{O!X!vO'p&lO!_'}X~O!_-QO~Oz$cX}$cX!X$jX~P!#ZO}-SOz(OX~P!$dO!X-UO~Oz-WO~O|(]O'Y$aO!_'}P~Oi-[O!X!vO!`$YO'_$dO'p&lO~O!X)]O~O!O-bO~P!&yO!T-cO!U-cO'Z$cO'f(eO~Ou-eO'f(eO~O!t-fO~O'Y${O}&tX'^&tX~O}(uO'^'`a~Or-kOs-kOu-lO'poa'woa'xoa}oa!woa~O'^oa#ioa~P#7POr(POu(QO'p$[a'w$[a'x$[a}$[a!w$[a~O'^$[a#i$[a~P#7uOr(POu(QO'p$^a'w$^a'x$^a}$^a!w$^a~O'^$^a#i$^a~P#8hO]-mO~O#S-nO~O'^$la}$la#i$la!w$la~P!$dO#S-qO~OR-zO!P&aO!k-yO%O-xO~O'^-{O~O]#rOi#sOj#rOk#rOn$QOp9kOu#yO!P#zO!Z:nO!`#wO#R9qO#p$UO$]9mO$_9oO$b$VO'c#tO~Og-}O'Y-|O~P#:_O!X)]O!P']a^']a'T']a~O#S.TO~OYZX}cX!OcX~O}.UO!O(VX~O!O.WO~OY.XO~O'Y)eO~O!P$lO'Y$aO[&|X}&|X~O})jO[(Ua~O!_.^O~P!*WO].`O~OY.aO~O[.bO~OR-zO!P&aO!k-yO%O-xO'_$dO~O})vO^(Ra'T(Ra~O!w.hO~OR.kO!P#zO~O'f'QO!O(SP~OR.uO!P.qO!k.tO%O.sO'_$dO~OY/PO}.}O!O(TX~O!O/QO~O[/SO^$]O'T$]O~O]/TO~O#_/VO%p/WO~P0zO!w#dO#_/VO%p/WO~O^/XO~P){O^/ZO~O%y/_OP%wiQ%wiW%wi]%wi^%wia%wib%wig%wii%wij%wik%win%wip%wiu%wiw%wix%wiy%wi!P%wi!Z%wi!`%wi!c%wi!d%wi!e%wi!f%wi!g%wi!j%wi#`%wi#p%wi#t%wi$}%wi%P%wi%R%wi%S%wi%V%wi%X%wi%[%wi%]%wi%_%wi%l%wi%r%wi%t%wi%v%wi%x%wi%{%wi&R%wi&V%wi&X%wi&Z%wi&]%wi&_%wi'O%wi'Y%wi'c%wi'o%wi'|%wi!O%wi_%wi&O%wi~O_/eO!O/cO&O/dO~P`O!PSO!`/hO~O}#aO'e$Za~Oz&ei}&ei~P!*WO}!]Oz'ji~O}&^Oz'ti~Oz/lO~O}!Ra!O!Ra~P#)tO]&POj&PO|/rO'f(eO}&fX!O&fX~P@^O}+WO!O'ka~O]&XOj&XO|)uO'f'QO}&kX!O&kX~O}+ZO!O'va~Oz'ui}'ui~P!*WO^$]O!X!vO!`$YO!f/}O!w/{O'T$]O'_$dO'p&lO~O!O0QO~P!?jO!T0RO!U0RO'Z$cO'f(eO'o+cO~O!S0SO~P#HXO!PSO!S0SO!q0UO!t0VO~P#HXO!S0SO!o0XO!p0XO!q0UO!t0VO~P#HXO!P&aO~O!P&aO~P!$dO}'ri!_'ri^'ri'T'ri~P!*WO!w0bO}'ri!_'ri^'ri'T'ri~O}&qO!_'qi~Ou$uO!P$vO#R0dO'Y$aO~O#SoaPoaYoa^oaioa!]oa!^oa!`oa!foa#Woa#Xoa#Yoa#Zoa#[oa#]oa#^oa#_oa#aoa#coa#eoa#foa'Toa'coa!_oazoa!Poa'eoa%Ooa!Xoa~P#7PO#S$[aP$[aY$[a^$[ai$[as$[a!]$[a!^$[a!`$[a!f$[a#W$[a#X$[a#Y$[a#Z$[a#[$[a#]$[a#^$[a#_$[a#a$[a#c$[a#e$[a#f$[a'T$[a'c$[a!_$[az$[a!P$[a'e$[a%O$[a!X$[a~P#7uO#S$^aP$^aY$^a^$^ai$^as$^a!]$^a!^$^a!`$^a!f$^a#W$^a#X$^a#Y$^a#Z$^a#[$^a#]$^a#^$^a#_$^a#a$^a#c$^a#e$^a#f$^a'T$^a'c$^a!_$^az$^a!P$^a'e$^a%O$^a!X$^a~P#8hO#S$laP$laY$la^$lai$las$la}$la!]$la!^$la!`$la!f$la#W$la#X$la#Y$la#Z$la#[$la#]$la#^$la#_$la#a$la#c$la#e$la#f$la'T$la'c$la!_$laz$la!P$la!w$la'e$la%O$la!X$la~P!$dO^!zq}!zq'T!zqz!zq!_!zq'e!zq!P!zq%O!zq!X!zq~P!*WO}&gX'^&gX~PJaO},XO'^'ma~O|0lO}&hX!_&hX~P){O},[O!_'na~O},[O!_'na~P!*WO#i!ba!O!ba~PC`O#i!Ya}!Ya!O!Ya~P#)tO!P1PO#t^O#}1QO~O!O1UO~O'e1VO~P!$dO^$Wq}$Wq'T$Wqz$Wq!_$Wq'e$Wq!P$Wq%O$Wq!X$Wq~P!*WOz1WO~O],sOj,sO~Or(POu(QO'x(UO'p$vi'w$vi}$vi!w$vi~O'^$vi#i$vi~P$(xOr(POu(QO'p$xi'w$xi'x$xi}$xi!w$xi~O'^$xi#i$xi~P$)kO#i1XO~P!$dO|1ZO'Y$aO}&pX!_&pX~O},{O!_'}a~O},{O!X!vO!_'}a~O},{O!X!vO'p&lO!_'}a~O'^$ei}$ei#i$ei!w$ei~P!$dO|1bO'Y(`Oz&rX}&rX~P!%RO}-SOz(Oa~O}-SOz(Oa~P!$dO!X!vO~O!X!vO#_1lO~Oi1pO!X!vO'p&lO~O}'ai'^'ai~P!$dO!w1sO}'ai'^'ai~P!$dO!_1vO~O^$Xq}$Xq'T$Xqz$Xq!_$Xq'e$Xq!P$Xq%O$Xq!X$Xq~P!*WO}1zO!P(PX~P!$dO!P&aO%O1}O~O!P&aO%O1}O~P!$dO!P$cX$sZX^$cX'T$cX~P!#ZO$s2ROrfXufX!PfX'pfX'wfX'xfX^fX'TfX~O$s2RO~O%P2YO'Y)eO}&{X!O&{X~O}.UO!O(Va~OY2^O~O[2_O~O]2bO~OR2dO!P&aO!k2cO%O1}O~O^$]O'T$]O~P!$dO!P#zO~P!$dO}2iO!w2kO!O(SX~O!O2lO~Ou(iO!S2uO!T2nO!U2nO!n2tO!o2sO!p2sO!t2rO'Z$cO'f(eO'o+cO~O!O2qO~P$1yOR2|O!P.qO!k2{O%O2zO~OR2|O!P.qO!k2{O%O2zO'_$dO~O'Y(wO}&zX!O&zX~O}.}O!O(Ta~O'f3VO~O]3XO~O[3ZO~O!_3^O~P){O^3`O~O^3`O~P){O#_3bO%p3cO~PExO_/eO!O3gO&O/dO~P`O!X3iO~O&T3jOP&QqQ&QqW&Qq]&Qq^&Qqa&Qqb&Qqg&Qqi&Qqj&Qqk&Qqn&Qqp&Qqu&Qqw&Qqx&Qqy&Qq!P&Qq!Z&Qq!`&Qq!c&Qq!d&Qq!e&Qq!f&Qq!g&Qq!j&Qq#`&Qq#p&Qq#t&Qq$}&Qq%P&Qq%R&Qq%S&Qq%V&Qq%X&Qq%[&Qq%]&Qq%_&Qq%l&Qq%r&Qq%t&Qq%v&Qq%x&Qq%{&Qq&R&Qq&V&Qq&X&Qq&Z&Qq&]&Qq&_&Qq'O&Qq'Y&Qq'c&Qq'o&Qq'|&Qq!O&Qq%y&Qq_&Qq&O&Qq~O}#Pi!O#Pi~P#)tO!w3lO}#Pi!O#Pi~O}!Ri!O!Ri~P#)tO^$]O!w3sO'T$]O~O^$]O!X!vO!w3sO'T$]O~O!T3wO!U3wO'Z$cO'f(eO'o+cO~O^$]O!X!vO!`$YO!f3xO!w3sO'T$]O'_$dO'p&lO~O!S3yO~P$:cO!S3yO!q3|O!t3}O~P$:cO^$]O!X!vO!f3xO!w3sO'T$]O'p&lO~O}'rq!_'rq^'rq'T'rq~P!*WO}&qO!_'qq~O#S$viP$viY$vi^$vii$vis$vi!]$vi!^$vi!`$vi!f$vi#W$vi#X$vi#Y$vi#Z$vi#[$vi#]$vi#^$vi#_$vi#a$vi#c$vi#e$vi#f$vi'T$vi'c$vi!_$viz$vi!P$vi'e$vi%O$vi!X$vi~P$(xO#S$xiP$xiY$xi^$xii$xis$xi!]$xi!^$xi!`$xi!f$xi#W$xi#X$xi#Y$xi#Z$xi#[$xi#]$xi#^$xi#_$xi#a$xi#c$xi#e$xi#f$xi'T$xi'c$xi!_$xiz$xi!P$xi'e$xi%O$xi!X$xi~P$)kO#S$eiP$eiY$ei^$eii$eis$ei}$ei!]$ei!^$ei!`$ei!f$ei#W$ei#X$ei#Y$ei#Z$ei#[$ei#]$ei#^$ei#_$ei#a$ei#c$ei#e$ei#f$ei'T$ei'c$ei!_$eiz$ei!P$ei!w$ei'e$ei%O$ei!X$ei~P!$dO}&ga'^&ga~P!$dO}&ha!_&ha~P!*WO},[O!_'ni~O#i!zi}!zi!O!zi~P#)tOP#]Or!zOs!zOu!{O!^!xO!`!yO!f#]O'cQOY#Vii#Vi!]#Vi#X#Vi#Y#Vi#Z#Vi#[#Vi#]#Vi#^#Vi#_#Vi#a#Vi#c#Vi#e#Vi#f#Vi#i#Vi'p#Vi'w#Vi'x#Vi}#Vi!O#Vi~O#W#Vi~P$CyO#W9[O~P$CyOP#]Or!zOs!zOu!{O!^!xO!`!yO!f#]O#W9[O#X9]O#Y9]O#Z9]O'cQOY#Vi!]#Vi#[#Vi#]#Vi#^#Vi#_#Vi#a#Vi#c#Vi#e#Vi#f#Vi#i#Vi'p#Vi'w#Vi'x#Vi}#Vi!O#Vi~Oi#Vi~P$FROi9^O~P$FROP#]Oi9^Or!zOs!zOu!{O!^!xO!`!yO!f#]O#W9[O#X9]O#Y9]O#Z9]O#[9_O'cQO#a#Vi#c#Vi#e#Vi#f#Vi#i#Vi'p#Vi'w#Vi'x#Vi}#Vi!O#Vi~OY#Vi!]#Vi#]#Vi#^#Vi#_#Vi~P$HZOY9iO!]9`O#]9`O#^9`O#_9`O~P$HZOP#]OY9iOi9^Or!zOs!zOu!{O!]9`O!^!xO!`!yO!f#]O#W9[O#X9]O#Y9]O#Z9]O#[9_O#]9`O#^9`O#_9`O#a9aO'cQO#c#Vi#e#Vi#f#Vi#i#Vi'p#Vi'x#Vi}#Vi!O#Vi~O'w#Vi~P$JoO'w!|O~P$JoOP#]OY9iOi9^Or!zOs!zOu!{O!]9`O!^!xO!`!yO!f#]O#W9[O#X9]O#Y9]O#Z9]O#[9_O#]9`O#^9`O#_9`O#a9aO#c9cO'cQO'w!|O#e#Vi#f#Vi#i#Vi'p#Vi}#Vi!O#Vi~O'x#Vi~P$LwO'x!}O~P$LwOP#]OY9iOi9^Or!zOs!zOu!{O!]9`O!^!xO!`!yO!f#]O#W9[O#X9]O#Y9]O#Z9]O#[9_O#]9`O#^9`O#_9`O#a9aO#c9cO#e9eO'cQO'w!|O'x!}O~O#f#Vi#i#Vi'p#Vi}#Vi!O#Vi~P% PO^#gy}#gy'T#gyz#gy!_#gy'e#gy!P#gy%O#gy!X#gy~P!*WOP#ViY#Vii#Vis#Vi!]#Vi!^#Vi!`#Vi!f#Vi#W#Vi#X#Vi#Y#Vi#Z#Vi#[#Vi#]#Vi#^#Vi#_#Vi#a#Vi#c#Vi#e#Vi#f#Vi#i#Vi'c#Vi}#Vi!O#Vi~P!$dO!^!xOP'bXY'bXi'bXr'bXs'bXu'bX!]'bX!`'bX!f'bX#W'bX#X'bX#Y'bX#Z'bX#['bX#]'bX#^'bX#_'bX#a'bX#c'bX#e'bX#f'bX#i'bX'c'bX'p'bX'w'bX'x'bX}'bX!O'bX~O#i#ji}#ji!O#ji~P#)tO!O4_O~O}&oa!O&oa~P#)tO!X!vO'p&lO}&pa!_&pa~O},{O!_'}i~O},{O!X!vO!_'}i~Oz&ra}&ra~P!$dO!X4fO~O}-SOz(Oi~P!$dO}-SOz(Oi~Oz4lO~O!X!vO#_4rO~Oi4sO!X!vO'p&lO~Oz4uO~O'^$gq}$gq#i$gq!w$gq~P!$dO^$Xy}$Xy'T$Xyz$Xy!_$Xy'e$Xy!P$Xy%O$Xy!X$Xy~P!*WO}1zO!P(Pa~O!P&aO%O4zO~O!P&aO%O4zO~P!$dO^!zy}!zy'T!zyz!zy!_!zy'e!zy!P!zy%O!zy!X!zy~P!*WOY4}O~O}.UO!O(Vi~O]5SO~O[5TO~O'f'QO}&wX!O&wX~O}2iO!O(Sa~O!O5bO~P$1yOu-eO'f(eO'o+cO~O!S5eO!T5dO!U5dO!t0VO'Z$cO'f(eO'o+cO~O!o5fO!p5fO~P%-iO!T5dO!U5dO'Z$cO'f(eO'o+cO~O!P.qO~O!P.qO%O5hO~O!P.qO%O5hO~P!$dOR5mO!P.qO!k5lO%O5hO~OY5rO}&za!O&za~O}.}O!O(Ti~O]5uO~O!_5vO~O!_5wO~O!_5xO~O!_5xO~P){O^5zO~O!X5}O~O!_6PO~O}'ui!O'ui~P#)tO^$]O'T$]O~P!*WO^$]O!w6UO'T$]O~O^$]O!X!vO!w6UO'T$]O~O!T6ZO!U6ZO'Z$cO'f(eO'o+cO~O^$]O!X!vO!f6[O!w6UO'T$]O'p&lO~O!`$YO'_$dO~P%2TO!S6]O~P%1rO}'ry!_'ry^'ry'T'ry~P!*WO#S$gqP$gqY$gq^$gqi$gqs$gq}$gq!]$gq!^$gq!`$gq!f$gq#W$gq#X$gq#Y$gq#Z$gq#[$gq#]$gq#^$gq#_$gq#a$gq#c$gq#e$gq#f$gq'T$gq'c$gq!_$gqz$gq!P$gq!w$gq'e$gq%O$gq!X$gq~P!$dO}&hi!_&hi~P!*WO#i!zq}!zq!O!zq~P#)tOr-kOs-kOu-lOPoaYoaioa!]oa!^oa!`oa!foa#Woa#Xoa#Yoa#Zoa#[oa#]oa#^oa#_oa#aoa#coa#eoa#foa#ioa'coa'poa'woa'xoa}oa!Ooa~Or(POu(QOP$[aY$[ai$[as$[a!]$[a!^$[a!`$[a!f$[a#W$[a#X$[a#Y$[a#Z$[a#[$[a#]$[a#^$[a#_$[a#a$[a#c$[a#e$[a#f$[a#i$[a'c$[a'p$[a'w$[a'x$[a}$[a!O$[a~Or(POu(QOP$^aY$^ai$^as$^a!]$^a!^$^a!`$^a!f$^a#W$^a#X$^a#Y$^a#Z$^a#[$^a#]$^a#^$^a#_$^a#a$^a#c$^a#e$^a#f$^a#i$^a'c$^a'p$^a'w$^a'x$^a}$^a!O$^a~OP$laY$lai$las$la!]$la!^$la!`$la!f$la#W$la#X$la#Y$la#Z$la#[$la#]$la#^$la#_$la#a$la#c$la#e$la#f$la#i$la'c$la}$la!O$la~P!$dO#i$Wq}$Wq!O$Wq~P#)tO#i$Xq}$Xq!O$Xq~P#)tO!O6gO~O'^$zy}$zy#i$zy!w$zy~P!$dO!X!vO}&pi!_&pi~O!X!vO'p&lO}&pi!_&pi~O},{O!_'}q~Oz&ri}&ri~P!$dO}-SOz(Oq~Oz6nO~P!$dOz6nO~O}'ay'^'ay~P!$dO}&ua!P&ua~P!$dO!P$rq^$rq'T$rq~P!$dOY6vO~O}.UO!O(Vq~O]6yO~O!P&aO%O6zO~O!P&aO%O6zO~P!$dO!w6{O}&wa!O&wa~O}2iO!O(Si~P#)tO!T7RO!U7RO'Z$cO'f(eO'o+cO~O!S7TO!t3}O~P%ArO!P.qO%O7WO~O!P.qO%O7WO~P!$dO'f7^O~O}.}O!O(Tq~O!_7aO~O!_7aO~P){O!_7cO~O!_7dO~O}#Py!O#Py~P#)tO^$]O!w7jO'T$]O~O^$]O!X!vO!w7jO'T$]O~O!T7mO!U7mO'Z$cO'f(eO'o+cO~O^$]O!X!vO!f7nO!w7jO'T$]O'p&lO~O#S$zyP$zyY$zy^$zyi$zys$zy}$zy!]$zy!^$zy!`$zy!f$zy#W$zy#X$zy#Y$zy#Z$zy#[$zy#]$zy#^$zy#_$zy#a$zy#c$zy#e$zy#f$zy'T$zy'c$zy!_$zyz$zy!P$zy!w$zy'e$zy%O$zy!X$zy~P!$dO#i#gy}#gy!O#gy~P#)tOP$eiY$eii$eis$ei!]$ei!^$ei!`$ei!f$ei#W$ei#X$ei#Y$ei#Z$ei#[$ei#]$ei#^$ei#_$ei#a$ei#c$ei#e$ei#f$ei#i$ei'c$ei}$ei!O$ei~P!$dOr(POu(QO'x(UOP$viY$vii$vis$vi!]$vi!^$vi!`$vi!f$vi#W$vi#X$vi#Y$vi#Z$vi#[$vi#]$vi#^$vi#_$vi#a$vi#c$vi#e$vi#f$vi#i$vi'c$vi'p$vi'w$vi}$vi!O$vi~Or(POu(QOP$xiY$xii$xis$xi!]$xi!^$xi!`$xi!f$xi#W$xi#X$xi#Y$xi#Z$xi#[$xi#]$xi#^$xi#_$xi#a$xi#c$xi#e$xi#f$xi#i$xi'c$xi'p$xi'w$xi'x$xi}$xi!O$xi~O#i$Xy}$Xy!O$Xy~P#)tO#i!zy}!zy!O!zy~P#)tO!X!vO}&pq!_&pq~O},{O!_'}y~Oz&rq}&rq~P!$dOz7tO~P!$dO}.UO!O(Vy~O}2iO!O(Sq~O!T8QO!U8QO'Z$cO'f(eO'o+cO~O!P.qO%O8TO~O!P.qO%O8TO~P!$dO!_8WO~O&T8XOP&Q!ZQ&Q!ZW&Q!Z]&Q!Z^&Q!Za&Q!Zb&Q!Zg&Q!Zi&Q!Zj&Q!Zk&Q!Zn&Q!Zp&Q!Zu&Q!Zw&Q!Zx&Q!Zy&Q!Z!P&Q!Z!Z&Q!Z!`&Q!Z!c&Q!Z!d&Q!Z!e&Q!Z!f&Q!Z!g&Q!Z!j&Q!Z#`&Q!Z#p&Q!Z#t&Q!Z$}&Q!Z%P&Q!Z%R&Q!Z%S&Q!Z%V&Q!Z%X&Q!Z%[&Q!Z%]&Q!Z%_&Q!Z%l&Q!Z%r&Q!Z%t&Q!Z%v&Q!Z%x&Q!Z%{&Q!Z&R&Q!Z&V&Q!Z&X&Q!Z&Z&Q!Z&]&Q!Z&_&Q!Z'O&Q!Z'Y&Q!Z'c&Q!Z'o&Q!Z'|&Q!Z!O&Q!Z%y&Q!Z_&Q!Z&O&Q!Z~O^$]O!w8^O'T$]O~O^$]O!X!vO!w8^O'T$]O~OP$gqY$gqi$gqs$gq!]$gq!^$gq!`$gq!f$gq#W$gq#X$gq#Y$gq#Z$gq#[$gq#]$gq#^$gq#_$gq#a$gq#c$gq#e$gq#f$gq#i$gq'c$gq}$gq!O$gq~P!$dO}&wq!O&wq~P#)tO^$]O!w8sO'T$]O~OP$zyY$zyi$zys$zy!]$zy!^$zy!`$zy!f$zy#W$zy#X$zy#Y$zy#Z$zy#[$zy#]$zy#^$zy#_$zy#a$zy#c$zy#e$zy#f$zy#i$zy'c$zy}$zy!O$zy~P!$dO'e'gX~P.jO'eZXzZX!_ZX%pZX!PZX%OZX!XZX~P$zO!XcX!_ZX!_cX'pcX~P;dOP9UOQ9UO]cOa:lOb!iOgcOi9UOjcOkcOn9UOp9UOuROwcOxcOycO!PSO!Z9WO!`UO!c9UO!d9UO!e9UO!f9UO!g9UO!j!hO#p!kO#t^O'Y'`O'cQO'oYO'|:jO~O}9gO!O$Za~O]#rOg$POi#sOj#rOk#rOn$QOp9lOu#yO!P#zO!Z:oO!`#wO#R9rO#p$UO$]9nO$_9pO$b$VO'Y&xO'c#tO~O#`'gO~P&-RO!OZX!OcX~P;dO#S9ZO~O!X!vO#S9ZO~O!w9jO~O#_9`O~O!w9sO}'uX!O'uX~O!w9jO}'sX!O'sX~O#S9tO~O'^9vO~P!$dO#S9{O~O#S9|O~O!X!vO#S9}O~O!X!vO#S9tO~O#i:OO~P#)tO#S:PO~O#S:QO~O#S:RO~O#S:SO~O#i:TO~P!$dO#i:UO~P!$dO#t~!^!n!p!q#Q#R'|$]$_$b$s$}%O%P%V%X%[%]%_%a~TS#t'|#Xy'V'W'f'W'Y#v#x#v~", -+ goto: "#Dq(ZPPPPPPP([P(lP*`PPPP-uPP.[3l5`5sP5sPPP5s5sP5sP7aPP7fP7zPPPP<ZPPPP<Z>yPPP?PA[P<ZPCuPPPPEm<ZPPPPPGf<ZPPJeKbPPPPKfMOPMWNXPKb<Z<Z!#`!&X!*x!*x!.VPPP!.^!1Q<ZPPPPPPPPPP!3uP!5WPP<Z!6eP<ZP<Z<Z<Z<ZP<Z!8xPP!;oP!>bP!>f!>n!>r!>rP!;lP!>v!>vP!AiP!Am<Z<Z!As!De5sP5sP5s5sP!Eh5s5s!G`5s!Ib5s!KS5s5s!Kp!Mj!Mj!Mn!Mj!MvP!MjP5s!Nr5s# |5s5s-uPPP##ZPP##s##sP##sP#$Y##sPP#$`P#$VP#$V#$rMS#$V#%a#%g#%j([#%m([P#%t#%t#%tP([P([P([P([PP([P#%z#%}P#%}([PPP([P([P([P([P([P([([#&R#&]#&c#&i#&w#&}#'T#'_#'e#'o#'u#(T#(Z#(a#(o#)U#*h#*v#*|#+S#+Y#+`#+j#+p#+v#,Q#,d#,jPPPPPPPPP#,pPP#-d#1bPP#2x#3P#3XP#7ePP#7i#9|#?v#?z#?}#@Q#@]#@`PP#@c#@g#AU#Ay#A}#BaPP#Be#Bk#BoP#Br#Bv#By#Ci#DP#DU#DX#D[#Db#De#Di#DmmhOSj}!m$[%c%f%g%i*k*p/_/bQ$imQ$ppQ%ZyS&T!b+WQ&h!iS(h#z(mQ)c$jQ)p$rQ*[%TQ+^&[S+e&a+gQ+w&iQ-c(oQ.|*]Y0R+i+j+k+l+mS2n.q2pU3w0S0U0XU5d2s2t2uS6Z3y3|S7R5e5fQ7m6]R8Q7T$l[ORSTUjk}!S!W!]!`!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#a#d$[$n%[%_%c%e%f%g%i%m%x&Q&]&c&m&z'O(O)Q)X*g*k*p+r+y,[,b-l-q-y.T.t/V/W/X/Z/_/b/d/{0b0l2c2{3`3b3c3s5l5z6U7j8^8s!j'b#[#l&U't+P+S,g/r1P2k3l6{9U9W9Z9[9]9^9_9`9a9b9c9d9e9f9g9j9s9t9v9}:O:R:S:mQ(x$RQ)h$lQ*^%WQ*e%`Q,R9kQ.O)]Q.Z)iQ/U*cQ2X.UQ3T.}Q4W9lR5P2YpeOSjy}!m$[%Y%c%f%g%i*k*p/_/bR*`%[&WVOSTjkn}!S!W!]!j!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#[#a#d#l$[$n%[%_%`%c%e%f%g%i%m%x&Q&]&c&m&z'O't(O)Q)X*g*k*p+P+S+r+y,[,b,g-l-q-y.T.t/V/W/X/Z/_/b/d/r/{0b0l1P2c2k2{3`3b3c3l3s5l5z6U6{7j8^8s9U9W9Z9[9]9^9_9`9a9b9c9d9e9f9g9j9s9t9v9}:O:R:S:l:mW!cRU!`&UQ$blQ$hmS$mp$rv$wrs!q!t$Y$u&^&q&t)t)u)v*i+Q+a+|,O/h0dQ%PwQ&e!hQ&g!iS([#w(fS)b$i$jQ)f$lQ)s$tQ*V%RQ*Z%TS+v&h&iQ-P(]Q.S)cQ.Y)iQ.[)jQ._)nQ.w*WS.{*[*]Q0`+wQ1Y,{Q2W.UQ2[.XQ2a.aQ3S.|Q4c1ZQ5O2YQ5R2^Q6u4}R7w6v!Y$fm!i$h$i$j&S&g&h&i(g)b)c+T+d+v+w-].S/w0O0T0`1o3v3{6X7k8_Q)Z$bQ){$|Q*O$}Q*Y%TQ.c)sQ.v*VU.z*Z*[*]Q2}.wS3R.{.|Q5_2mQ5q3SS7P5`5cS8O7Q7SQ8i8PR8x8jW#}a$d(u:jS$|t%YQ$}uQ%OvR)y$z$V#|a!v!x#c#w#y$S$T$X&d'z(T(V(W(_(c(s(t)W)Y)])z)}+s,X-S-U-n-x-z.h.k.s.u1X1b1l1s1z1}2R2d2z2|4f4r4z5h5m6z7W8T9i9m9n9o9p9q9r9w9x9y9z9{9|:P:Q:T:U:j:p:qV(y$R9k9lU&X!b$v+ZQ'R!zQ)m$oQ.l*PQ1t-kR5Z2i&YcORSTUjk}!S!W!]!`!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#[#a#d#l$[$n%[%_%`%c%e%f%g%i%m%x&Q&U&]&c&m&z'O't(O)Q)X*g*k*p+P+S+r+y,[,b,g-l-q-y.T.t/V/W/X/Z/_/b/d/r/{0b0l1P2c2k2{3`3b3c3l3s5l5z6U6{7j8^8s9U9W9Z9[9]9^9_9`9a9b9c9d9e9f9g9j9s9t9v9}:O:R:S:m$]#`Z!_!n$`%w%{&v&}'T'U'V'W'X'Y'Z'[']'^'_'a'd'h'r)l*{+U+_+x,W,^,a,c,q-o/m/p0a0k0o0p0q0r0s0t0u0v0w0x0y0z0{1O1T1x2U3n3q4R4U4V4[4]5]6Q6T6a6e6f7g7z8[8q8|9V:c&ZcORSTUjk}!S!W!]!`!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#[#a#d#l$[$n%[%_%`%c%e%f%g%i%m%x&Q&U&]&c&m&z'O't(O)Q)X*g*k*p+P+S+r+y,[,b,g-l-q-y.T.t/V/W/X/Z/_/b/d/r/{0b0l1P2c2k2{3`3b3c3l3s5l5z6U6{7j8^8s9U9W9Z9[9]9^9_9`9a9b9c9d9e9f9g9j9s9t9v9}:O:R:S:mQ&V!bR/s+WY&P!b&T&[+W+^S(g#z(mS+d&a+gS-](h(oQ-^(iQ-d(pQ.n*RU0O+e+i+jU0T+k+l+mS0Y+n2rQ1o-cQ1q-eQ1r-fS2m.q2pU3v0R0S0UQ3z0VQ3{0XS5`2n2uS5c2s2tU6X3w3y3|Q6^3}S7Q5d5eQ7S5fS7k6Z6]S8P7R7TQ8_7mR8j8QlhOSj}!m$[%c%f%g%i*k*p/_/bQ%k!QS&u!u9ZQ)`$gQ*T%PQ*U%QQ+t&fS,V&z9tS-p)Q9}Q.Q)aQ.p*SQ/f*rQ/g*sQ/o+RQ0W+kQ0^+uS1y-q:RQ2S.RS2V.T:SQ3m/qQ3p/yQ4P0_Q4|2TQ6O3jQ6R3oQ6V3uQ6_4QQ7e6PQ7h6WQ8Z7iQ8n8XQ8p8]R8{8r$W#_Z!_!n%w%{&v&}'T'U'V'W'X'Y'Z'[']'^'_'a'd'h'r)l*{+U+_+x,W,^,a,q-o/m/p0a0k0o0p0q0r0s0t0u0v0w0x0y0z0{1O1T1x2U3n3q4R4U4V4[4]5]6Q6T6a6e6f7g7z8[8q8|9V:cU(r#{&y0}T)U$`,c$W#^Z!_!n%w%{&v&}'T'U'V'W'X'Y'Z'[']'^'_'a'd'h'r)l*{+U+_+x,W,^,a,q-o/m/p0a0k0o0p0q0r0s0t0u0v0w0x0y0z0{1O1T1x2U3n3q4R4U4V4[4]5]6Q6T6a6e6f7g7z8[8q8|9V:cQ'c#_S)T$`,cR-r)U&YcORSTUjk}!S!W!]!`!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#[#a#d#l$[$n%[%_%`%c%e%f%g%i%m%x&Q&U&]&c&m&z'O't(O)Q)X*g*k*p+P+S+r+y,[,b,g-l-q-y.T.t/V/W/X/Z/_/b/d/r/{0b0l1P2c2k2{3`3b3c3l3s5l5z6U6{7j8^8s9U9W9Z9[9]9^9_9`9a9b9c9d9e9f9g9j9s9t9v9}:O:R:S:mQ%f{Q%g|Q%i!OQ%j!PR/^*nQ&b!hQ)V$bQ+q&eS-w)Z)sS0Z+o+pW1|-t-u-v.cS4O0[0]U4y2O2P2QU6s4x5V5WQ7v6tR8e7yT+f&a+gS+d&a+gU0O+e+i+jU0T+k+l+mS0Y+n2rS2m.q2pU3v0R0S0UQ3z0VQ3{0XS5`2n2uS5c2s2tU6X3w3y3|Q6^3}S7Q5d5eQ7S5fS7k6Z6]S8P7R7TQ8_7mR8j8QS+f&a+gT2o.q2pS&o!p/[Q-O([Q-Z(gS/}+d2mQ1_-PS1i-[-dU3x0T0Y5cQ4b1YS4p1p1rU6[3z3{7SQ6i4cQ6r4sR7n6^Q!wXS&n!p/[Q)R$ZQ)^$eQ)d$kQ+z&oQ,}([Q-Y(gQ-_(jQ.P)_Q.x*XS/|+d2mS1^-O-PS1h-Z-dQ1k-^Q1n-`Q3P.yW3t/}0T0Y5cQ4a1YQ4e1_S4j1i1rQ4q1qQ5o3QW6Y3x3z3{7SS6h4b4cQ6m4lQ6p4pQ6}5^Q7[5pS7l6[6^Q7p6iQ7r6nQ7u6rQ7|7OQ8V7]Q8`7nQ8c7tQ8g7}Q8v8hQ9O8wQ9S9PQ:]:WQ:f:aR:g:b$nWORSTUjk}!S!W!]!`!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#a#d$[$n%[%_%`%c%e%f%g%i%m%x&Q&]&c&m&z'O(O)Q)X*g*k*p+r+y,[,b-l-q-y.T.t/V/W/X/Z/_/b/d/{0b0l2c2{3`3b3c3s5l5z6U7j8^8sS!wn!j!j:V#[#l&U't+P+S,g/r1P2k3l6{9U9W9Z9[9]9^9_9`9a9b9c9d9e9f9g9j9s9t9v9}:O:R:S:mR:]:l$nXORSTUjk}!S!W!]!`!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#a#d$[$n%[%_%`%c%e%f%g%i%m%x&Q&]&c&m&z'O(O)Q)X*g*k*p+r+y,[,b-l-q-y.T.t/V/W/X/Z/_/b/d/{0b0l2c2{3`3b3c3s5l5z6U7j8^8sQ$Zb!Y$em!i$h$i$j&S&g&h&i(g)b)c+T+d+v+w-].S/w0O0T0`1o3v3{6X7k8_S$kn!jQ)_$fQ*X%TW.y*Y*Z*[*]U3Q.z.{.|Q5^2mS5p3R3SU7O5_5`5cQ7]5qU7}7P7Q7SS8h8O8PS8w8i8jQ9P8x!j:W#[#l&U't+P+S,g/r1P2k3l6{9U9W9Z9[9]9^9_9`9a9b9c9d9e9f9g9j9s9t9v9}:O:R:S:mQ:a:kR:b:l$f]OSTjk}!S!W!]!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#a#d$[$n%[%_%c%e%f%g%i%m%x&Q&]&c&m&z'O(O)Q)X*g*k*p+r+y,[,b-l-q-y.T.t/V/W/X/Z/_/b/d/{0b0l2c2{3`3b3c3s5l5z6U7j8^8sU!gRU!`v$wrs!q!t$Y$u&^&q&t)t)u)v*i+Q+a+|,O/h0dQ*f%`!h:X#[#l't+P+S,g/r1P2k3l6{9U9W9Z9[9]9^9_9`9a9b9c9d9e9f9g9j9s9t9v9}:O:R:S:mR:[&US&Y!b$vR/u+Z$l[ORSTUjk}!S!W!]!`!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#a#d$[$n%[%_%c%e%f%g%i%m%x&Q&]&c&m&z'O(O)Q)X*g*k*p+r+y,[,b-l-q-y.T.t/V/W/X/Z/_/b/d/{0b0l2c2{3`3b3c3s5l5z6U7j8^8s!j'b#[#l&U't+P+S,g/r1P2k3l6{9U9W9Z9[9]9^9_9`9a9b9c9d9e9f9g9j9s9t9v9}:O:R:S:mR*e%`$noORSTUjk}!S!W!]!`!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#a#d$[$n%[%_%`%c%e%f%g%i%m%x&Q&]&c&m&z'O(O)Q)X*g*k*p+r+y,[,b-l-q-y.T.t/V/W/X/Z/_/b/d/{0b0l2c2{3`3b3c3s5l5z6U7j8^8sQ'R!z!k:Y#[#l&U't+P+S,g/r1P2k3l6{9U9W9Z9[9]9^9_9`9a9b9c9d9e9f9g9j9s9t9v9}:O:R:S:m!h#UZ!_$`%w%{&v&}'[']'^'_'d'h)l*{+_+x,W,^,q-o0a0k0{1x2U3q4R4U6T7g8[8q8|9V!R9b'a'r+U,c/m/p0o0w0x0y0z1O1T3n4V4[4]5]6Q6a6e6f7z:c!d#WZ!_$`%w%{&v&}'^'_'d'h)l*{+_+x,W,^,q-o0a0k0{1x2U3q4R4U6T7g8[8q8|9V}9d'a'r+U,c/m/p0o0y0z1O1T3n4V4[4]5]6Q6a6e6f7z:c!`#[Z!_$`%w%{&v&}'d'h)l*{+_+x,W,^,q-o0a0k0{1x2U3q4R4U6T7g8[8q8|9Vl(W#u&{)P,y-R-g-h0i1w4`4t:^:h:ix:m'a'r+U,c/m/p0o1O1T3n4V4[4]5]6Q6a6e6f7z:c!`:p&w'f(Z(a+p,U,n-V-s-v.g.i0]0h1`1d2Q2f2h2x4T4g4m4v4{5W5k6`6k6q7YZ:q0|4Z6b7o8a&YcORSTUjk}!S!W!]!`!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#[#a#d#l$[$n%[%_%`%c%e%f%g%i%m%x&Q&U&]&c&m&z'O't(O)Q)X*g*k*p+P+S+r+y,[,b,g-l-q-y.T.t/V/W/X/Z/_/b/d/r/{0b0l1P2c2k2{3`3b3c3l3s5l5z6U6{7j8^8s9U9W9Z9[9]9^9_9`9a9b9c9d9e9f9g9j9s9t9v9}:O:R:S:mS#m`#nR1Q,f&a_ORSTU`jk}!S!W!]!`!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#[#a#d#l#n$[$n%[%_%`%c%e%f%g%i%m%x&Q&U&]&c&m&z'O't(O)Q)X*g*k*p+P+S+r+y,[,b,f,g-l-q-y.T.t/V/W/X/Z/_/b/d/r/{0b0l1P2c2k2{3`3b3c3l3s5l5z6U6{7j8^8s9U9W9Z9[9]9^9_9`9a9b9c9d9e9f9g9j9s9t9v9}:O:R:S:mT#i^#oS#g^#oT'k#j'oT#h^#oT'm#j'o&a`ORSTU`jk}!S!W!]!`!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#[#a#d#l#n$[$n%[%_%`%c%e%f%g%i%m%x&Q&U&]&c&m&z'O't(O)Q)X*g*k*p+P+S+r+y,[,b,f,g-l-q-y.T.t/V/W/X/Z/_/b/d/r/{0b0l1P2c2k2{3`3b3c3l3s5l5z6U6{7j8^8s9U9W9Z9[9]9^9_9`9a9b9c9d9e9f9g9j9s9t9v9}:O:R:S:mT#m`#nQ#p`R'v#n$nbORSTUjk}!S!W!]!`!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#a#d$[$n%[%_%`%c%e%f%g%i%m%x&Q&]&c&m&z'O(O)Q)X*g*k*p+r+y,[,b-l-q-y.T.t/V/W/X/Z/_/b/d/{0b0l2c2{3`3b3c3s5l5z6U7j8^8s!k:k#[#l&U't+P+S,g/r1P2k3l6{9U9W9Z9[9]9^9_9`9a9b9c9d9e9f9g9j9s9t9v9}:O:R:S:m#RdOSUj}!S!W!m!{#l$[%[%_%`%c%e%f%g%i%m&Q&c't)X*g*k*p+r,g-l-y.t/V/W/X/Z/_/b/d1P2c2{3`3b3c5l5zt#{a!x$S$T$X(T(V(W(_(s(t,X-n1X1s:j:p:q!|&y!v#c#w#y&d'z(c)W)Y)])z)}+s-S-U-x-z.h.k.s.u1b1l1z1}2R2d2z2|4f4r4z5h5m6z7W8T9m9o9q9w9y9{:P:TQ(}$VQ,r(Pc0}9i9n9p9r9x9z9|:Q:Ut#xa!x$S$T$X(T(V(W(_(s(t,X-n1X1s:j:p:qS(j#z(mQ)O$WQ-`(k!|:_!v#c#w#y&d'z(c)W)Y)])z)}+s-S-U-x-z.h.k.s.u1b1l1z1}2R2d2z2|4f4r4z5h5m6z7W8T9m9o9q9w9y9{:P:Tb:`9i9n9p9r9x9z9|:Q:UQ:d:nR:e:ot#{a!x$S$T$X(T(V(W(_(s(t,X-n1X1s:j:p:q!|&y!v#c#w#y&d'z(c)W)Y)])z)}+s-S-U-x-z.h.k.s.u1b1l1z1}2R2d2z2|4f4r4z5h5m6z7W8T9m9o9q9w9y9{:P:Tc0}9i9n9p9r9x9z9|:Q:UlfOSj}!m$[%c%f%g%i*k*p/_/bQ(b#yQ*w%pQ*x%rR1a-S$U#|a!v!x#c#w#y$S$T$X&d'z(T(V(W(_(c(s(t)W)Y)])z)}+s,X-S-U-n-x-z.h.k.s.u1X1b1l1s1z1}2R2d2z2|4f4r4z5h5m6z7W8T9i9m9n9o9p9q9r9w9x9y9z9{9|:P:Q:T:U:j:p:qQ)|$}Q.j*OQ2g.iR5Y2hT(l#z(mS(l#z(mT2o.q2pQ)^$eQ-_(jQ.P)_Q.x*XQ3P.yQ5o3QQ6}5^Q7[5pQ7|7OQ8V7]Q8g7}Q8v8hQ9O8wR9S9Pl(T#u&{)P,y-R-g-h0i1w4`4t:^:h:i!`9w&w'f(Z(a+p,U,n-V-s-v.g.i0]0h1`1d2Q2f2h2x4T4g4m4v4{5W5k6`6k6q7YZ9x0|4Z6b7o8an(V#u&{)P,w,y-R-g-h0i1w4`4t:^:h:i!b9y&w'f(Z(a+p,U,n-V-s-v.g.i0]0f0h1`1d2Q2f2h2x4T4g4m4v4{5W5k6`6k6q7Y]9z0|4Z6b6c7o8apeOSjy}!m$[%Y%c%f%g%i*k*p/_/bQ%VxR*g%`peOSjy}!m$[%Y%c%f%g%i*k*p/_/bR%VxQ*Q%OR.f)yqeOSjy}!m$[%Y%c%f%g%i*k*p/_/bQ.r*VS2y.v.wW5g2v2w2x2}U7V5i5j5kU8R7U7X7YQ8k8SR8y8lQ%^yR*a%YR3W/PR7_5rS$mp$rR.[)jQ%czR*k%dR*q%jT/`*p/bQjOQ!mST$_j!mQ'|#tR,o'|Q!YQR%u!YQ!^RU%y!^%z*|Q%z!_R*|%{Q+X&VR/t+XQ,Y&{R0j,YQ,]&}S0m,]0nR0n,^Q+g&aR0P+gQ&_!eQ*}%|T+b&_*}Q+[&YR/v+[Q&r!rQ+{&pU,P&r+{0eR0e,QQ'o#jR,h'oQ#n`R'u#nQ#bZU'e#b*z9hQ*z9VR9h'rQ,|([W1[,|1]4d6jU1],}-O-PS4d1^1_R6j4e#q(R#u&w&{'f(Z(a(z({)P+p,S,T,U,n,w,x,y-R-V-g-h-s-v.g.i0]0f0g0h0i0|1`1d1w2Q2f2h2x4T4X4Y4Z4`4g4m4t4v4{5W5k6`6b6c6d6k6q7Y7o8a:^:h:iQ-T(aU1c-T1e4hQ1e-VR4h1dQ(m#zR-a(mQ(v$OR-j(vQ1{-sR4w1{Q)w$xR.e)wQ2j.lS5[2j6|R6|5]Q*S%PR.o*SQ2p.qR5a2pQ/O*^S3U/O5sR5s3WQ.V)fW2Z.V2]5Q6wQ2].YQ5Q2[R6w5RQ)k$mR.])kQ/b*pR3f/bWiOSj!mQ%h}Q)S$[Q*j%cQ*l%fQ*m%gQ*o%iQ/]*kS/`*p/bR3e/_Q$^gQ%l!RQ%o!TQ%q!UQ%s!VQ)r$sQ)x$yQ*`%^Q*u%nS/R*a*dQ/i*tQ/j*wQ/k*xS/z+d2mQ1f-XQ1g-YQ1m-_Q2`.`Q2e.gQ3O.xQ3Y/TQ3d/^Y3r/|/}0T0Y5cQ4i1hQ4k1jQ4n1nQ5U2bQ5X2fQ5n3PQ5t3X[6S3q3t3x3z3{7SQ6l4jQ6o4oQ6x5SQ7Z5oQ7`5uW7f6T6Y6[6^Q7q6mQ7s6pQ7x6yQ7{6}Q8U7[U8Y7g7l7nQ8b7rQ8d7uQ8f7|Q8m8VS8o8[8`Q8t8cQ8u8gQ8z8qQ8}8vQ9Q8|Q9R9OR9T9SQ$gmQ&f!iU)a$h$i$jQ+R&SU+u&g&h&iQ-X(gS.R)b)cQ/q+TQ/y+dS0_+v+wQ1j-]Q2T.SQ3o/wS3u0O0TQ4Q0`Q4o1oS6W3v3{Q7i6XQ8]7kR8r8_S#va:jR)[$dU$Oa$d:jR-i(uQ#uaS&w!v)]Q&{!xQ'f#cQ(Z#wQ(a#yQ(z$SQ({$TQ)P$XQ+p&dQ,S9mQ,T9oQ,U9qQ,n'zQ,w(TQ,x(VQ,y(WQ-R(_Q-V(cQ-g(sQ-h(td-s)W-x.s1}2z4z5h6z7W8TQ-v)YQ.g)zQ.i)}Q0]+sQ0f9wQ0g9yQ0h9{Q0i,XQ0|9iQ1`-SQ1d-UQ1w-nQ2Q-zQ2f.hQ2h.kQ2x.uQ4T:PQ4X9nQ4Y9pQ4Z9rQ4`1XQ4g1bQ4m1lQ4t1sQ4v1zQ4{2RQ5W2dQ5k2|Q6`:TQ6b9|Q6c9xQ6d9zQ6k4fQ6q4rQ7Y5mQ7o:QQ8a:UQ:^:jQ:h:pR:i:qT'{#t'|lgOSj}!m$[%c%f%g%i*k*p/_/bS!oU%eQ%n!SQ%t!WQ'S!{Q's#lS*d%[%_Q*h%`Q*t%mQ+O&QQ+o&cQ,l'tQ-u)XQ/Y*gQ0[+rQ1S,gQ1u-lQ2P-yQ2w.tQ3[/VQ3]/WQ3_/XQ3a/ZQ3h/dQ4^1PQ5V2cQ5j2{Q5y3`Q5{3bQ5|3cQ7X5lR7b5z!vZOSUj}!S!m!{$[%[%_%`%c%e%f%g%i%m&Q&c)X*g*k*p+r-l-y.t/V/W/X/Z/_/b/d2c2{3`3b3c5l5zQ!_RQ!nTQ$`kQ%w!]Q%{!`Q&v!uQ&}!yQ'T#OQ'U#PQ'V#QQ'W#RQ'X#SQ'Y#TQ'Z#UQ'[#VQ']#WQ'^#XQ'_#YQ'a#[Q'd#aQ'h#dW'r#l't,g1PQ)l$nQ*{%xS+U&U/rQ+_&]Q+x&mQ,W&zQ,^'OQ,a9UQ,c9WQ,q(OQ-o)QQ/m+PQ/p+SQ0a+yQ0k,[Q0o9ZQ0p9[Q0q9]Q0r9^Q0s9_Q0t9`Q0u9aQ0v9bQ0w9cQ0x9dQ0y9eQ0z9fQ0{,bQ1O9jQ1T9gQ1x-qQ2U.TQ3n9sQ3q/{Q4R0bQ4U0lQ4V9tQ4[9vQ4]9}Q5]2kQ6Q3lQ6T3sQ6a:OQ6e:RQ6f:SQ7g6UQ7z6{Q8[7jQ8q8^Q8|8sQ9V!WR:c:mT!XQ!YR!aRR&W!bS&S!b+WS+T&T&[R/w+^R&|!xR'P!yT!sU$YS!rU$YU$xrs*iS&p!q!tQ+}&qQ,Q&tQ.d)vS0c+|,OR4S0d[!dR!`$u&^)t+ah!pUrs!q!t$Y&q&t)v+|,O0dQ/[*iQ/n+QQ3k/hT:Z&U)uT!fR$uS!eR$uS%|!`)tS+V&U)uQ+`&^R/x+aT&Z!b$vQ#j^R'x#oT'n#j'oR1R,fT(^#w(fR(d#yQ-t)WQ2O-xQ2v.sQ4x1}Q5i2zQ6t4zQ7U5hQ7y6zQ8S7WR8l8TlhOSj}!m$[%c%f%g%i*k*p/_/bQ%]yR*`%YV$yrs*iR.m*PR*_%WQ$qpR)q$rR)g$lT%az%dT%bz%dT/a*p/b", -+ nodeNames: "⚠ ArithOp ArithOp extends LineComment BlockComment Script ExportDeclaration export Star as VariableName from String ; default FunctionDeclaration async function VariableDefinition TypeParamList TypeDefinition ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType VoidType void TypeofType typeof MemberExpression . ?. PropertyName [ TemplateString null super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewExpression new TypeArgList CompareOp < ) ( ArgList UnaryExpression await yield delete LogicOp BitOp ParenthesizedExpression ClassExpression class extends ClassBody MethodDeclaration Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression PrivatePropertyName BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof in const CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXStartTag JSXSelfClosingTag JSXIdentifier JSXBuiltin JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast ArrowFunction TypeParamList SequenceExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature CallSignature TypePredicate is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody MethodDeclaration AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try catch finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement", -+ maxTerm: 332, - context: trackNewline, - nodeProps: [ -- [NodeProp.group, -26,7,14,16,54,180,184,187,188,190,193,196,207,209,215,217,219,221,224,230,234,236,238,240,242,244,245,"Statement",-30,11,13,23,26,27,38,39,40,41,43,48,56,64,70,71,87,88,97,99,115,118,120,121,122,123,125,126,144,145,147,"Expression",-22,22,24,28,29,31,148,150,152,153,155,156,157,159,160,161,163,164,165,174,176,178,179,"Type",-3,75,81,86,"ClassItem"], -- [NodeProp.closedBy, 37,"]",47,"}",62,")",128,"JSXSelfCloseEndTag JSXEndTag",142,"JSXEndTag"], -- [NodeProp.openedBy, 42,"[",46,"{",61,"(",127,"JSXStartTag",137,"JSXStartTag JSXStartCloseTag"] -+ [NodeProp.group, -26,7,14,16,54,182,186,189,190,192,195,198,209,211,217,219,221,223,226,232,236,238,240,242,244,246,247,"Statement",-30,11,13,23,26,27,38,39,40,41,43,48,56,64,70,71,87,88,97,99,115,118,120,121,122,123,125,126,146,147,149,"Expression",-22,22,24,28,29,31,150,152,154,155,157,158,159,161,162,163,165,166,167,176,178,180,181,"Type",-3,75,81,86,"ClassItem"], -+ [NodeProp.closedBy, 37,"]",47,"}",62,")",128,"JSXSelfCloseEndTag JSXEndTag",144,"JSXEndTag"], -+ [NodeProp.openedBy, 42,"[",46,"{",61,"(",127,"JSXStartTag",139,"JSXStartTag JSXStartCloseTag"] - ], - skippedNodes: [0,4,5], - repeatNodeCount: 28, -- tokenData: "!C}~R!`OX%TXY%cYZ'RZ[%c[]%T]^'R^p%Tpq%cqr'crs(kst0htu2`uv4pvw5ewx6cxy<yyz=Zz{=k{|>k|}?O}!O>k!O!P?`!P!QCl!Q!R!0[!R![!1q![!]!7s!]!^!8V!^!_!8g!_!`!9d!`!a!:[!a!b!<R!b!c%T!c!}2`!}#O!=d#O#P%T#P#Q!=t#Q#R!>U#R#S2`#S#T!>i#T#o2`#o#p!>y#p#q!?O#q#r!?f#r#s!?x#s$f%T$f$g%c$g#BY2`#BY#BZ!@Y#BZ$IS2`$IS$I_!@Y$I_$I|2`$I|$I}!Bq$I}$JO!Bq$JO$JT2`$JT$JU!@Y$JU$KV2`$KV$KW!@Y$KW&FU2`&FU&FV!@Y&FV?HT2`?HT?HU!@Y?HU~2`W%YR$QWO!^%T!_#o%T#p~%T,T%jg$QW'T+{OX%TXY%cYZ%TZ[%c[p%Tpq%cq!^%T!_#o%T#p$f%T$f$g%c$g#BY%T#BY#BZ%c#BZ$IS%T$IS$I_%c$I_$JT%T$JT$JU%c$JU$KV%T$KV$KW%c$KW&FU%T&FU&FV%c&FV?HT%T?HT?HU%c?HU~%T,T'YR$QW'U+{O!^%T!_#o%T#p~%T$T'jS$QW!f#{O!^%T!_!`'v!`#o%T#p~%T$O'}S#a#v$QWO!^%T!_!`(Z!`#o%T#p~%T$O(bR#a#v$QWO!^%T!_#o%T#p~%T'u(rZ$QW]!ROY(kYZ)eZr(krs*rs!^(k!^!_+U!_#O(k#O#P-b#P#o(k#o#p+U#p~(k&r)jV$QWOr)ers*Ps!^)e!^!_*a!_#o)e#o#p*a#p~)e&r*WR#{&j$QWO!^%T!_#o%T#p~%T&j*dROr*ars*ms~*a&j*rO#{&j'u*{R#{&j$QW]!RO!^%T!_#o%T#p~%T'm+ZV]!ROY+UYZ*aZr+Urs+ps#O+U#O#P+w#P~+U'm+wO#{&j]!R'm+zROr+Urs,Ts~+U'm,[U#{&j]!ROY,nZr,nrs-Vs#O,n#O#P-[#P~,n!R,sU]!ROY,nZr,nrs-Vs#O,n#O#P-[#P~,n!R-[O]!R!R-_PO~,n'u-gV$QWOr(krs-|s!^(k!^!_+U!_#o(k#o#p+U#p~(k'u.VZ#{&j$QW]!ROY.xYZ%TZr.xrs/rs!^.x!^!_,n!_#O.x#O#P0S#P#o.x#o#p,n#p~.x!Z/PZ$QW]!ROY.xYZ%TZr.xrs/rs!^.x!^!_,n!_#O.x#O#P0S#P#o.x#o#p,n#p~.x!Z/yR$QW]!RO!^%T!_#o%T#p~%T!Z0XT$QWO!^.x!^!_,n!_#o.x#o#p,n#p~.xy0mZ$QWOt%Ttu1`u!^%T!_!c%T!c!}1`!}#R%T#R#S1`#S#T%T#T#o1`#p$g%T$g~1`y1g]$QW'mqOt%Ttu1`u!Q%T!Q![1`![!^%T!_!c%T!c!}1`!}#R%T#R#S1`#S#T%T#T#o1`#p$g%T$g~1`&i2k_$QW#vS'W%k'dpOt%Ttu2`u}%T}!O3j!O!Q%T!Q![2`![!^%T!_!c%T!c!}2`!}#R%T#R#S2`#S#T%T#T#o2`#p$g%T$g~2`[3q_$QW#vSOt%Ttu3ju}%T}!O3j!O!Q%T!Q![3j![!^%T!_!c%T!c!}3j!}#R%T#R#S3j#S#T%T#T#o3j#p$g%T$g~3j$O4wS#Y#v$QWO!^%T!_!`5T!`#o%T#p~%T$O5[R$QW#k#vO!^%T!_#o%T#p~%T%r5lU'v%j$QWOv%Tvw6Ow!^%T!_!`5T!`#o%T#p~%T$O6VS$QW#e#vO!^%T!_!`5T!`#o%T#p~%T'u6jZ$QW]!ROY6cYZ7]Zw6cwx*rx!^6c!^!_8T!_#O6c#O#P:T#P#o6c#o#p8T#p~6c&r7bV$QWOw7]wx*Px!^7]!^!_7w!_#o7]#o#p7w#p~7]&j7zROw7wwx*mx~7w'm8YV]!ROY8TYZ7wZw8Twx+px#O8T#O#P8o#P~8T'm8rROw8Twx8{x~8T'm9SU#{&j]!ROY9fZw9fwx-Vx#O9f#O#P9}#P~9f!R9kU]!ROY9fZw9fwx-Vx#O9f#O#P9}#P~9f!R:QPO~9f'u:YV$QWOw6cwx:ox!^6c!^!_8T!_#o6c#o#p8T#p~6c'u:xZ#{&j$QW]!ROY;kYZ%TZw;kwx/rx!^;k!^!_9f!_#O;k#O#P<e#P#o;k#o#p9f#p~;k!Z;rZ$QW]!ROY;kYZ%TZw;kwx/rx!^;k!^!_9f!_#O;k#O#P<e#P#o;k#o#p9f#p~;k!Z<jT$QWO!^;k!^!_9f!_#o;k#o#p9f#p~;k%V=QR!`$}$QWO!^%T!_#o%T#p~%TZ=bR!_R$QWO!^%T!_#o%T#p~%T%R=tU'X!R#Z#v$QWOz%Tz{>W{!^%T!_!`5T!`#o%T#p~%T$O>_S#W#v$QWO!^%T!_!`5T!`#o%T#p~%T$u>rSi$m$QWO!^%T!_!`5T!`#o%T#p~%T&i?VR}&a$QWO!^%T!_#o%T#p~%T&i?gVr%n$QWO!O%T!O!P?|!P!Q%T!Q![@r![!^%T!_#o%T#p~%Ty@RT$QWO!O%T!O!P@b!P!^%T!_#o%T#p~%Ty@iR|q$QWO!^%T!_#o%T#p~%Ty@yZ$QWjqO!Q%T!Q![@r![!^%T!_!g%T!g!hAl!h#R%T#R#S@r#S#X%T#X#YAl#Y#o%T#p~%TyAqZ$QWO{%T{|Bd|}%T}!OBd!O!Q%T!Q![CO![!^%T!_#R%T#R#SCO#S#o%T#p~%TyBiV$QWO!Q%T!Q![CO![!^%T!_#R%T#R#SCO#S#o%T#p~%TyCVV$QWjqO!Q%T!Q![CO![!^%T!_#R%T#R#SCO#S#o%T#p~%T,TCs`$QW#X#vOYDuYZ%TZzDuz{Jl{!PDu!P!Q!-e!Q!^Du!^!_Fx!_!`!.^!`!a!/]!a!}Du!}#OHq#O#PJQ#P#oDu#o#pFx#p~DuXD|[$QWyPOYDuYZ%TZ!PDu!P!QEr!Q!^Du!^!_Fx!_!}Du!}#OHq#O#PJQ#P#oDu#o#pFx#p~DuXEy_$QWyPO!^%T!_#Z%T#Z#[Er#[#]%T#]#^Er#^#a%T#a#bEr#b#g%T#g#hEr#h#i%T#i#jEr#j#m%T#m#nEr#n#o%T#p~%TPF}VyPOYFxZ!PFx!P!QGd!Q!}Fx!}#OG{#O#PHh#P~FxPGiUyP#Z#[Gd#]#^Gd#a#bGd#g#hGd#i#jGd#m#nGdPHOTOYG{Z#OG{#O#PH_#P#QFx#Q~G{PHbQOYG{Z~G{PHkQOYFxZ~FxXHvY$QWOYHqYZ%TZ!^Hq!^!_G{!_#OHq#O#PIf#P#QDu#Q#oHq#o#pG{#p~HqXIkV$QWOYHqYZ%TZ!^Hq!^!_G{!_#oHq#o#pG{#p~HqXJVV$QWOYDuYZ%TZ!^Du!^!_Fx!_#oDu#o#pFx#p~Du,TJs^$QWyPOYJlYZKoZzJlz{NQ{!PJl!P!Q!,R!Q!^Jl!^!_!!]!_!}Jl!}#O!'|#O#P!+a#P#oJl#o#p!!]#p~Jl,TKtV$QWOzKoz{LZ{!^Ko!^!_M]!_#oKo#o#pM]#p~Ko,TL`X$QWOzKoz{LZ{!PKo!P!QL{!Q!^Ko!^!_M]!_#oKo#o#pM]#p~Ko,TMSR$QWT+{O!^%T!_#o%T#p~%T+{M`ROzM]z{Mi{~M]+{MlTOzM]z{Mi{!PM]!P!QM{!Q~M]+{NQOT+{,TNX^$QWyPOYJlYZKoZzJlz{NQ{!PJl!P!Q! T!Q!^Jl!^!_!!]!_!}Jl!}#O!'|#O#P!+a#P#oJl#o#p!!]#p~Jl,T! ^_$QWT+{yPO!^%T!_#Z%T#Z#[Er#[#]%T#]#^Er#^#a%T#a#bEr#b#g%T#g#hEr#h#i%T#i#jEr#j#m%T#m#nEr#n#o%T#p~%T+{!!bYyPOY!!]YZM]Zz!!]z{!#Q{!P!!]!P!Q!&x!Q!}!!]!}#O!$`#O#P!&f#P~!!]+{!#VYyPOY!!]YZM]Zz!!]z{!#Q{!P!!]!P!Q!#u!Q!}!!]!}#O!$`#O#P!&f#P~!!]+{!#|UT+{yP#Z#[Gd#]#^Gd#a#bGd#g#hGd#i#jGd#m#nGd+{!$cWOY!$`YZM]Zz!$`z{!${{#O!$`#O#P!&S#P#Q!!]#Q~!$`+{!%OYOY!$`YZM]Zz!$`z{!${{!P!$`!P!Q!%n!Q#O!$`#O#P!&S#P#Q!!]#Q~!$`+{!%sTT+{OYG{Z#OG{#O#PH_#P#QFx#Q~G{+{!&VTOY!$`YZM]Zz!$`z{!${{~!$`+{!&iTOY!!]YZM]Zz!!]z{!#Q{~!!]+{!&}_yPOzM]z{Mi{#ZM]#Z#[!&x#[#]M]#]#^!&x#^#aM]#a#b!&x#b#gM]#g#h!&x#h#iM]#i#j!&x#j#mM]#m#n!&x#n~M],T!(R[$QWOY!'|YZKoZz!'|z{!(w{!^!'|!^!_!$`!_#O!'|#O#P!*o#P#QJl#Q#o!'|#o#p!$`#p~!'|,T!(|^$QWOY!'|YZKoZz!'|z{!(w{!P!'|!P!Q!)x!Q!^!'|!^!_!$`!_#O!'|#O#P!*o#P#QJl#Q#o!'|#o#p!$`#p~!'|,T!*PY$QWT+{OYHqYZ%TZ!^Hq!^!_G{!_#OHq#O#PIf#P#QDu#Q#oHq#o#pG{#p~Hq,T!*tX$QWOY!'|YZKoZz!'|z{!(w{!^!'|!^!_!$`!_#o!'|#o#p!$`#p~!'|,T!+fX$QWOYJlYZKoZzJlz{NQ{!^Jl!^!_!!]!_#oJl#o#p!!]#p~Jl,T!,Yc$QWyPOzKoz{LZ{!^Ko!^!_M]!_#ZKo#Z#[!,R#[#]Ko#]#^!,R#^#aKo#a#b!,R#b#gKo#g#h!,R#h#iKo#i#j!,R#j#mKo#m#n!,R#n#oKo#o#pM]#p~Ko,T!-lV$QWS+{OY!-eYZ%TZ!^!-e!^!_!.R!_#o!-e#o#p!.R#p~!-e+{!.WQS+{OY!.RZ~!.R$P!.g[$QW#k#vyPOYDuYZ%TZ!PDu!P!QEr!Q!^Du!^!_Fx!_!}Du!}#OHq#O#PJQ#P#oDu#o#pFx#p~Du]!/f[#sS$QWyPOYDuYZ%TZ!PDu!P!QEr!Q!^Du!^!_Fx!_!}Du!}#OHq#O#PJQ#P#oDu#o#pFx#p~Duy!0cd$QWjqO!O%T!O!P@r!P!Q%T!Q![!1q![!^%T!_!g%T!g!hAl!h#R%T#R#S!1q#S#U%T#U#V!3X#V#X%T#X#YAl#Y#b%T#b#c!2w#c#d!4m#d#l%T#l#m!5{#m#o%T#p~%Ty!1x_$QWjqO!O%T!O!P@r!P!Q%T!Q![!1q![!^%T!_!g%T!g!hAl!h#R%T#R#S!1q#S#X%T#X#YAl#Y#b%T#b#c!2w#c#o%T#p~%Ty!3OR$QWjqO!^%T!_#o%T#p~%Ty!3^W$QWO!Q%T!Q!R!3v!R!S!3v!S!^%T!_#R%T#R#S!3v#S#o%T#p~%Ty!3}Y$QWjqO!Q%T!Q!R!3v!R!S!3v!S!^%T!_#R%T#R#S!3v#S#b%T#b#c!2w#c#o%T#p~%Ty!4rV$QWO!Q%T!Q!Y!5X!Y!^%T!_#R%T#R#S!5X#S#o%T#p~%Ty!5`X$QWjqO!Q%T!Q!Y!5X!Y!^%T!_#R%T#R#S!5X#S#b%T#b#c!2w#c#o%T#p~%Ty!6QZ$QWO!Q%T!Q![!6s![!^%T!_!c%T!c!i!6s!i#R%T#R#S!6s#S#T%T#T#Z!6s#Z#o%T#p~%Ty!6z]$QWjqO!Q%T!Q![!6s![!^%T!_!c%T!c!i!6s!i#R%T#R#S!6s#S#T%T#T#Z!6s#Z#b%T#b#c!2w#c#o%T#p~%T%w!7|R!XV$QW#i%hO!^%T!_#o%T#p~%T!P!8^R^w$QWO!^%T!_#o%T#p~%T+c!8rR']d!]%Y#t&s'zP!P!Q!8{!^!_!9Q!_!`!9_W!9QO$SW#v!9VP#[#v!_!`!9Y#v!9_O#k#v#v!9dO#]#v%w!9kT!w%o$QWO!^%T!_!`'v!`!a!9z!a#o%T#p~%T$P!:RR#S#w$QWO!^%T!_#o%T#p~%T%w!:gT'[!s#]#v#}S$QWO!^%T!_!`!:v!`!a!;W!a#o%T#p~%T$O!:}R#]#v$QWO!^%T!_#o%T#p~%T$O!;_T#[#v$QWO!^%T!_!`5T!`!a!;n!a#o%T#p~%T$O!;uS#[#v$QWO!^%T!_!`5T!`#o%T#p~%T%w!<YV'n%o$QWO!O%T!O!P!<o!P!^%T!_!a%T!a!b!=P!b#o%T#p~%T$`!<vRs$W$QWO!^%T!_#o%T#p~%T$O!=WS$QW#f#vO!^%T!_!`5T!`#o%T#p~%T&e!=kRu&]$QWO!^%T!_#o%T#p~%TZ!={RzR$QWO!^%T!_#o%T#p~%T$O!>]S#c#v$QWO!^%T!_!`5T!`#o%T#p~%T$P!>pR$QW'a#wO!^%T!_#o%T#p~%T~!?OO!P~%r!?VT'u%j$QWO!^%T!_!`5T!`#o%T#p#q!=P#q~%T$u!?oR!O$k$QW'cQO!^%T!_#o%T#p~%TX!@PR!gP$QWO!^%T!_#o%T#p~%T,T!@gr$QW'T+{#vS'W%k'dpOX%TXY%cYZ%TZ[%c[p%Tpq%cqt%Ttu2`u}%T}!O3j!O!Q%T!Q![2`![!^%T!_!c%T!c!}2`!}#R%T#R#S2`#S#T%T#T#o2`#p$f%T$f$g%c$g#BY2`#BY#BZ!@Y#BZ$IS2`$IS$I_!@Y$I_$JT2`$JT$JU!@Y$JU$KV2`$KV$KW!@Y$KW&FU2`&FU&FV!@Y&FV?HT2`?HT?HU!@Y?HU~2`,T!CO_$QW'U+{#vS'W%k'dpOt%Ttu2`u}%T}!O3j!O!Q%T!Q![2`![!^%T!_!c%T!c!}2`!}#R%T#R#S2`#S#T%T#T#o2`#p$g%T$g~2`", -+ tokenData: "!F_~R!`OX%TXY%cYZ'RZ[%c[]%T]^'R^p%Tpq%cqr'crs(kst0htu2`uv4pvw5ewx6cxy<yyz=Zz{=k{|>k|}?O}!O>k!O!P?`!P!QCl!Q!R!0[!R![!1q![!]!7s!]!^!8V!^!_!8g!_!`!9d!`!a!:[!a!b!<R!b!c%T!c!}2`!}#O!=d#O#P%T#P#Q!=t#Q#R!>U#R#S2`#S#T!>i#T#o!>y#o#p!AZ#p#q!A`#q#r!Av#r#s!BY#s$f%T$f$g%c$g#BY2`#BY#BZ!Bj#BZ$IS2`$IS$I_!Bj$I_$I|2`$I|$I}!ER$I}$JO!ER$JO$JT2`$JT$JU!Bj$JU$KV2`$KV$KW!Bj$KW&FU2`&FU&FV!Bj&FV?HT2`?HT?HU!Bj?HU~2`W%YR$SWO!^%T!_#o%T#p~%T,T%jg$SW'V+{OX%TXY%cYZ%TZ[%c[p%Tpq%cq!^%T!_#o%T#p$f%T$f$g%c$g#BY%T#BY#BZ%c#BZ$IS%T$IS$I_%c$I_$JT%T$JT$JU%c$JU$KV%T$KV$KW%c$KW&FU%T&FU&FV%c&FV?HT%T?HT?HU%c?HU~%T,T'YR$SW'W+{O!^%T!_#o%T#p~%T$T'jS$SW!f#{O!^%T!_!`'v!`#o%T#p~%T$O'}S#a#v$SWO!^%T!_!`(Z!`#o%T#p~%T$O(bR#a#v$SWO!^%T!_#o%T#p~%T'u(rZ$SW]!ROY(kYZ)eZr(krs*rs!^(k!^!_+U!_#O(k#O#P-b#P#o(k#o#p+U#p~(k&r)jV$SWOr)ers*Ps!^)e!^!_*a!_#o)e#o#p*a#p~)e&r*WR#}&j$SWO!^%T!_#o%T#p~%T&j*dROr*ars*ms~*a&j*rO#}&j'u*{R#}&j$SW]!RO!^%T!_#o%T#p~%T'm+ZV]!ROY+UYZ*aZr+Urs+ps#O+U#O#P+w#P~+U'm+wO#}&j]!R'm+zROr+Urs,Ts~+U'm,[U#}&j]!ROY,nZr,nrs-Vs#O,n#O#P-[#P~,n!R,sU]!ROY,nZr,nrs-Vs#O,n#O#P-[#P~,n!R-[O]!R!R-_PO~,n'u-gV$SWOr(krs-|s!^(k!^!_+U!_#o(k#o#p+U#p~(k'u.VZ#}&j$SW]!ROY.xYZ%TZr.xrs/rs!^.x!^!_,n!_#O.x#O#P0S#P#o.x#o#p,n#p~.x!Z/PZ$SW]!ROY.xYZ%TZr.xrs/rs!^.x!^!_,n!_#O.x#O#P0S#P#o.x#o#p,n#p~.x!Z/yR$SW]!RO!^%T!_#o%T#p~%T!Z0XT$SWO!^.x!^!_,n!_#o.x#o#p,n#p~.xy0mZ$SWOt%Ttu1`u!^%T!_!c%T!c!}1`!}#R%T#R#S1`#S#T%T#T#o1`#p$g%T$g~1`y1g]$SW'oqOt%Ttu1`u!Q%T!Q![1`![!^%T!_!c%T!c!}1`!}#R%T#R#S1`#S#T%T#T#o1`#p$g%T$g~1`&i2k_$SW'fp'Y%k#vSOt%Ttu2`u}%T}!O3j!O!Q%T!Q![2`![!^%T!_!c%T!c!}2`!}#R%T#R#S2`#S#T%T#T#o2`#p$g%T$g~2`[3q_$SW#vSOt%Ttu3ju}%T}!O3j!O!Q%T!Q![3j![!^%T!_!c%T!c!}3j!}#R%T#R#S3j#S#T%T#T#o3j#p$g%T$g~3j$O4wS#Y#v$SWO!^%T!_!`5T!`#o%T#p~%T$O5[R$SW#k#vO!^%T!_#o%T#p~%T%r5lU'x%j$SWOv%Tvw6Ow!^%T!_!`5T!`#o%T#p~%T$O6VS$SW#e#vO!^%T!_!`5T!`#o%T#p~%T'u6jZ$SW]!ROY6cYZ7]Zw6cwx*rx!^6c!^!_8T!_#O6c#O#P:T#P#o6c#o#p8T#p~6c&r7bV$SWOw7]wx*Px!^7]!^!_7w!_#o7]#o#p7w#p~7]&j7zROw7wwx*mx~7w'm8YV]!ROY8TYZ7wZw8Twx+px#O8T#O#P8o#P~8T'm8rROw8Twx8{x~8T'm9SU#}&j]!ROY9fZw9fwx-Vx#O9f#O#P9}#P~9f!R9kU]!ROY9fZw9fwx-Vx#O9f#O#P9}#P~9f!R:QPO~9f'u:YV$SWOw6cwx:ox!^6c!^!_8T!_#o6c#o#p8T#p~6c'u:xZ#}&j$SW]!ROY;kYZ%TZw;kwx/rx!^;k!^!_9f!_#O;k#O#P<e#P#o;k#o#p9f#p~;k!Z;rZ$SW]!ROY;kYZ%TZw;kwx/rx!^;k!^!_9f!_#O;k#O#P<e#P#o;k#o#p9f#p~;k!Z<jT$SWO!^;k!^!_9f!_#o;k#o#p9f#p~;k%V=QR!`$}$SWO!^%T!_#o%T#p~%TZ=bR!_R$SWO!^%T!_#o%T#p~%T%R=tU'Z!R#Z#v$SWOz%Tz{>W{!^%T!_!`5T!`#o%T#p~%T$O>_S#W#v$SWO!^%T!_!`5T!`#o%T#p~%T$u>rSi$m$SWO!^%T!_!`5T!`#o%T#p~%T&i?VR}&a$SWO!^%T!_#o%T#p~%T&i?gVr%n$SWO!O%T!O!P?|!P!Q%T!Q![@r![!^%T!_#o%T#p~%Ty@RT$SWO!O%T!O!P@b!P!^%T!_#o%T#p~%Ty@iR|q$SWO!^%T!_#o%T#p~%Ty@yZ$SWjqO!Q%T!Q![@r![!^%T!_!g%T!g!hAl!h#R%T#R#S@r#S#X%T#X#YAl#Y#o%T#p~%TyAqZ$SWO{%T{|Bd|}%T}!OBd!O!Q%T!Q![CO![!^%T!_#R%T#R#SCO#S#o%T#p~%TyBiV$SWO!Q%T!Q![CO![!^%T!_#R%T#R#SCO#S#o%T#p~%TyCVV$SWjqO!Q%T!Q![CO![!^%T!_#R%T#R#SCO#S#o%T#p~%T,TCs`$SW#X#vOYDuYZ%TZzDuz{Jl{!PDu!P!Q!-e!Q!^Du!^!_Fx!_!`!.^!`!a!/]!a!}Du!}#OHq#O#PJQ#P#oDu#o#pFx#p~DuXD|[$SWyPOYDuYZ%TZ!PDu!P!QEr!Q!^Du!^!_Fx!_!}Du!}#OHq#O#PJQ#P#oDu#o#pFx#p~DuXEy_$SWyPO!^%T!_#Z%T#Z#[Er#[#]%T#]#^Er#^#a%T#a#bEr#b#g%T#g#hEr#h#i%T#i#jEr#j#m%T#m#nEr#n#o%T#p~%TPF}VyPOYFxZ!PFx!P!QGd!Q!}Fx!}#OG{#O#PHh#P~FxPGiUyP#Z#[Gd#]#^Gd#a#bGd#g#hGd#i#jGd#m#nGdPHOTOYG{Z#OG{#O#PH_#P#QFx#Q~G{PHbQOYG{Z~G{PHkQOYFxZ~FxXHvY$SWOYHqYZ%TZ!^Hq!^!_G{!_#OHq#O#PIf#P#QDu#Q#oHq#o#pG{#p~HqXIkV$SWOYHqYZ%TZ!^Hq!^!_G{!_#oHq#o#pG{#p~HqXJVV$SWOYDuYZ%TZ!^Du!^!_Fx!_#oDu#o#pFx#p~Du,TJs^$SWyPOYJlYZKoZzJlz{NQ{!PJl!P!Q!,R!Q!^Jl!^!_!!]!_!}Jl!}#O!'|#O#P!+a#P#oJl#o#p!!]#p~Jl,TKtV$SWOzKoz{LZ{!^Ko!^!_M]!_#oKo#o#pM]#p~Ko,TL`X$SWOzKoz{LZ{!PKo!P!QL{!Q!^Ko!^!_M]!_#oKo#o#pM]#p~Ko,TMSR$SWT+{O!^%T!_#o%T#p~%T+{M`ROzM]z{Mi{~M]+{MlTOzM]z{Mi{!PM]!P!QM{!Q~M]+{NQOT+{,TNX^$SWyPOYJlYZKoZzJlz{NQ{!PJl!P!Q! T!Q!^Jl!^!_!!]!_!}Jl!}#O!'|#O#P!+a#P#oJl#o#p!!]#p~Jl,T! ^_$SWT+{yPO!^%T!_#Z%T#Z#[Er#[#]%T#]#^Er#^#a%T#a#bEr#b#g%T#g#hEr#h#i%T#i#jEr#j#m%T#m#nEr#n#o%T#p~%T+{!!bYyPOY!!]YZM]Zz!!]z{!#Q{!P!!]!P!Q!&x!Q!}!!]!}#O!$`#O#P!&f#P~!!]+{!#VYyPOY!!]YZM]Zz!!]z{!#Q{!P!!]!P!Q!#u!Q!}!!]!}#O!$`#O#P!&f#P~!!]+{!#|UT+{yP#Z#[Gd#]#^Gd#a#bGd#g#hGd#i#jGd#m#nGd+{!$cWOY!$`YZM]Zz!$`z{!${{#O!$`#O#P!&S#P#Q!!]#Q~!$`+{!%OYOY!$`YZM]Zz!$`z{!${{!P!$`!P!Q!%n!Q#O!$`#O#P!&S#P#Q!!]#Q~!$`+{!%sTT+{OYG{Z#OG{#O#PH_#P#QFx#Q~G{+{!&VTOY!$`YZM]Zz!$`z{!${{~!$`+{!&iTOY!!]YZM]Zz!!]z{!#Q{~!!]+{!&}_yPOzM]z{Mi{#ZM]#Z#[!&x#[#]M]#]#^!&x#^#aM]#a#b!&x#b#gM]#g#h!&x#h#iM]#i#j!&x#j#mM]#m#n!&x#n~M],T!(R[$SWOY!'|YZKoZz!'|z{!(w{!^!'|!^!_!$`!_#O!'|#O#P!*o#P#QJl#Q#o!'|#o#p!$`#p~!'|,T!(|^$SWOY!'|YZKoZz!'|z{!(w{!P!'|!P!Q!)x!Q!^!'|!^!_!$`!_#O!'|#O#P!*o#P#QJl#Q#o!'|#o#p!$`#p~!'|,T!*PY$SWT+{OYHqYZ%TZ!^Hq!^!_G{!_#OHq#O#PIf#P#QDu#Q#oHq#o#pG{#p~Hq,T!*tX$SWOY!'|YZKoZz!'|z{!(w{!^!'|!^!_!$`!_#o!'|#o#p!$`#p~!'|,T!+fX$SWOYJlYZKoZzJlz{NQ{!^Jl!^!_!!]!_#oJl#o#p!!]#p~Jl,T!,Yc$SWyPOzKoz{LZ{!^Ko!^!_M]!_#ZKo#Z#[!,R#[#]Ko#]#^!,R#^#aKo#a#b!,R#b#gKo#g#h!,R#h#iKo#i#j!,R#j#mKo#m#n!,R#n#oKo#o#pM]#p~Ko,T!-lV$SWS+{OY!-eYZ%TZ!^!-e!^!_!.R!_#o!-e#o#p!.R#p~!-e+{!.WQS+{OY!.RZ~!.R$P!.g[$SW#k#vyPOYDuYZ%TZ!PDu!P!QEr!Q!^Du!^!_Fx!_!}Du!}#OHq#O#PJQ#P#oDu#o#pFx#p~Du]!/f[#sS$SWyPOYDuYZ%TZ!PDu!P!QEr!Q!^Du!^!_Fx!_!}Du!}#OHq#O#PJQ#P#oDu#o#pFx#p~Duy!0cd$SWjqO!O%T!O!P@r!P!Q%T!Q![!1q![!^%T!_!g%T!g!hAl!h#R%T#R#S!1q#S#U%T#U#V!3X#V#X%T#X#YAl#Y#b%T#b#c!2w#c#d!4m#d#l%T#l#m!5{#m#o%T#p~%Ty!1x_$SWjqO!O%T!O!P@r!P!Q%T!Q![!1q![!^%T!_!g%T!g!hAl!h#R%T#R#S!1q#S#X%T#X#YAl#Y#b%T#b#c!2w#c#o%T#p~%Ty!3OR$SWjqO!^%T!_#o%T#p~%Ty!3^W$SWO!Q%T!Q!R!3v!R!S!3v!S!^%T!_#R%T#R#S!3v#S#o%T#p~%Ty!3}Y$SWjqO!Q%T!Q!R!3v!R!S!3v!S!^%T!_#R%T#R#S!3v#S#b%T#b#c!2w#c#o%T#p~%Ty!4rV$SWO!Q%T!Q!Y!5X!Y!^%T!_#R%T#R#S!5X#S#o%T#p~%Ty!5`X$SWjqO!Q%T!Q!Y!5X!Y!^%T!_#R%T#R#S!5X#S#b%T#b#c!2w#c#o%T#p~%Ty!6QZ$SWO!Q%T!Q![!6s![!^%T!_!c%T!c!i!6s!i#R%T#R#S!6s#S#T%T#T#Z!6s#Z#o%T#p~%Ty!6z]$SWjqO!Q%T!Q![!6s![!^%T!_!c%T!c!i!6s!i#R%T#R#S!6s#S#T%T#T#Z!6s#Z#b%T#b#c!2w#c#o%T#p~%T%w!7|R!XV$SW#i%hO!^%T!_#o%T#p~%T!P!8^R^w$SWO!^%T!_#o%T#p~%T+c!8rR'_d!]%Y#t&s'|P!P!Q!8{!^!_!9Q!_!`!9_W!9QO$UW#v!9VP#[#v!_!`!9Y#v!9_O#k#v#v!9dO#]#v%w!9kT!w%o$SWO!^%T!_!`'v!`!a!9z!a#o%T#p~%T$P!:RR#S#w$SWO!^%T!_#o%T#p~%T%w!:gT'^!s#]#v$PS$SWO!^%T!_!`!:v!`!a!;W!a#o%T#p~%T$O!:}R#]#v$SWO!^%T!_#o%T#p~%T$O!;_T#[#v$SWO!^%T!_!`5T!`!a!;n!a#o%T#p~%T$O!;uS#[#v$SWO!^%T!_!`5T!`#o%T#p~%T%w!<YV'p%o$SWO!O%T!O!P!<o!P!^%T!_!a%T!a!b!=P!b#o%T#p~%T$`!<vRs$W$SWO!^%T!_#o%T#p~%T$O!=WS$SW#f#vO!^%T!_!`5T!`#o%T#p~%T&e!=kRu&]$SWO!^%T!_#o%T#p~%TZ!={RzR$SWO!^%T!_#o%T#p~%T$O!>]S#c#v$SWO!^%T!_!`5T!`#o%T#p~%T$P!>pR$SW'c#wO!^%T!_#o%T#p~%T&i!?U_$SW'fp'Y%k#xSOt%Ttu!>yu}%T}!O!@T!O!Q%T!Q![!>y![!^%T!_!c%T!c!}!>y!}#R%T#R#S!>y#S#T%T#T#o!>y#p$g%T$g~!>y[!@[_$SW#xSOt%Ttu!@Tu}%T}!O!@T!O!Q%T!Q![!@T![!^%T!_!c%T!c!}!@T!}#R%T#R#S!@T#S#T%T#T#o!@T#p$g%T$g~!@T~!A`O!P~%r!AgT'w%j$SWO!^%T!_!`5T!`#o%T#p#q!=P#q~%T$u!BPR!O$k$SW'eQO!^%T!_#o%T#p~%TX!BaR!gP$SWO!^%T!_#o%T#p~%T,T!Bwr$SW'V+{'fp'Y%k#vSOX%TXY%cYZ%TZ[%c[p%Tpq%cqt%Ttu2`u}%T}!O3j!O!Q%T!Q![2`![!^%T!_!c%T!c!}2`!}#R%T#R#S2`#S#T%T#T#o2`#p$f%T$f$g%c$g#BY2`#BY#BZ!Bj#BZ$IS2`$IS$I_!Bj$I_$JT2`$JT$JU!Bj$JU$KV2`$KV$KW!Bj$KW&FU2`&FU&FV!Bj&FV?HT2`?HT?HU!Bj?HU~2`,T!E`_$SW'W+{'fp'Y%k#vSOt%Ttu2`u}%T}!O3j!O!Q%T!Q![2`![!^%T!_!c%T!c!}2`!}#R%T#R#S2`#S#T%T#T#o2`#p$g%T$g~2`", - tokenizers: [noSemicolon, incdecToken, template, 0, 1, 2, 3, 4, 5, 6, 7, 8, insertSemicolon], - topRules: {"Script":[0,6]}, -- dialects: {jsx: 11282, ts: 11284}, -- dynamicPrecedences: {"145":1,"172":1}, -- specialized: [{term: 284, get: (value, stack) => (tsExtends(value, stack) << 1)},{term: 284, get: value => spec_identifier[value] || -1},{term: 296, get: value => spec_word[value] || -1},{term: 59, get: value => spec_LessThan[value] || -1}], -- tokenPrec: 11305 -+ dialects: {jsx: 11332, ts: 11334}, -+ dynamicPrecedences: {"147":1,"174":1}, -+ specialized: [{term: 286, get: (value, stack) => (tsExtends(value, stack) << 1)},{term: 286, get: value => spec_identifier[value] || -1},{term: 298, get: value => spec_word[value] || -1},{term: 59, get: value => spec_LessThan[value] || -1}], -+ tokenPrec: 11355 - }); - - export { parser }; -diff --git a/node_modules/@lezer/javascript/src/javascript.grammar b/node_modules/@lezer/javascript/src/javascript.grammar -index a45c690..1870aa7 100644 ---- a/node_modules/@lezer/javascript/src/javascript.grammar -+++ b/node_modules/@lezer/javascript/src/javascript.grammar -@@ -460,17 +460,18 @@ JSXCloseTag { JSXStartCloseTag jsxElementName? JSXEndTag } - - jsxElementName { - JSXIdentifier | -+ JSXBuiltin { JSXLowerIdentifier } | - JSXNamespacedName | - JSXMemberExpression - } - --JSXMemberExpression { (JSXMemberExpression | JSXIdentifier) "." JSXIdentifier } -+JSXMemberExpression { (JSXMemberExpression | JSXIdentifier | JSXLowerIdentifier) "." (JSXIdentifier | JSXLowerIdentifier) } - --JSXNamespacedName { (JSXIdentifier | JSXNamespacedName) ":" JSXIdentifier } -+JSXNamespacedName { (JSXIdentifier | JSXNamespacedName | JSXLowerIdentifier) ":" (JSXIdentifier | JSXLowerIdentifier) } - - jsxAttribute { - JSXSpreadAttribute { "{" "..." expression "}" } | -- JSXAttribute { (JSXIdentifier | JSXNamespacedName) ("=" jsxAttributeValue)? } -+ JSXAttribute { (JSXIdentifier | JSXNamespacedName | JSXLowerIdentifier) ("=" jsxAttributeValue)? } - } - - jsxAttributeValue { -@@ -583,7 +584,7 @@ questionOp[@name=LogicOp] { "?" } - - @precedence { spaces, newline, identifier } - -- @precedence { spaces, newline, JSXIdentifier } -+ @precedence { spaces, newline, JSXIdentifier, JSXLowerIdentifier } - - @precedence { spaces, newline, word } - -@@ -623,7 +624,9 @@ questionOp[@name=LogicOp] { "?" } - - "?." "." "," ";" ":" - -- JSXIdentifier { identifierChar (identifierChar | std.digit | "-")* } -+ JSXIdentifier { $[A-Z_$\u{a1}-\u{10ffff}] (identifierChar | std.digit | "-")* } -+ -+ JSXLowerIdentifier[@name=JSXIdentifier] { $[a-z] (identifierChar | std.digit | "-")* } - - JSXAttributeValue { '"' !["]* '"' | "'" ![']* "'" } - -diff --git a/node_modules/@lezer/javascript/src/parser.js b/node_modules/@lezer/javascript/src/parser.js -index 53f4486..0ee4c3f 100644 ---- a/node_modules/@lezer/javascript/src/parser.js -+++ b/node_modules/@lezer/javascript/src/parser.js -@@ -3,29 +3,29 @@ import {LRParser} from "@lezer/lr" - import {noSemicolon, incdecToken, template, insertSemicolon, tsExtends} from "./tokens" - import {trackNewline} from "./tokens.js" - import {NodeProp} from "@lezer/common" --const spec_identifier = {__proto__:null,export:16, as:21, from:25, default:30, async:35, function:36, this:46, true:54, false:54, void:60, typeof:64, null:78, super:80, new:114, await:131, yield:133, delete:134, class:144, extends:146, public:189, private:189, protected:189, readonly:191, instanceof:212, in:214, const:216, import:248, keyof:299, unique:303, infer:309, is:343, abstract:363, implements:365, type:367, let:370, var:372, interface:379, enum:383, namespace:389, module:391, declare:395, global:399, for:420, of:429, while:432, with:436, do:440, if:444, else:446, switch:450, case:456, try:462, catch:464, finally:466, return:470, throw:474, break:478, continue:482, debugger:486} --const spec_word = {__proto__:null,async:101, get:103, set:105, public:153, private:153, protected:153, static:155, abstract:157, override:159, readonly:165, new:347} -+const spec_identifier = {__proto__:null,export:16, as:21, from:25, default:30, async:35, function:36, this:46, true:54, false:54, void:60, typeof:64, null:78, super:80, new:114, await:131, yield:133, delete:134, class:144, extends:146, public:189, private:189, protected:189, readonly:191, instanceof:212, in:214, const:216, import:248, keyof:303, unique:307, infer:313, is:347, abstract:367, implements:369, type:371, let:374, var:376, interface:383, enum:387, namespace:393, module:395, declare:399, global:403, for:424, of:433, while:436, with:440, do:444, if:448, else:450, switch:454, case:460, try:466, catch:468, finally:470, return:474, throw:478, break:482, continue:486, debugger:490} -+const spec_word = {__proto__:null,async:101, get:103, set:105, public:153, private:153, protected:153, static:155, abstract:157, override:159, readonly:165, new:351} - const spec_LessThan = {__proto__:null,"<":121} - export const parser = LRParser.deserialize({ - version: 13, -- states: "$1WO`QYOOO'QQ!LdO'#CgO'XOSO'#DSO)dQYO'#DXO)tQYO'#DdO){QYO'#DnO-xQYO'#DtOOQO'#EX'#EXO.]QWO'#EWO.bQWO'#EWOOQ!LS'#Eb'#EbO0aQ!LdO'#IqO2wQ!LdO'#IrO3eQWO'#EvO3jQpO'#F]OOQ!LS'#FO'#FOO3rO!bO'#FOO4QQWO'#FdO5_QWO'#FcOOQ!LS'#Ir'#IrOOQ!LQ'#Iq'#IqOOQQ'#J['#J[O5dQWO'#HjO5iQ!LYO'#HkOOQQ'#Ic'#IcOOQQ'#Hl'#HlQ`QYOOO){QYO'#DfO5qQWO'#GWO5vQ#tO'#ClO6UQWO'#EVO6aQWO'#EcO6fQ#tO'#E}O7QQWO'#GWO7VQWO'#G[O7bQWO'#G[O7pQWO'#G_O7pQWO'#G`O7pQWO'#GbO5qQWO'#GeO8aQWO'#GhO9oQWO'#CcO:PQWO'#GuO:XQWO'#G{O:XQWO'#G}O`QYO'#HPO:XQWO'#HRO:XQWO'#HUO:^QWO'#H[O:cQ!LZO'#H`O){QYO'#HbO:nQ!LZO'#HdO:yQ!LZO'#HfO5iQ!LYO'#HhO){QYO'#IsOOOS'#Hn'#HnO;UOSO,59nOOQ!LS,59n,59nO=gQbO'#CgO=qQYO'#HoO>OQWO'#ItO?}QbO'#ItO'dQYO'#ItO@UQWO,59sO@lQ&jO'#D^OAeQWO'#EXOArQWO'#JPOA}QWO'#JOOBVQWO,5:uOB[QWO'#I}OBcQWO'#DuO5vQ#tO'#EVOBqQWO'#EVOB|Q`O'#E}OOQ!LS,5:O,5:OOCUQYO,5:OOESQ!LdO,5:YOEpQWO,5:`OFZQ!LYO'#I|O7VQWO'#I{OFbQWO'#I{OFjQWO,5:tOFoQWO'#I{OF}QYO,5:rOH}QWO'#ESOJXQWO,5:rOKhQWO'#DhOKoQYO'#DmOKyQ&jO,5:{O){QYO,5:{OOQQ'#En'#EnOOQQ'#Ep'#EpO){QYO,5:}O){QYO,5:}O){QYO,5:}O){QYO,5:}O){QYO,5:}O){QYO,5:}O){QYO,5:}O){QYO,5:}O){QYO,5:}O){QYO,5:}O){QYO,5:}OOQQ'#Et'#EtOLRQYO,5;_OOQ!LS,5;d,5;dOOQ!LS,5;e,5;eONRQWO,5;eOOQ!LS,5;f,5;fO){QYO'#HyONWQ!LYO,5<PONrQWO,5:}O){QYO,5;bO! [QpO'#JTONyQpO'#JTO! cQpO'#JTO! tQpO,5;mOOOO,5;w,5;wO!!SQYO'#F_OOOO'#Hx'#HxO3rO!bO,5;jO!!ZQpO'#FaOOQ!LS,5;j,5;jO!!wQ,UO'#CqOOQ!LS'#Ct'#CtO!#[QWO'#CtO!#aOSO'#CxO!#}Q#tO,5;|O!$UQWO,5<OO!%bQWO'#FnO!%oQWO'#FoO!%tQWO'#FsO!&vQ&jO'#FwO!'iQ,UO'#IlOOQ!LS'#Il'#IlO!'sQWO'#IkO!(RQWO'#IjOOQ!LS'#Cr'#CrOOQ!LS'#Cy'#CyO!(ZQWO'#C{OJ^QWO'#FfOJ^QWO'#FhO!(`QWO'#FjO!(eQWO'#FkO!(jQWO'#FqOJ^QWO'#FvO!(oQWO'#EYO!)WQWO,5;}O`QYO,5>UOOQQ'#If'#IfOOQQ,5>V,5>VOOQQ-E;j-E;jO!+SQ!LdO,5:QOOQ!LQ'#Co'#CoO!+sQ#tO,5<rOOQO'#Ce'#CeO!,UQWO'#CpO!,^Q!LYO'#IgO5_QWO'#IgO:^QWO,59WO!,lQpO,59WO!,tQ#tO,59WO5vQ#tO,59WO!-PQWO,5:rO!-XQWO'#GtO!-dQWO'#J`O){QYO,5;gO!-lQ&jO,5;iO!-qQWO,5=_O!-vQWO,5=_O!-{QWO,5=_O5iQ!LYO,5=_O5qQWO,5<rO!.ZQWO'#EZO!.lQ&jO'#E[OOQ!LQ'#I}'#I}O!.}Q!LYO'#J]O5iQ!LYO,5<vO7pQWO,5<|OOQO'#Cq'#CqO!/YQpO,5<yO!/bQ#tO,5<zO!/mQWO,5<|O!/rQ`O,5=PO:^QWO'#GjO5qQWO'#GlO!/zQWO'#GlO5vQ#tO'#GoO!0PQWO'#GoOOQQ,5=S,5=SO!0UQWO'#GpO!0^QWO'#ClO!0cQWO,58}O!0mQWO,58}O!2oQYO,58}OOQQ,58},58}O!2|Q!LYO,58}O){QYO,58}O!3XQYO'#GwOOQQ'#Gx'#GxOOQQ'#Gy'#GyO`QYO,5=aO!3iQWO,5=aO){QYO'#DtO`QYO,5=gO`QYO,5=iO!3nQWO,5=kO`QYO,5=mO!3sQWO,5=pO!3xQYO,5=vOOQQ,5=z,5=zO){QYO,5=zO5iQ!LYO,5=|OOQQ,5>O,5>OO!7yQWO,5>OOOQQ,5>Q,5>QO!7yQWO,5>QOOQQ,5>S,5>SO!8OQ`O,5?_OOOS-E;l-E;lOOQ!LS1G/Y1G/YO!8TQbO,5>ZO){QYO,5>ZOOQO-E;m-E;mO!8_QWO,5?`O!8gQbO,5?`O!8nQWO,5?jOOQ!LS1G/_1G/_O!8vQpO'#DQOOQO'#Iv'#IvO){QYO'#IvO!9eQpO'#IvO!:SQpO'#D_O!:eQ&jO'#D_O!<pQYO'#D_O!<wQWO'#IuO!=PQWO,59xO!=UQWO'#E]O!=dQWO'#JQO!=lQWO,5:vO!>SQ&jO'#D_O){QYO,5?kO!>^QWO'#HtO!8nQWO,5?jOOQ!LQ1G0a1G0aO!?jQ&jO'#DxOOQ!LS,5:a,5:aO){QYO,5:aOH}QWO,5:aO!?qQWO,5:aO:^QWO,5:qO!,lQpO,5:qO!,tQ#tO,5:qO5vQ#tO,5:qOOQ!LS1G/j1G/jOOQ!LS1G/z1G/zOOQ!LQ'#ER'#ERO){QYO,5?hO!?|Q!LYO,5?hO!@_Q!LYO,5?hO!@fQWO,5?gO!@nQWO'#HvO!@fQWO,5?gOOQ!LQ1G0`1G0`O7VQWO,5?gOOQ!LS1G0^1G0^O!AYQ!LdO1G0^O!AyQ!LbO,5:nOOQ!LS'#Fm'#FmO!BgQ!LdO'#IlOF}QYO1G0^O!DfQ#tO'#IwO!DpQWO,5:SO!DuQbO'#IxO){QYO'#IxO!EPQWO,5:XOOQ!LS'#DQ'#DQOOQ!LS1G0g1G0gO!EUQWO1G0gO!GgQ!LdO1G0iO!GnQ!LdO1G0iO!JRQ!LdO1G0iO!JYQ!LdO1G0iO!LaQ!LdO1G0iO!LtQ!LdO1G0iO# eQ!LdO1G0iO# lQ!LdO1G0iO#$PQ!LdO1G0iO#$WQ!LdO1G0iO#%{Q!LdO1G0iO#(uQ7^O'#CgO#*pQ7^O1G0yO#,kQ7^O'#IrOOQ!LS1G1P1G1PO#-OQ!LdO,5>eOOQ!LQ-E;w-E;wO#-oQ!LdO1G0iOOQ!LS1G0i1G0iO#/qQ!LdO1G0|O#0bQpO,5;oO#0gQpO,5;pO#0lQpO'#FWO#1QQWO'#FVOOQO'#JU'#JUOOQO'#Hw'#HwO#1VQpO1G1XOOQ!LS1G1X1G1XOOOO1G1b1G1bO#1eQ7^O'#IqO#1oQWO,5;yOLRQYO,5;yOOOO-E;v-E;vOOQ!LS1G1U1G1UOOQ!LS,5;{,5;{O#1tQpO,5;{OOQ!LS,59`,59`OH}QWO'#InOOOS'#Hm'#HmO#1yOSO,59dOOQ!LS,59d,59dO){QYO1G1hO!(eQWO'#H{O#2UQWO,5<aOOQ!LS,5<^,5<^OOQO'#GR'#GROJ^QWO,5<lOOQO'#GT'#GTOJ^QWO,5<nOJ^QWO,5<pOOQO1G1j1G1jO#2aQ`O'#CoO#2tQ`O,5<YO#2{QWO'#JXO5qQWO'#JXO#3ZQWO,5<[OJ^QWO,5<ZO#3`Q`O'#FmO#3mQ`O'#JYO#3wQWO'#JYOH}QWO'#JYO#3|QWO,5<_OOQ!LQ'#Dc'#DcO#4RQWO'#FpO#4^QpO'#FxO!&qQ&jO'#FxO!&qQ&jO'#FzO#4oQWO'#F{O!(jQWO'#GOOOQO'#H}'#H}O#4tQ&jO,5<cOOQ!LS,5<c,5<cO#4{Q&jO'#FxO#5ZQ&jO'#FyO#5cQ&jO'#FyOOQ!LS,5<q,5<qOJ^QWO,5?VOJ^QWO,5?VO#5hQWO'#IOO#5sQWO,5?UOOQ!LS'#Cg'#CgO#6gQ#tO,59gOOQ!LS,59g,59gO#7YQ#tO,5<QO#7{Q#tO,5<SO#8VQWO,5<UOOQ!LS,5<V,5<VO#8[QWO,5<]O#8aQ#tO,5<bOF}QYO1G1iO#8qQWO1G1iOOQQ1G3p1G3pOOQ!LS1G/l1G/lONRQWO1G/lOOQQ1G2^1G2^OH}QWO1G2^O){QYO1G2^OH}QWO1G2^O#8vQWO1G2^O#9UQWO,59[O#:_QWO'#ESOOQ!LQ,5?R,5?RO#:iQ!LYO,5?ROOQQ1G.r1G.rO:^QWO1G.rO!,lQpO1G.rO!,tQ#tO1G.rO#:wQWO1G0^O#:|QWO'#CgO#;XQWO'#JaO#;aQWO,5=`O#;fQWO'#JaO#;kQWO'#JaO#;pQWO'#IWO#<OQWO,5?zO#<WQbO1G1ROOQ!LS1G1T1G1TO5qQWO1G2yO#<_QWO1G2yO#<dQWO1G2yO#<iQWO1G2yOOQQ1G2y1G2yO#<nQ#tO1G2^O7VQWO'#JOO7VQWO'#E]O7VQWO'#IQO#=PQ!LYO,5?wOOQQ1G2b1G2bO!/mQWO1G2hOH}QWO1G2eO#=[QWO1G2eOOQQ1G2f1G2fOH}QWO1G2fO#=aQWO1G2fO#=iQ&jO'#GdOOQQ1G2h1G2hO!&qQ&jO'#ISO!/rQ`O1G2kOOQQ1G2k1G2kOOQQ,5=U,5=UO#=qQ#tO,5=WO5qQWO,5=WO#4oQWO,5=ZO5_QWO,5=ZO!,lQpO,5=ZO!,tQ#tO,5=ZO5vQ#tO,5=ZO#>SQWO'#J_O#>_QWO,5=[OOQQ1G.i1G.iO#>dQ!LYO1G.iO#>oQWO1G.iO!(ZQWO1G.iO5iQ!LYO1G.iO#>tQbO,5?|O#?OQWO,5?|O#?ZQYO,5=cO#?bQWO,5=cO7VQWO,5?|OOQQ1G2{1G2{O`QYO1G2{OOQQ1G3R1G3ROOQQ1G3T1G3TO:XQWO1G3VO#?gQYO1G3XO#CbQYO'#HWOOQQ1G3[1G3[O:^QWO1G3bO#CoQWO1G3bO5iQ!LYO1G3fOOQQ1G3h1G3hOOQ!LQ'#Ft'#FtO5iQ!LYO1G3jO5iQ!LYO1G3lOOOS1G4y1G4yO#CwQ`O,5<PO#DPQbO1G3uO#DZQWO1G4zO#DcQWO1G5UO#DkQWO,5?bOLRQYO,5:wO7VQWO,5:wO:^QWO,59yOLRQYO,59yO!,lQpO,59yO#DpQ7^O,59yOOQO,5:w,5:wO#DzQ&jO'#HpO#EbQWO,5?aOOQ!LS1G/d1G/dO#EjQ&jO'#HuO#FOQWO,5?lOOQ!LQ1G0b1G0bO!:eQ&jO,59yO#FWQbO1G5VOOQO,5>`,5>`O7VQWO,5>`OOQO-E;r-E;rOOQ!LQ'#EO'#EOO#FbQ!LrO'#EPO!?bQ&jO'#DyOOQO'#Hs'#HsO#F|Q&jO,5:dOOQ!LS,5:d,5:dO#GTQ&jO'#DyO#GfQ&jO'#DyO#GmQ&jO'#EUO#GpQ&jO'#EPO#G}Q&jO'#EPO!?bQ&jO'#EPO#HbQWO1G/{O#HgQ`O1G/{OOQ!LS1G/{1G/{O){QYO1G/{OH}QWO1G/{OOQ!LS1G0]1G0]O:^QWO1G0]O!,lQpO1G0]O!,tQ#tO1G0]O#HnQ!LdO1G5SO){QYO1G5SO#IOQ!LYO1G5SO#IaQWO1G5RO7VQWO,5>bOOQO,5>b,5>bO#IiQWO,5>bOOQO-E;t-E;tO#IaQWO1G5RO#IwQ!LdO,59gO#KvQ!LdO,5<QO#MxQ!LdO,5<SO$ zQ!LdO,5<bOOQ!LS7+%x7+%xO$$SQ!LdO7+%xO$$sQWO'#HqO$$}QWO,5?cOOQ!LS1G/n1G/nO$%VQYO'#HrO$%dQWO,5?dO$%lQbO,5?dOOQ!LS1G/s1G/sOOQ!LS7+&R7+&RO$%vQ7^O,5:YO){QYO7+&eO$&QQ7^O,5:QOOQO1G1Z1G1ZOOQO1G1[1G1[O$&_QMhO,5;rOLRQYO,5;qOOQO-E;u-E;uOOQ!LS7+&s7+&sOOOO7+&|7+&|OOOO1G1e1G1eO$&jQWO1G1eOOQ!LS1G1g1G1gO$&oQ`O,5?YOOOS-E;k-E;kOOQ!LS1G/O1G/OO$&vQ!LdO7+'SOOQ!LS,5>g,5>gO$'gQWO,5>gOOQ!LS1G1{1G1{P$'lQWO'#H{POQ!LS-E;y-E;yO$(]Q#tO1G2WO$)OQ#tO1G2YO$)YQ#tO1G2[OOQ!LS1G1t1G1tO$)aQWO'#HzO$)oQWO,5?sO$)oQWO,5?sO$)wQWO,5?sO$*SQWO,5?sOOQO1G1v1G1vO$*bQ#tO1G1uO$*rQWO'#H|O$+SQWO,5?tOH}QWO,5?tO$+[Q`O,5?tOOQ!LS1G1y1G1yO5iQ!LYO,5<dO5iQ!LYO,5<eO$+fQWO,5<eO#4jQWO,5<eO!,lQpO,5<dO$+kQWO,5<fO5iQ!LYO,5<gO$+fQWO,5<jOOQO-E;{-E;{OOQ!LS1G1}1G1}O!&qQ&jO,5<dO$+sQWO,5<eO!&qQ&jO,5<fO!&qQ&jO,5<eO$,OQ#tO1G4qO$,YQ#tO1G4qOOQO,5>j,5>jOOQO-E;|-E;|O!-lQ&jO,59iO){QYO,59iO$,gQWO1G1pOJ^QWO1G1wO$,lQ!LdO7+'TOOQ!LS7+'T7+'TOF}QYO7+'TOOQ!LS7+%W7+%WO$-]Q`O'#JZO#HbQWO7+'xO$-gQWO7+'xO$-oQ`O7+'xOOQQ7+'x7+'xOH}QWO7+'xO){QYO7+'xOH}QWO7+'xOOQO1G.v1G.vO$-yQ!LbO'#CgO$.ZQ!LbO,5<hO$.xQWO,5<hOOQ!LQ1G4m1G4mOOQQ7+$^7+$^O:^QWO7+$^O!,lQpO7+$^OF}QYO7+%xO$.}QWO'#IVO$/]QWO,5?{OOQO1G2z1G2zO5qQWO,5?{O$/]QWO,5?{O$/eQWO,5?{OOQO,5>r,5>rOOQO-E<U-E<UOOQ!LS7+&m7+&mO$/jQWO7+(eO5iQ!LYO7+(eO5qQWO7+(eO$/oQWO7+(eO$/tQWO7+'xOOQ!LQ,5>l,5>lOOQ!LQ-E<O-E<OOOQQ7+(S7+(SO$0SQ!LbO7+(POH}QWO7+(PO$0^Q`O7+(QOOQQ7+(Q7+(QOH}QWO7+(QO$0eQWO'#J^O$0pQWO,5=OOOQO,5>n,5>nOOQO-E<Q-E<QOOQQ7+(V7+(VO$1jQ&jO'#GmOOQQ1G2r1G2rOH}QWO1G2rO){QYO1G2rOH}QWO1G2rO$1qQWO1G2rO$2PQ#tO1G2rO5iQ!LYO1G2uO#4oQWO1G2uO5_QWO1G2uO!,lQpO1G2uO!,tQ#tO1G2uO$2bQWO'#IUO$2mQWO,5?yO$2uQ&jO,5?yOOQ!LQ1G2v1G2vOOQQ7+$T7+$TO$2zQWO7+$TO5iQ!LYO7+$TO$3PQWO7+$TO){QYO1G5hO){QYO1G5iO$3UQYO1G2}O$3]QWO1G2}O$3bQYO1G2}O$3iQ!LYO1G5hOOQQ7+(g7+(gO5iQ!LYO7+(qO`QYO7+(sOOQQ'#Jd'#JdOOQQ'#IX'#IXO$3sQYO,5=rOOQQ,5=r,5=rO){QYO'#HXO$4QQWO'#HZOOQQ7+(|7+(|O$4VQYO7+(|O7VQWO7+(|OOQQ7+)Q7+)QOOQQ7+)U7+)UOOQQ7+)W7+)WOOQO1G4|1G4|O$8TQ7^O1G0cO$8_QWO1G0cOOQO1G/e1G/eO$8jQ7^O1G/eO:^QWO1G/eOLRQYO'#D_OOQO,5>[,5>[OOQO-E;n-E;nOOQO,5>a,5>aOOQO-E;s-E;sO!,lQpO1G/eOOQO1G3z1G3zO:^QWO,5:eOOQO,5:k,5:kO){QYO,5:kO$8tQ!LYO,5:kO$9PQ!LYO,5:kO!,lQpO,5:eOOQO-E;q-E;qOOQ!LS1G0O1G0OO!?bQ&jO,5:eO$9_Q&jO,5:eO$9pQ!LrO,5:kO$:[Q&jO,5:eO!?bQ&jO,5:kOOQO,5:p,5:pO$:cQ&jO,5:kO$:pQ!LYO,5:kOOQ!LS7+%g7+%gO#HbQWO7+%gO#HgQ`O7+%gOOQ!LS7+%w7+%wO:^QWO7+%wO!,lQpO7+%wO$;UQ!LdO7+*nO){QYO7+*nOOQO1G3|1G3|O7VQWO1G3|O$;fQWO7+*mO$;nQ!LdO1G2WO$=pQ!LdO1G2YO$?rQ!LdO1G1uO$AzQ#tO,5>]OOQO-E;o-E;oO$BUQbO,5>^O){QYO,5>^OOQO-E;p-E;pO$B`QWO1G5OO$BhQ7^O1G0^O$DoQ7^O1G0iO$DvQ7^O1G0iO$FwQ7^O1G0iO$GOQ7^O1G0iO$HsQ7^O1G0iO$IWQ7^O1G0iO$KeQ7^O1G0iO$KlQ7^O1G0iO$MmQ7^O1G0iO$MtQ7^O1G0iO% iQ7^O1G0iO% |Q!LdO<<JPO%!mQ7^O1G0iO%$]Q7^O'#IlO%&YQ7^O1G0|OLRQYO'#FYOOQO'#JV'#JVOOQO1G1^1G1^O%&gQWO1G1]O%&lQ7^O,5>eOOOO7+'P7+'POOOS1G4t1G4tOOQ!LS1G4R1G4ROJ^QWO7+'vO%&vQWO,5>fO5qQWO,5>fOOQO-E;x-E;xO%'UQWO1G5_O%'UQWO1G5_O%'^QWO1G5_O%'iQ`O,5>hO%'sQWO,5>hOH}QWO,5>hOOQO-E;z-E;zO%'xQ`O1G5`O%(SQWO1G5`OOQO1G2O1G2OOOQO1G2P1G2PO5iQ!LYO1G2PO$+fQWO1G2PO5iQ!LYO1G2OO%([QWO1G2QOH}QWO1G2QOOQO1G2R1G2RO5iQ!LYO1G2UO!,lQpO1G2OO#4jQWO1G2PO%(aQWO1G2QO%(iQWO1G2POJ^QWO7+*]OOQ!LS1G/T1G/TO%(tQWO1G/TOOQ!LS7+'[7+'[O%(yQ#tO7+'cO%)ZQ!LdO<<JoOOQ!LS<<Jo<<JoOH}QWO'#IPO%)zQWO,5?uOOQQ<<Kd<<KdOH}QWO<<KdO#HbQWO<<KdO%*SQWO<<KdO%*[Q`O<<KdOH}QWO1G2SOOQQ<<Gx<<GxO:^QWO<<GxO%*fQ!LdO<<IdOOQ!LS<<Id<<IdOOQO,5>q,5>qO%+VQWO,5>qO#;kQWO,5>qOOQO-E<T-E<TO%+[QWO1G5gO%+[QWO1G5gO5qQWO1G5gO%+dQWO<<LPOOQQ<<LP<<LPO%+iQWO<<LPO5iQ!LYO<<LPO){QYO<<KdOH}QWO<<KdOOQQ<<Kk<<KkO$0SQ!LbO<<KkOOQQ<<Kl<<KlO$0^Q`O<<KlO%+nQ&jO'#IRO%+yQWO,5?xOLRQYO,5?xOOQQ1G2j1G2jO#FbQ!LrO'#EPO!?bQ&jO'#GnOOQO'#IT'#ITO%,RQ&jO,5=XOOQQ,5=X,5=XO%,YQ&jO'#EPO%,eQ&jO'#EPO%,|Q&jO'#EPO%-WQ&jO'#GnO%-iQWO7+(^O%-nQWO7+(^O%-vQ`O7+(^OOQQ7+(^7+(^OH}QWO7+(^O){QYO7+(^OH}QWO7+(^O%.QQWO7+(^OOQQ7+(a7+(aO5iQ!LYO7+(aO#4oQWO7+(aO5_QWO7+(aO!,lQpO7+(aO%.`QWO,5>pOOQO-E<S-E<SOOQO'#Gq'#GqO%.kQWO1G5eO5iQ!LYO<<GoOOQQ<<Go<<GoO%.sQWO<<GoO%.xQWO7++SO%.}QWO7++TOOQQ7+(i7+(iO%/SQWO7+(iO%/XQYO7+(iO%/`QWO7+(iO){QYO7++SO){QYO7++TOOQQ<<L]<<L]OOQQ<<L_<<L_OOQQ-E<V-E<VOOQQ1G3^1G3^O%/eQWO,5=sOOQQ,5=u,5=uO:^QWO<<LhO%/jQWO<<LhOLRQYO7+%}OOQO7+%P7+%PO%/oQ7^O1G5VO:^QWO7+%POOQO1G0P1G0PO%/yQ!LdO1G0VOOQO1G0V1G0VO){QYO1G0VO%0TQ!LYO1G0VO:^QWO1G0PO!,lQpO1G0PO!?bQ&jO1G0PO%0`Q!LYO1G0VO%0nQ&jO1G0PO%1PQ!LYO1G0VO%1eQ!LrO1G0VO%1oQ&jO1G0PO!?bQ&jO1G0VOOQ!LS<<IR<<IROOQ!LS<<Ic<<IcO:^QWO<<IcO%1vQ!LdO<<NYOOQO7+)h7+)hO%2WQ!LdO7+'cO%4`QbO1G3xO%4jQ7^O7+%xO%4wQ7^O,59gO%6tQ7^O,5<QO%8qQ7^O,5<SO%:nQ7^O,5<bO%<^Q7^O7+'SO%<kQ7^O7+'TO%<xQWO,5;tOOQO7+&w7+&wO%<}Q#tO<<KbOOQO1G4Q1G4QO%=_QWO1G4QO%=jQWO1G4QO%=xQWO7+*yO%=xQWO7+*yOH}QWO1G4SO%>QQ`O1G4SO%>[QWO7+*zOOQO7+'k7+'kO5iQ!LYO7+'kOOQO7+'j7+'jO$+fQWO7+'lO%>dQ`O7+'lOOQO7+'p7+'pO5iQ!LYO7+'jO$+fQWO7+'kO%>kQWO7+'lOH}QWO7+'lO#4jQWO7+'kO%>pQ#tO<<MwOOQ!LS7+$o7+$oO%>zQ`O,5>kOOQO-E;}-E;}O#HbQWOANAOOOQQANAOANAOOH}QWOANAOO%?UQ!LbO7+'nOOQQAN=dAN=dO5qQWO1G4]OOQO1G4]1G4]O%?cQWO1G4]O%?hQWO7++RO%?hQWO7++RO5iQ!LYOANAkO%?pQWOANAkOOQQANAkANAkO%?uQWOANAOO%?}Q`OANAOOOQQANAVANAVOOQQANAWANAWO%@XQWO,5>mOOQO-E<P-E<PO%@dQ7^O1G5dO#4oQWO,5=YO5_QWO,5=YO!,lQpO,5=YOOQO-E<R-E<ROOQQ1G2s1G2sO$9pQ!LrO,5:kO!?bQ&jO,5=YO%@nQ&jO,5=YO%APQ&jO,5:kOOQQ<<Kx<<KxOH}QWO<<KxO%-iQWO<<KxO%AZQWO<<KxO%AcQ`O<<KxO){QYO<<KxOH}QWO<<KxOOQQ<<K{<<K{O5iQ!LYO<<K{O#4oQWO<<K{O5_QWO<<K{O%AmQ&jO1G4[O%ArQWO7++POOQQAN=ZAN=ZO5iQ!LYOAN=ZOOQQ<<Nn<<NnOOQQ<<No<<NoOOQQ<<LT<<LTO%AzQWO<<LTO%BPQYO<<LTO%BWQWO<<NnO%B]QWO<<NoOOQQ1G3_1G3_OOQQANBSANBSO:^QWOANBSO%BbQ7^O<<IiOOQO<<Hk<<HkOOQO7+%q7+%qO%/yQ!LdO7+%qO){QYO7+%qOOQO7+%k7+%kO:^QWO7+%kO!,lQpO7+%kO%BlQ!LYO7+%qO!?bQ&jO7+%kO%BwQ!LYO7+%qO%CVQ&jO7+%kO%ChQ!LYO7+%qOOQ!LSAN>}AN>}O%C|Q!LdO<<KbO%FUQ7^O<<JPO%FcQ7^O1G1uO%HRQ7^O1G2WO%JOQ7^O1G2YO%K{Q7^O<<JoO%LYQ7^O<<IdOOQO1G1`1G1`OOQO7+)l7+)lO%LgQWO7+)lO%LrQWO<<NeO%LzQ`O7+)nOOQO<<KV<<KVO5iQ!LYO<<KWO$+fQWO<<KWOOQO<<KU<<KUO5iQ!LYO<<KVO%MUQ`O<<KWO$+fQWO<<KVOOQQG26jG26jO#HbQWOG26jOOQO7+)w7+)wO5qQWO7+)wO%M]QWO<<NmOOQQG27VG27VO5iQ!LYOG27VOH}QWOG26jOLRQYO1G4XO%MeQWO7++OO5iQ!LYO1G2tO#4oQWO1G2tO5_QWO1G2tO!,lQpO1G2tO!?bQ&jO1G2tO%1eQ!LrO1G0VO%MmQ&jO1G2tO%-iQWOANAdOOQQANAdANAdOH}QWOANAdO%NOQWOANAdO%NWQ`OANAdOOQQANAgANAgO5iQ!LYOANAgO#4oQWOANAgOOQO'#Gr'#GrOOQO7+)v7+)vOOQQG22uG22uOOQQANAoANAoO%NbQWOANAoOOQQANDYANDYOOQQANDZANDZO%NgQYOG27nOOQO<<I]<<I]O%/yQ!LdO<<I]OOQO<<IV<<IVO:^QWO<<IVO){QYO<<I]O!,lQpO<<IVO&$eQ!LYO<<I]O!?bQ&jO<<IVO&$pQ!LYO<<I]O&%OQ7^O7+'cOOQO<<MW<<MWOOQOAN@rAN@rO5iQ!LYOAN@rOOQOAN@qAN@qO$+fQWOAN@rO5iQ!LYOAN@qOOQQLD,ULD,UOOQO<<Mc<<McOOQQLD,qLD,qO#HbQWOLD,UO&&nQ7^O7+)sOOQO7+(`7+(`O5iQ!LYO7+(`O#4oQWO7+(`O5_QWO7+(`O!,lQpO7+(`O!?bQ&jO7+(`OOQQG27OG27OO%-iQWOG27OOH}QWOG27OOOQQG27RG27RO5iQ!LYOG27ROOQQG27ZG27ZO:^QWOLD-YOOQOAN>wAN>wOOQOAN>qAN>qO%/yQ!LdOAN>wO:^QWOAN>qO){QYOAN>wO!,lQpOAN>qO&&xQ!LYOAN>wO&'TQ7^O<<KbOOQOG26^G26^O5iQ!LYOG26^OOQOG26]G26]OOQQ!$( p!$( pOOQO<<Kz<<KzO5iQ!LYO<<KzO#4oQWO<<KzO5_QWO<<KzO!,lQpO<<KzOOQQLD,jLD,jO%-iQWOLD,jOOQQLD,mLD,mOOQQ!$(!t!$(!tOOQOG24cG24cOOQOG24]G24]O%/yQ!LdOG24cO:^QWOG24]O){QYOG24cOOQOLD+xLD+xOOQOANAfANAfO5iQ!LYOANAfO#4oQWOANAfO5_QWOANAfOOQQ!$(!U!$(!UOOQOLD)}LD)}OOQOLD)wLD)wO%/yQ!LdOLD)}OOQOG27QG27QO5iQ!LYOG27QO#4oQWOG27QOOQO!$'Mi!$'MiOOQOLD,lLD,lO5iQ!LYOLD,lOOQO!$(!W!$(!WOLRQYO'#DnO&(sQbO'#IqOLRQYO'#DfO&(zQ!LdO'#CgO&)eQbO'#CgO&)uQYO,5:rOLRQYO,5:}OLRQYO,5:}OLRQYO,5:}OLRQYO,5:}OLRQYO,5:}OLRQYO,5:}OLRQYO,5:}OLRQYO,5:}OLRQYO,5:}OLRQYO,5:}OLRQYO,5:}OLRQYO'#HyO&+uQWO,5<PO&-XQWO,5:}OLRQYO,5;bO!(ZQWO'#C{O!(ZQWO'#C{OH}QWO'#FfO&+}QWO'#FfOH}QWO'#FhO&+}QWO'#FhOH}QWO'#FvO&+}QWO'#FvOLRQYO,5?kO&)uQYO1G0^O&-`Q7^O'#CgOLRQYO1G1hOH}QWO,5<lO&+}QWO,5<lOH}QWO,5<nO&+}QWO,5<nOH}QWO,5<ZO&+}QWO,5<ZO&)uQYO1G1iOLRQYO7+&eOH}QWO1G1wO&+}QWO1G1wO&)uQYO7+'TO&)uQYO7+%xOH}QWO7+'vO&+}QWO7+'vO&-jQWO'#EWO&-oQWO'#EWO&-wQWO'#EvO&-|QWO'#EcO&.RQWO'#JPO&.^QWO'#I}O&.iQWO,5:rO&.nQ#tO,5;|O&.uQWO'#FoO&.zQWO'#FoO&/PQWO,5;}O&/XQWO,5:rO&/aQ7^O1G0yO&/hQWO,5<]O&/mQWO,5<]O&/rQWO1G1iO&/wQWO1G0^O&/|Q#tO1G2[O&0TQ#tO1G2[O4QQWO'#FdO5_QWO'#FcOBqQWO'#EVOLRQYO,5;_O!(jQWO'#FqO!(jQWO'#FqOJ^QWO,5<pOJ^QWO,5<p", -- stateData: "&1Q~O'TOS'UOSSOSTOS~OPTOQTOWyO]cO^hOanObmOgcOiTOjcOkcOnTOpTOuROwcOxcOycO!PSO!ZkO!`UO!cTO!dTO!eTO!fTO!gTO!jlO#`sO#ppO#t^O${qO$}tO%PrO%QrO%TuO%VvO%YwO%ZwO%]xO%jzO%p{O%r|O%t}O%v!OO%y!PO&P!QO&T!RO&V!SO&X!TO&Z!UO&]!VO'WPO'aQO'mYO'zaO~OPZXYZX^ZXiZXrZXsZXuZX}ZX!]ZX!^ZX!`ZX!fZX!wZX#ScX#WZX#XZX#YZX#ZZX#[ZX#]ZX#^ZX#_ZX#aZX#cZX#eZX#fZX#kZX'RZX'aZX'nZX'uZX'vZX~O!X$hX~P$zO'O!XO'P!WO'Q!ZO~OPTOQTO]cOa!jOb!iOgcOiTOjcOkcOnTOpTOuROwcOxcOycO!P!bO!ZkO!`UO!cTO!dTO!eTO!fTO!gTO!j!hO#p!kO#t^O'W![O'aQO'mYO'zaO~O|!`O}!]Oz'hPz'rP~P'dO!O!lO~P`OPTOQTO]cOa!jOb!iOgcOiTOjcOkcOnTOpTOuROwcOxcOycO!P!bO!ZkO!`UO!cTO!dTO!eTO!fTO!gTO!j!hO#p!kO#t^O'W9VO'aQO'mYO'zaO~OPTOQTO]cOa!jOb!iOgcOiTOjcOkcOnTOpTOuROwcOxcOycO!P!bO!ZkO!`UO!cTO!dTO!eTO!fTO!gTO!j!hO#p!kO#t^O'aQO'mYO'zaO~O|!qO#Q!tO#R!qO'W9WO!_'oP~P+{O#S!uO~O!X!vO#S!uO~OP#]OY#cOi#QOr!zOs!zOu!{O}#aO!]#SO!^!xO!`!yO!f#]O#W#OO#X#PO#Y#PO#Z#PO#[#RO#]#SO#^#SO#_#SO#a#TO#c#VO#e#XO#f#YO'aQO'n#ZO'u!|O'v!}O~O^'eX'R'eX!_'eXz'eX!P'eX$|'eX!X'eX~P.jO!w#dO#k#dOP'fXY'fX^'fXi'fXr'fXs'fXu'fX}'fX!]'fX!^'fX!`'fX!f'fX#W'fX#X'fX#Y'fX#Z'fX#['fX#]'fX#^'fX#a'fX#c'fX#e'fX#f'fX'a'fX'n'fX'u'fX'v'fX~O#_'fX'R'fXz'fX!_'fX'c'fX!P'fX$|'fX!X'fX~P0zO!w#dO~O#v#eO#}#iO~O!P#jO#t^O$Q#kO$S#mO~O]#pOg#}Oi#qOj#pOk#pOn$OOp$POu#wO!P#xO!Z$UO!`#uO#R$VO#p$SO$Z$QO$]$RO$`$TO'W#oO'a#rO'['^P~O!`$WO~O!X$YO~O^$ZO'R$ZO~O'W$_O~O!`$WO'W$_O'X$aO']$bO~Ob$hO!`$WO'W$_O~O#_#SO~O]$qOr$mO!P$jO!`$lO$}$pO'W$_O'X$aO[(SP~O!j$rO~Ou$sO!P$tO'W$_O~Ou$sO!P$tO%V$xO'W$_O~O'W$yO~O#`sO$}tO%PrO%QrO%TuO%VvO%YwO%ZwO~Oa%SOb%RO!j%PO${%QO%_%OO~P7uOa%VObmO!P%UO!jlO#`sO${qO%PrO%QrO%TuO%VvO%YwO%ZwO%]xO~O_%YO!w%]O$}%WO'X$aO~P8tO!`%^O!c%bO~O!`%cO~O!PSO~O^$ZO&}%kO'R$ZO~O^$ZO&}%nO'R$ZO~O^$ZO&}%pO'R$ZO~O'O!XO'P!WO'Q%tO~OPZXYZXiZXrZXsZXuZX}ZX}cX!]ZX!^ZX!`ZX!fZX!wZX!wcX#ScX#WZX#XZX#YZX#ZZX#[ZX#]ZX#^ZX#_ZX#aZX#cZX#eZX#fZX#kZX'aZX'nZX'uZX'vZX~OzZXzcX~P;aO|%vOz&cX}&cX~P){O}!]Oz'hX~OP#]OY#cOi#QOr!zOs!zOu!{O}!]O!]#SO!^!xO!`!yO!f#]O#W#OO#X#PO#Y#PO#Z#PO#[#RO#]#SO#^#SO#_#SO#a#TO#c#VO#e#XO#f#YO'aQO'n#ZO'u!|O'v!}O~Oz'hX~P>WOz%{O~Ou&OO!S&YO!T&RO!U&RO'X$aO~O]&POj&PO|&SO'd%|O!O'iP!O'tP~P@ZOz'qX}'qX!X'qX!_'qX'n'qX~O!w'qX#S!{X!O'qX~PASO!w&ZOz'sX}'sX~O}&[Oz'rX~Oz&^O~O!w#dO~PASOR&bO!P&_O!k&aO'W$_O~Ob&gO!`$WO'W$_O~Or$mO!`$lO~O!O&hO~P`Or!zOs!zOu!{O!^!xO!`!yO'aQOP!baY!bai!ba}!ba!]!ba!f!ba#W!ba#X!ba#Y!ba#Z!ba#[!ba#]!ba#^!ba#_!ba#a!ba#c!ba#e!ba#f!ba'n!ba'u!ba'v!ba~O^!ba'R!baz!ba!_!ba'c!ba!P!ba$|!ba!X!ba~PC]O!_&iO~O!X!vO!w&kO'n&jO}'pX^'pX'R'pX~O!_'pX~PEuO}&oO!_'oX~O!_&qO~Ou$sO!P$tO#R&rO'W$_O~OPTOQTO]cOa!jOb!iOgcOiTOjcOkcOnTOpTOuROwcOxcOycO!PSO!ZkO!`UO!cTO!dTO!eTO!fTO!gTO!j!hO#p!kO#t^O'W9VO'aQO'mYO'zaO~O]#pOg#}Oi#qOj#pOk#pOn$OOp9iOu#wO!P#xO!Z:lO!`#uO#R9oO#p$SO$Z9kO$]9mO$`$TO'W&vO'a#rO~O#S&xO~O]#pOg#}Oi#qOj#pOk#pOn$OOp$POu#wO!P#xO!Z$UO!`#uO#R$VO#p$SO$Z$QO$]$RO$`$TO'W&vO'a#rO~O'['kP~PJ^O|&|O!_'lP~P){O'd'OO'mYO~OP9SOQ9SO]cOa:jOb!iOgcOi9SOjcOkcOn9SOp9SOuROwcOxcOycO!P!bO!Z9UO!`UO!c9SO!d9SO!e9SO!f9SO!g9SO!j!hO#p!kO#t^O'W'^O'aQO'mYO'z:hO~O!`!yO~O}#aO^$Xa'R$Xa!_$Xaz$Xa!P$Xa$|$Xa!X$Xa~O#`'eO~PH}O!X'gO!P'wX#s'wX#v'wX#}'wX~Or'hO~PNyOr'hO!P'wX#s'wX#v'wX#}'wX~O!P'jO#s'nO#v'iO#}'oO~O|'rO~PLRO#v#eO#}'uO~Or$aXu$aX!^$aX'n$aX'u$aX'v$aX~OReX}eX!weX'[eX'[$aX~P!!cOj'wO~O'O'yO'P'xO'Q'{O~Or'}Ou(OO'n#ZO'u(QO'v(SO~O'['|O~P!#lO'[(VO~O]#pOg#}Oi#qOj#pOk#pOn$OOp9iOu#wO!P#xO!Z:lO!`#uO#R9oO#p$SO$Z9kO$]9mO$`$TO'a#rO~O|(ZO'W(WO!_'{P~P!$ZO#S(]O~O|(aO'W(^Oz'|P~P!$ZO^(jOi(oOu(gO!S(mO!T(fO!U(fO!`(dO!t(nO$s(iO'X$aO'd(cO~O!O(lO~P!&RO!^!xOr'`Xu'`X'n'`X'u'`X'v'`X}'`X!w'`X~O'['`X#i'`X~P!&}OR(rO!w(qO}'_X'['_X~O}(sO'['^X~O'W(uO~O!`(zO~O'W&vO~O!`(dO~Ou$sO|!qO!P$tO#Q!tO#R!qO'W$_O!_'oP~O!X!vO#S)OO~OP#]OY#cOi#QOr!zOs!zOu!{O!]#SO!^!xO!`!yO!f#]O#W#OO#X#PO#Y#PO#Z#PO#[#RO#]#SO#^#SO#_#SO#a#TO#c#VO#e#XO#f#YO'aQO'n#ZO'u!|O'v!}O~O^!Ya}!Ya'R!Yaz!Ya!_!Ya'c!Ya!P!Ya$|!Ya!X!Ya~P!)`OR)WO!P&_O!k)VO$|)UO']$bO~O'W$yO'['^P~O!X)ZO!P'ZX^'ZX'R'ZX~O!`$WO']$bO~O!`$WO'W$_O']$bO~O!X!vO#S&xO~O$})gO'W)cO!O(TP~O})hO[(SX~O'd'OO~OY)lO~O[)mO~O!P$jO'W$_O'X$aO[(SP~Ou$sO|)rO!P$tO'W$_Oz'rP~O]&VOj&VO|)sO'd'OO!O'tP~O})tO^(PX'R(PX~O!w)xO']$bO~OR){O!P#xO']$bO~O!P)}O~Or*PO!PSO~O!j*UO~Ob*ZO~O'W(uO!O(RP~Ob$hO~O$}tO'W$yO~P8tOY*aO[*`O~OPTOQTO]cOanObmOgcOiTOjcOkcOnTOpTOuROwcOxcOycO!ZkO!`UO!cTO!dTO!eTO!fTO!gTO!jlO#t^O${qO'aQO'mYO'zaO~O!P!bO#p!kO'W9VO~P!0uO[*`O^$ZO'R$ZO~O^*eO#`*gO%P*gO%Q*gO~P){O!`%^O~O%p*lO~O!P*nO~O&Q*qO&R*pOP&OaQ&OaW&Oa]&Oa^&Oaa&Oab&Oag&Oai&Oaj&Oak&Oan&Oap&Oau&Oaw&Oax&Oay&Oa!P&Oa!Z&Oa!`&Oa!c&Oa!d&Oa!e&Oa!f&Oa!g&Oa!j&Oa#`&Oa#p&Oa#t&Oa${&Oa$}&Oa%P&Oa%Q&Oa%T&Oa%V&Oa%Y&Oa%Z&Oa%]&Oa%j&Oa%p&Oa%r&Oa%t&Oa%v&Oa%y&Oa&P&Oa&T&Oa&V&Oa&X&Oa&Z&Oa&]&Oa&|&Oa'W&Oa'a&Oa'm&Oa'z&Oa!O&Oa%w&Oa_&Oa%|&Oa~O'W*tO~O'c*wO~Oz&ca}&ca~P!)`O}!]Oz'ha~Oz'ha~P>WO}&[Oz'ra~O}tX}!VX!OtX!O!VX!XtX!X!VX!`!VX!wtX']!VX~O!X+OO!w*}O}#PX}'jX!O#PX!O'jX!X'jX!`'jX']'jX~O!X+QO!`$WO']$bO}!RX!O!RX~O]%}Oj%}Ou&OO'd(cO~OP9SOQ9SO]cOa:jOb!iOgcOi9SOjcOkcOn9SOp9SOuROwcOxcOycO!P!bO!Z9UO!`UO!c9SO!d9SO!e9SO!f9SO!g9SO!j!hO#p!kO#t^O'aQO'mYO'z:hO~O'W9sO~P!:sO}+UO!O'iX~O!O+WO~O!X+OO!w*}O}#PX!O#PX~O}+XO!O'tX~O!O+ZO~O]%}Oj%}Ou&OO'X$aO'd(cO~O!T+[O!U+[O~P!=qOu$sO|+_O!P$tO'W$_Oz&hX}&hX~O^+dO!S+gO!T+cO!U+cO!n+kO!o+iO!p+jO!q+hO!t+lO'X$aO'd(cO'm+aO~O!O+fO~P!>rOR+qO!P&_O!k+pO~O!w+wO}'pa!_'pa^'pa'R'pa~O!X!vO~P!?|O}&oO!_'oa~Ou$sO|+zO!P$tO#Q+|O#R+zO'W$_O}&jX!_&jX~O^!zi}!zi'R!ziz!zi!_!zi'c!zi!P!zi$|!zi!X!zi~P!)`O#S!va}!va!_!va!w!va!P!va^!va'R!vaz!va~P!#lO#S'`XP'`XY'`X^'`Xi'`Xs'`X!]'`X!`'`X!f'`X#W'`X#X'`X#Y'`X#Z'`X#['`X#]'`X#^'`X#_'`X#a'`X#c'`X#e'`X#f'`X'R'`X'a'`X!_'`Xz'`X!P'`X'c'`X$|'`X!X'`X~P!&}O},VO'['kX~P!#lO'[,XO~O},YO!_'lX~P!)`O!_,]O~Oz,^O~OP#]Or!zOs!zOu!{O!^!xO!`!yO!f#]O'aQOY#Vi^#Vii#Vi}#Vi!]#Vi#X#Vi#Y#Vi#Z#Vi#[#Vi#]#Vi#^#Vi#_#Vi#a#Vi#c#Vi#e#Vi#f#Vi'R#Vi'n#Vi'u#Vi'v#Viz#Vi!_#Vi'c#Vi!P#Vi$|#Vi!X#Vi~O#W#Vi~P!EZO#W#OO~P!EZOP#]Or!zOs!zOu!{O!^!xO!`!yO!f#]O#W#OO#X#PO#Y#PO#Z#PO'aQOY#Vi^#Vi}#Vi!]#Vi#[#Vi#]#Vi#^#Vi#_#Vi#a#Vi#c#Vi#e#Vi#f#Vi'R#Vi'n#Vi'u#Vi'v#Viz#Vi!_#Vi'c#Vi!P#Vi$|#Vi!X#Vi~Oi#Vi~P!GuOi#QO~P!GuOP#]Oi#QOr!zOs!zOu!{O!^!xO!`!yO!f#]O#W#OO#X#PO#Y#PO#Z#PO#[#RO'aQO^#Vi}#Vi#a#Vi#c#Vi#e#Vi#f#Vi'R#Vi'n#Vi'u#Vi'v#Viz#Vi!_#Vi'c#Vi!P#Vi$|#Vi!X#Vi~OY#Vi!]#Vi#]#Vi#^#Vi#_#Vi~P!JaOY#cO!]#SO#]#SO#^#SO#_#SO~P!JaOP#]OY#cOi#QOr!zOs!zOu!{O!]#SO!^!xO!`!yO!f#]O#W#OO#X#PO#Y#PO#Z#PO#[#RO#]#SO#^#SO#_#SO#a#TO'aQO^#Vi}#Vi#c#Vi#e#Vi#f#Vi'R#Vi'n#Vi'v#Viz#Vi!_#Vi'c#Vi!P#Vi$|#Vi!X#Vi~O'u#Vi~P!MXO'u!|O~P!MXOP#]OY#cOi#QOr!zOs!zOu!{O!]#SO!^!xO!`!yO!f#]O#W#OO#X#PO#Y#PO#Z#PO#[#RO#]#SO#^#SO#_#SO#a#TO#c#VO'aQO'u!|O^#Vi}#Vi#e#Vi#f#Vi'R#Vi'n#Viz#Vi!_#Vi'c#Vi!P#Vi$|#Vi!X#Vi~O'v#Vi~P# sO'v!}O~P# sOP#]OY#cOi#QOr!zOs!zOu!{O!]#SO!^!xO!`!yO!f#]O#W#OO#X#PO#Y#PO#Z#PO#[#RO#]#SO#^#SO#_#SO#a#TO#c#VO#e#XO'aQO'u!|O'v!}O~O^#Vi}#Vi#f#Vi'R#Vi'n#Viz#Vi!_#Vi'c#Vi!P#Vi$|#Vi!X#Vi~P#$_OPZXYZXiZXrZXsZXuZX!]ZX!^ZX!`ZX!fZX!wZX#ScX#WZX#XZX#YZX#ZZX#[ZX#]ZX#^ZX#_ZX#aZX#cZX#eZX#fZX#kZX'aZX'nZX'uZX'vZX}ZX!OZX~O#iZX~P#&rOP#]OY9gOi9[Or!zOs!zOu!{O!]9^O!^!xO!`!yO!f#]O#W9YO#X9ZO#Y9ZO#Z9ZO#[9]O#]9^O#^9^O#_9^O#a9_O#c9aO#e9cO#f9dO'aQO'n#ZO'u!|O'v!}O~O#i,`O~P#(|OP'fXY'fXi'fXr'fXs'fXu'fX!]'fX!^'fX!`'fX!f'fX#W'fX#X'fX#Y'fX#Z'fX#['fX#]'fX#^'fX#a'fX#c'fX#e'fX#f'fX'a'fX'n'fX'u'fX'v'fX}'fX~O!w9hO#k9hO#_'fX#i'fX!O'fX~P#*wO^&ma}&ma'R&ma!_&ma'c&maz&ma!P&ma$|&ma!X&ma~P!)`OP#ViY#Vi^#Vii#Vis#Vi}#Vi!]#Vi!^#Vi!`#Vi!f#Vi#W#Vi#X#Vi#Y#Vi#Z#Vi#[#Vi#]#Vi#^#Vi#_#Vi#a#Vi#c#Vi#e#Vi#f#Vi'R#Vi'a#Viz#Vi!_#Vi'c#Vi!P#Vi$|#Vi!X#Vi~P!#lO^#ji}#ji'R#jiz#ji!_#ji'c#ji!P#ji$|#ji!X#ji~P!)`O#v,bO~O#v,cO~O!X'gO!w,dO!P#zX#s#zX#v#zX#}#zX~O|,eO~O!P'jO#s,gO#v'iO#},hO~O}9eO!O'eX~P#(|O!O,iO~O#},kO~O'O'yO'P'xO'Q,nO~O],qOj,qOz,rO~O}cX!XcX!_cX!_$aX'ncX~P!!cO!_,xO~P!#lO},yO!X!vO'n&jO!_'{X~O!_-OO~Oz$aX}$aX!X$hX~P!!cO}-QOz'|X~P!#lO!X-SO~Oz-UO~O|(ZO'W$_O!_'{P~Oi-YO!X!vO!`$WO']$bO'n&jO~O!X)ZO~O!O-`O~P!&RO!T-aO!U-aO'X$aO'd(cO~Ou-cO'd(cO~O!t-dO~O'W$yO}&rX'[&rX~O}(sO'['^a~Or-iOs-iOu-jO'noa'uoa'voa}oa!woa~O'[oa#ioa~P#5{Or'}Ou(OO'n$Ya'u$Ya'v$Ya}$Ya!w$Ya~O'[$Ya#i$Ya~P#6qOr'}Ou(OO'n$[a'u$[a'v$[a}$[a!w$[a~O'[$[a#i$[a~P#7dO]-kO~O#S-lO~O'[$ja}$ja#i$ja!w$ja~P!#lO#S-oO~OR-xO!P&_O!k-wO$|-vO~O'[-yO~O]#pOi#qOj#pOk#pOn$OOp9iOu#wO!P#xO!Z:lO!`#uO#R9oO#p$SO$Z9kO$]9mO$`$TO'a#rO~Og-{O'W-zO~P#9ZO!X)ZO!P'Za^'Za'R'Za~O#S.RO~OYZX}cX!OcX~O}.SO!O(TX~O!O.UO~OY.VO~O'W)cO~O!P$jO'W$_O[&zX}&zX~O})hO[(Sa~O!_.[O~P!)`O].^O~OY._O~O[.`O~OR-xO!P&_O!k-wO$|-vO']$bO~O})tO^(Pa'R(Pa~O!w.fO~OR.iO!P#xO~O'd'OO!O(QP~OR.sO!P.oO!k.rO$|.qO']$bO~OY.}O}.{O!O(RX~O!O/OO~O[/QO^$ZO'R$ZO~O]/RO~O#_/TO%n/UO~P0zO!w#dO#_/TO%n/UO~O^/VO~P){O^/XO~O%w/]OP%uiQ%uiW%ui]%ui^%uia%uib%uig%uii%uij%uik%uin%uip%uiu%uiw%uix%uiy%ui!P%ui!Z%ui!`%ui!c%ui!d%ui!e%ui!f%ui!g%ui!j%ui#`%ui#p%ui#t%ui${%ui$}%ui%P%ui%Q%ui%T%ui%V%ui%Y%ui%Z%ui%]%ui%j%ui%p%ui%r%ui%t%ui%v%ui%y%ui&P%ui&T%ui&V%ui&X%ui&Z%ui&]%ui&|%ui'W%ui'a%ui'm%ui'z%ui!O%ui_%ui%|%ui~O_/cO!O/aO%|/bO~P`O!PSO!`/fO~O}#aO'c$Xa~Oz&ci}&ci~P!)`O}!]Oz'hi~O}&[Oz'ri~Oz/jO~O}!Ra!O!Ra~P#(|O]%}Oj%}O|/pO'd(cO}&dX!O&dX~P@ZO}+UO!O'ia~O]&VOj&VO|)sO'd'OO}&iX!O&iX~O}+XO!O'ta~Oz'si}'si~P!)`O^$ZO!X!vO!`$WO!f/{O!w/yO'R$ZO']$bO'n&jO~O!O0OO~P!>rO!T0PO!U0PO'X$aO'd(cO'm+aO~O!S0QO~P#GTO!PSO!S0QO!q0SO!t0TO~P#GTO!S0QO!o0VO!p0VO!q0SO!t0TO~P#GTO!P&_O~O!P&_O~P!#lO}'pi!_'pi^'pi'R'pi~P!)`O!w0`O}'pi!_'pi^'pi'R'pi~O}&oO!_'oi~Ou$sO!P$tO#R0bO'W$_O~O#SoaPoaYoa^oaioa!]oa!^oa!`oa!foa#Woa#Xoa#Yoa#Zoa#[oa#]oa#^oa#_oa#aoa#coa#eoa#foa'Roa'aoa!_oazoa!Poa'coa$|oa!Xoa~P#5{O#S$YaP$YaY$Ya^$Yai$Yas$Ya!]$Ya!^$Ya!`$Ya!f$Ya#W$Ya#X$Ya#Y$Ya#Z$Ya#[$Ya#]$Ya#^$Ya#_$Ya#a$Ya#c$Ya#e$Ya#f$Ya'R$Ya'a$Ya!_$Yaz$Ya!P$Ya'c$Ya$|$Ya!X$Ya~P#6qO#S$[aP$[aY$[a^$[ai$[as$[a!]$[a!^$[a!`$[a!f$[a#W$[a#X$[a#Y$[a#Z$[a#[$[a#]$[a#^$[a#_$[a#a$[a#c$[a#e$[a#f$[a'R$[a'a$[a!_$[az$[a!P$[a'c$[a$|$[a!X$[a~P#7dO#S$jaP$jaY$ja^$jai$jas$ja}$ja!]$ja!^$ja!`$ja!f$ja#W$ja#X$ja#Y$ja#Z$ja#[$ja#]$ja#^$ja#_$ja#a$ja#c$ja#e$ja#f$ja'R$ja'a$ja!_$jaz$ja!P$ja!w$ja'c$ja$|$ja!X$ja~P!#lO^!zq}!zq'R!zqz!zq!_!zq'c!zq!P!zq$|!zq!X!zq~P!)`O}&eX'[&eX~PJ^O},VO'['ka~O|0jO}&fX!_&fX~P){O},YO!_'la~O},YO!_'la~P!)`O#i!ba!O!ba~PC]O#i!Ya}!Ya!O!Ya~P#(|O!P0}O#t^O#{1OO~O!O1SO~O'c1TO~P!#lO^$Uq}$Uq'R$Uqz$Uq!_$Uq'c$Uq!P$Uq$|$Uq!X$Uq~P!)`Oz1UO~O],qOj,qO~Or'}Ou(OO'v(SO'n$ti'u$ti}$ti!w$ti~O'[$ti#i$ti~P$'tOr'}Ou(OO'n$vi'u$vi'v$vi}$vi!w$vi~O'[$vi#i$vi~P$(gO#i1VO~P!#lO|1XO'W$_O}&nX!_&nX~O},yO!_'{a~O},yO!X!vO!_'{a~O},yO!X!vO'n&jO!_'{a~O'[$ci}$ci#i$ci!w$ci~P!#lO|1`O'W(^Oz&pX}&pX~P!$ZO}-QOz'|a~O}-QOz'|a~P!#lO!X!vO~O!X!vO#_1jO~Oi1nO!X!vO'n&jO~O}'_i'['_i~P!#lO!w1qO}'_i'['_i~P!#lO!_1tO~O^$Vq}$Vq'R$Vqz$Vq!_$Vq'c$Vq!P$Vq$|$Vq!X$Vq~P!)`O}1xO!P'}X~P!#lO!P&_O$|1{O~O!P&_O$|1{O~P!#lO!P$aX$qZX^$aX'R$aX~P!!cO$q2POrfXufX!PfX'nfX'ufX'vfX^fX'RfX~O$q2PO~O$}2WO'W)cO}&yX!O&yX~O}.SO!O(Ta~OY2[O~O[2]O~O]2`O~OR2bO!P&_O!k2aO$|1{O~O^$ZO'R$ZO~P!#lO!P#xO~P!#lO}2gO!w2iO!O(QX~O!O2jO~Ou(gO!S2sO!T2lO!U2lO!n2rO!o2qO!p2qO!t2pO'X$aO'd(cO'm+aO~O!O2oO~P$0uOR2zO!P.oO!k2yO$|2xO~OR2zO!P.oO!k2yO$|2xO']$bO~O'W(uO}&xX!O&xX~O}.{O!O(Ra~O'd3TO~O]3VO~O[3XO~O!_3[O~P){O^3^O~O^3^O~P){O#_3`O%n3aO~PEuO_/cO!O3eO%|/bO~P`O!X3gO~O&R3hOP&OqQ&OqW&Oq]&Oq^&Oqa&Oqb&Oqg&Oqi&Oqj&Oqk&Oqn&Oqp&Oqu&Oqw&Oqx&Oqy&Oq!P&Oq!Z&Oq!`&Oq!c&Oq!d&Oq!e&Oq!f&Oq!g&Oq!j&Oq#`&Oq#p&Oq#t&Oq${&Oq$}&Oq%P&Oq%Q&Oq%T&Oq%V&Oq%Y&Oq%Z&Oq%]&Oq%j&Oq%p&Oq%r&Oq%t&Oq%v&Oq%y&Oq&P&Oq&T&Oq&V&Oq&X&Oq&Z&Oq&]&Oq&|&Oq'W&Oq'a&Oq'm&Oq'z&Oq!O&Oq%w&Oq_&Oq%|&Oq~O}#Pi!O#Pi~P#(|O!w3jO}#Pi!O#Pi~O}!Ri!O!Ri~P#(|O^$ZO!w3qO'R$ZO~O^$ZO!X!vO!w3qO'R$ZO~O!T3uO!U3uO'X$aO'd(cO'm+aO~O^$ZO!X!vO!`$WO!f3vO!w3qO'R$ZO']$bO'n&jO~O!S3wO~P$9_O!S3wO!q3zO!t3{O~P$9_O^$ZO!X!vO!f3vO!w3qO'R$ZO'n&jO~O}'pq!_'pq^'pq'R'pq~P!)`O}&oO!_'oq~O#S$tiP$tiY$ti^$tii$tis$ti!]$ti!^$ti!`$ti!f$ti#W$ti#X$ti#Y$ti#Z$ti#[$ti#]$ti#^$ti#_$ti#a$ti#c$ti#e$ti#f$ti'R$ti'a$ti!_$tiz$ti!P$ti'c$ti$|$ti!X$ti~P$'tO#S$viP$viY$vi^$vii$vis$vi!]$vi!^$vi!`$vi!f$vi#W$vi#X$vi#Y$vi#Z$vi#[$vi#]$vi#^$vi#_$vi#a$vi#c$vi#e$vi#f$vi'R$vi'a$vi!_$viz$vi!P$vi'c$vi$|$vi!X$vi~P$(gO#S$ciP$ciY$ci^$cii$cis$ci}$ci!]$ci!^$ci!`$ci!f$ci#W$ci#X$ci#Y$ci#Z$ci#[$ci#]$ci#^$ci#_$ci#a$ci#c$ci#e$ci#f$ci'R$ci'a$ci!_$ciz$ci!P$ci!w$ci'c$ci$|$ci!X$ci~P!#lO}&ea'[&ea~P!#lO}&fa!_&fa~P!)`O},YO!_'li~O#i!zi}!zi!O!zi~P#(|OP#]Or!zOs!zOu!{O!^!xO!`!yO!f#]O'aQOY#Vii#Vi!]#Vi#X#Vi#Y#Vi#Z#Vi#[#Vi#]#Vi#^#Vi#_#Vi#a#Vi#c#Vi#e#Vi#f#Vi#i#Vi'n#Vi'u#Vi'v#Vi}#Vi!O#Vi~O#W#Vi~P$BuO#W9YO~P$BuOP#]Or!zOs!zOu!{O!^!xO!`!yO!f#]O#W9YO#X9ZO#Y9ZO#Z9ZO'aQOY#Vi!]#Vi#[#Vi#]#Vi#^#Vi#_#Vi#a#Vi#c#Vi#e#Vi#f#Vi#i#Vi'n#Vi'u#Vi'v#Vi}#Vi!O#Vi~Oi#Vi~P$D}Oi9[O~P$D}OP#]Oi9[Or!zOs!zOu!{O!^!xO!`!yO!f#]O#W9YO#X9ZO#Y9ZO#Z9ZO#[9]O'aQO#a#Vi#c#Vi#e#Vi#f#Vi#i#Vi'n#Vi'u#Vi'v#Vi}#Vi!O#Vi~OY#Vi!]#Vi#]#Vi#^#Vi#_#Vi~P$GVOY9gO!]9^O#]9^O#^9^O#_9^O~P$GVOP#]OY9gOi9[Or!zOs!zOu!{O!]9^O!^!xO!`!yO!f#]O#W9YO#X9ZO#Y9ZO#Z9ZO#[9]O#]9^O#^9^O#_9^O#a9_O'aQO#c#Vi#e#Vi#f#Vi#i#Vi'n#Vi'v#Vi}#Vi!O#Vi~O'u#Vi~P$IkO'u!|O~P$IkOP#]OY9gOi9[Or!zOs!zOu!{O!]9^O!^!xO!`!yO!f#]O#W9YO#X9ZO#Y9ZO#Z9ZO#[9]O#]9^O#^9^O#_9^O#a9_O#c9aO'aQO'u!|O#e#Vi#f#Vi#i#Vi'n#Vi}#Vi!O#Vi~O'v#Vi~P$KsO'v!}O~P$KsOP#]OY9gOi9[Or!zOs!zOu!{O!]9^O!^!xO!`!yO!f#]O#W9YO#X9ZO#Y9ZO#Z9ZO#[9]O#]9^O#^9^O#_9^O#a9_O#c9aO#e9cO'aQO'u!|O'v!}O~O#f#Vi#i#Vi'n#Vi}#Vi!O#Vi~P$M{O^#gy}#gy'R#gyz#gy!_#gy'c#gy!P#gy$|#gy!X#gy~P!)`OP#ViY#Vii#Vis#Vi!]#Vi!^#Vi!`#Vi!f#Vi#W#Vi#X#Vi#Y#Vi#Z#Vi#[#Vi#]#Vi#^#Vi#_#Vi#a#Vi#c#Vi#e#Vi#f#Vi#i#Vi'a#Vi}#Vi!O#Vi~P!#lO!^!xOP'`XY'`Xi'`Xr'`Xs'`Xu'`X!]'`X!`'`X!f'`X#W'`X#X'`X#Y'`X#Z'`X#['`X#]'`X#^'`X#_'`X#a'`X#c'`X#e'`X#f'`X#i'`X'a'`X'n'`X'u'`X'v'`X}'`X!O'`X~O#i#ji}#ji!O#ji~P#(|O!O4]O~O}&ma!O&ma~P#(|O!X!vO'n&jO}&na!_&na~O},yO!_'{i~O},yO!X!vO!_'{i~Oz&pa}&pa~P!#lO!X4dO~O}-QOz'|i~P!#lO}-QOz'|i~Oz4jO~O!X!vO#_4pO~Oi4qO!X!vO'n&jO~Oz4sO~O'[$eq}$eq#i$eq!w$eq~P!#lO^$Vy}$Vy'R$Vyz$Vy!_$Vy'c$Vy!P$Vy$|$Vy!X$Vy~P!)`O}1xO!P'}a~O!P&_O$|4xO~O!P&_O$|4xO~P!#lO^!zy}!zy'R!zyz!zy!_!zy'c!zy!P!zy$|!zy!X!zy~P!)`OY4{O~O}.SO!O(Ti~O]5QO~O[5RO~O'd'OO}&uX!O&uX~O}2gO!O(Qa~O!O5`O~P$0uOu-cO'd(cO'm+aO~O!S5cO!T5bO!U5bO!t0TO'X$aO'd(cO'm+aO~O!o5dO!p5dO~P%,eO!T5bO!U5bO'X$aO'd(cO'm+aO~O!P.oO~O!P.oO$|5fO~O!P.oO$|5fO~P!#lOR5kO!P.oO!k5jO$|5fO~OY5pO}&xa!O&xa~O}.{O!O(Ri~O]5sO~O!_5tO~O!_5uO~O!_5vO~O!_5vO~P){O^5xO~O!X5{O~O!_5}O~O}'si!O'si~P#(|O^$ZO'R$ZO~P!)`O^$ZO!w6SO'R$ZO~O^$ZO!X!vO!w6SO'R$ZO~O!T6XO!U6XO'X$aO'd(cO'm+aO~O^$ZO!X!vO!f6YO!w6SO'R$ZO'n&jO~O!`$WO']$bO~P%1PO!S6ZO~P%0nO}'py!_'py^'py'R'py~P!)`O#S$eqP$eqY$eq^$eqi$eqs$eq}$eq!]$eq!^$eq!`$eq!f$eq#W$eq#X$eq#Y$eq#Z$eq#[$eq#]$eq#^$eq#_$eq#a$eq#c$eq#e$eq#f$eq'R$eq'a$eq!_$eqz$eq!P$eq!w$eq'c$eq$|$eq!X$eq~P!#lO}&fi!_&fi~P!)`O#i!zq}!zq!O!zq~P#(|Or-iOs-iOu-jOPoaYoaioa!]oa!^oa!`oa!foa#Woa#Xoa#Yoa#Zoa#[oa#]oa#^oa#_oa#aoa#coa#eoa#foa#ioa'aoa'noa'uoa'voa}oa!Ooa~Or'}Ou(OOP$YaY$Yai$Yas$Ya!]$Ya!^$Ya!`$Ya!f$Ya#W$Ya#X$Ya#Y$Ya#Z$Ya#[$Ya#]$Ya#^$Ya#_$Ya#a$Ya#c$Ya#e$Ya#f$Ya#i$Ya'a$Ya'n$Ya'u$Ya'v$Ya}$Ya!O$Ya~Or'}Ou(OOP$[aY$[ai$[as$[a!]$[a!^$[a!`$[a!f$[a#W$[a#X$[a#Y$[a#Z$[a#[$[a#]$[a#^$[a#_$[a#a$[a#c$[a#e$[a#f$[a#i$[a'a$[a'n$[a'u$[a'v$[a}$[a!O$[a~OP$jaY$jai$jas$ja!]$ja!^$ja!`$ja!f$ja#W$ja#X$ja#Y$ja#Z$ja#[$ja#]$ja#^$ja#_$ja#a$ja#c$ja#e$ja#f$ja#i$ja'a$ja}$ja!O$ja~P!#lO#i$Uq}$Uq!O$Uq~P#(|O#i$Vq}$Vq!O$Vq~P#(|O!O6eO~O'[$xy}$xy#i$xy!w$xy~P!#lO!X!vO}&ni!_&ni~O!X!vO'n&jO}&ni!_&ni~O},yO!_'{q~Oz&pi}&pi~P!#lO}-QOz'|q~Oz6lO~P!#lOz6lO~O}'_y'['_y~P!#lO}&sa!P&sa~P!#lO!P$pq^$pq'R$pq~P!#lOY6tO~O}.SO!O(Tq~O]6wO~O!P&_O$|6xO~O!P&_O$|6xO~P!#lO!w6yO}&ua!O&ua~O}2gO!O(Qi~P#(|O!T7PO!U7PO'X$aO'd(cO'm+aO~O!S7RO!t3{O~P%@nO!P.oO$|7UO~O!P.oO$|7UO~P!#lO'd7[O~O}.{O!O(Rq~O!_7_O~O!_7_O~P){O!_7aO~O!_7bO~O}#Py!O#Py~P#(|O^$ZO!w7hO'R$ZO~O^$ZO!X!vO!w7hO'R$ZO~O!T7kO!U7kO'X$aO'd(cO'm+aO~O^$ZO!X!vO!f7lO!w7hO'R$ZO'n&jO~O#S$xyP$xyY$xy^$xyi$xys$xy}$xy!]$xy!^$xy!`$xy!f$xy#W$xy#X$xy#Y$xy#Z$xy#[$xy#]$xy#^$xy#_$xy#a$xy#c$xy#e$xy#f$xy'R$xy'a$xy!_$xyz$xy!P$xy!w$xy'c$xy$|$xy!X$xy~P!#lO#i#gy}#gy!O#gy~P#(|OP$ciY$cii$cis$ci!]$ci!^$ci!`$ci!f$ci#W$ci#X$ci#Y$ci#Z$ci#[$ci#]$ci#^$ci#_$ci#a$ci#c$ci#e$ci#f$ci#i$ci'a$ci}$ci!O$ci~P!#lOr'}Ou(OO'v(SOP$tiY$tii$tis$ti!]$ti!^$ti!`$ti!f$ti#W$ti#X$ti#Y$ti#Z$ti#[$ti#]$ti#^$ti#_$ti#a$ti#c$ti#e$ti#f$ti#i$ti'a$ti'n$ti'u$ti}$ti!O$ti~Or'}Ou(OOP$viY$vii$vis$vi!]$vi!^$vi!`$vi!f$vi#W$vi#X$vi#Y$vi#Z$vi#[$vi#]$vi#^$vi#_$vi#a$vi#c$vi#e$vi#f$vi#i$vi'a$vi'n$vi'u$vi'v$vi}$vi!O$vi~O#i$Vy}$Vy!O$Vy~P#(|O#i!zy}!zy!O!zy~P#(|O!X!vO}&nq!_&nq~O},yO!_'{y~Oz&pq}&pq~P!#lOz7rO~P!#lO}.SO!O(Ty~O}2gO!O(Qq~O!T8OO!U8OO'X$aO'd(cO'm+aO~O!P.oO$|8RO~O!P.oO$|8RO~P!#lO!_8UO~O&R8VOP&O!ZQ&O!ZW&O!Z]&O!Z^&O!Za&O!Zb&O!Zg&O!Zi&O!Zj&O!Zk&O!Zn&O!Zp&O!Zu&O!Zw&O!Zx&O!Zy&O!Z!P&O!Z!Z&O!Z!`&O!Z!c&O!Z!d&O!Z!e&O!Z!f&O!Z!g&O!Z!j&O!Z#`&O!Z#p&O!Z#t&O!Z${&O!Z$}&O!Z%P&O!Z%Q&O!Z%T&O!Z%V&O!Z%Y&O!Z%Z&O!Z%]&O!Z%j&O!Z%p&O!Z%r&O!Z%t&O!Z%v&O!Z%y&O!Z&P&O!Z&T&O!Z&V&O!Z&X&O!Z&Z&O!Z&]&O!Z&|&O!Z'W&O!Z'a&O!Z'm&O!Z'z&O!Z!O&O!Z%w&O!Z_&O!Z%|&O!Z~O^$ZO!w8[O'R$ZO~O^$ZO!X!vO!w8[O'R$ZO~OP$eqY$eqi$eqs$eq!]$eq!^$eq!`$eq!f$eq#W$eq#X$eq#Y$eq#Z$eq#[$eq#]$eq#^$eq#_$eq#a$eq#c$eq#e$eq#f$eq#i$eq'a$eq}$eq!O$eq~P!#lO}&uq!O&uq~P#(|O^$ZO!w8qO'R$ZO~OP$xyY$xyi$xys$xy!]$xy!^$xy!`$xy!f$xy#W$xy#X$xy#Y$xy#Z$xy#[$xy#]$xy#^$xy#_$xy#a$xy#c$xy#e$xy#f$xy#i$xy'a$xy}$xy!O$xy~P!#lO'c'eX~P.jO'cZXzZX!_ZX%nZX!PZX$|ZX!XZX~P$zO!XcX!_ZX!_cX'ncX~P;aOP9SOQ9SO]cOa:jOb!iOgcOi9SOjcOkcOn9SOp9SOuROwcOxcOycO!PSO!Z9UO!`UO!c9SO!d9SO!e9SO!f9SO!g9SO!j!hO#p!kO#t^O'W'^O'aQO'mYO'z:hO~O}9eO!O$Xa~O]#pOg#}Oi#qOj#pOk#pOn$OOp9jOu#wO!P#xO!Z:mO!`#uO#R9pO#p$SO$Z9lO$]9nO$`$TO'W&vO'a#rO~O#`'eO~P&+}O!OZX!OcX~P;aO#S9XO~O!X!vO#S9XO~O!w9hO~O#_9^O~O!w9qO}'sX!O'sX~O!w9hO}'qX!O'qX~O#S9rO~O'[9tO~P!#lO#S9yO~O#S9zO~O!X!vO#S9{O~O!X!vO#S9rO~O#i9|O~P#(|O#S9}O~O#S:OO~O#S:PO~O#S:QO~O#i:RO~P!#lO#i:SO~P!#lO#t~!^!n!p!q#Q#R'z$Z$]$`$q${$|$}%T%V%Y%Z%]%_~TS#t'z#Xy'T'U#v'T'W'd~", -- goto: "#Dk(XPPPPPPP(YP(jP*^PPPP-sPP.Y3j5^5qP5qPPP5q5qP5qP7_PP7dP7xPPPP<XPPPP<X>wPPP>}AYP<XPCsPPPPEk<XPPPPPGd<XPPJcK`PPPPKdL|PMUNVPK`<X<X!#^!&V!*v!*v!.TPPP!.[!1O<XPPPPPPPPPP!3sP!5UPP<X!6cP<XP<X<X<X<XP<X!8vPP!;mP!>`!>h!>l!>lP!;jP!>p!>pP!AcP!Ag<X<X!Am!D_5qP5qP5q5qP!Eb5q5q!GY5q!I[5q!J|5q5q!Kj!Md!Md!Mh!Md!MpP!MdP5q!Nl5q# v5q5q-sPPP##TPP##m##mP##mP#$S##mPP#$YP#$PP#$P#$lMQ#$P#%Z#%a#%d(Y#%g(YP#%n#%n#%nP(YP(YP(YP(YPP(YP#%t#%wP#%w(YPPP(YP(YP(YP(YP(YP(Y(Y#%{#&V#&]#&c#&q#&w#&}#'X#'_#'i#'o#'}#(T#(Z#(i#)O#*b#*p#*v#*|#+S#+Y#+d#+j#+p#+z#,^#,dPPPPPPPPP#,jPP#-^#1[PP#2r#2y#3RP#7_PP#7c#9v#?p#?t#?w#?z#@V#@YPP#@]#@a#AO#As#Aw#BZPP#B_#Be#BiP#Bl#Bp#Bs#Cc#Cy#DO#DR#DU#D[#D_#Dc#DgmhOSj}!m$Y%a%d%e%g*i*n/]/`Q$gmQ$npQ%XyS&R!b+UQ&f!iS(f#x(kQ)a$hQ)n$pQ*Y%RQ+[&YS+c&_+eQ+u&gQ-a(mQ.z*ZY0P+g+h+i+j+kS2l.o2nU3u0Q0S0VU5b2q2r2sS6X3w3zS7P5c5dQ7k6ZR8O7R$l[ORSTUjk}!S!W!]!`!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#a#d$Y$l%Y%]%a%c%d%e%g%k%v&O&Z&a&k&x&|'|)O)V*e*i*n+p+w,Y,`-j-o-w.R.r/T/U/V/X/]/`/b/y0`0j2a2y3^3`3a3q5j5x6S7h8[8q!j'`#[#j&S'r*}+Q,e/p0}2i3j6y9S9U9X9Y9Z9[9]9^9_9`9a9b9c9d9e9h9q9r9t9{9|:P:Q:kQ(v$PQ)f$jQ*[%UQ*c%^Q,P9iQ-|)ZQ.X)gQ/S*aQ2V.SQ3R.{Q4U9jR4}2WpeOSjy}!m$Y%W%a%d%e%g*i*n/]/`R*^%Y&WVOSTjkn}!S!W!]!j!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#[#a#d#j$Y$l%Y%]%^%a%c%d%e%g%k%v&O&Z&a&k&x&|'r'|)O)V*e*i*n*}+Q+p+w,Y,`,e-j-o-w.R.r/T/U/V/X/]/`/b/p/y0`0j0}2a2i2y3^3`3a3j3q5j5x6S6y7h8[8q9S9U9X9Y9Z9[9]9^9_9`9a9b9c9d9e9h9q9r9t9{9|:P:Q:j:kW!cRU!`&SQ$`lQ$fmS$kp$pv$urs!q!t$W$s&[&o&r)r)s)t*g+O+_+z+|/f0bQ$}wQ&c!hQ&e!iS(Y#u(dS)`$g$hQ)d$jQ)q$rQ*T%PQ*X%RS+t&f&gQ,}(ZQ.Q)aQ.W)gQ.Y)hQ.])lQ.u*US.y*Y*ZQ0^+uQ1W,yQ2U.SQ2Y.VQ2_._Q3Q.zQ4a1XQ4|2WQ5P2[Q6s4{R7u6t!Y$dm!i$f$g$h&Q&e&f&g(e)`)a+R+b+t+u-Z.Q/u/|0R0^1m3t3y6V7i8]Q)X$`Q)y$zQ)|${Q*W%RQ.a)qQ.t*TU.x*X*Y*ZQ2{.uS3P.y.zQ5]2kQ5o3QS6}5^5aS7|7O7QQ8g7}R8v8hW#{a$b(s:hS$zt%WQ${uQ$|vR)w$x$V#za!v!x#c#u#w$Q$R$V&b'x(R(T(U(](a(q(r)U)W)Z)x){+q,V-Q-S-l-v-x.f.i.q.s1V1`1j1q1x1{2P2b2x2z4d4p4x5f5k6x7U8R9g9k9l9m9n9o9p9u9v9w9x9y9z9}:O:R:S:h:n:oV(w$P9i9jU&V!b$t+XQ'P!zQ)k$mQ.j)}Q1r-iR5X2g&YcORSTUjk}!S!W!]!`!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#[#a#d#j$Y$l%Y%]%^%a%c%d%e%g%k%v&O&S&Z&a&k&x&|'r'|)O)V*e*i*n*}+Q+p+w,Y,`,e-j-o-w.R.r/T/U/V/X/]/`/b/p/y0`0j0}2a2i2y3^3`3a3j3q5j5x6S6y7h8[8q9S9U9X9Y9Z9[9]9^9_9`9a9b9c9d9e9h9q9r9t9{9|:P:Q:k$]#`Z!_!n$^%u%y&t&{'R'S'T'U'V'W'X'Y'Z'[']'_'b'f'p)j*y+S+]+v,U,[,_,a,o-m/k/n0_0i0m0n0o0p0q0r0s0t0u0v0w0x0y0|1R1v2S3l3o4P4S4T4Y4Z5Z6O6R6_6c6d7e7x8Y8o8z9T:a&ZcORSTUjk}!S!W!]!`!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#[#a#d#j$Y$l%Y%]%^%a%c%d%e%g%k%v&O&S&Z&a&k&x&|'r'|)O)V*e*i*n*}+Q+p+w,Y,`,e-j-o-w.R.r/T/U/V/X/]/`/b/p/y0`0j0}2a2i2y3^3`3a3j3q5j5x6S6y7h8[8q9S9U9X9Y9Z9[9]9^9_9`9a9b9c9d9e9h9q9r9t9{9|:P:Q:kQ&T!bR/q+UY%}!b&R&Y+U+[S(e#x(kS+b&_+eS-Z(f(mQ-[(gQ-b(nQ.l*PU/|+c+g+hU0R+i+j+kS0W+l2pQ1m-aQ1o-cQ1p-dS2k.o2nU3t0P0Q0SQ3x0TQ3y0VS5^2l2sS5a2q2rU6V3u3w3zQ6[3{S7O5b5cQ7Q5dS7i6X6ZS7}7P7RQ8]7kR8h8OlhOSj}!m$Y%a%d%e%g*i*n/]/`Q%i!QS&s!u9XQ)^$eQ*R$}Q*S%OQ+r&dS,T&x9rS-n)O9{Q.O)_Q.n*QQ/d*pQ/e*qQ/m+PQ0U+iQ0[+sS1w-o:PQ2Q.PS2T.R:QQ3k/oQ3n/wQ3}0]Q4z2RQ5|3hQ6P3mQ6T3sQ6]4OQ7c5}Q7f6UQ8X7gQ8l8VQ8n8ZR8y8p$W#_Z!_!n%u%y&t&{'R'S'T'U'V'W'X'Y'Z'[']'_'b'f'p)j*y+S+]+v,U,[,_,o-m/k/n0_0i0m0n0o0p0q0r0s0t0u0v0w0x0y0|1R1v2S3l3o4P4S4T4Y4Z5Z6O6R6_6c6d7e7x8Y8o8z9T:aU(p#y&w0{T)S$^,a$W#^Z!_!n%u%y&t&{'R'S'T'U'V'W'X'Y'Z'[']'_'b'f'p)j*y+S+]+v,U,[,_,o-m/k/n0_0i0m0n0o0p0q0r0s0t0u0v0w0x0y0|1R1v2S3l3o4P4S4T4Y4Z5Z6O6R6_6c6d7e7x8Y8o8z9T:aQ'a#_S)R$^,aR-p)S&YcORSTUjk}!S!W!]!`!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#[#a#d#j$Y$l%Y%]%^%a%c%d%e%g%k%v&O&S&Z&a&k&x&|'r'|)O)V*e*i*n*}+Q+p+w,Y,`,e-j-o-w.R.r/T/U/V/X/]/`/b/p/y0`0j0}2a2i2y3^3`3a3j3q5j5x6S6y7h8[8q9S9U9X9Y9Z9[9]9^9_9`9a9b9c9d9e9h9q9r9t9{9|:P:Q:kQ%d{Q%e|Q%g!OQ%h!PR/[*lQ&`!hQ)T$`Q+o&cS-u)X)qS0X+m+nW1z-r-s-t.aS3|0Y0ZU4w1|1}2OU6q4v5T5UQ7t6rR8c7wT+d&_+eS+b&_+eU/|+c+g+hU0R+i+j+kS0W+l2pS2k.o2nU3t0P0Q0SQ3x0TQ3y0VS5^2l2sS5a2q2rU6V3u3w3zQ6[3{S7O5b5cQ7Q5dS7i6X6ZS7}7P7RQ8]7kR8h8OS+d&_+eT2m.o2nS&m!p/YQ,|(YQ-X(eS/{+b2kQ1],}S1g-Y-bU3v0R0W5aQ4`1WS4n1n1pU6Y3x3y7QQ6g4aQ6p4qR7l6[Q!wXS&l!p/YQ)P$XQ)[$cQ)b$iQ+x&mQ,{(YQ-W(eQ-](hQ-})]Q.v*VS/z+b2kS1[,|,}S1f-X-bQ1i-[Q1l-^Q2}.wW3r/{0R0W5aQ4_1WQ4c1]S4h1g1pQ4o1oQ5m3OW6W3v3x3y7QS6f4`4aQ6k4jQ6n4nQ6{5[Q7Y5nS7j6Y6[Q7n6gQ7p6lQ7s6pQ7z6|Q8T7ZQ8^7lQ8a7rQ8e7{Q8t8fQ8|8uQ9Q8}Q:Z:UQ:d:_R:e:`$nWORSTUjk}!S!W!]!`!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#a#d$Y$l%Y%]%^%a%c%d%e%g%k%v&O&Z&a&k&x&|'|)O)V*e*i*n+p+w,Y,`-j-o-w.R.r/T/U/V/X/]/`/b/y0`0j2a2y3^3`3a3q5j5x6S7h8[8qS!wn!j!j:T#[#j&S'r*}+Q,e/p0}2i3j6y9S9U9X9Y9Z9[9]9^9_9`9a9b9c9d9e9h9q9r9t9{9|:P:Q:kR:Z:j$nXORSTUjk}!S!W!]!`!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#a#d$Y$l%Y%]%^%a%c%d%e%g%k%v&O&Z&a&k&x&|'|)O)V*e*i*n+p+w,Y,`-j-o-w.R.r/T/U/V/X/]/`/b/y0`0j2a2y3^3`3a3q5j5x6S7h8[8qQ$Xb!Y$cm!i$f$g$h&Q&e&f&g(e)`)a+R+b+t+u-Z.Q/u/|0R0^1m3t3y6V7i8]S$in!jQ)]$dQ*V%RW.w*W*X*Y*ZU3O.x.y.zQ5[2kS5n3P3QU6|5]5^5aQ7Z5oU7{6}7O7QS8f7|7}S8u8g8hQ8}8v!j:U#[#j&S'r*}+Q,e/p0}2i3j6y9S9U9X9Y9Z9[9]9^9_9`9a9b9c9d9e9h9q9r9t9{9|:P:Q:kQ:_:iR:`:j$f]OSTjk}!S!W!]!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#a#d$Y$l%Y%]%a%c%d%e%g%k%v&O&Z&a&k&x&|'|)O)V*e*i*n+p+w,Y,`-j-o-w.R.r/T/U/V/X/]/`/b/y0`0j2a2y3^3`3a3q5j5x6S7h8[8qU!gRU!`v$urs!q!t$W$s&[&o&r)r)s)t*g+O+_+z+|/f0bQ*d%^!h:V#[#j'r*}+Q,e/p0}2i3j6y9S9U9X9Y9Z9[9]9^9_9`9a9b9c9d9e9h9q9r9t9{9|:P:Q:kR:Y&SS&W!b$tR/s+X$l[ORSTUjk}!S!W!]!`!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#a#d$Y$l%Y%]%a%c%d%e%g%k%v&O&Z&a&k&x&|'|)O)V*e*i*n+p+w,Y,`-j-o-w.R.r/T/U/V/X/]/`/b/y0`0j2a2y3^3`3a3q5j5x6S7h8[8q!j'`#[#j&S'r*}+Q,e/p0}2i3j6y9S9U9X9Y9Z9[9]9^9_9`9a9b9c9d9e9h9q9r9t9{9|:P:Q:kR*c%^$noORSTUjk}!S!W!]!`!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#a#d$Y$l%Y%]%^%a%c%d%e%g%k%v&O&Z&a&k&x&|'|)O)V*e*i*n+p+w,Y,`-j-o-w.R.r/T/U/V/X/]/`/b/y0`0j2a2y3^3`3a3q5j5x6S7h8[8qQ'P!z!k:W#[#j&S'r*}+Q,e/p0}2i3j6y9S9U9X9Y9Z9[9]9^9_9`9a9b9c9d9e9h9q9r9t9{9|:P:Q:k!h#UZ!_$^%u%y&t&{'Y'Z'[']'b'f)j*y+]+v,U,[,o-m0_0i0y1v2S3o4P4S6R7e8Y8o8z9T!R9`'_'p+S,a/k/n0m0u0v0w0x0|1R3l4T4Y4Z5Z6O6_6c6d7x:a!d#WZ!_$^%u%y&t&{'[']'b'f)j*y+]+v,U,[,o-m0_0i0y1v2S3o4P4S6R7e8Y8o8z9T}9b'_'p+S,a/k/n0m0w0x0|1R3l4T4Y4Z5Z6O6_6c6d7x:a!`#[Z!_$^%u%y&t&{'b'f)j*y+]+v,U,[,o-m0_0i0y1v2S3o4P4S6R7e8Y8o8z9Tl(U#s&y(},w-P-e-f0g1u4^4r:[:f:gx:k'_'p+S,a/k/n0m0|1R3l4T4Y4Z5Z6O6_6c6d7x:a!`:n&u'd(X(_+n,S,l-T-q-t.e.g0Z0f1^1b2O2d2f2v4R4e4k4t4y5U5i6^6i6o7WZ:o0z4X6`7m8_&YcORSTUjk}!S!W!]!`!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#[#a#d#j$Y$l%Y%]%^%a%c%d%e%g%k%v&O&S&Z&a&k&x&|'r'|)O)V*e*i*n*}+Q+p+w,Y,`,e-j-o-w.R.r/T/U/V/X/]/`/b/p/y0`0j0}2a2i2y3^3`3a3j3q5j5x6S6y7h8[8q9S9U9X9Y9Z9[9]9^9_9`9a9b9c9d9e9h9q9r9t9{9|:P:Q:kS#k`#lR1O,d&a_ORSTU`jk}!S!W!]!`!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#[#a#d#j#l$Y$l%Y%]%^%a%c%d%e%g%k%v&O&S&Z&a&k&x&|'r'|)O)V*e*i*n*}+Q+p+w,Y,`,d,e-j-o-w.R.r/T/U/V/X/]/`/b/p/y0`0j0}2a2i2y3^3`3a3j3q5j5x6S6y7h8[8q9S9U9X9Y9Z9[9]9^9_9`9a9b9c9d9e9h9q9r9t9{9|:P:Q:kS#f^#mT'i#h'mT#g^#mT'k#h'm&a`ORSTU`jk}!S!W!]!`!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#[#a#d#j#l$Y$l%Y%]%^%a%c%d%e%g%k%v&O&S&Z&a&k&x&|'r'|)O)V*e*i*n*}+Q+p+w,Y,`,d,e-j-o-w.R.r/T/U/V/X/]/`/b/p/y0`0j0}2a2i2y3^3`3a3j3q5j5x6S6y7h8[8q9S9U9X9Y9Z9[9]9^9_9`9a9b9c9d9e9h9q9r9t9{9|:P:Q:kT#k`#lQ#n`R't#l$nbORSTUjk}!S!W!]!`!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#a#d$Y$l%Y%]%^%a%c%d%e%g%k%v&O&Z&a&k&x&|'|)O)V*e*i*n+p+w,Y,`-j-o-w.R.r/T/U/V/X/]/`/b/y0`0j2a2y3^3`3a3q5j5x6S7h8[8q!k:i#[#j&S'r*}+Q,e/p0}2i3j6y9S9U9X9Y9Z9[9]9^9_9`9a9b9c9d9e9h9q9r9t9{9|:P:Q:k#RdOSUj}!S!W!m!{#j$Y%Y%]%^%a%c%d%e%g%k&O&a'r)V*e*i*n+p,e-j-w.r/T/U/V/X/]/`/b0}2a2y3^3`3a5j5xt#ya!x$Q$R$V(R(T(U(](q(r,V-l1V1q:h:n:o!|&w!v#c#u#w&b'x(a)U)W)Z)x){+q-Q-S-v-x.f.i.q.s1`1j1x1{2P2b2x2z4d4p4x5f5k6x7U8R9k9m9o9u9w9y9}:RQ({$TQ,p'}c0{9g9l9n9p9v9x9z:O:St#va!x$Q$R$V(R(T(U(](q(r,V-l1V1q:h:n:oS(h#x(kQ(|$UQ-^(i!|:]!v#c#u#w&b'x(a)U)W)Z)x){+q-Q-S-v-x.f.i.q.s1`1j1x1{2P2b2x2z4d4p4x5f5k6x7U8R9k9m9o9u9w9y9}:Rb:^9g9l9n9p9v9x9z:O:SQ:b:lR:c:mt#ya!x$Q$R$V(R(T(U(](q(r,V-l1V1q:h:n:o!|&w!v#c#u#w&b'x(a)U)W)Z)x){+q-Q-S-v-x.f.i.q.s1`1j1x1{2P2b2x2z4d4p4x5f5k6x7U8R9k9m9o9u9w9y9}:Rc0{9g9l9n9p9v9x9z:O:SlfOSj}!m$Y%a%d%e%g*i*n/]/`Q(`#wQ*u%nQ*v%pR1_-Q$U#za!v!x#c#u#w$Q$R$V&b'x(R(T(U(](a(q(r)U)W)Z)x){+q,V-Q-S-l-v-x.f.i.q.s1V1`1j1q1x1{2P2b2x2z4d4p4x5f5k6x7U8R9g9k9l9m9n9o9p9u9v9w9x9y9z9}:O:R:S:h:n:oQ)z${Q.h)|Q2e.gR5W2fT(j#x(kS(j#x(kT2m.o2nQ)[$cQ-](hQ-})]Q.v*VQ2}.wQ5m3OQ6{5[Q7Y5nQ7z6|Q8T7ZQ8e7{Q8t8fQ8|8uR9Q8}l(R#s&y(},w-P-e-f0g1u4^4r:[:f:g!`9u&u'd(X(_+n,S,l-T-q-t.e.g0Z0f1^1b2O2d2f2v4R4e4k4t4y5U5i6^6i6o7WZ9v0z4X6`7m8_n(T#s&y(},u,w-P-e-f0g1u4^4r:[:f:g!b9w&u'd(X(_+n,S,l-T-q-t.e.g0Z0d0f1^1b2O2d2f2v4R4e4k4t4y5U5i6^6i6o7W]9x0z4X6`6a7m8_peOSjy}!m$Y%W%a%d%e%g*i*n/]/`Q%TxR*e%^peOSjy}!m$Y%W%a%d%e%g*i*n/]/`R%TxQ*O$|R.d)wqeOSjy}!m$Y%W%a%d%e%g*i*n/]/`Q.p*TS2w.t.uW5e2t2u2v2{U7T5g5h5iU8P7S7V7WQ8i8QR8w8jQ%[yR*_%WR3U.}R7]5pS$kp$pR.Y)hQ%azR*i%bR*o%hT/^*n/`QjOQ!mST$]j!mQ'z#rR,m'zQ!YQR%s!YQ!^RU%w!^%x*zQ%x!_R*z%yQ+V&TR/r+VQ,W&yR0h,WQ,Z&{S0k,Z0lR0l,[Q+e&_R/}+eQ&]!eQ*{%zT+`&]*{Q+Y&WR/t+YQ&p!rQ+y&nU+}&p+y0cR0c,OQ'm#hR,f'mQ#l`R's#lQ#bZU'c#b*x9fQ*x9TR9f'pQ,z(YW1Y,z1Z4b6hU1Z,{,|,}S4b1[1]R6h4c#q(P#s&u&y'd(X(_(x(y(}+n,Q,R,S,l,u,v,w-P-T-e-f-q-t.e.g0Z0d0e0f0g0z1^1b1u2O2d2f2v4R4V4W4X4^4e4k4r4t4y5U5i6^6`6a6b6i6o7W7m8_:[:f:gQ-R(_U1a-R1c4fQ1c-TR4f1bQ(k#xR-_(kQ(t#|R-h(tQ1y-qR4u1yQ)u$vR.c)uQ2h.jS5Y2h6zR6z5ZQ*Q$}R.m*QQ2n.oR5_2nQ.|*[S3S.|5qR5q3UQ.T)dW2X.T2Z5O6uQ2Z.WQ5O2YR6u5PQ)i$kR.Z)iQ/`*nR3d/`WiOSj!mQ%f}Q)Q$YQ*h%aQ*j%dQ*k%eQ*m%gQ/Z*iS/^*n/`R3c/]Q$[gQ%j!RQ%m!TQ%o!UQ%q!VQ)p$qQ)v$wQ*^%[Q*s%lS/P*_*bQ/g*rQ/h*uQ/i*vS/x+b2kQ1d-VQ1e-WQ1k-]Q2^.^Q2c.eQ2|.vQ3W/RQ3b/[Y3p/z/{0R0W5aQ4g1fQ4i1hQ4l1lQ5S2`Q5V2dQ5l2}Q5r3V[6Q3o3r3v3x3y7QQ6j4hQ6m4mQ6v5QQ7X5mQ7^5sW7d6R6W6Y6[Q7o6kQ7q6nQ7v6wQ7y6{Q8S7YU8W7e7j7lQ8`7pQ8b7sQ8d7zQ8k8TS8m8Y8^Q8r8aQ8s8eQ8x8oQ8{8tQ9O8zQ9P8|R9R9QQ$emQ&d!iU)_$f$g$hQ+P&QU+s&e&f&gQ-V(eS.P)`)aQ/o+RQ/w+bS0]+t+uQ1h-ZQ2R.QQ3m/uS3s/|0RQ4O0^Q4m1mS6U3t3yQ7g6VQ8Z7iR8p8]S#ta:hR)Y$bU#|a$b:hR-g(sQ#saS&u!v)ZQ&y!xQ'd#cQ(X#uQ(_#wQ(x$QQ(y$RQ(}$VQ+n&bQ,Q9kQ,R9mQ,S9oQ,l'xQ,u(RQ,v(TQ,w(UQ-P(]Q-T(aQ-e(qQ-f(rd-q)U-v.q1{2x4x5f6x7U8RQ-t)WQ.e)xQ.g){Q0Z+qQ0d9uQ0e9wQ0f9yQ0g,VQ0z9gQ1^-QQ1b-SQ1u-lQ2O-xQ2d.fQ2f.iQ2v.sQ4R9}Q4V9lQ4W9nQ4X9pQ4^1VQ4e1`Q4k1jQ4r1qQ4t1xQ4y2PQ5U2bQ5i2zQ6^:RQ6`9zQ6a9vQ6b9xQ6i4dQ6o4pQ7W5kQ7m:OQ8_:SQ:[:hQ:f:nR:g:oT'y#r'zlgOSj}!m$Y%a%d%e%g*i*n/]/`S!oU%cQ%l!SQ%r!WQ'Q!{Q'q#jS*b%Y%]Q*f%^Q*r%kQ*|&OQ+m&aQ,j'rQ-s)VQ/W*eQ0Y+pQ1Q,eQ1s-jQ1}-wQ2u.rQ3Y/TQ3Z/UQ3]/VQ3_/XQ3f/bQ4[0}Q5T2aQ5h2yQ5w3^Q5y3`Q5z3aQ7V5jR7`5x!vZOSUj}!S!m!{$Y%Y%]%^%a%c%d%e%g%k&O&a)V*e*i*n+p-j-w.r/T/U/V/X/]/`/b2a2y3^3`3a5j5xQ!_RQ!nTQ$^kQ%u!]Q%y!`Q&t!uQ&{!yQ'R#OQ'S#PQ'T#QQ'U#RQ'V#SQ'W#TQ'X#UQ'Y#VQ'Z#WQ'[#XQ']#YQ'_#[Q'b#aQ'f#dW'p#j'r,e0}Q)j$lQ*y%vS+S&S/pQ+]&ZQ+v&kQ,U&xQ,[&|Q,_9SQ,a9UQ,o'|Q-m)OQ/k*}Q/n+QQ0_+wQ0i,YQ0m9XQ0n9YQ0o9ZQ0p9[Q0q9]Q0r9^Q0s9_Q0t9`Q0u9aQ0v9bQ0w9cQ0x9dQ0y,`Q0|9hQ1R9eQ1v-oQ2S.RQ3l9qQ3o/yQ4P0`Q4S0jQ4T9rQ4Y9tQ4Z9{Q5Z2iQ6O3jQ6R3qQ6_9|Q6c:PQ6d:QQ7e6SQ7x6yQ8Y7hQ8o8[Q8z8qQ9T!WR:a:kT!XQ!YR!aRR&U!bS&Q!b+US+R&R&YR/u+[R&z!xR&}!yT!sU$WS!rU$WU$vrs*gS&n!q!tQ+{&oQ,O&rQ.b)tS0a+z+|R4Q0b[!dR!`$s&[)r+_h!pUrs!q!t$W&o&r)t+z+|0bQ/Y*gQ/l+OQ3i/fT:X&S)sT!fR$sS!eR$sS%z!`)rS+T&S)sQ+^&[R/v+_T&X!b$tQ#h^R'v#mT'l#h'mR1P,dT([#u(dR(b#wQ-r)UQ1|-vQ2t.qQ4v1{Q5g2xQ6r4xQ7S5fQ7w6xQ8Q7UR8j8RlhOSj}!m$Y%a%d%e%g*i*n/]/`Q%ZyR*^%WV$wrs*gR.k)}R*]%UQ$opR)o$pR)e$jT%_z%bT%`z%bT/_*n/`", -- nodeNames: "⚠ ArithOp ArithOp extends LineComment BlockComment Script ExportDeclaration export Star as VariableName from String ; default FunctionDeclaration async function VariableDefinition TypeParamList TypeDefinition ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType VoidType void TypeofType typeof MemberExpression . ?. PropertyName [ TemplateString null super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewExpression new TypeArgList CompareOp < ) ( ArgList UnaryExpression await yield delete LogicOp BitOp ParenthesizedExpression ClassExpression class extends ClassBody MethodDeclaration Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression PrivatePropertyName BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof in const CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXStartTag JSXSelfClosingTag JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast ArrowFunction TypeParamList SequenceExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature CallSignature TypePredicate is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody MethodDeclaration AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try catch finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement", -- maxTerm: 330, -+ states: "$1dO`QYOOO'QQ!LdO'#CgO'XOSO'#DSO)dQYO'#DXO)tQYO'#DdO){QYO'#DnO-xQYO'#DtOOQO'#EX'#EXO.]QWO'#EWO.bQWO'#EWOOQ!LS'#Eb'#EbO0aQ!LdO'#IsO2wQ!LdO'#ItO3eQWO'#EvO3jQpO'#F_OOQ!LS'#FO'#FOO3uO!bO'#FOO4TQWO'#FfO5bQWO'#FeOOQ!LS'#It'#ItOOQ!LQ'#Is'#IsOOQQ'#J^'#J^O5gQWO'#HlO5lQ!LYO'#HmOOQQ'#Ie'#IeOOQQ'#Hn'#HnQ`QYOOO){QYO'#DfO5tQWO'#GYO5yQ#tO'#ClO6XQWO'#EVO6dQWO'#EcO6iQ#tO'#E}O7TQWO'#GYO7YQWO'#G^O7eQWO'#G^O7sQWO'#GaO7sQWO'#GbO7sQWO'#GdO5tQWO'#GgO8dQWO'#GjO9rQWO'#CcO:SQWO'#GwO:[QWO'#G}O:[QWO'#HPO`QYO'#HRO:[QWO'#HTO:[QWO'#HWO:aQWO'#H^O:fQ!LZO'#HbO){QYO'#HdO:qQ!LZO'#HfO:|Q!LZO'#HhO5lQ!LYO'#HjO){QYO'#IuOOOS'#Hp'#HpO;XOSO,59nOOQ!LS,59n,59nO=jQbO'#CgO=tQYO'#HqO>RQWO'#IvO@QQbO'#IvO'dQYO'#IvO@XQWO,59sO@oQ&jO'#D^OAhQWO'#EXOAuQWO'#JROBQQWO'#JQOBYQWO,5:uOB_QWO'#JPOBfQWO'#DuO5yQ#tO'#EVOBtQWO'#EVOCPQ`O'#E}OOQ!LS,5:O,5:OOCXQYO,5:OOEVQ!LdO,5:YOEsQWO,5:`OF^Q!LYO'#JOO7YQWO'#I}OFeQWO'#I}OFmQWO,5:tOFrQWO'#I}OGQQYO,5:rOIQQWO'#ESOJ[QWO,5:rOKkQWO'#DhOKrQYO'#DmOK|Q&jO,5:{O){QYO,5:{OOQQ'#En'#EnOOQQ'#Ep'#EpO){QYO,5:}O){QYO,5:}O){QYO,5:}O){QYO,5:}O){QYO,5:}O){QYO,5:}O){QYO,5:}O){QYO,5:}O){QYO,5:}O){QYO,5:}O){QYO,5:}OOQQ'#Et'#EtOLUQYO,5;_OOQ!LS,5;d,5;dOOQ!LS,5;e,5;eONUQWO,5;eOOQ!LS,5;f,5;fO){QYO'#H{ONZQ!LYO,5<RONuQWO,5:}O){QYO,5;bON|QpO'#FTO! yQpO'#JVO! eQpO'#JVO!!QQpO'#JVOOQO'#JV'#JVO!!fQpO,5;mOOOO,5;y,5;yO!!wQYO'#FaOOOO'#Hz'#HzO3uO!bO,5;jO!#OQpO'#FcOOQ!LS,5;j,5;jO!#oQ,UO'#CqOOQ!LS'#Ct'#CtO!$SQWO'#CtO!$XOSO'#CxO!$uQ#tO,5<OO!$|QWO,5<QO!&YQWO'#FpO!&gQWO'#FqO!&lQWO'#FuO!'nQ&jO'#FyO!(aQ,UO'#InOOQ!LS'#In'#InO!(kQWO'#ImO!(yQWO'#IlOOQ!LS'#Cr'#CrOOQ!LS'#Cy'#CyO!)RQWO'#C{OJaQWO'#FhOJaQWO'#FjO!)WQWO'#FlO!)]QWO'#FmO!)bQWO'#FsOJaQWO'#FxO!)gQWO'#EYO!*OQWO,5<PO`QYO,5>WOOQQ'#Ih'#IhOOQQ,5>X,5>XOOQQ-E;l-E;lO!+zQ!LdO,5:QOOQ!LQ'#Co'#CoO!,kQ#tO,5<tOOQO'#Ce'#CeO!,|QWO'#CpO!-UQ!LYO'#IiO5bQWO'#IiO:aQWO,59WO!-dQpO,59WO!-lQ#tO,59WO5yQ#tO,59WO!-wQWO,5:rO!.PQWO'#GvO!.[QWO'#JbO){QYO,5;gO!.dQ&jO,5;iO!.iQWO,5=aO!.nQWO,5=aO!.sQWO,5=aO5lQ!LYO,5=aO5tQWO,5<tO!/RQWO'#EZO!/dQ&jO'#E[OOQ!LQ'#JP'#JPO!/uQ!LYO'#J_O5lQ!LYO,5<xO7sQWO,5=OOOQO'#Cq'#CqO!0QQpO,5<{O!0YQ#tO,5<|O!0eQWO,5=OO!0jQ`O,5=RO:aQWO'#GlO5tQWO'#GnO!0rQWO'#GnO5yQ#tO'#GqO!0wQWO'#GqOOQQ,5=U,5=UO!0|QWO'#GrO!1UQWO'#ClO!1ZQWO,58}O!1eQWO,58}O!3gQYO,58}OOQQ,58},58}O!3tQ!LYO,58}O){QYO,58}O!4PQYO'#GyOOQQ'#Gz'#GzOOQQ'#G{'#G{O`QYO,5=cO!4aQWO,5=cO){QYO'#DtO`QYO,5=iO`QYO,5=kO!4fQWO,5=mO`QYO,5=oO!4kQWO,5=rO!4pQYO,5=xOOQQ,5=|,5=|O){QYO,5=|O5lQ!LYO,5>OOOQQ,5>Q,5>QO!8qQWO,5>QOOQQ,5>S,5>SO!8qQWO,5>SOOQQ,5>U,5>UO!8vQ`O,5?aOOOS-E;n-E;nOOQ!LS1G/Y1G/YO!8{QbO,5>]O){QYO,5>]OOQO-E;o-E;oO!9VQWO,5?bO!9_QbO,5?bO!9fQWO,5?lOOQ!LS1G/_1G/_O!9nQpO'#DQOOQO'#Ix'#IxO){QYO'#IxO!:]QpO'#IxO!:zQpO'#D_O!;]Q&jO'#D_O!=hQYO'#D_O!=oQWO'#IwO!=wQWO,59xO!=|QWO'#E]O!>[QWO'#JSO!>dQWO,5:vO!>zQ&jO'#D_O){QYO,5?mO!?UQWO'#HvO!9fQWO,5?lOOQ!LQ1G0a1G0aO!@bQ&jO'#DxOOQ!LS,5:a,5:aO){QYO,5:aOIQQWO,5:aO!@iQWO,5:aO:aQWO,5:qO!-dQpO,5:qO!-lQ#tO,5:qO5yQ#tO,5:qOOQ!LS1G/j1G/jOOQ!LS1G/z1G/zOOQ!LQ'#ER'#ERO){QYO,5?jO!@tQ!LYO,5?jO!AVQ!LYO,5?jO!A^QWO,5?iO!AfQWO'#HxO!A^QWO,5?iOOQ!LQ1G0`1G0`O7YQWO,5?iOOQ!LS1G0^1G0^O!BQQ!LdO1G0^O!BqQ!LbO,5:nOOQ!LS'#Fo'#FoO!C_Q!LdO'#InOGQQYO1G0^O!E^Q#tO'#IyO!EhQWO,5:SO!EmQbO'#IzO){QYO'#IzO!EwQWO,5:XOOQ!LS'#DQ'#DQOOQ!LS1G0g1G0gO!E|QWO1G0gO!H_Q!LdO1G0iO!HfQ!LdO1G0iO!JyQ!LdO1G0iO!KQQ!LdO1G0iO!MXQ!LdO1G0iO!MlQ!LdO1G0iO#!]Q!LdO1G0iO#!dQ!LdO1G0iO#$wQ!LdO1G0iO#%OQ!LdO1G0iO#&sQ!LdO1G0iO#)mQ7^O'#CgO#+hQ7^O1G0yO#-cQ7^O'#ItOOQ!LS1G1P1G1PO#-vQ!LdO,5>gOOQ!LQ-E;y-E;yO#.gQ!LdO1G0iOOQ!LS1G0i1G0iO#0iQ!LdO1G0|O#1YQpO,5;qO#1bQpO,5;rO#1jQpO'#FYO#2RQWO'#FXOOQO'#JW'#JWOOQO'#Hy'#HyO#2WQpO1G1XOOQ!LS1G1X1G1XOOOO1G1d1G1dO#2iQ7^O'#IsO#2sQWO,5;{OLUQYO,5;{OOOO-E;x-E;xOOQ!LS1G1U1G1UOOQ!LS,5;},5;}O#2xQpO,5;}OOQ!LS,59`,59`OIQQWO'#IpOOOS'#Ho'#HoO#2}OSO,59dOOQ!LS,59d,59dO){QYO1G1jO!)]QWO'#H}O#3YQWO,5<cOOQ!LS,5<`,5<`OOQO'#GT'#GTOJaQWO,5<nOOQO'#GV'#GVOJaQWO,5<pOJaQWO,5<rOOQO1G1l1G1lO#3eQ`O'#CoO#3xQ`O,5<[O#4PQWO'#JZO5tQWO'#JZO#4_QWO,5<^OJaQWO,5<]O#4dQ`O'#FoO#4qQ`O'#J[O#4{QWO'#J[OIQQWO'#J[O#5QQWO,5<aOOQ!LQ'#Dc'#DcO#5VQWO'#FrO#5bQpO'#FzO!'iQ&jO'#FzO!'iQ&jO'#F|O#5sQWO'#F}O!)bQWO'#GQOOQO'#IP'#IPO#5xQ&jO,5<eOOQ!LS,5<e,5<eO#6PQ&jO'#FzO#6_Q&jO'#F{O#6gQ&jO'#F{OOQ!LS,5<s,5<sOJaQWO,5?XOJaQWO,5?XO#6lQWO'#IQO#6wQWO,5?WOOQ!LS'#Cg'#CgO#7kQ#tO,59gOOQ!LS,59g,59gO#8^Q#tO,5<SO#9PQ#tO,5<UO#9ZQWO,5<WOOQ!LS,5<X,5<XO#9`QWO,5<_O#9eQ#tO,5<dOGQQYO1G1kO#9uQWO1G1kOOQQ1G3r1G3rOOQ!LS1G/l1G/lONUQWO1G/lOOQQ1G2`1G2`OIQQWO1G2`O){QYO1G2`OIQQWO1G2`O#9zQWO1G2`O#:YQWO,59[O#;cQWO'#ESOOQ!LQ,5?T,5?TO#;mQ!LYO,5?TOOQQ1G.r1G.rO:aQWO1G.rO!-dQpO1G.rO!-lQ#tO1G.rO#;{QWO1G0^O#<QQWO'#CgO#<]QWO'#JcO#<eQWO,5=bO#<jQWO'#JcO#<oQWO'#JcO#<tQWO'#IYO#=SQWO,5?|O#=[QbO1G1ROOQ!LS1G1T1G1TO5tQWO1G2{O#=cQWO1G2{O#=hQWO1G2{O#=mQWO1G2{OOQQ1G2{1G2{O#=rQ#tO1G2`O7YQWO'#JQO7YQWO'#E]O7YQWO'#ISO#>TQ!LYO,5?yOOQQ1G2d1G2dO!0eQWO1G2jOIQQWO1G2gO#>`QWO1G2gOOQQ1G2h1G2hOIQQWO1G2hO#>eQWO1G2hO#>mQ&jO'#GfOOQQ1G2j1G2jO!'iQ&jO'#IUO!0jQ`O1G2mOOQQ1G2m1G2mOOQQ,5=W,5=WO#>uQ#tO,5=YO5tQWO,5=YO#5sQWO,5=]O5bQWO,5=]O!-dQpO,5=]O!-lQ#tO,5=]O5yQ#tO,5=]O#?WQWO'#JaO#?cQWO,5=^OOQQ1G.i1G.iO#?hQ!LYO1G.iO#?sQWO1G.iO!)RQWO1G.iO5lQ!LYO1G.iO#?xQbO,5@OO#@SQWO,5@OO#@_QYO,5=eO#@fQWO,5=eO7YQWO,5@OOOQQ1G2}1G2}O`QYO1G2}OOQQ1G3T1G3TOOQQ1G3V1G3VO:[QWO1G3XO#@kQYO1G3ZO#DfQYO'#HYOOQQ1G3^1G3^O:aQWO1G3dO#DsQWO1G3dO5lQ!LYO1G3hOOQQ1G3j1G3jOOQ!LQ'#Fv'#FvO5lQ!LYO1G3lO5lQ!LYO1G3nOOOS1G4{1G4{O#D{Q`O,5<RO#ETQbO1G3wO#E_QWO1G4|O#EgQWO1G5WO#EoQWO,5?dOLUQYO,5:wO7YQWO,5:wO:aQWO,59yOLUQYO,59yO!-dQpO,59yO#EtQ7^O,59yOOQO,5:w,5:wO#FOQ&jO'#HrO#FfQWO,5?cOOQ!LS1G/d1G/dO#FnQ&jO'#HwO#GSQWO,5?nOOQ!LQ1G0b1G0bO!;]Q&jO,59yO#G[QbO1G5XOOQO,5>b,5>bO7YQWO,5>bOOQO-E;t-E;tOOQ!LQ'#EO'#EOO#GfQ!LrO'#EPO!@YQ&jO'#DyOOQO'#Hu'#HuO#HQQ&jO,5:dOOQ!LS,5:d,5:dO#HXQ&jO'#DyO#HjQ&jO'#DyO#HqQ&jO'#EUO#HtQ&jO'#EPO#IRQ&jO'#EPO!@YQ&jO'#EPO#IfQWO1G/{O#IkQ`O1G/{OOQ!LS1G/{1G/{O){QYO1G/{OIQQWO1G/{OOQ!LS1G0]1G0]O:aQWO1G0]O!-dQpO1G0]O!-lQ#tO1G0]O#IrQ!LdO1G5UO){QYO1G5UO#JSQ!LYO1G5UO#JeQWO1G5TO7YQWO,5>dOOQO,5>d,5>dO#JmQWO,5>dOOQO-E;v-E;vO#JeQWO1G5TO#J{Q!LdO,59gO#LzQ!LdO,5<SO#N|Q!LdO,5<UO$#OQ!LdO,5<dOOQ!LS7+%x7+%xO$%WQ!LdO7+%xO$%wQWO'#HsO$&RQWO,5?eOOQ!LS1G/n1G/nO$&ZQYO'#HtO$&hQWO,5?fO$&pQbO,5?fOOQ!LS1G/s1G/sOOQ!LS7+&R7+&RO$&zQ7^O,5:YO){QYO7+&eO$'UQ7^O,5:QOOQO1G1]1G1]OOQO1G1^1G1^O$'cQMhO,5;tOLUQYO,5;sOOQO-E;w-E;wOOQ!LS7+&s7+&sOOOO7+'O7+'OOOOO1G1g1G1gO$'nQWO1G1gOOQ!LS1G1i1G1iO$'sQ`O,5?[OOOS-E;m-E;mOOQ!LS1G/O1G/OO$'zQ!LdO7+'UOOQ!LS,5>i,5>iO$(kQWO,5>iOOQ!LS1G1}1G1}P$(pQWO'#H}POQ!LS-E;{-E;{O$)aQ#tO1G2YO$*SQ#tO1G2[O$*^Q#tO1G2^OOQ!LS1G1v1G1vO$*eQWO'#H|O$*sQWO,5?uO$*sQWO,5?uO$*{QWO,5?uO$+WQWO,5?uOOQO1G1x1G1xO$+fQ#tO1G1wO$+vQWO'#IOO$,WQWO,5?vOIQQWO,5?vO$,`Q`O,5?vOOQ!LS1G1{1G1{O5lQ!LYO,5<fO5lQ!LYO,5<gO$,jQWO,5<gO#5nQWO,5<gO!-dQpO,5<fO$,oQWO,5<hO5lQ!LYO,5<iO$,jQWO,5<lOOQO-E;}-E;}OOQ!LS1G2P1G2PO!'iQ&jO,5<fO$,wQWO,5<gO!'iQ&jO,5<hO!'iQ&jO,5<gO$-SQ#tO1G4sO$-^Q#tO1G4sOOQO,5>l,5>lOOQO-E<O-E<OO!.dQ&jO,59iO){QYO,59iO$-kQWO1G1rOJaQWO1G1yO$-pQ!LdO7+'VOOQ!LS7+'V7+'VOGQQYO7+'VOOQ!LS7+%W7+%WO$.aQ`O'#J]O#IfQWO7+'zO$.kQWO7+'zO$.sQ`O7+'zOOQQ7+'z7+'zOIQQWO7+'zO){QYO7+'zOIQQWO7+'zOOQO1G.v1G.vO$.}Q!LbO'#CgO$/_Q!LbO,5<jO$/|QWO,5<jOOQ!LQ1G4o1G4oOOQQ7+$^7+$^O:aQWO7+$^O!-dQpO7+$^OGQQYO7+%xO$0RQWO'#IXO$0aQWO,5?}OOQO1G2|1G2|O5tQWO,5?}O$0aQWO,5?}O$0iQWO,5?}OOQO,5>t,5>tOOQO-E<W-E<WOOQ!LS7+&m7+&mO$0nQWO7+(gO5lQ!LYO7+(gO5tQWO7+(gO$0sQWO7+(gO$0xQWO7+'zOOQ!LQ,5>n,5>nOOQ!LQ-E<Q-E<QOOQQ7+(U7+(UO$1WQ!LbO7+(ROIQQWO7+(RO$1bQ`O7+(SOOQQ7+(S7+(SOIQQWO7+(SO$1iQWO'#J`O$1tQWO,5=QOOQO,5>p,5>pOOQO-E<S-E<SOOQQ7+(X7+(XO$2nQ&jO'#GoOOQQ1G2t1G2tOIQQWO1G2tO){QYO1G2tOIQQWO1G2tO$2uQWO1G2tO$3TQ#tO1G2tO5lQ!LYO1G2wO#5sQWO1G2wO5bQWO1G2wO!-dQpO1G2wO!-lQ#tO1G2wO$3fQWO'#IWO$3qQWO,5?{O$3yQ&jO,5?{OOQ!LQ1G2x1G2xOOQQ7+$T7+$TO$4OQWO7+$TO5lQ!LYO7+$TO$4TQWO7+$TO){QYO1G5jO){QYO1G5kO$4YQYO1G3PO$4aQWO1G3PO$4fQYO1G3PO$4mQ!LYO1G5jOOQQ7+(i7+(iO5lQ!LYO7+(sO`QYO7+(uOOQQ'#Jf'#JfOOQQ'#IZ'#IZO$4wQYO,5=tOOQQ,5=t,5=tO){QYO'#HZO$5UQWO'#H]OOQQ7+)O7+)OO$5ZQYO7+)OO7YQWO7+)OOOQQ7+)S7+)SOOQQ7+)W7+)WOOQQ7+)Y7+)YOOQO1G5O1G5OO$9XQ7^O1G0cO$9cQWO1G0cOOQO1G/e1G/eO$9nQ7^O1G/eO:aQWO1G/eOLUQYO'#D_OOQO,5>^,5>^OOQO-E;p-E;pOOQO,5>c,5>cOOQO-E;u-E;uO!-dQpO1G/eOOQO1G3|1G3|O:aQWO,5:eOOQO,5:k,5:kO){QYO,5:kO$9xQ!LYO,5:kO$:TQ!LYO,5:kO!-dQpO,5:eOOQO-E;s-E;sOOQ!LS1G0O1G0OO!@YQ&jO,5:eO$:cQ&jO,5:eO$:tQ!LrO,5:kO$;`Q&jO,5:eO!@YQ&jO,5:kOOQO,5:p,5:pO$;gQ&jO,5:kO$;tQ!LYO,5:kOOQ!LS7+%g7+%gO#IfQWO7+%gO#IkQ`O7+%gOOQ!LS7+%w7+%wO:aQWO7+%wO!-dQpO7+%wO$<YQ!LdO7+*pO){QYO7+*pOOQO1G4O1G4OO7YQWO1G4OO$<jQWO7+*oO$<rQ!LdO1G2YO$>tQ!LdO1G2[O$@vQ!LdO1G1wO$COQ#tO,5>_OOQO-E;q-E;qO$CYQbO,5>`O){QYO,5>`OOQO-E;r-E;rO$CdQWO1G5QO$ClQ7^O1G0^O$EsQ7^O1G0iO$EzQ7^O1G0iO$G{Q7^O1G0iO$HSQ7^O1G0iO$IwQ7^O1G0iO$J[Q7^O1G0iO$LiQ7^O1G0iO$LpQ7^O1G0iO$NqQ7^O1G0iO$NxQ7^O1G0iO%!mQ7^O1G0iO%#QQ!LdO<<JPO%#qQ7^O1G0iO%%aQ7^O'#InO%'^Q7^O1G0|OLUQYO'#F[OOQO'#JX'#JXOOQO1G1`1G1`O%'kQWO1G1_O%'pQ7^O,5>gOOOO7+'R7+'ROOOS1G4v1G4vOOQ!LS1G4T1G4TOJaQWO7+'xO%'zQWO,5>hO5tQWO,5>hOOQO-E;z-E;zO%(YQWO1G5aO%(YQWO1G5aO%(bQWO1G5aO%(mQ`O,5>jO%(wQWO,5>jOIQQWO,5>jOOQO-E;|-E;|O%(|Q`O1G5bO%)WQWO1G5bOOQO1G2Q1G2QOOQO1G2R1G2RO5lQ!LYO1G2RO$,jQWO1G2RO5lQ!LYO1G2QO%)`QWO1G2SOIQQWO1G2SOOQO1G2T1G2TO5lQ!LYO1G2WO!-dQpO1G2QO#5nQWO1G2RO%)eQWO1G2SO%)mQWO1G2ROJaQWO7+*_OOQ!LS1G/T1G/TO%)xQWO1G/TOOQ!LS7+'^7+'^O%)}Q#tO7+'eO%*_Q!LdO<<JqOOQ!LS<<Jq<<JqOIQQWO'#IRO%+OQWO,5?wOOQQ<<Kf<<KfOIQQWO<<KfO#IfQWO<<KfO%+WQWO<<KfO%+`Q`O<<KfOIQQWO1G2UOOQQ<<Gx<<GxO:aQWO<<GxO%+jQ!LdO<<IdOOQ!LS<<Id<<IdOOQO,5>s,5>sO%,ZQWO,5>sO#<oQWO,5>sOOQO-E<V-E<VO%,`QWO1G5iO%,`QWO1G5iO5tQWO1G5iO%,hQWO<<LROOQQ<<LR<<LRO%,mQWO<<LRO5lQ!LYO<<LRO){QYO<<KfOIQQWO<<KfOOQQ<<Km<<KmO$1WQ!LbO<<KmOOQQ<<Kn<<KnO$1bQ`O<<KnO%,rQ&jO'#ITO%,}QWO,5?zOLUQYO,5?zOOQQ1G2l1G2lO#GfQ!LrO'#EPO!@YQ&jO'#GpOOQO'#IV'#IVO%-VQ&jO,5=ZOOQQ,5=Z,5=ZO%-^Q&jO'#EPO%-iQ&jO'#EPO%.QQ&jO'#EPO%.[Q&jO'#GpO%.mQWO7+(`O%.rQWO7+(`O%.zQ`O7+(`OOQQ7+(`7+(`OIQQWO7+(`O){QYO7+(`OIQQWO7+(`O%/UQWO7+(`OOQQ7+(c7+(cO5lQ!LYO7+(cO#5sQWO7+(cO5bQWO7+(cO!-dQpO7+(cO%/dQWO,5>rOOQO-E<U-E<UOOQO'#Gs'#GsO%/oQWO1G5gO5lQ!LYO<<GoOOQQ<<Go<<GoO%/wQWO<<GoO%/|QWO7++UO%0RQWO7++VOOQQ7+(k7+(kO%0WQWO7+(kO%0]QYO7+(kO%0dQWO7+(kO){QYO7++UO){QYO7++VOOQQ<<L_<<L_OOQQ<<La<<LaOOQQ-E<X-E<XOOQQ1G3`1G3`O%0iQWO,5=uOOQQ,5=w,5=wO:aQWO<<LjO%0nQWO<<LjOLUQYO7+%}OOQO7+%P7+%PO%0sQ7^O1G5XO:aQWO7+%POOQO1G0P1G0PO%0}Q!LdO1G0VOOQO1G0V1G0VO){QYO1G0VO%1XQ!LYO1G0VO:aQWO1G0PO!-dQpO1G0PO!@YQ&jO1G0PO%1dQ!LYO1G0VO%1rQ&jO1G0PO%2TQ!LYO1G0VO%2iQ!LrO1G0VO%2sQ&jO1G0PO!@YQ&jO1G0VOOQ!LS<<IR<<IROOQ!LS<<Ic<<IcO:aQWO<<IcO%2zQ!LdO<<N[OOQO7+)j7+)jO%3[Q!LdO7+'eO%5dQbO1G3zO%5nQ7^O7+%xO%5{Q7^O,59gO%7xQ7^O,5<SO%9uQ7^O,5<UO%;rQ7^O,5<dO%=bQ7^O7+'UO%=oQ7^O7+'VO%=|QWO,5;vOOQO7+&y7+&yO%>RQ#tO<<KdOOQO1G4S1G4SO%>cQWO1G4SO%>nQWO1G4SO%>|QWO7+*{O%>|QWO7+*{OIQQWO1G4UO%?UQ`O1G4UO%?`QWO7+*|OOQO7+'m7+'mO5lQ!LYO7+'mOOQO7+'l7+'lO$,jQWO7+'nO%?hQ`O7+'nOOQO7+'r7+'rO5lQ!LYO7+'lO$,jQWO7+'mO%?oQWO7+'nOIQQWO7+'nO#5nQWO7+'mO%?tQ#tO<<MyOOQ!LS7+$o7+$oO%@OQ`O,5>mOOQO-E<P-E<PO#IfQWOANAQOOQQANAQANAQOIQQWOANAQO%@YQ!LbO7+'pOOQQAN=dAN=dO5tQWO1G4_OOQO1G4_1G4_O%@gQWO1G4_O%@lQWO7++TO%@lQWO7++TO5lQ!LYOANAmO%@tQWOANAmOOQQANAmANAmO%@yQWOANAQO%ARQ`OANAQOOQQANAXANAXOOQQANAYANAYO%A]QWO,5>oOOQO-E<R-E<RO%AhQ7^O1G5fO#5sQWO,5=[O5bQWO,5=[O!-dQpO,5=[OOQO-E<T-E<TOOQQ1G2u1G2uO$:tQ!LrO,5:kO!@YQ&jO,5=[O%ArQ&jO,5=[O%BTQ&jO,5:kOOQQ<<Kz<<KzOIQQWO<<KzO%.mQWO<<KzO%B_QWO<<KzO%BgQ`O<<KzO){QYO<<KzOIQQWO<<KzOOQQ<<K}<<K}O5lQ!LYO<<K}O#5sQWO<<K}O5bQWO<<K}O%BqQ&jO1G4^O%BvQWO7++ROOQQAN=ZAN=ZO5lQ!LYOAN=ZOOQQ<<Np<<NpOOQQ<<Nq<<NqOOQQ<<LV<<LVO%COQWO<<LVO%CTQYO<<LVO%C[QWO<<NpO%CaQWO<<NqOOQQ1G3a1G3aOOQQANBUANBUO:aQWOANBUO%CfQ7^O<<IiOOQO<<Hk<<HkOOQO7+%q7+%qO%0}Q!LdO7+%qO){QYO7+%qOOQO7+%k7+%kO:aQWO7+%kO!-dQpO7+%kO%CpQ!LYO7+%qO!@YQ&jO7+%kO%C{Q!LYO7+%qO%DZQ&jO7+%kO%DlQ!LYO7+%qOOQ!LSAN>}AN>}O%EQQ!LdO<<KdO%GYQ7^O<<JPO%GgQ7^O1G1wO%IVQ7^O1G2YO%KSQ7^O1G2[O%MPQ7^O<<JqO%M^Q7^O<<IdOOQO1G1b1G1bOOQO7+)n7+)nO%MkQWO7+)nO%MvQWO<<NgO%NOQ`O7+)pOOQO<<KX<<KXO5lQ!LYO<<KYO$,jQWO<<KYOOQO<<KW<<KWO5lQ!LYO<<KXO%NYQ`O<<KYO$,jQWO<<KXOOQQG26lG26lO#IfQWOG26lOOQO7+)y7+)yO5tQWO7+)yO%NaQWO<<NoOOQQG27XG27XO5lQ!LYOG27XOIQQWOG26lOLUQYO1G4ZO%NiQWO7++QO5lQ!LYO1G2vO#5sQWO1G2vO5bQWO1G2vO!-dQpO1G2vO!@YQ&jO1G2vO%2iQ!LrO1G0VO%NqQ&jO1G2vO%.mQWOANAfOOQQANAfANAfOIQQWOANAfO& SQWOANAfO& [Q`OANAfOOQQANAiANAiO5lQ!LYOANAiO#5sQWOANAiOOQO'#Gt'#GtOOQO7+)x7+)xOOQQG22uG22uOOQQANAqANAqO& fQWOANAqOOQQAND[AND[OOQQAND]AND]O& kQYOG27pOOQO<<I]<<I]O%0}Q!LdO<<I]OOQO<<IV<<IVO:aQWO<<IVO){QYO<<I]O!-dQpO<<IVO&%iQ!LYO<<I]O!@YQ&jO<<IVO&%tQ!LYO<<I]O&&SQ7^O7+'eOOQO<<MY<<MYOOQOAN@tAN@tO5lQ!LYOAN@tOOQOAN@sAN@sO$,jQWOAN@tO5lQ!LYOAN@sOOQQLD,WLD,WOOQO<<Me<<MeOOQQLD,sLD,sO#IfQWOLD,WO&'rQ7^O7+)uOOQO7+(b7+(bO5lQ!LYO7+(bO#5sQWO7+(bO5bQWO7+(bO!-dQpO7+(bO!@YQ&jO7+(bOOQQG27QG27QO%.mQWOG27QOIQQWOG27QOOQQG27TG27TO5lQ!LYOG27TOOQQG27]G27]O:aQWOLD-[OOQOAN>wAN>wOOQOAN>qAN>qO%0}Q!LdOAN>wO:aQWOAN>qO){QYOAN>wO!-dQpOAN>qO&'|Q!LYOAN>wO&(XQ7^O<<KdOOQOG26`G26`O5lQ!LYOG26`OOQOG26_G26_OOQQ!$( r!$( rOOQO<<K|<<K|O5lQ!LYO<<K|O#5sQWO<<K|O5bQWO<<K|O!-dQpO<<K|OOQQLD,lLD,lO%.mQWOLD,lOOQQLD,oLD,oOOQQ!$(!v!$(!vOOQOG24cG24cOOQOG24]G24]O%0}Q!LdOG24cO:aQWOG24]O){QYOG24cOOQOLD+zLD+zOOQOANAhANAhO5lQ!LYOANAhO#5sQWOANAhO5bQWOANAhOOQQ!$(!W!$(!WOOQOLD)}LD)}OOQOLD)wLD)wO%0}Q!LdOLD)}OOQOG27SG27SO5lQ!LYOG27SO#5sQWOG27SOOQO!$'Mi!$'MiOOQOLD,nLD,nO5lQ!LYOLD,nOOQO!$(!Y!$(!YOLUQYO'#DnO&)wQbO'#IsOLUQYO'#DfO&*OQ!LdO'#CgO&*iQbO'#CgO&*yQYO,5:rOLUQYO,5:}OLUQYO,5:}OLUQYO,5:}OLUQYO,5:}OLUQYO,5:}OLUQYO,5:}OLUQYO,5:}OLUQYO,5:}OLUQYO,5:}OLUQYO,5:}OLUQYO,5:}OLUQYO'#H{O&,yQWO,5<RO&.]QWO,5:}OLUQYO,5;bO!)RQWO'#C{O!)RQWO'#C{OIQQWO'#FhO&-RQWO'#FhOIQQWO'#FjO&-RQWO'#FjOIQQWO'#FxO&-RQWO'#FxOLUQYO,5?mO&*yQYO1G0^O&.dQ7^O'#CgOLUQYO1G1jOIQQWO,5<nO&-RQWO,5<nOIQQWO,5<pO&-RQWO,5<pOIQQWO,5<]O&-RQWO,5<]O&*yQYO1G1kOLUQYO7+&eOIQQWO1G1yO&-RQWO1G1yO&*yQYO7+'VO&*yQYO7+%xOIQQWO7+'xO&-RQWO7+'xO&.nQWO'#EWO&.sQWO'#EWO&.{QWO'#EvO&/QQWO'#EcO&/VQWO'#JRO&/bQWO'#JPO&/mQWO,5:rO&/rQ#tO,5<OO&/yQWO'#FqO&0OQWO'#FqO&0TQWO,5<PO&0]QWO,5:rO&0eQ7^O1G0yO&0lQWO,5<_O&0qQWO,5<_O&0vQWO1G1kO&0{QWO1G0^O&1QQ#tO1G2^O&1XQ#tO1G2^O4TQWO'#FfO5bQWO'#FeOBtQWO'#EVOLUQYO,5;_O!)bQWO'#FsO!)bQWO'#FsOJaQWO,5<rOJaQWO,5<r", -+ stateData: "&2W~O'VOS'WOSSOSTOS~OPTOQTOWyO]cO^hOanObmOgcOiTOjcOkcOnTOpTOuROwcOxcOycO!PSO!ZkO!`UO!cTO!dTO!eTO!fTO!gTO!jlO#`sO#ppO#t^O$}qO%PtO%RrO%SrO%VuO%XvO%[wO%]wO%_xO%lzO%r{O%t|O%v}O%x!OO%{!PO&R!QO&V!RO&X!SO&Z!TO&]!UO&_!VO'YPO'cQO'oYO'|aO~OPZXYZX^ZXiZXrZXsZXuZX}ZX!]ZX!^ZX!`ZX!fZX!wZX#ScX#WZX#XZX#YZX#ZZX#[ZX#]ZX#^ZX#_ZX#aZX#cZX#eZX#fZX#kZX'TZX'cZX'pZX'wZX'xZX~O!X$jX~P$zO'Q!XO'R!WO'S!ZO~OPTOQTO]cOa!jOb!iOgcOiTOjcOkcOnTOpTOuROwcOxcOycO!P!bO!ZkO!`UO!cTO!dTO!eTO!fTO!gTO!j!hO#p!kO#t^O'Y![O'cQO'oYO'|aO~O|!`O}!]Oz'jPz'tP~P'dO!O!lO~P`OPTOQTO]cOa!jOb!iOgcOiTOjcOkcOnTOpTOuROwcOxcOycO!P!bO!ZkO!`UO!cTO!dTO!eTO!fTO!gTO!j!hO#p!kO#t^O'Y9XO'cQO'oYO'|aO~OPTOQTO]cOa!jOb!iOgcOiTOjcOkcOnTOpTOuROwcOxcOycO!P!bO!ZkO!`UO!cTO!dTO!eTO!fTO!gTO!j!hO#p!kO#t^O'cQO'oYO'|aO~O|!qO#Q!tO#R!qO'Y9YO!_'qP~P+{O#S!uO~O!X!vO#S!uO~OP#]OY#cOi#QOr!zOs!zOu!{O}#aO!]#SO!^!xO!`!yO!f#]O#W#OO#X#PO#Y#PO#Z#PO#[#RO#]#SO#^#SO#_#SO#a#TO#c#VO#e#XO#f#YO'cQO'p#ZO'w!|O'x!}O~O^'gX'T'gX!_'gXz'gX!P'gX%O'gX!X'gX~P.jO!w#dO#k#dOP'hXY'hX^'hXi'hXr'hXs'hXu'hX}'hX!]'hX!^'hX!`'hX!f'hX#W'hX#X'hX#Y'hX#Z'hX#['hX#]'hX#^'hX#a'hX#c'hX#e'hX#f'hX'c'hX'p'hX'w'hX'x'hX~O#_'hX'T'hXz'hX!_'hX'e'hX!P'hX%O'hX!X'hX~P0zO!w#dO~O#v#fO#x#eO$P#kO~O!P#lO#t^O$S#mO$U#oO~O]#rOg$POi#sOj#rOk#rOn$QOp$ROu#yO!P#zO!Z$WO!`#wO#R$XO#p$UO$]$SO$_$TO$b$VO'Y#qO'c#tO'^'`P~O!`$YO~O!X$[O~O^$]O'T$]O~O'Y$aO~O!`$YO'Y$aO'Z$cO'_$dO~Ob$jO!`$YO'Y$aO~O#_#SO~O]$sOr$oO!P$lO!`$nO%P$rO'Y$aO'Z$cO[(UP~O!j$tO~Ou$uO!P$vO'Y$aO~Ou$uO!P$vO%X$zO'Y$aO~O'Y${O~O#`sO%PtO%RrO%SrO%VuO%XvO%[wO%]wO~Oa%UOb%TO!j%RO$}%SO%a%QO~P7xOa%XObmO!P%WO!jlO#`sO$}qO%RrO%SrO%VuO%XvO%[wO%]wO%_xO~O_%[O!w%_O%P%YO'Z$cO~P8wO!`%`O!c%dO~O!`%eO~O!PSO~O^$]O'P%mO'T$]O~O^$]O'P%pO'T$]O~O^$]O'P%rO'T$]O~O'Q!XO'R!WO'S%vO~OPZXYZXiZXrZXsZXuZX}ZX}cX!]ZX!^ZX!`ZX!fZX!wZX!wcX#ScX#WZX#XZX#YZX#ZZX#[ZX#]ZX#^ZX#_ZX#aZX#cZX#eZX#fZX#kZX'cZX'pZX'wZX'xZX~OzZXzcX~P;dO|%xOz&eX}&eX~P){O}!]Oz'jX~OP#]OY#cOi#QOr!zOs!zOu!{O}!]O!]#SO!^!xO!`!yO!f#]O#W#OO#X#PO#Y#PO#Z#PO#[#RO#]#SO#^#SO#_#SO#a#TO#c#VO#e#XO#f#YO'cQO'p#ZO'w!|O'x!}O~Oz'jX~P>ZOz%}O~Ou&QO!S&[O!T&TO!U&TO'Z$cO~O]&ROj&RO|&UO'f&OO!O'kP!O'vP~P@^Oz'sX}'sX!X'sX!_'sX'p'sX~O!w'sX#S!{X!O'sX~PAVO!w&]Oz'uX}'uX~O}&^Oz'tX~Oz&`O~O!w#dO~PAVOR&dO!P&aO!k&cO'Y$aO~Ob&iO!`$YO'Y$aO~Or$oO!`$nO~O!O&jO~P`Or!zOs!zOu!{O!^!xO!`!yO'cQOP!baY!bai!ba}!ba!]!ba!f!ba#W!ba#X!ba#Y!ba#Z!ba#[!ba#]!ba#^!ba#_!ba#a!ba#c!ba#e!ba#f!ba'p!ba'w!ba'x!ba~O^!ba'T!baz!ba!_!ba'e!ba!P!ba%O!ba!X!ba~PC`O!_&kO~O!X!vO!w&mO'p&lO}'rX^'rX'T'rX~O!_'rX~PExO}&qO!_'qX~O!_&sO~Ou$uO!P$vO#R&tO'Y$aO~OPTOQTO]cOa!jOb!iOgcOiTOjcOkcOnTOpTOuROwcOxcOycO!PSO!ZkO!`UO!cTO!dTO!eTO!fTO!gTO!j!hO#p!kO#t^O'Y9XO'cQO'oYO'|aO~O]#rOg$POi#sOj#rOk#rOn$QOp9kOu#yO!P#zO!Z:nO!`#wO#R9qO#p$UO$]9mO$_9oO$b$VO'Y&xO'c#tO~O#S&zO~O]#rOg$POi#sOj#rOk#rOn$QOp$ROu#yO!P#zO!Z$WO!`#wO#R$XO#p$UO$]$SO$_$TO$b$VO'Y&xO'c#tO~O'^'mP~PJaO|'OO!_'nP~P){O'f'QO'oYO~OP9UOQ9UO]cOa:lOb!iOgcOi9UOjcOkcOn9UOp9UOuROwcOxcOycO!P!bO!Z9WO!`UO!c9UO!d9UO!e9UO!f9UO!g9UO!j!hO#p!kO#t^O'Y'`O'cQO'oYO'|:jO~O!`!yO~O}#aO^$Za'T$Za!_$Zaz$Za!P$Za%O$Za!X$Za~O#`'gO~PIQOr'jO!X'iO!P#wX#s#wX#v#wX#x#wX$P#wX~O!X'iO!P'yX#s'yX#v'yX#x'yX$P'yX~Or'jO~P! eOr'jO!P'yX#s'yX#v'yX#x'yX$P'yX~O!P'lO#s'pO#v'kO#x'kO$P'qO~O|'tO~PLUO#v#fO#x#eO$P'wO~Or$cXu$cX!^$cX'p$cX'w$cX'x$cX~OReX}eX!weX'^eX'^$cX~P!#ZOj'yO~O'Q'{O'R'zO'S'}O~Or(POu(QO'p#ZO'w(SO'x(UO~O'^(OO~P!$dO'^(XO~O]#rOg$POi#sOj#rOk#rOn$QOp9kOu#yO!P#zO!Z:nO!`#wO#R9qO#p$UO$]9mO$_9oO$b$VO'c#tO~O|(]O'Y(YO!_'}P~P!%RO#S(_O~O|(cO'Y(`Oz(OP~P!%RO^(lOi(qOu(iO!S(oO!T(hO!U(hO!`(fO!t(pO$u(kO'Z$cO'f(eO~O!O(nO~P!&yO!^!xOr'bXu'bX'p'bX'w'bX'x'bX}'bX!w'bX~O'^'bX#i'bX~P!'uOR(tO!w(sO}'aX'^'aX~O}(uO'^'`X~O'Y(wO~O!`(|O~O'Y&xO~O!`(fO~Ou$uO|!qO!P$vO#Q!tO#R!qO'Y$aO!_'qP~O!X!vO#S)QO~OP#]OY#cOi#QOr!zOs!zOu!{O!]#SO!^!xO!`!yO!f#]O#W#OO#X#PO#Y#PO#Z#PO#[#RO#]#SO#^#SO#_#SO#a#TO#c#VO#e#XO#f#YO'cQO'p#ZO'w!|O'x!}O~O^!Ya}!Ya'T!Yaz!Ya!_!Ya'e!Ya!P!Ya%O!Ya!X!Ya~P!*WOR)YO!P&aO!k)XO%O)WO'_$dO~O'Y${O'^'`P~O!X)]O!P']X^']X'T']X~O!`$YO'_$dO~O!`$YO'Y$aO'_$dO~O!X!vO#S&zO~O%P)iO'Y)eO!O(VP~O})jO[(UX~O'f'QO~OY)nO~O[)oO~O!P$lO'Y$aO'Z$cO[(UP~Ou$uO|)tO!P$vO'Y$aOz'tP~O]&XOj&XO|)uO'f'QO!O'vP~O})vO^(RX'T(RX~O!w)zO'_$dO~OR)}O!P#zO'_$dO~O!P*PO~Or*RO!PSO~O!j*WO~Ob*]O~O'Y(wO!O(TP~Ob$jO~O%PtO'Y${O~P8wOY*cO[*bO~OPTOQTO]cOanObmOgcOiTOjcOkcOnTOpTOuROwcOxcOycO!ZkO!`UO!cTO!dTO!eTO!fTO!gTO!jlO#t^O$}qO'cQO'oYO'|aO~O!P!bO#p!kO'Y9XO~P!1mO[*bO^$]O'T$]O~O^*gO#`*iO%R*iO%S*iO~P){O!`%`O~O%r*nO~O!P*pO~O&S*sO&T*rOP&QaQ&QaW&Qa]&Qa^&Qaa&Qab&Qag&Qai&Qaj&Qak&Qan&Qap&Qau&Qaw&Qax&Qay&Qa!P&Qa!Z&Qa!`&Qa!c&Qa!d&Qa!e&Qa!f&Qa!g&Qa!j&Qa#`&Qa#p&Qa#t&Qa$}&Qa%P&Qa%R&Qa%S&Qa%V&Qa%X&Qa%[&Qa%]&Qa%_&Qa%l&Qa%r&Qa%t&Qa%v&Qa%x&Qa%{&Qa&R&Qa&V&Qa&X&Qa&Z&Qa&]&Qa&_&Qa'O&Qa'Y&Qa'c&Qa'o&Qa'|&Qa!O&Qa%y&Qa_&Qa&O&Qa~O'Y*vO~O'e*yO~Oz&ea}&ea~P!*WO}!]Oz'ja~Oz'ja~P>ZO}&^Oz'ta~O}tX}!VX!OtX!O!VX!XtX!X!VX!`!VX!wtX'_!VX~O!X+QO!w+PO}#PX}'lX!O#PX!O'lX!X'lX!`'lX'_'lX~O!X+SO!`$YO'_$dO}!RX!O!RX~O]&POj&POu&QO'f(eO~OP9UOQ9UO]cOa:lOb!iOgcOi9UOjcOkcOn9UOp9UOuROwcOxcOycO!P!bO!Z9WO!`UO!c9UO!d9UO!e9UO!f9UO!g9UO!j!hO#p!kO#t^O'cQO'oYO'|:jO~O'Y9uO~P!;kO}+WO!O'kX~O!O+YO~O!X+QO!w+PO}#PX!O#PX~O}+ZO!O'vX~O!O+]O~O]&POj&POu&QO'Z$cO'f(eO~O!T+^O!U+^O~P!>iOu$uO|+aO!P$vO'Y$aOz&jX}&jX~O^+fO!S+iO!T+eO!U+eO!n+mO!o+kO!p+lO!q+jO!t+nO'Z$cO'f(eO'o+cO~O!O+hO~P!?jOR+sO!P&aO!k+rO~O!w+yO}'ra!_'ra^'ra'T'ra~O!X!vO~P!@tO}&qO!_'qa~Ou$uO|+|O!P$vO#Q,OO#R+|O'Y$aO}&lX!_&lX~O^!zi}!zi'T!ziz!zi!_!zi'e!zi!P!zi%O!zi!X!zi~P!*WO#S!va}!va!_!va!w!va!P!va^!va'T!vaz!va~P!$dO#S'bXP'bXY'bX^'bXi'bXs'bX!]'bX!`'bX!f'bX#W'bX#X'bX#Y'bX#Z'bX#['bX#]'bX#^'bX#_'bX#a'bX#c'bX#e'bX#f'bX'T'bX'c'bX!_'bXz'bX!P'bX'e'bX%O'bX!X'bX~P!'uO},XO'^'mX~P!$dO'^,ZO~O},[O!_'nX~P!*WO!_,_O~Oz,`O~OP#]Or!zOs!zOu!{O!^!xO!`!yO!f#]O'cQOY#Vi^#Vii#Vi}#Vi!]#Vi#X#Vi#Y#Vi#Z#Vi#[#Vi#]#Vi#^#Vi#_#Vi#a#Vi#c#Vi#e#Vi#f#Vi'T#Vi'p#Vi'w#Vi'x#Viz#Vi!_#Vi'e#Vi!P#Vi%O#Vi!X#Vi~O#W#Vi~P!FRO#W#OO~P!FROP#]Or!zOs!zOu!{O!^!xO!`!yO!f#]O#W#OO#X#PO#Y#PO#Z#PO'cQOY#Vi^#Vi}#Vi!]#Vi#[#Vi#]#Vi#^#Vi#_#Vi#a#Vi#c#Vi#e#Vi#f#Vi'T#Vi'p#Vi'w#Vi'x#Viz#Vi!_#Vi'e#Vi!P#Vi%O#Vi!X#Vi~Oi#Vi~P!HmOi#QO~P!HmOP#]Oi#QOr!zOs!zOu!{O!^!xO!`!yO!f#]O#W#OO#X#PO#Y#PO#Z#PO#[#RO'cQO^#Vi}#Vi#a#Vi#c#Vi#e#Vi#f#Vi'T#Vi'p#Vi'w#Vi'x#Viz#Vi!_#Vi'e#Vi!P#Vi%O#Vi!X#Vi~OY#Vi!]#Vi#]#Vi#^#Vi#_#Vi~P!KXOY#cO!]#SO#]#SO#^#SO#_#SO~P!KXOP#]OY#cOi#QOr!zOs!zOu!{O!]#SO!^!xO!`!yO!f#]O#W#OO#X#PO#Y#PO#Z#PO#[#RO#]#SO#^#SO#_#SO#a#TO'cQO^#Vi}#Vi#c#Vi#e#Vi#f#Vi'T#Vi'p#Vi'x#Viz#Vi!_#Vi'e#Vi!P#Vi%O#Vi!X#Vi~O'w#Vi~P!NPO'w!|O~P!NPOP#]OY#cOi#QOr!zOs!zOu!{O!]#SO!^!xO!`!yO!f#]O#W#OO#X#PO#Y#PO#Z#PO#[#RO#]#SO#^#SO#_#SO#a#TO#c#VO'cQO'w!|O^#Vi}#Vi#e#Vi#f#Vi'T#Vi'p#Viz#Vi!_#Vi'e#Vi!P#Vi%O#Vi!X#Vi~O'x#Vi~P#!kO'x!}O~P#!kOP#]OY#cOi#QOr!zOs!zOu!{O!]#SO!^!xO!`!yO!f#]O#W#OO#X#PO#Y#PO#Z#PO#[#RO#]#SO#^#SO#_#SO#a#TO#c#VO#e#XO'cQO'w!|O'x!}O~O^#Vi}#Vi#f#Vi'T#Vi'p#Viz#Vi!_#Vi'e#Vi!P#Vi%O#Vi!X#Vi~P#%VOPZXYZXiZXrZXsZXuZX!]ZX!^ZX!`ZX!fZX!wZX#ScX#WZX#XZX#YZX#ZZX#[ZX#]ZX#^ZX#_ZX#aZX#cZX#eZX#fZX#kZX'cZX'pZX'wZX'xZX}ZX!OZX~O#iZX~P#'jOP#]OY9iOi9^Or!zOs!zOu!{O!]9`O!^!xO!`!yO!f#]O#W9[O#X9]O#Y9]O#Z9]O#[9_O#]9`O#^9`O#_9`O#a9aO#c9cO#e9eO#f9fO'cQO'p#ZO'w!|O'x!}O~O#i,bO~P#)tOP'hXY'hXi'hXr'hXs'hXu'hX!]'hX!^'hX!`'hX!f'hX#W'hX#X'hX#Y'hX#Z'hX#['hX#]'hX#^'hX#a'hX#c'hX#e'hX#f'hX'c'hX'p'hX'w'hX'x'hX}'hX~O!w9jO#k9jO#_'hX#i'hX!O'hX~P#+oO^&oa}&oa'T&oa!_&oa'e&oaz&oa!P&oa%O&oa!X&oa~P!*WOP#ViY#Vi^#Vii#Vis#Vi}#Vi!]#Vi!^#Vi!`#Vi!f#Vi#W#Vi#X#Vi#Y#Vi#Z#Vi#[#Vi#]#Vi#^#Vi#_#Vi#a#Vi#c#Vi#e#Vi#f#Vi'T#Vi'c#Viz#Vi!_#Vi'e#Vi!P#Vi%O#Vi!X#Vi~P!$dO^#ji}#ji'T#jiz#ji!_#ji'e#ji!P#ji%O#ji!X#ji~P!*WO#v,dO#x,dO~O#v,eO#x,eO~O!X'iO!w,fO!P#|X#s#|X#v#|X#x#|X$P#|X~O|,gO~O!P'lO#s,iO#v'kO#x'kO$P,jO~O}9gO!O'gX~P#)tO!O,kO~O$P,mO~O'Q'{O'R'zO'S,pO~O],sOj,sOz,tO~O}cX!XcX!_cX!_$cX'pcX~P!#ZO!_,zO~P!$dO},{O!X!vO'p&lO!_'}X~O!_-QO~Oz$cX}$cX!X$jX~P!#ZO}-SOz(OX~P!$dO!X-UO~Oz-WO~O|(]O'Y$aO!_'}P~Oi-[O!X!vO!`$YO'_$dO'p&lO~O!X)]O~O!O-bO~P!&yO!T-cO!U-cO'Z$cO'f(eO~Ou-eO'f(eO~O!t-fO~O'Y${O}&tX'^&tX~O}(uO'^'`a~Or-kOs-kOu-lO'poa'woa'xoa}oa!woa~O'^oa#ioa~P#7POr(POu(QO'p$[a'w$[a'x$[a}$[a!w$[a~O'^$[a#i$[a~P#7uOr(POu(QO'p$^a'w$^a'x$^a}$^a!w$^a~O'^$^a#i$^a~P#8hO]-mO~O#S-nO~O'^$la}$la#i$la!w$la~P!$dO#S-qO~OR-zO!P&aO!k-yO%O-xO~O'^-{O~O]#rOi#sOj#rOk#rOn$QOp9kOu#yO!P#zO!Z:nO!`#wO#R9qO#p$UO$]9mO$_9oO$b$VO'c#tO~Og-}O'Y-|O~P#:_O!X)]O!P']a^']a'T']a~O#S.TO~OYZX}cX!OcX~O}.UO!O(VX~O!O.WO~OY.XO~O'Y)eO~O!P$lO'Y$aO[&|X}&|X~O})jO[(Ua~O!_.^O~P!*WO].`O~OY.aO~O[.bO~OR-zO!P&aO!k-yO%O-xO'_$dO~O})vO^(Ra'T(Ra~O!w.hO~OR.kO!P#zO~O'f'QO!O(SP~OR.uO!P.qO!k.tO%O.sO'_$dO~OY/PO}.}O!O(TX~O!O/QO~O[/SO^$]O'T$]O~O]/TO~O#_/VO%p/WO~P0zO!w#dO#_/VO%p/WO~O^/XO~P){O^/ZO~O%y/_OP%wiQ%wiW%wi]%wi^%wia%wib%wig%wii%wij%wik%win%wip%wiu%wiw%wix%wiy%wi!P%wi!Z%wi!`%wi!c%wi!d%wi!e%wi!f%wi!g%wi!j%wi#`%wi#p%wi#t%wi$}%wi%P%wi%R%wi%S%wi%V%wi%X%wi%[%wi%]%wi%_%wi%l%wi%r%wi%t%wi%v%wi%x%wi%{%wi&R%wi&V%wi&X%wi&Z%wi&]%wi&_%wi'O%wi'Y%wi'c%wi'o%wi'|%wi!O%wi_%wi&O%wi~O_/eO!O/cO&O/dO~P`O!PSO!`/hO~O}#aO'e$Za~Oz&ei}&ei~P!*WO}!]Oz'ji~O}&^Oz'ti~Oz/lO~O}!Ra!O!Ra~P#)tO]&POj&PO|/rO'f(eO}&fX!O&fX~P@^O}+WO!O'ka~O]&XOj&XO|)uO'f'QO}&kX!O&kX~O}+ZO!O'va~Oz'ui}'ui~P!*WO^$]O!X!vO!`$YO!f/}O!w/{O'T$]O'_$dO'p&lO~O!O0QO~P!?jO!T0RO!U0RO'Z$cO'f(eO'o+cO~O!S0SO~P#HXO!PSO!S0SO!q0UO!t0VO~P#HXO!S0SO!o0XO!p0XO!q0UO!t0VO~P#HXO!P&aO~O!P&aO~P!$dO}'ri!_'ri^'ri'T'ri~P!*WO!w0bO}'ri!_'ri^'ri'T'ri~O}&qO!_'qi~Ou$uO!P$vO#R0dO'Y$aO~O#SoaPoaYoa^oaioa!]oa!^oa!`oa!foa#Woa#Xoa#Yoa#Zoa#[oa#]oa#^oa#_oa#aoa#coa#eoa#foa'Toa'coa!_oazoa!Poa'eoa%Ooa!Xoa~P#7PO#S$[aP$[aY$[a^$[ai$[as$[a!]$[a!^$[a!`$[a!f$[a#W$[a#X$[a#Y$[a#Z$[a#[$[a#]$[a#^$[a#_$[a#a$[a#c$[a#e$[a#f$[a'T$[a'c$[a!_$[az$[a!P$[a'e$[a%O$[a!X$[a~P#7uO#S$^aP$^aY$^a^$^ai$^as$^a!]$^a!^$^a!`$^a!f$^a#W$^a#X$^a#Y$^a#Z$^a#[$^a#]$^a#^$^a#_$^a#a$^a#c$^a#e$^a#f$^a'T$^a'c$^a!_$^az$^a!P$^a'e$^a%O$^a!X$^a~P#8hO#S$laP$laY$la^$lai$las$la}$la!]$la!^$la!`$la!f$la#W$la#X$la#Y$la#Z$la#[$la#]$la#^$la#_$la#a$la#c$la#e$la#f$la'T$la'c$la!_$laz$la!P$la!w$la'e$la%O$la!X$la~P!$dO^!zq}!zq'T!zqz!zq!_!zq'e!zq!P!zq%O!zq!X!zq~P!*WO}&gX'^&gX~PJaO},XO'^'ma~O|0lO}&hX!_&hX~P){O},[O!_'na~O},[O!_'na~P!*WO#i!ba!O!ba~PC`O#i!Ya}!Ya!O!Ya~P#)tO!P1PO#t^O#}1QO~O!O1UO~O'e1VO~P!$dO^$Wq}$Wq'T$Wqz$Wq!_$Wq'e$Wq!P$Wq%O$Wq!X$Wq~P!*WOz1WO~O],sOj,sO~Or(POu(QO'x(UO'p$vi'w$vi}$vi!w$vi~O'^$vi#i$vi~P$(xOr(POu(QO'p$xi'w$xi'x$xi}$xi!w$xi~O'^$xi#i$xi~P$)kO#i1XO~P!$dO|1ZO'Y$aO}&pX!_&pX~O},{O!_'}a~O},{O!X!vO!_'}a~O},{O!X!vO'p&lO!_'}a~O'^$ei}$ei#i$ei!w$ei~P!$dO|1bO'Y(`Oz&rX}&rX~P!%RO}-SOz(Oa~O}-SOz(Oa~P!$dO!X!vO~O!X!vO#_1lO~Oi1pO!X!vO'p&lO~O}'ai'^'ai~P!$dO!w1sO}'ai'^'ai~P!$dO!_1vO~O^$Xq}$Xq'T$Xqz$Xq!_$Xq'e$Xq!P$Xq%O$Xq!X$Xq~P!*WO}1zO!P(PX~P!$dO!P&aO%O1}O~O!P&aO%O1}O~P!$dO!P$cX$sZX^$cX'T$cX~P!#ZO$s2ROrfXufX!PfX'pfX'wfX'xfX^fX'TfX~O$s2RO~O%P2YO'Y)eO}&{X!O&{X~O}.UO!O(Va~OY2^O~O[2_O~O]2bO~OR2dO!P&aO!k2cO%O1}O~O^$]O'T$]O~P!$dO!P#zO~P!$dO}2iO!w2kO!O(SX~O!O2lO~Ou(iO!S2uO!T2nO!U2nO!n2tO!o2sO!p2sO!t2rO'Z$cO'f(eO'o+cO~O!O2qO~P$1yOR2|O!P.qO!k2{O%O2zO~OR2|O!P.qO!k2{O%O2zO'_$dO~O'Y(wO}&zX!O&zX~O}.}O!O(Ta~O'f3VO~O]3XO~O[3ZO~O!_3^O~P){O^3`O~O^3`O~P){O#_3bO%p3cO~PExO_/eO!O3gO&O/dO~P`O!X3iO~O&T3jOP&QqQ&QqW&Qq]&Qq^&Qqa&Qqb&Qqg&Qqi&Qqj&Qqk&Qqn&Qqp&Qqu&Qqw&Qqx&Qqy&Qq!P&Qq!Z&Qq!`&Qq!c&Qq!d&Qq!e&Qq!f&Qq!g&Qq!j&Qq#`&Qq#p&Qq#t&Qq$}&Qq%P&Qq%R&Qq%S&Qq%V&Qq%X&Qq%[&Qq%]&Qq%_&Qq%l&Qq%r&Qq%t&Qq%v&Qq%x&Qq%{&Qq&R&Qq&V&Qq&X&Qq&Z&Qq&]&Qq&_&Qq'O&Qq'Y&Qq'c&Qq'o&Qq'|&Qq!O&Qq%y&Qq_&Qq&O&Qq~O}#Pi!O#Pi~P#)tO!w3lO}#Pi!O#Pi~O}!Ri!O!Ri~P#)tO^$]O!w3sO'T$]O~O^$]O!X!vO!w3sO'T$]O~O!T3wO!U3wO'Z$cO'f(eO'o+cO~O^$]O!X!vO!`$YO!f3xO!w3sO'T$]O'_$dO'p&lO~O!S3yO~P$:cO!S3yO!q3|O!t3}O~P$:cO^$]O!X!vO!f3xO!w3sO'T$]O'p&lO~O}'rq!_'rq^'rq'T'rq~P!*WO}&qO!_'qq~O#S$viP$viY$vi^$vii$vis$vi!]$vi!^$vi!`$vi!f$vi#W$vi#X$vi#Y$vi#Z$vi#[$vi#]$vi#^$vi#_$vi#a$vi#c$vi#e$vi#f$vi'T$vi'c$vi!_$viz$vi!P$vi'e$vi%O$vi!X$vi~P$(xO#S$xiP$xiY$xi^$xii$xis$xi!]$xi!^$xi!`$xi!f$xi#W$xi#X$xi#Y$xi#Z$xi#[$xi#]$xi#^$xi#_$xi#a$xi#c$xi#e$xi#f$xi'T$xi'c$xi!_$xiz$xi!P$xi'e$xi%O$xi!X$xi~P$)kO#S$eiP$eiY$ei^$eii$eis$ei}$ei!]$ei!^$ei!`$ei!f$ei#W$ei#X$ei#Y$ei#Z$ei#[$ei#]$ei#^$ei#_$ei#a$ei#c$ei#e$ei#f$ei'T$ei'c$ei!_$eiz$ei!P$ei!w$ei'e$ei%O$ei!X$ei~P!$dO}&ga'^&ga~P!$dO}&ha!_&ha~P!*WO},[O!_'ni~O#i!zi}!zi!O!zi~P#)tOP#]Or!zOs!zOu!{O!^!xO!`!yO!f#]O'cQOY#Vii#Vi!]#Vi#X#Vi#Y#Vi#Z#Vi#[#Vi#]#Vi#^#Vi#_#Vi#a#Vi#c#Vi#e#Vi#f#Vi#i#Vi'p#Vi'w#Vi'x#Vi}#Vi!O#Vi~O#W#Vi~P$CyO#W9[O~P$CyOP#]Or!zOs!zOu!{O!^!xO!`!yO!f#]O#W9[O#X9]O#Y9]O#Z9]O'cQOY#Vi!]#Vi#[#Vi#]#Vi#^#Vi#_#Vi#a#Vi#c#Vi#e#Vi#f#Vi#i#Vi'p#Vi'w#Vi'x#Vi}#Vi!O#Vi~Oi#Vi~P$FROi9^O~P$FROP#]Oi9^Or!zOs!zOu!{O!^!xO!`!yO!f#]O#W9[O#X9]O#Y9]O#Z9]O#[9_O'cQO#a#Vi#c#Vi#e#Vi#f#Vi#i#Vi'p#Vi'w#Vi'x#Vi}#Vi!O#Vi~OY#Vi!]#Vi#]#Vi#^#Vi#_#Vi~P$HZOY9iO!]9`O#]9`O#^9`O#_9`O~P$HZOP#]OY9iOi9^Or!zOs!zOu!{O!]9`O!^!xO!`!yO!f#]O#W9[O#X9]O#Y9]O#Z9]O#[9_O#]9`O#^9`O#_9`O#a9aO'cQO#c#Vi#e#Vi#f#Vi#i#Vi'p#Vi'x#Vi}#Vi!O#Vi~O'w#Vi~P$JoO'w!|O~P$JoOP#]OY9iOi9^Or!zOs!zOu!{O!]9`O!^!xO!`!yO!f#]O#W9[O#X9]O#Y9]O#Z9]O#[9_O#]9`O#^9`O#_9`O#a9aO#c9cO'cQO'w!|O#e#Vi#f#Vi#i#Vi'p#Vi}#Vi!O#Vi~O'x#Vi~P$LwO'x!}O~P$LwOP#]OY9iOi9^Or!zOs!zOu!{O!]9`O!^!xO!`!yO!f#]O#W9[O#X9]O#Y9]O#Z9]O#[9_O#]9`O#^9`O#_9`O#a9aO#c9cO#e9eO'cQO'w!|O'x!}O~O#f#Vi#i#Vi'p#Vi}#Vi!O#Vi~P% PO^#gy}#gy'T#gyz#gy!_#gy'e#gy!P#gy%O#gy!X#gy~P!*WOP#ViY#Vii#Vis#Vi!]#Vi!^#Vi!`#Vi!f#Vi#W#Vi#X#Vi#Y#Vi#Z#Vi#[#Vi#]#Vi#^#Vi#_#Vi#a#Vi#c#Vi#e#Vi#f#Vi#i#Vi'c#Vi}#Vi!O#Vi~P!$dO!^!xOP'bXY'bXi'bXr'bXs'bXu'bX!]'bX!`'bX!f'bX#W'bX#X'bX#Y'bX#Z'bX#['bX#]'bX#^'bX#_'bX#a'bX#c'bX#e'bX#f'bX#i'bX'c'bX'p'bX'w'bX'x'bX}'bX!O'bX~O#i#ji}#ji!O#ji~P#)tO!O4_O~O}&oa!O&oa~P#)tO!X!vO'p&lO}&pa!_&pa~O},{O!_'}i~O},{O!X!vO!_'}i~Oz&ra}&ra~P!$dO!X4fO~O}-SOz(Oi~P!$dO}-SOz(Oi~Oz4lO~O!X!vO#_4rO~Oi4sO!X!vO'p&lO~Oz4uO~O'^$gq}$gq#i$gq!w$gq~P!$dO^$Xy}$Xy'T$Xyz$Xy!_$Xy'e$Xy!P$Xy%O$Xy!X$Xy~P!*WO}1zO!P(Pa~O!P&aO%O4zO~O!P&aO%O4zO~P!$dO^!zy}!zy'T!zyz!zy!_!zy'e!zy!P!zy%O!zy!X!zy~P!*WOY4}O~O}.UO!O(Vi~O]5SO~O[5TO~O'f'QO}&wX!O&wX~O}2iO!O(Sa~O!O5bO~P$1yOu-eO'f(eO'o+cO~O!S5eO!T5dO!U5dO!t0VO'Z$cO'f(eO'o+cO~O!o5fO!p5fO~P%-iO!T5dO!U5dO'Z$cO'f(eO'o+cO~O!P.qO~O!P.qO%O5hO~O!P.qO%O5hO~P!$dOR5mO!P.qO!k5lO%O5hO~OY5rO}&za!O&za~O}.}O!O(Ti~O]5uO~O!_5vO~O!_5wO~O!_5xO~O!_5xO~P){O^5zO~O!X5}O~O!_6PO~O}'ui!O'ui~P#)tO^$]O'T$]O~P!*WO^$]O!w6UO'T$]O~O^$]O!X!vO!w6UO'T$]O~O!T6ZO!U6ZO'Z$cO'f(eO'o+cO~O^$]O!X!vO!f6[O!w6UO'T$]O'p&lO~O!`$YO'_$dO~P%2TO!S6]O~P%1rO}'ry!_'ry^'ry'T'ry~P!*WO#S$gqP$gqY$gq^$gqi$gqs$gq}$gq!]$gq!^$gq!`$gq!f$gq#W$gq#X$gq#Y$gq#Z$gq#[$gq#]$gq#^$gq#_$gq#a$gq#c$gq#e$gq#f$gq'T$gq'c$gq!_$gqz$gq!P$gq!w$gq'e$gq%O$gq!X$gq~P!$dO}&hi!_&hi~P!*WO#i!zq}!zq!O!zq~P#)tOr-kOs-kOu-lOPoaYoaioa!]oa!^oa!`oa!foa#Woa#Xoa#Yoa#Zoa#[oa#]oa#^oa#_oa#aoa#coa#eoa#foa#ioa'coa'poa'woa'xoa}oa!Ooa~Or(POu(QOP$[aY$[ai$[as$[a!]$[a!^$[a!`$[a!f$[a#W$[a#X$[a#Y$[a#Z$[a#[$[a#]$[a#^$[a#_$[a#a$[a#c$[a#e$[a#f$[a#i$[a'c$[a'p$[a'w$[a'x$[a}$[a!O$[a~Or(POu(QOP$^aY$^ai$^as$^a!]$^a!^$^a!`$^a!f$^a#W$^a#X$^a#Y$^a#Z$^a#[$^a#]$^a#^$^a#_$^a#a$^a#c$^a#e$^a#f$^a#i$^a'c$^a'p$^a'w$^a'x$^a}$^a!O$^a~OP$laY$lai$las$la!]$la!^$la!`$la!f$la#W$la#X$la#Y$la#Z$la#[$la#]$la#^$la#_$la#a$la#c$la#e$la#f$la#i$la'c$la}$la!O$la~P!$dO#i$Wq}$Wq!O$Wq~P#)tO#i$Xq}$Xq!O$Xq~P#)tO!O6gO~O'^$zy}$zy#i$zy!w$zy~P!$dO!X!vO}&pi!_&pi~O!X!vO'p&lO}&pi!_&pi~O},{O!_'}q~Oz&ri}&ri~P!$dO}-SOz(Oq~Oz6nO~P!$dOz6nO~O}'ay'^'ay~P!$dO}&ua!P&ua~P!$dO!P$rq^$rq'T$rq~P!$dOY6vO~O}.UO!O(Vq~O]6yO~O!P&aO%O6zO~O!P&aO%O6zO~P!$dO!w6{O}&wa!O&wa~O}2iO!O(Si~P#)tO!T7RO!U7RO'Z$cO'f(eO'o+cO~O!S7TO!t3}O~P%ArO!P.qO%O7WO~O!P.qO%O7WO~P!$dO'f7^O~O}.}O!O(Tq~O!_7aO~O!_7aO~P){O!_7cO~O!_7dO~O}#Py!O#Py~P#)tO^$]O!w7jO'T$]O~O^$]O!X!vO!w7jO'T$]O~O!T7mO!U7mO'Z$cO'f(eO'o+cO~O^$]O!X!vO!f7nO!w7jO'T$]O'p&lO~O#S$zyP$zyY$zy^$zyi$zys$zy}$zy!]$zy!^$zy!`$zy!f$zy#W$zy#X$zy#Y$zy#Z$zy#[$zy#]$zy#^$zy#_$zy#a$zy#c$zy#e$zy#f$zy'T$zy'c$zy!_$zyz$zy!P$zy!w$zy'e$zy%O$zy!X$zy~P!$dO#i#gy}#gy!O#gy~P#)tOP$eiY$eii$eis$ei!]$ei!^$ei!`$ei!f$ei#W$ei#X$ei#Y$ei#Z$ei#[$ei#]$ei#^$ei#_$ei#a$ei#c$ei#e$ei#f$ei#i$ei'c$ei}$ei!O$ei~P!$dOr(POu(QO'x(UOP$viY$vii$vis$vi!]$vi!^$vi!`$vi!f$vi#W$vi#X$vi#Y$vi#Z$vi#[$vi#]$vi#^$vi#_$vi#a$vi#c$vi#e$vi#f$vi#i$vi'c$vi'p$vi'w$vi}$vi!O$vi~Or(POu(QOP$xiY$xii$xis$xi!]$xi!^$xi!`$xi!f$xi#W$xi#X$xi#Y$xi#Z$xi#[$xi#]$xi#^$xi#_$xi#a$xi#c$xi#e$xi#f$xi#i$xi'c$xi'p$xi'w$xi'x$xi}$xi!O$xi~O#i$Xy}$Xy!O$Xy~P#)tO#i!zy}!zy!O!zy~P#)tO!X!vO}&pq!_&pq~O},{O!_'}y~Oz&rq}&rq~P!$dOz7tO~P!$dO}.UO!O(Vy~O}2iO!O(Sq~O!T8QO!U8QO'Z$cO'f(eO'o+cO~O!P.qO%O8TO~O!P.qO%O8TO~P!$dO!_8WO~O&T8XOP&Q!ZQ&Q!ZW&Q!Z]&Q!Z^&Q!Za&Q!Zb&Q!Zg&Q!Zi&Q!Zj&Q!Zk&Q!Zn&Q!Zp&Q!Zu&Q!Zw&Q!Zx&Q!Zy&Q!Z!P&Q!Z!Z&Q!Z!`&Q!Z!c&Q!Z!d&Q!Z!e&Q!Z!f&Q!Z!g&Q!Z!j&Q!Z#`&Q!Z#p&Q!Z#t&Q!Z$}&Q!Z%P&Q!Z%R&Q!Z%S&Q!Z%V&Q!Z%X&Q!Z%[&Q!Z%]&Q!Z%_&Q!Z%l&Q!Z%r&Q!Z%t&Q!Z%v&Q!Z%x&Q!Z%{&Q!Z&R&Q!Z&V&Q!Z&X&Q!Z&Z&Q!Z&]&Q!Z&_&Q!Z'O&Q!Z'Y&Q!Z'c&Q!Z'o&Q!Z'|&Q!Z!O&Q!Z%y&Q!Z_&Q!Z&O&Q!Z~O^$]O!w8^O'T$]O~O^$]O!X!vO!w8^O'T$]O~OP$gqY$gqi$gqs$gq!]$gq!^$gq!`$gq!f$gq#W$gq#X$gq#Y$gq#Z$gq#[$gq#]$gq#^$gq#_$gq#a$gq#c$gq#e$gq#f$gq#i$gq'c$gq}$gq!O$gq~P!$dO}&wq!O&wq~P#)tO^$]O!w8sO'T$]O~OP$zyY$zyi$zys$zy!]$zy!^$zy!`$zy!f$zy#W$zy#X$zy#Y$zy#Z$zy#[$zy#]$zy#^$zy#_$zy#a$zy#c$zy#e$zy#f$zy#i$zy'c$zy}$zy!O$zy~P!$dO'e'gX~P.jO'eZXzZX!_ZX%pZX!PZX%OZX!XZX~P$zO!XcX!_ZX!_cX'pcX~P;dOP9UOQ9UO]cOa:lOb!iOgcOi9UOjcOkcOn9UOp9UOuROwcOxcOycO!PSO!Z9WO!`UO!c9UO!d9UO!e9UO!f9UO!g9UO!j!hO#p!kO#t^O'Y'`O'cQO'oYO'|:jO~O}9gO!O$Za~O]#rOg$POi#sOj#rOk#rOn$QOp9lOu#yO!P#zO!Z:oO!`#wO#R9rO#p$UO$]9nO$_9pO$b$VO'Y&xO'c#tO~O#`'gO~P&-RO!OZX!OcX~P;dO#S9ZO~O!X!vO#S9ZO~O!w9jO~O#_9`O~O!w9sO}'uX!O'uX~O!w9jO}'sX!O'sX~O#S9tO~O'^9vO~P!$dO#S9{O~O#S9|O~O!X!vO#S9}O~O!X!vO#S9tO~O#i:OO~P#)tO#S:PO~O#S:QO~O#S:RO~O#S:SO~O#i:TO~P!$dO#i:UO~P!$dO#t~!^!n!p!q#Q#R'|$]$_$b$s$}%O%P%V%X%[%]%_%a~TS#t'|#Xy'V'W'f'W'Y#v#x#v~", -+ goto: "#Dq(ZPPPPPPP([P(lP*`PPPP-uPP.[3l5`5sP5sPPP5s5sP5sP7aPP7fP7zPPPP<ZPPPP<Z>yPPP?PA[P<ZPCuPPPPEm<ZPPPPPGf<ZPPJeKbPPPPKfMOPMWNXPKb<Z<Z!#`!&X!*x!*x!.VPPP!.^!1Q<ZPPPPPPPPPP!3uP!5WPP<Z!6eP<ZP<Z<Z<Z<ZP<Z!8xPP!;oP!>bP!>f!>n!>r!>rP!;lP!>v!>vP!AiP!Am<Z<Z!As!De5sP5sP5s5sP!Eh5s5s!G`5s!Ib5s!KS5s5s!Kp!Mj!Mj!Mn!Mj!MvP!MjP5s!Nr5s# |5s5s-uPPP##ZPP##s##sP##sP#$Y##sPP#$`P#$VP#$V#$rMS#$V#%a#%g#%j([#%m([P#%t#%t#%tP([P([P([P([PP([P#%z#%}P#%}([PPP([P([P([P([P([P([([#&R#&]#&c#&i#&w#&}#'T#'_#'e#'o#'u#(T#(Z#(a#(o#)U#*h#*v#*|#+S#+Y#+`#+j#+p#+v#,Q#,d#,jPPPPPPPPP#,pPP#-d#1bPP#2x#3P#3XP#7ePP#7i#9|#?v#?z#?}#@Q#@]#@`PP#@c#@g#AU#Ay#A}#BaPP#Be#Bk#BoP#Br#Bv#By#Ci#DP#DU#DX#D[#Db#De#Di#DmmhOSj}!m$[%c%f%g%i*k*p/_/bQ$imQ$ppQ%ZyS&T!b+WQ&h!iS(h#z(mQ)c$jQ)p$rQ*[%TQ+^&[S+e&a+gQ+w&iQ-c(oQ.|*]Y0R+i+j+k+l+mS2n.q2pU3w0S0U0XU5d2s2t2uS6Z3y3|S7R5e5fQ7m6]R8Q7T$l[ORSTUjk}!S!W!]!`!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#a#d$[$n%[%_%c%e%f%g%i%m%x&Q&]&c&m&z'O(O)Q)X*g*k*p+r+y,[,b-l-q-y.T.t/V/W/X/Z/_/b/d/{0b0l2c2{3`3b3c3s5l5z6U7j8^8s!j'b#[#l&U't+P+S,g/r1P2k3l6{9U9W9Z9[9]9^9_9`9a9b9c9d9e9f9g9j9s9t9v9}:O:R:S:mQ(x$RQ)h$lQ*^%WQ*e%`Q,R9kQ.O)]Q.Z)iQ/U*cQ2X.UQ3T.}Q4W9lR5P2YpeOSjy}!m$[%Y%c%f%g%i*k*p/_/bR*`%[&WVOSTjkn}!S!W!]!j!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#[#a#d#l$[$n%[%_%`%c%e%f%g%i%m%x&Q&]&c&m&z'O't(O)Q)X*g*k*p+P+S+r+y,[,b,g-l-q-y.T.t/V/W/X/Z/_/b/d/r/{0b0l1P2c2k2{3`3b3c3l3s5l5z6U6{7j8^8s9U9W9Z9[9]9^9_9`9a9b9c9d9e9f9g9j9s9t9v9}:O:R:S:l:mW!cRU!`&UQ$blQ$hmS$mp$rv$wrs!q!t$Y$u&^&q&t)t)u)v*i+Q+a+|,O/h0dQ%PwQ&e!hQ&g!iS([#w(fS)b$i$jQ)f$lQ)s$tQ*V%RQ*Z%TS+v&h&iQ-P(]Q.S)cQ.Y)iQ.[)jQ._)nQ.w*WS.{*[*]Q0`+wQ1Y,{Q2W.UQ2[.XQ2a.aQ3S.|Q4c1ZQ5O2YQ5R2^Q6u4}R7w6v!Y$fm!i$h$i$j&S&g&h&i(g)b)c+T+d+v+w-].S/w0O0T0`1o3v3{6X7k8_Q)Z$bQ){$|Q*O$}Q*Y%TQ.c)sQ.v*VU.z*Z*[*]Q2}.wS3R.{.|Q5_2mQ5q3SS7P5`5cS8O7Q7SQ8i8PR8x8jW#}a$d(u:jS$|t%YQ$}uQ%OvR)y$z$V#|a!v!x#c#w#y$S$T$X&d'z(T(V(W(_(c(s(t)W)Y)])z)}+s,X-S-U-n-x-z.h.k.s.u1X1b1l1s1z1}2R2d2z2|4f4r4z5h5m6z7W8T9i9m9n9o9p9q9r9w9x9y9z9{9|:P:Q:T:U:j:p:qV(y$R9k9lU&X!b$v+ZQ'R!zQ)m$oQ.l*PQ1t-kR5Z2i&YcORSTUjk}!S!W!]!`!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#[#a#d#l$[$n%[%_%`%c%e%f%g%i%m%x&Q&U&]&c&m&z'O't(O)Q)X*g*k*p+P+S+r+y,[,b,g-l-q-y.T.t/V/W/X/Z/_/b/d/r/{0b0l1P2c2k2{3`3b3c3l3s5l5z6U6{7j8^8s9U9W9Z9[9]9^9_9`9a9b9c9d9e9f9g9j9s9t9v9}:O:R:S:m$]#`Z!_!n$`%w%{&v&}'T'U'V'W'X'Y'Z'[']'^'_'a'd'h'r)l*{+U+_+x,W,^,a,c,q-o/m/p0a0k0o0p0q0r0s0t0u0v0w0x0y0z0{1O1T1x2U3n3q4R4U4V4[4]5]6Q6T6a6e6f7g7z8[8q8|9V:c&ZcORSTUjk}!S!W!]!`!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#[#a#d#l$[$n%[%_%`%c%e%f%g%i%m%x&Q&U&]&c&m&z'O't(O)Q)X*g*k*p+P+S+r+y,[,b,g-l-q-y.T.t/V/W/X/Z/_/b/d/r/{0b0l1P2c2k2{3`3b3c3l3s5l5z6U6{7j8^8s9U9W9Z9[9]9^9_9`9a9b9c9d9e9f9g9j9s9t9v9}:O:R:S:mQ&V!bR/s+WY&P!b&T&[+W+^S(g#z(mS+d&a+gS-](h(oQ-^(iQ-d(pQ.n*RU0O+e+i+jU0T+k+l+mS0Y+n2rQ1o-cQ1q-eQ1r-fS2m.q2pU3v0R0S0UQ3z0VQ3{0XS5`2n2uS5c2s2tU6X3w3y3|Q6^3}S7Q5d5eQ7S5fS7k6Z6]S8P7R7TQ8_7mR8j8QlhOSj}!m$[%c%f%g%i*k*p/_/bQ%k!QS&u!u9ZQ)`$gQ*T%PQ*U%QQ+t&fS,V&z9tS-p)Q9}Q.Q)aQ.p*SQ/f*rQ/g*sQ/o+RQ0W+kQ0^+uS1y-q:RQ2S.RS2V.T:SQ3m/qQ3p/yQ4P0_Q4|2TQ6O3jQ6R3oQ6V3uQ6_4QQ7e6PQ7h6WQ8Z7iQ8n8XQ8p8]R8{8r$W#_Z!_!n%w%{&v&}'T'U'V'W'X'Y'Z'[']'^'_'a'd'h'r)l*{+U+_+x,W,^,a,q-o/m/p0a0k0o0p0q0r0s0t0u0v0w0x0y0z0{1O1T1x2U3n3q4R4U4V4[4]5]6Q6T6a6e6f7g7z8[8q8|9V:cU(r#{&y0}T)U$`,c$W#^Z!_!n%w%{&v&}'T'U'V'W'X'Y'Z'[']'^'_'a'd'h'r)l*{+U+_+x,W,^,a,q-o/m/p0a0k0o0p0q0r0s0t0u0v0w0x0y0z0{1O1T1x2U3n3q4R4U4V4[4]5]6Q6T6a6e6f7g7z8[8q8|9V:cQ'c#_S)T$`,cR-r)U&YcORSTUjk}!S!W!]!`!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#[#a#d#l$[$n%[%_%`%c%e%f%g%i%m%x&Q&U&]&c&m&z'O't(O)Q)X*g*k*p+P+S+r+y,[,b,g-l-q-y.T.t/V/W/X/Z/_/b/d/r/{0b0l1P2c2k2{3`3b3c3l3s5l5z6U6{7j8^8s9U9W9Z9[9]9^9_9`9a9b9c9d9e9f9g9j9s9t9v9}:O:R:S:mQ%f{Q%g|Q%i!OQ%j!PR/^*nQ&b!hQ)V$bQ+q&eS-w)Z)sS0Z+o+pW1|-t-u-v.cS4O0[0]U4y2O2P2QU6s4x5V5WQ7v6tR8e7yT+f&a+gS+d&a+gU0O+e+i+jU0T+k+l+mS0Y+n2rS2m.q2pU3v0R0S0UQ3z0VQ3{0XS5`2n2uS5c2s2tU6X3w3y3|Q6^3}S7Q5d5eQ7S5fS7k6Z6]S8P7R7TQ8_7mR8j8QS+f&a+gT2o.q2pS&o!p/[Q-O([Q-Z(gS/}+d2mQ1_-PS1i-[-dU3x0T0Y5cQ4b1YS4p1p1rU6[3z3{7SQ6i4cQ6r4sR7n6^Q!wXS&n!p/[Q)R$ZQ)^$eQ)d$kQ+z&oQ,}([Q-Y(gQ-_(jQ.P)_Q.x*XS/|+d2mS1^-O-PS1h-Z-dQ1k-^Q1n-`Q3P.yW3t/}0T0Y5cQ4a1YQ4e1_S4j1i1rQ4q1qQ5o3QW6Y3x3z3{7SS6h4b4cQ6m4lQ6p4pQ6}5^Q7[5pS7l6[6^Q7p6iQ7r6nQ7u6rQ7|7OQ8V7]Q8`7nQ8c7tQ8g7}Q8v8hQ9O8wQ9S9PQ:]:WQ:f:aR:g:b$nWORSTUjk}!S!W!]!`!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#a#d$[$n%[%_%`%c%e%f%g%i%m%x&Q&]&c&m&z'O(O)Q)X*g*k*p+r+y,[,b-l-q-y.T.t/V/W/X/Z/_/b/d/{0b0l2c2{3`3b3c3s5l5z6U7j8^8sS!wn!j!j:V#[#l&U't+P+S,g/r1P2k3l6{9U9W9Z9[9]9^9_9`9a9b9c9d9e9f9g9j9s9t9v9}:O:R:S:mR:]:l$nXORSTUjk}!S!W!]!`!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#a#d$[$n%[%_%`%c%e%f%g%i%m%x&Q&]&c&m&z'O(O)Q)X*g*k*p+r+y,[,b-l-q-y.T.t/V/W/X/Z/_/b/d/{0b0l2c2{3`3b3c3s5l5z6U7j8^8sQ$Zb!Y$em!i$h$i$j&S&g&h&i(g)b)c+T+d+v+w-].S/w0O0T0`1o3v3{6X7k8_S$kn!jQ)_$fQ*X%TW.y*Y*Z*[*]U3Q.z.{.|Q5^2mS5p3R3SU7O5_5`5cQ7]5qU7}7P7Q7SS8h8O8PS8w8i8jQ9P8x!j:W#[#l&U't+P+S,g/r1P2k3l6{9U9W9Z9[9]9^9_9`9a9b9c9d9e9f9g9j9s9t9v9}:O:R:S:mQ:a:kR:b:l$f]OSTjk}!S!W!]!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#a#d$[$n%[%_%c%e%f%g%i%m%x&Q&]&c&m&z'O(O)Q)X*g*k*p+r+y,[,b-l-q-y.T.t/V/W/X/Z/_/b/d/{0b0l2c2{3`3b3c3s5l5z6U7j8^8sU!gRU!`v$wrs!q!t$Y$u&^&q&t)t)u)v*i+Q+a+|,O/h0dQ*f%`!h:X#[#l't+P+S,g/r1P2k3l6{9U9W9Z9[9]9^9_9`9a9b9c9d9e9f9g9j9s9t9v9}:O:R:S:mR:[&US&Y!b$vR/u+Z$l[ORSTUjk}!S!W!]!`!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#a#d$[$n%[%_%c%e%f%g%i%m%x&Q&]&c&m&z'O(O)Q)X*g*k*p+r+y,[,b-l-q-y.T.t/V/W/X/Z/_/b/d/{0b0l2c2{3`3b3c3s5l5z6U7j8^8s!j'b#[#l&U't+P+S,g/r1P2k3l6{9U9W9Z9[9]9^9_9`9a9b9c9d9e9f9g9j9s9t9v9}:O:R:S:mR*e%`$noORSTUjk}!S!W!]!`!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#a#d$[$n%[%_%`%c%e%f%g%i%m%x&Q&]&c&m&z'O(O)Q)X*g*k*p+r+y,[,b-l-q-y.T.t/V/W/X/Z/_/b/d/{0b0l2c2{3`3b3c3s5l5z6U7j8^8sQ'R!z!k:Y#[#l&U't+P+S,g/r1P2k3l6{9U9W9Z9[9]9^9_9`9a9b9c9d9e9f9g9j9s9t9v9}:O:R:S:m!h#UZ!_$`%w%{&v&}'[']'^'_'d'h)l*{+_+x,W,^,q-o0a0k0{1x2U3q4R4U6T7g8[8q8|9V!R9b'a'r+U,c/m/p0o0w0x0y0z1O1T3n4V4[4]5]6Q6a6e6f7z:c!d#WZ!_$`%w%{&v&}'^'_'d'h)l*{+_+x,W,^,q-o0a0k0{1x2U3q4R4U6T7g8[8q8|9V}9d'a'r+U,c/m/p0o0y0z1O1T3n4V4[4]5]6Q6a6e6f7z:c!`#[Z!_$`%w%{&v&}'d'h)l*{+_+x,W,^,q-o0a0k0{1x2U3q4R4U6T7g8[8q8|9Vl(W#u&{)P,y-R-g-h0i1w4`4t:^:h:ix:m'a'r+U,c/m/p0o1O1T3n4V4[4]5]6Q6a6e6f7z:c!`:p&w'f(Z(a+p,U,n-V-s-v.g.i0]0h1`1d2Q2f2h2x4T4g4m4v4{5W5k6`6k6q7YZ:q0|4Z6b7o8a&YcORSTUjk}!S!W!]!`!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#[#a#d#l$[$n%[%_%`%c%e%f%g%i%m%x&Q&U&]&c&m&z'O't(O)Q)X*g*k*p+P+S+r+y,[,b,g-l-q-y.T.t/V/W/X/Z/_/b/d/r/{0b0l1P2c2k2{3`3b3c3l3s5l5z6U6{7j8^8s9U9W9Z9[9]9^9_9`9a9b9c9d9e9f9g9j9s9t9v9}:O:R:S:mS#m`#nR1Q,f&a_ORSTU`jk}!S!W!]!`!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#[#a#d#l#n$[$n%[%_%`%c%e%f%g%i%m%x&Q&U&]&c&m&z'O't(O)Q)X*g*k*p+P+S+r+y,[,b,f,g-l-q-y.T.t/V/W/X/Z/_/b/d/r/{0b0l1P2c2k2{3`3b3c3l3s5l5z6U6{7j8^8s9U9W9Z9[9]9^9_9`9a9b9c9d9e9f9g9j9s9t9v9}:O:R:S:mT#i^#oS#g^#oT'k#j'oT#h^#oT'm#j'o&a`ORSTU`jk}!S!W!]!`!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#[#a#d#l#n$[$n%[%_%`%c%e%f%g%i%m%x&Q&U&]&c&m&z'O't(O)Q)X*g*k*p+P+S+r+y,[,b,f,g-l-q-y.T.t/V/W/X/Z/_/b/d/r/{0b0l1P2c2k2{3`3b3c3l3s5l5z6U6{7j8^8s9U9W9Z9[9]9^9_9`9a9b9c9d9e9f9g9j9s9t9v9}:O:R:S:mT#m`#nQ#p`R'v#n$nbORSTUjk}!S!W!]!`!m!u!y!{#O#P#Q#R#S#T#U#V#W#X#Y#a#d$[$n%[%_%`%c%e%f%g%i%m%x&Q&]&c&m&z'O(O)Q)X*g*k*p+r+y,[,b-l-q-y.T.t/V/W/X/Z/_/b/d/{0b0l2c2{3`3b3c3s5l5z6U7j8^8s!k:k#[#l&U't+P+S,g/r1P2k3l6{9U9W9Z9[9]9^9_9`9a9b9c9d9e9f9g9j9s9t9v9}:O:R:S:m#RdOSUj}!S!W!m!{#l$[%[%_%`%c%e%f%g%i%m&Q&c't)X*g*k*p+r,g-l-y.t/V/W/X/Z/_/b/d1P2c2{3`3b3c5l5zt#{a!x$S$T$X(T(V(W(_(s(t,X-n1X1s:j:p:q!|&y!v#c#w#y&d'z(c)W)Y)])z)}+s-S-U-x-z.h.k.s.u1b1l1z1}2R2d2z2|4f4r4z5h5m6z7W8T9m9o9q9w9y9{:P:TQ(}$VQ,r(Pc0}9i9n9p9r9x9z9|:Q:Ut#xa!x$S$T$X(T(V(W(_(s(t,X-n1X1s:j:p:qS(j#z(mQ)O$WQ-`(k!|:_!v#c#w#y&d'z(c)W)Y)])z)}+s-S-U-x-z.h.k.s.u1b1l1z1}2R2d2z2|4f4r4z5h5m6z7W8T9m9o9q9w9y9{:P:Tb:`9i9n9p9r9x9z9|:Q:UQ:d:nR:e:ot#{a!x$S$T$X(T(V(W(_(s(t,X-n1X1s:j:p:q!|&y!v#c#w#y&d'z(c)W)Y)])z)}+s-S-U-x-z.h.k.s.u1b1l1z1}2R2d2z2|4f4r4z5h5m6z7W8T9m9o9q9w9y9{:P:Tc0}9i9n9p9r9x9z9|:Q:UlfOSj}!m$[%c%f%g%i*k*p/_/bQ(b#yQ*w%pQ*x%rR1a-S$U#|a!v!x#c#w#y$S$T$X&d'z(T(V(W(_(c(s(t)W)Y)])z)}+s,X-S-U-n-x-z.h.k.s.u1X1b1l1s1z1}2R2d2z2|4f4r4z5h5m6z7W8T9i9m9n9o9p9q9r9w9x9y9z9{9|:P:Q:T:U:j:p:qQ)|$}Q.j*OQ2g.iR5Y2hT(l#z(mS(l#z(mT2o.q2pQ)^$eQ-_(jQ.P)_Q.x*XQ3P.yQ5o3QQ6}5^Q7[5pQ7|7OQ8V7]Q8g7}Q8v8hQ9O8wR9S9Pl(T#u&{)P,y-R-g-h0i1w4`4t:^:h:i!`9w&w'f(Z(a+p,U,n-V-s-v.g.i0]0h1`1d2Q2f2h2x4T4g4m4v4{5W5k6`6k6q7YZ9x0|4Z6b7o8an(V#u&{)P,w,y-R-g-h0i1w4`4t:^:h:i!b9y&w'f(Z(a+p,U,n-V-s-v.g.i0]0f0h1`1d2Q2f2h2x4T4g4m4v4{5W5k6`6k6q7Y]9z0|4Z6b6c7o8apeOSjy}!m$[%Y%c%f%g%i*k*p/_/bQ%VxR*g%`peOSjy}!m$[%Y%c%f%g%i*k*p/_/bR%VxQ*Q%OR.f)yqeOSjy}!m$[%Y%c%f%g%i*k*p/_/bQ.r*VS2y.v.wW5g2v2w2x2}U7V5i5j5kU8R7U7X7YQ8k8SR8y8lQ%^yR*a%YR3W/PR7_5rS$mp$rR.[)jQ%czR*k%dR*q%jT/`*p/bQjOQ!mST$_j!mQ'|#tR,o'|Q!YQR%u!YQ!^RU%y!^%z*|Q%z!_R*|%{Q+X&VR/t+XQ,Y&{R0j,YQ,]&}S0m,]0nR0n,^Q+g&aR0P+gQ&_!eQ*}%|T+b&_*}Q+[&YR/v+[Q&r!rQ+{&pU,P&r+{0eR0e,QQ'o#jR,h'oQ#n`R'u#nQ#bZU'e#b*z9hQ*z9VR9h'rQ,|([W1[,|1]4d6jU1],}-O-PS4d1^1_R6j4e#q(R#u&w&{'f(Z(a(z({)P+p,S,T,U,n,w,x,y-R-V-g-h-s-v.g.i0]0f0g0h0i0|1`1d1w2Q2f2h2x4T4X4Y4Z4`4g4m4t4v4{5W5k6`6b6c6d6k6q7Y7o8a:^:h:iQ-T(aU1c-T1e4hQ1e-VR4h1dQ(m#zR-a(mQ(v$OR-j(vQ1{-sR4w1{Q)w$xR.e)wQ2j.lS5[2j6|R6|5]Q*S%PR.o*SQ2p.qR5a2pQ/O*^S3U/O5sR5s3WQ.V)fW2Z.V2]5Q6wQ2].YQ5Q2[R6w5RQ)k$mR.])kQ/b*pR3f/bWiOSj!mQ%h}Q)S$[Q*j%cQ*l%fQ*m%gQ*o%iQ/]*kS/`*p/bR3e/_Q$^gQ%l!RQ%o!TQ%q!UQ%s!VQ)r$sQ)x$yQ*`%^Q*u%nS/R*a*dQ/i*tQ/j*wQ/k*xS/z+d2mQ1f-XQ1g-YQ1m-_Q2`.`Q2e.gQ3O.xQ3Y/TQ3d/^Y3r/|/}0T0Y5cQ4i1hQ4k1jQ4n1nQ5U2bQ5X2fQ5n3PQ5t3X[6S3q3t3x3z3{7SQ6l4jQ6o4oQ6x5SQ7Z5oQ7`5uW7f6T6Y6[6^Q7q6mQ7s6pQ7x6yQ7{6}Q8U7[U8Y7g7l7nQ8b7rQ8d7uQ8f7|Q8m8VS8o8[8`Q8t8cQ8u8gQ8z8qQ8}8vQ9Q8|Q9R9OR9T9SQ$gmQ&f!iU)a$h$i$jQ+R&SU+u&g&h&iQ-X(gS.R)b)cQ/q+TQ/y+dS0_+v+wQ1j-]Q2T.SQ3o/wS3u0O0TQ4Q0`Q4o1oS6W3v3{Q7i6XQ8]7kR8r8_S#va:jR)[$dU$Oa$d:jR-i(uQ#uaS&w!v)]Q&{!xQ'f#cQ(Z#wQ(a#yQ(z$SQ({$TQ)P$XQ+p&dQ,S9mQ,T9oQ,U9qQ,n'zQ,w(TQ,x(VQ,y(WQ-R(_Q-V(cQ-g(sQ-h(td-s)W-x.s1}2z4z5h6z7W8TQ-v)YQ.g)zQ.i)}Q0]+sQ0f9wQ0g9yQ0h9{Q0i,XQ0|9iQ1`-SQ1d-UQ1w-nQ2Q-zQ2f.hQ2h.kQ2x.uQ4T:PQ4X9nQ4Y9pQ4Z9rQ4`1XQ4g1bQ4m1lQ4t1sQ4v1zQ4{2RQ5W2dQ5k2|Q6`:TQ6b9|Q6c9xQ6d9zQ6k4fQ6q4rQ7Y5mQ7o:QQ8a:UQ:^:jQ:h:pR:i:qT'{#t'|lgOSj}!m$[%c%f%g%i*k*p/_/bS!oU%eQ%n!SQ%t!WQ'S!{Q's#lS*d%[%_Q*h%`Q*t%mQ+O&QQ+o&cQ,l'tQ-u)XQ/Y*gQ0[+rQ1S,gQ1u-lQ2P-yQ2w.tQ3[/VQ3]/WQ3_/XQ3a/ZQ3h/dQ4^1PQ5V2cQ5j2{Q5y3`Q5{3bQ5|3cQ7X5lR7b5z!vZOSUj}!S!m!{$[%[%_%`%c%e%f%g%i%m&Q&c)X*g*k*p+r-l-y.t/V/W/X/Z/_/b/d2c2{3`3b3c5l5zQ!_RQ!nTQ$`kQ%w!]Q%{!`Q&v!uQ&}!yQ'T#OQ'U#PQ'V#QQ'W#RQ'X#SQ'Y#TQ'Z#UQ'[#VQ']#WQ'^#XQ'_#YQ'a#[Q'd#aQ'h#dW'r#l't,g1PQ)l$nQ*{%xS+U&U/rQ+_&]Q+x&mQ,W&zQ,^'OQ,a9UQ,c9WQ,q(OQ-o)QQ/m+PQ/p+SQ0a+yQ0k,[Q0o9ZQ0p9[Q0q9]Q0r9^Q0s9_Q0t9`Q0u9aQ0v9bQ0w9cQ0x9dQ0y9eQ0z9fQ0{,bQ1O9jQ1T9gQ1x-qQ2U.TQ3n9sQ3q/{Q4R0bQ4U0lQ4V9tQ4[9vQ4]9}Q5]2kQ6Q3lQ6T3sQ6a:OQ6e:RQ6f:SQ7g6UQ7z6{Q8[7jQ8q8^Q8|8sQ9V!WR:c:mT!XQ!YR!aRR&W!bS&S!b+WS+T&T&[R/w+^R&|!xR'P!yT!sU$YS!rU$YU$xrs*iS&p!q!tQ+}&qQ,Q&tQ.d)vS0c+|,OR4S0d[!dR!`$u&^)t+ah!pUrs!q!t$Y&q&t)v+|,O0dQ/[*iQ/n+QQ3k/hT:Z&U)uT!fR$uS!eR$uS%|!`)tS+V&U)uQ+`&^R/x+aT&Z!b$vQ#j^R'x#oT'n#j'oR1R,fT(^#w(fR(d#yQ-t)WQ2O-xQ2v.sQ4x1}Q5i2zQ6t4zQ7U5hQ7y6zQ8S7WR8l8TlhOSj}!m$[%c%f%g%i*k*p/_/bQ%]yR*`%YV$yrs*iR.m*PR*_%WQ$qpR)q$rR)g$lT%az%dT%bz%dT/a*p/b", -+ nodeNames: "⚠ ArithOp ArithOp extends LineComment BlockComment Script ExportDeclaration export Star as VariableName from String ; default FunctionDeclaration async function VariableDefinition TypeParamList TypeDefinition ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType VoidType void TypeofType typeof MemberExpression . ?. PropertyName [ TemplateString null super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewExpression new TypeArgList CompareOp < ) ( ArgList UnaryExpression await yield delete LogicOp BitOp ParenthesizedExpression ClassExpression class extends ClassBody MethodDeclaration Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression PrivatePropertyName BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof in const CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXStartTag JSXSelfClosingTag JSXIdentifier JSXBuiltin JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast ArrowFunction TypeParamList SequenceExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature CallSignature TypePredicate is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody MethodDeclaration AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try catch finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement", -+ maxTerm: 332, - context: trackNewline, - nodeProps: [ -- [NodeProp.group, -26,7,14,16,54,180,184,187,188,190,193,196,207,209,215,217,219,221,224,230,234,236,238,240,242,244,245,"Statement",-30,11,13,23,26,27,38,39,40,41,43,48,56,64,70,71,87,88,97,99,115,118,120,121,122,123,125,126,144,145,147,"Expression",-22,22,24,28,29,31,148,150,152,153,155,156,157,159,160,161,163,164,165,174,176,178,179,"Type",-3,75,81,86,"ClassItem"], -- [NodeProp.closedBy, 37,"]",47,"}",62,")",128,"JSXSelfCloseEndTag JSXEndTag",142,"JSXEndTag"], -- [NodeProp.openedBy, 42,"[",46,"{",61,"(",127,"JSXStartTag",137,"JSXStartTag JSXStartCloseTag"] -+ [NodeProp.group, -26,7,14,16,54,182,186,189,190,192,195,198,209,211,217,219,221,223,226,232,236,238,240,242,244,246,247,"Statement",-30,11,13,23,26,27,38,39,40,41,43,48,56,64,70,71,87,88,97,99,115,118,120,121,122,123,125,126,146,147,149,"Expression",-22,22,24,28,29,31,150,152,154,155,157,158,159,161,162,163,165,166,167,176,178,180,181,"Type",-3,75,81,86,"ClassItem"], -+ [NodeProp.closedBy, 37,"]",47,"}",62,")",128,"JSXSelfCloseEndTag JSXEndTag",144,"JSXEndTag"], -+ [NodeProp.openedBy, 42,"[",46,"{",61,"(",127,"JSXStartTag",139,"JSXStartTag JSXStartCloseTag"] - ], - skippedNodes: [0,4,5], - repeatNodeCount: 28, -- tokenData: "!C}~R!`OX%TXY%cYZ'RZ[%c[]%T]^'R^p%Tpq%cqr'crs(kst0htu2`uv4pvw5ewx6cxy<yyz=Zz{=k{|>k|}?O}!O>k!O!P?`!P!QCl!Q!R!0[!R![!1q![!]!7s!]!^!8V!^!_!8g!_!`!9d!`!a!:[!a!b!<R!b!c%T!c!}2`!}#O!=d#O#P%T#P#Q!=t#Q#R!>U#R#S2`#S#T!>i#T#o2`#o#p!>y#p#q!?O#q#r!?f#r#s!?x#s$f%T$f$g%c$g#BY2`#BY#BZ!@Y#BZ$IS2`$IS$I_!@Y$I_$I|2`$I|$I}!Bq$I}$JO!Bq$JO$JT2`$JT$JU!@Y$JU$KV2`$KV$KW!@Y$KW&FU2`&FU&FV!@Y&FV?HT2`?HT?HU!@Y?HU~2`W%YR$QWO!^%T!_#o%T#p~%T,T%jg$QW'T+{OX%TXY%cYZ%TZ[%c[p%Tpq%cq!^%T!_#o%T#p$f%T$f$g%c$g#BY%T#BY#BZ%c#BZ$IS%T$IS$I_%c$I_$JT%T$JT$JU%c$JU$KV%T$KV$KW%c$KW&FU%T&FU&FV%c&FV?HT%T?HT?HU%c?HU~%T,T'YR$QW'U+{O!^%T!_#o%T#p~%T$T'jS$QW!f#{O!^%T!_!`'v!`#o%T#p~%T$O'}S#a#v$QWO!^%T!_!`(Z!`#o%T#p~%T$O(bR#a#v$QWO!^%T!_#o%T#p~%T'u(rZ$QW]!ROY(kYZ)eZr(krs*rs!^(k!^!_+U!_#O(k#O#P-b#P#o(k#o#p+U#p~(k&r)jV$QWOr)ers*Ps!^)e!^!_*a!_#o)e#o#p*a#p~)e&r*WR#{&j$QWO!^%T!_#o%T#p~%T&j*dROr*ars*ms~*a&j*rO#{&j'u*{R#{&j$QW]!RO!^%T!_#o%T#p~%T'm+ZV]!ROY+UYZ*aZr+Urs+ps#O+U#O#P+w#P~+U'm+wO#{&j]!R'm+zROr+Urs,Ts~+U'm,[U#{&j]!ROY,nZr,nrs-Vs#O,n#O#P-[#P~,n!R,sU]!ROY,nZr,nrs-Vs#O,n#O#P-[#P~,n!R-[O]!R!R-_PO~,n'u-gV$QWOr(krs-|s!^(k!^!_+U!_#o(k#o#p+U#p~(k'u.VZ#{&j$QW]!ROY.xYZ%TZr.xrs/rs!^.x!^!_,n!_#O.x#O#P0S#P#o.x#o#p,n#p~.x!Z/PZ$QW]!ROY.xYZ%TZr.xrs/rs!^.x!^!_,n!_#O.x#O#P0S#P#o.x#o#p,n#p~.x!Z/yR$QW]!RO!^%T!_#o%T#p~%T!Z0XT$QWO!^.x!^!_,n!_#o.x#o#p,n#p~.xy0mZ$QWOt%Ttu1`u!^%T!_!c%T!c!}1`!}#R%T#R#S1`#S#T%T#T#o1`#p$g%T$g~1`y1g]$QW'mqOt%Ttu1`u!Q%T!Q![1`![!^%T!_!c%T!c!}1`!}#R%T#R#S1`#S#T%T#T#o1`#p$g%T$g~1`&i2k_$QW#vS'W%k'dpOt%Ttu2`u}%T}!O3j!O!Q%T!Q![2`![!^%T!_!c%T!c!}2`!}#R%T#R#S2`#S#T%T#T#o2`#p$g%T$g~2`[3q_$QW#vSOt%Ttu3ju}%T}!O3j!O!Q%T!Q![3j![!^%T!_!c%T!c!}3j!}#R%T#R#S3j#S#T%T#T#o3j#p$g%T$g~3j$O4wS#Y#v$QWO!^%T!_!`5T!`#o%T#p~%T$O5[R$QW#k#vO!^%T!_#o%T#p~%T%r5lU'v%j$QWOv%Tvw6Ow!^%T!_!`5T!`#o%T#p~%T$O6VS$QW#e#vO!^%T!_!`5T!`#o%T#p~%T'u6jZ$QW]!ROY6cYZ7]Zw6cwx*rx!^6c!^!_8T!_#O6c#O#P:T#P#o6c#o#p8T#p~6c&r7bV$QWOw7]wx*Px!^7]!^!_7w!_#o7]#o#p7w#p~7]&j7zROw7wwx*mx~7w'm8YV]!ROY8TYZ7wZw8Twx+px#O8T#O#P8o#P~8T'm8rROw8Twx8{x~8T'm9SU#{&j]!ROY9fZw9fwx-Vx#O9f#O#P9}#P~9f!R9kU]!ROY9fZw9fwx-Vx#O9f#O#P9}#P~9f!R:QPO~9f'u:YV$QWOw6cwx:ox!^6c!^!_8T!_#o6c#o#p8T#p~6c'u:xZ#{&j$QW]!ROY;kYZ%TZw;kwx/rx!^;k!^!_9f!_#O;k#O#P<e#P#o;k#o#p9f#p~;k!Z;rZ$QW]!ROY;kYZ%TZw;kwx/rx!^;k!^!_9f!_#O;k#O#P<e#P#o;k#o#p9f#p~;k!Z<jT$QWO!^;k!^!_9f!_#o;k#o#p9f#p~;k%V=QR!`$}$QWO!^%T!_#o%T#p~%TZ=bR!_R$QWO!^%T!_#o%T#p~%T%R=tU'X!R#Z#v$QWOz%Tz{>W{!^%T!_!`5T!`#o%T#p~%T$O>_S#W#v$QWO!^%T!_!`5T!`#o%T#p~%T$u>rSi$m$QWO!^%T!_!`5T!`#o%T#p~%T&i?VR}&a$QWO!^%T!_#o%T#p~%T&i?gVr%n$QWO!O%T!O!P?|!P!Q%T!Q![@r![!^%T!_#o%T#p~%Ty@RT$QWO!O%T!O!P@b!P!^%T!_#o%T#p~%Ty@iR|q$QWO!^%T!_#o%T#p~%Ty@yZ$QWjqO!Q%T!Q![@r![!^%T!_!g%T!g!hAl!h#R%T#R#S@r#S#X%T#X#YAl#Y#o%T#p~%TyAqZ$QWO{%T{|Bd|}%T}!OBd!O!Q%T!Q![CO![!^%T!_#R%T#R#SCO#S#o%T#p~%TyBiV$QWO!Q%T!Q![CO![!^%T!_#R%T#R#SCO#S#o%T#p~%TyCVV$QWjqO!Q%T!Q![CO![!^%T!_#R%T#R#SCO#S#o%T#p~%T,TCs`$QW#X#vOYDuYZ%TZzDuz{Jl{!PDu!P!Q!-e!Q!^Du!^!_Fx!_!`!.^!`!a!/]!a!}Du!}#OHq#O#PJQ#P#oDu#o#pFx#p~DuXD|[$QWyPOYDuYZ%TZ!PDu!P!QEr!Q!^Du!^!_Fx!_!}Du!}#OHq#O#PJQ#P#oDu#o#pFx#p~DuXEy_$QWyPO!^%T!_#Z%T#Z#[Er#[#]%T#]#^Er#^#a%T#a#bEr#b#g%T#g#hEr#h#i%T#i#jEr#j#m%T#m#nEr#n#o%T#p~%TPF}VyPOYFxZ!PFx!P!QGd!Q!}Fx!}#OG{#O#PHh#P~FxPGiUyP#Z#[Gd#]#^Gd#a#bGd#g#hGd#i#jGd#m#nGdPHOTOYG{Z#OG{#O#PH_#P#QFx#Q~G{PHbQOYG{Z~G{PHkQOYFxZ~FxXHvY$QWOYHqYZ%TZ!^Hq!^!_G{!_#OHq#O#PIf#P#QDu#Q#oHq#o#pG{#p~HqXIkV$QWOYHqYZ%TZ!^Hq!^!_G{!_#oHq#o#pG{#p~HqXJVV$QWOYDuYZ%TZ!^Du!^!_Fx!_#oDu#o#pFx#p~Du,TJs^$QWyPOYJlYZKoZzJlz{NQ{!PJl!P!Q!,R!Q!^Jl!^!_!!]!_!}Jl!}#O!'|#O#P!+a#P#oJl#o#p!!]#p~Jl,TKtV$QWOzKoz{LZ{!^Ko!^!_M]!_#oKo#o#pM]#p~Ko,TL`X$QWOzKoz{LZ{!PKo!P!QL{!Q!^Ko!^!_M]!_#oKo#o#pM]#p~Ko,TMSR$QWT+{O!^%T!_#o%T#p~%T+{M`ROzM]z{Mi{~M]+{MlTOzM]z{Mi{!PM]!P!QM{!Q~M]+{NQOT+{,TNX^$QWyPOYJlYZKoZzJlz{NQ{!PJl!P!Q! T!Q!^Jl!^!_!!]!_!}Jl!}#O!'|#O#P!+a#P#oJl#o#p!!]#p~Jl,T! ^_$QWT+{yPO!^%T!_#Z%T#Z#[Er#[#]%T#]#^Er#^#a%T#a#bEr#b#g%T#g#hEr#h#i%T#i#jEr#j#m%T#m#nEr#n#o%T#p~%T+{!!bYyPOY!!]YZM]Zz!!]z{!#Q{!P!!]!P!Q!&x!Q!}!!]!}#O!$`#O#P!&f#P~!!]+{!#VYyPOY!!]YZM]Zz!!]z{!#Q{!P!!]!P!Q!#u!Q!}!!]!}#O!$`#O#P!&f#P~!!]+{!#|UT+{yP#Z#[Gd#]#^Gd#a#bGd#g#hGd#i#jGd#m#nGd+{!$cWOY!$`YZM]Zz!$`z{!${{#O!$`#O#P!&S#P#Q!!]#Q~!$`+{!%OYOY!$`YZM]Zz!$`z{!${{!P!$`!P!Q!%n!Q#O!$`#O#P!&S#P#Q!!]#Q~!$`+{!%sTT+{OYG{Z#OG{#O#PH_#P#QFx#Q~G{+{!&VTOY!$`YZM]Zz!$`z{!${{~!$`+{!&iTOY!!]YZM]Zz!!]z{!#Q{~!!]+{!&}_yPOzM]z{Mi{#ZM]#Z#[!&x#[#]M]#]#^!&x#^#aM]#a#b!&x#b#gM]#g#h!&x#h#iM]#i#j!&x#j#mM]#m#n!&x#n~M],T!(R[$QWOY!'|YZKoZz!'|z{!(w{!^!'|!^!_!$`!_#O!'|#O#P!*o#P#QJl#Q#o!'|#o#p!$`#p~!'|,T!(|^$QWOY!'|YZKoZz!'|z{!(w{!P!'|!P!Q!)x!Q!^!'|!^!_!$`!_#O!'|#O#P!*o#P#QJl#Q#o!'|#o#p!$`#p~!'|,T!*PY$QWT+{OYHqYZ%TZ!^Hq!^!_G{!_#OHq#O#PIf#P#QDu#Q#oHq#o#pG{#p~Hq,T!*tX$QWOY!'|YZKoZz!'|z{!(w{!^!'|!^!_!$`!_#o!'|#o#p!$`#p~!'|,T!+fX$QWOYJlYZKoZzJlz{NQ{!^Jl!^!_!!]!_#oJl#o#p!!]#p~Jl,T!,Yc$QWyPOzKoz{LZ{!^Ko!^!_M]!_#ZKo#Z#[!,R#[#]Ko#]#^!,R#^#aKo#a#b!,R#b#gKo#g#h!,R#h#iKo#i#j!,R#j#mKo#m#n!,R#n#oKo#o#pM]#p~Ko,T!-lV$QWS+{OY!-eYZ%TZ!^!-e!^!_!.R!_#o!-e#o#p!.R#p~!-e+{!.WQS+{OY!.RZ~!.R$P!.g[$QW#k#vyPOYDuYZ%TZ!PDu!P!QEr!Q!^Du!^!_Fx!_!}Du!}#OHq#O#PJQ#P#oDu#o#pFx#p~Du]!/f[#sS$QWyPOYDuYZ%TZ!PDu!P!QEr!Q!^Du!^!_Fx!_!}Du!}#OHq#O#PJQ#P#oDu#o#pFx#p~Duy!0cd$QWjqO!O%T!O!P@r!P!Q%T!Q![!1q![!^%T!_!g%T!g!hAl!h#R%T#R#S!1q#S#U%T#U#V!3X#V#X%T#X#YAl#Y#b%T#b#c!2w#c#d!4m#d#l%T#l#m!5{#m#o%T#p~%Ty!1x_$QWjqO!O%T!O!P@r!P!Q%T!Q![!1q![!^%T!_!g%T!g!hAl!h#R%T#R#S!1q#S#X%T#X#YAl#Y#b%T#b#c!2w#c#o%T#p~%Ty!3OR$QWjqO!^%T!_#o%T#p~%Ty!3^W$QWO!Q%T!Q!R!3v!R!S!3v!S!^%T!_#R%T#R#S!3v#S#o%T#p~%Ty!3}Y$QWjqO!Q%T!Q!R!3v!R!S!3v!S!^%T!_#R%T#R#S!3v#S#b%T#b#c!2w#c#o%T#p~%Ty!4rV$QWO!Q%T!Q!Y!5X!Y!^%T!_#R%T#R#S!5X#S#o%T#p~%Ty!5`X$QWjqO!Q%T!Q!Y!5X!Y!^%T!_#R%T#R#S!5X#S#b%T#b#c!2w#c#o%T#p~%Ty!6QZ$QWO!Q%T!Q![!6s![!^%T!_!c%T!c!i!6s!i#R%T#R#S!6s#S#T%T#T#Z!6s#Z#o%T#p~%Ty!6z]$QWjqO!Q%T!Q![!6s![!^%T!_!c%T!c!i!6s!i#R%T#R#S!6s#S#T%T#T#Z!6s#Z#b%T#b#c!2w#c#o%T#p~%T%w!7|R!XV$QW#i%hO!^%T!_#o%T#p~%T!P!8^R^w$QWO!^%T!_#o%T#p~%T+c!8rR']d!]%Y#t&s'zP!P!Q!8{!^!_!9Q!_!`!9_W!9QO$SW#v!9VP#[#v!_!`!9Y#v!9_O#k#v#v!9dO#]#v%w!9kT!w%o$QWO!^%T!_!`'v!`!a!9z!a#o%T#p~%T$P!:RR#S#w$QWO!^%T!_#o%T#p~%T%w!:gT'[!s#]#v#}S$QWO!^%T!_!`!:v!`!a!;W!a#o%T#p~%T$O!:}R#]#v$QWO!^%T!_#o%T#p~%T$O!;_T#[#v$QWO!^%T!_!`5T!`!a!;n!a#o%T#p~%T$O!;uS#[#v$QWO!^%T!_!`5T!`#o%T#p~%T%w!<YV'n%o$QWO!O%T!O!P!<o!P!^%T!_!a%T!a!b!=P!b#o%T#p~%T$`!<vRs$W$QWO!^%T!_#o%T#p~%T$O!=WS$QW#f#vO!^%T!_!`5T!`#o%T#p~%T&e!=kRu&]$QWO!^%T!_#o%T#p~%TZ!={RzR$QWO!^%T!_#o%T#p~%T$O!>]S#c#v$QWO!^%T!_!`5T!`#o%T#p~%T$P!>pR$QW'a#wO!^%T!_#o%T#p~%T~!?OO!P~%r!?VT'u%j$QWO!^%T!_!`5T!`#o%T#p#q!=P#q~%T$u!?oR!O$k$QW'cQO!^%T!_#o%T#p~%TX!@PR!gP$QWO!^%T!_#o%T#p~%T,T!@gr$QW'T+{#vS'W%k'dpOX%TXY%cYZ%TZ[%c[p%Tpq%cqt%Ttu2`u}%T}!O3j!O!Q%T!Q![2`![!^%T!_!c%T!c!}2`!}#R%T#R#S2`#S#T%T#T#o2`#p$f%T$f$g%c$g#BY2`#BY#BZ!@Y#BZ$IS2`$IS$I_!@Y$I_$JT2`$JT$JU!@Y$JU$KV2`$KV$KW!@Y$KW&FU2`&FU&FV!@Y&FV?HT2`?HT?HU!@Y?HU~2`,T!CO_$QW'U+{#vS'W%k'dpOt%Ttu2`u}%T}!O3j!O!Q%T!Q![2`![!^%T!_!c%T!c!}2`!}#R%T#R#S2`#S#T%T#T#o2`#p$g%T$g~2`", -+ tokenData: "!F_~R!`OX%TXY%cYZ'RZ[%c[]%T]^'R^p%Tpq%cqr'crs(kst0htu2`uv4pvw5ewx6cxy<yyz=Zz{=k{|>k|}?O}!O>k!O!P?`!P!QCl!Q!R!0[!R![!1q![!]!7s!]!^!8V!^!_!8g!_!`!9d!`!a!:[!a!b!<R!b!c%T!c!}2`!}#O!=d#O#P%T#P#Q!=t#Q#R!>U#R#S2`#S#T!>i#T#o!>y#o#p!AZ#p#q!A`#q#r!Av#r#s!BY#s$f%T$f$g%c$g#BY2`#BY#BZ!Bj#BZ$IS2`$IS$I_!Bj$I_$I|2`$I|$I}!ER$I}$JO!ER$JO$JT2`$JT$JU!Bj$JU$KV2`$KV$KW!Bj$KW&FU2`&FU&FV!Bj&FV?HT2`?HT?HU!Bj?HU~2`W%YR$SWO!^%T!_#o%T#p~%T,T%jg$SW'V+{OX%TXY%cYZ%TZ[%c[p%Tpq%cq!^%T!_#o%T#p$f%T$f$g%c$g#BY%T#BY#BZ%c#BZ$IS%T$IS$I_%c$I_$JT%T$JT$JU%c$JU$KV%T$KV$KW%c$KW&FU%T&FU&FV%c&FV?HT%T?HT?HU%c?HU~%T,T'YR$SW'W+{O!^%T!_#o%T#p~%T$T'jS$SW!f#{O!^%T!_!`'v!`#o%T#p~%T$O'}S#a#v$SWO!^%T!_!`(Z!`#o%T#p~%T$O(bR#a#v$SWO!^%T!_#o%T#p~%T'u(rZ$SW]!ROY(kYZ)eZr(krs*rs!^(k!^!_+U!_#O(k#O#P-b#P#o(k#o#p+U#p~(k&r)jV$SWOr)ers*Ps!^)e!^!_*a!_#o)e#o#p*a#p~)e&r*WR#}&j$SWO!^%T!_#o%T#p~%T&j*dROr*ars*ms~*a&j*rO#}&j'u*{R#}&j$SW]!RO!^%T!_#o%T#p~%T'm+ZV]!ROY+UYZ*aZr+Urs+ps#O+U#O#P+w#P~+U'm+wO#}&j]!R'm+zROr+Urs,Ts~+U'm,[U#}&j]!ROY,nZr,nrs-Vs#O,n#O#P-[#P~,n!R,sU]!ROY,nZr,nrs-Vs#O,n#O#P-[#P~,n!R-[O]!R!R-_PO~,n'u-gV$SWOr(krs-|s!^(k!^!_+U!_#o(k#o#p+U#p~(k'u.VZ#}&j$SW]!ROY.xYZ%TZr.xrs/rs!^.x!^!_,n!_#O.x#O#P0S#P#o.x#o#p,n#p~.x!Z/PZ$SW]!ROY.xYZ%TZr.xrs/rs!^.x!^!_,n!_#O.x#O#P0S#P#o.x#o#p,n#p~.x!Z/yR$SW]!RO!^%T!_#o%T#p~%T!Z0XT$SWO!^.x!^!_,n!_#o.x#o#p,n#p~.xy0mZ$SWOt%Ttu1`u!^%T!_!c%T!c!}1`!}#R%T#R#S1`#S#T%T#T#o1`#p$g%T$g~1`y1g]$SW'oqOt%Ttu1`u!Q%T!Q![1`![!^%T!_!c%T!c!}1`!}#R%T#R#S1`#S#T%T#T#o1`#p$g%T$g~1`&i2k_$SW'fp'Y%k#vSOt%Ttu2`u}%T}!O3j!O!Q%T!Q![2`![!^%T!_!c%T!c!}2`!}#R%T#R#S2`#S#T%T#T#o2`#p$g%T$g~2`[3q_$SW#vSOt%Ttu3ju}%T}!O3j!O!Q%T!Q![3j![!^%T!_!c%T!c!}3j!}#R%T#R#S3j#S#T%T#T#o3j#p$g%T$g~3j$O4wS#Y#v$SWO!^%T!_!`5T!`#o%T#p~%T$O5[R$SW#k#vO!^%T!_#o%T#p~%T%r5lU'x%j$SWOv%Tvw6Ow!^%T!_!`5T!`#o%T#p~%T$O6VS$SW#e#vO!^%T!_!`5T!`#o%T#p~%T'u6jZ$SW]!ROY6cYZ7]Zw6cwx*rx!^6c!^!_8T!_#O6c#O#P:T#P#o6c#o#p8T#p~6c&r7bV$SWOw7]wx*Px!^7]!^!_7w!_#o7]#o#p7w#p~7]&j7zROw7wwx*mx~7w'm8YV]!ROY8TYZ7wZw8Twx+px#O8T#O#P8o#P~8T'm8rROw8Twx8{x~8T'm9SU#}&j]!ROY9fZw9fwx-Vx#O9f#O#P9}#P~9f!R9kU]!ROY9fZw9fwx-Vx#O9f#O#P9}#P~9f!R:QPO~9f'u:YV$SWOw6cwx:ox!^6c!^!_8T!_#o6c#o#p8T#p~6c'u:xZ#}&j$SW]!ROY;kYZ%TZw;kwx/rx!^;k!^!_9f!_#O;k#O#P<e#P#o;k#o#p9f#p~;k!Z;rZ$SW]!ROY;kYZ%TZw;kwx/rx!^;k!^!_9f!_#O;k#O#P<e#P#o;k#o#p9f#p~;k!Z<jT$SWO!^;k!^!_9f!_#o;k#o#p9f#p~;k%V=QR!`$}$SWO!^%T!_#o%T#p~%TZ=bR!_R$SWO!^%T!_#o%T#p~%T%R=tU'Z!R#Z#v$SWOz%Tz{>W{!^%T!_!`5T!`#o%T#p~%T$O>_S#W#v$SWO!^%T!_!`5T!`#o%T#p~%T$u>rSi$m$SWO!^%T!_!`5T!`#o%T#p~%T&i?VR}&a$SWO!^%T!_#o%T#p~%T&i?gVr%n$SWO!O%T!O!P?|!P!Q%T!Q![@r![!^%T!_#o%T#p~%Ty@RT$SWO!O%T!O!P@b!P!^%T!_#o%T#p~%Ty@iR|q$SWO!^%T!_#o%T#p~%Ty@yZ$SWjqO!Q%T!Q![@r![!^%T!_!g%T!g!hAl!h#R%T#R#S@r#S#X%T#X#YAl#Y#o%T#p~%TyAqZ$SWO{%T{|Bd|}%T}!OBd!O!Q%T!Q![CO![!^%T!_#R%T#R#SCO#S#o%T#p~%TyBiV$SWO!Q%T!Q![CO![!^%T!_#R%T#R#SCO#S#o%T#p~%TyCVV$SWjqO!Q%T!Q![CO![!^%T!_#R%T#R#SCO#S#o%T#p~%T,TCs`$SW#X#vOYDuYZ%TZzDuz{Jl{!PDu!P!Q!-e!Q!^Du!^!_Fx!_!`!.^!`!a!/]!a!}Du!}#OHq#O#PJQ#P#oDu#o#pFx#p~DuXD|[$SWyPOYDuYZ%TZ!PDu!P!QEr!Q!^Du!^!_Fx!_!}Du!}#OHq#O#PJQ#P#oDu#o#pFx#p~DuXEy_$SWyPO!^%T!_#Z%T#Z#[Er#[#]%T#]#^Er#^#a%T#a#bEr#b#g%T#g#hEr#h#i%T#i#jEr#j#m%T#m#nEr#n#o%T#p~%TPF}VyPOYFxZ!PFx!P!QGd!Q!}Fx!}#OG{#O#PHh#P~FxPGiUyP#Z#[Gd#]#^Gd#a#bGd#g#hGd#i#jGd#m#nGdPHOTOYG{Z#OG{#O#PH_#P#QFx#Q~G{PHbQOYG{Z~G{PHkQOYFxZ~FxXHvY$SWOYHqYZ%TZ!^Hq!^!_G{!_#OHq#O#PIf#P#QDu#Q#oHq#o#pG{#p~HqXIkV$SWOYHqYZ%TZ!^Hq!^!_G{!_#oHq#o#pG{#p~HqXJVV$SWOYDuYZ%TZ!^Du!^!_Fx!_#oDu#o#pFx#p~Du,TJs^$SWyPOYJlYZKoZzJlz{NQ{!PJl!P!Q!,R!Q!^Jl!^!_!!]!_!}Jl!}#O!'|#O#P!+a#P#oJl#o#p!!]#p~Jl,TKtV$SWOzKoz{LZ{!^Ko!^!_M]!_#oKo#o#pM]#p~Ko,TL`X$SWOzKoz{LZ{!PKo!P!QL{!Q!^Ko!^!_M]!_#oKo#o#pM]#p~Ko,TMSR$SWT+{O!^%T!_#o%T#p~%T+{M`ROzM]z{Mi{~M]+{MlTOzM]z{Mi{!PM]!P!QM{!Q~M]+{NQOT+{,TNX^$SWyPOYJlYZKoZzJlz{NQ{!PJl!P!Q! T!Q!^Jl!^!_!!]!_!}Jl!}#O!'|#O#P!+a#P#oJl#o#p!!]#p~Jl,T! ^_$SWT+{yPO!^%T!_#Z%T#Z#[Er#[#]%T#]#^Er#^#a%T#a#bEr#b#g%T#g#hEr#h#i%T#i#jEr#j#m%T#m#nEr#n#o%T#p~%T+{!!bYyPOY!!]YZM]Zz!!]z{!#Q{!P!!]!P!Q!&x!Q!}!!]!}#O!$`#O#P!&f#P~!!]+{!#VYyPOY!!]YZM]Zz!!]z{!#Q{!P!!]!P!Q!#u!Q!}!!]!}#O!$`#O#P!&f#P~!!]+{!#|UT+{yP#Z#[Gd#]#^Gd#a#bGd#g#hGd#i#jGd#m#nGd+{!$cWOY!$`YZM]Zz!$`z{!${{#O!$`#O#P!&S#P#Q!!]#Q~!$`+{!%OYOY!$`YZM]Zz!$`z{!${{!P!$`!P!Q!%n!Q#O!$`#O#P!&S#P#Q!!]#Q~!$`+{!%sTT+{OYG{Z#OG{#O#PH_#P#QFx#Q~G{+{!&VTOY!$`YZM]Zz!$`z{!${{~!$`+{!&iTOY!!]YZM]Zz!!]z{!#Q{~!!]+{!&}_yPOzM]z{Mi{#ZM]#Z#[!&x#[#]M]#]#^!&x#^#aM]#a#b!&x#b#gM]#g#h!&x#h#iM]#i#j!&x#j#mM]#m#n!&x#n~M],T!(R[$SWOY!'|YZKoZz!'|z{!(w{!^!'|!^!_!$`!_#O!'|#O#P!*o#P#QJl#Q#o!'|#o#p!$`#p~!'|,T!(|^$SWOY!'|YZKoZz!'|z{!(w{!P!'|!P!Q!)x!Q!^!'|!^!_!$`!_#O!'|#O#P!*o#P#QJl#Q#o!'|#o#p!$`#p~!'|,T!*PY$SWT+{OYHqYZ%TZ!^Hq!^!_G{!_#OHq#O#PIf#P#QDu#Q#oHq#o#pG{#p~Hq,T!*tX$SWOY!'|YZKoZz!'|z{!(w{!^!'|!^!_!$`!_#o!'|#o#p!$`#p~!'|,T!+fX$SWOYJlYZKoZzJlz{NQ{!^Jl!^!_!!]!_#oJl#o#p!!]#p~Jl,T!,Yc$SWyPOzKoz{LZ{!^Ko!^!_M]!_#ZKo#Z#[!,R#[#]Ko#]#^!,R#^#aKo#a#b!,R#b#gKo#g#h!,R#h#iKo#i#j!,R#j#mKo#m#n!,R#n#oKo#o#pM]#p~Ko,T!-lV$SWS+{OY!-eYZ%TZ!^!-e!^!_!.R!_#o!-e#o#p!.R#p~!-e+{!.WQS+{OY!.RZ~!.R$P!.g[$SW#k#vyPOYDuYZ%TZ!PDu!P!QEr!Q!^Du!^!_Fx!_!}Du!}#OHq#O#PJQ#P#oDu#o#pFx#p~Du]!/f[#sS$SWyPOYDuYZ%TZ!PDu!P!QEr!Q!^Du!^!_Fx!_!}Du!}#OHq#O#PJQ#P#oDu#o#pFx#p~Duy!0cd$SWjqO!O%T!O!P@r!P!Q%T!Q![!1q![!^%T!_!g%T!g!hAl!h#R%T#R#S!1q#S#U%T#U#V!3X#V#X%T#X#YAl#Y#b%T#b#c!2w#c#d!4m#d#l%T#l#m!5{#m#o%T#p~%Ty!1x_$SWjqO!O%T!O!P@r!P!Q%T!Q![!1q![!^%T!_!g%T!g!hAl!h#R%T#R#S!1q#S#X%T#X#YAl#Y#b%T#b#c!2w#c#o%T#p~%Ty!3OR$SWjqO!^%T!_#o%T#p~%Ty!3^W$SWO!Q%T!Q!R!3v!R!S!3v!S!^%T!_#R%T#R#S!3v#S#o%T#p~%Ty!3}Y$SWjqO!Q%T!Q!R!3v!R!S!3v!S!^%T!_#R%T#R#S!3v#S#b%T#b#c!2w#c#o%T#p~%Ty!4rV$SWO!Q%T!Q!Y!5X!Y!^%T!_#R%T#R#S!5X#S#o%T#p~%Ty!5`X$SWjqO!Q%T!Q!Y!5X!Y!^%T!_#R%T#R#S!5X#S#b%T#b#c!2w#c#o%T#p~%Ty!6QZ$SWO!Q%T!Q![!6s![!^%T!_!c%T!c!i!6s!i#R%T#R#S!6s#S#T%T#T#Z!6s#Z#o%T#p~%Ty!6z]$SWjqO!Q%T!Q![!6s![!^%T!_!c%T!c!i!6s!i#R%T#R#S!6s#S#T%T#T#Z!6s#Z#b%T#b#c!2w#c#o%T#p~%T%w!7|R!XV$SW#i%hO!^%T!_#o%T#p~%T!P!8^R^w$SWO!^%T!_#o%T#p~%T+c!8rR'_d!]%Y#t&s'|P!P!Q!8{!^!_!9Q!_!`!9_W!9QO$UW#v!9VP#[#v!_!`!9Y#v!9_O#k#v#v!9dO#]#v%w!9kT!w%o$SWO!^%T!_!`'v!`!a!9z!a#o%T#p~%T$P!:RR#S#w$SWO!^%T!_#o%T#p~%T%w!:gT'^!s#]#v$PS$SWO!^%T!_!`!:v!`!a!;W!a#o%T#p~%T$O!:}R#]#v$SWO!^%T!_#o%T#p~%T$O!;_T#[#v$SWO!^%T!_!`5T!`!a!;n!a#o%T#p~%T$O!;uS#[#v$SWO!^%T!_!`5T!`#o%T#p~%T%w!<YV'p%o$SWO!O%T!O!P!<o!P!^%T!_!a%T!a!b!=P!b#o%T#p~%T$`!<vRs$W$SWO!^%T!_#o%T#p~%T$O!=WS$SW#f#vO!^%T!_!`5T!`#o%T#p~%T&e!=kRu&]$SWO!^%T!_#o%T#p~%TZ!={RzR$SWO!^%T!_#o%T#p~%T$O!>]S#c#v$SWO!^%T!_!`5T!`#o%T#p~%T$P!>pR$SW'c#wO!^%T!_#o%T#p~%T&i!?U_$SW'fp'Y%k#xSOt%Ttu!>yu}%T}!O!@T!O!Q%T!Q![!>y![!^%T!_!c%T!c!}!>y!}#R%T#R#S!>y#S#T%T#T#o!>y#p$g%T$g~!>y[!@[_$SW#xSOt%Ttu!@Tu}%T}!O!@T!O!Q%T!Q![!@T![!^%T!_!c%T!c!}!@T!}#R%T#R#S!@T#S#T%T#T#o!@T#p$g%T$g~!@T~!A`O!P~%r!AgT'w%j$SWO!^%T!_!`5T!`#o%T#p#q!=P#q~%T$u!BPR!O$k$SW'eQO!^%T!_#o%T#p~%TX!BaR!gP$SWO!^%T!_#o%T#p~%T,T!Bwr$SW'V+{'fp'Y%k#vSOX%TXY%cYZ%TZ[%c[p%Tpq%cqt%Ttu2`u}%T}!O3j!O!Q%T!Q![2`![!^%T!_!c%T!c!}2`!}#R%T#R#S2`#S#T%T#T#o2`#p$f%T$f$g%c$g#BY2`#BY#BZ!Bj#BZ$IS2`$IS$I_!Bj$I_$JT2`$JT$JU!Bj$JU$KV2`$KV$KW!Bj$KW&FU2`&FU&FV!Bj&FV?HT2`?HT?HU!Bj?HU~2`,T!E`_$SW'W+{'fp'Y%k#vSOt%Ttu2`u}%T}!O3j!O!Q%T!Q![2`![!^%T!_!c%T!c!}2`!}#R%T#R#S2`#S#T%T#T#o2`#p$g%T$g~2`", - tokenizers: [noSemicolon, incdecToken, template, 0, 1, 2, 3, 4, 5, 6, 7, 8, insertSemicolon], - topRules: {"Script":[0,6]}, -- dialects: {jsx: 11282, ts: 11284}, -- dynamicPrecedences: {"145":1,"172":1}, -- specialized: [{term: 284, get: (value, stack) => (tsExtends(value, stack) << 1)},{term: 284, get: value => spec_identifier[value] || -1},{term: 296, get: value => spec_word[value] || -1},{term: 59, get: value => spec_LessThan[value] || -1}], -- tokenPrec: 11305 -+ dialects: {jsx: 11332, ts: 11334}, -+ dynamicPrecedences: {"147":1,"174":1}, -+ specialized: [{term: 286, get: (value, stack) => (tsExtends(value, stack) << 1)},{term: 286, get: value => spec_identifier[value] || -1},{term: 298, get: value => spec_word[value] || -1},{term: 59, get: value => spec_LessThan[value] || -1}], -+ tokenPrec: 11355 - }) -diff --git a/node_modules/@lezer/javascript/src/parser.terms.js b/node_modules/@lezer/javascript/src/parser.terms.js -index fc7710f..49e292f 100644 ---- a/node_modules/@lezer/javascript/src/parser.terms.js -+++ b/node_modules/@lezer/javascript/src/parser.terms.js -@@ -1,15 +1,15 @@ - // This file was generated by lezer-generator. You probably shouldn't edit it. - export const -- noSemi = 275, -+ noSemi = 277, - incdec = 1, - incdecPrefix = 2, -- templateContent = 276, -- templateDollarBrace = 277, -- templateEnd = 278, -- insertSemi = 279, -+ templateContent = 278, -+ templateDollarBrace = 279, -+ templateEnd = 280, -+ insertSemi = 281, - TSExtends = 3, -- spaces = 281, -- newline = 282, -+ spaces = 283, -+ newline = 284, - LineComment = 4, - BlockComment = 5, - Script = 6, -@@ -61,38 +61,39 @@ export const - JSXStartTag = 128, - JSXSelfClosingTag = 129, - JSXIdentifier = 130, -- JSXNamespacedName = 131, -- JSXMemberExpression = 132, -- JSXAttributeValue = 135, -- JSXEndTag = 137, -- JSXOpenTag = 138, -- JSXFragmentTag = 139, -- JSXText = 140, -- JSXEscape = 141, -- JSXStartCloseTag = 142, -- JSXCloseTag = 143, -- SequenceExpression = 147, -- TypeName = 155, -- ParamTypeList = 158, -- IndexedType = 160, -- Label = 162, -- ObjectType = 165, -- MethodType = 166, -- PropertyType = 167, -- IndexSignature = 168, -- TypePredicate = 170, -- ClassDeclaration = 180, -- VariableDeclaration = 184, -- TypeAliasDeclaration = 187, -- InterfaceDeclaration = 188, -- EnumDeclaration = 190, -- NamespaceDeclaration = 193, -- AmbientDeclaration = 196, -- ExportGroup = 204, -- ImportDeclaration = 207, -- ImportGroup = 208, -- ForSpec = 211, -- ForInSpec = 212, -- ForOfSpec = 213, -+ JSXLowerIdentifier = 132, -+ JSXNamespacedName = 133, -+ JSXMemberExpression = 134, -+ JSXAttributeValue = 137, -+ JSXEndTag = 139, -+ JSXOpenTag = 140, -+ JSXFragmentTag = 141, -+ JSXText = 142, -+ JSXEscape = 143, -+ JSXStartCloseTag = 144, -+ JSXCloseTag = 145, -+ SequenceExpression = 149, -+ TypeName = 157, -+ ParamTypeList = 160, -+ IndexedType = 162, -+ Label = 164, -+ ObjectType = 167, -+ MethodType = 168, -+ PropertyType = 169, -+ IndexSignature = 170, -+ TypePredicate = 172, -+ ClassDeclaration = 182, -+ VariableDeclaration = 186, -+ TypeAliasDeclaration = 189, -+ InterfaceDeclaration = 190, -+ EnumDeclaration = 192, -+ NamespaceDeclaration = 195, -+ AmbientDeclaration = 198, -+ ExportGroup = 206, -+ ImportDeclaration = 209, -+ ImportGroup = 210, -+ ForSpec = 213, -+ ForInSpec = 214, -+ ForOfSpec = 215, - Dialect_jsx = 0, - Dialect_ts = 1 diff --git a/src/components/MDX/CodeBlock/CodeBlock.tsx b/src/components/MDX/CodeBlock/CodeBlock.tsx index 21ab31e7..7eef0abe 100644 --- a/src/components/MDX/CodeBlock/CodeBlock.tsx +++ b/src/components/MDX/CodeBlock/CodeBlock.tsx @@ -3,11 +3,14 @@ */ import cn from 'classnames'; -import {highlightTree, HighlightStyle, tags} from '@codemirror/highlight'; +import {HighlightStyle} from '@codemirror/language'; +import {highlightTree} from '@lezer/highlight'; import {javascript} from '@codemirror/lang-javascript'; import {html} from '@codemirror/lang-html'; import {css} from '@codemirror/lang-css'; import rangeParser from 'parse-numeric-range'; +import {tags} from '@lezer/highlight'; + import {CustomTheme} from '../Sandpack/Themes'; interface InlineHighlight { @@ -52,7 +55,7 @@ const CodeBlock = function CodeBlock({ let tokenStarts = new Map(); let tokenEnds = new Map(); const highlightTheme = getSyntaxHighlight(CustomTheme); - highlightTree(tree, highlightTheme.match, (from, to, className) => { + highlightTree(tree, highlightTheme, (from, to, className) => { tokenStarts.set(from, className); tokenEnds.set(to, className); }); diff --git a/src/components/MDX/Sandpack/Console.tsx b/src/components/MDX/Sandpack/Console.tsx index 85daee1f..b5276fc1 100644 --- a/src/components/MDX/Sandpack/Console.tsx +++ b/src/components/MDX/Sandpack/Console.tsx @@ -5,7 +5,10 @@ import cn from 'classnames'; import {useState, useRef, useEffect} from 'react'; import {IconChevron} from 'components/Icon/IconChevron'; -import {SandpackCodeViewer, useSandpack} from '@codesandbox/sandpack-react'; +import { + SandpackCodeViewer, + useSandpack, +} from '@codesandbox/sandpack-react/unstyled'; import type {SandpackMessageConsoleMethods} from '@codesandbox/sandpack-client'; const getType = ( diff --git a/src/components/MDX/Sandpack/CustomPreset.tsx b/src/components/MDX/Sandpack/CustomPreset.tsx index 7b4d9dee..c133e2a8 100644 --- a/src/components/MDX/Sandpack/CustomPreset.tsx +++ b/src/components/MDX/Sandpack/CustomPreset.tsx @@ -7,9 +7,8 @@ import { useSandpack, useActiveCode, SandpackCodeEditor, - // SandpackReactDevTools, SandpackLayout, -} from '@codesandbox/sandpack-react'; +} from '@codesandbox/sandpack-react/unstyled'; import cn from 'classnames'; import {IconChevron} from 'components/Icon/IconChevron'; @@ -19,14 +18,8 @@ import {Preview} from './Preview'; import {useSandpackLint} from './useSandpackLint'; export const CustomPreset = memo(function CustomPreset({ - showDevTools, - onDevToolsLoad, - devToolsLoaded, providedFiles, }: { - showDevTools: boolean; - devToolsLoaded: boolean; - onDevToolsLoad: () => void; providedFiles: Array<string>; }) { const {lintErrors, lintExtensions} = useSandpackLint(); @@ -41,9 +34,6 @@ export const CustomPreset = memo(function CustomPreset({ const isExpandable = lineCount > 16; return ( <SandboxShell - showDevTools={showDevTools} - onDevToolsLoad={onDevToolsLoad} - devToolsLoaded={devToolsLoaded} providedFiles={providedFiles} lintErrors={lintErrors} lintExtensions={lintExtensions} @@ -53,16 +43,11 @@ export const CustomPreset = memo(function CustomPreset({ }); const SandboxShell = memo(function SandboxShell({ - showDevTools, - devToolsLoaded, providedFiles, lintErrors, lintExtensions, isExpandable, }: { - showDevTools: boolean; - devToolsLoaded: boolean; - onDevToolsLoad: () => void; providedFiles: Array<string>; lintErrors: Array<any>; lintExtensions: Array<any>; @@ -81,7 +66,6 @@ const SandboxShell = memo(function SandboxShell({ <NavigationBar providedFiles={providedFiles} /> <SandpackLayout className={cn( - showDevTools && devToolsLoaded && 'sp-layout-devtools', !(isExpandable || isExpanded) && 'rounded-b-lg overflow-hidden', isExpanded && 'sp-layout-expanded' )}> @@ -123,11 +107,6 @@ const SandboxShell = memo(function SandboxShell({ </button> )} </SandpackLayout> - - {/* {showDevTools && ( - // @ts-ignore TODO(@danilowoz): support devtools - <SandpackReactDevTools onLoadModule={onDevToolsLoad} /> - )} */} </div> </> ); diff --git a/src/components/MDX/Sandpack/DownloadButton.tsx b/src/components/MDX/Sandpack/DownloadButton.tsx index 75ed0c32..d6b1c329 100644 --- a/src/components/MDX/Sandpack/DownloadButton.tsx +++ b/src/components/MDX/Sandpack/DownloadButton.tsx @@ -3,7 +3,7 @@ */ import {useSyncExternalStore} from 'react'; -import {useSandpack} from '@codesandbox/sandpack-react'; +import {useSandpack} from '@codesandbox/sandpack-react/unstyled'; import {IconDownload} from '../../Icon/IconDownload'; export interface DownloadButtonProps {} diff --git a/src/components/MDX/Sandpack/LoadingOverlay.tsx b/src/components/MDX/Sandpack/LoadingOverlay.tsx index 7c261866..cd3f38fc 100644 --- a/src/components/MDX/Sandpack/LoadingOverlay.tsx +++ b/src/components/MDX/Sandpack/LoadingOverlay.tsx @@ -4,7 +4,7 @@ import { LoadingOverlayState, OpenInCodeSandboxButton, useSandpack, -} from '@codesandbox/sandpack-react'; +} from '@codesandbox/sandpack-react/unstyled'; import {useEffect} from 'react'; const FADE_ANIMATION_DURATION = 200; diff --git a/src/components/MDX/Sandpack/NavigationBar.tsx b/src/components/MDX/Sandpack/NavigationBar.tsx index 1392ea7d..26ed5783 100644 --- a/src/components/MDX/Sandpack/NavigationBar.tsx +++ b/src/components/MDX/Sandpack/NavigationBar.tsx @@ -15,7 +15,7 @@ import { FileTabs, useSandpack, useSandpackNavigation, -} from '@codesandbox/sandpack-react'; +} from '@codesandbox/sandpack-react/unstyled'; import {OpenInCodeSandboxButton} from './OpenInCodeSandboxButton'; import {ResetButton} from './ResetButton'; import {DownloadButton} from './DownloadButton'; diff --git a/src/components/MDX/Sandpack/OpenInCodeSandboxButton.tsx b/src/components/MDX/Sandpack/OpenInCodeSandboxButton.tsx index 78286aea..a27122ed 100644 --- a/src/components/MDX/Sandpack/OpenInCodeSandboxButton.tsx +++ b/src/components/MDX/Sandpack/OpenInCodeSandboxButton.tsx @@ -2,7 +2,7 @@ * Copyright (c) Facebook, Inc. and its affiliates. */ -import {UnstyledOpenInCodeSandboxButton} from '@codesandbox/sandpack-react'; +import {UnstyledOpenInCodeSandboxButton} from '@codesandbox/sandpack-react/unstyled'; import {IconNewPage} from '../../Icon/IconNewPage'; export const OpenInCodeSandboxButton = () => { diff --git a/src/components/MDX/Sandpack/Preview.tsx b/src/components/MDX/Sandpack/Preview.tsx index 6b7a6d18..8d83d986 100644 --- a/src/components/MDX/Sandpack/Preview.tsx +++ b/src/components/MDX/Sandpack/Preview.tsx @@ -4,7 +4,7 @@ /* eslint-disable react-hooks/exhaustive-deps */ import {useRef, useState, useEffect, useMemo, useId} from 'react'; -import {useSandpack, SandpackStack} from '@codesandbox/sandpack-react'; +import {useSandpack, SandpackStack} from '@codesandbox/sandpack-react/unstyled'; import cn from 'classnames'; import {ErrorMessage} from './ErrorMessage'; import {SandpackConsole} from './Console'; @@ -42,14 +42,7 @@ export function Preview({ null ); - let { - error: rawError, - registerBundler, - unregisterBundler, - errorScreenRegisteredRef, - openInCSBRegisteredRef, - loadingScreenRegisteredRef, - } = sandpack; + let {error: rawError, registerBundler, unregisterBundler} = sandpack; if ( rawError && @@ -88,12 +81,6 @@ export function Preview({ const clientId = useId(); const iframeRef = useRef<HTMLIFrameElement | null>(null); - // SandpackPreview immediately registers the custom screens/components so the bundler does not render any of them - // TODO: why are we doing this during render? - openInCSBRegisteredRef.current = true; - errorScreenRegisteredRef.current = true; - loadingScreenRegisteredRef.current = true; - const sandpackIdle = sandpack.status === 'idle'; useEffect(function createBundler() { diff --git a/src/components/MDX/Sandpack/SandpackRoot.tsx b/src/components/MDX/Sandpack/SandpackRoot.tsx index f710f8fe..df0c757f 100644 --- a/src/components/MDX/Sandpack/SandpackRoot.tsx +++ b/src/components/MDX/Sandpack/SandpackRoot.tsx @@ -2,9 +2,9 @@ * Copyright (c) Facebook, Inc. and its affiliates. */ -import {Children, useState} from 'react'; +import {Children} from 'react'; import * as React from 'react'; -import {SandpackProvider} from '@codesandbox/sandpack-react'; +import {SandpackProvider} from '@codesandbox/sandpack-react/unstyled'; import {SandpackLogLevel} from '@codesandbox/sandpack-client'; import {CustomPreset} from './CustomPreset'; import {createFileMap} from './createFileMap'; @@ -13,7 +13,6 @@ import {CustomTheme} from './Themes'; type SandpackProps = { children: React.ReactNode; autorun?: boolean; - showDevTools?: boolean; }; const sandboxStyle = ` @@ -67,8 +66,7 @@ ul { `.trim(); function SandpackRoot(props: SandpackProps) { - let {children, autorun = true, showDevTools = false} = props; - const [devToolsLoaded, setDevToolsLoaded] = useState(false); + let {children, autorun = true} = props; const codeSnippets = Children.toArray(children) as React.ReactElement[]; const files = createFileMap(codeSnippets); @@ -90,12 +88,7 @@ function SandpackRoot(props: SandpackProps) { bundlerURL: 'https://1e4ad8f7.sandpack-bundler-4bw.pages.dev', logLevel: SandpackLogLevel.None, }}> - <CustomPreset - showDevTools={showDevTools} - onDevToolsLoad={() => setDevToolsLoaded(true)} - devToolsLoaded={devToolsLoaded} - providedFiles={Object.keys(files)} - /> + <CustomPreset providedFiles={Object.keys(files)} /> </SandpackProvider> </div> ); diff --git a/src/components/MDX/Sandpack/createFileMap.ts b/src/components/MDX/Sandpack/createFileMap.ts index 89d53cfd..6fc160c4 100644 --- a/src/components/MDX/Sandpack/createFileMap.ts +++ b/src/components/MDX/Sandpack/createFileMap.ts @@ -2,7 +2,7 @@ * Copyright (c) Facebook, Inc. and its affiliates. */ -import type {SandpackFile} from '@codesandbox/sandpack-react'; +import type {SandpackFile} from '@codesandbox/sandpack-react/unstyled'; export const createFileMap = (codeSnippets: any) => { return codeSnippets.reduce( diff --git a/src/content/community/conferences.md b/src/content/community/conferences.md index 2f67c475..6e1780a7 100644 --- a/src/content/community/conferences.md +++ b/src/content/community/conferences.md @@ -40,7 +40,7 @@ October 5 - 7, 2023. In-person in Goa, India (hybrid event) + Oct 3 2023 - remot [Website](https://www.reactindia.io) - [Twitter](https://twitter.com/react_india) - [Facebook](https://www.facebook.com/ReactJSIndia) - [Youtube](https://www.youtube.com/channel/UCaFbHCBkPvVv1bWs_jwYt3w) -### React Brussels 2023 {/*react-brussels-2023*/} +### React Brussels 2023 {/*react-brussels-2023*/} October 13th 2023. In-person in Brussels, Belgium + Remote (hybrid) [Website](https://www.react.brussels/) - [Twitter](https://twitter.com/BrusselsReact) diff --git a/src/styles/sandpack.css b/src/styles/sandpack.css index d211c8ab..1ae3d3bb 100644 --- a/src/styles/sandpack.css +++ b/src/styles/sandpack.css @@ -199,8 +199,7 @@ html.dark .sp-wrapper { background: var(--sp-colors-surface1); } -.sandpack .sp-code-editor .cm-editor, -.sandpack .sp-code-editor .cm-editor .cm-gutters { +.sandpack .sp-code-editor .cm-editor { background-color: transparent; } @@ -262,8 +261,6 @@ html.dark .sp-wrapper { } .sp-code-editor .sp-cm .cm-scroller { - overflow-x: hidden; - overflow-y: auto; padding-top: 18px; } @@ -548,20 +545,6 @@ html.dark .sandpack--playground .sp-overlay { @apply text-secondary; } -/** - * Integrations: React devtools inline - */ -.sandpack .sp-devtools { - border-bottom-left-radius: 0.5rem; - border-bottom-right-radius: 0.5rem; - overflow: hidden; -} - -.sandpack .sp-wrapper .sp-layout-devtools { - border-bottom-left-radius: 0; - border-bottom-right-radius: 0; -} - /** * Overwrite inline sty */ diff --git a/src/utils/emptyShim.js b/src/utils/emptyShim.js deleted file mode 100644 index 294b03de..00000000 --- a/src/utils/emptyShim.js +++ /dev/null @@ -1,6 +0,0 @@ -/* - * Copyright (c) Facebook, Inc. and its affiliates. - */ - -// We use this file to shim out dependencies that we don't need. -// See next.config.js. diff --git a/yarn.lock b/yarn.lock index 21f45bb6..5819fa4f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -518,235 +518,140 @@ "@babel/helper-validator-identifier" "^7.18.6" to-fast-properties "^2.0.0" -"@code-hike/classer@^0.0.0-aa6efee": - version "0.0.0-e48fa74" - resolved "https://registry.yarnpkg.com/@code-hike/classer/-/classer-0.0.0-e48fa74.tgz#17243ca84d5af303c51e62b378e8db65e01cd3f4" - integrity sha512-CyPYvfl4K5Hp9uyhLhUemul56eiGOF0FNXh5ALzzK9VNhRmRmj1O0mKtLDpoccI8W90r9kQES/nW2FC8jVVieg== - -"@codemirror/autocomplete@^0.19.0": - version "0.19.12" - resolved "https://registry.yarnpkg.com/@codemirror/autocomplete/-/autocomplete-0.19.12.tgz#4c9e4487b45e6877807e4f16c1fffd5e7639ae52" - integrity sha512-zUQYo5gMdv7vhxlKoAY/vnNCGzlE9AU7+P649v3ovpQpoFdo3U1Nt01EJqFb4Sfaw6l1U/Elc9Iksd1lDy+MVw== - dependencies: - "@codemirror/language" "^0.19.0" - "@codemirror/state" "^0.19.4" - "@codemirror/text" "^0.19.2" - "@codemirror/tooltip" "^0.19.12" - "@codemirror/view" "^0.19.0" - "@lezer/common" "^0.15.0" - -"@codemirror/closebrackets@^0.19.0": - version "0.19.0" - resolved "https://registry.yarnpkg.com/@codemirror/closebrackets/-/closebrackets-0.19.0.tgz#69fdcee85779d638a00a42becd9f53a33a26d77f" - integrity sha512-dFWX5OEVYWRNtGaifSbwIAlymnRRjxWMiMbffbAjF7p0zfGHDbdGkiT56q3Xud63h5/tQdSo5dK1iyNTzHz5vg== - dependencies: - "@codemirror/language" "^0.19.0" - "@codemirror/rangeset" "^0.19.0" - "@codemirror/state" "^0.19.0" - "@codemirror/text" "^0.19.0" - "@codemirror/view" "^0.19.0" - -"@codemirror/commands@^0.19.6": - version "0.19.7" - resolved "https://registry.yarnpkg.com/@codemirror/commands/-/commands-0.19.7.tgz#b55ccc7f3c1ad4cb0ec422d50c93568dbb05cc55" - integrity sha512-Mwh064xnuDbFw+9KJAi2Hmg8Va+YqQzgn6e/94/bSJavY3uuIBPr4vJp6pFEa1qPp40qs5/XJ01ty/0G3uLewA== - dependencies: - "@codemirror/language" "^0.19.0" - "@codemirror/matchbrackets" "^0.19.0" - "@codemirror/state" "^0.19.2" - "@codemirror/text" "^0.19.0" - "@codemirror/view" "^0.19.22" - "@lezer/common" "^0.15.0" - -"@codemirror/comment@^0.19.0": - version "0.19.0" - resolved "https://registry.yarnpkg.com/@codemirror/comment/-/comment-0.19.0.tgz#4f23497924e9346898c2e0123011acc535a0bea6" - integrity sha512-3hqAd0548fxqOBm4khFMcXVIivX8p0bSlbAuZJ6PNoUn/0wXhxkxowPp0FmFzU2+y37Z+ZQF5cRB5EREWPRIiQ== - dependencies: - "@codemirror/state" "^0.19.0" - "@codemirror/text" "^0.19.0" - "@codemirror/view" "^0.19.0" - -"@codemirror/gutter@^0.19.4", "@codemirror/gutter@^0.19.9": - version "0.19.9" - resolved "https://registry.yarnpkg.com/@codemirror/gutter/-/gutter-0.19.9.tgz#bbb69f4d49570d9c1b3f3df5d134980c516cd42b" - integrity sha512-PFrtmilahin1g6uL27aG5tM/rqR9DZzZYZsIrCXA5Uc2OFTFqx4owuhoU9hqfYxHp5ovfvBwQ+txFzqS4vog6Q== - dependencies: - "@codemirror/rangeset" "^0.19.0" - "@codemirror/state" "^0.19.0" - "@codemirror/view" "^0.19.23" - -"@codemirror/highlight@^0.19.6", "@codemirror/highlight@^0.19.7": - version "0.19.7" - resolved "https://registry.yarnpkg.com/@codemirror/highlight/-/highlight-0.19.7.tgz#91a0c9994c759f5f153861e3aae74ff9e7c7c35b" - integrity sha512-3W32hBCY0pbbv/xidismw+RDMKuIag+fo4kZIbD7WoRj+Ttcaxjf+vP6RttRHXLaaqbWh031lTeON8kMlDhMYw== - dependencies: - "@codemirror/language" "^0.19.0" - "@codemirror/rangeset" "^0.19.0" - "@codemirror/state" "^0.19.3" - "@codemirror/view" "^0.19.0" - "@lezer/common" "^0.15.0" +"@codemirror/autocomplete@^6.0.0", "@codemirror/autocomplete@^6.4.0": + version "6.4.2" + resolved "https://registry.yarnpkg.com/@codemirror/autocomplete/-/autocomplete-6.4.2.tgz#938b25223bd21f97b2a6d85474643355f98b505b" + integrity sha512-8WE2xp+D0MpWEv5lZ6zPW1/tf4AGb358T5GWYiKEuCP8MvFfT3tH2mIF9Y2yr2e3KbHuSvsVhosiEyqCpiJhZQ== + dependencies: + "@codemirror/language" "^6.0.0" + "@codemirror/state" "^6.0.0" + "@codemirror/view" "^6.6.0" + "@lezer/common" "^1.0.0" + +"@codemirror/commands@^6.1.3": + version "6.2.2" + resolved "https://registry.yarnpkg.com/@codemirror/commands/-/commands-6.2.2.tgz#437d9ba275107dbc629f0bfa3b150e0e43f2a218" + integrity sha512-s9lPVW7TxXrI/7voZ+HmD/yiAlwAYn9PH5SUVSUhsxXHhv4yl5eZ3KLntSoTynfdgVYM0oIpccQEWRBQgmNZyw== + dependencies: + "@codemirror/language" "^6.0.0" + "@codemirror/state" "^6.2.0" + "@codemirror/view" "^6.0.0" + "@lezer/common" "^1.0.0" + +"@codemirror/lang-css@^6.0.0", "@codemirror/lang-css@^6.0.1": + version "6.1.1" + resolved "https://registry.yarnpkg.com/@codemirror/lang-css/-/lang-css-6.1.1.tgz#8c4414d399df14e796f9891a8152e411264ef535" + integrity sha512-P6jdNEHyRcqqDgbvHYyC9Wxkek0rnG3a9aVSRi4a7WrjPbQtBTaOmvYpXmm13zZMAatO4Oqpac+0QZs7sy+LnQ== + dependencies: + "@codemirror/autocomplete" "^6.0.0" + "@codemirror/language" "^6.0.0" + "@codemirror/state" "^6.0.0" + "@lezer/css" "^1.0.0" + +"@codemirror/lang-html@^6.4.0": + version "6.4.3" + resolved "https://registry.yarnpkg.com/@codemirror/lang-html/-/lang-html-6.4.3.tgz#dec78f76d9d0261cbe9f2a3a247a1b546327f700" + integrity sha512-VKzQXEC8nL69Jg2hvAFPBwOdZNvL8tMFOrdFwWpU+wc6a6KEkndJ/19R5xSaglNX6v2bttm8uIEFYxdQDcIZVQ== + dependencies: + "@codemirror/autocomplete" "^6.0.0" + "@codemirror/lang-css" "^6.0.0" + "@codemirror/lang-javascript" "^6.0.0" + "@codemirror/language" "^6.4.0" + "@codemirror/state" "^6.0.0" + "@codemirror/view" "^6.2.2" + "@lezer/common" "^1.0.0" + "@lezer/css" "^1.1.0" + "@lezer/html" "^1.3.0" + +"@codemirror/lang-javascript@^6.0.0", "@codemirror/lang-javascript@^6.1.2": + version "6.1.5" + resolved "https://registry.yarnpkg.com/@codemirror/lang-javascript/-/lang-javascript-6.1.5.tgz#58a2eecddc2134f6fdd7b580ef3a25a22112e1ca" + integrity sha512-BS2SmI1IXxWqMPhbJ0DC3eAHAK9V9XvdHMSqwvTBnmh5xFALt+cVDg7XE/A1dxdxzXYXyeqGddgqx1rQv7AYaw== + dependencies: + "@codemirror/autocomplete" "^6.0.0" + "@codemirror/language" "^6.6.0" + "@codemirror/lint" "^6.0.0" + "@codemirror/state" "^6.0.0" + "@codemirror/view" "^6.0.0" + "@lezer/common" "^1.0.0" + "@lezer/javascript" "^1.0.0" + +"@codemirror/language@^6.0.0", "@codemirror/language@^6.3.2", "@codemirror/language@^6.4.0", "@codemirror/language@^6.6.0": + version "6.6.0" + resolved "https://registry.yarnpkg.com/@codemirror/language/-/language-6.6.0.tgz#2204407174a38a68053715c19e28ad61f491779f" + integrity sha512-cwUd6lzt3MfNYOobdjf14ZkLbJcnv4WtndYaoBkbor/vF+rCNguMPK0IRtvZJG4dsWiaWPcK8x1VijhvSxnstg== + dependencies: + "@codemirror/state" "^6.0.0" + "@codemirror/view" "^6.0.0" + "@lezer/common" "^1.0.0" + "@lezer/highlight" "^1.0.0" + "@lezer/lr" "^1.0.0" style-mod "^4.0.0" -"@codemirror/history@^0.19.0": - version "0.19.2" - resolved "https://registry.yarnpkg.com/@codemirror/history/-/history-0.19.2.tgz#25e3fda755f77ac1223a6ae6e9d7899f5919265e" - integrity sha512-unhP4t3N2smzmHoo/Yio6ueWi+il8gm9VKrvi6wlcdGH5fOfVDNkmjHQ495SiR+EdOG35+3iNebSPYww0vN7ow== - dependencies: - "@codemirror/state" "^0.19.2" - "@codemirror/view" "^0.19.0" - -"@codemirror/lang-css@^0.19.0", "@codemirror/lang-css@^0.19.3": - version "0.19.3" - resolved "https://registry.yarnpkg.com/@codemirror/lang-css/-/lang-css-0.19.3.tgz#7a17adf78c6fcdab4ad5ee4e360631c41e949e4a" - integrity sha512-tyCUJR42/UlfOPLb94/p7dN+IPsYSIzHbAHP2KQHANj0I+Orqp+IyIOS++M8TuCX4zkWh9dvi8s92yy/Tn8Ifg== - dependencies: - "@codemirror/autocomplete" "^0.19.0" - "@codemirror/highlight" "^0.19.6" - "@codemirror/language" "^0.19.0" - "@codemirror/state" "^0.19.0" - "@lezer/css" "^0.15.2" - -"@codemirror/lang-html@^0.19.4": - version "0.19.4" - resolved "https://registry.yarnpkg.com/@codemirror/lang-html/-/lang-html-0.19.4.tgz#e6eec28462f18842a0e108732a214a7416b5e333" - integrity sha512-GpiEikNuCBeFnS+/TJSeanwqaOfNm8Kkp9WpVNEPZCLyW1mAMCuFJu/3xlWYeWc778Hc3vJqGn3bn+cLNubgCA== - dependencies: - "@codemirror/autocomplete" "^0.19.0" - "@codemirror/highlight" "^0.19.6" - "@codemirror/lang-css" "^0.19.0" - "@codemirror/lang-javascript" "^0.19.0" - "@codemirror/language" "^0.19.0" - "@codemirror/state" "^0.19.0" - "@lezer/common" "^0.15.0" - "@lezer/html" "^0.15.0" - -"@codemirror/lang-javascript@^0.19.0", "@codemirror/lang-javascript@^0.19.3": - version "0.19.6" - resolved "https://registry.yarnpkg.com/@codemirror/lang-javascript/-/lang-javascript-0.19.6.tgz#bab4ea9ba65189e4bd77c9496275c82e2b6814e7" - integrity sha512-NgkoCIc3hdTNTBRIRuPqfUJ0WB798qEgwAgtjwYy6yoiK5CzbDS2z5CFW17h9RmaAx6t1m64iY2CZ3tC7r15Gw== - dependencies: - "@codemirror/autocomplete" "^0.19.0" - "@codemirror/highlight" "^0.19.7" - "@codemirror/language" "^0.19.0" - "@codemirror/lint" "^0.19.0" - "@codemirror/state" "^0.19.0" - "@codemirror/view" "^0.19.0" - "@lezer/javascript" "^0.15.1" - -"@codemirror/language@^0.19.0", "@codemirror/language@^0.19.7": - version "0.19.7" - resolved "https://registry.yarnpkg.com/@codemirror/language/-/language-0.19.7.tgz#9eef8e827692d93a701b18db9d46a42be34ecca6" - integrity sha512-pNNUtYWMIMG0lUSKyUXJr8U0rFiCKsKFXbA2Oj17PC+S1FY99hV0z1vcntW67ekAIZw9DMEUQnLsKBuIbAUX7Q== - dependencies: - "@codemirror/state" "^0.19.0" - "@codemirror/text" "^0.19.0" - "@codemirror/view" "^0.19.0" - "@lezer/common" "^0.15.5" - "@lezer/lr" "^0.15.0" - -"@codemirror/lint@^0.19.0": - version "0.19.3" - resolved "https://registry.yarnpkg.com/@codemirror/lint/-/lint-0.19.3.tgz#84101d0967fea8df114a8f0f79965c22ccd3b3cc" - integrity sha512-+c39s05ybD2NjghxkPFsUbH/qBL0cdzKmtHbzUm0RVspeL2OiP7uHYJ6J5+Qr9RjMIPWzcqSauRqxfmCrctUfg== - dependencies: - "@codemirror/gutter" "^0.19.4" - "@codemirror/panel" "^0.19.0" - "@codemirror/rangeset" "^0.19.1" - "@codemirror/state" "^0.19.4" - "@codemirror/tooltip" "^0.19.5" - "@codemirror/view" "^0.19.0" - crelt "^1.0.5" - -"@codemirror/matchbrackets@^0.19.0", "@codemirror/matchbrackets@^0.19.3": - version "0.19.3" - resolved "https://registry.yarnpkg.com/@codemirror/matchbrackets/-/matchbrackets-0.19.3.tgz#1f430ada6fa21af2205280ff344ef57bb95dd3cb" - integrity sha512-ljkrBxaLgh8jesroUiBa57pdEwqJamxkukXrJpL9LdyFZVJaF+9TldhztRaMsMZO1XnCSSHQ9sg32iuHo7Sc2g== - dependencies: - "@codemirror/language" "^0.19.0" - "@codemirror/state" "^0.19.0" - "@codemirror/view" "^0.19.0" - "@lezer/common" "^0.15.0" - -"@codemirror/panel@^0.19.0": - version "0.19.1" - resolved "https://registry.yarnpkg.com/@codemirror/panel/-/panel-0.19.1.tgz#bf77d27b962cf16357139e50864d0eb69d634441" - integrity sha512-sYeOCMA3KRYxZYJYn5PNlt9yNsjy3zTNTrbYSfVgjgL9QomIVgOJWPO5hZ2sTN8lufO6lw0vTBsIPL9MSidmBg== +"@codemirror/lint@^6.0.0": + version "6.2.0" + resolved "https://registry.yarnpkg.com/@codemirror/lint/-/lint-6.2.0.tgz#25cdab7425fcda1b38a9d63f230f833c8b6b369f" + integrity sha512-KVCECmR2fFeYBr1ZXDVue7x3q5PMI0PzcIbA+zKufnkniMBo1325t0h1jM85AKp8l3tj67LRxVpZfgDxEXlQkg== dependencies: - "@codemirror/state" "^0.19.0" - "@codemirror/view" "^0.19.0" + "@codemirror/state" "^6.0.0" + "@codemirror/view" "^6.0.0" + crelt "^1.0.5" -"@codemirror/rangeset@^0.19.0", "@codemirror/rangeset@^0.19.1", "@codemirror/rangeset@^0.19.5": - version "0.19.6" - resolved "https://registry.yarnpkg.com/@codemirror/rangeset/-/rangeset-0.19.6.tgz#2562850cb4ce7dd30088f4d13a13860b67e7d384" - integrity sha512-wYtgGnW2Jtrh2nj7vpcBoEZib+jfyilrLN6w7YMTzzSRN8xXhYRorOUg4VQIa1JwFcMQrjSCkIdqXsDqOX1cYg== - dependencies: - "@codemirror/state" "^0.19.0" +"@codemirror/state@^6.0.0", "@codemirror/state@^6.1.4", "@codemirror/state@^6.2.0": + version "6.2.0" + resolved "https://registry.yarnpkg.com/@codemirror/state/-/state-6.2.0.tgz#a0fb08403ced8c2a68d1d0acee926bd20be922f2" + integrity sha512-69QXtcrsc3RYtOtd+GsvczJ319udtBf1PTrr2KbLWM/e2CXUPnh0Nz9AUo8WfhSQ7GeL8dPVNUmhQVgpmuaNGA== -"@codemirror/state@^0.19.0", "@codemirror/state@^0.19.2", "@codemirror/state@^0.19.3", "@codemirror/state@^0.19.4", "@codemirror/state@^0.19.6": - version "0.19.6" - resolved "https://registry.yarnpkg.com/@codemirror/state/-/state-0.19.6.tgz#d631f041d39ce41b7891b099fca26cb1fdb9763e" - integrity sha512-sqIQZE9VqwQj7D4c2oz9mfLhlT1ElAzGB5lO1lE33BPyrdNy1cJyCIOecT4cn4VeJOFrnjOeu+IftZ3zqdFETw== +"@codemirror/view@^6.0.0", "@codemirror/view@^6.2.2", "@codemirror/view@^6.6.0", "@codemirror/view@^6.7.1": + version "6.9.4" + resolved "https://registry.yarnpkg.com/@codemirror/view/-/view-6.9.4.tgz#2cee977dd0df74d27ede6beb01f9de20eeda8f76" + integrity sha512-Ov2H9gwlGUxiH94zWxlLtTlyogSFaQDIYjtSEcfzgh7MkKmKVchkmr4JbtR5zBev3jY5DVtKvUC8yjd1bKW55A== dependencies: - "@codemirror/text" "^0.19.0" - -"@codemirror/text@^0.19.0", "@codemirror/text@^0.19.2": - version "0.19.6" - resolved "https://registry.yarnpkg.com/@codemirror/text/-/text-0.19.6.tgz#9adcbd8137f69b75518eacd30ddb16fd67bbac45" - integrity sha512-T9jnREMIygx+TPC1bOuepz18maGq/92q2a+n4qTqObKwvNMg+8cMTslb8yxeEDEq7S3kpgGWxgO1UWbQRij0dA== + "@codemirror/state" "^6.1.4" + style-mod "^4.0.0" + w3c-keyname "^2.2.4" -"@codemirror/tooltip@^0.19.12", "@codemirror/tooltip@^0.19.5": - version "0.19.13" - resolved "https://registry.yarnpkg.com/@codemirror/tooltip/-/tooltip-0.19.13.tgz#4af381aead14d9d7091258bdd6a5de7dc5f56915" - integrity sha512-7vgvjQjwFQ9hPejw2s+w3UR1XAYjQ5M0F9HRwutXkZHP1tBFV7LnNJ3xBD7F9SR9kAh8WgdL3BpUsEwX1aqoQg== +"@codesandbox/nodebox@0.1.4": + version "0.1.4" + resolved "https://registry.yarnpkg.com/@codesandbox/nodebox/-/nodebox-0.1.4.tgz#1c9ed4caf6cda764500aec3d46b245e2e9b88ccc" + integrity sha512-+MR7JibjGjTRDmyQbL8Mliej6wakQP7q99+wGL/nOzd0Q3s+YWGQfv0QpYKbdMClKUTFJGvwzwOeqHVTkpWNCQ== dependencies: - "@codemirror/state" "^0.19.0" - "@codemirror/view" "^0.19.0" + outvariant "^1.3.0" + strict-event-emitter "^0.4.3" -"@codemirror/view@^0.19.0", "@codemirror/view@^0.19.22", "@codemirror/view@^0.19.23", "@codemirror/view@^0.19.32": - version "0.19.40" - resolved "https://registry.yarnpkg.com/@codemirror/view/-/view-0.19.40.tgz#1be9cac1725568b7fba2252658a6f255b29339eb" - integrity sha512-0CQV99+/nIKTVVbDs0XjW4Rkp8TobzJBXRaUHF6mOroVjuIBBcolE1eAGVEU5LrCS44C798jiP4r/HhLDNS+rw== +"@codesandbox/sandpack-client@^2.6.0": + version "2.6.0" + resolved "https://registry.yarnpkg.com/@codesandbox/sandpack-client/-/sandpack-client-2.6.0.tgz#a266ac49843a0c3263ac065daaba473cb9565193" + integrity sha512-JFCe+MU+5E+nXazrNK1uS/zLV5l4UNkYQx7AjF9sJ5ZmUlshz1HRDiK/Tdp6W+3ahcSERF3dcYPCf46LJF8Yvw== dependencies: - "@codemirror/rangeset" "^0.19.5" - "@codemirror/state" "^0.19.3" - "@codemirror/text" "^0.19.0" - style-mod "^4.0.0" - w3c-keyname "^2.2.4" + "@codesandbox/nodebox" "0.1.4" + buffer "^6.0.3" + dequal "^2.0.2" + outvariant "1.3.0" + static-browser-server "1.0.3" -"@codesandbox/sandpack-client@^1.12.1": - version "1.12.1" - resolved "https://registry.yarnpkg.com/@codesandbox/sandpack-client/-/sandpack-client-1.12.1.tgz#fa3b66ecb08547c47e1cdf6248f5004bf5be68fb" - integrity sha512-p79Sk41hrp5ojeHbgTU/JWNS3UcRJKewq+oRD6O6g3MzlhUnE+xO94ui79Td4aeU4fq0jGHeLHIHCW04WMK4Yg== - dependencies: - codesandbox-import-utils "^1.2.3" - lodash.isequal "^4.5.0" - -"@codesandbox/sandpack-react@1.15.5": - version "1.15.5" - resolved "https://registry.yarnpkg.com/@codesandbox/sandpack-react/-/sandpack-react-1.15.5.tgz#6ac1b69e64ab66cad69e194df629a826140c3d2c" - integrity sha512-S5iVt9l36QzQfBAbk4mS+VUiVoHdwCFil5cdYHutCAfTAzPQn+vvR7ZYrwFl/LoBChh8nH4EAMN9XTowrzQJYw== - dependencies: - "@code-hike/classer" "^0.0.0-aa6efee" - "@codemirror/closebrackets" "^0.19.0" - "@codemirror/commands" "^0.19.6" - "@codemirror/comment" "^0.19.0" - "@codemirror/gutter" "^0.19.9" - "@codemirror/highlight" "^0.19.6" - "@codemirror/history" "^0.19.0" - "@codemirror/lang-css" "^0.19.3" - "@codemirror/lang-html" "^0.19.4" - "@codemirror/lang-javascript" "^0.19.3" - "@codemirror/language" "^0.19.7" - "@codemirror/matchbrackets" "^0.19.3" - "@codemirror/state" "^0.19.6" - "@codemirror/view" "^0.19.32" - "@codesandbox/sandpack-client" "^1.12.1" +"@codesandbox/sandpack-react@2.6.0": + version "2.6.0" + resolved "https://registry.yarnpkg.com/@codesandbox/sandpack-react/-/sandpack-react-2.6.0.tgz#2c2d98b50c9db462a32831071de7e5e710d000c2" + integrity sha512-zSeJXzaVt96aIFfkyr+bMKBjV2k3hVcX+j1+aBRIOCpHhTrbszPesUmcE3yNTzGqqQfX/JnIJNRmeqFKmSLjTQ== + dependencies: + "@codemirror/autocomplete" "^6.4.0" + "@codemirror/commands" "^6.1.3" + "@codemirror/lang-css" "^6.0.1" + "@codemirror/lang-html" "^6.4.0" + "@codemirror/lang-javascript" "^6.1.2" + "@codemirror/language" "^6.3.2" + "@codemirror/state" "^6.2.0" + "@codemirror/view" "^6.7.1" + "@codesandbox/sandpack-client" "^2.6.0" + "@lezer/highlight" "^1.1.3" "@react-hook/intersection-observer" "^3.1.1" "@stitches/core" "^1.2.6" + anser "^2.1.1" clean-set "^1.1.2" codesandbox-import-util-types "^2.2.3" - lodash.isequal "^4.5.0" + dequal "^2.0.2" + escape-carriage "^1.3.1" lz-string "^1.4.4" react-devtools-inline "4.4.0" react-is "^17.0.2" @@ -845,38 +750,49 @@ "@jridgewell/resolve-uri" "^3.0.3" "@jridgewell/sourcemap-codec" "^1.4.10" -"@lezer/common@^0.15.0", "@lezer/common@^0.15.5": - version "0.15.11" - resolved "https://registry.yarnpkg.com/@lezer/common/-/common-0.15.11.tgz#965b5067036305f12e8a3efc344076850be1d3a8" - integrity sha512-vv0nSdIaVCRcJ8rPuDdsrNVfBOYe/4Szr/LhF929XyDmBndLDuWiCCHooGlGlJfzELyO608AyDhVsuX/ZG36NA== +"@lezer/common@^1.0.0": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@lezer/common/-/common-1.0.2.tgz#8fb9b86bdaa2ece57e7d59e5ffbcb37d71815087" + integrity sha512-SVgiGtMnMnW3ActR8SXgsDhw7a0w0ChHSYAyAUxxrOiJ1OqYWEKk/xJd84tTSPo1mo6DXLObAJALNnd0Hrv7Ng== + +"@lezer/css@^1.0.0", "@lezer/css@^1.1.0": + version "1.1.1" + resolved "https://registry.yarnpkg.com/@lezer/css/-/css-1.1.1.tgz#c36dcb0789317cb80c3740767dd3b85e071ad082" + integrity sha512-mSjx+unLLapEqdOYDejnGBokB5+AiJKZVclmud0MKQOKx3DLJ5b5VTCstgDDknR6iIV4gVrN6euzsCnj0A2gQA== + dependencies: + "@lezer/highlight" "^1.0.0" + "@lezer/lr" "^1.0.0" -"@lezer/css@^0.15.2": - version "0.15.2" - resolved "https://registry.yarnpkg.com/@lezer/css/-/css-0.15.2.tgz#e96995da67df90bb4b191aaa8a486349cca5d8e7" - integrity sha512-tnMOMZY0Zs6JQeVjqfmREYMV0GnmZR1NitndLWioZMD6mA7VQF/PPKPmJX1f+ZgVZQc5Am0df9mX3aiJnNJlKQ== +"@lezer/highlight@^1.0.0", "@lezer/highlight@^1.1.3": + version "1.1.4" + resolved "https://registry.yarnpkg.com/@lezer/highlight/-/highlight-1.1.4.tgz#98ed821e89f72981b7ba590474e6ee86c8185619" + integrity sha512-IECkFmw2l7sFcYXrV8iT9GeY4W0fU4CxX0WMwhmhMIVjoDdD1Hr6q3G2NqVtLg/yVe5n7i4menG3tJ2r4eCrPQ== dependencies: - "@lezer/lr" "^0.15.0" + "@lezer/common" "^1.0.0" -"@lezer/html@^0.15.0": - version "0.15.0" - resolved "https://registry.yarnpkg.com/@lezer/html/-/html-0.15.0.tgz#572c9444bc39c1afc0529a70e089abf7254edf5d" - integrity sha512-ErmgP/Vv0AhYJvs/Ekb9oue4IzBHemKLi7K8tJ0jgS+20Y8FGC9foK6knCXtEHqdPaxVGQH9PVp7gecLnzLd9Q== +"@lezer/html@^1.3.0": + version "1.3.4" + resolved "https://registry.yarnpkg.com/@lezer/html/-/html-1.3.4.tgz#7a5c5498dae6c93aee3de208bfb01aa3a0a932e3" + integrity sha512-HdJYMVZcT4YsMo7lW3ipL4NoyS2T67kMPuSVS5TgLGqmaCjEU/D6xv7zsa1ktvTK5lwk7zzF1e3eU6gBZIPm5g== dependencies: - "@lezer/lr" "^0.15.0" + "@lezer/common" "^1.0.0" + "@lezer/highlight" "^1.0.0" + "@lezer/lr" "^1.0.0" -"@lezer/javascript@^0.15.1": - version "0.15.2" - resolved "https://registry.yarnpkg.com/@lezer/javascript/-/javascript-0.15.2.tgz#50b70a02561b047947e050e0619b1aea7131dc5f" - integrity sha512-ytWvdJ1NAc0pfrNipGQs8otJVfjVibpIiFKH0fl99rKSA6cVlyQN/XTj/dEAQCfBfCBPAFdc30cuUe5CGZ0odA== +"@lezer/javascript@^1.0.0": + version "1.4.2" + resolved "https://registry.yarnpkg.com/@lezer/javascript/-/javascript-1.4.2.tgz#aee4e18f573b496756294c558965d36320bfca47" + integrity sha512-77qdAD4zanmImPiAu4ibrMUzRc79UHoccdPa+Ey5iwS891TAkhnMAodUe17T7zV7tnF7e9HXM0pfmjoGEhrppg== dependencies: - "@lezer/lr" "^0.15.0" + "@lezer/highlight" "^1.1.3" + "@lezer/lr" "^1.3.0" -"@lezer/lr@^0.15.0": - version "0.15.7" - resolved "https://registry.yarnpkg.com/@lezer/lr/-/lr-0.15.7.tgz#e7e6a8a106c6474b4586a66a3e60ba85f1faf368" - integrity sha512-rmUukgyKSm6xzXO4cK5hkpX3+ZTHF+bHDkEuhofAVUTS3J23YytUxGWsrDwBVvGbhvxW87kheb2mRYHRwKacDQ== +"@lezer/lr@^1.0.0", "@lezer/lr@^1.3.0": + version "1.3.3" + resolved "https://registry.yarnpkg.com/@lezer/lr/-/lr-1.3.3.tgz#0ac6c889f1235874f33c45a1b9785d7054f60708" + integrity sha512-JPQe3mwJlzEVqy67iQiiGozhcngbO8QBgpqZM6oL1Wj/dXckrEexpBLeFkq0edtW5IqnPRFxA24BHJni8Js69w== dependencies: - "@lezer/common" "^0.15.0" + "@lezer/common" "^1.0.0" "@mdx-js/mdx@^2.1.3": version "2.1.3" @@ -979,6 +895,11 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" +"@open-draft/deferred-promise@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@open-draft/deferred-promise/-/deferred-promise-2.1.0.tgz#4fb33ebdf5c05a0e47a26490ed9037ca36275a66" + integrity sha512-Rzd5JrXZX8zErHzgcGyngh4fmEbSHqTETdGj9rXtejlqMIgXFlyKBA7Jn1Xp0Ls0M0Y22+xHcWiEzbmdWl0BOA== + "@polka/url@^1.0.0-next.20": version "1.0.0-next.21" resolved "https://registry.yarnpkg.com/@polka/url/-/url-1.0.0-next.21.tgz#5de5a2385a35309427f6011992b544514d559aa1" @@ -1374,6 +1295,11 @@ algoliasearch@^4.0.0: "@algolia/requester-node-http" "4.12.0" "@algolia/transporter" "4.12.0" +anser@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/anser/-/anser-2.1.1.tgz#8afae28d345424c82de89cc0e4d1348eb0c5af7c" + integrity sha512-nqLm4HxOTpeLOxcmB3QWmV5TcDFhW9y/fyQ+hivtDFcK4OQ+pQ5fzPnXHM1Mfcm0VkLtvVi1TCPr++Qy0Q/3EQ== + ansi-colors@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" @@ -1586,16 +1512,16 @@ balanced-match@^1.0.0: resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== +base64-js@^1.3.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + binary-extensions@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== -binaryextensions@2: - version "2.3.0" - resolved "https://registry.yarnpkg.com/binaryextensions/-/binaryextensions-2.3.0.tgz#1d269cbf7e6243ea886aa41453c3651ccbe13c22" - integrity sha512-nAihlQsYGyc5Bwq6+EsubvANYGExeJKHDO3RjnvwU042fawQTQfM3Kxn7IHUXQOz4bzfwsGYYHGSvXyW4zOGLg== - body-parser@1.20.0, body-parser@^1.19.0: version "1.20.0" resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.0.tgz#3de69bd89011c11573d7bfee6a64f11b6bd27cc5" @@ -1655,6 +1581,14 @@ browserslist@^4.20.2: node-releases "^2.0.6" update-browserslist-db "^1.0.5" +buffer@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" + integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.2.1" + busboy@1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/busboy/-/busboy-1.6.0.tgz#966ea36a9502e43cdb9146962523b92f531f6893" @@ -1835,25 +1769,11 @@ client-only@0.0.1: resolved "https://registry.yarnpkg.com/client-only/-/client-only-0.0.1.tgz#38bba5d403c41ab150bff64a95c85013cf73bca1" integrity sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA== -codesandbox-import-util-types@^1.3.7: - version "1.3.7" - resolved "https://registry.yarnpkg.com/codesandbox-import-util-types/-/codesandbox-import-util-types-1.3.7.tgz#7a6097e248a75424d13b06b74368cd76bd2b3e10" - integrity sha512-8oP3emA0jyEuVOM2FBTpo/AF4C9vxHn14saVWZf2CQ/QhMtonBlNPE98ElrHkW+PFNXiO7Ad52Qr73b03n8qlA== - codesandbox-import-util-types@^2.2.3: version "2.2.3" resolved "https://registry.yarnpkg.com/codesandbox-import-util-types/-/codesandbox-import-util-types-2.2.3.tgz#b354b2f732ad130e119ebd9ead3bda3be5981a54" integrity sha512-Qj00p60oNExthP2oR3vvXmUGjukij+rxJGuiaKM6tyUmSyimdZsqHI/TUvFFClAffk9s7hxGnQgWQ8KCce27qQ== -codesandbox-import-utils@^1.2.3: - version "1.3.8" - resolved "https://registry.yarnpkg.com/codesandbox-import-utils/-/codesandbox-import-utils-1.3.8.tgz#5576786439c5f37ebd3fee5751e06027a1edef84" - integrity sha512-S12zO49QEkldoYLGh5KbkHRLOacg5BCNTue2vlyZXSpuK3oQdArwC/G1hCLKryV460bW3Ecn5xdkpfkUcFeOwQ== - dependencies: - codesandbox-import-util-types "^1.3.7" - istextorbinary "2.2.1" - lz-string "^1.4.4" - collapse-white-space@^1.0.2: version "1.0.6" resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-1.0.6.tgz#e63629c0016665792060dbbeb79c42239d2c5287" @@ -2112,7 +2032,7 @@ depd@2.0.0: resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== -dequal@^2.0.0: +dequal@^2.0.0, dequal@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be" integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== @@ -2158,6 +2078,11 @@ doctrine@^3.0.0: dependencies: esutils "^2.0.2" +dotenv@^16.0.3: + version "16.0.3" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.0.3.tgz#115aec42bac5053db3c456db30cc243a5a836a07" + integrity sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ== + duplexer@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" @@ -2168,11 +2093,6 @@ eastasianwidth@^0.2.0: resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== -editions@^1.3.3: - version "1.3.4" - resolved "https://registry.yarnpkg.com/editions/-/editions-1.3.4.tgz#3662cb592347c3168eb8e498a0ff73271d67f50b" - integrity sha512-gzao+mxnYDzIysXKMQi/+M1mjy/rjestjg6OPoYTtI+3Izp23oiGZitsl9lPDPiTGXbcSIk1iJWhliSaglxnUg== - ee-first@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" @@ -2283,6 +2203,11 @@ escalade@^3.1.1: resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== +escape-carriage@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/escape-carriage/-/escape-carriage-1.3.1.tgz#842658e5422497b1232585e517dc813fc6a86170" + integrity sha512-GwBr6yViW3ttx1kb7/Oh+gKQ1/TrhYwxKqVmg5gS+BK+Qe2KrOa/Vh7w3HPBvgGf0LfcDGoY9I6NHKoA5Hozhw== + escape-html@~1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" @@ -3116,6 +3041,11 @@ iconv-lite@0.4.24: dependencies: safer-buffer ">= 2.1.2 < 3" +ieee754@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + ignore@^4.0.6: version "4.0.6" resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" @@ -3446,19 +3376,10 @@ isexe@^2.0.0: resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= -istextorbinary@2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/istextorbinary/-/istextorbinary-2.2.1.tgz#a5231a08ef6dd22b268d0895084cf8d58b5bec53" - integrity sha512-TS+hoFl8Z5FAFMK38nhBkdLt44CclNRgDHWeMgsV8ko3nDlr/9UI2Sf839sW7enijf8oKsZYXRvM8g0it9Zmcw== - dependencies: - binaryextensions "2" - editions "^1.3.3" - textextensions "2" - jiti@^1.18.2: - version "1.19.1" - resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.19.1.tgz#fa99e4b76a23053e0e7cde098efe1704a14c16f1" - integrity sha512-oVhqoRDaBXf7sjkll95LHVS6Myyyb1zaunVwk4Z0+WPSW4gjS0pl01zYKHScTuyEhQsFxV5L4DR5r+YqSyqyyg== + version "1.20.0" + resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.20.0.tgz#2d823b5852ee8963585c8dd8b7992ffc1ae83b42" + integrity sha512-3TV69ZbrvV6U5DfQimop50jE9Dl6J8O1ja1dvBbMba/sZ3YBEQqJ2VZRoQPVnhlzjNtU1vaXRZVrVjU4qtm8yA== "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" @@ -3637,11 +3558,6 @@ locate-path@^2.0.0: p-locate "^2.0.0" path-exists "^3.0.0" -lodash.isequal@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" - integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA= - lodash.merge@^4.6.2: version "4.6.2" resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" @@ -4387,7 +4303,7 @@ 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.52.0: version "1.52.0" resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== @@ -4724,6 +4640,16 @@ os-tmpdir@~1.0.2: resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= +outvariant@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/outvariant/-/outvariant-1.3.0.tgz#c39723b1d2cba729c930b74bf962317a81b9b1c9" + integrity sha512-yeWM9k6UPfG/nzxdaPlJkB2p08hCg4xP6Lx99F+vP8YF7xyZVfTmJjrrNalkmzudD4WFvNLVudQikqUmF8zhVQ== + +outvariant@^1.3.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/outvariant/-/outvariant-1.4.0.tgz#e742e4bda77692da3eca698ef5bfac62d9fba06e" + integrity sha512-AlWY719RF02ujitly7Kk/0QlV+pXGFDHrHf9O2OKqyqgBieaPOIeuSkL8sRK6j2WK+/ZAURq2kZsY0d8JapUiw== + p-limit@^1.1.0: version "1.3.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" @@ -5990,6 +5916,16 @@ state-toggle@^1.0.0: resolved "https://registry.yarnpkg.com/state-toggle/-/state-toggle-1.0.3.tgz#e123b16a88e143139b09c6852221bc9815917dfe" integrity sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ== +static-browser-server@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/static-browser-server/-/static-browser-server-1.0.3.tgz#9030d141b99ed92c8eec1a7546b87548fd036f5d" + integrity sha512-ZUyfgGDdFRbZGGJQ1YhiM930Yczz5VlbJObrQLlk24+qNHVQx4OlLcYswEUo3bIyNAbQUIUR9Yr5/Hqjzqb4zA== + dependencies: + "@open-draft/deferred-promise" "^2.1.0" + dotenv "^16.0.3" + mime-db "^1.52.0" + outvariant "^1.3.0" + statuses@2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" @@ -6000,6 +5936,11 @@ streamsearch@^1.1.0: resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-1.1.0.tgz#404dd1e2247ca94af554e841a8ef0eaa238da764" integrity sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg== +strict-event-emitter@^0.4.3: + version "0.4.6" + resolved "https://registry.yarnpkg.com/strict-event-emitter/-/strict-event-emitter-0.4.6.tgz#ff347c8162b3e931e3ff5f02cfce6772c3b07eb3" + integrity sha512-12KWeb+wixJohmnwNFerbyiBrAlq5qJLwIt38etRtKtmmHyDSoGlIqFE9wx+4IwG0aDjI7GV8tc8ZccjWZZtTg== + string-argv@^0.3.1: version "0.3.1" resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" @@ -6214,11 +6155,6 @@ text-table@^0.2.0: resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= -textextensions@2: - version "2.6.0" - resolved "https://registry.yarnpkg.com/textextensions/-/textextensions-2.6.0.tgz#d7e4ab13fe54e32e08873be40d51b74229b00fc4" - integrity sha512-49WtAWS+tcsy93dRt6P0P3AMD2m5PvXRhuEA0kaXos5ZLlujtYmpmFsB+QvWUSxE1ZsstmYXfQ7L40+EcQgpAQ== - thenify-all@^1.0.0: version "1.6.0" resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726" From 0d219159282b0f846f83cc06711228a6b7fef772 Mon Sep 17 00:00:00 2001 From: anita-that-chiq <62019551+kahenya-anita@users.noreply.github.com> Date: Wed, 13 Sep 2023 08:37:43 +0300 Subject: [PATCH 045/382] Replace label with placeholder (#6295) --- src/content/reference/react/forwardRef.md | 2 +- src/content/reference/react/useImperativeHandle.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/content/reference/react/forwardRef.md b/src/content/reference/react/forwardRef.md index 10c2ad03..bf34a879 100644 --- a/src/content/reference/react/forwardRef.md +++ b/src/content/reference/react/forwardRef.md @@ -423,7 +423,7 @@ export default function Form() { return ( <form> - <MyInput label="Enter your name:" ref={ref} /> + <MyInput placeholder="Enter your name" ref={ref} /> <button type="button" onClick={handleClick}> Edit </button> diff --git a/src/content/reference/react/useImperativeHandle.md b/src/content/reference/react/useImperativeHandle.md index 88f9a9f1..12ab715e 100644 --- a/src/content/reference/react/useImperativeHandle.md +++ b/src/content/reference/react/useImperativeHandle.md @@ -124,7 +124,7 @@ export default function Form() { return ( <form> - <MyInput label="Enter your name:" ref={ref} /> + <MyInput placeholder="Enter your name" ref={ref} /> <button type="button" onClick={handleClick}> Edit </button> From bdc60c26848820239db732b7218d41f4c2b204af Mon Sep 17 00:00:00 2001 From: Soichiro Miki <smiki-tky@umin.ac.jp> Date: Thu, 14 Sep 2023 13:42:14 +0900 Subject: [PATCH 046/382] FIx typo: props => context (#6300) --- src/content/reference/react/Component.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/reference/react/Component.md b/src/content/reference/react/Component.md index 2d49972d..6174cd75 100644 --- a/src/content/reference/react/Component.md +++ b/src/content/reference/react/Component.md @@ -813,7 +813,7 @@ If you define `UNSAFE_componentWillReceiveProps`, React will call it when the co #### Parameters {/*unsafe_componentwillreceiveprops-parameters*/} - `nextProps`: The next props that the component is about to receive from its parent component. Compare `nextProps` to [`this.props`](#props) to determine what changed. -- `nextContext`: The next props that the component is about to receive from the closest provider. Compare `nextContext` to [`this.context`](#context) to determine what changed. Only available if you specify [`static contextType`](#static-contexttype) (modern) or [`static contextTypes`](#static-contexttypes) (legacy). +- `nextContext`: The next context that the component is about to receive from the closest provider. Compare `nextContext` to [`this.context`](#context) to determine what changed. Only available if you specify [`static contextType`](#static-contexttype) (modern) or [`static contextTypes`](#static-contexttypes) (legacy). #### Returns {/*unsafe_componentwillreceiveprops-returns*/} From cbeb0ba2f6b21e5bb00bd33908aa1b4f1fe2c2e8 Mon Sep 17 00:00:00 2001 From: Christophe Porteneuve <tdd@tddsworld.com> Date: Wed, 20 Sep 2023 01:31:41 +0200 Subject: [PATCH 047/382] Add French to fully-translated languages (#6305) --- src/components/Seo.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/src/components/Seo.tsx b/src/components/Seo.tsx index d4f03712..d7b20cc9 100644 --- a/src/components/Seo.tsx +++ b/src/components/Seo.tsx @@ -21,6 +21,7 @@ const deployedTranslations = [ 'en', 'zh-hans', 'es', + 'fr', // We'll add more languages when they have enough content. // Please DO NOT edit this list without a discussion in the reactjs/react.dev repo. // It must be the same between all translations. From dfd15e87a2c7f94da61cad991712fb6ff2f896ce Mon Sep 17 00:00:00 2001 From: Soichiro Miki <smiki-tky@umin.ac.jp> Date: Wed, 20 Sep 2023 19:47:47 +0900 Subject: [PATCH 048/382] Remove "robot=noindex" meta tag (#6260) --- src/components/Seo.tsx | 9 --------- 1 file changed, 9 deletions(-) diff --git a/src/components/Seo.tsx b/src/components/Seo.tsx index d7b20cc9..d0dcaab7 100644 --- a/src/components/Seo.tsx +++ b/src/components/Seo.tsx @@ -27,14 +27,6 @@ const deployedTranslations = [ // It must be the same between all translations. ]; -let shouldPreventIndexing = false; -if ( - siteConfig.languageCode !== 'en' && - !deployedTranslations.includes(siteConfig.languageCode) -) { - shouldPreventIndexing = true; -} - function getDomain(languageCode: string): string { const subdomain = languageCode === 'en' ? '' : languageCode + '.'; return subdomain + 'react.dev'; @@ -70,7 +62,6 @@ export const Seo = withRouter( href={canonicalUrl.replace(siteDomain, getDomain('en'))} hrefLang="x-default" /> - {shouldPreventIndexing && <meta name="robots" content="noindex" />} {deployedTranslations.map((languageCode) => ( <link key={'alt-' + languageCode} From 5f3565fd3d9d214f26d03d37bd424708822c3884 Mon Sep 17 00:00:00 2001 From: Dan Abramov <dan.abramov@gmail.com> Date: Thu, 21 Sep 2023 15:21:10 +0100 Subject: [PATCH 049/382] Fix like button color --- src/components/Layout/HomeContent.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/Layout/HomeContent.js b/src/components/Layout/HomeContent.js index 924b66f4..02338b1c 100644 --- a/src/components/Layout/HomeContent.js +++ b/src/components/Layout/HomeContent.js @@ -1654,8 +1654,8 @@ function LikeButton({video}) { <button data-hover="LikeButton" className={cn( - 'outline-none focus:bg-red-50/5 focus:text-red-50 relative flex items-center justify-center w-10 h-10 cursor-pointer rounded-full text-tertiary hover:bg-card active:scale-95 active:bg-red-50/5 active:text-red-50', - isLiked && 'text-red-50' + 'outline-none focus:bg-red-50/5 focus:text-red-50 relative flex items-center justify-center w-10 h-10 cursor-pointer rounded-full hover:bg-card active:scale-95 active:bg-red-50/5 active:text-red-50', + isLiked ? 'text-red-50' : 'text-tertiary' )} aria-label={isLiked ? 'Unsave' : 'Save'} onClick={() => { From bad7e90edfb9d5fbf22ce81a0135a72be1667676 Mon Sep 17 00:00:00 2001 From: Joseph Savona <josephsavona@users.noreply.github.com> Date: Fri, 22 Sep 2023 08:16:45 -0700 Subject: [PATCH 050/382] Update team page (#6310) --- public/images/team/dave-mccabe.jpg | Bin 207975 -> 0 bytes public/images/team/lunaruan.jpg | Bin 153412 -> 0 bytes public/images/team/mengdi-chen.jpg | Bin 108519 -> 0 bytes public/images/team/sean-keegan.jpg | Bin 203928 -> 0 bytes src/content/community/acknowledgements.md | 5 ++++- src/content/community/team.md | 16 ---------------- 6 files changed, 4 insertions(+), 17 deletions(-) delete mode 100644 public/images/team/dave-mccabe.jpg delete mode 100644 public/images/team/lunaruan.jpg delete mode 100644 public/images/team/mengdi-chen.jpg delete mode 100644 public/images/team/sean-keegan.jpg diff --git a/public/images/team/dave-mccabe.jpg b/public/images/team/dave-mccabe.jpg deleted file mode 100644 index 505f756175154297ee669d502cb62dbcc2c8c108..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 207975 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ξZm4!>Ay=$=`Ru2$y2;Qf3p!oaH+ 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%0D-Fv`rA?g00tYMOE&_t8b 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΋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℞p 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 diff --git a/public/images/team/lunaruan.jpg b/public/images/team/lunaruan.jpg deleted file mode 100644 index f6de76d4ed53dc7d241b4d58b26203f188934ff2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 153412 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�-;|?-k+sd~&-FMJZSaXA|h0 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/f+8Rp7;2pzLt+v7SV3KhaxgM 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 Cx5H5Y diff --git a/public/images/team/mengdi-chen.jpg b/public/images/team/mengdi-chen.jpg deleted file mode 100644 index 7a47ea4f7577c379350060649941cce54148084a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 108519 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≀_#I8`j50<=;Is7ZYJ|KR~UlV){ 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 Veed`c047ckG~AkZYHa|2|Jk~q6r=zE diff --git a/public/images/team/sean-keegan.jpg b/public/images/team/sean-keegan.jpg deleted file mode 100644 index 38873c9d0c7ef5cf63b2d0f8161ed1e909587a78..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 203928 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%0Dv*ttjM51gbrF> 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 T-z#q?a|Pi0RVB<#tbhO6amZ`M diff --git a/src/content/community/acknowledgements.md b/src/content/community/acknowledgements.md index 0eb00bf6..e6f6ccaf 100644 --- a/src/content/community/acknowledgements.md +++ b/src/content/community/acknowledgements.md @@ -24,6 +24,7 @@ We'd like to recognize a few people who have made significant contributions to R * [Christoph Nakazawa](https://github.com/cpojer) * [Christopher Chedeau](https://github.com/vjeux) * [Clement Hoang](https://github.com/clemmy) +* [Dave McCabe](https://github.com/davidmccabe) * [Dominic Gannaway](https://github.com/trueadm) * [Flarnie Marchan](https://github.com/flarnie) * [Jason Quense](https://github.com/jquense) @@ -33,8 +34,10 @@ We'd like to recognize a few people who have made significant contributions to R * [Josh Duck](https://github.com/joshduck) * [Joe Critchley](https://github.com/joecritch) * [Jeff Morrison](https://github.com/jeffmo) +* [Luna Ruan](https://github.com/lunaruan) * [Keyan Zhang](https://github.com/keyz) * [Marco Salazar](https://github.com/salazarm) +* [Mengdi Chen](https://github.com/mondaychen) * [Nat Alison](https://github.com/tesseralis) * [Nathan Hunzaker](https://github.com/nhunzaker) * [Nicolas Gallagher](https://github.com/necolas) @@ -45,7 +48,7 @@ We'd like to recognize a few people who have made significant contributions to R * [Robert Zhang](https://github.com/robertzhidealx) * [Sander Spies](https://github.com/sanderspies) * [Sasha Aickin](https://github.com/aickin) -* [Seth Webster](https://github.com/sethwebster) +* [Sean Keegan](https://github.com/seanryankeegan) * [Sophia Shoemaker](https://github.com/mrscobbler) * [Sunil Pai](https://github.com/threepointone) * [Tim Yung](https://github.com/yungsters) diff --git a/src/content/community/team.md b/src/content/community/team.md index f61dacf1..86783b89 100644 --- a/src/content/community/team.md +++ b/src/content/community/team.md @@ -26,10 +26,6 @@ Current members of the React team are listed in alphabetical order below. Dan got into programming after he accidentally discovered Visual Basic inside Microsoft PowerPoint. He has found his true calling in turning [Sebastian](#sebastian-markbåge)'s tweets into long-form blog posts. Dan occasionally wins at Fortnite by hiding in a bush until the game ends. </TeamMember> -<TeamMember name="Dave McCabe" permalink="dave-mccabe" photo="/images/team/dave-mccabe.jpg" github="davidmccabe" twitter="mcc_abe" title="Engineer at Meta"> - An engineer by trade and outdoorsman at heart, David has long been an innovator in the field of programming-while-sunbathing. Besides surprising his colleagues with unique outdoor video-call backgrounds, he enjoys playing guitar (in sunlit meadows, of course) and martial arts (still indoors, gotta work on that). -</TeamMember> - <TeamMember name="Eli White" permalink="eli-white" photo="/images/team/eli-white.jpg" github="TheSavior" twitter="Eli_White" title="Engineering Manager at Meta"> Eli got into programming after he got suspended from middle school for hacking. He has been working on React and React Native since 2017. He enjoys eating treats, especially ice cream and apple pie. You can find Eli trying quirky activities like parkour, indoor skydiving, and aerial silks. </TeamMember> @@ -54,10 +50,6 @@ Current members of the React team are listed in alphabetical order below. Lauren’s programming career peaked when she first discovered the `<marquee>` tag. She’s been chasing that high ever since. When she’s not adding bugs into React, she enjoys dropping cheeky memes in chat, and playing all too many video games with her partner, and her dog Zelda. </TeamMember> -<TeamMember name="Luna Ruan" permalink="luna-ruan" photo="/images/team/lunaruan.jpg" github="lunaruan" twitter="lunaruan" title="Independent Engineer"> - Luna learned programming because she thought it meant creating video games. Instead, she ended up working on the Pinterest web app, and now on React itself. Luna doesn't want to make video games anymore, but she plans to do creative writing if she ever gets bored. -</TeamMember> - <TeamMember name="Luna Wei" permalink="luna-wei" photo="/images/team/luna-wei.jpg" github="lunaleaps" twitter="lunaleaps" title="Engineer at Meta"> Luna first learnt the fundamentals of python at the age of 6 from her father. Since then, she has been unstoppable. Luna aspires to be a gen z, and the road to success is paved with environmental advocacy, urban gardening and lots of quality time with her Voo-Doo’d (as pictured). </TeamMember> @@ -66,10 +58,6 @@ Current members of the React team are listed in alphabetical order below. Matt stumbled into coding, and since then, has become enamored with creating things in communities that can’t be created alone. Prior to React, he worked on YouTube, the Google Assistant, Fuchsia, and Google Cloud AI and Evernote. When he's not trying to make better developer tools he enjoys the mountains, jazz, and spending time with his family. </TeamMember> -<TeamMember name="Mengdi Chen" permalink="mengdi-chen" photo="/images/team/mengdi-chen.jpg" github="mondaychen" twitter="mengdi_en" title="Engineer at Meta"> - While working on his Digital Arts degree Mengdi was conceited about his front-end skills because his CSS worked perfectly even on IE6. But soon React opened a new door of programming for him, and he has been dreaming of joining the React team ever since. Outside of work, he is usually busy chasing his two kids around or collecting strange recipes. -</TeamMember> - <TeamMember name="Mofei Zhang" permalink="mofei-zhang" photo="/images/team/mofei-zhang.png" github="mofeiZ" title="Engineer at Meta"> Mofei started programming when she realized it can help her cheat in video games. She focused on operating systems in undergrad / grad school, but now finds herself happily tinkering on React. Outside of work, she enjoys debugging bouldering problems and planning her next backpacking trip(s). </TeamMember> @@ -86,10 +74,6 @@ Current members of the React team are listed in alphabetical order below. Sathya hated the Dragon Book in school but somehow ended up working on compilers all his career. When he's not compiling React components, he's either drinking coffee or eating yet another Dosa. </TeamMember> -<TeamMember name="Sean Keegan" permalink="sean-keegan" photo="/images/team/sean-keegan.jpg" github="seanryankeegan" twitter="DevRelSean" title="Developer Advocate at Meta"> - After a first career as a math teacher, Sean remembered that one intro to comp sci class he had to take as a prereq and thought “that was kind of fun!”. One coding bootcamp and several tech jobs later, Sean discovered developer advocacy and hasn’t looked back. Outside of work, Sean enjoys ultimate frisbee, video games, and researching (but rarely implementing) better ways to care for his houseplants. -</TeamMember> - <TeamMember name="Sebastian Markbåge" permalink="sebastian-markbåge" photo="/images/team/sebmarkbage.jpg" github="sebmarkbage" twitter="sebmarkbage" title="Engineer at Vercel"> Sebastian majored in psychology. He's usually quiet. Even when he says something, it often doesn't make sense to the rest of us until a few months later. The correct way to pronounce his surname is "mark-boa-geh" but he settled for "mark-beige" out of pragmatism -- and that's how he approaches React. </TeamMember> From 2ab83341714a949ff30f404553c28c2af0b24a1c Mon Sep 17 00:00:00 2001 From: Soheil Nazari <113988347+s0h311@users.noreply.github.com> Date: Sat, 23 Sep 2023 06:10:41 +0200 Subject: [PATCH 051/382] Update common.md (#6290) corrected links --- src/content/reference/react-dom/components/common.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/content/reference/react-dom/components/common.md b/src/content/reference/react-dom/components/common.md index d3cc4d5b..8cf1fa29 100644 --- a/src/content/reference/react-dom/components/common.md +++ b/src/content/reference/react-dom/components/common.md @@ -100,11 +100,11 @@ These standard DOM props are also supported for all built-in components: * `onFocusCapture`: A version of `onFocus` that fires in the [capture phase.](/learn/responding-to-events#capture-phase-events) * [`onGotPointerCapture`](https://developer.mozilla.org/en-US/docs/Web/API/Element/gotpointercapture_event): A [`PointerEvent` handler](#pointerevent-handler) function. Fires when an element programmatically captures a pointer. * `onGotPointerCaptureCapture`: A version of `onGotPointerCapture` that fires in the [capture phase.](/learn/responding-to-events#capture-phase-events) -* [`onKeyDown`](https://developer.mozilla.org/en-US/docs/Web/API/Element/keydown_event): A [`KeyboardEvent` handler](#pointerevent-handler) function. Fires when a key is pressed. +* [`onKeyDown`](https://developer.mozilla.org/en-US/docs/Web/API/Element/keydown_event): A [`KeyboardEvent` handler](#keyboardevent-handler) function. Fires when a key is pressed. * `onKeyDownCapture`: A version of `onKeyDown` that fires in the [capture phase.](/learn/responding-to-events#capture-phase-events) -* [`onKeyPress`](https://developer.mozilla.org/en-US/docs/Web/API/Element/keypress_event): A [`KeyboardEvent` handler](#pointerevent-handler) function. Deprecated. Use `onKeyDown` or `onBeforeInput` instead. +* [`onKeyPress`](https://developer.mozilla.org/en-US/docs/Web/API/Element/keypress_event): A [`KeyboardEvent` handler](#keyboardevent-handler) function. Deprecated. Use `onKeyDown` or `onBeforeInput` instead. * `onKeyPressCapture`: A version of `onKeyPress` that fires in the [capture phase.](/learn/responding-to-events#capture-phase-events) -* [`onKeyUp`](https://developer.mozilla.org/en-US/docs/Web/API/Element/keyup_event): A [`KeyboardEvent` handler](#pointerevent-handler) function. Fires when a key is released. +* [`onKeyUp`](https://developer.mozilla.org/en-US/docs/Web/API/Element/keyup_event): A [`KeyboardEvent` handler](#keyboardevent-handler) function. Fires when a key is released. * `onKeyUpCapture`: A version of `onKeyUp` that fires in the [capture phase.](/learn/responding-to-events#capture-phase-events) * [`onLostPointerCapture`](https://developer.mozilla.org/en-US/docs/Web/API/Element/lostpointercapture_event): A [`PointerEvent` handler](#pointerevent-handler) function. Fires when an element stops capturing a pointer. * `onLostPointerCaptureCapture`: A version of `onLostPointerCapture` that fires in the [capture phase.](/learn/responding-to-events#capture-phase-events) From 828e30a876e179e5abe305273e73b5ae93262934 Mon Sep 17 00:00:00 2001 From: Gabriel Taveira <gabrielstaveira@gmail.com> Date: Sat, 23 Sep 2023 01:11:46 -0300 Subject: [PATCH 052/382] chore: log heading missing url error on dev only (#6280) --- src/components/Layout/Toc.tsx | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/components/Layout/Toc.tsx b/src/components/Layout/Toc.tsx index 628dbd61..5308c602 100644 --- a/src/components/Layout/Toc.tsx +++ b/src/components/Layout/Toc.tsx @@ -27,8 +27,7 @@ export function Toc({headings}: {headings: Toc}) { <ul className="space-y-2 pb-16"> {headings.length > 0 && headings.map((h, i) => { - if (h.url == null) { - // TODO: only log in DEV + if (!h.url && process.env.NODE_ENV === 'development') { console.error('Heading does not have URL'); } return ( From a1fbcf8e26858fd60f67479afa235805d100cf04 Mon Sep 17 00:00:00 2001 From: JSerDev <69352453+JSerZANP@users.noreply.github.com> Date: Sat, 23 Sep 2023 13:21:47 +0900 Subject: [PATCH 053/382] Update useEffect.md - The explanation on the timing of useEffect() callback doesn't seem to be accurate. (#6207) * Update useEffect.md * Update src/content/reference/react/useEffect.md --------- Co-authored-by: Sophie Alpert <git@sophiebits.com> --- src/content/reference/react/useEffect.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/reference/react/useEffect.md b/src/content/reference/react/useEffect.md index 1bb96e1e..46f651a8 100644 --- a/src/content/reference/react/useEffect.md +++ b/src/content/reference/react/useEffect.md @@ -62,7 +62,7 @@ function ChatRoom({ roomId }) { * If some of your dependencies are objects or functions defined inside the component, there is a risk that they will **cause the Effect to re-run more often than needed.** To fix this, remove unnecessary [object](#removing-unnecessary-object-dependencies) and [function](#removing-unnecessary-function-dependencies) dependencies. You can also [extract state updates](#updating-state-based-on-previous-state-from-an-effect) and [non-reactive logic](#reading-the-latest-props-and-state-from-an-effect) outside of your Effect. -* If your Effect wasn't caused by an interaction (like a click), React will let the browser **paint the updated screen first before running your Effect.** If your Effect is doing something visual (for example, positioning a tooltip), and the delay is noticeable (for example, it flickers), replace `useEffect` with [`useLayoutEffect`.](/reference/react/useLayoutEffect) +* If your Effect wasn't caused by an interaction (like a click), React will generally let the browser **paint the updated screen first before running your Effect.** If your Effect is doing something visual (for example, positioning a tooltip), and the delay is noticeable (for example, it flickers), replace `useEffect` with [`useLayoutEffect`.](/reference/react/useLayoutEffect) * Even if your Effect was caused by an interaction (like a click), **the browser may repaint the screen before processing the state updates inside your Effect.** Usually, that's what you want. However, if you must block the browser from repainting the screen, you need to replace `useEffect` with [`useLayoutEffect`.](/reference/react/useLayoutEffect) From 1758515a2055547d46e7723609100709ff3566c9 Mon Sep 17 00:00:00 2001 From: Mori <mortezasamadi1371@gmail.com> Date: Sat, 23 Sep 2023 08:03:22 +0330 Subject: [PATCH 054/382] Fix text in docs (#6253) * delete unused useState import * add word to equalize challenge and solutions texts * Refactor some texts * Apply suggestions from code review --------- Co-authored-by: Sophie Alpert <git@sophiebits.com> --- src/content/learn/passing-props-to-a-component.md | 2 +- src/content/learn/removing-effect-dependencies.md | 4 ++-- src/content/learn/state-a-components-memory.md | 2 -- src/content/learn/state-as-a-snapshot.md | 2 +- src/content/learn/synchronizing-with-effects.md | 2 +- 5 files changed, 5 insertions(+), 7 deletions(-) diff --git a/src/content/learn/passing-props-to-a-component.md b/src/content/learn/passing-props-to-a-component.md index da5fc5ef..8e756c2f 100644 --- a/src/content/learn/passing-props-to-a-component.md +++ b/src/content/learn/passing-props-to-a-component.md @@ -462,7 +462,7 @@ export default function Gallery() { </li> <li> <b>Discovered: </b> - polonium (element) + polonium (chemical element) </li> </ul> </section> diff --git a/src/content/learn/removing-effect-dependencies.md b/src/content/learn/removing-effect-dependencies.md index 0a5151da..9195cccc 100644 --- a/src/content/learn/removing-effect-dependencies.md +++ b/src/content/learn/removing-effect-dependencies.md @@ -926,7 +926,7 @@ function ChatRoom() { useEffect(() => { const options = createOptions(); - const connection = createConnection(); + const connection = createConnection(options); connection.connect(); return () => connection.disconnect(); }, []); // ✅ All dependencies declared @@ -1613,7 +1613,7 @@ label, button { display: block; margin-bottom: 5px; } Your Effect is re-running because it depends on the `options` object. Objects can be re-created unintentionally, you should try to avoid them as dependencies of your Effects whenever possible. -The least invasive fix is to read `roomId` and `serverUrl` right outside the Effect, and then make the Effect depend on those primitive values (which can't change unintentionally). Inside the Effect, create an object and it pass to `createConnection`: +The least invasive fix is to read `roomId` and `serverUrl` right outside the Effect, and then make the Effect depend on those primitive values (which can't change unintentionally). Inside the Effect, create an object and pass it to `createConnection`: <Sandpack> diff --git a/src/content/learn/state-a-components-memory.md b/src/content/learn/state-a-components-memory.md index 1dbaab4a..cdba8e54 100644 --- a/src/content/learn/state-a-components-memory.md +++ b/src/content/learn/state-a-components-memory.md @@ -1488,8 +1488,6 @@ Here is a fixed version that uses a regular `name` variable declared in the func <Sandpack> ```js -import { useState } from 'react'; - export default function FeedbackForm() { function handleClick() { const name = prompt('What is your name?'); diff --git a/src/content/learn/state-as-a-snapshot.md b/src/content/learn/state-as-a-snapshot.md index 503b0abb..df4eddbd 100644 --- a/src/content/learn/state-as-a-snapshot.md +++ b/src/content/learn/state-as-a-snapshot.md @@ -79,7 +79,7 @@ When React re-renders a component: 1. React calls your function again. 2. Your function returns a new JSX snapshot. -3. React then updates the screen to match the snapshot you've returned. +3. React then updates the screen to match the snapshot your function returned. <IllustrationBlock sequential> <Illustration caption="React executing the function" src="/images/docs/illustrations/i_render1.png" /> diff --git a/src/content/learn/synchronizing-with-effects.md b/src/content/learn/synchronizing-with-effects.md index 24b9f9eb..7319fdb4 100644 --- a/src/content/learn/synchronizing-with-effects.md +++ b/src/content/learn/synchronizing-with-effects.md @@ -767,7 +767,7 @@ Buying is not caused by rendering; it's caused by a specific interaction. It sho } ``` -**This illustrates that if remounting breaks the logic of your application, this usually uncovers existing bugs.** From the user's perspective, visiting a page shouldn't be different from visiting it, clicking a link, and pressing Back. React verifies that your components abide by this principle by remounting them once in development. +**This illustrates that if remounting breaks the logic of your application, this usually uncovers existing bugs.** From a user's perspective, visiting a page shouldn't be different from visiting it, clicking a link, then pressing Back to view the page again. React verifies that your components abide by this principle by remounting them once in development. ## Putting it all together {/*putting-it-all-together*/} From 2390627c9cb305216e6bd56e67c6603a89e76e7f Mon Sep 17 00:00:00 2001 From: Xavi Lee <awxiaoxian2020@163.com> Date: Sat, 23 Sep 2023 14:01:57 +0800 Subject: [PATCH 055/382] fix links (#6286) --- src/content/reference/react/cache.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/content/reference/react/cache.md b/src/content/reference/react/cache.md index db991e58..72fa4bd3 100644 --- a/src/content/reference/react/cache.md +++ b/src/content/reference/react/cache.md @@ -4,9 +4,9 @@ canary: true --- <Canary> -* `cache` is only for use with [React Server Components](https://react.dev/blog/2023/03/22/react-labs-what-we-have-been-working-on-march-2023#react-server-components). See [frameworks](https://react.dev/learn/start-a-new-react-project#bleeding-edge-react-frameworks) that support React Server Components. +* `cache` is only for use with [React Server Components](/blog/2023/03/22/react-labs-what-we-have-been-working-on-march-2023#react-server-components). See [frameworks](/learn/start-a-new-react-project#bleeding-edge-react-frameworks) that support React Server Components. -* `cache` is only available in React’s [Canary](https://react.dev/community/versioning-policy#canary-channel) and [experimental](https://react.dev/community/versioning-policy#experimental-channel) channels. Please ensure you understand the limitations before using `cache` in production. Learn more about [React's release channels here](/community/versioning-policy#all-release-channels). +* `cache` is only available in React’s [Canary](/community/versioning-policy#canary-channel) and [experimental](/community/versioning-policy#experimental-channel) channels. Please ensure you understand the limitations before using `cache` in production. Learn more about [React's release channels here](/community/versioning-policy#all-release-channels). </Canary> <Intro> @@ -68,7 +68,7 @@ The optimization of caching return values based on inputs is known as [_memoizat - React will invalidate the cache for all memoized functions for each server request. - Each call to `cache` creates a new function. This means that calling `cache` with the same function multiple times will return different memoized functions that do not share the same cache. - `cachedFn` will also cache errors. If `fn` throws an error for certain arguments, it will be cached, and the same error is re-thrown when `cachedFn` is called with those same arguments. -- `cache` is for use in [Server Components](https://react.dev/blog/2023/03/22/react-labs-what-we-have-been-working-on-march-2023#react-server-components) only. +- `cache` is for use in [Server Components](/blog/2023/03/22/react-labs-what-we-have-been-working-on-march-2023#react-server-components) only. --- From 91e7f697d8087d6d1d0e086785406ab8a8238bdb Mon Sep 17 00:00:00 2001 From: Ahmed Abdelbaset <A7med3bdulBaset@gmail.com> Date: Mon, 25 Sep 2023 18:08:59 +0300 Subject: [PATCH 056/382] Update tutorial error message to use ConsoleBlock --- src/content/learn/tutorial-tic-tac-toe.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/content/learn/tutorial-tic-tac-toe.md b/src/content/learn/tutorial-tic-tac-toe.md index 7c5adb11..eca388a8 100644 --- a/src/content/learn/tutorial-tic-tac-toe.md +++ b/src/content/learn/tutorial-tic-tac-toe.md @@ -2073,7 +2073,13 @@ export default function Game() { } ``` -You can see what your code should look like below. Note that you should see an error in the developer tools console that says: ``Warning: Each child in an array or iterator should have a unique "key" prop. Check the render method of `Game`.`` You'll fix this error in the next section. +You can see what your code should look like below. Note that you should see an error in the developer tools console that says: + +<ConsoleBlock level="warning"> +Warning: Each child in an array or iterator should have a unique "key" prop. Check the render method of `Game`. +</ConsoleBlock> + +You'll fix this error in the next section. <Sandpack> From 4df3e7cf189d7fe649d1994e3c05f7f3b3c7df15 Mon Sep 17 00:00:00 2001 From: Luna <lunaleaps@gmail.com> Date: Mon, 25 Sep 2023 19:53:26 -0700 Subject: [PATCH 057/382] Remove pitfall and update Next link (#6318) * Remove pitfall and update Next link * Fix other beta link --------- Co-authored-by: Luna Wei <luwe@fb.com> --- src/content/learn/start-a-new-react-project.md | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/src/content/learn/start-a-new-react-project.md b/src/content/learn/start-a-new-react-project.md index 280a1378..d0933bcc 100644 --- a/src/content/learn/start-a-new-react-project.md +++ b/src/content/learn/start-a-new-react-project.md @@ -89,14 +89,9 @@ These features are getting closer to being production-ready every day, and we've ### Next.js (App Router) {/*nextjs-app-router*/} -**[Next.js's App Router](https://beta.nextjs.org/docs/getting-started) is a redesign of the Next.js APIs aiming to fulfill the React team’s full-stack architecture vision.** It lets you fetch data in asynchronous components that run on the server or even during the build. +**[Next.js's App Router](https://nextjs.org/docs) is a redesign of the Next.js APIs aiming to fulfill the React team’s full-stack architecture vision.** It lets you fetch data in asynchronous components that run on the server or even during the build. -Next.js is maintained by [Vercel](https://vercel.com/). You can [deploy a Next.js app](https://nextjs.org/docs/deployment) to any Node.js or serverless hosting, or to your own server. Next.js also supports [static export](https://beta.nextjs.org/docs/configuring/static-export) which doesn't require a server. -<Pitfall> - -Next.js's App Router is **currently in beta and is not yet recommended for production** (as of Mar 2023). To experiment with it in an existing Next.js project, [follow this incremental migration guide](https://beta.nextjs.org/docs/upgrade-guide#migrating-from-pages-to-app). - -</Pitfall> +Next.js is maintained by [Vercel](https://vercel.com/). You can [deploy a Next.js app](https://nextjs.org/docs/deployment) to any Node.js or serverless hosting, or to your own server. Next.js also supports [static export](https://nextjs.org/docs/app/building-your-application/deploying/static-exports) which doesn't require a server. <DeepDive> From 62b9b4519bcf24e5c2c87cf51b1ce8f8105bdcc5 Mon Sep 17 00:00:00 2001 From: JustLolo <103621114+JustLolo@users.noreply.github.com> Date: Mon, 25 Sep 2023 22:34:02 -0500 Subject: [PATCH 058/382] Main (#5963) From 2dbd19531f5031e81a67eba532203c9abedc054a Mon Sep 17 00:00:00 2001 From: jajima <119467077+jajimajp@users.noreply.github.com> Date: Tue, 26 Sep 2023 12:56:16 +0900 Subject: [PATCH 059/382] Fix an incorrect person's name (#6066) --- src/content/learn/rendering-lists.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/learn/rendering-lists.md b/src/content/learn/rendering-lists.md index 45b60240..13ac932f 100644 --- a/src/content/learn/rendering-lists.md +++ b/src/content/learn/rendering-lists.md @@ -1086,7 +1086,7 @@ Here, `<Recipe {...recipe} key={recipe.id} />` is a syntax shortcut saying "pass #### List with a separator {/*list-with-a-separator*/} -This example renders a famous haiku by Katsushika Hokusai, with each line wrapped in a `<p>` tag. Your job is to insert an `<hr />` separator between each paragraph. Your resulting structure should look like this: +This example renders a famous haiku by Tachibana Hokushi, with each line wrapped in a `<p>` tag. Your job is to insert an `<hr />` separator between each paragraph. Your resulting structure should look like this: ```js <article> From 01c31630f9522c0d023e897168a48c5b0a394931 Mon Sep 17 00:00:00 2001 From: Matan Borenkraout <Matanbobi@gmail.com> Date: Tue, 26 Sep 2023 07:10:41 +0300 Subject: [PATCH 060/382] fix: wrong parameter name defined in explanation (#6158) --- src/content/reference/react/Profiler.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/reference/react/Profiler.md b/src/content/reference/react/Profiler.md index 8e149634..502ab0d4 100644 --- a/src/content/reference/react/Profiler.md +++ b/src/content/reference/react/Profiler.md @@ -58,7 +58,7 @@ function onRender(id, phase, actualDuration, baseDuration, startTime, commitTime * `actualDuration`: The number of milliseconds spent rendering the `<Profiler>` and its descendants for the current update. This indicates how well the subtree makes use of memoization (e.g. [`memo`](/reference/react/memo) and [`useMemo`](/reference/react/useMemo)). Ideally this value should decrease significantly after the initial mount as many of the descendants will only need to re-render if their specific props change. * `baseDuration`: The number of milliseconds estimating how much time it would take to re-render the entire `<Profiler>` subtree without any optimizations. It is calculated by summing up the most recent render durations of each component in the tree. This value estimates a worst-case cost of rendering (e.g. the initial mount or a tree with no memoization). Compare `actualDuration` against it to see if memoization is working. * `startTime`: A numeric timestamp for when React began rendering the current update. -* `endTime`: A numeric timestamp for when React committed the current update. This value is shared between all profilers in a commit, enabling them to be grouped if desirable. +* `commitTime`: A numeric timestamp for when React committed the current update. This value is shared between all profilers in a commit, enabling them to be grouped if desirable. --- From 8afb1ef5fcfaa1017542fb2b223de3edfdb82462 Mon Sep 17 00:00:00 2001 From: Krzysztof Piaskowy <krzysztof.piaskowy@swmansion.com> Date: Tue, 26 Sep 2023 20:00:24 +0200 Subject: [PATCH 061/382] Add info about App.js 2024 conference (#6192) Co-authored-by: Luna <lunaleaps@gmail.com> --- src/content/community/conferences.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/content/community/conferences.md b/src/content/community/conferences.md index 6e1780a7..1c164a09 100644 --- a/src/content/community/conferences.md +++ b/src/content/community/conferences.md @@ -55,7 +55,6 @@ October 27th 2023. In-person in Verona, Italy and online (hybrid event) [Website](https://2023.reactjsday.it/) - [Twitter](https://twitter.com/reactjsday) - [Facebook](https://www.facebook.com/GrUSP/) - [YouTube](https://www.youtube.com/c/grusp) - ### React Summit US 2023 {/*react-summit-us-2023*/} November 13 & 15, 2023. In-person in New York, US + remote first interactivity (hybrid event) @@ -66,6 +65,11 @@ December 8 & 12, 2023. In-person in Berlin, Germany + remote first interactivity [Website](https://reactday.berlin) - [Twitter](https://twitter.com/reactdayberlin) - [Facebook](https://www.facebook.com/reactdayberlin/) - [Videos](https://portal.gitnation.org/events/react-day-berlin-2023) +### App.js Conf 2024 {/*appjs-conf-2024*/} +May 22 - 24, 2024. In-person in Kraków, Poland + remote + +[Website](https://appjs.co) - [Twitter](https://twitter.com/appjsconf) + ### Render(ATL) 2024 🍑 {/*renderatl-2024-*/} June 12 - June 14, 2024. Atlanta, GA, USA From 850327d056ee2ea84d48262f103de6293d7d4809 Mon Sep 17 00:00:00 2001 From: Lee Robinson <me@leerob.io> Date: Wed, 27 Sep 2023 21:55:16 -0500 Subject: [PATCH 062/382] Update "Start a new React project" for stable Next.js App Router (#6020) --- src/content/learn/start-a-new-react-project.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/content/learn/start-a-new-react-project.md b/src/content/learn/start-a-new-react-project.md index d0933bcc..9c395d3f 100644 --- a/src/content/learn/start-a-new-react-project.md +++ b/src/content/learn/start-a-new-react-project.md @@ -21,12 +21,12 @@ If you want to build a new app or a new website fully with React, we recommend p **[Next.js](https://nextjs.org/) is a full-stack React framework.** It's versatile and lets you create React apps of any size--from a mostly static blog to a complex dynamic application. To create a new Next.js project, run in your terminal: <TerminalBlock> -npx create-next-app +npx create-next-app@latest </TerminalBlock> If you're new to Next.js, check out the [Next.js tutorial.](https://nextjs.org/learn/foundations/about-nextjs) -Next.js is maintained by [Vercel](https://vercel.com/). You can [deploy a Next.js app](https://nextjs.org/docs/deployment) to any Node.js or serverless hosting, or to your own server. [Fully static Next.js apps](https://nextjs.org/docs/advanced-features/static-html-export) can be deployed to any static hosting. +Next.js is maintained by [Vercel](https://vercel.com/). You can [deploy a Next.js app](https://nextjs.org/docs/app/building-your-application/deploying) to any Node.js or serverless hosting, or to your own server. Next.js also supports a [static export](https://nextjs.org/docs/pages/building-your-application/deploying/static-exports) which doesn't require a server. ### Remix {/*remix*/} @@ -91,7 +91,7 @@ These features are getting closer to being production-ready every day, and we've **[Next.js's App Router](https://nextjs.org/docs) is a redesign of the Next.js APIs aiming to fulfill the React team’s full-stack architecture vision.** It lets you fetch data in asynchronous components that run on the server or even during the build. -Next.js is maintained by [Vercel](https://vercel.com/). You can [deploy a Next.js app](https://nextjs.org/docs/deployment) to any Node.js or serverless hosting, or to your own server. Next.js also supports [static export](https://nextjs.org/docs/app/building-your-application/deploying/static-exports) which doesn't require a server. +Next.js is maintained by [Vercel](https://vercel.com/). You can [deploy a Next.js app](https://nextjs.org/docs/app/building-your-application/deploying) to any Node.js or serverless hosting, or to your own server. Next.js also supports [static export](https://nextjs.org/docs/app/building-your-application/deploying/static-exports) which doesn't require a server. <DeepDive> From d4c214ad105548168b175a4e448e7411562d2f34 Mon Sep 17 00:00:00 2001 From: Sourabh singh <96938361+SouSingh@users.noreply.github.com> Date: Thu, 28 Sep 2023 17:23:39 +0530 Subject: [PATCH 063/382] Update Page not found to React18 URL (#6320) * Update react-labs-what-we-have-been-working-on-june-2022.md * Update react-labs-what-we-have-been-working-on-june-2022.md --- .../06/15/react-labs-what-we-have-been-working-on-june-2022.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/blog/2022/06/15/react-labs-what-we-have-been-working-on-june-2022.md b/src/content/blog/2022/06/15/react-labs-what-we-have-been-working-on-june-2022.md index 0d9e8e26..938b75c4 100644 --- a/src/content/blog/2022/06/15/react-labs-what-we-have-been-working-on-june-2022.md +++ b/src/content/blog/2022/06/15/react-labs-what-we-have-been-working-on-june-2022.md @@ -8,7 +8,7 @@ June 15, 2022 by [Andrew Clark](https://twitter.com/acdlite), [Dan Abramov](http <Intro> -[React 18](https://reactjs.org/blog/2022/03/29/react-v18) was years in the making, and with it brought valuable lessons for the React team. Its release was the result of many years of research and exploring many paths. Some of those paths were successful; many more were dead-ends that led to new insights. One lesson we’ve learned is that it’s frustrating for the community to wait for new features without having insight into these paths that we’re exploring. +[React 18](https://react.dev/blog/2022/03/29/react-v18) was years in the making, and with it brought valuable lessons for the React team. Its release was the result of many years of research and exploring many paths. Some of those paths were successful; many more were dead-ends that led to new insights. One lesson we’ve learned is that it’s frustrating for the community to wait for new features without having insight into these paths that we’re exploring. </Intro> From 1dfc88fe46b2ca169083377f0f716d8e7951af81 Mon Sep 17 00:00:00 2001 From: Alain Kaiser <kaiseralain1@gmail.com> Date: Sun, 1 Oct 2023 11:25:16 +0200 Subject: [PATCH 064/382] fix: typo in useMemo example (#6330) --- src/content/reference/react/useMemo.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/reference/react/useMemo.md b/src/content/reference/react/useMemo.md index 543c1112..c96c1a94 100644 --- a/src/content/reference/react/useMemo.md +++ b/src/content/reference/react/useMemo.md @@ -647,7 +647,7 @@ In this example, the `List` component is **artificially slowed down** so that yo Switching the tabs feels slow because it forces the slowed down `List` to re-render. That's expected because the `tab` has changed, and so you need to reflect the user's new choice on the screen. -Next, try toggling the theme. **Thanks to `useMemo` together with [`memo`](/reference/react/memo), it’s fast despite the artificial slowdown!** The `List` skipped re-rendering because the `visibleItems` array has not changed since the last render. The `visibleItems` array has not changed because both `todos` and `tab` (which you pass as dependencies to `useMemo`) haven't changed since the last render. +Next, try toggling the theme. **Thanks to `useMemo` together with [`memo`](/reference/react/memo), it’s fast despite the artificial slowdown!** The `List` skipped re-rendering because the `visibleTodos` array has not changed since the last render. The `visibleTodos` array has not changed because both `todos` and `tab` (which you pass as dependencies to `useMemo`) haven't changed since the last render. <Sandpack> From 68f417a600c7d7b8c4131e39f8a843a856ae3909 Mon Sep 17 00:00:00 2001 From: Sebastian Silbermann <silbermann.sebastian@gmail.com> Date: Sun, 1 Oct 2023 12:16:27 +0200 Subject: [PATCH 065/382] Explain how `null` ends up in `ref.current` for React-managed refs (#5836) * Update referencing-values-with-refs.md * Update src/content/learn/referencing-values-with-refs.md --- src/content/learn/referencing-values-with-refs.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/learn/referencing-values-with-refs.md b/src/content/learn/referencing-values-with-refs.md index da5d864a..4faf1878 100644 --- a/src/content/learn/referencing-values-with-refs.md +++ b/src/content/learn/referencing-values-with-refs.md @@ -284,7 +284,7 @@ You also don't need to worry about [avoiding mutation](/learn/updating-objects-i ## Refs and the DOM {/*refs-and-the-dom*/} -You can point a ref to any value. However, the most common use case for a ref is to access a DOM element. For example, this is handy if you want to focus an input programmatically. When you pass a ref to a `ref` attribute in JSX, like `<div ref={myRef}>`, React will put the corresponding DOM element into `myRef.current`. You can read more about this in [Manipulating the DOM with Refs.](/learn/manipulating-the-dom-with-refs) +You can point a ref to any value. However, the most common use case for a ref is to access a DOM element. For example, this is handy if you want to focus an input programmatically. When you pass a ref to a `ref` attribute in JSX, like `<div ref={myRef}>`, React will put the corresponding DOM element into `myRef.current`. Once the element is removed from the DOM, React will update `myRef.current` to be `null`. You can read more about this in [Manipulating the DOM with Refs.](/learn/manipulating-the-dom-with-refs) <Recap> From c45fa10a95e3ec757d2997c18f5053daa0b4cc39 Mon Sep 17 00:00:00 2001 From: Ruben Amendoeira <ruben.amendoeira@gmail.com> Date: Thu, 5 Oct 2023 07:37:52 +0200 Subject: [PATCH 066/382] Fix "primatives" typo in cache.md (#6335) --- src/content/reference/react/cache.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/reference/react/cache.md b/src/content/reference/react/cache.md index 72fa4bd3..7f9afdb9 100644 --- a/src/content/reference/react/cache.md +++ b/src/content/reference/react/cache.md @@ -414,7 +414,7 @@ See prior mentioned pitfalls If none of the above apply, it may be a problem with how React checks if something exists in cache. -If your arguments are not [primatives](https://developer.mozilla.org/en-US/docs/Glossary/Primitive) (ex. objects, functions, arrays), ensure you're passing the same object reference. +If your arguments are not [primitives](https://developer.mozilla.org/en-US/docs/Glossary/Primitive) (ex. objects, functions, arrays), ensure you're passing the same object reference. When calling a memoized function, React will look up the input arguments to see if a result is already cached. React will use shallow equality of the arguments to determine if there is a cache hit. From 3cd1723658f0628aa3c68badd3e32dde96fe404c Mon Sep 17 00:00:00 2001 From: Sophie Alpert <git@sophiebits.com> Date: Thu, 5 Oct 2023 22:55:01 -0700 Subject: [PATCH 067/382] Mention `use` as a Suspense-enabled data source (#6340) Maybe it's debatable whether we want to link to canary APIs in other pages but I feel like here it's more useful than not. --- .../reference/react-dom/server/renderToPipeableStream.md | 1 + .../reference/react-dom/server/renderToReadableStream.md | 1 + src/content/reference/react/Suspense.md | 1 + src/content/reference/react/useDeferredValue.md | 3 ++- 4 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/content/reference/react-dom/server/renderToPipeableStream.md b/src/content/reference/react-dom/server/renderToPipeableStream.md index 6a9021e0..26422f18 100644 --- a/src/content/reference/react-dom/server/renderToPipeableStream.md +++ b/src/content/reference/react-dom/server/renderToPipeableStream.md @@ -288,6 +288,7 @@ Streaming does not need to wait for React itself to load in the browser, or for - Data fetching with Suspense-enabled frameworks like [Relay](https://relay.dev/docs/guided-tour/rendering/loading-states/) and [Next.js](https://nextjs.org/docs/getting-started/react-essentials) - Lazy-loading component code with [`lazy`](/reference/react/lazy) +- Reading the value of a Promise with [`use`](/reference/react/use) Suspense **does not** detect when data is fetched inside an Effect or event handler. diff --git a/src/content/reference/react-dom/server/renderToReadableStream.md b/src/content/reference/react-dom/server/renderToReadableStream.md index 8ef42aa7..f4ed54ce 100644 --- a/src/content/reference/react-dom/server/renderToReadableStream.md +++ b/src/content/reference/react-dom/server/renderToReadableStream.md @@ -287,6 +287,7 @@ Streaming does not need to wait for React itself to load in the browser, or for - Data fetching with Suspense-enabled frameworks like [Relay](https://relay.dev/docs/guided-tour/rendering/loading-states/) and [Next.js](https://nextjs.org/docs/getting-started/react-essentials) - Lazy-loading component code with [`lazy`](/reference/react/lazy) +- Reading the value of a Promise with [`use`](/reference/react/use) Suspense **does not** detect when data is fetched inside an Effect or event handler. diff --git a/src/content/reference/react/Suspense.md b/src/content/reference/react/Suspense.md index dd931205..d9400378 100644 --- a/src/content/reference/react/Suspense.md +++ b/src/content/reference/react/Suspense.md @@ -254,6 +254,7 @@ async function getAlbums() { - Data fetching with Suspense-enabled frameworks like [Relay](https://relay.dev/docs/guided-tour/rendering/loading-states/) and [Next.js](https://nextjs.org/docs/getting-started/react-essentials) - Lazy-loading component code with [`lazy`](/reference/react/lazy) +- Reading the value of a Promise with [`use`](/reference/react/use) Suspense **does not** detect when data is fetched inside an Effect or event handler. diff --git a/src/content/reference/react/useDeferredValue.md b/src/content/reference/react/useDeferredValue.md index f2505454..74fdab8a 100644 --- a/src/content/reference/react/useDeferredValue.md +++ b/src/content/reference/react/useDeferredValue.md @@ -82,10 +82,11 @@ During updates, the <CodeStep step={2}>deferred value</CodeStep> will "lag behin <Note> -This example assumes you use one of Suspense-enabled data sources: +This example assumes you use a Suspense-enabled data source: - Data fetching with Suspense-enabled frameworks like [Relay](https://relay.dev/docs/guided-tour/rendering/loading-states/) and [Next.js](https://nextjs.org/docs/getting-started/react-essentials) - Lazy-loading component code with [`lazy`](/reference/react/lazy) +- Reading the value of a Promise with [`use`](/reference/react/use) [Learn more about Suspense and its limitations.](/reference/react/Suspense) From 9aa84b19222838f38863ce4bd8f516dbfe193bbc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Markb=C3=A5ge?= <sebastian@calyptus.eu> Date: Fri, 6 Oct 2023 17:39:04 -0400 Subject: [PATCH 068/382] Add Experimental Taint API Docs (#6337) Co-authored-by: Matt Carroll <mattca@meta.com> --- .../experimental_taintObjectReference.md | 153 ++++++++++++++ .../react/experimental_taintUniqueValue.md | 198 ++++++++++++++++++ src/sidebarReference.json | 8 + 3 files changed, 359 insertions(+) create mode 100644 src/content/reference/react/experimental_taintObjectReference.md create mode 100644 src/content/reference/react/experimental_taintUniqueValue.md diff --git a/src/content/reference/react/experimental_taintObjectReference.md b/src/content/reference/react/experimental_taintObjectReference.md new file mode 100644 index 00000000..ce91c3d0 --- /dev/null +++ b/src/content/reference/react/experimental_taintObjectReference.md @@ -0,0 +1,153 @@ +--- +title: experimental_taintObjectReference +--- + +<Wip> + +**This API is experimental and is not available in a stable version of React yet.** + +You can try it by upgrading React packages to the most recent experimental version: + +- `react@experimental` +- `react-dom@experimental` +- `eslint-plugin-react-hooks@experimental` + +Experimental versions of React may contain bugs. Don't use them in production. + +This API is only available inside React Server Components. + +</Wip> + + +<Intro> + +`taintObjectReference` lets you prevent a specific object instance from being passed to a Client Component like a `user` object. + +```js +experimental_taintObjectReference(message, object); +``` + +To prevent passing a key, hash or token, see [`taintUniqueValue`](/reference/react/experimental_taintUniqueValue). + +</Intro> + +<InlineToc /> + +--- + +## Reference {/*reference*/} + +### `taintObjectReference(message, object)` {/*taintobjectreference*/} + +Call `taintObjectReference` with an object to register it with React as something that should not be allowed to be passed to the Client as is: + +```js +import {experimental_taintObjectReference} from 'react'; + +experimental_taintObjectReference( + 'Do not pass ALL environment variables to the client.', + process.env +); +``` + +[See more examples below.](#usage) + +#### Parameters {/*parameters*/} + +* `message`: The message you want to display if the object gets passed to a Client Component. This message will be displayed as a part of the Error that will be thrown if the object gets passed to a Client Component. + +* `object`: The object to be tainted. Functions and class instances can be passed to `taintObjectReference` as `object`. Functions and classes are already blocked from being passed to Client Components but the React's default error message will be replaced by what you defined in `message`. When a specific instance of a Typed Array is passed to `taintObjectReference` as `object`, any other copies of the Typed Array will not be tainted. + +#### Returns {/*returns*/} + +`experimental_taintObjectReference` returns `undefined`. + +#### Caveats {/*caveats*/} + +- Recreating or cloning a tainted object creates a new untained object which main contain sensetive data. For example, if you have a tainted `user` object, `const userInfo = {name: user.name, ssn: user.ssn}` or `{...user}` will create new objects which are not tainted. `taintObjectReference` only protects against simple mistakes when the object is passed through to a Client Component unchanged. + +<Pitfall> + +**Do not rely on just tainting for security.** Tainting an object doesn't prevent leaking of every possible derived value. For example, the clone of a tainted object will create a new untained object. Using data from a tainted object (e.g. `{secret: taintedObj.secret}`) will create a new value or object that is not tainted. Tainting is a layer of protection, a secure app will have multiple layers of protection, well designed APIs, and isolation patterns. + +</Pitfall> + +--- + +## Usage {/*usage*/} + +### Prevent user data from unintentionally reaching the client {/*prevent-user-data-from-unintentionally-reaching-the-client*/} + +A Client Component should never accept objects that carry sensitive data. Ideally, the data fetching functions should not expose data that the current user should not have access to. Sometimes mistakes happen during refactoring. To protect against this mistakes happening down the line we can "taint" the user object in our data API. + +```js +import {experimental_taintObjectReference} from 'react'; + +export async function getUser(id) { + const user = await db`SELECT * FROM users WHERE id = ${id}`; + experimental_taintObjectReference( + 'Do not pass the entire user object to the client. ' + + 'Instead, pick off the specific properties you need for this use case.', + user, + ); + return user; +} +``` + +Now whenever anyone tries to pass this object to a Client Component, an error will be thrown with the passed in error message instead. + +<DeepDive> + +#### Protecting against leaks in data fetching {/*protecting-against-leaks-in-data-fetching*/} + +If you're running a Server Components environment that has access to sensitive data, you have to be careful not to pass objects straight through: + +```js +// api.js +export async function getUser(id) { + const user = await db`SELECT * FROM users WHERE id = ${id}`; + return user; +} +``` + +```js +import { getUser } from 'api.js'; +import { InfoCard } from 'components.js'; + +export async function Profile(props) { + const user = await getUser(props.userId); + // DO NOT DO THIS + return <InfoCard user={user} />; +} +``` + +```js +// components.js +"use client"; + +export async function InfoCard({ user }) { + return <div>{user.name}</div>; +} +``` + +Ideally, the `getUser` should not expose data that the current user should not have access to. To prevent passing the `user` object to a Client Component down the line we can "taint" the user object: + + +```js +// api.js +import {experimental_taintObjectReference} from 'react'; + +export async function getUser(id) { + const user = await db`SELECT * FROM users WHERE id = ${id}`; + experimental_taintObjectReference( + 'Do not pass the entire user object to the client. ' + + 'Instead, pick off the specific properties you need for this use case.', + user, + ); + return user; +} +``` + +Now if anyone tries to pass the `user` object to a Client Component, an error will be thrown with the passed in error message. + +</DeepDive> diff --git a/src/content/reference/react/experimental_taintUniqueValue.md b/src/content/reference/react/experimental_taintUniqueValue.md new file mode 100644 index 00000000..eab73df5 --- /dev/null +++ b/src/content/reference/react/experimental_taintUniqueValue.md @@ -0,0 +1,198 @@ +--- +title: experimental_taintUniqueValue +--- + +<Wip> + +**This API is experimental and is not available in a stable version of React yet.** + +You can try it by upgrading React packages to the most recent experimental version: + +- `react@experimental` +- `react-dom@experimental` +- `eslint-plugin-react-hooks@experimental` + +Experimental versions of React may contain bugs. Don't use them in production. + +This API is only available inside [React Server Components](/reference/react/use-client). + +</Wip> + + +<Intro> + +`taintUniqueValue` lets you prevent unique values from being passed to Client Components like passwords, keys, or tokens. + +```js +taintUniqueValue(errMessage, lifetime, value) +``` + +To prevent passing an object containing sensitive data, see [`taintObjectReference`](/reference/react/experimental_taintObjectReference). + +</Intro> + +<InlineToc /> + +--- + +## Reference {/*reference*/} + +### `taintUniqueValue(message, lifetime, value)` {/*taintuniquevalue*/} + +Call `taintUniqueValue` with a password, token, key or hash to register it with React as something that should not be allowed to be passed to the Client as is: + +```js +import {experimental_taintUniqueValue} from 'react'; + +experimental_taintUniqueValue( + 'Do not pass secret keys to the client.', + process, + process.env.SECRET_KEY +); +``` + +[See more examples below.](#usage) + +#### Parameters {/*parameters*/} + +* `message`: The message you want to display if `value` is passed to a Client Component. This message will be displayed as a part of the Error that will be thrown if `value` is passed to a Client Component. + +* `lifetime`: Any object that indicates how long `value` should be tainted. `value` will be blocked from being sent to any Client Component while this object still exists. For example, passing `globalThis` blocks the value for the lifetime of an app. `lifetime` is typically an object whose properties contains `value`. + +* `value`: A string, bigint or TypedArray. `value` must be a unique sequence of characters or bytes with high entropy such as a cryptographic token, private key, hash, or a long password. `value` will be blocked from being sent to any Client Component. + +#### Returns {/*returns*/} + +`experimental_taintUniqueValue` returns `undefined`. + +#### Caveats {/*caveats*/} + +- Deriving new values from tainted values can compromise tainting protection. New values created by uppercasing tainted values, concatenating tainted string values into a larger string, converting tainted values to base64, substringing tainted values, and other similar transformations are not tainted unless you explicity call `taintUniqueValue` on these newly created values. + +--- + +## Usage {/*usage*/} + +### Prevent a token from being passed to Client Components {/*prevent-a-token-from-being-passed-to-client-components*/} + +To ensure that sensitive information such as passwords, session tokens, or other unique values do not inadvertently get passed to Client Components, the `taintUniqueValue` function provides a layer of protection. When a value is tainted, any attempt to pass it to a Client Component will result in an error. + +The `lifetime` argument defines the duration for which the value remains tainted. For values that should remain tainted indefinitely, objects like [`globalThis`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/globalThis) or `process` can serve as the `lifetime` argument. These objects have a lifespan that spans the entire duration of your app's execution. + +```js +import {experimental_taintUniqueValue} from 'react'; + +experimental_taintUniqueValue( + 'Do not pass a user password to the client.', + globalThis, + process.env.SECRET_KEY +); +``` + +If the tainted value's lifespan is tied to a object, the `lifetime` should be the object that encapsulates the value. This ensures the tainted value remains protected for the lifetime of the encapsulating object. + +```js +import {experimental_taintUniqueValue} from 'react'; + +export async function getUser(id) { + const user = await db`SELECT * FROM users WHERE id = ${id}`; + experimental_taintUniqueValue( + 'Do not pass a user session token to the client.', + user, + user.session.token + ); + return user; +} +``` + +In this example, the `user` object serves as the `lifetime` argument. If this object gets stored in a global cache or is accessible by another request, the session token remains tainted. + +<Pitfall> + +**Do not rely solely on tainting for security.** Tainting a value doesn't block every possible derived value. For example, creating a new value by upper casing a tainted string will not taint the new value. + + +```js +import {experimental_taintUniqueValue} from 'react'; + +const password = 'correct horse battery staple'; + +experimental_taintUniqueValue( + 'Do not pass the password to the client.', + globalThis, + password +); + +const uppercasePassword = password.toUpperCase() // `uppercasePassword` is not tainted +``` + +In this example, the constant `password` is tainted. Then `password` is used to create a new value `uppercasePassword` by calling the `toUpperCase` method on `password`. The newly created `uppercasePassword` is not tainted. + +Other similar ways of deriving new values from tainted values like concatenating it into a larger string, converting it to base64, or returning a substring create untained values. + +Tainting only protects against simple mistakes like explictly passing secret values to the client. Mistakes in calling the `taintUniqueValue` like using a global store outside of React, without the corresponding lifetime object, can cause the tainted value to become untainted. Tainting is a layer of protection, a secure app will have multiple layers of protection, well designed APIs, and isolation patterns. + +</Pitfall> + +<DeepDive> + +#### Using `server-only` and `taintUniqueValue` to prevent leaking secrets {/*using-server-only-and-taintuniquevalue-to-prevent-leaking-secrets*/} + +If you're running a Server Components environment that has access to private keys or passwords such as database passwords, you have to be careful not to pass that to a Client Component. + +```js +export async function Dashboard(props) { + // DO NOT DO THIS + return <Overview password={process.env.API_PASSWORD} />; +} +``` + +```js +"use client"; + +import {useEffect} from '...' + +export async function Overview({ password }) { + useEffect(() => { + const headers = { Authorization: password }; + fetch(url, { headers }).then(...); + }, [password]); + ... +} +``` + +This example would leak the secret API token to the client. If this API token can be used to access data this particular user shouldn't have access to, it could lead to a data breach. + +[comment]: <> (TODO: Link to `server-only` docs once they are written) + +Ideally, secrets like this are abstracted into a single helper file that can only be imported by trusted data utilities on the server. The helper can even be tagged with [`server-only`](https://www.npmjs.com/package/server-only) to ensure that this file isn't imported on the client. + +```js +import "server-only"; + +export function fetchAPI(url) { + const headers = { Authorization: process.env.API_PASSWORD }; + return fetch(url, { headers }); +} +``` + +Sometimes mistakes happen during refactoring and not all of your colleagues might know about this. +To protect against this mistakes happening down the line we can "taint" the actual password: + +```js +import "server-only"; +import {experimental_taintUniqueValue} from 'react'; + +experimental_taintUniqueValue( + 'Do not pass the API token password to the client. ' + + 'Instead do all fetches on the server.' + process, + process.env.API_PASSWORD +); +``` + +Now whenever anyone tries to pass this password to a Client Component, or send the password to a Client Component with a Server Action, a error will be thrown with message you defined when you called `taintUniqueValue`. + +</DeepDive> + +--- diff --git a/src/sidebarReference.json b/src/sidebarReference.json index 62725693..d1de3062 100644 --- a/src/sidebarReference.json +++ b/src/sidebarReference.json @@ -127,6 +127,14 @@ { "title": "startTransition", "path": "/reference/react/startTransition" + }, + { + "title": "experimental_taintObjectReference", + "path": "/reference/react/experimental_taintObjectReference" + }, + { + "title": "experimental_taintUniqueValue", + "path": "/reference/react/experimental_taintUniqueValue" } ] }, From fdad54db4c16633ef3b0a896047037d3585e8aab Mon Sep 17 00:00:00 2001 From: Sophie Alpert <git@sophiebits.com> Date: Mon, 9 Oct 2023 11:06:26 -0700 Subject: [PATCH 069/382] Explain limitations of useSyncExternalStore with concurrency (#6339) * Explain limitations of useSyncExternalStore with concurrency Doesn't seem like we have this noted anywhere. * Pull out example to code block --- .../reference/react/useSyncExternalStore.md | 22 ++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/src/content/reference/react/useSyncExternalStore.md b/src/content/reference/react/useSyncExternalStore.md index 4169e231..955b751f 100644 --- a/src/content/reference/react/useSyncExternalStore.md +++ b/src/content/reference/react/useSyncExternalStore.md @@ -57,6 +57,26 @@ The current snapshot of the store which you can use in your rendering logic. * If a different `subscribe` function is passed during a re-render, React will re-subscribe to the store using the newly passed `subscribe` function. You can prevent this by declaring `subscribe` outside the component. +* If the store is mutated during a [non-blocking transition update](/reference/react/useTransition), React will fall back to performing that update as blocking. Specifically, React will call `getSnapshot` a second time just before applying changes to the DOM. If it returns a different value than when it was called originally, React will restart the transition update from scratch, this time applying it as a blocking update, to ensure that every component on screen is reflecting the same version of the store. + +* It's not recommended to _suspend_ a render based on a store value returned by `useSyncExternalStore`. The reason is that mutations to the external store cannot be [marked as non-blocking transition updates](/reference/react/useTransition), so they will trigger the nearest [`Suspense` fallback](/reference/react/Suspense), replacing already-rendered content on screen with a loading spinner, which typically makes a poor UX. + + For example, the following are discouraged: + + ```js + const LazyProductDetailPage = lazy(() => import('./ProductDetailPage.js')); + + function ShoppingApp() { + const selectedProductId = useSyncExternalStore(...); + + // ❌ Calling `use` with a Promise dependent on `selectedProductId` + const data = use(fetchItem(selectedProductId)) + + // ❌ Conditionally rendering a lazy component based on `selectedProductId` + return selectedProductId != null ? <LazyProductDetailPage /> : <FeaturedProducts />; + } + ``` + --- ## Usage {/*usage*/} @@ -425,4 +445,4 @@ function ChatIndicator({ userId }) { // ... } -``` \ No newline at end of file +``` From 88af66dbd1243594ad983e8463f9785c6e0a1450 Mon Sep 17 00:00:00 2001 From: Sophie Alpert <sophiebits@makenotion.com> Date: Mon, 9 Oct 2023 11:23:04 -0700 Subject: [PATCH 070/382] Fix comma splice --- .../reference/react/experimental_taintObjectReference.md | 2 +- src/content/reference/react/experimental_taintUniqueValue.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/content/reference/react/experimental_taintObjectReference.md b/src/content/reference/react/experimental_taintObjectReference.md index ce91c3d0..e3fd35a4 100644 --- a/src/content/reference/react/experimental_taintObjectReference.md +++ b/src/content/reference/react/experimental_taintObjectReference.md @@ -68,7 +68,7 @@ experimental_taintObjectReference( <Pitfall> -**Do not rely on just tainting for security.** Tainting an object doesn't prevent leaking of every possible derived value. For example, the clone of a tainted object will create a new untained object. Using data from a tainted object (e.g. `{secret: taintedObj.secret}`) will create a new value or object that is not tainted. Tainting is a layer of protection, a secure app will have multiple layers of protection, well designed APIs, and isolation patterns. +**Do not rely on just tainting for security.** Tainting an object doesn't prevent leaking of every possible derived value. For example, the clone of a tainted object will create a new untained object. Using data from a tainted object (e.g. `{secret: taintedObj.secret}`) will create a new value or object that is not tainted. Tainting is a layer of protection; a secure app will have multiple layers of protection, well designed APIs, and isolation patterns. </Pitfall> diff --git a/src/content/reference/react/experimental_taintUniqueValue.md b/src/content/reference/react/experimental_taintUniqueValue.md index eab73df5..a67eebf7 100644 --- a/src/content/reference/react/experimental_taintUniqueValue.md +++ b/src/content/reference/react/experimental_taintUniqueValue.md @@ -130,7 +130,7 @@ In this example, the constant `password` is tainted. Then `password` is used to Other similar ways of deriving new values from tainted values like concatenating it into a larger string, converting it to base64, or returning a substring create untained values. -Tainting only protects against simple mistakes like explictly passing secret values to the client. Mistakes in calling the `taintUniqueValue` like using a global store outside of React, without the corresponding lifetime object, can cause the tainted value to become untainted. Tainting is a layer of protection, a secure app will have multiple layers of protection, well designed APIs, and isolation patterns. +Tainting only protects against simple mistakes like explictly passing secret values to the client. Mistakes in calling the `taintUniqueValue` like using a global store outside of React, without the corresponding lifetime object, can cause the tainted value to become untainted. Tainting is a layer of protection; a secure app will have multiple layers of protection, well designed APIs, and isolation patterns. </Pitfall> From f2c45ea17f60285316055e3dfe339f473f8ca85b Mon Sep 17 00:00:00 2001 From: Sophie Alpert <git@sophiebits.com> Date: Mon, 9 Oct 2023 11:57:24 -0700 Subject: [PATCH 071/382] Add labs icon to experimental APIs (#6346) --- src/sidebarReference.json | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/sidebarReference.json b/src/sidebarReference.json index d1de3062..f9049956 100644 --- a/src/sidebarReference.json +++ b/src/sidebarReference.json @@ -130,11 +130,13 @@ }, { "title": "experimental_taintObjectReference", - "path": "/reference/react/experimental_taintObjectReference" + "path": "/reference/react/experimental_taintObjectReference", + "canary": true }, { "title": "experimental_taintUniqueValue", - "path": "/reference/react/experimental_taintUniqueValue" + "path": "/reference/react/experimental_taintUniqueValue", + "canary": true } ] }, From 43f4702f7897fa824833435107b68b7d7acf5203 Mon Sep 17 00:00:00 2001 From: Matt Carroll <7158882+mattcarrollcode@users.noreply.github.com> Date: Tue, 10 Oct 2023 18:19:58 -0700 Subject: [PATCH 072/382] Fix typo in typescript.md (#6347) --- src/content/learn/typescript.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/content/learn/typescript.md b/src/content/learn/typescript.md index 56fa5be5..727974b1 100644 --- a/src/content/learn/typescript.md +++ b/src/content/learn/typescript.md @@ -284,7 +284,7 @@ export default App = AppTSX; </Sandpack> -This technique works when you have an default value which makes sense - but there are occasionally cases when you do not, and in those cases `null` can feel reasonable as a default value. However, to allow the type-system to understand your code, you need to explicitly set `ContextShape | null` on the `createContext`. +This technique works when you have a default value which makes sense - but there are occasionally cases when you do not, and in those cases `null` can feel reasonable as a default value. However, to allow the type-system to understand your code, you need to explicitly set `ContextShape | null` on the `createContext`. This causes the issue that you need to eliminate the `| null` in the type for context consumers. Our recommendation is to have the hook do a runtime check for it's existence and throw an error when not present: @@ -460,4 +460,4 @@ We recommend the following resources: - [React TypeScript Cheatsheet](https://react-typescript-cheatsheet.netlify.app/) is a community-maintained cheatsheet for using TypeScript with React, covering a lot of useful edge cases and providing more breadth than this document. - - [TypeScript Community Discord](https://discord.com/invite/typescript) is a great place to ask questions and get help with TypeScript and React issues. \ No newline at end of file + - [TypeScript Community Discord](https://discord.com/invite/typescript) is a great place to ask questions and get help with TypeScript and React issues. From 900a6693ef20cbcb59430fa45b7cc079735d0522 Mon Sep 17 00:00:00 2001 From: Rogin Farrer <rogin@roginfarrer.com> Date: Tue, 10 Oct 2023 18:50:12 -0700 Subject: [PATCH 073/382] Upgrade react-collapsed (#5893) * Upgrade react-collapsed * 4.0.4 --------- Co-authored-by: Rogin Farrer <rfarrer@wayfair.com> --- package.json | 2 +- .../Layout/Sidebar/SidebarRouteTree.tsx | 2 +- yarn.lock | 21 ++++--------------- 3 files changed, 6 insertions(+), 19 deletions(-) diff --git a/package.json b/package.json index 5ff6adba..472ef79c 100644 --- a/package.json +++ b/package.json @@ -36,7 +36,7 @@ "next-remote-watch": "^1.0.0", "parse-numeric-range": "^1.2.0", "react": "^0.0.0-experimental-16d053d59-20230506", - "react-collapsed": "npm:@gaearon/react-collapsed@3.1.0-forked.1", + "react-collapsed": "4.0.4", "react-dom": "^0.0.0-experimental-16d053d59-20230506", "remark-frontmatter": "^4.0.1", "remark-gfm": "^3.0.1" diff --git a/src/components/Layout/Sidebar/SidebarRouteTree.tsx b/src/components/Layout/Sidebar/SidebarRouteTree.tsx index 9a0dd23f..a9fa575b 100644 --- a/src/components/Layout/Sidebar/SidebarRouteTree.tsx +++ b/src/components/Layout/Sidebar/SidebarRouteTree.tsx @@ -7,7 +7,7 @@ import {useRef, useLayoutEffect, Fragment} from 'react'; import cn from 'classnames'; import {useRouter} from 'next/router'; import {SidebarLink} from './SidebarLink'; -import useCollapse from 'react-collapsed'; +import {useCollapse} from 'react-collapsed'; import usePendingRoute from 'hooks/usePendingRoute'; import type {RouteItem} from 'components/Layout/getRouteMeta'; diff --git a/yarn.lock b/yarn.lock index 5819fa4f..8a3183cd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4797,11 +4797,6 @@ path-type@^4.0.0: resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== -performance-now@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" - integrity sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns= - periscopic@^3.0.0: version "3.0.4" resolved "https://registry.yarnpkg.com/periscopic/-/periscopic-3.0.4.tgz#b3fbed0d1bc844976b977173ca2cd4a0ef4fa8d1" @@ -5284,13 +5279,6 @@ queue-microtask@^1.2.2: resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== -raf@^3.4.1: - version "3.4.1" - resolved "https://registry.yarnpkg.com/raf/-/raf-3.4.1.tgz#0742e99a4a6552f445d73e3ee0328af0ff1ede39" - integrity sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA== - dependencies: - performance-now "^2.1.0" - range-parser@~1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" @@ -5306,12 +5294,11 @@ raw-body@2.5.1: iconv-lite "0.4.24" unpipe "1.0.0" -"react-collapsed@npm:@gaearon/react-collapsed@3.1.0-forked.1": - version "3.1.0-forked.1" - resolved "https://registry.yarnpkg.com/@gaearon/react-collapsed/-/react-collapsed-3.1.0-forked.1.tgz#b287b81fc2af2971d7d7b523dc40b6cf116822ac" - integrity sha512-QkW55Upl4eeOtnDMOxasafDtDwaF+DpYKvHq8KZoNz9P477iUH8Ik1YFYuqtI7UA8mHm1/z66LD678dZCXwEEg== +react-collapsed@4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/react-collapsed/-/react-collapsed-4.0.4.tgz#4c6bce3a15286d43e95b6730ad70ec387a54caa9" + integrity sha512-8avvmnQxDYTgGZYVP9+3Z7doomxVEBoCkukpTmUHEIrAYvELZ5jNNfYCt/hCpHB6GmQbzZoDmnDupjsnQVgcCQ== dependencies: - raf "^3.4.1" tiny-warning "^1.0.3" react-devtools-inline@4.4.0: From e85b71de88a20cda9588f51f01d4a70e5cbe1cb4 Mon Sep 17 00:00:00 2001 From: Soichiro Miki <smiki-tky@umin.ac.jp> Date: Fri, 13 Oct 2023 20:21:15 +0900 Subject: [PATCH 074/382] Add 'ja' to deployedTranslations (#6351) --- src/components/Seo.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/src/components/Seo.tsx b/src/components/Seo.tsx index d0dcaab7..79f19f87 100644 --- a/src/components/Seo.tsx +++ b/src/components/Seo.tsx @@ -22,6 +22,7 @@ const deployedTranslations = [ 'zh-hans', 'es', 'fr', + 'ja', // We'll add more languages when they have enough content. // Please DO NOT edit this list without a discussion in the reactjs/react.dev repo. // It must be the same between all translations. From 31b7881905460b755345b41110892f5c5af80679 Mon Sep 17 00:00:00 2001 From: Kathryn Middleton <kmiddleton14@gmail.com> Date: Mon, 16 Oct 2023 15:03:02 -0400 Subject: [PATCH 075/382] Add GA4 tag to react.dev (#6350) --- src/pages/_document.tsx | 9 +++++++++ src/siteConfig.js | 1 + 2 files changed, 10 insertions(+) diff --git a/src/pages/_document.tsx b/src/pages/_document.tsx index 392fdf88..d8fb0c62 100644 --- a/src/pages/_document.tsx +++ b/src/pages/_document.tsx @@ -9,6 +9,15 @@ const MyDocument = () => { return ( <Html lang={siteConfig.languageCode} dir={siteConfig.isRTL ? 'rtl' : 'ltr'}> <Head /> + <script + async + src={`https://www.googletagmanager.com/gtag/js?id=${siteConfig.googleAnalyticsTagId}`} + /> + <script + dangerouslySetInnerHTML={{ + __html: `window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);}gtag('js', new Date());gtag('config', '${siteConfig.googleAnalyticsTagId}');`, + }} + /> <body className="font-text font-medium antialiased text-lg bg-wash dark:bg-wash-dark text-secondary dark:text-secondary-dark leading-base"> <script dangerouslySetInnerHTML={{ diff --git a/src/siteConfig.js b/src/siteConfig.js index 0ada6b93..c676ca6e 100644 --- a/src/siteConfig.js +++ b/src/siteConfig.js @@ -17,4 +17,5 @@ exports.siteConfig = { apiKey: 'e8451218980a351815563de007648b00', indexName: 'beta-react', }, + googleAnalyticsTagId: 'G-B1E83PJ3RT', }; From d22efb32f192ccd139e4ea6c39b47de7af50d2c3 Mon Sep 17 00:00:00 2001 From: "Alex P. Andrade" <g.alex.andrade@gmail.com> Date: Mon, 16 Oct 2023 23:29:50 -0600 Subject: [PATCH 076/382] Added new meetup in Saskatoon - SK (#6341) Added new meetup in Saskatoon - SK --- src/content/community/meetups.md | 1 + 1 file changed, 1 insertion(+) diff --git a/src/content/community/meetups.md b/src/content/community/meetups.md index 680fd323..644bbcee 100644 --- a/src/content/community/meetups.md +++ b/src/content/community/meetups.md @@ -48,6 +48,7 @@ Do you have a local React.js meetup? Add it here! (Please keep the list alphabet * [Montreal, QC - React Native](https://www.meetup.com/fr-FR/React-Native-MTL/) * [Vancouver, BC](https://www.meetup.com/ReactJS-Vancouver-Meetup/) * [Ottawa, ON](https://www.meetup.com/Ottawa-ReactJS-Meetup/) +* [Saskatoon, SK](https://www.meetup.com/saskatoon-react-meetup/) * [Toronto, ON](https://www.meetup.com/Toronto-React-Native/events/) ## Chile {/*chile*/} From 90ca701621424ca6cb4b2753df600604e73f465f Mon Sep 17 00:00:00 2001 From: Matt Carroll <7158882+mattcarrollcode@users.noreply.github.com> Date: Tue, 17 Oct 2023 15:33:17 -0700 Subject: [PATCH 077/382] Add `useFormStatus` Hook API reference documentation (#6314) Co-authored-by: Luna Wei <luwe@fb.com> --- .../reference/react-dom/hooks/index.md | 48 ++++ .../react-dom/hooks/useFormStatus.md | 260 ++++++++++++++++++ src/sidebarReference.json | 11 + 3 files changed, 319 insertions(+) create mode 100644 src/content/reference/react-dom/hooks/index.md create mode 100644 src/content/reference/react-dom/hooks/useFormStatus.md diff --git a/src/content/reference/react-dom/hooks/index.md b/src/content/reference/react-dom/hooks/index.md new file mode 100644 index 00000000..c7afa118 --- /dev/null +++ b/src/content/reference/react-dom/hooks/index.md @@ -0,0 +1,48 @@ +--- +title: "React DOM Hooks" +--- + +<Intro> + +The `react-dom` package contains Hooks that are only supported for web applications (which run in the browser DOM environment). These Hooks are not supported in non-browser environments like iOS, Android, or Windows applications. If you are looking for Hooks that are supported in web browsers *and other environments* see [the React Hooks page](/reference/react). This page lists all the Hooks in the `react-dom` packakge. + +</Intro> + +--- + +## Form Hooks {/*form-hooks*/} + +<Canary> + +Form Hooks are currently only available in React's canary and experimental channels. Learn more about [React's release channels here](/community/versioning-policy#all-release-channels). + +</Canary> + +*Forms* let you create interactive controls for submitting information. To manage forms in your components, use one of these Hooks: + +* [`useFormStatus`](/reference/react-dom/hooks/useFormStatus) allows you to make updates to the UI based on the status of the a form. +* `useFormState` allows you to manage state inside a form. + +```js +function Form({ action }) { + async function increment(n) { + return n + 1; + } + const [count, incrementFormAction] = useFormState(increment, 0); + return ( + <form action={action}> + <button formAction={incrementFormAction}>Count: {count}</button> + <Button /> + </form> + ); +} + +function Button() { + const { pending } = useFormStatus(); + return ( + <button disabled={pending} type="submit"> + Submit + </button> + ); +} +``` diff --git a/src/content/reference/react-dom/hooks/useFormStatus.md b/src/content/reference/react-dom/hooks/useFormStatus.md new file mode 100644 index 00000000..ec63ed31 --- /dev/null +++ b/src/content/reference/react-dom/hooks/useFormStatus.md @@ -0,0 +1,260 @@ +--- +title: useFormStatus +canary: true +--- + +<Canary> + +The `useFormStatus` Hook is currently only available in React's canary and experimental channels. Learn more about [React's release channels here](/community/versioning-policy#all-release-channels). + +</Canary> + +<Intro> + +`useFormStatus` is a Hook that gives you status information of the last form submission. + +```js +const { pending, data, method, action } = useFormStatus(); +``` + +</Intro> + +<InlineToc /> + +--- + +## Reference {/*reference*/} + +### `useFormStatus()` {/*use-form-status*/} + +The `useFormStatus` Hook provides status information of the last form submission. + +```js {4},[[1, 5, "status.pending"]] +import action from './actions'; + +function Submit() { + const status = useFormStatus(); + return <button disabled={status.pending}>Submit</button> +} + +export default App() { + return ( + <form action={action}> + <Submit /> + </form> + ); +} +``` + +To get status information, the `Submit` component must be rendered within a `<form>`. The Hook returns information like the <CodeStep step={1}>`pending`</CodeStep> property which tells you if the form is actively submitting. + +In the above example, `Submit` uses this information to disable `<button>` presses while the form is submitting. + +[See more examples below.](#usage) + +#### Parameters {/*parameters*/} + +`useFormStatus` does not take any parameters. + +#### Returns {/*returns*/} + +A `status` object with the following properties: + +* `pending`: A boolean. If `true`, this means the parent `<form>` is pending submission. Otherwise, `false`. + +* `data`: An object implementing the [`FormData interface`](https://developer.mozilla.org/en-US/docs/Web/API/FormData) that contains the data the parent `<form>` is submitting. If there is no active submission or no parent `<form>`, it will be `null`. + +* `method`: A string value of either `'get'` or `'post'`. This represents whether the parent `<form>` is submitting with either a `GET` or `POST` [HTTP method](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods). By default, a `<form>` will use the `GET` method and can be specified by the [`method`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form#method) property. + +[//]: # (Link to `<form>` documentation. "Read more on the `action` prop on `<form>`.") +* `action`: A reference to the function passed to the `action` prop on the parent `<form>`. If there is no parent `<form>`, the property is `null`. If there is a URI value provided to the `action` prop, or no `action` prop specified, `status.action` will be `null`. + +#### Caveats {/*caveats*/} + +* The `useFormStatus` Hook must be called from a component that is rendered inside a `<form>`. +* `useFormStatus` will only return status information for a parent `<form>`. It will not return status information for any `<form>` rendered in that same component or children components. + +--- + +## Usage {/*usage*/} + +### Display a pending state during form submission {/*display-a-pending-state-during-form-submission*/} +To display a pending state while a form is submitting, you can call the `useFormStatus` Hook in a component rendered in a `<form>` and read the `pending` property returned. + +Here, we use the `pending` property to indicate the form is submitting. + +<Sandpack> + +```js App.js +import { useFormStatus } from "react-dom"; +import { submitForm } from "./actions.js"; + +function Submit() { + const { pending } = useFormStatus(); + return ( + <button type="submit" disabled={pending}> + {pending ? "Submitting..." : "Submit"} + </button> + ); +} + +function Form({ action }) { + return ( + <form action={action}> + <Submit /> + </form> + ); +} + +export default function App() { + return <Form action={submitForm} />; +} +``` + +```js actions.js hidden +export async function submitForm(query) { + await new Promise((res) => setTimeout(res, 1000)); +} +``` + +```json package.json hidden +{ + "dependencies": { + "react": "canary", + "react-dom": "canary", + "react-scripts": "^5.0.0" + }, + "main": "/index.js", + "devDependencies": {} +} +``` +</Sandpack> + +<Pitfall> + +##### `useFormStatus` will not return status information for a `<form>` rendered in the same component. {/*useformstatus-will-not-return-status-information-for-a-form-rendered-in-the-same-component*/} + +The `useFormStatus` Hook only returns status information for a parent `<form>` and not for any `<form>` rendered in the same component calling the Hook, or child components. + +```js +function Form() { + // 🚩 `pending` will never be true + // useFormStatus does not track the form rendered in this component + const { pending } = useFormStatus(); + return <form action={submit}></form>; +} +``` + +Instead call `useFormStatus` from inside a component that is located inside `<form>`. + +```js +function Submit() { + // ✅ `pending` will be derived from the form that wraps the Submit component + const { pending } = useFormStatus(); + return <button disabled={pending}>...</button>; +} + +function Form() { + // This is the <form> `useFormStatus` tracks + return ( + <form action={submit}> + <Submit /> + </form> + ); +} +``` + +</Pitfall> + +### Read the form data being submitted {/*read-form-data-being-submitted*/} + +You can use the `data` property of the status information returned from `useFormStatus` to display what data is being submitted by the user. + +Here, we have a form where users can request a username. We can use `useFormStatus` to display a temporary status message confirming what username they have requested. + +<Sandpack> + +```js UsernameForm.js active +import {useState, useMemo, useRef} from 'react'; +import {useFormStatus} from 'react-dom'; + +export default function UsernameForm() { + const {pending, data} = useFormStatus(); + + const [showSubmitted, setShowSubmitted] = useState(false); + const submittedUsername = useRef(null); + const timeoutId = useRef(null); + + useMemo(() => { + if (pending) { + submittedUsername.current = data?.get('username'); + if (timeoutId.current != null) { + clearTimeout(timeoutId.current); + } + + timeoutId.current = setTimeout(() => { + timeoutId.current = null; + setShowSubmitted(false); + }, 2000); + setShowSubmitted(true); + } + }, [pending, data]); + + return ( + <> + <label>Request a Username: </label><br /> + <input type="text" name="username" /> + <button type="submit" disabled={pending}> + {pending ? 'Submitting...' : 'Submit'} + </button> + {showSubmitted ? ( + <p>Submitted request for username: {submittedUsername.current}</p> + ) : null} + </> + ); +} +``` + +```js App.js +import UsernameForm from './UsernameForm'; +import { submitForm } from "./actions.js"; + +export default function App() { + return ( + <form action={submitForm}> + <UsernameForm /> + </form> + ); +} +``` + +```js actions.js hidden +export async function submitForm(query) { + await new Promise((res) => setTimeout(res, 1000)); +} +``` + +```json package.json hidden +{ + "dependencies": { + "react": "canary", + "react-dom": "canary", + "react-scripts": "^5.0.0" + }, + "main": "/index.js", + "devDependencies": {} +} +``` +</Sandpack> + +--- + +## Troubleshooting {/*troubleshooting*/} + +### `status.pending` is never `true` {/*pending-is-never-true*/} + +`useFormStatus` will only return status information for a parent `<form>`. + +If the component that calls `useFormStatus` is not nested in a `<form>`, `status.pending` will always return `false`. Verify `useFormStatus` is called in a component that is a child of a `<form>` element. + +`useFormStatus` will not track the status of a `<form>` rendered in the same component. See [Pitfall](#useformstatus-will-not-return-status-information-for-a-form-rendered-in-the-same-component) for more details. \ No newline at end of file diff --git a/src/sidebarReference.json b/src/sidebarReference.json index f9049956..3c8daf71 100644 --- a/src/sidebarReference.json +++ b/src/sidebarReference.json @@ -161,6 +161,17 @@ "hasSectionHeader": true, "sectionHeader": "react-dom@18.2.0" }, + { + "title": "Hooks", + "path": "/reference/react-dom/hooks", + "routes": [ + { + "title": "useFormStatus", + "path": "/reference/react-dom/hooks/useFormStatus", + "canary": true + } + ] + }, { "title": "Components", "path": "/reference/react-dom/components", From 5750680120cce4b0afb4b3d1b4ddbec2eabc0d02 Mon Sep 17 00:00:00 2001 From: Yoshitaka Terazawa <locol6622@gmail.com> Date: Wed, 18 Oct 2023 11:43:37 +0900 Subject: [PATCH 078/382] docs: Remove unnecessary `when` (#6344) --- src/content/reference/react/cache.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/reference/react/cache.md b/src/content/reference/react/cache.md index 7f9afdb9..65d95ab7 100644 --- a/src/content/reference/react/cache.md +++ b/src/content/reference/react/cache.md @@ -252,7 +252,7 @@ function Page({id}) { When rendering `Page`, the component calls <CodeStep step={1}>`getUser`</CodeStep> but note that it doesn't use the returned data. This early <CodeStep step={1}>`getUser`</CodeStep> call kicks off the asynchronous database query that occurs while `Page` is doing other computational work and rendering children. -When rendering `Profile`, we call <CodeStep step={2}>`getUser`</CodeStep> again. If the initial <CodeStep step={1}>`getUser`</CodeStep> call has already returned and cached the user data, when when `Profile` <CodeStep step={2}>asks and waits for this data</CodeStep>, it can simply read from the cache without requiring another remote procedure call. If the <CodeStep step={1}> initial data request</CodeStep> hasn't been completed, preloading data in this pattern reduces delay in data-fetching. +When rendering `Profile`, we call <CodeStep step={2}>`getUser`</CodeStep> again. If the initial <CodeStep step={1}>`getUser`</CodeStep> call has already returned and cached the user data, when `Profile` <CodeStep step={2}>asks and waits for this data</CodeStep>, it can simply read from the cache without requiring another remote procedure call. If the <CodeStep step={1}> initial data request</CodeStep> hasn't been completed, preloading data in this pattern reduces delay in data-fetching. <DeepDive> From b68e15a756d6915b35ba098c864ae5387a568c3e Mon Sep 17 00:00:00 2001 From: dragonsuperf <dragonsuperf@gmail.com> Date: Wed, 18 Oct 2023 17:59:59 +0900 Subject: [PATCH 079/382] fix typo in react-dom/hooks (#6355) --- src/content/reference/react-dom/hooks/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/reference/react-dom/hooks/index.md b/src/content/reference/react-dom/hooks/index.md index c7afa118..6490dc11 100644 --- a/src/content/reference/react-dom/hooks/index.md +++ b/src/content/reference/react-dom/hooks/index.md @@ -4,7 +4,7 @@ title: "React DOM Hooks" <Intro> -The `react-dom` package contains Hooks that are only supported for web applications (which run in the browser DOM environment). These Hooks are not supported in non-browser environments like iOS, Android, or Windows applications. If you are looking for Hooks that are supported in web browsers *and other environments* see [the React Hooks page](/reference/react). This page lists all the Hooks in the `react-dom` packakge. +The `react-dom` package contains Hooks that are only supported for web applications (which run in the browser DOM environment). These Hooks are not supported in non-browser environments like iOS, Android, or Windows applications. If you are looking for Hooks that are supported in web browsers *and other environments* see [the React Hooks page](/reference/react). This page lists all the Hooks in the `react-dom` package. </Intro> From 10574e59a81425e9e8f63f0b094d09e3636b3198 Mon Sep 17 00:00:00 2001 From: Toru Kobayashi <koba0004@gmail.com> Date: Wed, 18 Oct 2023 18:03:54 +0900 Subject: [PATCH 080/382] fix: add a missing import statement in useFormStatus.md (#6356) * fix: add a missing import statement in useFormStatus.md * Update src/content/reference/react-dom/hooks/useFormStatus.md Co-authored-by: Ahmed Abdelbaset <A7med3bdulBaset@gmail.com> --------- Co-authored-by: Ahmed Abdelbaset <A7med3bdulBaset@gmail.com> --- src/content/reference/react-dom/hooks/useFormStatus.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/content/reference/react-dom/hooks/useFormStatus.md b/src/content/reference/react-dom/hooks/useFormStatus.md index ec63ed31..abaa9b6f 100644 --- a/src/content/reference/react-dom/hooks/useFormStatus.md +++ b/src/content/reference/react-dom/hooks/useFormStatus.md @@ -29,7 +29,8 @@ const { pending, data, method, action } = useFormStatus(); The `useFormStatus` Hook provides status information of the last form submission. -```js {4},[[1, 5, "status.pending"]] +```js {5},[[1, 6, "status.pending"]] +import { useFormStatus } from "react-dom"; import action from './actions'; function Submit() { @@ -257,4 +258,4 @@ export async function submitForm(query) { If the component that calls `useFormStatus` is not nested in a `<form>`, `status.pending` will always return `false`. Verify `useFormStatus` is called in a component that is a child of a `<form>` element. -`useFormStatus` will not track the status of a `<form>` rendered in the same component. See [Pitfall](#useformstatus-will-not-return-status-information-for-a-form-rendered-in-the-same-component) for more details. \ No newline at end of file +`useFormStatus` will not track the status of a `<form>` rendered in the same component. See [Pitfall](#useformstatus-will-not-return-status-information-for-a-form-rendered-in-the-same-component) for more details. From 9af01e2bb2c6517c3ca14b551cdfa42424370a6e Mon Sep 17 00:00:00 2001 From: Luna <lunaleaps@gmail.com> Date: Thu, 19 Oct 2023 12:12:51 -0400 Subject: [PATCH 081/382] Describing Your UI > Your UI as a tree (#6334) Co-authored-by: Luna Wei <luwe@fb.com> --- .../diagrams/conditional_render_tree.dark.png | Bin 0 -> 13413 bytes .../docs/diagrams/conditional_render_tree.png | Bin 0 -> 14003 bytes .../diagrams/generic_dependency_tree.dark.png | Bin 0 -> 11328 bytes .../docs/diagrams/generic_dependency_tree.png | Bin 0 -> 11852 bytes .../diagrams/generic_render_tree.dark.png | Bin 0 -> 14768 bytes .../docs/diagrams/generic_render_tree.png | Bin 0 -> 15294 bytes .../diagrams/module_dependency_tree.dark.png | Bin 0 -> 16577 bytes .../docs/diagrams/module_dependency_tree.png | Bin 0 -> 16977 bytes .../images/docs/diagrams/render_tree.dark.png | Bin 0 -> 12030 bytes public/images/docs/diagrams/render_tree.png | Bin 0 -> 12607 bytes src/content/learn/describing-the-ui.md | 24 ++ .../learn/preserving-and-resetting-state.md | 24 +- .../learn/understanding-your-ui-as-a-tree.md | 299 ++++++++++++++++++ src/sidebarLearn.json | 4 + 14 files changed, 331 insertions(+), 20 deletions(-) create mode 100644 public/images/docs/diagrams/conditional_render_tree.dark.png create mode 100644 public/images/docs/diagrams/conditional_render_tree.png create mode 100644 public/images/docs/diagrams/generic_dependency_tree.dark.png create mode 100644 public/images/docs/diagrams/generic_dependency_tree.png create mode 100644 public/images/docs/diagrams/generic_render_tree.dark.png create mode 100644 public/images/docs/diagrams/generic_render_tree.png create mode 100644 public/images/docs/diagrams/module_dependency_tree.dark.png create mode 100644 public/images/docs/diagrams/module_dependency_tree.png create mode 100644 public/images/docs/diagrams/render_tree.dark.png create mode 100644 public/images/docs/diagrams/render_tree.png create mode 100644 src/content/learn/understanding-your-ui-as-a-tree.md diff --git a/public/images/docs/diagrams/conditional_render_tree.dark.png b/public/images/docs/diagrams/conditional_render_tree.dark.png new file mode 100644 index 0000000000000000000000000000000000000000..5189a44c80c32e9d33fd84f4719d4feafbb44c97 GIT binary patch literal 13413 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 E0*Cxr(f|Me literal 0 HcmV?d00001 diff --git a/public/images/docs/diagrams/conditional_render_tree.png b/public/images/docs/diagrams/conditional_render_tree.png new file mode 100644 index 0000000000000000000000000000000000000000..c76e8cb63482b4f9fb753485dbefa98a8f0d6977 GIT binary patch literal 14003 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 G+y4U|3Y-uC literal 0 HcmV?d00001 diff --git a/public/images/docs/diagrams/generic_dependency_tree.dark.png b/public/images/docs/diagrams/generic_dependency_tree.dark.png new file mode 100644 index 0000000000000000000000000000000000000000..64694f58577fee331d4687d8588ce81edc594b13 GIT binary patch literal 11328 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 literal 0 HcmV?d00001 diff --git a/public/images/docs/diagrams/generic_dependency_tree.png b/public/images/docs/diagrams/generic_dependency_tree.png new file mode 100644 index 0000000000000000000000000000000000000000..8ab6f1a3464ec34be46ec3ec4b0af891d793b429 GIT binary patch literal 11852 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 literal 0 HcmV?d00001 diff --git a/public/images/docs/diagrams/generic_render_tree.dark.png b/public/images/docs/diagrams/generic_render_tree.dark.png new file mode 100644 index 0000000000000000000000000000000000000000..859fdaa96cb4b6ea07acf73757a2d2407cc36aa6 GIT binary patch literal 14768 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 literal 0 HcmV?d00001 diff --git a/public/images/docs/diagrams/generic_render_tree.png b/public/images/docs/diagrams/generic_render_tree.png new file mode 100644 index 0000000000000000000000000000000000000000..952cf5faa0137f53208c351dc5c086c1d9ffa425 GIT binary patch literal 15294 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 V@PBWL`KBe7jHDvCOx!r|zW_Gicl`hW literal 0 HcmV?d00001 diff --git a/public/images/docs/diagrams/module_dependency_tree.dark.png b/public/images/docs/diagrams/module_dependency_tree.dark.png new file mode 100644 index 0000000000000000000000000000000000000000..e8a85f7c0e3c6b2810988303d450faddb9e93e0c GIT binary patch literal 16577 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 bf7y793lHE(4v72?K)e)XRb(op-a`H#EsOza literal 0 HcmV?d00001 diff --git a/public/images/docs/diagrams/module_dependency_tree.png b/public/images/docs/diagrams/module_dependency_tree.png new file mode 100644 index 0000000000000000000000000000000000000000..0dcaaa7aa8bcd347f11216da35fe17a9e335b50e GIT binary patch literal 16977 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 literal 0 HcmV?d00001 diff --git a/public/images/docs/diagrams/render_tree.dark.png b/public/images/docs/diagrams/render_tree.dark.png new file mode 100644 index 0000000000000000000000000000000000000000..117d7ff3e9792938b172c2961ab2de20dc5e46bc GIT binary patch literal 12030 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 M%34aLPfUaU2Vi}{mjD0& literal 0 HcmV?d00001 diff --git a/public/images/docs/diagrams/render_tree.png b/public/images/docs/diagrams/render_tree.png new file mode 100644 index 0000000000000000000000000000000000000000..1ea750bb07c32e924981ff36725c337134347a3d GIT binary patch literal 12607 zcmb7qbyQT*+wKr5k}Bv(2?~gW4Bb)+h(ifVNDLq$jnojsfB^_YNe$f{(hV~-!VuEk z4bnN}9n|}MzweK`?!9ZBz4lwr^S*n}KJTn`&hb-KmM0^oAqD^dWC|}|r~v?k5C8z5 zn}`5sF>~gh$4!K0(n`_*Kv6Ksnc+2@j_05zF9Z0|O}C0uZrZ)nb^riKD6a+{ASUiU zE&!^k_(oRVP7&aq3h>GVcqIbd(g1GhSE^eo0G0}HNd&m!Tm=C4lt11SfE(^g1-PeO zUAV}r_$&1pH0Ub+O2v`j?8!L0xC`RSi@RLY0In&xFbU_NKU9BG;22y}rM!ZrT!N+S zg2kZ$;!XiLl4s6A5>VU~AnuG1b@JzchI2cIN;n5fxdr3wS6QwSrCeTK;+UV|?6K8e zwY})6m0O>)w~nyWn|qA@KNt}O26?TF{sq%pdj@$e(_8y?rI@6yNrT*$kmh0Z<Vs@K zL}J&ZYHB@qSgB`SZ_m=^^yYrg(ni719Cuh*aLcf2D!ONJvtV%kmTP=)^DwPTG#50i zU~sN*XwI$-L*$yo;1WgQ8c*VyDB>I>0u3f{ODq_gw=Kg!@>&Spl4)I|d7<A4-BP%q zp#snlL1>6nY)$>t3VLeQtFG6xwzsgKE(`a&Jabf2RtIb`GEN(yy`&hEZrR<MHV8>X zbN6foqg4~RJ-rH~JbUcydU}GndmyT}7;lAy6l_h0cyUi}d2xq$*%n5FN@M^45Rt+Q z={GK8zbCOe<8t_3hU4F@sI9Et<A41+vFtovx8=(tk%c#ZFY;@;LVureN!^j_;l+_A zQ(#)rQ`Xx=_ZyBbetD7kbab|TV2;)$7k=NJpTeT}9mFN*`pOHThD_mB>YX*m<MJB4 zA>-)V107N<>Zi84StN{6CotACly;<Wv-A<UWt3bWMqms(EM`0zw_F+>xkJ)v;AQ1* zV5(nR&$+t~&|V@kG}WJ|cf5wEm5S^_d=XGDll{(0^z(;rimjFYkei}`7iTWwQ<aA{ ztv{`}tdtKlSoHeQBAM7rDWAobpazf8TlZ9MhiJ>>MJo~|Jn};Q0s{800X&jHf5r+4 z;6w)UXIweFQGZ4f2(Uupfp;~eAb?-M6a1^;g#sjj_OD$Hz?EZ#<Z1w}9KV2nh|Q*u zv(*EsAVA+H#;mbF<Bw3k1x`c(URHr<Wma)HRu5&BAt&pbo<pl7UXG{5iy0=D*k~n# z6%sqwlVT92cyhh^lD-cJFh7*tq$V308rzhdJbpgls~)6#M81m4Ipt(moq91DXtPy1 zZhbTvc-Y1(t|IBTB(_Pv*|uffL9OChsDxY7Zu#J(!GqNN?ee;DXiY;y`hm4Is(+L0 z^EhRq;B$x<rVnU4X#zo&iB&hQAEZBhbZ(sw0+otgzglCzCbX%KRQ}|V?W&E9#N@8% zF6SDec2?V^jSIIinDD{L%!}B>puFvzY|Jv;yFBGtvXiIae2*jfixF1bej(c(phtuL zn?H4%w=nSSk5g|RuYn6o7H*in#FciZrh1%gYITjHRv$tx=ZriXq%Ht?Qbz-vt`=z2 zGf6gV=37iBc5(tPo$n`EW*d9(wzHTUml<Je%S=vxZs*|s+keeWTEiG3*mhXxd<C1+ zk2d5R7>wbaLLyIGd1IOCUOJPLdf;)%L#mC`SW%!vR6gkWRc%pWkXEwbUf>e$5K!;& z{s2uLqrM_30uIvUuZnZ9_EK!Z1TES2lJ~hls?~>}bu4qBs}zr+!E$}S{G3C^QrqH> z8cQ~Y<RL!|L-q;vPw;hpP_=R50$id>!|PylX5y21Gh+{9>0vSPx^Ao!z#}@Ky}t<k zm8$#Q**ZajwPi{8C+G9;?>>%>^c6h9oj8x3IzNS`SUdZaAGW`@HtFF-r!qAGAN3}8 z+JV0A8#cR=Rx%JT@GoR#M40{viLJ*`Hr!y<VZ(ntKMLq`b)I{XZ}gk%^uIvKLWhx4 zC4RNXZNY*m_4|_Z2kBSK+URZetJs*af8+!^k@7aKO9g&#uzp@AWqQQ8nwXyfs%MEp z*Xp@kfR}TfPkY2t`RH6PFs*yer@6~@%@m5bt>Lwvbv`@69r^#${h&Ov6&o8{1ahxh zpDI$pA&eOR&%yum=J_9YrI*7|*$9s?h<0uocT<~saG>}rLGE+kGKqfX**5>0L6J6d zBs^j)fiqP<b2u$#fn(GOjfeUwQmn1?$L2oxUBykG%R5#C>P_A)xU9eOb`5d#3h{B% z>dd`eKl;-uLQt38o%NNj*qs~B!CqD>1{bIC+_q#H!<+sLm&4WVl!V5k^7&hko4pLb z>1imDO=$8Onc9=&gNG^<A?A{G(-w6ScQQoWCM_l}Z{keW43(eE&({;>FS#?GLKr;e zhti!c2@>cS_xPfM-#tDF86~m1J)z6{gA2^Lfe&mc@T}T*ct5s_NQb-z0z|7E8#Mrb z8V;_};5ra)pa1l#t0wfP`CQrl^)I|Xedj9fF95fD|F#qGr#W54{lAh_mUa|_Ov(wo z_MfGJ0Lp$$r*nn$fV7@SkD^g>K%XYkBfA8r+v*>t|8xd~plW|(-j);CHH?%`if?T- zh{23c@C$Cz692pp)kSunx@R5Z0Lg%pP(jQVW>8y@N($1q7=Qi<X<$=$W&R<*d1RMw zd_w4h0#MTl3T(}J<;2x<7GL>NK9gd~bd{A2n%@gj8Kh~~%zd?uNT8D2sxv}bneBUQ zH60lChgWp9O0L{J;@MCa{;XR#P!>2?RYI&NC`4ta{Azb$c>RLEp1w%-(oV6LL3p=} zqGL^v<370IRKR*<;H*h_=;`GoH8zQ2;EUkk`|8Ay9~nooTR(*~YfFA_;)<9*c_bfr zNtpob7&PU!qH`h?zAxmx{eIJ@Y01qlO!T#<oVzOPnM+a363y@5`L)h-h>BZGG}mzD zYCtC95odMSYRN~t=_Z+TQ$}4mh9!)<PBqL>DVkY{_BeM8(?@~(g7#l0eh6du8hF<O z4wE+9dfw7qcE9s?+L7N2IJ}(gA|bYVQlEyZ4D-r4a&9`md8D769e1SiWJjNNv%I$C z<Rv{m>OnVkZBKYp2BYV^kI>ySLrU>1O4LdJD~WuEH!%@L@VU~-7*BQ7Y+<q&m9Du& z(T17~Pt#J&JJ2`y$H+73N4{Ngl4*2K--FMd=1P?P@KF*Tt3^bwTa0AgC`;9B%MbD} z&kUb1dOt`EW!hEQ_vPrhCR7jvO3D~SI*h5-Q(J1#kn~=--Qj7HJMYv?Sr5s*U}Tdg z$X-MH_dmDZ)qmU6O5FAhMg%6KJxH>zR2nsB^P_A>wze6XDAz!fM?QoH^|Vu$CQqrf zILB~K%rwWzT^u*r+mC3ibtP7*!{poDZ<uzBMYLbs*LJ?V3A%P@8=ATtyw-1ng&4@W z%ih~M(7t!ivdi(*2)9}c@}MzJk<F~z=T)hm28V7=U|62jk_x|F21P8^@3x?bmDPDm zX(~luguJg(<v8!hk%JMBk8Qs?O1nzL`JihaBI{%kE~f*;0hDwIePpdbB8*`s&sT{{ zQ|ImUUgK}SVF>%-ZbwZds|I`S(eCIvW}nO{z!oiS7@}(^t<$7vLaj<GxJhxk!SQ{q z)R2;I1D)%kZvz|o`4F;~ao5a6H*HP0eHb-ebYZVgyY>vd==T01LD1K*lrgz&?Y`Bs zy7z@+h1rU_-r^!w9SzhaBA49$@5=LnB~}zWIp!i6WFc$_-r{5pi`*RUiu<6K3n$_8 zkJ-p#Bm5w7VNG(V3G3}0GAH#(dYcAEn6uFc)n`cBq4z3cmNrLsPt%?z;6C#<YjXUY z6LC|kj^;M#j$>Y%x{nguSwr0ePIVX70=Ie7!%t}YB(m7gcXjVA1Qm}1Q$b6%Pdry) z-+8_qLELZ4#5yFl7JfHN^&j-tW6PPn!)H|sj>vE6GwOAptPCB4+|p<&2ku#ztI-PX zLMz^Wq^ofm12QHULOQ2aFB-CH0%&SMTeX8@=H#&xuN<wQC^|{2l%}jXpSyIXy+Qob z_fN}o<NY=<yZbDbv>m5wnj-#RnGqnUGIV62W6gJ>n$KGM;aOA_s|bhND4x@d(NwgS z2GJH6I=KQn4gEy6*j02~<M6T&`bP4+K;6k|9JL$7FljQb?^k8*+EMug)23Txpz>{p zHpl2<+WRxl!X{QXdc*5Tu!r!vf(As`g!ra#>!n`SWeN20vmjct`#yo~^<Li%W)uSm zi9*7{-d{**&8UUHGb+&m=L$Jh@YIjUs{|>)J(}5z1-U}qqF-Ak92p78Y80)xV+%FN zMXBD7FJ4FqBzf!y1F4Ii%a1)fAsO^Kd@Z1J0LsDJ7<y)uN4}B1M$7M+LUT)58kB51 zp)^5su-c<|E$RF~<^1WhujNN+)33=sNY>3W1ih&J_KRc{+DV+Gw@=Vi^UX%U?P1+V zw2#j(o1Ajlx@4MPTrk5&fCk|Howeg_Nty9|ci5L1l13q-L`K+`?VB>k*Jmle+TN0o z{v&LYHL?;-Gr~Uq5oT$>s@y_J9~1r&{tNR*_;1V=_`fk%;Qz+pz+c}<{YQ?6|ET}w zkoiabFUR)H|H!eTy+1iUg}S{Wuohb(d2w6vPUrKWC7lQTn)wyev+|!^lTI#J9~SQ( z^2-#w&NSz_J=eCi!_*-D!sArm7#X^}FR-rm?Pz)q7wKh-I5HAnyy>yn!8&(-bo|}m zK^z<(BtO^AaD}K$=6_g^dF{eW`G?owL|XSwcdF{6sVl73NzHxA&iN2=ALs+Pc#46| zzA_cz-pe=s=qs;5S8ur113$RPXF-9#-arHG$zD=of1#@^;a?fU<x`nPqJ0^HpF}lN zf^irH@!PP6IN4C)>?OA!Yh-gUVVKLKV;P*>7>WbkQQ`DsxcPYJ#kMz2{>p-@kU2r? zj^rK1Ilmc_hOZ!^zbr+}aAq7$1CS7M>o1AXUq&3uZ4~2QlIFjRS1d5;e<XhyuUL*h z7yc#rR~L?Ed(oR2)64GKcu>-t6(w=-_(#F=@SQ6^wq@S+PTNN;%t`ZG-~);%6DQZR zaM~zVj^ywbvpZmvsATtC`6lFt(IqW(-Rv_~e24DY!6zG5R;~vg*t$ne^Cdm+XFtT% zBZrsT9D0Y27ulU3Ry)aYQ-p$Yc2s|VY-pFe<nxSBDe2E!>|6zUeah?LZwZBvLEhA} zz_6sSs{ApA{<;J@p(w2J-tulyG^<n32d9s>RZw&WyX^B+D3}23HJ+q5DDe~MHA?H} zN-xZBcU<;_zqUEMTM|?%!~%15f+=|D)fwa|K7NaFH@OJiUgX9WUxw}J#_I_Pa&j@D zc}g|S$WV0GA*ipn=i4NSwihjDFwFIc>x$yupzUiYIx5J5Qyb%uQ_sxMK{@9S-|ndn z<i-9uB$7Tb0%l*~U_U9jpPx$2uFe2CDT&-Rkw^WeMr|xjv?BHHsWl+uk9onN#(P=| zCK`b{m6!?RJ7#VQ3J!J-7R9UgJm0iwri%y_z*QeA2wj#0q_{e@_DHiUKeCVzdu>5J z8nB!mv(?Q-hd*f633}6Al06Kgw#ge1nxRq}st_Aq+?E!Sq;{>Km90>U7Hnf!+x@|N zM4n4H$gGv@&tJl#?Z?RTc3Lx*L$E4u7UPWi>SUe6U2U#26qU)d+$r4O%1gZjj+dEt zTeOaa=EOw_;ep=PBe&C$Af__@?#`VcTO}$!v2aO;7<%V2g(2~m4qtX(u*8k@9;XRd z(*=wQ`Nn9XYobizs>u@Gs2JB!zS!G%|5Tah&Q=!_A_!~6dbAVq{vtzhkgT1TQ+-Ng zZ#Evfq;al|nlkYrL^%#Pse1>RY`iS21;R_ilHQ8kbm^NzSOU(U<cUMq2$$gX?~i#q zfxh^o5kea}x%?`wytg00j0jMiT~>*@HGV5;zSvNeS_mZ)<UKE7ZfkEhXfm6jQ3=zo zP#dqk!*{f=;|p?fN}Hu;?}zTDXELwNYLOfllR$QzhN~aH_5NX!`5Nh}Q5@9ir?4eQ z$nj7Hb<CD^v>fpYQ`G-h?6?>R$$6z0AJ?pG!X{_DXjJs%@zRcJTaJ2+!@B&hWsHl_ zaf;@Wez@P-@XE4F>330awOy=Q8#L?_Dup`z^^M6m@OuiL0Zokp^zVfxUwfkhwG57l zfi+)AP1n}NM^$z(ooG)^QpjV`cD2OR91h!#Gz8TRmT0Y#wUdirFOb-d$>a~qOkx6z zoSJ5-2<){O^WN_evH<i-lF6d4XwyJ#v+2+ZlvWvwhxP(}ftkBKs&?zon2Q}gSzIzU zkA1M7t!EzEE(qDTr*dUs(oVO}R&EEynQ_uhm%(0}4VFkE1qndQxt(+n>rt(wCsjiV zXX6WMLPCy$U^9otv~ra&h2LBk>}$N%${qV6RpXB2ZBP>TrfTN7j_j@9yN+QrFzO|Q z?pvp)P1T!4R(gxst4nV-7NdcY3M294$7&;^FC(@`_Cp40<f@1HP&HzZm`F1V{iSHI zSB**}LDxKuESkpXE39a*1(_kh&c_<=0egLOavY)5-?-j75sj&9&3;!n`N8zeSX8nV z90NMq#IGAj%7}J<)it}P5p6TU8}GQwa&)5CP2SzRNfLnOMFr@_lMgrro1C);ADlkd z)2N<IElmVf(XMcuN_4C}P@DB3NB!;w@@3Un2(p_hTQ<#mdGK@c;G-(LWXD|<;>zV1 zAe-l_NhADkzMg(L2xvpr4zeV;Pi~a1DlY1aq%|zm4V(GJDt0$XFHBh428&_UO2H{& z_Dn^4rr!!&J?mGc^n$G{3opPT-L^SDr}sU#=*J`Sm9u-0ji+_o=*d-7nH%`5^=y9% z<~J_=<~-Gx92MR$<72g#?jA7;>ef<Vfbd=_=tnV}$-@R~JIc3Nw$(K#t}kCON!Xj4 zQ1rwgdQO+?fkU-;kk5Yp1L2h&*7OZXdhDI323G$nXKT*!YEGv)UULt*=4HgR$17{Q zw-x7Ba{}*YF%S0oZJ6F$iHYX!&Og5_7M2b0y$5l-{$fd4-0j$&Qt`%UhPP*ftHWuu zWws#12+iXJ0SZV->-Jl4b>aj2qYmv6*Tor_*=2uS@G1T1-AwHG1bTW&sx9bpS|#9V z#3Z`0jM(2`-SGHn`p&%Tq<VQ4Y^+%|a^N&u-n_JBaPgBiB{n{9jqAV})!8)E^V2%Z zaoc2JPO&<6$cT^I>~ue{-|cu8%uV!b!WIE4SJY;Jykp^^S2->oKB=ykB#5+rIJtoY z*9hk(f`l565R^^1hpn*VU1rqEtd8eS>jg}qxO-TQ0&>srXZg-zEnjO9B2kI}wmMdp zSdN|J!rl?vYpG#9E@pyMuUC&3yY^&Ij<ai*$)m(konoZhC1NBqdSsA<R^*e*TQ@lR z50^02nWLw=uxKZE)SfK%5i33lHgo_|SwLi;)V?no&_Knxu5a>=fqL420<8xPdi3{R z*liwIiXNx5PR@__w*{d`xSS{;yWJ)hMdOmyM`-p?TWU}3<4nvw$i77CzN5=oy2;_~ z^VD-}3JuxO>S|akq_cK5?>$IiB8IWjingBm>9<)-$*%0vsh<->)j9{&ZP2#K`5m!s z+3Q`mYvO8rL86-_68-xDorl{jTccJpnW0r-M0GGf-s#^}Y}ByPc#t*jCn`TmW#aI- z$a!zUXVc<56!E!ZK8%9<cvlhDOZR=&v5@cKNE2}NnLWk}R1$<;9brhRK)gIT4)qUG zacI>)GOy-<oRGRr(GbA4Z3-QB8@MKmyj5l~`mpx8>I)}YNcTDW(RqzV_JNR7jm93$ zdB(H@aO3eB0nC*dV(K>?@Zs2~$^c#0*90t(PI52IY^Z!yk8H*;R*0|9BW&uAF^1{U zl4>M7zX_eVe6e>pr>a)xFcUgwivj2t@bUE__fZi<*DR(RR<)YF{s5B!j~MUaeL|b2 zH<{}7gwHnLe8D=Fb1hk@L`oRwkxzeI+<$^>&OhwTOR-+tZ-u*?WSy(I5g2E7r*xRd zf;w(0eLY~QXo6+;E5!xZ7~cc?9clZtzarn2U9{1P;HOTgI9c)2A!s!B7E6j1ew$u_ z2b#q&je-1t%Nt<!-&n!>gKTT+;{ArGCtmyvx4v~3H&?$kWI52tG;{Y@p+;3Uyju&7 z%%Z3BGtcA?Q($2DAsN|St2TX%AU}T2yd3K*;c%RyPc?5;q?NS=7+pT^Hcb+F{h|rh zOM5$4X{`Nmnf54Yvz~C+v-RNN-h*0x;K7dUa>88-HT@o=u=nm~vYk1+5mRU1O-F^z zJHpq-N5YLa?@*wA^IY&+V9i26<sFhaDk{-a2&=<$c^qxN^6O3$$GUH^x^W&i(AC!W z&U@B6*@qR5i_K2cu}8P$qxpC;$Cx(#BWb2RVA|Du9#C>foWj(=Jh*Of<ipd79hS3h z{~^{yi3_BR8#d)g%Xj)<8*9J(xWX}kB-+)47(55BB}Dyh1s43Ut=Mf5o7TZVJe@77 z0zrC*r;_f_i^1{;Uqd=d+Hr&W>oP<)6=DRH`jy8=q0L4gV$zrS(^z%H_!LCrH_b#( zqp|C4#l||Vk4G3;d0`2VJ6255?ulC*tNKrC{JL~Yzc|#a$JOBZx-NpDX6Na-Tnx}0 z@!K?sQ~I8UDCX*1INGxId^Vq8H@(K!b3|K`AM&n;Sz$?LPISrm1a@-Vatb;fx)_FA zf{lN5wH<{z?W9dbfYuXPO04-@_XM!KGgy!$GwH-LaY%LSS&4`Gz`4(fyPRXqwGlrG z$8q0x<LzugJqs9~rC?DL9oxw{{+!*Rr-bVi&O;RK$b-`zSB1dmKAYIuNwFQV(><1= zsTYd1PavWs2re_1p|XnVy`+PwrSs=Y!7*DNeeb$igDJFhYU{UqwmOil!&%Tt{K5kV zqrqL1%5{QG=$KmwY?a^DV{hkzZWYQjI7OX$e&R7vH{b6>n>u8+9uyqZd^j~UG^D>= zq@K?{?NMBIU{#;_`WdXaV)!zZqN1YW^!jD@VM*(5BI!YCuCGdh_q5a2ES_g;Nu9LH z+mV~d(xXPSjeEhRe~f2;Q;ps-D|yM9dMpTJvF;;D;rlwdKz!VH>gB<=lZ`DqtUamR zIjP-GWUrlVDMefaXjc{$HwP0LqU?6cfPDw;E*g|yN3mvihl6&#gPU$mF3zHGatLVE z6f-pBd+?*CbzKpQj}0ZSsq0x8h~B-n%hClKt<C2vnNFPj;(d|1$tI$YRhym|ie|Nx zxE0>{Ef@-Q%z%A@^+umihA*VT@K~@}d<U!xi0*;JBxZ(1k|*u*@!66OA&wargnxbi zGr}q3B8{2BY3V1Hw=$PQg{Y=M634*TGW<p2D_-=n{&sk<D4#lP&@Dl{H9@SwL1L{_ zaR>1!fyMXZjK((jO8vOGF3lj}A5d~v{8^iPd^8*UpdbmZ15Nmb*D$j;z5UwE)E`XS z13Ay{`~LZR#ph*O^ipbf=Lq>~#q`QAO2dVt>G*k^VdDDy^fY0RYg=r5zT5V>ry$o3 z4jOnQi1K(qD6}=<o~GOuD(`ub^?<MkJ??_U73OfZ5*QfRlX(5USppnYw9`5c8;BmA zkC*ecIh)^7xy(>(3k4;@2XEQW2SSf=>#AyTu_c)AuCd+2Q9G$_#NpFhcI(aIvU5vb zu2wN{^cO9#F2kMuf<-AoVcP~89DooIV1Wei6A0M7<^{t8VDY6;S2jk-U)z=Qj}7Pi zYx@hp;{OHUY<~g&A0%<_It)?aWw=MquIebj{oCo>kXK`PQYTc6Ft!gj0ITX`d+9k> z&!A<ZK<ZbHg+`c2F1;6}T(YVbY;ZbR#3TFwZ;F$jirbWbt@=0z{hXx(nd5`M03O2~ z5)rY~WB@jltE&Xk_%I4VLyS9t_H{e--M|tQ0TaZFhcgzt)Ph$sOWs+0h4EMPX|RVI zJ(~D*bE;2O>TxvNn^zl`cWo7&(e4?loZ;1;HgIumLBy;j-#O4Nqo}iy$TWm?Z>KD< z!~w)%&{~r0rTKzK9D5*BO8YBoB>RJ?DLZ@I_SB8V<1$!o<U7e8)(%sNnAUbk5Il|? z==M~9#i+Kk6_kcCa!4=mzSOf$FoC{(ju(wV7Fs-Na**yEZP6GFpQE19m{cs6bSTpk z1ik~cu&$}F-g{@^DWL^+Aa!1{=lVDYc3^y*rDXAhQ3u;6T=}yOr5ecoNK=>XElt6K z*<7(UvHhS7k2oN^ELdTQra+gXyS(FZUI<4-Ux%Y*l#^)Duh!*d_Vkr5ELA^C&eCf0 zbngTxYCu&gayPw*l6(BjGvCl<Pg!YE*HK1cZ^}-yQOK;IO}!pCc1qecO^Pw)otP_! z!~}F?l>JgW-Bih~D(!x)ou|0yraT@Wtlu&CiiY^*Cq9G_vG-iaK3nYGj*GNelXieV zGiPj7R@$o_S&3N<!HYo)UBL|tOZ`sWK+I$P56KSDiBXSSuDiZwRppVk3~~!L%s|Zq z%evZfPk=x^%vF}`TCMRtj<WRbofB>x?FjbOvgpES*2|7~nV7)MxqVZkWe-8FSXhl* zqwK<bu^*5oavbl*)0P>n1^?6aLSCc`)I3Ln<3W7i3m+N_Zg%g!luxvDv1(7D`^CSX z#=_2~k7#R-)1!19j56XXc|~%*N3=?AfIp=o8`rSbXO_s+yNaxvKl^GWF@3vdM%CC* z(BWtYGVG><xIg8nc~<h6N&cLgHJzC;A2hE~q|)l18+%@b6>)p4IaDG%Z9-3QqbV}M ze3)q&oa&=NVUZBATJ?PygR#j<9yf!l#m~HC?q@+l?qA%WF+p}UH=n&bi$|IUJ-bk2 z%gcKpC|>kV+x?jk9BXg)oPKtFn3>ea%$|+MC%S{%AjOKN7$VYdc$ieYS~Bh_u;Wg7 zih0b5#V*;jfa8GCPa}L7P9==b7T*dCctNV(>9{;AqDXzm&1~D^P&l~1WI$=6zFI|G zRbkbU&u7Y-Vjk`?Qao1oYgGc;{1md4XHG{Q=JPHdf}mU~c56`86*ib+PA}Hp7_~c$ zRC1{qA6mBD0T0Sml{vSWxpkNpmpyzM7X@o~c^<Kx`aLejzv0#y*UPv$fzQR}K^!lD zHzRj#=~V?=$}55Iny9+MG-I9k9G=pMybSL$MmcG#rgr>@3xKu5pUXa9##mhc5?n_p zZItLvWkQ({NR#)LI3l}J_at0tPi^tc{-bM->vW|NtoGJ|rFWw}*Mk_vaHYzPZp~Ne zjRRRADVQHN^xVh)aq5p88q!yLwS(B#kzLIeW;W2|3AB}He^x^a%rb_Bryurl+SJv# zdT&a23l*UATwoYJ#CgYu8s=(UYQpzAh@}VZ{Hsvrl+Quv@oxM$c{3%DBt5~<`_O$g zh_-GFM*YRdV)MQ0CY_J4XigCPSxLG~vfa`xCrx7SL5YHVI#uAJU34yM-gDk*)rjAc zK;r0!;^K)MmN!T{KhxhQ<vW=RXCswn+w1X`(I5gLWBW<(`>Zoj7d72{CN5e)%}qLM zHMk`}a9vECSHm}%XiM5bgU^fY{<W$F*@=4TyeQ)O?OKLOFop2h%jz6zZo0P=L0`#k z%e`pG16((3*yf_sc>iJ{4EmhlI#VqtJC5)rDvHPp*6?J-Vcv6w+tif+i$CSXIz#4y zzkOXC&$gcOYH}e+@DiH2iJJhmcq;X@+l06Y@GlNG0sh6|rhjo))4w>}^n&BR%z*z5 zuc!T+<`2u?G=Eq|GaOyn8RBH@)iDUSM1ef&Y*zIKHq)GDz)+#-n@(Ml&nNOKn?Dj| zHf^S>?h<17I1R`w<r){%R6Pqz;BKzB2*F|ESEeHRcf>YR`jUgcr-&o15L!(!x9v6t z5Pfe<qHpFIDxG|Bl(t)wHP2F`ARR995y&pNCC=D!a-zZAa&4&avB?yvO<!6=kkV~S ztuWES8FD2V31Y6|PXc)g?()!BmWPm$K@&2|zQ@1`69tDnuAe1WE+iwP!q@dhttOfb zZf}7+Lt^zS(e5i-o*|ifR3pt0xA&D8)krl|=)<OHNM`v*ysl_SY^l{ml~L#;@JA&0 zPxuuR-hZI~h=rg28~%ssKjAngum8&auaNpb$)ih_dQ;s!Vf-f&uv%=x(jkfDPRk84 ztuO&~iK*X<6sda)=-6{?|K+$?2}s_Wll+qUATkpkqiAocvV=$dY1`+c;d><JM|y6q zdvPXTn08MzcK!z8%WA9gT&4Pr!~`Qn>BN=2w!y&&FGzO}=<_%iIL5LkGk>iGygBcm zp&r>TNjR_{7;dRylX@tnUA!jf3+e6xeXe=TSF42PJbaFit_QL1BJQ^-d4(&V7spdo z+f5n~l|(@8^p}vAt)-o_z~jZ44<c9u^~=>h&^V_Hb?cY$PX5$;*Y<{wPbh{kXGU$1 zfLSE@`P{E^^N)=AHpR*hT-U;I^>l!EA2v?JmQIUH1{%Dhdnf{K`wZzG0O@tEG1u9k zRn@k^!|-S-{Cg@7W;CE=@K2B#WbjuSeHw~(FVkyiukh5fM>fGHG86DDh|RULK6i`0 z58fF%bQ(`ov(2RG)VZ0O4TrhU)C`E=tC<jSRHVrbj(8ZE$TBTv?0P$pDe+c0k&peY z2a1E)6DuovyH%s0(Yw1w#2_q*hb=2sSc&|4ySDW1cX`Hi0*jP1f-@tZG+pZFYep%R zHO?PdgKvr%;vt@#a*Bz?6F^M%U&!@p*atcZEA>$NK<30Ug@%w|<I2d=ZML&MAo^Q< zlxoMR$&*Ys87Ez{&n;gh;&X3}B{MnKw1X1zw<^Nqhn84s_wh+Yw~W7plV=rSW=ZHJ zs_r`RnBPy%CSK@G!l#5dzk>+}hW#d0ui@u=;E*CSIslsbsy~%cDZC9<Ih&jOPQ9Kz z3;YpWqke}cSB>a9nNe%$=Z6;CBy}=TbYoFrci?Vf$LTi)m@k*N*5vv3<u_vCI|z^E z55O!LQP!H4^_#idm?6&fSao#Nt!vxh;PXcZb3p_sUe7i^$VJ%MO56K!ajri2TVGA> z;p#OvJnWl8@GBqM+IE|jtou&}W+vMlSul#mv))!5A-fp$k}R4BtC4cWO*<|EJlB|9 z86kusYSl9xJ(3D>THX+G@39Ug(1&A_P}1c+3@eeIS!pF3*VR%U&7qvO7VC%jeAt@! zV?H{{ixHDJFJ~DB(Ne_8?AAw7edj!u)t{B4<X2;2re?aixAlE`BQgg4VMDW2mB~mp z^m{zdn|4&?>+3UvQN}wvvC#tKx6sGwx%c6Qzgd$}g}87(h>s}-UMXZ1ThscMo}d2) zIH;rSC&Ssxtc%i2Y~r=0?Vs64h|Gh~Km?t@dR2F#rTTF?aNuj;-C@eUw?Eu8Mwr8Z zi`Q?N&UVVMI1}G(=m0$sfkXB&fzn74^nNoaZBbG;IKWzN48)!-)(L*_A?wl9y71^z zy_7K!ob6RP?y=shdG}70qc1d5;T_*Tq$nj?_JbDWzn{1LTsantnB!6V*#Yv#oDP5_ zqVp3PK+g`rZ_OJ*s9x(W^N&OzBIyX46tb(sPQ1wz>8u||2S%#|$Wxy6k)S(ii$T{( zME#$Veq*68;NbQPhrn`wBX7jCjjN%>@4V1&0-4PsukDbq#$_Aps-nstXj)?^V+e%| zXF@#VqNCsQLh#Uz;I86!(7FtLfwjcffW#^qAocu*XX3@g6{>J;V8%7#y?$eVOLFwS z^TiX~cO<plYP{}ek1TdQbghY-G3xEjARVT*#OYr=p**Gc>EWx=aG?)THA~m(<=#p< z9PH1sGw+neuAR;G>ENna1D4bVZR{X4_r&{Ow^ys4sqJG@j4(dKru@nmH1O3(nu6@z ztQBBFlloaS#a@r-k!0_r{xY(0aTdvUfT2INLqG9#apl^&kM2~Mj7J=&OAhdFXlU;v z*kL&bh!a!8G@F<?B+r@sCj7ff{0*~1X)Kc8iM0>Qf;RVfFZxUgntc0S_ICL!a!S=< zQWc<nzy9Y}tG5>|UZ%*^4k7OBJ(74sT+<o=8B3TIKzy8bc153g>hUBhWKvFu8Z178 zr{I5qh-S1tJWzH`;?37R;%WC*J&ukgkt?1`yw4})1UFBR#Pzo((1YmTrxuBjAM10A zsuH!eIjfc(hLbkjTk6D`X>*@1)}=Z?DqU%GMXmFURgYuB?qu(eQe}q<NpomE5O^s_ z{b2CKJM!J#bqM?U?siJNxs(zDJ{l@h<AFssJ`zx|#V{^Eh|igQ-S8y&2a^how&1E+ z$-vsDRe_<*FX4yTAGJ(qj+Bj8el=z|c8r=XZB1wqh8h;{bn(OEA%xM2q@#H7DlRS$ z0)e`35MhNvK`e`jd}0A>SeW`}r$Gz&8j$Ulkmv6%JsT=ZKf09&kr<krA$`;W<}Wb= z*QF5r;6v2U&)ZJ%ab2%eWlirtIx>&m+ylEUQ*k$pK7`+d?Bmm^_M2YFY9wvTgE=c> zxzw!p!6)K6b?&tutQ84rsle|~W6JVP(Ld=RigPkr6<{$m;x?(LNh_!QCX9*;X~-z` z3JAZA9a~}y5POJem|kI#x8jFPNcb!X){QEpV&^v=O){Fk`R3bcsF)AgS3CdcdhVDG z={p{Wa3Nv11KR{TYJE{uGrkVAm&ji1DUbI*#Iit0Vk>H3B-GQSb{T0)oAvylmm+l# z&LZ}^R1?b>bv=9Gt<tn6%`kruDfY$bxeN#`Ru5`@%>Dj2odNzG6xYr@;&ys&G+A>u zZI!j(u>g`~u)ynHd}o-a?cit|+y?hM^+FkRP371MhWY2W_nFhZCwKzYd9@Odhx=#w z{bEVfw^L<Z;PE!t_AJzT@*(7-!#4<LPY>z**m#P3jvy0z&wW=5hZ4ukl@N(ujU^&B z$>EmcEDp4meyM3`+Z#KFu*;M^A?9pzqrs1GSCJS$g)a~z!Nt)gx-JiRFV`8vS>H7_ zfiS|FMSF)%L{FSh9D3BxKih`@0s*lXsP+p6l|+9ESI*uEC7;Lm56@eN(pMp4KTC%m zH;lhMC~{ahj7ZTssRBN2i>4>w%Q7DaWtt<LA;KhT-QF=vycH`ZQC|ba@V>+ZPlLib zesi7Sqid-sZQrSzky~)}fNB?kiC@Bl8$k`TxEG<t_tJ8D@C1-+NJpfvO%pJr&mB$o zMS=Gb&C>u$oi8zneZ-6|Dku1v);392_8#VaQ2VE*xKe(@(z%9?ry9LpF(kW)whpnL z2GBNG_CgYrC7yMcn1@N#p%-3MGeq)I<OX`gw})O{4m&k@Z$P&YqB~y1d3<ev*)MFz zh3@U?qLyNc;|G2^v81KXdo}Wde4oO>=}RV2o$oS82I5-I_|Nbyq{v?4v3*FoKHx<a z@=yD#e7^qI_di_!m%#l(k1kU$X7dN9H$DIal9oz0#-BrocZ({nx#N@Jh~mmUn($Ra z`4gXgxvolJp*()!@~egnl%zC*dwr6HCy;5aIZb10UpLb_+JE;S1H!YsyzInvadl)| z@*hfqS{#aY@;pjX9NC)z{{mP@b!9)F+(Os5yfIRRpW%Jt!f`zn_rExxuUY9Wo#8s& znf{_ukB_sm+9pz<JWZ_@KsKP;VdKzGn2|k-FFjIMzD!#*T;P7KhY@fhVT$~E0sPt> zDY7i{WDlBD-s96A70;R%uTb!l$4kcBYwC8mtV&`%DLprUQxZ)ML<3$ihkZ_($j<h= zp^mtvmX2L)*W^y?K4L-Fojeo96G+O4KlJ22Q7FEhmlTHkxE`P&tNh}JjKSys1%U4) ABme*a literal 0 HcmV?d00001 diff --git a/src/content/learn/describing-the-ui.md b/src/content/learn/describing-the-ui.md index 6df4c047..e8b6440a 100644 --- a/src/content/learn/describing-the-ui.md +++ b/src/content/learn/describing-the-ui.md @@ -18,6 +18,7 @@ React is a JavaScript library for rendering user interfaces (UI). UI is built fr * [How to conditionally render components](/learn/conditional-rendering) * [How to render multiple components at a time](/learn/rendering-lists) * [How to avoid confusing bugs by keeping components pure](/learn/keeping-components-pure) +* [Why understanding your UI as trees is useful](/learn/understanding-your-ui-as-a-tree) </YouWillLearn> @@ -523,6 +524,29 @@ Read **[Keeping Components Pure](/learn/keeping-components-pure)** to learn how </LearnMore> +## Your UI as a tree {/*your-ui-as-a-tree*/} + +React uses trees to model the relationships between components and modules. + +A React render tree is a representation of the parent and child relationship between components. + +<Diagram name="generic_render_tree" height={250} width={500} alt="A tree graph with five nodes, with each node representing a component. The root node is located at the top the tree graph and is labelled 'Root Component'. It has two arrows extending down to two nodes labelled 'Component A' and 'Component C'. Each of the arrows is labelled with 'renders'. 'Component A' has a single 'renders' arrow to a node labelled 'Component B'. 'Component C' has a single 'renders' arrow to a node labelled 'Component D'.">An example React render tree.</Diagram> + +Components near the top of the tree, near the root component, are considered top-level components. Components with no child components are leaf components. This categorization of components is useful for understanding data flow and rendering performance. + +Modelling the relationship between JavaScript modules is another useful way to understand your app. We refer to it as a module dependency tree. + +<Diagram name="generic_dependency_tree" height={250} width={500} alt="A tree graph with five nodes. Each node represents a JavaScript module. The top-most node is labelled 'RootModule.js'. It has three arrows extending to the nodes: 'ModuleA.js', 'ModuleB.js', and 'ModuleC.js'. Each arrow is labelled as 'imports'. 'ModuleC.js' node has a single 'imports' arrow that points to a node labelled 'ModuleD.js'.">An example module dependency tree.</Diagram> + +A dependency tree is often used by build tools to bundle all the relevant JavaScript code for the client to download and render. A large bundle size regresses user experience for React apps. Understanding the module dependency tree is helpful to debug such issues. + +<LearnMore path="/learn/understanding-your-ui-as-a-tree"> + +Read **[Your UI as a Tree](/learn/understanding-your-ui-as-a-tree)** to learn how to create a render and module dependency trees for a React app and how they're useful mental models for improving user experience and performance. + +</LearnMore> + + ## What's next? {/*whats-next*/} Head over to [Your First Component](/learn/your-first-component) to start reading this chapter page by page! diff --git a/src/content/learn/preserving-and-resetting-state.md b/src/content/learn/preserving-and-resetting-state.md index 1c9c341f..709d9e3d 100644 --- a/src/content/learn/preserving-and-resetting-state.md +++ b/src/content/learn/preserving-and-resetting-state.md @@ -10,33 +10,17 @@ State is isolated between components. React keeps track of which state belongs t <YouWillLearn> -* How React "sees" component structures * When React chooses to preserve or reset the state * How to force React to reset component's state * How keys and types affect whether the state is preserved </YouWillLearn> -## The UI tree {/*the-ui-tree*/} +## State is tied to a position in the render tree {/*state-is-tied-to-a-position-in-the-tree*/} -Browsers use many tree structures to model UI. The [DOM](https://developer.mozilla.org/docs/Web/API/Document_Object_Model/Introduction) represents HTML elements, the [CSSOM](https://developer.mozilla.org/docs/Web/API/CSS_Object_Model) does the same for CSS. There's even an [Accessibility tree](https://developer.mozilla.org/docs/Glossary/Accessibility_tree)! - -React also uses tree structures to manage and model the UI you make. React makes **UI trees** from your JSX. Then React DOM updates the browser DOM elements to match that UI tree. (React Native translates these trees into elements specific to mobile platforms.) - -<DiagramGroup> - -<Diagram name="preserving_state_dom_tree" height={193} width={864} alt="Diagram with three sections arranged horizontally. In the first section, there are three rectangles stacked vertically, with labels 'Component A', 'Component B', and 'Component C'. Transitioning to the next pane is an arrow with the React logo on top labeled 'React'. The middle section contains a tree of components, with the root labeled 'A' and two children labeled 'B' and 'C'. The next section is again transitioned using an arrow with the React logo on top labeled 'React'. The third and final section is a wireframe of a browser, containing a tree of 8 nodes, which has only a subset highlighted (indicating the subtree from the middle section)."> - -From components, React creates a UI tree which React DOM uses to render the DOM - -</Diagram> - -</DiagramGroup> - -## State is tied to a position in the tree {/*state-is-tied-to-a-position-in-the-tree*/} - -When you give a component state, you might think the state "lives" inside the component. But the state is actually held inside React. React associates each piece of state it's holding with the correct component by where that component sits in the UI tree. +React builds [render trees](learn/understanding-your-ui-as-a-tree#the-render-tree) for the component structure in your UI. +When you give a component state, you might think the state "lives" inside the component. But the state is actually held inside React. React associates each piece of state it's holding with the correct component by where that component sits in the render tree. Here, there is only one `<Counter />` JSX tag, but it's rendered at two different positions: @@ -190,7 +174,7 @@ Updating state </DiagramGroup> -React will keep the state around for as long as you render the same component at the same position. To see this, increment both counters, then remove the second component by unchecking "Render the second counter" checkbox, and then add it back by ticking it again: +React will keep the state around for as long as you render the same component at the same position in the tree. To see this, increment both counters, then remove the second component by unchecking "Render the second counter" checkbox, and then add it back by ticking it again: <Sandpack> diff --git a/src/content/learn/understanding-your-ui-as-a-tree.md b/src/content/learn/understanding-your-ui-as-a-tree.md new file mode 100644 index 00000000..948f8579 --- /dev/null +++ b/src/content/learn/understanding-your-ui-as-a-tree.md @@ -0,0 +1,299 @@ +--- +title: Understanding your UI as a Tree +--- + +<Intro> + +Your React app is taking shape with many components being nested within each other. How does React keep track of your app's component structure? + +React, and many other UI libraries, model UI as a tree. Thinking of your app as a tree is useful for understanding the relationship between components to debug future concepts like performance and state management. + +</Intro> + +<YouWillLearn> + +* How React "sees" component structures +* What a render tree is and what it is useful for +* What a module dependency tree is and what it is useful for + +</YouWillLearn> + +## Your UI as a tree {/*your-ui-as-a-tree*/} + +Trees are a relationship model between items and UI is often represented using tree structures. For example, browsers use tree structures to model HTML ([DOM](https://developer.mozilla.org/docs/Web/API/Document_Object_Model/Introduction)) and CSS ([CSSOM](https://developer.mozilla.org/docs/Web/API/CSS_Object_Model)). Mobile platforms also use trees to represent their view hierarchy. + +<Diagram name="preserving_state_dom_tree" height={193} width={864} alt="Diagram with three sections arranged horizontally. In the first section, there are three rectangles stacked vertically, with labels 'Component A', 'Component B', and 'Component C'. Transitioning to the next pane is an arrow with the React logo on top labeled 'React'. The middle section contains a tree of components, with the root labeled 'A' and two children labeled 'B' and 'C'. The next section is again transitioned using an arrow with the React logo on top labeled 'React'. The third and final section is a wireframe of a browser, containing a tree of 8 nodes, which has only a subset highlighted (indicating the subtree from the middle section)."> + +React creates a UI tree from your components. In this example, the UI tree is then used to render to the DOM. +</Diagram> + +Like browsers and mobile platforms, React also uses tree structures to manage and model the relationship between components in a React app. These trees are useful tools to understand how data flows through a React app and how to optimize rendering and app size. + +## The Render Tree {/*the-render-tree*/} + +A major feature of components is the ability to compose components of other components. As we [nest components](/learn/your-first-component#nesting-and-organizing-components), we have the concept of parent and child components, where each parent component may itself be a child of another component. + +When we render a React app, we can model this relationship in a tree, known as the render tree. + +Here is a React app that renders inspirational quotes. + +<Sandpack> + +```js App.js +import FancyText from './FancyText'; +import InspirationGenerator from './InspirationGenerator'; +import Copyright from './Copyright'; + +export default function App() { + return ( + <> + <FancyText title text="Get Inspired App" /> + <InspirationGenerator> + <Copyright year={2004} /> + </InspirationGenerator> + </> + ); +} + +``` + +```js FancyText.js +export default function FancyText({title, text}) { + return title + ? <h1 className='fancy title'>{text}</h1> + : <h3 className='fancy cursive'>{text}</h3> +} +``` + +```js InspirationGenerator.js +import * as React from 'react'; +import quotes from './quotes'; +import FancyText from './FancyText'; + +export default function InspirationGenerator({children}) { + const [index, setIndex] = React.useState(0); + const quote = quotes[index]; + const next = () => setIndex((index + 1) % quotes.length); + + return ( + <> + <p>Your inspirational quote is:</p> + <FancyText text={quote} /> + <button onClick={next}>Inspire me again</button> + {children} + </> + ); +} +``` + +```js Copyright.js +export default function Copyright({year}) { + return <p className='small'>©️ {year}</p>; +} +``` + +```js quotes.js +export default [ + "Don’t let yesterday take up too much of today.” — Will Rogers", + "Ambition is putting a ladder against the sky.", + "A joy that's shared is a joy made double.", + ]; +``` + +```css +.fancy { + font-family: 'Georgia'; +} +.title { + color: #007AA3; + text-decoration: underline; +} +.cursive { + font-style: italic; +} +.small { + font-size: 10px; +} +``` + +</Sandpack> + +<Diagram name="render_tree" height={250} width={500} alt="Tree graph with five nodes. Each node represents a component. The root of the tree is App, with two arrows extending from it to 'InspirationGenerator' and 'FancyText'. The arrows are labelled with the word 'renders'. 'InspirationGenerator' node also has two arrows pointing to nodes 'FancyText' and 'Copyright'."> + +React creates a UI tree made of components rendered, known as a render tree. + +</Diagram> + +From the example app, we can construct the above render tree. + +The tree is composed of nodes, each of which represents a component. `App`, `FancyText`, `Copyright`, to name a few, are all nodes in our tree. + +The root node in a React render tree is the [root component](/learn/importing-and-exporting-components#the-root-component-file) of the app. In this case, the root component is `App` and it is the first component React renders. Each arrow in the tree points from a parent component to a child component. + +<DeepDive> + +#### Where are the HTML tags in the render tree? {/*where-are-the-html-elements-in-the-render-tree*/} + +You'll notice in the above render tree, there is no mention of the HTML tags that each component renders. This is because the render tree is only composed of React [components](learn/your-first-component#components-ui-building-blocks). + +React, as a UI framework, is platform agnostic. On react.dev, we showcase examples that render to the web, which uses HTML markup as its UI primitives. But a React app could just as likely render to a mobile or desktop platform, which may use different UI primitives like [UIView](https://developer.apple.com/documentation/uikit/uiview) or [FrameworkElement](https://learn.microsoft.com/en-us/dotnet/api/system.windows.frameworkelement?view=windowsdesktop-7.0). + +These platform UI primitives are not a part of React. React render trees can provide insight to our React app regardless of what platform your app renders to. + +</DeepDive> + +A render tree represents a single render pass of a React application. With [conditional rendering](/learn/conditional-rendering), a parent component may render different children depending on the data passed. + +We can update the app to conditionally render either an inspirational quote or color. + +<Sandpack> + +```js App.js +import FancyText from './FancyText'; +import InspirationGenerator from './InspirationGenerator'; +import Copyright from './Copyright'; + +export default function App() { + return ( + <> + <FancyText title text="Get Inspired App" /> + <InspirationGenerator> + <Copyright year={2004} /> + </InspirationGenerator> + </> + ); +} + +``` + +```js FancyText.js +export default function FancyText({title, text}) { + return title + ? <h1 className='fancy title'>{text}</h1> + : <h3 className='fancy cursive'>{text}</h3> +} +``` + +```js Color.js +export default function Color({value}) { + return <div className="colorbox" style={{backgroundColor: value}} / > +} +``` + +```js InspirationGenerator.js +import * as React from 'react'; +import inspirations from './inspirations'; +import FancyText from './FancyText'; +import Color from './Color'; + +export default function InspirationGenerator({children}) { + const [index, setIndex] = React.useState(0); + const inspiration = inspirations[index]; + const next = () => setIndex((index + 1) % inspirations.length); + + return ( + <> + <p>Your inspirational {inspiration.type} is:</p> + {inspiration.type === 'quote' + ? <FancyText text={inspiration.value} /> + : <Color value={inspiration.value} />} + + <button onClick={next}>Inspire me again</button> + {children} + </> + ); +} +``` + +```js Copyright.js +export default function Copyright({year}) { + return <p className='small'>©️ {year}</p>; +} +``` + +```js inspirations.js +export default [ + {type: 'quote', value: "Don’t let yesterday take up too much of today.” — Will Rogers"}, + {type: 'color', value: "#B73636"}, + {type: 'quote', value: "Ambition is putting a ladder against the sky."}, + {type: 'color', value: "#256266"}, + {type: 'quote', value: "A joy that's shared is a joy made double."}, + {type: 'color', value: "#F9F2B4"}, +]; +``` + +```css +.fancy { + font-family: 'Georgia'; +} +.title { + color: #007AA3; + text-decoration: underline; +} +.cursive { + font-style: italic; +} +.small { + font-size: 10px; +} +.colorbox { + height: 100px; + width: 100px; + margin: 8px; +} +``` +</Sandpack> + +<Diagram name="conditional_render_tree" height={250} width={561} alt="Tree graph with six nodes. The top node of the tree is labelled 'App' with two arrows extending to nodes labelled 'InspirationGenerator' and 'FancyText'. The arrows are solid lines and are labelled with the word 'renders'. 'InspirationGenerator' node also has three arrows. The arrows to nodes 'FancyText' and 'Color' are dashed and labelled with 'renders?'. The last arrow points to the node labelled 'Copyright' and is solid and labelled with 'renders'."> + +With conditional rendering, across different renders, the render tree may render different components. + +</Diagram> + +In this example, depending on what `inspiration.type` is, we may render `<FancyText>` or `<Color>`. The render tree may be different for each render pass. + +Although render trees may differ across render pases, these trees are generally helpful for identifying what the top-level and leaf components are in a React app. Top-level components are the components nearest to the root component and affect the rendering performance of all the components beneath them and often contain the most complexity. Leaf components are near the bottom of the tree and have no child components and are often frequently re-rendered. + +Identifying these categories of components are useful for understanding data flow and performance of your app. + +## The Module Dependency Tree {/*the-module-dependency-tree*/} + +Another relationship in a React app that can be modeled with a tree are an app's module dependencies. As we [break up our components](/learn/importing-and-exporting-components#exporting-and-importing-a-component) and logic into separate files, we create [JS modules](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules) where we may export components, functions, or constants. + +Each node in a module dependency tree is a module and each branch represents an `import` statement in that module. + +If we take the previous Inspirations app, we can build a module dependency tree, or dependency tree for short. + +<Diagram name="module_dependency_tree" height={250} width={658} alt="A tree graph with seven nodes. Each node is labelled with a module name. The top level node of the tree is labelled 'App.js'. There are three arrows pointing to the modules 'InspirationGenerator.js', 'FancyText.js' and 'Copyright.js' and the arrows are labelled with 'imports'. From the 'InspirationGenerator.js' node, there are three arrows that extend to three modules: 'FancyText.js', 'Color.js', and 'inspirations.js'. The arrows are labelled with 'imports'."> + +The module dependency tree for the Inspirations app. + +</Diagram> + +The root node of the tree is the root module, also known as the entrypoint file. It often is the module that contains the root component. + +Comparing to the render tree of the same app, there are similar structures but some notable differences: + +* The nodes that make-up the tree represent modules, not components. +* Non-component modules, like `inspirations.js`, are also represented in this tree. The render tree only encapsulates components. +* `Copyright.js` appears under `App.js` but in the render tree, `Copyright`, the component, appears as a child of `InspirationGenerator`. This is because `InspirationGenerator` accepts JSX as [children props](/learn/passing-props-to-a-component#passing-jsx-as-children), so it renders `Copyright` as a child component but does not import the module. + +Dependency trees are useful to determine what modules are necessary to run your React app. When building a React app for production, there is typically a build step that will bundle all the necessary JavaScript to ship to the client. The tool responsible for this is called a [bundler](https://developer.mozilla.org/en-US/docs/Learn/Tools_and_testing/Understanding_client-side_tools/Overview#the_modern_tooling_ecosystem), and bundlers will use the dependency tree to determine what modules should be included. + +As your app grows, often the bundle size does too. Large bundle sizes are expensive for a client to download and run and delays the time for your UI to get drawn. Getting a sense of your app's dependency tree may help with debugging these issues. + +[comment]: <> (perhaps we should also deep dive on conditional imports) + +<Recap> + +* Trees are a common way to represent the relationship between entities. They are often used to model UI. +* Render trees represent the nested relationship between React components across a single render. +* With conditional rendering, the render tree may change across different renders. With different prop values, components may render different children components. +* Render trees help identify what the top-level and leaf components are. Top-level components affect the rendering performance of all components beneath them and leaf components are often re-rendered frequently. Identifying them is useful for understanding and debugging rendering performance. +* Dependency trees represent the module dependencies in a React app. +* Dependency trees are used by build tools to bundle the necessary code to ship an app. +* Dependency trees are useful for debugging large bundle sizes that slow time to paint and expose opportunities for optimizing what code is bundled. + +</Recap> + +[TODO]: <> (Add challenges) \ No newline at end of file diff --git a/src/sidebarLearn.json b/src/sidebarLearn.json index f462c696..02806dc0 100644 --- a/src/sidebarLearn.json +++ b/src/sidebarLearn.json @@ -86,6 +86,10 @@ { "title": "Keeping Components Pure", "path": "/learn/keeping-components-pure" + }, + { + "title": "Your UI as a Tree", + "path": "/learn/understanding-your-ui-as-a-tree" } ] }, From 16f90a936a1b1d29811a125c3554586390c30f7c Mon Sep 17 00:00:00 2001 From: Matt Carroll <7158882+mattcarrollcode@users.noreply.github.com> Date: Fri, 20 Oct 2023 14:00:10 -0700 Subject: [PATCH 082/382] Minor fixes to Understand Your UI as a Tree learn doc (#6365) --- .../learn/understanding-your-ui-as-a-tree.md | 37 ++++++++++--------- 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/src/content/learn/understanding-your-ui-as-a-tree.md b/src/content/learn/understanding-your-ui-as-a-tree.md index 948f8579..2a5a24b8 100644 --- a/src/content/learn/understanding-your-ui-as-a-tree.md +++ b/src/content/learn/understanding-your-ui-as-a-tree.md @@ -1,12 +1,12 @@ --- -title: Understanding your UI as a Tree +title: Understanding Your UI as a Tree --- <Intro> Your React app is taking shape with many components being nested within each other. How does React keep track of your app's component structure? -React, and many other UI libraries, model UI as a tree. Thinking of your app as a tree is useful for understanding the relationship between components to debug future concepts like performance and state management. +React, and many other UI libraries, model UI as a tree. Thinking of your app as a tree is useful for understanding the relationship between components. This understanding will help you debug future concepts like performance and state management. </Intro> @@ -20,7 +20,7 @@ React, and many other UI libraries, model UI as a tree. Thinking of your app as ## Your UI as a tree {/*your-ui-as-a-tree*/} -Trees are a relationship model between items and UI is often represented using tree structures. For example, browsers use tree structures to model HTML ([DOM](https://developer.mozilla.org/docs/Web/API/Document_Object_Model/Introduction)) and CSS ([CSSOM](https://developer.mozilla.org/docs/Web/API/CSS_Object_Model)). Mobile platforms also use trees to represent their view hierarchy. +Trees are a relationship model between items and UI is often represented using tree structures. For example, browsers use tree structures to model HTML ([DOM](https://developer.mozilla.org/docs/Web/API/Document_Object_Model/Introduction)) and CSS ([CSSOM](https://developer.mozilla.org/docs/Web/API/CSS_Object_Model)). Mobile platforms also use trees to represent their view hierarchy. <Diagram name="preserving_state_dom_tree" height={193} width={864} alt="Diagram with three sections arranged horizontally. In the first section, there are three rectangles stacked vertically, with labels 'Component A', 'Component B', and 'Component C'. Transitioning to the next pane is an arrow with the React logo on top labeled 'React'. The middle section contains a tree of components, with the root labeled 'A' and two children labeled 'B' and 'C'. The next section is again transitioned using an arrow with the React logo on top labeled 'React'. The third and final section is a wireframe of a browser, containing a tree of 8 nodes, which has only a subset highlighted (indicating the subtree from the middle section)."> @@ -31,11 +31,11 @@ Like browsers and mobile platforms, React also uses tree structures to manage an ## The Render Tree {/*the-render-tree*/} -A major feature of components is the ability to compose components of other components. As we [nest components](/learn/your-first-component#nesting-and-organizing-components), we have the concept of parent and child components, where each parent component may itself be a child of another component. +A major feature of components is the ability to compose components of other components. As we [nest components](/learn/your-first-component#nesting-and-organizing-components), we have the concept of parent and child components, where each parent component may itself be a child of another component. When we render a React app, we can model this relationship in a tree, known as the render tree. -Here is a React app that renders inspirational quotes. +Here is a React app that renders inspirational quotes. <Sandpack> @@ -120,13 +120,14 @@ export default [ <Diagram name="render_tree" height={250} width={500} alt="Tree graph with five nodes. Each node represents a component. The root of the tree is App, with two arrows extending from it to 'InspirationGenerator' and 'FancyText'. The arrows are labelled with the word 'renders'. 'InspirationGenerator' node also has two arrows pointing to nodes 'FancyText' and 'Copyright'."> -React creates a UI tree made of components rendered, known as a render tree. +React creates a *render tree*, a UI tree, composed of the rendered components. + </Diagram> -From the example app, we can construct the above render tree. +From the example app, we can construct the above render tree. -The tree is composed of nodes, each of which represents a component. `App`, `FancyText`, `Copyright`, to name a few, are all nodes in our tree. +The tree is composed of nodes, each of which represents a component. `App`, `FancyText`, `Copyright`, to name a few, are all nodes in our tree. The root node in a React render tree is the [root component](/learn/importing-and-exporting-components#the-root-component-file) of the app. In this case, the root component is `App` and it is the first component React renders. Each arrow in the tree points from a parent component to a child component. @@ -134,7 +135,7 @@ The root node in a React render tree is the [root component](/learn/importing-an #### Where are the HTML tags in the render tree? {/*where-are-the-html-elements-in-the-render-tree*/} -You'll notice in the above render tree, there is no mention of the HTML tags that each component renders. This is because the render tree is only composed of React [components](learn/your-first-component#components-ui-building-blocks). +You'll notice in the above render tree, there is no mention of the HTML tags that each component renders. This is because the render tree is only composed of React [components](learn/your-first-component#components-ui-building-blocks). React, as a UI framework, is platform agnostic. On react.dev, we showcase examples that render to the web, which uses HTML markup as its UI primitives. But a React app could just as likely render to a mobile or desktop platform, which may use different UI primitives like [UIView](https://developer.apple.com/documentation/uikit/uiview) or [FrameworkElement](https://learn.microsoft.com/en-us/dotnet/api/system.windows.frameworkelement?view=windowsdesktop-7.0). @@ -176,7 +177,7 @@ export default function FancyText({title, text}) { ```js Color.js export default function Color({value}) { - return <div className="colorbox" style={{backgroundColor: value}} / > + return <div className="colorbox" style={{backgroundColor: value}} /> } ``` @@ -197,7 +198,7 @@ export default function InspirationGenerator({children}) { {inspiration.type === 'quote' ? <FancyText text={inspiration.value} /> : <Color value={inspiration.value} />} - + <button onClick={next}>Inspire me again</button> {children} </> @@ -252,17 +253,17 @@ With conditional rendering, across different renders, the render tree may render In this example, depending on what `inspiration.type` is, we may render `<FancyText>` or `<Color>`. The render tree may be different for each render pass. -Although render trees may differ across render pases, these trees are generally helpful for identifying what the top-level and leaf components are in a React app. Top-level components are the components nearest to the root component and affect the rendering performance of all the components beneath them and often contain the most complexity. Leaf components are near the bottom of the tree and have no child components and are often frequently re-rendered. +Although render trees may differ across render pases, these trees are generally helpful for identifying what the top-level and leaf components are in a React app. Top-level components are the components nearest to the root component and affect the rendering performance of all the components beneath them and often contain the most complexity. Leaf components are near the bottom of the tree and have no child components and are often frequently re-rendered. Identifying these categories of components are useful for understanding data flow and performance of your app. ## The Module Dependency Tree {/*the-module-dependency-tree*/} -Another relationship in a React app that can be modeled with a tree are an app's module dependencies. As we [break up our components](/learn/importing-and-exporting-components#exporting-and-importing-a-component) and logic into separate files, we create [JS modules](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules) where we may export components, functions, or constants. +Another relationship in a React app that can be modeled with a tree are an app's module dependencies. As we [break up our components](/learn/importing-and-exporting-components#exporting-and-importing-a-component) and logic into separate files, we create [JS modules](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules) where we may export components, functions, or constants. Each node in a module dependency tree is a module and each branch represents an `import` statement in that module. -If we take the previous Inspirations app, we can build a module dependency tree, or dependency tree for short. +If we take the previous Inspirations app, we can build a module dependency tree, or dependency tree for short. <Diagram name="module_dependency_tree" height={250} width={658} alt="A tree graph with seven nodes. Each node is labelled with a module name. The top level node of the tree is labelled 'App.js'. There are three arrows pointing to the modules 'InspirationGenerator.js', 'FancyText.js' and 'Copyright.js' and the arrows are labelled with 'imports'. From the 'InspirationGenerator.js' node, there are three arrows that extend to three modules: 'FancyText.js', 'Color.js', and 'inspirations.js'. The arrows are labelled with 'imports'."> @@ -274,13 +275,13 @@ The root node of the tree is the root module, also known as the entrypoint file. Comparing to the render tree of the same app, there are similar structures but some notable differences: -* The nodes that make-up the tree represent modules, not components. +* The nodes that make-up the tree represent modules, not components. * Non-component modules, like `inspirations.js`, are also represented in this tree. The render tree only encapsulates components. * `Copyright.js` appears under `App.js` but in the render tree, `Copyright`, the component, appears as a child of `InspirationGenerator`. This is because `InspirationGenerator` accepts JSX as [children props](/learn/passing-props-to-a-component#passing-jsx-as-children), so it renders `Copyright` as a child component but does not import the module. Dependency trees are useful to determine what modules are necessary to run your React app. When building a React app for production, there is typically a build step that will bundle all the necessary JavaScript to ship to the client. The tool responsible for this is called a [bundler](https://developer.mozilla.org/en-US/docs/Learn/Tools_and_testing/Understanding_client-side_tools/Overview#the_modern_tooling_ecosystem), and bundlers will use the dependency tree to determine what modules should be included. -As your app grows, often the bundle size does too. Large bundle sizes are expensive for a client to download and run and delays the time for your UI to get drawn. Getting a sense of your app's dependency tree may help with debugging these issues. +As your app grows, often the bundle size does too. Large bundle sizes are expensive for a client to download and run. Large bundle sizes can delay the time for your UI to get drawn. Getting a sense of your app's dependency tree may help with debugging these issues. [comment]: <> (perhaps we should also deep dive on conditional imports) @@ -288,7 +289,7 @@ As your app grows, often the bundle size does too. Large bundle sizes are expens * Trees are a common way to represent the relationship between entities. They are often used to model UI. * Render trees represent the nested relationship between React components across a single render. -* With conditional rendering, the render tree may change across different renders. With different prop values, components may render different children components. +* With conditional rendering, the render tree may change across different renders. With different prop values, components may render different children components. * Render trees help identify what the top-level and leaf components are. Top-level components affect the rendering performance of all components beneath them and leaf components are often re-rendered frequently. Identifying them is useful for understanding and debugging rendering performance. * Dependency trees represent the module dependencies in a React app. * Dependency trees are used by build tools to bundle the necessary code to ship an app. @@ -296,4 +297,4 @@ As your app grows, often the bundle size does too. Large bundle sizes are expens </Recap> -[TODO]: <> (Add challenges) \ No newline at end of file +[TODO]: <> (Add challenges) From a0cacd7d3a89375e5689ccfba0461e293bfe9eeb Mon Sep 17 00:00:00 2001 From: Julian Weiss <me@insanj.com> Date: Sun, 22 Oct 2023 01:09:44 -0400 Subject: [PATCH 083/382] =?UTF-8?q?Fix=20onScroll=20=E2=86=92=20onWheel=20?= =?UTF-8?q?typo=20in=20common-props=20(#6364)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/content/reference/react-dom/components/common.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/reference/react-dom/components/common.md b/src/content/reference/react-dom/components/common.md index 8cf1fa29..78d2713b 100644 --- a/src/content/reference/react-dom/components/common.md +++ b/src/content/reference/react-dom/components/common.md @@ -694,7 +694,7 @@ An event handler type for the `onWheel` event. ```js <div - onScroll={e => console.log('onScroll')} + onWheel={e => console.log('onWheel')} /> ``` From 717f9b5da0e6d148f6aa8896138720bdf5d2f33a Mon Sep 17 00:00:00 2001 From: Kathryn Middleton <kmiddleton14@gmail.com> Date: Tue, 24 Oct 2023 10:35:15 -0400 Subject: [PATCH 084/382] Remove unsupported ga-lite and update existing calls to GA4 (#6366) * Cleanup old ga-lite tag and refactor GA4 * cleanup * cleanup2 --- .env.production | 2 +- package.json | 1 - src/components/Layout/Feedback.tsx | 15 ++++++--------- src/pages/_app.tsx | 17 +++++++++-------- src/pages/_document.tsx | 4 ++-- src/siteConfig.js | 1 - yarn.lock | 5 ----- 7 files changed, 18 insertions(+), 27 deletions(-) diff --git a/.env.production b/.env.production index d25eb7dd..e403f96b 100644 --- a/.env.production +++ b/.env.production @@ -1 +1 @@ -NEXT_PUBLIC_GA_TRACKING_ID = 'UA-41298772-4' \ No newline at end of file +NEXT_PUBLIC_GA_TRACKING_ID = 'G-B1E83PJ3RT' \ No newline at end of file diff --git a/package.json b/package.json index 472ef79c..b5e07d70 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,6 @@ "classnames": "^2.2.6", "date-fns": "^2.16.1", "debounce": "^1.2.1", - "ga-lite": "^2.1.4", "github-slugger": "^1.3.0", "next": "^13.4.1", "next-remote-watch": "^1.0.0", diff --git a/src/components/Layout/Feedback.tsx b/src/components/Layout/Feedback.tsx index 2bf9afe5..86fc9135 100644 --- a/src/components/Layout/Feedback.tsx +++ b/src/components/Layout/Feedback.tsx @@ -4,7 +4,6 @@ import {useState} from 'react'; import {useRouter} from 'next/router'; -import {ga} from '../../utils/analytics'; export function Feedback({onSubmit = () => {}}: {onSubmit?: () => void}) { const {asPath} = useRouter(); @@ -48,14 +47,12 @@ const thumbsDownIcon = ( function sendGAEvent(isPositive: boolean) { // Fragile. Don't change unless you've tested the network payload // and verified that the right events actually show up in GA. - ga( - 'send', - 'event', - 'button', - 'feedback', - window.location.pathname, - isPositive ? '1' : '0' - ); + // @ts-ignore + gtag('event', 'feedback', { + event_category: 'button', + event_label: window.location.pathname, + value: isPositive ? 1 : 0, + }); } function SendFeedback({onSubmit}: {onSubmit: () => void}) { diff --git a/src/pages/_app.tsx b/src/pages/_app.tsx index 71737596..5431f87c 100644 --- a/src/pages/_app.tsx +++ b/src/pages/_app.tsx @@ -5,7 +5,6 @@ import {useEffect} from 'react'; import {AppProps} from 'next/app'; import {useRouter} from 'next/router'; -import {ga} from '../utils/analytics'; import '@docsearch/css'; import '../styles/algolia.css'; @@ -13,13 +12,13 @@ import '../styles/index.css'; import '../styles/sandpack.css'; if (typeof window !== 'undefined') { - if (process.env.NODE_ENV === 'production') { - ga('create', process.env.NEXT_PUBLIC_GA_TRACKING_ID, 'auto'); - ga('send', 'pageview'); - } const terminationEvent = 'onpagehide' in window ? 'pagehide' : 'unload'; window.addEventListener(terminationEvent, function () { - ga('send', 'timing', 'JS Dependencies', 'unload'); + // @ts-ignore + gtag('event', 'timing', { + event_label: 'JS Dependencies', + event: 'unload', + }); }); } @@ -44,8 +43,10 @@ export default function MyApp({Component, pageProps}: AppProps) { useEffect(() => { const handleRouteChange = (url: string) => { const cleanedUrl = url.split(/[\?\#]/)[0]; - ga('set', 'page', cleanedUrl); - ga('send', 'pageview'); + // @ts-ignore + gtag('event', 'pageview', { + event_label: cleanedUrl, + }); }; router.events.on('routeChangeComplete', handleRouteChange); return () => { diff --git a/src/pages/_document.tsx b/src/pages/_document.tsx index d8fb0c62..823ca0b7 100644 --- a/src/pages/_document.tsx +++ b/src/pages/_document.tsx @@ -11,11 +11,11 @@ const MyDocument = () => { <Head /> <script async - src={`https://www.googletagmanager.com/gtag/js?id=${siteConfig.googleAnalyticsTagId}`} + src={`https://www.googletagmanager.com/gtag/js?id=${process.env.NEXT_PUBLIC_GA_TRACKING_ID}`} /> <script dangerouslySetInnerHTML={{ - __html: `window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);}gtag('js', new Date());gtag('config', '${siteConfig.googleAnalyticsTagId}');`, + __html: `window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);}gtag('js', new Date());gtag('config', '${process.env.NEXT_PUBLIC_GA_TRACKING_ID}');`, }} /> <body className="font-text font-medium antialiased text-lg bg-wash dark:bg-wash-dark text-secondary dark:text-secondary-dark leading-base"> diff --git a/src/siteConfig.js b/src/siteConfig.js index c676ca6e..0ada6b93 100644 --- a/src/siteConfig.js +++ b/src/siteConfig.js @@ -17,5 +17,4 @@ exports.siteConfig = { apiKey: 'e8451218980a351815563de007648b00', indexName: 'beta-react', }, - googleAnalyticsTagId: 'G-B1E83PJ3RT', }; diff --git a/yarn.lock b/yarn.lock index 8a3183cd..c7b0f980 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2765,11 +2765,6 @@ functional-red-black-tree@^1.0.1: resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= -ga-lite@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/ga-lite/-/ga-lite-2.1.4.tgz#f0c1fd3234bc44d8b15db640a93b34dbce84d43a" - integrity sha512-OJqPbutD8SfgF8SebyLh0uHdpQH32d5TuviXao5yPjyO2sGW3Gm+ooDmOhvXITgPepwwKxzv7ZMVKk2/hg/+lg== - 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" From bbdbaca1ef8b2e84bb660250703cb56400d3b83a Mon Sep 17 00:00:00 2001 From: Soichiro Miki <smiki-tky@umin.ac.jp> Date: Wed, 25 Oct 2023 04:06:25 +0900 Subject: [PATCH 085/382] Fixes related to "Your UI as a Tree" (#6374) --- src/content/learn/describing-the-ui.md | 12 ++++++++++-- src/content/learn/understanding-your-ui-as-a-tree.md | 2 +- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/content/learn/describing-the-ui.md b/src/content/learn/describing-the-ui.md index e8b6440a..167fe5b7 100644 --- a/src/content/learn/describing-the-ui.md +++ b/src/content/learn/describing-the-ui.md @@ -530,13 +530,21 @@ React uses trees to model the relationships between components and modules. A React render tree is a representation of the parent and child relationship between components. -<Diagram name="generic_render_tree" height={250} width={500} alt="A tree graph with five nodes, with each node representing a component. The root node is located at the top the tree graph and is labelled 'Root Component'. It has two arrows extending down to two nodes labelled 'Component A' and 'Component C'. Each of the arrows is labelled with 'renders'. 'Component A' has a single 'renders' arrow to a node labelled 'Component B'. 'Component C' has a single 'renders' arrow to a node labelled 'Component D'.">An example React render tree.</Diagram> +<Diagram name="generic_render_tree" height={250} width={500} alt="A tree graph with five nodes, with each node representing a component. The root node is located at the top the tree graph and is labelled 'Root Component'. It has two arrows extending down to two nodes labelled 'Component A' and 'Component C'. Each of the arrows is labelled with 'renders'. 'Component A' has a single 'renders' arrow to a node labelled 'Component B'. 'Component C' has a single 'renders' arrow to a node labelled 'Component D'."> + +An example React render tree. + +</Diagram> Components near the top of the tree, near the root component, are considered top-level components. Components with no child components are leaf components. This categorization of components is useful for understanding data flow and rendering performance. Modelling the relationship between JavaScript modules is another useful way to understand your app. We refer to it as a module dependency tree. -<Diagram name="generic_dependency_tree" height={250} width={500} alt="A tree graph with five nodes. Each node represents a JavaScript module. The top-most node is labelled 'RootModule.js'. It has three arrows extending to the nodes: 'ModuleA.js', 'ModuleB.js', and 'ModuleC.js'. Each arrow is labelled as 'imports'. 'ModuleC.js' node has a single 'imports' arrow that points to a node labelled 'ModuleD.js'.">An example module dependency tree.</Diagram> +<Diagram name="generic_dependency_tree" height={250} width={500} alt="A tree graph with five nodes. Each node represents a JavaScript module. The top-most node is labelled 'RootModule.js'. It has three arrows extending to the nodes: 'ModuleA.js', 'ModuleB.js', and 'ModuleC.js'. Each arrow is labelled as 'imports'. 'ModuleC.js' node has a single 'imports' arrow that points to a node labelled 'ModuleD.js'."> + +An example module dependency tree. + +</Diagram> A dependency tree is often used by build tools to bundle all the relevant JavaScript code for the client to download and render. A large bundle size regresses user experience for React apps. Understanding the module dependency tree is helpful to debug such issues. diff --git a/src/content/learn/understanding-your-ui-as-a-tree.md b/src/content/learn/understanding-your-ui-as-a-tree.md index 2a5a24b8..98f60cea 100644 --- a/src/content/learn/understanding-your-ui-as-a-tree.md +++ b/src/content/learn/understanding-your-ui-as-a-tree.md @@ -253,7 +253,7 @@ With conditional rendering, across different renders, the render tree may render In this example, depending on what `inspiration.type` is, we may render `<FancyText>` or `<Color>`. The render tree may be different for each render pass. -Although render trees may differ across render pases, these trees are generally helpful for identifying what the top-level and leaf components are in a React app. Top-level components are the components nearest to the root component and affect the rendering performance of all the components beneath them and often contain the most complexity. Leaf components are near the bottom of the tree and have no child components and are often frequently re-rendered. +Although render trees may differ across render passes, these trees are generally helpful for identifying what the *top-level* and *leaf components* are in a React app. Top-level components are the components nearest to the root component and affect the rendering performance of all the components beneath them and often contain the most complexity. Leaf components are near the bottom of the tree and have no child components and are often frequently re-rendered. Identifying these categories of components are useful for understanding data flow and performance of your app. From 63f947024966a71370b3b9ba131fb78f8ced7c59 Mon Sep 17 00:00:00 2001 From: Kathryn Middleton <kmiddleton14@gmail.com> Date: Tue, 24 Oct 2023 14:26:01 -0700 Subject: [PATCH 086/382] Add Error Boundary to useTransition API docs (#6354) * Add Error Boundary to useTransition docs * add Error Boundary to useTransition * Use Canary * Add Error Boundary to useTransition API docs * Update src/components/MDX/Sandpack/Preview.tsx Co-authored-by: Jan Kassens <jan@kassens.net> * Update src/content/reference/react/useTransition.md Co-authored-by: Luna <lunaleaps@gmail.com> * Update src/content/reference/react/useTransition.md Co-authored-by: Luna <lunaleaps@gmail.com> * Add Error Boundary to useTransition docs * add Error Boundary to useTransition * Use Canary * Add Error Boundary to useTransition API docs * Update src/components/MDX/Sandpack/Preview.tsx Co-authored-by: Jan Kassens <jan@kassens.net> * Update src/content/reference/react/useTransition.md Co-authored-by: Luna <lunaleaps@gmail.com> * Update src/content/reference/react/useTransition.md Co-authored-by: Luna <lunaleaps@gmail.com> * Address comments and update usage example * Address comments and update usage example * Update src/content/reference/react/useTransition.md Co-authored-by: Luna <lunaleaps@gmail.com> --------- Co-authored-by: Jan Kassens <jan@kassens.net> Co-authored-by: Luna <lunaleaps@gmail.com> --- src/components/MDX/Sandpack/Preview.tsx | 6 + src/content/reference/react/useTransition.md | 111 +++++++++++++++++-- src/sidebarReference.json | 3 +- 3 files changed, 111 insertions(+), 9 deletions(-) diff --git a/src/components/MDX/Sandpack/Preview.tsx b/src/components/MDX/Sandpack/Preview.tsx index 8d83d986..05964555 100644 --- a/src/components/MDX/Sandpack/Preview.tsx +++ b/src/components/MDX/Sandpack/Preview.tsx @@ -52,6 +52,12 @@ export function Preview({ rawError = null; } + // When throwing a new Error in Sandpack - we want to disable the dev error dialog + // to show the Error Boundary fallback + if (rawError && rawError.message.includes(`throw Error('Example error')`)) { + rawError = null; + } + // Memoized because it's fed to debouncing. const firstLintError = useMemo(() => { if (lintErrors.length === 0) { diff --git a/src/content/reference/react/useTransition.md b/src/content/reference/react/useTransition.md index a6fcde71..1d808aac 100644 --- a/src/content/reference/react/useTransition.md +++ b/src/content/reference/react/useTransition.md @@ -1,5 +1,6 @@ --- title: useTransition +canary: true --- <Intro> @@ -151,7 +152,7 @@ export default function TabContainer() { function selectTab(nextTab) { startTransition(() => { - setTab(nextTab); + setTab(nextTab); }); } @@ -823,7 +824,7 @@ function use(promise) { reason => { promise.status = 'rejected'; promise.reason = reason; - }, + }, ); throw promise; } @@ -1017,7 +1018,7 @@ function use(promise) { reason => { promise.status = 'rejected'; promise.reason = reason; - }, + }, ); throw promise; } @@ -1288,7 +1289,7 @@ function use(promise) { reason => { promise.status = 'rejected'; promise.reason = reason; - }, + }, ); throw promise; } @@ -1332,7 +1333,7 @@ function use(promise) { reason => { promise.status = 'rejected'; promise.reason = reason; - }, + }, ); throw promise; } @@ -1379,9 +1380,9 @@ async function getBio() { setTimeout(resolve, 500); }); - return `The Beatles were an English rock band, - formed in Liverpool in 1960, that comprised - John Lennon, Paul McCartney, George Harrison + return `The Beatles were an English rock band, + formed in Liverpool in 1960, that comprised + John Lennon, Paul McCartney, George Harrison and Ringo Starr.`; } @@ -1501,6 +1502,100 @@ main { --- +### Displaying an error to users with a error boundary {/*displaying-an-error-to-users-with-error-boundary*/} + +<Canary> + +Error Boundary for useTransition is currently only available in React's canary and experimental channels. Learn more about [React's release channels here](/community/versioning-policy#all-release-channels). + +</Canary> + +If a function passed to `startTransition` throws an error, you can display an error to your user with an [error boundary](/reference/react/Component#catching-rendering-errors-with-an-error-boundary). To use an error boundary, wrap the component where you are calling the `useTransition` in an error boundary. Once the function passed to `startTransition` errors, the fallback for the error boundary will be displayed. + +<Sandpack> + +```js AddCommentContainer.js active +import { useTransition } from "react"; +import { ErrorBoundary } from "react-error-boundary"; + +export function AddCommentContainer() { + return ( + <ErrorBoundary fallback={<p>⚠️Something went wrong</p>}> + <AddCommentButton /> + </ErrorBoundary> + ); +} + +function addComment(comment) { + // For demonstration purposes to show Error Boundary + if(comment == null){ + throw Error('Example error') + } +} + +function AddCommentButton() { + const [pending, startTransition] = useTransition(); + + return ( + <button + disabled={pending} + onClick={() => { + startTransition(() => { + // Intentionally not passing a comment + // so error gets thrown + addComment(); + }); + }}> + Add comment + </button> + ); +} +``` + +```js App.js hidden +import { AddCommentContainer } from "./AddCommentContainer.js"; + +export default function App() { + return <AddCommentContainer />; +} +``` + +```js index.js hidden +// TODO: update to import from stable +// react instead of canary once the `use` +// Hook is in a stable release of React +import React, { StrictMode } from 'react'; +import { createRoot } from 'react-dom/client'; +import './styles.css'; + +// TODO: update this example to use +// the Codesandbox Server Component +// demo environment once it is created +import App from './App'; + +const root = createRoot(document.getElementById('root')); +root.render( + <StrictMode> + <App /> + </StrictMode> +); +``` + +```json package.json hidden +{ + "dependencies": { + "react": "canary", + "react-dom": "canary", + "react-scripts": "^5.0.0", + "react-error-boundary": "4.0.3" + }, + "main": "/index.js" +} +``` +</Sandpack> + +--- + ## Troubleshooting {/*troubleshooting*/} ### Updating an input in a transition doesn't work {/*updating-an-input-in-a-transition-doesnt-work*/} diff --git a/src/sidebarReference.json b/src/sidebarReference.json index 3c8daf71..acc93328 100644 --- a/src/sidebarReference.json +++ b/src/sidebarReference.json @@ -73,7 +73,8 @@ }, { "title": "useTransition", - "path": "/reference/react/useTransition" + "path": "/reference/react/useTransition", + "canary": true } ] }, From 2779615e647f3a99d95b6daf072426e222d5fdd3 Mon Sep 17 00:00:00 2001 From: Sophie Alpert <git@sophiebits.com> Date: Tue, 24 Oct 2023 15:00:26 -0700 Subject: [PATCH 087/382] Warn about low entropy in taintUniqueValue.md (#6379) * Warn about low entropy in taintUniqueValue.md * Update src/content/reference/react/experimental_taintUniqueValue.md Co-authored-by: Jan Kassens <jan@kassens.net> --------- Co-authored-by: Jan Kassens <jan@kassens.net> --- src/content/reference/react/experimental_taintUniqueValue.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/content/reference/react/experimental_taintUniqueValue.md b/src/content/reference/react/experimental_taintUniqueValue.md index a67eebf7..e26c29bf 100644 --- a/src/content/reference/react/experimental_taintUniqueValue.md +++ b/src/content/reference/react/experimental_taintUniqueValue.md @@ -67,7 +67,8 @@ experimental_taintUniqueValue( #### Caveats {/*caveats*/} -- Deriving new values from tainted values can compromise tainting protection. New values created by uppercasing tainted values, concatenating tainted string values into a larger string, converting tainted values to base64, substringing tainted values, and other similar transformations are not tainted unless you explicity call `taintUniqueValue` on these newly created values. +* Deriving new values from tainted values can compromise tainting protection. New values created by uppercasing tainted values, concatenating tainted string values into a larger string, converting tainted values to base64, substringing tainted values, and other similar transformations are not tainted unless you explicity call `taintUniqueValue` on these newly created values. +* Do not use `taintUniqueValue` to protect low-entropy values such as PIN codes or phone numbers. If any value in a request is controlled by an attacker, they could infer which value is tainted by enumerating all possible values of the secret. --- From 5e40d13bcde36ab730b48e0a8cca29b18ec95242 Mon Sep 17 00:00:00 2001 From: David McCabe <davemccabe@gmail.com> Date: Wed, 25 Oct 2023 10:40:39 -0700 Subject: [PATCH 088/382] Add useFormState reference (#6338) Add useFormState reference --- .../reference/react-dom/hooks/useFormState.md | 291 ++++++++++++++++++ src/sidebarReference.json | 5 + 2 files changed, 296 insertions(+) create mode 100644 src/content/reference/react-dom/hooks/useFormState.md diff --git a/src/content/reference/react-dom/hooks/useFormState.md b/src/content/reference/react-dom/hooks/useFormState.md new file mode 100644 index 00000000..ca7af253 --- /dev/null +++ b/src/content/reference/react-dom/hooks/useFormState.md @@ -0,0 +1,291 @@ +--- +title: useFormState +canary: true +--- + +<Canary> + +The `useFormState` Hook is currently only available in React's canary and experimental channels. Learn more about [React's release channels here](/community/versioning-policy#all-release-channels). In addition, you need to use a framework that supports React Server Components to get the full benefit of `useFormState`. + +</Canary> + +<Intro> + +`useFormState` is a Hook that allows you to read the return value of the form action after a form is submitted. + +```js +const [state, formAction] = useFormState(action, initalState); +``` + +</Intro> + +<InlineToc /> + +--- + +## Reference {/*reference*/} + +### `useFormState()` {/*useformstate*/} + +In the context of React Server Components, an *action* is a function that may be [executed when a form is submitted](/reference/react-dom/components/form). You can execute actions on the server or on the client. + +{/* TODO T164397693: link to actions documentation once it exists */} + +Call `useFormState` at the top level of your component to see the return value of an action after submitting a form. You pass `useFormState` an existing action as well as an initial state, and it returns a new action that you use when submitting your form, along with the latest form state. + +```js +function AddToCart({itemID}) { + const [message, formAction] = useFormState(addToCartAction, null); + return ( + <form action={formAction}> + <input type="hidden" name="itemID" value={itemID} /> + <button type="submit" label="Add to cart" /> + <p> + {message} + </p> + </form> + ) +} +``` + +The form state is the value returned by the action when the form was last submitted. If the form has not yet been submitted, it is the initial state that you pass. + +If used with a server action, `useFormState` allows the server's response from submitting the form to be shown even before hydration has completed. + +[See more examples below.](#usage) + +#### Parameters {/*parameters*/} + +* `action`: The action to be performed when the form is submitted. When the action is called, it will receive the previous state of the form (initially the `initialState` that you pass, subsequently its previous return value) as its initial argument, followed by the arguments that an action normally receives. +* `initialState`: The value you want the state to be initially. It can be any serializable value. This argument is ignored after the form is first submitted. + +{/* TODO T164397693: link to serializable values docs once it exists */} + + +#### Returns {/*returns*/} + +`useFormState` returns an array with exactly two values: + +1. The current state. During the first render, it will match the `initialState` you have passed. After the form is submitted, it will match the value returned by the action. +2. A new action that you can pass as the `action` prop to your `form` component. + +#### Caveats {/*caveats*/} + +* When used with a framework that supports React Server Components, `useFormState` lets you make forms interactive before JavaScript has executed on the client. When used without Server Components, there is no advantage to using it over component local state. +* The action passed to `useFormState` receives an extra argument, the previous or initial state state, as its first argument. This makes its signature different than if it were used directly without `useFormState`. + +--- + +## Usage {/*usage*/} + +### Using information returned by a form action {/*using-information-returned-by-a-form-action*/} + +Call `useFormState` at the top level of your component to access the return value of an action from the last time a form was submitted. + +```js [[1, 5, "state"], [2, 5, "formAction"], [3, 5, "action"], [4, 5, "null"], [2, 8, "formAction"]] +import { useFormState } from 'react-dom'; +import { action } from './actions.js'; + +function MyComponent() { + const [state, formAction] = useFormState(action, null); + // ... + return ( + <form action={formAction}> + {/* ... */} + </form> + ); +} +``` + +`useFormState` returns an array with exactly two items: + +1. The <CodeStep step={1}>current state</CodeStep> of the form, which is initially set to the <CodeStep step={4}>initial state</CodeStep> you provided, and after the form is submitted is set to the return value of the <CodeStep step={3}>action</CodeStep> you provided. +2. A <CodeStep step={2}>new action</CodeStep> that you pass to `<form>` as its `action` prop. + +When the form is submitted, the <CodeStep step={3}>action</CodeStep> that you provided will be called. Its return value will become the new <CodeStep step={1}>current state</CodeStep> of the form. + +The <CodeStep step={3}>action</CodeStep> that you provide will also receive a new first argument, namely the <CodeStep step={1}>current state</CodeStep> of the form. The first time the form is submitted, this will be the <CodeStep step={4}>initial state</CodeStep> you provided, while with subsequent submissions, it will be the return value from the last time the action was called. The rest of the arguments are the same as if `useFormState` had not been used + +```js [[3, 1, "action"], [1, 1, "currentState"]] +function action(currentState, formData) { + // ... + return 'next state'; +} +``` + +<Recipes titleText="Display information after submitting a form" titleId="display-information-after-submitting-a-form"> + +#### Display form errors {/*display-form-errors*/} + +To display messages such as an error message or toast that's returned by a server action, wrap the action in a call to `useFormState`. + +<Sandpack> + +```js App.js +import { useState } from "react"; +import { useFormState } from "react-dom"; +import { addToCart } from "./actions.js"; + +function AddToCartForm({itemID, itemTitle}) { + const [message, formAction] = useFormState(addToCart, null); + return ( + <form action={formAction}> + <h2>{itemTitle}</h2> + <input type="hidden" name="itemID" value={itemID} /> + <button type="submit">Add to Cart</button> + {message} + </form> + ); +} + +export default function App() { + return ( + <> + <AddToCartForm itemID="1" itemTitle="Javascript: The Definitive Guide" /> + <AddToCartForm itemID="2" itemTitle="Javascript: The Good Parts" /> + </> + ) +} +``` + +```js actions.js +"use server"; + +export async function addToCart(prevState, queryData) { + const itemID = queryData.get('itemID'); + if (itemID === "1") { + return "Added to cart"; + } else { + return "Couldn't add to cart: the item is sold out."; + } +} +``` + +```css styles.css hidden +form { + border: solid 1px black; + margin-bottom: 24px; + padding: 12px +} + +form button { + margin-right: 12px; +} +``` + +```json package.json hidden +{ + "dependencies": { + "react": "experimental", + "react-dom": "experimental", + "react-scripts": "^5.0.0" + }, + "main": "/index.js", + "devDependencies": {} +} +``` +</Sandpack> + +<Solution /> + +#### Display structured information after submitting a form {/*display-structured-information-after-submitting-a-form*/} + +The return value from a server action can be any serializable value. For example, it could be an object that includes a boolean indicating whether the action was successful, an error message, or updated information. + +<Sandpack> + +```js App.js +import { useState } from "react"; +import { useFormState } from "react-dom"; +import { addToCart } from "./actions.js"; + +function AddToCartForm({itemID, itemTitle}) { + const [formState, formAction] = useFormState(addToCart, {}); + return ( + <form action={formAction}> + <h2>{itemTitle}</h2> + <input type="hidden" name="itemID" value={itemID} /> + <button type="submit">Add to Cart</button> + {formState?.success && + <div className="toast"> + Added to cart! Your cart now has {formState.cartSize} items. + </div> + } + {formState?.success === false && + <div className="error"> + Failed to add to cart: {formState.message} + </div> + } + </form> + ); +} + +export default function App() { + return ( + <> + <AddToCartForm itemID="1" itemTitle="Javascript: The Definitive Guide" /> + <AddToCartForm itemID="2" itemTitle="Javascript: The Good Parts" /> + </> + ) +} +``` + +```js actions.js +"use server"; + +export async function addToCart(prevState, queryData) { + const itemID = queryData.get('itemID'); + if (itemID === "1") { + return { + success: true, + cartSize: 12, + }; + } else { + return { + success: false, + message: "The item is sold out.", + }; + } +} +``` + +```css styles.css hidden +form { + border: solid 1px black; + margin-bottom: 24px; + padding: 12px +} + +form button { + margin-right: 12px; +} +``` + +```json package.json hidden +{ + "dependencies": { + "react": "experimental", + "react-dom": "experimental", + "react-scripts": "^5.0.0" + }, + "main": "/index.js", + "devDependencies": {} +} +``` +</Sandpack> + +<Solution /> + +</Recipes> + +## Troubleshooting {/*troubleshooting*/} + +### My action can no longer read the submitted form data {/*my-action-can-no-longer-read-the-submitted-form-data*/} + +When you wrap an action with `useFormState`, it gets an extra argument *as its first argument*. The submitted form data is therefore its *second* argument instead of its first as it would usually be. The new first argument that gets added is the current state of the form. + +```js +function action(currentState, formData) { + // ... +} +``` diff --git a/src/sidebarReference.json b/src/sidebarReference.json index acc93328..33afbf89 100644 --- a/src/sidebarReference.json +++ b/src/sidebarReference.json @@ -166,6 +166,11 @@ "title": "Hooks", "path": "/reference/react-dom/hooks", "routes": [ + { + "title": "useFormState", + "path": "/reference/react-dom/hooks/useFormState", + "canary": true + }, { "title": "useFormStatus", "path": "/reference/react-dom/hooks/useFormStatus", From 6ef844b906a42cb9d70a5de15941dfce123e8f7d Mon Sep 17 00:00:00 2001 From: David McCabe <davemccabe@gmail.com> Date: Wed, 25 Oct 2023 13:18:47 -0700 Subject: [PATCH 089/382] useFormState reference fixes (#6383) * Add useFormState reference * Matt's suggestions for useFormState reference * Incorporated PR feedback for useFormState --- .../reference/react-dom/hooks/index.md | 5 +- .../reference/react-dom/hooks/useFormState.md | 62 +++++++++---------- 2 files changed, 34 insertions(+), 33 deletions(-) diff --git a/src/content/reference/react-dom/hooks/index.md b/src/content/reference/react-dom/hooks/index.md index 6490dc11..937de808 100644 --- a/src/content/reference/react-dom/hooks/index.md +++ b/src/content/reference/react-dom/hooks/index.md @@ -1,5 +1,5 @@ --- -title: "React DOM Hooks" +title: "Built-in React DOM Hooks" --- <Intro> @@ -21,7 +21,7 @@ Form Hooks are currently only available in React's canary and experimental chann *Forms* let you create interactive controls for submitting information. To manage forms in your components, use one of these Hooks: * [`useFormStatus`](/reference/react-dom/hooks/useFormStatus) allows you to make updates to the UI based on the status of the a form. -* `useFormState` allows you to manage state inside a form. +* [`useFormState`](/reference/react-dom/hooks/useFormState) allows you to manage state inside a form. ```js function Form({ action }) { @@ -46,3 +46,4 @@ function Button() { ); } ``` + diff --git a/src/content/reference/react-dom/hooks/useFormState.md b/src/content/reference/react-dom/hooks/useFormState.md index ca7af253..53c73ae3 100644 --- a/src/content/reference/react-dom/hooks/useFormState.md +++ b/src/content/reference/react-dom/hooks/useFormState.md @@ -5,16 +5,16 @@ canary: true <Canary> -The `useFormState` Hook is currently only available in React's canary and experimental channels. Learn more about [React's release channels here](/community/versioning-policy#all-release-channels). In addition, you need to use a framework that supports React Server Components to get the full benefit of `useFormState`. +The `useFormState` Hook is currently only available in React's canary and experimental channels. Learn more about [release channels here](/community/versioning-policy#all-release-channels). In addition, you need to use a framework that supports [React Server Components](/reference/react/use-client) to get the full benefit of `useFormState`. </Canary> <Intro> -`useFormState` is a Hook that allows you to read the return value of the form action after a form is submitted. +`useFormState` is a Hook that allows you to update state based on the result of a form action. ```js -const [state, formAction] = useFormState(action, initalState); +const [state, formAction] = useFormState(fn, initialState); ``` </Intro> @@ -25,24 +25,25 @@ const [state, formAction] = useFormState(action, initalState); ## Reference {/*reference*/} -### `useFormState()` {/*useformstate*/} - -In the context of React Server Components, an *action* is a function that may be [executed when a form is submitted](/reference/react-dom/components/form). You can execute actions on the server or on the client. +### `useFormState(action, initialState)` {/*useformstate*/} {/* TODO T164397693: link to actions documentation once it exists */} -Call `useFormState` at the top level of your component to see the return value of an action after submitting a form. You pass `useFormState` an existing action as well as an initial state, and it returns a new action that you use when submitting your form, along with the latest form state. +Call `useFormState` at the top level of your component to create component state that is updated [when a form action is invoked](/reference/react-dom/components/form). You pass `useFormState` an existing form action function as well as an initial state, and it returns a new action that you use in your form, along with the latest form state. The latest form state is also passed to the function that you provided. ```js -function AddToCart({itemID}) { - const [message, formAction] = useFormState(addToCartAction, null); +import { useFormState } from "react-dom"; + +async function increment(previousState, formData) { + return previousState + 1; +} + +function StatefulForm({}) { + const [state, formAction] = useFormState(increment, 0); return ( - <form action={formAction}> - <input type="hidden" name="itemID" value={itemID} /> - <button type="submit" label="Add to cart" /> - <p> - {message} - </p> + <form> + {state} + <button formAction={formAction}>Increment</button> </form> ) } @@ -56,23 +57,22 @@ If used with a server action, `useFormState` allows the server's response from s #### Parameters {/*parameters*/} -* `action`: The action to be performed when the form is submitted. When the action is called, it will receive the previous state of the form (initially the `initialState` that you pass, subsequently its previous return value) as its initial argument, followed by the arguments that an action normally receives. -* `initialState`: The value you want the state to be initially. It can be any serializable value. This argument is ignored after the form is first submitted. +* `fn`: The function to be called when the form is submitted or button pressed. When the function is called, it will receive the previous state of the form (initially the `initialState` that you pass, subsequently its previous return value) as its initial argument, followed by the arguments that a form action normally receives. +* `initialState`: The value you want the state to be initially. It can be any serializable value. This argument is ignored after the action is first invoked. {/* TODO T164397693: link to serializable values docs once it exists */} - #### Returns {/*returns*/} `useFormState` returns an array with exactly two values: -1. The current state. During the first render, it will match the `initialState` you have passed. After the form is submitted, it will match the value returned by the action. -2. A new action that you can pass as the `action` prop to your `form` component. +1. The current state. During the first render, it will match the `initialState` you have passed. After the action is invoked, it will match the value returned by the action. +2. A new action that you can pass as the `action` prop to your `form` component or `formAction` prop to any `button` component within the form. #### Caveats {/*caveats*/} -* When used with a framework that supports React Server Components, `useFormState` lets you make forms interactive before JavaScript has executed on the client. When used without Server Components, there is no advantage to using it over component local state. -* The action passed to `useFormState` receives an extra argument, the previous or initial state state, as its first argument. This makes its signature different than if it were used directly without `useFormState`. +* When used with a framework that supports React Server Components, `useFormState` lets you make forms interactive before JavaScript has executed on the client. When used without Server Components, it is equivalent to component local state. +* The function passed to `useFormState` receives an extra argument, the previous or initial state, as its first argument. This makes its signature different than if it were used directly as a form action without using `useFormState`. --- @@ -102,7 +102,7 @@ function MyComponent() { 1. The <CodeStep step={1}>current state</CodeStep> of the form, which is initially set to the <CodeStep step={4}>initial state</CodeStep> you provided, and after the form is submitted is set to the return value of the <CodeStep step={3}>action</CodeStep> you provided. 2. A <CodeStep step={2}>new action</CodeStep> that you pass to `<form>` as its `action` prop. -When the form is submitted, the <CodeStep step={3}>action</CodeStep> that you provided will be called. Its return value will become the new <CodeStep step={1}>current state</CodeStep> of the form. +When the form is submitted, the <CodeStep step={3}>action</CodeStep> function that you provided will be called. Its return value will become the new <CodeStep step={1}>current state</CodeStep> of the form. The <CodeStep step={3}>action</CodeStep> that you provide will also receive a new first argument, namely the <CodeStep step={1}>current state</CodeStep> of the form. The first time the form is submitted, this will be the <CodeStep step={4}>initial state</CodeStep> you provided, while with subsequent submissions, it will be the return value from the last time the action was called. The rest of the arguments are the same as if `useFormState` had not been used @@ -141,8 +141,8 @@ function AddToCartForm({itemID, itemTitle}) { export default function App() { return ( <> - <AddToCartForm itemID="1" itemTitle="Javascript: The Definitive Guide" /> - <AddToCartForm itemID="2" itemTitle="Javascript: The Good Parts" /> + <AddToCartForm itemID="1" itemTitle="JavaScript: The Definitive Guide" /> + <AddToCartForm itemID="2" itemTitle="JavaScript: The Good Parts" /> </> ) } @@ -176,8 +176,8 @@ form button { ```json package.json hidden { "dependencies": { - "react": "experimental", - "react-dom": "experimental", + "react": "canary", + "react-dom": "canary", "react-scripts": "^5.0.0" }, "main": "/index.js", @@ -223,8 +223,8 @@ function AddToCartForm({itemID, itemTitle}) { export default function App() { return ( <> - <AddToCartForm itemID="1" itemTitle="Javascript: The Definitive Guide" /> - <AddToCartForm itemID="2" itemTitle="Javascript: The Good Parts" /> + <AddToCartForm itemID="1" itemTitle="JavaScript: The Definitive Guide" /> + <AddToCartForm itemID="2" itemTitle="JavaScript: The Good Parts" /> </> ) } @@ -264,8 +264,8 @@ form button { ```json package.json hidden { "dependencies": { - "react": "experimental", - "react-dom": "experimental", + "react": "canary", + "react-dom": "canary", "react-scripts": "^5.0.0" }, "main": "/index.js", From df3ec65db185ecf8787aa2626bde07f3bec47384 Mon Sep 17 00:00:00 2001 From: Eli White <github@eli-white.com> Date: Thu, 26 Oct 2023 01:40:15 +0100 Subject: [PATCH 090/382] Fix typo in experimental_taintObjectReference (#6385) --- .../reference/react/experimental_taintObjectReference.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/reference/react/experimental_taintObjectReference.md b/src/content/reference/react/experimental_taintObjectReference.md index e3fd35a4..8b2dc2c3 100644 --- a/src/content/reference/react/experimental_taintObjectReference.md +++ b/src/content/reference/react/experimental_taintObjectReference.md @@ -64,7 +64,7 @@ experimental_taintObjectReference( #### Caveats {/*caveats*/} -- Recreating or cloning a tainted object creates a new untained object which main contain sensetive data. For example, if you have a tainted `user` object, `const userInfo = {name: user.name, ssn: user.ssn}` or `{...user}` will create new objects which are not tainted. `taintObjectReference` only protects against simple mistakes when the object is passed through to a Client Component unchanged. +- Recreating or cloning a tainted object creates a new untained object which main contain sensitive data. For example, if you have a tainted `user` object, `const userInfo = {name: user.name, ssn: user.ssn}` or `{...user}` will create new objects which are not tainted. `taintObjectReference` only protects against simple mistakes when the object is passed through to a Client Component unchanged. <Pitfall> From 97e61d72b0319880989c90bacac1bd5b0ee7bced Mon Sep 17 00:00:00 2001 From: Soichiro Miki <smiki-tky@umin.ac.jp> Date: Thu, 26 Oct 2023 13:24:24 +0900 Subject: [PATCH 091/382] Fix broken links caused by #6164 (#6375) --- .../reference/react-dom/server/renderToPipeableStream.md | 2 +- .../reference/react-dom/server/renderToReadableStream.md | 2 +- src/content/reference/react/useLayoutEffect.md | 2 +- src/content/reference/react/useSyncExternalStore.md | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/content/reference/react-dom/server/renderToPipeableStream.md b/src/content/reference/react-dom/server/renderToPipeableStream.md index 26422f18..20a5960e 100644 --- a/src/content/reference/react-dom/server/renderToPipeableStream.md +++ b/src/content/reference/react-dom/server/renderToPipeableStream.md @@ -431,7 +431,7 @@ function ProfilePage() { } ``` -If an error happens in the `Posts` component or somewhere inside it, React will [try to recover from it:](/reference/react/Suspense#providing-a-fallback-for-server-errors-and-server-only-content) +If an error happens in the `Posts` component or somewhere inside it, React will [try to recover from it:](/reference/react/Suspense#providing-a-fallback-for-server-errors-and-client-only-content) 1. It will emit the loading fallback for the closest `<Suspense>` boundary (`PostsGlimmer`) into the HTML. 2. It will "give up" on trying to render the `Posts` content on the server anymore. diff --git a/src/content/reference/react-dom/server/renderToReadableStream.md b/src/content/reference/react-dom/server/renderToReadableStream.md index f4ed54ce..f407f224 100644 --- a/src/content/reference/react-dom/server/renderToReadableStream.md +++ b/src/content/reference/react-dom/server/renderToReadableStream.md @@ -435,7 +435,7 @@ function ProfilePage() { } ``` -If an error happens in the `Posts` component or somewhere inside it, React will [try to recover from it:](/reference/react/Suspense#providing-a-fallback-for-server-errors-and-server-only-content) +If an error happens in the `Posts` component or somewhere inside it, React will [try to recover from it:](/reference/react/Suspense#providing-a-fallback-for-server-errors-and-client-only-content) 1. It will emit the loading fallback for the closest `<Suspense>` boundary (`PostsGlimmer`) into the HTML. 2. It will "give up" on trying to render the `Posts` content on the server anymore. diff --git a/src/content/reference/react/useLayoutEffect.md b/src/content/reference/react/useLayoutEffect.md index 5af3ec5a..1b65ce3b 100644 --- a/src/content/reference/react/useLayoutEffect.md +++ b/src/content/reference/react/useLayoutEffect.md @@ -732,7 +732,7 @@ However, if you're running into this problem, you have a few different options: - Replace `useLayoutEffect` with [`useEffect`.](/reference/react/useEffect) This tells React that it's okay to display the initial render result without blocking the paint (because the original HTML will become visible before your Effect runs). -- Alternatively, [mark your component as client-only.](/reference/react/Suspense#providing-a-fallback-for-server-errors-and-server-only-content) This tells React to replace its content up to the closest [`<Suspense>`](/reference/react/Suspense) boundary with a loading fallback (for example, a spinner or a glimmer) during server rendering. +- Alternatively, [mark your component as client-only.](/reference/react/Suspense#providing-a-fallback-for-server-errors-and-client-only-content) This tells React to replace its content up to the closest [`<Suspense>`](/reference/react/Suspense) boundary with a loading fallback (for example, a spinner or a glimmer) during server rendering. - Alternatively, you can render a component with `useLayoutEffect` only after hydration. Keep a boolean `isMounted` state that's initialized to `false`, and set it to `true` inside a `useEffect` call. Your rendering logic can then be like `return isMounted ? <RealContent /> : <FallbackContent />`. On the server and during the hydration, the user will see `FallbackContent` which should not call `useLayoutEffect`. Then React will replace it with `RealContent` which runs on the client only and can include `useLayoutEffect` calls. diff --git a/src/content/reference/react/useSyncExternalStore.md b/src/content/reference/react/useSyncExternalStore.md index 955b751f..cda2ec3f 100644 --- a/src/content/reference/react/useSyncExternalStore.md +++ b/src/content/reference/react/useSyncExternalStore.md @@ -361,7 +361,7 @@ The `getServerSnapshot` function is similar to `getSnapshot`, but it runs only i - It runs on the server when generating the HTML. - It runs on the client during [hydration](/reference/react-dom/client/hydrateRoot), i.e. when React takes the server HTML and makes it interactive. -This lets you provide the initial snapshot value which will be used before the app becomes interactive. If there is no meaningful initial value for the server rendering, omit this argument to [force rendering on the client.](/reference/react/Suspense#providing-a-fallback-for-server-errors-and-server-only-content) +This lets you provide the initial snapshot value which will be used before the app becomes interactive. If there is no meaningful initial value for the server rendering, omit this argument to [force rendering on the client.](/reference/react/Suspense#providing-a-fallback-for-server-errors-and-client-only-content) <Note> From a272f0cf23de1c8a663131a828ee9c7051705900 Mon Sep 17 00:00:00 2001 From: Strek <ssharishkumar@gmail.com> Date: Thu, 26 Oct 2023 09:56:55 +0530 Subject: [PATCH 092/382] chore: fix typos (#6387) --- .../reference/react/experimental_taintObjectReference.md | 4 ++-- src/content/reference/react/experimental_taintUniqueValue.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/content/reference/react/experimental_taintObjectReference.md b/src/content/reference/react/experimental_taintObjectReference.md index 8b2dc2c3..335f659c 100644 --- a/src/content/reference/react/experimental_taintObjectReference.md +++ b/src/content/reference/react/experimental_taintObjectReference.md @@ -64,7 +64,7 @@ experimental_taintObjectReference( #### Caveats {/*caveats*/} -- Recreating or cloning a tainted object creates a new untained object which main contain sensitive data. For example, if you have a tainted `user` object, `const userInfo = {name: user.name, ssn: user.ssn}` or `{...user}` will create new objects which are not tainted. `taintObjectReference` only protects against simple mistakes when the object is passed through to a Client Component unchanged. +- Recreating or cloning a tainted object creates a new untained object which may contain sensitive data. For example, if you have a tainted `user` object, `const userInfo = {name: user.name, ssn: user.ssn}` or `{...user}` will create new objects which are not tainted. `taintObjectReference` only protects against simple mistakes when the object is passed through to a Client Component unchanged. <Pitfall> @@ -78,7 +78,7 @@ experimental_taintObjectReference( ### Prevent user data from unintentionally reaching the client {/*prevent-user-data-from-unintentionally-reaching-the-client*/} -A Client Component should never accept objects that carry sensitive data. Ideally, the data fetching functions should not expose data that the current user should not have access to. Sometimes mistakes happen during refactoring. To protect against this mistakes happening down the line we can "taint" the user object in our data API. +A Client Component should never accept objects that carry sensitive data. Ideally, the data fetching functions should not expose data that the current user should not have access to. Sometimes mistakes happen during refactoring. To protect against these mistakes happening down the line we can "taint" the user object in our data API. ```js import {experimental_taintObjectReference} from 'react'; diff --git a/src/content/reference/react/experimental_taintUniqueValue.md b/src/content/reference/react/experimental_taintUniqueValue.md index e26c29bf..aeee7456 100644 --- a/src/content/reference/react/experimental_taintUniqueValue.md +++ b/src/content/reference/react/experimental_taintUniqueValue.md @@ -67,7 +67,7 @@ experimental_taintUniqueValue( #### Caveats {/*caveats*/} -* Deriving new values from tainted values can compromise tainting protection. New values created by uppercasing tainted values, concatenating tainted string values into a larger string, converting tainted values to base64, substringing tainted values, and other similar transformations are not tainted unless you explicity call `taintUniqueValue` on these newly created values. +* Deriving new values from tainted values can compromise tainting protection. New values created by uppercasing tainted values, concatenating tainted string values into a larger string, converting tainted values to base64, substringing tainted values, and other similar transformations are not tainted unless you explicitly call `taintUniqueValue` on these newly created values. * Do not use `taintUniqueValue` to protect low-entropy values such as PIN codes or phone numbers. If any value in a request is controlled by an attacker, they could infer which value is tainted by enumerating all possible values of the secret. --- From 76c1bde5c7b4b407ba00cc9be90c3000f20f96f2 Mon Sep 17 00:00:00 2001 From: Nikhil Gupta <jerrycodes29@gmail.com> Date: Thu, 26 Oct 2023 11:18:43 +0530 Subject: [PATCH 093/382] Using strict equality in the JS example for City Quiz (#6373) Co-authored-by: Nikhil Gupta <nikhil.gupta5667@gmai.com> --- src/content/learn/reacting-to-input-with-state.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/learn/reacting-to-input-with-state.md b/src/content/learn/reacting-to-input-with-state.md index 522aa63a..29f60ca6 100644 --- a/src/content/learn/reacting-to-input-with-state.md +++ b/src/content/learn/reacting-to-input-with-state.md @@ -84,7 +84,7 @@ function submitForm(answer) { // Pretend it's hitting the network. return new Promise((resolve, reject) => { setTimeout(() => { - if (answer.toLowerCase() == 'istanbul') { + if (answer.toLowerCase() === 'istanbul') { resolve(); } else { reject(new Error('Good guess but a wrong answer. Try again!')); From 6a94b72b2f8f35ccb5f988c3d2ab4a7be0ee866e Mon Sep 17 00:00:00 2001 From: Dominik Dorfmeister <office@dorfmeister.cc> Date: Thu, 26 Oct 2023 07:49:20 +0200 Subject: [PATCH 094/382] docs: update link to React Query (#6369) --- src/content/reference/react/useEffect.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/reference/react/useEffect.md b/src/content/reference/react/useEffect.md index 46f651a8..e6e4da10 100644 --- a/src/content/reference/react/useEffect.md +++ b/src/content/reference/react/useEffect.md @@ -1047,7 +1047,7 @@ Writing `fetch` calls inside Effects is a [popular way to fetch data](https://ww This list of downsides is not specific to React. It applies to fetching data on mount with any library. Like with routing, data fetching is not trivial to do well, so we recommend the following approaches: - **If you use a [framework](/learn/start-a-new-react-project#production-grade-react-frameworks), use its built-in data fetching mechanism.** Modern React frameworks have integrated data fetching mechanisms that are efficient and don't suffer from the above pitfalls. -- **Otherwise, consider using or building a client-side cache.** Popular open source solutions include [React Query](https://react-query.tanstack.com/), [useSWR](https://swr.vercel.app/), and [React Router 6.4+.](https://beta.reactrouter.com/en/main/start/overview) You can build your own solution too, in which case you would use Effects under the hood but also add logic for deduplicating requests, caching responses, and avoiding network waterfalls (by preloading data or hoisting data requirements to routes). +- **Otherwise, consider using or building a client-side cache.** Popular open source solutions include [React Query](https://tanstack.com/query/latest/), [useSWR](https://swr.vercel.app/), and [React Router 6.4+.](https://beta.reactrouter.com/en/main/start/overview) You can build your own solution too, in which case you would use Effects under the hood but also add logic for deduplicating requests, caching responses, and avoiding network waterfalls (by preloading data or hoisting data requirements to routes). You can continue fetching data directly in Effects if neither of these approaches suit you. From f6b7f9e9be3378131fbfa3aa151597bd55fa7d1b Mon Sep 17 00:00:00 2001 From: Kevin Farrugia <kevinfarrugia@users.noreply.github.com> Date: Thu, 26 Oct 2023 17:18:29 +0200 Subject: [PATCH 095/382] Removed canary: true from useTransition.md (#6389) --- src/content/reference/react/useTransition.md | 1 - 1 file changed, 1 deletion(-) diff --git a/src/content/reference/react/useTransition.md b/src/content/reference/react/useTransition.md index 1d808aac..672b448b 100644 --- a/src/content/reference/react/useTransition.md +++ b/src/content/reference/react/useTransition.md @@ -1,6 +1,5 @@ --- title: useTransition -canary: true --- <Intro> From 4b333ca000cdd14e6704fe1443f7286d654f859e Mon Sep 17 00:00:00 2001 From: Matt Carroll <7158882+mattcarrollcode@users.noreply.github.com> Date: Thu, 26 Oct 2023 15:22:37 -0700 Subject: [PATCH 096/382] Add <form> Component reference documentation (#6312) Co-authored-by: Luna <lunaleaps@gmail.com> --- .../reference/react-dom/components/form.md | 435 ++++++++++++++++++ .../reference/react-dom/components/input.md | 7 + src/sidebarReference.json | 5 + 3 files changed, 447 insertions(+) create mode 100644 src/content/reference/react-dom/components/form.md diff --git a/src/content/reference/react-dom/components/form.md b/src/content/reference/react-dom/components/form.md new file mode 100644 index 00000000..b0479303 --- /dev/null +++ b/src/content/reference/react-dom/components/form.md @@ -0,0 +1,435 @@ +--- +title: "<form>" +canary: true +--- + +<Canary> + +React's extensions to `<form>` are currently only available in React's canary and experimental channels. In stable releases of React `<form>` works only as a [built-in browser HTML component](https://react.dev/reference/react-dom/components#all-html-components). Learn more about [React's release channels here](/community/versioning-policy#all-release-channels). + +</Canary> + + +<Intro> + +The [built-in browser `<form>` component](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form) lets you create interactive controls for submitting information. + +```js +<form action={search}> + <input name="query" /> + <button type="submit">Search</button> +</form> +``` + +</Intro> + +<InlineToc /> + +--- + +## Reference {/*reference*/} + +### `<form>` {/*form*/} + +To create interactive controls for submitting information, render the [built-in browser `<form>` component](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form). + +```js +<form action={search}> + <input name="query" /> + <button type="submit">Search</button> +</form> +``` + +[See more examples below.](#usage) + +#### Props {/*props*/} + +`<form>` supports all [common element props.](/reference/react-dom/components/common#props) + +[`action`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form#action): a URL or function. When a URL is passed to `action` the form will behave like the HTML form component. When a function is passed to `action` the function will handle the form submission. The function passed to `action` may be async and will be called with a single argument containing the [form data](https://developer.mozilla.org/en-US/docs/Web/API/FormData) of the submitted form. The `action` prop can be overridden by a `formAction` attribute on a `<button>`, `<input type="submit">`, or `<input type="image">` component. + +#### Caveats {/*caveats*/} + +* When a function is passed to `action` or `formAction` the HTTP method will be POST regardless of value of the `method` prop. + +--- + +## Usage {/*usage*/} + +### Handle form submission on the client {/*handle-form-submission-on-the-client*/} + +Pass a function to the `action` prop of form to run the function when the form is submitted. [`formData`](https://developer.mozilla.org/en-US/docs/Web/API/FormData) will be passed to the function as an argument so you can access the data submitted by the form. This differs from the conventional [HTML action](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form#action), which only accepts URLs. + +<Sandpack> + +```js App.js +export default function Search() { + function search(formData) { + const query = formData.get("query"); + alert(`You searched for '${query}'`); + } + return ( + <form action={search}> + <input name="query" /> + <button type="submit">Search</button> + </form> + ); +} +``` + +```json package.json hidden +{ + "dependencies": { + "react": "18.3.0-canary-6db7f4209-20231021", + "react-dom": "18.3.0-canary-6db7f4209-20231021", + "react-scripts": "^5.0.0" + }, + "main": "/index.js", + "devDependencies": {} +} +``` + +</Sandpack> + +### Handle form submission with a Server Action {/*handle-form-submission-with-a-server-action*/} + +Render a `<form>` with an input and submit button. Pass a server action (a function marked with [`'use server'`](/reference/react/use-server)) to the `action` prop of form to run the function when the form is submitted. + +Passing a server action to `<form action>` allow users to submit forms without JavaScript enabled or before the code has loaded. This is beneficial to users who have a slow connection, device, or have JavaScript disabled and is similar to the way forms work when a URL is passed to the `action` prop. + +You can use hidden form fields to provide data to the `<form>`'s action. The server action will be called with the hidden form field data as an instance of [`FormData`](https://developer.mozilla.org/en-US/docs/Web/API/FormData). + +```jsx +import { updateCart } from './lib.js'; + +function AddToCart({productId}) { + async function addToCart(formData) { + 'use server' + const productId = formData.get('productId') + await updateCart(productId) + } + return ( + <form action={addToCart}> + <input type="hidden" name="productId" value={productId} /> + <button type="submit">Add to Cart</button> + </form> + + ); +} +``` + +In lieu of using hidden form fields to provide data to the `<form>`'s action, you can call the <CodeStep step={1}>`bind`</CodeStep> method to supply it with extra arguments. This will bind a new argument (<CodeStep step={2}>`productId`</CodeStep>) to the function in addition to the <CodeStep step={3}>`formData`</CodeStep> that is passed as a argument to the function. + +```jsx [[1, 8, "bind"], [2,8, "productId"], [2,4, "productId"], [3,4, "formData"]] +import { updateCart } from './lib.js'; + +function AddToCart({productId}) { + async function addToCart(productId, formData) { + "use server"; + await updateCart(productId) + } + const addProductToCart = addToCart.bind(null, productId); + return ( + <form action={addProductToCart}> + <button type="submit">Add to Cart</button> + </form> + ); +} +``` + +When `<form>` is rendered by a [Server Component](/reference/react/use-client), and a [Server Action](/reference/react/use-server) is passed to the `<form>`'s `action` prop, the form is [progressively enhanced](https://developer.mozilla.org/en-US/docs/Glossary/Progressive_Enhancement). + +### Display a pending state during form submission {/*display-a-pending-state-during-form-submission*/} +To display a pending state when a form is being submitted, you can call the `useFormStatus` Hook in a component rendered in a `<form>` and read the `pending` property returned. + +Here, we use the `pending` property to indicate the form is submitting. + +<Sandpack> + +```js App.js +import { useFormStatus } from "react-dom"; +import { submitForm } from "./actions.js"; + +function Submit() { + const { pending } = useFormStatus(); + return ( + <button type="submit" disabled={pending}> + {pending ? "Submitting..." : "Submit"} + </button> + ); +} + +function Form({ action }) { + return ( + <form action={action}> + <Submit /> + </form> + ); +} + +export default function App() { + return <Form action={submitForm} />; +} +``` + +```js actions.js hidden +export async function submitForm(query) { + await new Promise((res) => setTimeout(res, 1000)); +} +``` + +```json package.json hidden +{ + "dependencies": { + "react": "canary", + "react-dom": "canary", + "react-scripts": "^5.0.0" + }, + "main": "/index.js", + "devDependencies": {} +} +``` +</Sandpack> + +To learn more about the `useFormStatus` Hook see the [reference documentation](/reference/react-dom/hooks/useFormStatus). + +### Optimistically updating form data {/*optimistically-updating-form-data*/} +The `useOptimistic` Hook provides a way to optimistically update the user interface before a background operation, like a network request, completes. In the context of forms, this technique helps to make apps feel more responsive. When a user submits a form, instead of waiting for the server's response to reflect the changes, the interface is immediately updated with the expected outcome. + +For example, when a user types a message into the form and hits the "Send" button, the `useOptimistic` Hook allows the message to immediately appear in the list with a "Sending..." label, even before the message is actually sent to a server. This "optimistic" approach gives the impression of speed and responsiveness. The form then attempts to truly send the message in the background. Once the server confirms the message has been received, the "Sending..." label is removed. + +<Sandpack> + + +```js App.js +import { useOptimistic, useState, useRef } from "react"; +import { deliverMessage } from "./actions.js"; + +function Thread({ messages, sendMessage }) { + const formRef = useRef(); + async function formAction(formData) { + addOptimisticMessage(formData.get("message")); + formRef.current.reset(); + await sendMessage(formData); + } + const [optimisticMessages, addOptimisticMessage] = useOptimistic( + messages, + (state, newMessage) => [ + ...state, + { + text: newMessage, + sending: true + } + ] + ); + + return ( + <> + {optimisticMessages.map((message, index) => ( + <div key={index}> + {message.text} + {!!message.sending && <small> (Sending...)</small>} + </div> + ))} + <form action={formAction} ref={formRef}> + <input type="text" name="message" placeholder="Hello!" /> + <button type="submit">Send</button> + </form> + </> + ); +} + +export default function App() { + const [messages, setMessages] = useState([ + { text: "Hello there!", sending: false, key: 1 } + ]); + async function sendMessage(formData) { + const sentMessage = await deliverMessage(formData.get("message")); + setMessages([...messages, { text: sentMessage }]); + } + return <Thread messages={messages} sendMessage={sendMessage} />; +} +``` + +```js actions.js +export async function deliverMessage(message) { + await new Promise((res) => setTimeout(res, 1000)); + return message; +} +``` + + +```json package.json hidden +{ + "dependencies": { + "react": "18.3.0-canary-6db7f4209-20231021", + "react-dom": "18.3.0-canary-6db7f4209-20231021", + "react-scripts": "^5.0.0" + }, + "main": "/index.js", + "devDependencies": {} +} +``` + +</Sandpack> + +[//]: # 'Uncomment the next line, and delete this line after the `useOptimisitc` reference documentatino page is published' +[//]: # 'To learn more about the `useOptimistic` Hook see the [reference documentation](/reference/react/hooks/useOptimistic).' + +### Handling form submission errors {/*handling-form-submission-errors*/} + +In some cases the function called by a `<form>`'s `action` prop throw an error. You can handle these errors by wrapping `<form>` in an Error Boundary. If the function called by a `<form>`'s `action` prop throws an error, the fallback for the error boundary will be displayed. + +<Sandpack> + +```js App.js +import { ErrorBoundary } from "react-error-boundary"; + +export default function Search() { + function search() { + throw new Error("search error"); + } + return ( + <ErrorBoundary + fallback={<p>There was an error while submitting the form</p>} + > + <form action={search}> + <input name="query" /> + <button type="submit">Search</button> + </form> + </ErrorBoundary> + ); +} + +``` + +```json package.json hidden +{ + "dependencies": { + "react": "18.3.0-canary-6db7f4209-20231021", + "react-dom": "18.3.0-canary-6db7f4209-20231021", + "react-scripts": "^5.0.0", + "react-error-boundary": "4.0.3" + }, + "main": "/index.js", + "devDependencies": {} +} +``` + +</Sandpack> + +### Display a form submission error without JavaScript {/*display-a-form-submission-error-without-javascript*/} + +Displaying a form submission error message before the JavaScript bundle loads for progressive enhancement requires that: + +1. `<form>` be rendered by a [Server Component](/reference/react/use-client) +1. the function passed to the `<form>`'s `action` prop be a [Server Action](/reference/react/use-server) +1. the `useFormState` Hook be used to display the error message + +`useFormState` takes two parameters: a [Server Action](/reference/react/use-server) and an inital state. `useFormState` returns two values, a state variable and an action. The action returned by `useFormState` should be passed to the `action` prop of the form. The state varible returned by `useFormState` can be used to displayed an error message. The value returned by the [Server Action](/reference/react/use-server) passed to `useFormState` will be used to update the state variable. + +<Sandpack> + +```js App.js +import { useFormState } from "react-dom"; +import { signUpNewUser } from "./api"; + +export default function Page() { + async function signup(prevState, formData) { + "use server"; + const email = formData.get("email"); + try { + await signUpNewUser(email); + alert(`Added "${email}"`); + } catch (err) { + return err.toString(); + } + } + const [message, formAction] = useFormState(signup, null); + return ( + <> + <h1>Signup for my newsletter</h1> + <p>Signup with the same email twice to see an error</p> + <form action={formAction} id="signup-form"> + <label htmlFor="email">Email: </label> + <input name="email" id="email" placeholder="react@example.com" /> + <button>Sign up</button> + {!!message && <p>{message}</p>} + </form> + </> + ); +} +``` + +```js api.js hidden +let emails = []; + +export async function signUpNewUser(newEmail) { + if (emails.includes(newEmail)) { + throw new Error("This email address has already been added"); + } + emails.push(newEmail); +} +``` + +```json package.json hidden +{ + "dependencies": { + "react": "18.3.0-canary-6db7f4209-20231021", + "react-dom": "18.3.0-canary-6db7f4209-20231021", + "react-scripts": "^5.0.0" + }, + "main": "/index.js", + "devDependencies": {} +} +``` + +</Sandpack> + +Learn more about updating state from a form action with the [`useFormState`](/reference/react-dom/hooks/useFormState) docs + +### Handling multiple submission types {/*handling-multiple-submission-types*/} + +Forms can be designed to handle multiple submission actions based on the button pressed by the user. Each button inside a form can be associated with a distinct action or behavior by setting the `formAction` prop. + +When a user taps a specific button, the form is submitted, and a corresponding action, defined by that button's attributes and action, is executed. For instance, a form might submit an article for review by default but have a seperate button with `formAction` set to save the article as a draft. + +<Sandpack> + +```js App.js +export default function Search() { + function publish(formData) { + const content = formData.get("content"); + const button = formData.get("button"); + alert(`'${content}' was published with the '${button}' button`); + } + + function save(formData) { + const content = formData.get("content"); + alert(`Your draft of '${content}' has been saved!`); + } + + return ( + <form action={publish}> + <textarea name="content" rows={4} cols={40} /> + <br /> + <button type="submit" name="button" value="submit">Publish</button> + <button formAction={save}>Save draft</button> + </form> + ); +} +``` + +```json package.json hidden +{ + "dependencies": { + "react": "18.3.0-canary-6db7f4209-20231021", + "react-dom": "18.3.0-canary-6db7f4209-20231021", + "react-scripts": "^5.0.0" + }, + "main": "/index.js", + "devDependencies": {} +} +``` + +</Sandpack> diff --git a/src/content/reference/react-dom/components/input.md b/src/content/reference/react-dom/components/input.md index 06010d30..7328fddc 100644 --- a/src/content/reference/react-dom/components/input.md +++ b/src/content/reference/react-dom/components/input.md @@ -32,6 +32,13 @@ To display an input, render the [built-in browser `<input>`](https://developer.m `<input>` supports all [common element props.](/reference/react-dom/components/common#props) +<Canary> + +React's extensions to the `formAction` prop are currently only available in React's canary and experimental channels. In stable releases of React `formAction` works only as a [built-in browser HTML component](https://react.dev/reference/react-dom/components#all-html-components). Learn more about [React's release channels here](/community/versioning-policy#all-release-channels). +</Canary> + +[`formAction`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#formaction): A string or function. Overrides the parent `<form action>` for `type="submit"` and `type="image"`. When a URL is passed to `action` the form will behave like a standard HTML form. When a function is passed to `formAction` the function will handle the form submission. See [`<form action>`](/reference/react-dom/components/form#props). + You can [make an input controlled](#controlling-an-input-with-a-state-variable) by passing one of these props: * [`checked`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement#checked): A boolean. For a checkbox input or a radio button, controls whether it is selected. diff --git a/src/sidebarReference.json b/src/sidebarReference.json index 33afbf89..5eb32eb2 100644 --- a/src/sidebarReference.json +++ b/src/sidebarReference.json @@ -186,6 +186,11 @@ "title": "Common (e.g. <div>)", "path": "/reference/react-dom/components/common" }, + { + "title": "<form>", + "path": "/reference/react-dom/components/form", + "canary": true + }, { "title": "<input>", "path": "/reference/react-dom/components/input" From 5d2113b3b56c2a651cd7ef130344f17e144f109a Mon Sep 17 00:00:00 2001 From: Strek <ssharishkumar@gmail.com> Date: Fri, 27 Oct 2023 10:47:28 +0530 Subject: [PATCH 097/382] typos (#6390) --- src/content/reference/react-dom/components/form.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/content/reference/react-dom/components/form.md b/src/content/reference/react-dom/components/form.md index b0479303..7c602322 100644 --- a/src/content/reference/react-dom/components/form.md +++ b/src/content/reference/react-dom/components/form.md @@ -326,7 +326,7 @@ Displaying a form submission error message before the JavaScript bundle loads fo 1. the function passed to the `<form>`'s `action` prop be a [Server Action](/reference/react/use-server) 1. the `useFormState` Hook be used to display the error message -`useFormState` takes two parameters: a [Server Action](/reference/react/use-server) and an inital state. `useFormState` returns two values, a state variable and an action. The action returned by `useFormState` should be passed to the `action` prop of the form. The state varible returned by `useFormState` can be used to displayed an error message. The value returned by the [Server Action](/reference/react/use-server) passed to `useFormState` will be used to update the state variable. +`useFormState` takes two parameters: a [Server Action](/reference/react/use-server) and an initial state. `useFormState` returns two values, a state variable and an action. The action returned by `useFormState` should be passed to the `action` prop of the form. The state variable returned by `useFormState` can be used to displayed an error message. The value returned by the [Server Action](/reference/react/use-server) passed to `useFormState` will be used to update the state variable. <Sandpack> @@ -392,7 +392,7 @@ Learn more about updating state from a form action with the [`useFormState`](/re Forms can be designed to handle multiple submission actions based on the button pressed by the user. Each button inside a form can be associated with a distinct action or behavior by setting the `formAction` prop. -When a user taps a specific button, the form is submitted, and a corresponding action, defined by that button's attributes and action, is executed. For instance, a form might submit an article for review by default but have a seperate button with `formAction` set to save the article as a draft. +When a user taps a specific button, the form is submitted, and a corresponding action, defined by that button's attributes and action, is executed. For instance, a form might submit an article for review by default but have a separate button with `formAction` set to save the article as a draft. <Sandpack> From 46b45fb873a9f410be8e56107756eb08be6081c9 Mon Sep 17 00:00:00 2001 From: Kathryn Middleton <kmiddleton14@gmail.com> Date: Fri, 27 Oct 2023 11:15:07 -0700 Subject: [PATCH 098/382] Add `useOptimistic Hook` API reference documentation (#6377) * Add useOptimistic API reference documentation * Fix title * Add working exmaple from form and updadd parameters * Add updates to useOptimistic * Add updates to useOptimistic * Add updates to useOptimistic --------- Co-authored-by: Matt Carroll <mattca@meta.com> --- src/content/reference/react/useOptimistic.md | 145 +++++++++++++++++++ src/sidebarReference.json | 5 + 2 files changed, 150 insertions(+) create mode 100644 src/content/reference/react/useOptimistic.md diff --git a/src/content/reference/react/useOptimistic.md b/src/content/reference/react/useOptimistic.md new file mode 100644 index 00000000..d0511b1a --- /dev/null +++ b/src/content/reference/react/useOptimistic.md @@ -0,0 +1,145 @@ +--- +title: useOptimistic +canary: true +--- + +<Canary> + +The `useOptimistic` Hook is currently only available in React's canary and experimental channels. Learn more about [React's release channels here](/community/versioning-policy#all-release-channels). + +</Canary> + +<Intro> + +`useOptimistic` is a React Hook that lets you optimistically update the UI. + +```js + const [optimisticState, addOptimistic] = useOptimistic(state, updateFn); +``` + +</Intro> + +<InlineToc /> + +--- + +## Reference {/*reference*/} + +### `useOptimistic(state, updateFn)` {/*use*/} + +`useOptimistic` is a React hook that lets you show a different state while an async action is underway. It accepts some state as an argument and returns a copy of that state that can be different during the duration of an async action such as a network request. You provide a function that takes the current state and the input to the action, and returns the optimistic state to be used while the action is pending. + +This state is called the "optimistic" state because it is usually used to immediately present the user with the result of performing an action, even though the action actually takes time to complete. + +```js +import { useOptimistic } from 'react'; + +function AppContainer() { + const [optimisticState, addOptimistic] = useOptimistic( + state, + // updateFn + (currentState, optimisticValue) => { + // merge and return new state + // with optimistic value + } + ); +} +``` + +[See more examples below.](#usage) + +#### Parameters {/*parameters*/} + +* `state`: the value to be returned initially and whenever no action is pending. +* `updateFn(currentState, optimisticValue)`: a function that takes the current state and the optimistic value passed to `addOptimistic` and returns the resulting optimistic state. It must be a pure function. `updateFn` takes in two parameters. The `currentState` and the `optimisticValue`. The return value will be the merged value of the `currentState` and `optimisticValue`. + + +#### Returns {/*returns*/} + +* `optimisticState`: The resulting optimistic state. It is equal to `state` unless an action is pending, in which case it is equal to the value returned by `updateFn`. +* `addOptimistic`: `addOptimistic` is the dispatching function to call when you have an optimistic update. It takes one argument, `optimisticValue`, of any type and will call the `updateFn` with `state` and `optimisticValue`. + +--- + +## Usage {/*usage*/} + +### Optimistically updating forms {/*optimistically-updating-with-forms*/} + +The `useOptimistic` Hook provides a way to optimistically update the user interface before a background operation, like a network request, completes. In the context of forms, this technique helps to make apps feel more responsive. When a user submits a form, instead of waiting for the server's response to reflect the changes, the interface is immediately updated with the expected outcome. + +For example, when a user types a message into the form and hits the "Send" button, the `useOptimistic` Hook allows the message to immediately appear in the list with a "Sending..." label, even before the message is actually sent to a server. This "optimistic" approach gives the impression of speed and responsiveness. The form then attempts to truly send the message in the background. Once the server confirms the message has been received, the "Sending..." label is removed. + +<Sandpack> + + +```js App.js +import { useOptimistic, useState, useRef } from "react"; +import { deliverMessage } from "./actions.js"; + +function Thread({ messages, sendMessage }) { + const formRef = useRef(); + async function formAction(formData) { + addOptimisticMessage(formData.get("message")); + formRef.current.reset(); + await sendMessage(formData); + } + const [optimisticMessages, addOptimisticMessage] = useOptimistic( + messages, + (state, newMessage) => [ + ...state, + { + text: newMessage, + sending: true + } + ] + ); + + return ( + <> + {optimisticMessages.map((message, index) => ( + <div key={index}> + {message.text} + {!!message.sending && <small> (Sending...)</small>} + </div> + ))} + <form action={formAction} ref={formRef}> + <input type="text" name="message" placeholder="Hello!" /> + <button type="submit">Send</button> + </form> + </> + ); +} + +export default function App() { + const [messages, setMessages] = useState([ + { text: "Hello there!", sending: false, key: 1 } + ]); + async function sendMessage(formData) { + const sentMessage = await deliverMessage(formData.get("message")); + setMessages([...messages, { text: sentMessage }]); + } + return <Thread messages={messages} sendMessage={sendMessage} />; +} +``` + +```js actions.js +export async function deliverMessage(message) { + await new Promise((res) => setTimeout(res, 1000)); + return message; +} +``` + + +```json package.json hidden +{ + "dependencies": { + "react": "18.3.0-canary-6db7f4209-20231021", + "react-dom": "18.3.0-canary-6db7f4209-20231021", + "react-scripts": "^5.0.0" + }, + "main": "/index.js", + "devDependencies": {} +} +``` + +</Sandpack> diff --git a/src/sidebarReference.json b/src/sidebarReference.json index 5eb32eb2..79b1fb9f 100644 --- a/src/sidebarReference.json +++ b/src/sidebarReference.json @@ -55,6 +55,11 @@ "title": "useMemo", "path": "/reference/react/useMemo" }, + { + "title": "useOptimistic", + "path": "/reference/react/useOptimistic", + "canary": true + }, { "title": "useReducer", "path": "/reference/react/useReducer" From b8acf016dcaf41bdec83775ca3d2f39346d00fd9 Mon Sep 17 00:00:00 2001 From: Sophie Alpert <git@sophiebits.com> Date: Fri, 27 Oct 2023 16:30:20 -0700 Subject: [PATCH 099/382] Remove meta description from most pages (#6392) Google uses this on many of our API doc pages and it's not a good snippet. Only put this on the homepage but leave the og:description and twitter:description. --- src/components/Seo.tsx | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/components/Seo.tsx b/src/components/Seo.tsx index 79f19f87..34339a66 100644 --- a/src/components/Seo.tsx +++ b/src/components/Seo.tsx @@ -36,7 +36,6 @@ function getDomain(languageCode: string): string { export const Seo = withRouter( ({ title, - description = 'The library for web and native user interfaces', image = '/images/og-default.png', router, children, @@ -50,11 +49,15 @@ export const Seo = withRouter( const pageTitle = isHomePage ? title : title + ' – React'; // Twitter's meta parser is not very good. const twitterTitle = pageTitle.replace(/[<>]/g, ''); + let description = isHomePage + ? 'React is the library for web and native user interfaces. Build user interfaces out of individual pieces called components written in JavaScript. React is designed to let you seamlessly combine components written by independent people, teams, and organizations.' + : 'The library for web and native user interfaces'; return ( <Head> <meta name="viewport" content="width=device-width, initial-scale=1" /> {title != null && <title key="title">{pageTitle}</title>} - {description != null && ( + {isHomePage && ( + // Let Google figure out a good description for each page. <meta name="description" key="description" content={description} /> )} <link rel="canonical" href={canonicalUrl} /> From 4bdb87b172a7723d56d03a5630c8a9870f6f03ec Mon Sep 17 00:00:00 2001 From: Sophie Alpert <git@sophiebits.com> Date: Fri, 27 Oct 2023 19:48:24 -0700 Subject: [PATCH 100/382] Try to fix Google titles for directive pages (#6393) https://twitter.com/sophiebits/status/1718042539650150609 --- src/components/Layout/Page.tsx | 8 +++++++- src/components/Seo.tsx | 6 +++++- src/content/reference/react/use-client.md | 1 + src/content/reference/react/use-server.md | 1 + 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/components/Layout/Page.tsx b/src/components/Layout/Page.tsx index fb771f90..04876bab 100644 --- a/src/components/Layout/Page.tsx +++ b/src/components/Layout/Page.tsx @@ -28,7 +28,12 @@ interface PageProps { children: React.ReactNode; toc: Array<TocItem>; routeTree: RouteItem; - meta: {title?: string; canary?: boolean; description?: string}; + meta: { + title?: string; + titleForTitleTag?: string; + canary?: boolean; + description?: string; + }; section: 'learn' | 'reference' | 'community' | 'blog' | 'home' | 'unknown'; } @@ -107,6 +112,7 @@ export function Page({children, toc, routeTree, meta, section}: PageProps) { <> <Seo title={title} + titleForTitleTag={meta.titleForTitleTag} isHomePage={isHomePage} image={`/images/og-` + section + '.png'} searchOrder={searchOrder} diff --git a/src/components/Seo.tsx b/src/components/Seo.tsx index 34339a66..5af169e1 100644 --- a/src/components/Seo.tsx +++ b/src/components/Seo.tsx @@ -9,6 +9,7 @@ import {siteConfig} from '../siteConfig'; export interface SeoProps { title: string; + titleForTitleTag: undefined | string; description?: string; image?: string; // jsonld?: JsonLDType | Array<JsonLDType>; @@ -36,6 +37,7 @@ function getDomain(languageCode: string): string { export const Seo = withRouter( ({ title, + titleForTitleTag, image = '/images/og-default.png', router, children, @@ -46,7 +48,9 @@ export const Seo = withRouter( const canonicalUrl = `https://${siteDomain}${ router.asPath.split(/[\?\#]/)[0] }`; - const pageTitle = isHomePage ? title : title + ' – React'; + // Allow setting a different title for Google results + const pageTitle = + (titleForTitleTag ?? title) + (isHomePage ? '' : ' – React'); // Twitter's meta parser is not very good. const twitterTitle = pageTitle.replace(/[<>]/g, ''); let description = isHomePage diff --git a/src/content/reference/react/use-client.md b/src/content/reference/react/use-client.md index f0510415..b1ba1d7a 100644 --- a/src/content/reference/react/use-client.md +++ b/src/content/reference/react/use-client.md @@ -1,5 +1,6 @@ --- title: "'use client'" +titleForTitleTag: "'use client' directive" canary: true --- diff --git a/src/content/reference/react/use-server.md b/src/content/reference/react/use-server.md index 4acea191..cc271669 100644 --- a/src/content/reference/react/use-server.md +++ b/src/content/reference/react/use-server.md @@ -1,5 +1,6 @@ --- title: "'use server'" +titleForTitleTag: "'use server' directive" canary: true --- From 81f15204af726ea0711cd76f2c09aa7a24872a64 Mon Sep 17 00:00:00 2001 From: Brian Johnson <brianjo@fb.com> Date: Mon, 30 Oct 2023 17:43:07 -0400 Subject: [PATCH 101/382] Adds Reference Overview Page (#6378) * Adds landing page for reference section.) * Updated hyperlinks. * Fixes Legacy APIs link. * Removes canary image from heading. --- src/content/reference/react/hooks.md | 139 +++++++++++++++++++++++++ src/content/reference/react/index.md | 149 ++++----------------------- src/sidebarReference.json | 6 +- 3 files changed, 164 insertions(+), 130 deletions(-) create mode 100644 src/content/reference/react/hooks.md diff --git a/src/content/reference/react/hooks.md b/src/content/reference/react/hooks.md new file mode 100644 index 00000000..cec71ce8 --- /dev/null +++ b/src/content/reference/react/hooks.md @@ -0,0 +1,139 @@ +--- +title: "Built-in React Hooks" +--- + +<Intro> + +*Hooks* let you use different React features from your components. You can either use the built-in Hooks or combine them to build your own. This page lists all built-in Hooks in React. + +</Intro> + +--- + +## State Hooks {/*state-hooks*/} + +*State* lets a component ["remember" information like user input.](/learn/state-a-components-memory) For example, a form component can use state to store the input value, while an image gallery component can use state to store the selected image index. + +To add state to a component, use one of these Hooks: + +* [`useState`](/reference/react/useState) declares a state variable that you can update directly. +* [`useReducer`](/reference/react/useReducer) declares a state variable with the update logic inside a [reducer function.](/learn/extracting-state-logic-into-a-reducer) + +```js +function ImageGallery() { + const [index, setIndex] = useState(0); + // ... +``` + +--- + +## Context Hooks {/*context-hooks*/} + +*Context* lets a component [receive information from distant parents without passing it as props.](/learn/passing-props-to-a-component) For example, your app's top-level component can pass the current UI theme to all components below, no matter how deep. + +* [`useContext`](/reference/react/useContext) reads and subscribes to a context. + +```js +function Button() { + const theme = useContext(ThemeContext); + // ... +``` + +--- + +## Ref Hooks {/*ref-hooks*/} + +*Refs* let a component [hold some information that isn't used for rendering,](/learn/referencing-values-with-refs) like a DOM node or a timeout ID. Unlike with state, updating a ref does not re-render your component. Refs are an "escape hatch" from the React paradigm. They are useful when you need to work with non-React systems, such as the built-in browser APIs. + +* [`useRef`](/reference/react/useRef) declares a ref. You can hold any value in it, but most often it's used to hold a DOM node. +* [`useImperativeHandle`](/reference/react/useImperativeHandle) lets you customize the ref exposed by your component. This is rarely used. + +```js +function Form() { + const inputRef = useRef(null); + // ... +``` + +--- + +## Effect Hooks {/*effect-hooks*/} + +*Effects* let a component [connect to and synchronize with external systems.](/learn/synchronizing-with-effects) This includes dealing with network, browser DOM, animations, widgets written using a different UI library, and other non-React code. + +* [`useEffect`](/reference/react/useEffect) connects a component to an external system. + +```js +function ChatRoom({ roomId }) { + useEffect(() => { + const connection = createConnection(roomId); + connection.connect(); + return () => connection.disconnect(); + }, [roomId]); + // ... +``` + +Effects are an "escape hatch" from the React paradigm. Don't use Effects to orchestrate the data flow of your application. If you're not interacting with an external system, [you might not need an Effect.](/learn/you-might-not-need-an-effect) + +There are two rarely used variations of `useEffect` with differences in timing: + +* [`useLayoutEffect`](/reference/react/useLayoutEffect) fires before the browser repaints the screen. You can measure layout here. +* [`useInsertionEffect`](/reference/react/useInsertionEffect) fires before React makes changes to the DOM. Libraries can insert dynamic CSS here. + +--- + +## Performance Hooks {/*performance-hooks*/} + +A common way to optimize re-rendering performance is to skip unnecessary work. For example, you can tell React to reuse a cached calculation or to skip a re-render if the data has not changed since the previous render. + +To skip calculations and unnecessary re-rendering, use one of these Hooks: + +- [`useMemo`](/reference/react/useMemo) lets you cache the result of an expensive calculation. +- [`useCallback`](/reference/react/useCallback) lets you cache a function definition before passing it down to an optimized component. + +```js +function TodoList({ todos, tab, theme }) { + const visibleTodos = useMemo(() => filterTodos(todos, tab), [todos, tab]); + // ... +} +``` + +Sometimes, you can't skip re-rendering because the screen actually needs to update. In that case, you can improve performance by separating blocking updates that must be synchronous (like typing into an input) from non-blocking updates which don't need to block the user interface (like updating a chart). + +To prioritize rendering, use one of these Hooks: + +- [`useTransition`](/reference/react/useTransition) lets you mark a state transition as non-blocking and allow other updates to interrupt it. +- [`useDeferredValue`](/reference/react/useDeferredValue) lets you defer updating a non-critical part of the UI and let other parts update first. + +--- + +## Resource Hooks {/*resource-hooks*/} + +*Resources* can be accessed by a component without having them as part of their state. For example, a component can read a message from a Promise or read styling information from a context. + +To read a value from a resource, use this Hook: + +- [`use`](/reference/react/use) lets you read the value of a resource like a [Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) or [context](/learn/passing-data-deeply-with-context). + +```js +function MessageComponent({ messagePromise }) { + const message = use(messagePromise); + const theme = use(ThemeContext); + // ... +} +``` + +--- + +## Other Hooks {/*other-hooks*/} + +These Hooks are mostly useful to library authors and aren't commonly used in the application code. + +- [`useDebugValue`](/reference/react/useDebugValue) lets you customize the label React DevTools displays for your custom Hook. +- [`useId`](/reference/react/useId) lets a component associate a unique ID with itself. Typically used with accessibility APIs. +- [`useSyncExternalStore`](/reference/react/useSyncExternalStore) lets a component subscribe to an external store. + +--- + +## Your own Hooks {/*your-own-hooks*/} + +You can also [define your own custom Hooks](/learn/reusing-logic-with-custom-hooks#extracting-your-own-custom-hook-from-a-component) as JavaScript functions. diff --git a/src/content/reference/react/index.md b/src/content/reference/react/index.md index cec71ce8..452f326d 100644 --- a/src/content/reference/react/index.md +++ b/src/content/reference/react/index.md @@ -1,139 +1,30 @@ --- -title: "Built-in React Hooks" +title: React Reference Overview --- <Intro> - -*Hooks* let you use different React features from your components. You can either use the built-in Hooks or combine them to build your own. This page lists all built-in Hooks in React. - +This section provides detailed reference documentation for working with React. +For an introduction to React, please visit the [Learn](/learn) section. </Intro> ---- - -## State Hooks {/*state-hooks*/} - -*State* lets a component ["remember" information like user input.](/learn/state-a-components-memory) For example, a form component can use state to store the input value, while an image gallery component can use state to store the selected image index. - -To add state to a component, use one of these Hooks: - -* [`useState`](/reference/react/useState) declares a state variable that you can update directly. -* [`useReducer`](/reference/react/useReducer) declares a state variable with the update logic inside a [reducer function.](/learn/extracting-state-logic-into-a-reducer) - -```js -function ImageGallery() { - const [index, setIndex] = useState(0); - // ... -``` - ---- - -## Context Hooks {/*context-hooks*/} - -*Context* lets a component [receive information from distant parents without passing it as props.](/learn/passing-props-to-a-component) For example, your app's top-level component can pass the current UI theme to all components below, no matter how deep. - -* [`useContext`](/reference/react/useContext) reads and subscribes to a context. - -```js -function Button() { - const theme = useContext(ThemeContext); - // ... -``` - ---- - -## Ref Hooks {/*ref-hooks*/} - -*Refs* let a component [hold some information that isn't used for rendering,](/learn/referencing-values-with-refs) like a DOM node or a timeout ID. Unlike with state, updating a ref does not re-render your component. Refs are an "escape hatch" from the React paradigm. They are useful when you need to work with non-React systems, such as the built-in browser APIs. - -* [`useRef`](/reference/react/useRef) declares a ref. You can hold any value in it, but most often it's used to hold a DOM node. -* [`useImperativeHandle`](/reference/react/useImperativeHandle) lets you customize the ref exposed by your component. This is rarely used. - -```js -function Form() { - const inputRef = useRef(null); - // ... -``` - ---- - -## Effect Hooks {/*effect-hooks*/} - -*Effects* let a component [connect to and synchronize with external systems.](/learn/synchronizing-with-effects) This includes dealing with network, browser DOM, animations, widgets written using a different UI library, and other non-React code. - -* [`useEffect`](/reference/react/useEffect) connects a component to an external system. - -```js -function ChatRoom({ roomId }) { - useEffect(() => { - const connection = createConnection(roomId); - connection.connect(); - return () => connection.disconnect(); - }, [roomId]); - // ... -``` +Our The React reference documentation is broken down into functional subsections: -Effects are an "escape hatch" from the React paradigm. Don't use Effects to orchestrate the data flow of your application. If you're not interacting with an external system, [you might not need an Effect.](/learn/you-might-not-need-an-effect) +## React {/*react*/} +Programmatic React features: +* [Hooks](/reference/react/hooks) - Use different React features from your components. +* [Components](/reference/react/components) - Documents built-in components that you can use in your JSX. +* [APIs](/reference/react/apis) - APIs that are useful for defining components. +* [Directives](/reference/react/directives) - Provide instructions to bundlers compatible with React Server Components. -There are two rarely used variations of `useEffect` with differences in timing: - -* [`useLayoutEffect`](/reference/react/useLayoutEffect) fires before the browser repaints the screen. You can measure layout here. -* [`useInsertionEffect`](/reference/react/useInsertionEffect) fires before React makes changes to the DOM. Libraries can insert dynamic CSS here. - ---- - -## Performance Hooks {/*performance-hooks*/} - -A common way to optimize re-rendering performance is to skip unnecessary work. For example, you can tell React to reuse a cached calculation or to skip a re-render if the data has not changed since the previous render. - -To skip calculations and unnecessary re-rendering, use one of these Hooks: - -- [`useMemo`](/reference/react/useMemo) lets you cache the result of an expensive calculation. -- [`useCallback`](/reference/react/useCallback) lets you cache a function definition before passing it down to an optimized component. - -```js -function TodoList({ todos, tab, theme }) { - const visibleTodos = useMemo(() => filterTodos(todos, tab), [todos, tab]); - // ... -} -``` - -Sometimes, you can't skip re-rendering because the screen actually needs to update. In that case, you can improve performance by separating blocking updates that must be synchronous (like typing into an input) from non-blocking updates which don't need to block the user interface (like updating a chart). - -To prioritize rendering, use one of these Hooks: - -- [`useTransition`](/reference/react/useTransition) lets you mark a state transition as non-blocking and allow other updates to interrupt it. -- [`useDeferredValue`](/reference/react/useDeferredValue) lets you defer updating a non-critical part of the UI and let other parts update first. - ---- - -## Resource Hooks {/*resource-hooks*/} - -*Resources* can be accessed by a component without having them as part of their state. For example, a component can read a message from a Promise or read styling information from a context. - -To read a value from a resource, use this Hook: - -- [`use`](/reference/react/use) lets you read the value of a resource like a [Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) or [context](/learn/passing-data-deeply-with-context). - -```js -function MessageComponent({ messagePromise }) { - const message = use(messagePromise); - const theme = use(ThemeContext); - // ... -} -``` - ---- - -## Other Hooks {/*other-hooks*/} - -These Hooks are mostly useful to library authors and aren't commonly used in the application code. - -- [`useDebugValue`](/reference/react/useDebugValue) lets you customize the label React DevTools displays for your custom Hook. -- [`useId`](/reference/react/useId) lets a component associate a unique ID with itself. Typically used with accessibility APIs. -- [`useSyncExternalStore`](/reference/react/useSyncExternalStore) lets a component subscribe to an external store. - ---- +## React DOM {/*react-dom*/} +React-dom contains features that are only supported for web applications +(which run in the browser DOM environment). This section is broken into the following: -## Your own Hooks {/*your-own-hooks*/} +* [Hooks](/reference/react-dom/hooks) - Hooks for web applications which run in the browser DOM environment. +* [Components](/reference/react-dom/components) - React supports all of the browser built-in HTML and SVG components. +* [APIs](/reference/react-dom) - The `react-dom` package contains methods supported only in web applications. +* [Client APIs](/reference/react-dom/client) - The `react-dom/client` APIs let you render React components on the client (in the browser). +* [Server APIs](/reference/react-dom/server) - The `react-dom/server` APIs let you render React components to HTML on the server. -You can also [define your own custom Hooks](/learn/reusing-logic-with-custom-hooks#extracting-your-own-custom-hook-from-a-component) as JavaScript functions. +## Legacy APIs {/*legacy-apis*/} +* [Legacy APIs](/reference/react/legacy) - Exported from the react package, but not recommended for use in newly written code. \ No newline at end of file diff --git a/src/sidebarReference.json b/src/sidebarReference.json index 79b1fb9f..5a655655 100644 --- a/src/sidebarReference.json +++ b/src/sidebarReference.json @@ -6,9 +6,13 @@ "hasSectionHeader": true, "sectionHeader": "react@18.2.0" }, + { + "title": "Overview", + "path": "/reference/react" + }, { "title": "Hooks", - "path": "/reference/react", + "path": "/reference/react/hooks", "routes": [ { "title": "use", From 49c2d7865ba75e9e83526c2e5ec5decc97c014aa Mon Sep 17 00:00:00 2001 From: Luna <lunaleaps@gmail.com> Date: Mon, 30 Oct 2023 17:49:11 -0400 Subject: [PATCH 102/382] 'use server' fleshing out (#6384) Co-authored-by: Sophie Alpert <git@sophiebits.com> Co-authored-by: Luna Wei <luwe@fb.com> --- src/content/reference/react/use-server.md | 190 ++++++++++++++++++++-- 1 file changed, 174 insertions(+), 16 deletions(-) diff --git a/src/content/reference/react/use-server.md b/src/content/reference/react/use-server.md index cc271669..beaeb5f3 100644 --- a/src/content/reference/react/use-server.md +++ b/src/content/reference/react/use-server.md @@ -25,34 +25,192 @@ canary: true ### `'use server'` {/*use-server*/} -Add `'use server';` at the very top of an async function to mark that the function can be executed by the client. +Add `'use server'` at the top of an async function body to mark the function as callable by the client. We call these functions _server actions_. -```js +```js {2} async function addToCart(data) { 'use server'; // ... } - -// <ProductDetailPage addToCart={addToCart} /> ``` -This function can be passed to the client. When called on the client, it will make a network request to the server that includes a serialized copy of any arguments passed. If the server function returns a value, that value will be serialized and returned to the client. +When calling a server action on the client, it will make a network request to the server that includes a serialized copy of any arguments passed. If the server action returns a value, that value will be serialized and returned to the client. -Alternatively, add `'use server';` at the very top of a file to mark all exports within that file as async server functions that can be used anywhere, including imported in client component files. +Instead of individually marking functions with `'use server'`, you can add the directive to the top of a file to mark all exports within that file as server actions that can be used anywhere, including imported in client code. #### Caveats {/*caveats*/} +* `'use server'` must be at the very beginning of their function or module; above any other code including imports (comments above directives are OK). They must be written with single or double quotes, not backticks. +* `'use server'` can only be used in server-side files. The resulting server actions can be passed to Client Components through props. See supported [types for serialization](#serializable-parameters-and-return-values). +* To import a server action from [client code](/reference/react/use-client), the directive must be used on a module level. +* Because the underlying network calls are always asynchronous, `'use server'` can only be used on async functions. +* Always treat arguments to server actions as untrusted input and authorize any mutations. See [security considerations](#security). +* Server actions should be called in a [transition](/reference/react/useTransition). Server actions passed to [`<form action>`](/reference/react-dom/components/form#props) or [`formAction`](/reference/react-dom/components/input#props) will automatically be called in a transition. +* Server actions are designed for mutations that update server-side state; they are not recommended for data fetching. Accordingly, frameworks implementing server actions typically process one action at a time and do not have a way to cache the return value. -* Remember that parameters to functions marked with `'use server'` are fully client-controlled. For security, always treat them as untrusted input, making sure to validate and escape the arguments as appropriate. -* To avoid the confusion that might result from mixing client- and server-side code in the same file, `'use server'` can only be used in server-side files; the resulting functions can be passed to client components through props. -* Because the underlying network calls are always asynchronous, `'use server'` can be used only on async functions. -* Directives like `'use server'` must be at the very beginning of their function or file, above any other code including imports (comments above directives are OK). They must be written with single or double quotes, not backticks. (The `'use xyz'` directive format somewhat resembles the `useXyz()` Hook naming convention, but the similarity is coincidental.) +### Security considerations {/*security*/} -## Usage {/*usage*/} +Arguments to server actions are fully client-controlled. For security, always treat them as untrusted input, and make sure to validate and escape arguments as appropriate. + +In any server action, make sure to validate that the logged-in user is allowed to perform that action. <Wip> -This section is a work in progress. -This API can be used in any framework that supports React Server Components. You may find additional documentation from them. -* [Next.js documentation](https://nextjs.org/docs/getting-started/react-essentials) -* More coming soon -</Wip> \ No newline at end of file +To prevent sending sensitive data from a server action, there are experimental taint APIs to prevent unique values and objects from being passed to client code. + +See [experimental_taintUniqueValue](/reference/react/experimental_taintUniqueValue) and [experimental_taintObjectReference](/reference/react/experimental_taintObjectReference). + +</Wip> + +### Serializable arguments and return values {/*serializable-parameters-and-return-values*/} + +As client code calls the server action over the network, any arguments passed will need to be serializable. + +Here are supported types for server action arguments: + +* Primitives + * [string](https://developer.mozilla.org/en-US/docs/Glossary/String) + * [number](https://developer.mozilla.org/en-US/docs/Glossary/Number) + * [bigint](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt) + * [boolean](https://developer.mozilla.org/en-US/docs/Glossary/Boolean) + * [undefined](https://developer.mozilla.org/en-US/docs/Glossary/Undefined) + * [null](https://developer.mozilla.org/en-US/docs/Glossary/Null) + * [symbol](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol), only symbols registered in the global Symbol registry via [`Symbol.for`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/for) +* Iterables containing serializable values + * [String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String) + * [Array](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array) + * [Map](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map) + * [Set](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set) + * [TypedArray](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray) +* [ArrayBuffer](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer) +* [Date](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date) +* [FormData](https://developer.mozilla.org/en-US/docs/Web/API/FormData) instances +* Plain [objects](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object): those created with [object initializers](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Object_initializer), with serializable properties +* Functions that are server actions +* [Promises](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) + +Notably, these are not supported: +* React elements, or [JSX](https://react.dev/learn/writing-markup-with-jsx) +* Functions, including component functions or any other function that is not a server action +* [Classes](https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Objects/Classes_in_JavaScript) +* Objects that are instances of any class (other than built-ins mentioned) or objects with [null-prototype](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object#null-prototype_objects) +* Symbols not registered globally, ex. `Symbol('my new symbol')` + + +Supported serializable return values are the same as [serializable props](/reference/react/use-client#passing-props-from-server-to-client-components) for a boundary Client Component. + + +## Usage {/*usage*/} + +### Server actions in forms {/*server-actions-in-forms*/} + +The most common use case of server actions will be calling server functions that mutate data. On the browser, the [HTML form element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form) is the traditional approach for a user to submit a mutation. With React Server Components, React introduces first-class support for server actions in [forms](/reference/react-dom/components/form). + +Here is a form that allows a user to request a username. + +```js [[1, 3, "formData"]] +// App.js + +async function requestUsername(formData) { + 'use server'; + const username = formData.get('username'); + // ... +} + +export default App() { + <form action={requestUsername}> + <input type="text" name="username" /> + <button type="submit">Request</button> + </form> +} +``` + +In this example `requestUsername` is a server action passed to a `<form>`. When a user submits this form, there is a network request to the server function `requestUsername`. When calling a server action in a form, React will supply the form's <CodeStep step={1}>[FormData](https://developer.mozilla.org/en-US/docs/Web/API/FormData)</CodeStep> as the first argument to the server action. + +By passing a server action to the form `action`, React can [progressively enhance](https://developer.mozilla.org/en-US/docs/Glossary/Progressive_Enhancement) the form. This means that forms can be submitted before the JavaScript bundle is loaded. + +#### Handling return values in forms {/*handling-return-values*/} + +In the username request form, there might be the chance that a username is not available. `requestUsername` should tell us if it fails or not. + +To update the UI based on the result of a server action while supporting progressive enhancement, use [`useFormState`](/reference/react-dom/hooks/useFormState). + +```js +// requestUsername.js +'use server'; + +export default async function requestUsername(formData) { + const username = formData.get('username'); + if (canRequest(username)) { + // ... + return 'successful'; + } + return 'failed'; +} +``` + +```js {4,8}, [[2, 2, "'use client'"]] +// UsernameForm.js +'use client'; + +import {useFormState} from 'react-dom'; +import requestUsername from './requestUsername'; + +function UsernameForm() { + const [returnValue, action] = useFormState(requestUsername, 'n/a'); + + return ( + <> + <form action={action}> + <input type="text" name="username" /> + <button type="submit">Request</button> + </form> + <p>Last submission request returned: {returnValue}</p> + </> + ); +} +``` + +Note that like most Hooks, `useFormState` can only be called in <CodeStep step={1}>[client code](/reference/react/use-client)</CodeStep>. + +### Calling a server action outside of `<form>` {/*calling-a-server-action-outside-of-form*/} + +Server actions are exposed server endpoints and can be called anywhere in client code. + +When using a server action outside of a [form](/reference/react-dom/components/form), call the server action in a [transition](/reference/react/useTransition), which allows you to display a loading indicator, show [optimistic state updates](/reference/react/useOptimistic), and handle unexpected errors. Forms will automatically wrap server actions in transitions. + +```js {9-12} +import incrementLike from './actions'; +import { useState, useTransition } from 'react'; + +function LikeButton() { + const [isPending, startTransition] = useTransition(); + const [likeCount, setLikeCount] = useState(0); + + const onClick = () => { + startTransition(async () => { + const currentCount = await incrementLike(); + setLikeCount(currentCount); + }); + }; + + return ( + <> + <p>Total Likes: {likeCount}</p> + <button onClick={onClick} disabled={isPending}>Like</button>; + </> + ); +} +``` + +```js +// actions.js +'use server'; + +let likeCount = 0; +export default async incrementLike() { + likeCount++; + return likeCount; +} +``` + +To read a server action return value, you'll need to `await` the promise returned. \ No newline at end of file From 9c60167bf966286bafb99492e31b0609ccb56b5c Mon Sep 17 00:00:00 2001 From: Luna <lunaleaps@gmail.com> Date: Mon, 30 Oct 2023 18:03:51 -0400 Subject: [PATCH 103/382] 'use client' - flesh out usages and reference (#6362) Co-authored-by: Soichiro Miki <smiki-tky@umin.ac.jp> Co-authored-by: David McCabe <davemccabe@gmail.com> Co-authored-by: Luna Wei <luwe@fb.com> --- .../use_client_module_dependency.dark.png | Bin 0 -> 18311 bytes .../diagrams/use_client_module_dependency.png | Bin 0 -> 18236 bytes .../diagrams/use_client_render_tree.dark.png | Bin 0 -> 13583 bytes .../docs/diagrams/use_client_render_tree.png | Bin 0 -> 13713 bytes src/content/reference/react/directives.md | 2 +- src/content/reference/react/use-client.md | 353 +++++++++++++++++- 6 files changed, 335 insertions(+), 20 deletions(-) create mode 100644 public/images/docs/diagrams/use_client_module_dependency.dark.png create mode 100644 public/images/docs/diagrams/use_client_module_dependency.png create mode 100644 public/images/docs/diagrams/use_client_render_tree.dark.png create mode 100644 public/images/docs/diagrams/use_client_render_tree.png diff --git a/public/images/docs/diagrams/use_client_module_dependency.dark.png b/public/images/docs/diagrams/use_client_module_dependency.dark.png new file mode 100644 index 0000000000000000000000000000000000000000..c50e7308b08fac14aea09cb7b1e8817ef5ba7a02 GIT binary patch literal 18311 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	<G&&`pPu1;CD=Zs$$Jg9;WyMyE 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%0A&JsD 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 literal 0 HcmV?d00001 diff --git a/public/images/docs/diagrams/use_client_module_dependency.png b/public/images/docs/diagrams/use_client_module_dependency.png new file mode 100644 index 0000000000000000000000000000000000000000..d535246f7f976316cb04096c7ac1fa4afd884e92 GIT binary patch literal 18236 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 b|1<uK+1TdSy6_$FJQD^_S3j3^P6<r_>CFHb literal 0 HcmV?d00001 diff --git a/public/images/docs/diagrams/use_client_render_tree.dark.png b/public/images/docs/diagrams/use_client_render_tree.dark.png new file mode 100644 index 0000000000000000000000000000000000000000..8d3e6a4849ef7298eaea29b3690672d6b75de8c0 GIT binary patch literal 13583 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 OM_xurx=6~v_kRIPAXE1M literal 0 HcmV?d00001 diff --git a/public/images/docs/diagrams/use_client_render_tree.png b/public/images/docs/diagrams/use_client_render_tree.png new file mode 100644 index 0000000000000000000000000000000000000000..ad3840681cc807f733680710ea47b9563b769c26 GIT binary patch literal 13713 zcmcJ$byQnl*De|;(iSbHO$((sEgD+fOR?fw9D=(P3IqvKrMQ;hR@~i5aA|PY;1qWW zenNlm`@P@!?mc6i`^Oz)uk1DFGv_nsURir)Wv?VaMM;L}KE-_i06--BPErj3zySjQ z*qnFoU^JF)+)J1fj-|MwH~>%@MsR72i;=NDs>!?s6!kq@#|Za6ywmvz01!O9ZCHT# z#3vX7w2Fd;l*|VOfY&d8UpBxm1>l(h@XWjwJ%0h9zX0wj01pgQ4Dd?-i>3oSF~=`} zSH|suvAngv6-6MSxAwOph6JNe!{~+GgKkmG;gJFGNXM9ox`qCw`Wphn;PLB?U)US> zus0vVgdxGguE7`*5w}oL2<8YDb_)`84P=ExbGk)}x`n*)48!Pequd5czdrtRb8~|s z7jX-r3CM?!jlD^z^Q~_8YZ%<wUP7(TAy8{?;ws+6R*-(q-90^{2`VQ2l#N=Mo7*`w z%4swz=t%DDr3oxf>FfpPG|~hX&FvnBA-atU+CNkvX#(@-c8?rOnvL??Q+sFUR_0QA zXT#gZQ+j87YuXXBYbw8*I3tStP}8KJvpJ(Gd>aS*SGP$$lKN0nb2~>WskKJgjg;<j z#bb;8t2>-gl|_9+9FQoLUx=dqLC)}!u=a7s;^wfX?*5gX;{L(n(WS7qah0^1yB?|3 z?y)2uNdz7#0&bxKkT3$zl;XZ2a85(t>~zW4VoGP9a#{^Ix1o4!=|d&5cytlRGmX+C z?lmL=$1|M+63GJz=Y@oGMwBS0)~ck|I94K4I{Lr`?TE3lCe)f=<Dghvg>S>)n}qrf z@KPFPVu-k?DX9Z?X=vt*5PolHQb|9M&KZTLAUOMX!w@PdoW6d=Z+!bdeCY2F<Ln2k zkkXKbhZpb8h5K>N?fP+s`#F}xfy&<k0Iw%yCB-$|r?zINm8ZL~{q`9uAL5fmlHQMw zK^0r}@6^sQGLe;$GY5Pn9ZHw9()u7t{hKc1M5C}`$VSV{cdfM+d_B2T+Ihm@G=)bP zyl^36NBgNsu&2}A&R?IH-?XnVolzkI#KG$!=NF^~OXpM^T(HLC@SDVc>w*Vz8&fD9 z-f_HF%8yjPV`gA1?m}E=`(1$4B&{jxjv4f%jK*`?c6D-sjG)KJ&(6!p!tk<*?cfNY zvwGLq!my#q1t+NCO-ygl7asN6^sa|EX5$irT)ZG#118QlF{4s*Gw=eUHlk!Yn$~(5 z`!5#<->DdAS`SP*=izpDgR<{-vC)nxFySaacmrM|0Gwm{!3Ti14RC}D@J<8$ZMVQ% z@ZWX|e1rdOsUW}_fj8D|djkdx0MD^+n;#sI3Od5QZGc-~jo`NVaqS|F3^s;<0PE8g zu7!{51b!74LnP-zzd!)B9prbFsUzGsb>0!fFjU=Xit9Nx%`Du`!+O%&$>QOYb8P)& z_}1?-JBSd<7awC7?;YVKeO1Xbevuso{cπy1S0Fw!_o>-}R6ydeMZ9neX2;rLv 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 O0J2g_l0|QgKL0Nyz#cOI literal 0 HcmV?d00001 diff --git a/src/content/reference/react/directives.md b/src/content/reference/react/directives.md index b323dab1..4854310b 100644 --- a/src/content/reference/react/directives.md +++ b/src/content/reference/react/directives.md @@ -19,5 +19,5 @@ Directives provide instructions to [bundlers compatible with React Server Compon ## Source code directives {/*source-code-directives*/} -* [`'use client'`](/reference/react/use-client) marks source files whose components execute on the client. +* [`'use client'`](/reference/react/use-client) lets you mark what code runs on the client. * [`'use server'`](/reference/react/use-server) marks server-side functions that can be called from client-side code. \ No newline at end of file diff --git a/src/content/reference/react/use-client.md b/src/content/reference/react/use-client.md index b1ba1d7a..e0190d3f 100644 --- a/src/content/reference/react/use-client.md +++ b/src/content/reference/react/use-client.md @@ -12,7 +12,7 @@ canary: true <Intro> -`'use client'` marks source files whose components execute on the client. +`'use client'` lets you mark what code runs on the client. </Intro> @@ -24,37 +24,352 @@ canary: true ### `'use client'` {/*use-client*/} -Add `'use client';` at the very top of a file to mark that the file (including any child components it uses) executes on the client, regardless of where it's imported. +Add `'use client'` at the top of a file to mark the module and its transitive dependencies as client code. -```js +```js {1} 'use client'; import { useState } from 'react'; +import { formatDate } from './formatters'; +import Link from './link'; export default function RichTextEditor(props) { + formatDate(); // ... + return + <Link /> + // ... +} ``` -When a file marked `'use client'` is imported from a server component, [compatible bundlers](/learn/start-a-new-react-project#bleeding-edge-react-frameworks) will treat the import as the "cut-off point" between server-only code and client code. Components at or below this point in the module graph can use client-only React features like [`useState`](/reference/react/useState). +When a file marked with `'use client'` is imported from a Server Component, [compatible bundlers](/learn/start-a-new-react-project#bleeding-edge-react-frameworks) will treat the module import as a boundary between server-run and client-run code. + +As a dependency of `RichTextEditor`, `formatDate` and `Link` will also be evaluated on the client regardless of whether their modules contain a `'use client'` directive. Note that the same module may be evaluated on the server when imported from server code and on the client when imported from client code. #### Caveats {/*caveats*/} -* It's not necessary to add `'use client'` to every file that uses client-only React features, only the files that are imported from server component files. `'use client'` denotes the _boundary_ between server-only and client code; any components further down the tree will automatically be executed on the client. In order to be rendered from server components, components exported from `'use client'` files must have serializable props. -* When a `'use client'` file is imported from a server file, the imported values can be rendered as a React component or passed via props to a client component. Any other use will throw an exception. -* When a `'use client'` file is imported from another client file, the directive has no effect. This allows you to write client-only components that are simultaneously usable from server and client components. -* All the code in `'use client'` file as well as any modules it imports (directly or indirectly) will become a part of the client module graph and must be sent to and executed by the client in order to be rendered by the browser. To reduce client bundle size and take full advantage of the server, move state (and the `'use client'` directives) lower in the tree when possible, and pass rendered server components [as children](/learn/passing-props-to-a-component#passing-jsx-as-children) to client components. -* Because props are serialized across the server–client boundary, note that the placement of these directives can affect the amount of data sent to the client; avoid data structures that are larger than necessary. -* Components like a `<MarkdownRenderer>` that use neither server-only nor client-only features should generally not be marked with `'use client'`. That way, they can render exclusively on the server when used from a server component, but they'll be added to the client bundle when used from a client component. -* Libraries published to npm should include `'use client'` on exported React components that can be rendered with serializable props that use client-only React features, to allow those components to be imported and rendered by server components. Otherwise, users will need to wrap library components in their own `'use client'` files which can be cumbersome and prevents the library from moving logic to the server later. When publishing prebundled files to npm, ensure that `'use client'` source files end up in a bundle marked with `'use client'`, separate from any bundle containing exports that can be used directly on the server. -* Client components will still run as part of server-side rendering (SSR) or build-time static site generation (SSG), which act as clients to transform React components' initial render output to HTML that can be rendered before JavaScript bundles are downloaded. But they can't use server-only features like reading directly from a database. -* Directives like `'use client'` must be at the very beginning of a file, above any imports or other code (comments above directives are OK). They must be written with single or double quotes, not backticks. (The `'use xyz'` directive format somewhat resembles the `useXyz()` Hook naming convention, but the similarity is coincidental.) +* `'use client'` must be at the very beginning of a file, above any imports or other code (comments are OK). They must be written with single or double quotes, but not backticks. +* When a `'use client'` module is imported from another client-rendered module, the directive has no effect. +* When a component module contains a `'use client'` directive, any usage of that component is guaranteed to be a Client Component. However, a component can still be evaluated on the client even if it does not have a `'use client'` directive. + * A component usage is considered a Client Component if it is defined in module with `'use client'` directive or when it is a transitive dependency of a module that contains a `'use client'` directive. Otherwise, it is a Server Component. +* Code that is marked for client evaluation is not limited to components. All code that is a part of the client module sub-tree is sent to and run by the client. +* When a server evaluated module imports values from a `'use client'` module, the values must either be a React component or [supported serializable prop values](#passing-props-from-server-to-client-components) to be passed to a Client Component. Any other use case will throw an exception. + +### How `'use client'` marks client code {/*how-use-client-marks-client-code*/} + +In a React app, components are often split into separate files, or [modules](/learn/importing-and-exporting-components#exporting-and-importing-a-component). + +For apps that use React Server Components, the app is server-rendered by default. `'use client'` introduces a server-client boundary in the [module dependency tree](/learn/understanding-your-ui-as-a-tree#the-module-dependency-tree), effectively creating a client-module subtree. + +To better illustrate this, consider the following React Server Component app and its module dependency and render tree. + +<Sandpack> + +```js App.js +import FancyText from './FancyText'; +import InspirationGenerator from './InspirationGenerator'; +import Copyright from './Copyright'; + +export default function App() { + return ( + <> + <FancyText title text="Get Inspired App" /> + <InspirationGenerator> + <Copyright year={2004} /> + </InspirationGenerator> + </> + ); +} + +``` + +```js FancyText.js +export default function FancyText({title, text}) { + return title + ? <h1 className='fancy title'>{text}</h1> + : <h3 className='fancy cursive'>{text}</h3> +} +``` + +```js InspirationGenerator.js +'use client'; + +import { useState } from 'react'; +import inspirations from './inspirations'; +import FancyText from './FancyText'; + +export default function InspirationGenerator({children}) { + const [index, setIndex] = useState(0); + const quote = inspirations[index]; + const next = () => setIndex((index + 1) % inspirations.length); + + return ( + <> + <p>Your inspirational quote is:</p> + <FancyText text={quote} /> + <button onClick={next}>Inspire me again</button> + {children} + </> + ); +} +``` + +```js Copyright.js +export default function Copyright({year}) { + return <p className='small'>©️ {year}</p>; +} +``` + +```js inspirations.js +export default [ + "Don’t let yesterday take up too much of today.” — Will Rogers", + "Ambition is putting a ladder against the sky.", + "A joy that's shared is a joy made double.", +]; +``` + +```css +.fancy { + font-family: 'Georgia'; +} +.title { + color: #007AA3; + text-decoration: underline; +} +.cursive { + font-style: italic; +} +.small { + font-size: 10px; +} +``` + +</Sandpack> + +<Diagram name="use_client_module_dependency" height={250} width={545} alt="A tree graph with the top node representing the module 'App.js'. 'App.js' has three children: 'Copyright.js', 'FancyText.js', and 'InspirationGenerator.js'. 'InspirationGenerator.js' has two children: 'FancyText.js' and 'inspirations.js'. The nodes under and including 'InspirationGenerator.js' have a yellow background color to signify that this sub-graph is client-rendered due to the 'use client' directive in 'InspirationGenerator.js'."> +`'use client'` segments the module dependency tree of the React Server Components app to mark `InspirationGenerator.js` and any of its dependencies as client-rendered. +</Diagram> + +In the module dependency tree of the example app, the `'use client'` directive in `InspirationGenerator.js` marks that module and all of its transitive dependencies as client modules. It creates a subtree of client modules with `InspirationGenerator.js` as the root. + +During render, the framework will server-render the root component and continue through the [render tree](/learn/understanding-your-ui-as-a-tree#the-render-tree), opting-out of evaluating any code imported from client-marked code. + +The server-rendered portion of the render tree is then sent to the client. The client, with its client code downloaded, then completes rendering the rest of the tree. + +<Diagram name="use_client_render_tree" height={250} width={500} alt="A tree graph where each node represents a component and its children as child components. The top-level node is labelled 'App' and it has two child components 'InspirationGenerator' and 'FancyText'. 'InspirationGenerator' has two child components, 'FancyText' and 'Copyright'. Both 'InspirationGenerator' and its child component 'FancyText' are marked to be client-rendered."> +The render tree for the React Server Components app. `InspirationGenerator` and its child component `FancyText` are components exported from client-marked code and considered Client Components. +</Diagram> + +We introduce the following definitions: + +* **Client Components** are components in a render tree that are rendered on the client. +* **Server Components** are components in a render tree that are rendered on the server. + +Working through the example app, `App`, `FancyText` and `Copyright` are all server-rendered and considered Server Components. As `InspirationGenerator.js` and its transitive dependencies are marked as client code, the component `InspirationGenerator` and its child component `FancyText` are Client Components. + +<DeepDive> +#### How is `FancyText` both a Server and a Client Component? {/*how-is-fancytext-both-a-server-and-a-client-component*/} + +By the above definitions, the component `FancyText` is both a Server and Client Component, how can that be? + +First, let's clarify that the term "component" is not very precise. Here are just two ways "component" can be understood: + +1. A "component" can refer to a **component definition**. In most cases this will be a function. + +```js +// This is a definition of a component +function MyComponent() { + return <p>My Component</p> +} +``` + +2. A "component" can also refer to a **component usage** of its definition. +```js +import MyComponent from './MyComponent'; + +function App() { + // This is a usage of a component + return <MyComponent />; +} +``` + +Often, the imprecision is not important when explaining concepts, but in this case it is. + +When we talk about Server or Client Components, we are referring to component usages. + +* If the component is defined in a module with a `'use client'` directive, or the component is imported and called in a Client Component, then the component usage is a Client Component. +* Otherwise, the component usage is a Server Component. + + +<Diagram name="use_client_render_tree" height={150} width={450} alt="A tree graph where each node represents a component and its children as child components. The top-level node is labelled 'App' and it has two child components 'InspirationGenerator' and 'FancyText'. 'InspirationGenerator' has two child components, 'FancyText' and 'Copyright'. Both 'InspirationGenerator' and its child component 'FancyText' are marked to be client-rendered.">A render tree illustrates component usages.</Diagram> + +Back to the question of `FancyText`, we see that the component definition does _not_ have a `'use client'` directive and it has two usages. + +The usage of `FancyText` as a child of `App`, marks that usage as a Server Component. When `FancyText` is imported and called under `InspirationGenerator`, that usage of `FancyText` is a Client Component as `InspirationGenerator` contains a `'use client'` directive. + +This means that the component definition for `FancyText` will both be evaluated on the server and also downloaded by the client to render its Client Component usage. + +</DeepDive> + +<DeepDive> + +#### Why is `Copyright` a Server Component? {/*why-is-copyright-a-server-component*/} + +As a child of `InspirationGenerator`, a Client Component, why is `Copyright` a Server Component? + +To clarify, `'use client'` defines the boundary between server and client code on the _module dependency tree_, not the render tree. + +<Diagram name="use_client_module_dependency" height={200} width={500} alt="A tree graph with the top node representing the module 'App.js'. 'App.js' has three children: 'Copyright.js', 'FancyText.js', and 'InspirationGenerator.js'. 'InspirationGenerator.js' has two children: 'FancyText.js' and 'inspirations.js'. The nodes under and including 'InspirationGenerator.js' have a yellow background color to signify that this sub-graph is client-rendered due to the 'use client' directive in 'InspirationGenerator.js'."> +`'use client'` defines the boundary between server and client code on the module dependency tree. +</Diagram> + +In the module dependency tree, we see that `App.js` imports and calls `Copyright` from the `Copyright.js` module. As `Copyright.js` does not contain a `'use client'` directive, the component usage is rendered on the server. `App` is rendered on the server as it is the root component. + +Client Components can render Server Components because you can pass JSX as props. In this case, `InspirationGenerator` receives `Copyright` as [children](/learn/passing-props-to-a-component#passing-jsx-as-children). However, the `InspirationGenerator` module never directly imports the `Copyright` module nor calls the component, all of that is done by `App`. + +The takeaway is that a parent-child render relationship between components does not guarantee the same render environment. + +</DeepDive> + +### When to use `'use client'` {/*when-to-use-use-client*/} + +With `'use client'`, you can determine what component usages will be Client Components. As Server Components are default, here is a brief overview of the advantages and limitations to Server Components to determine when you need to mark something as client rendered. + +For simplicity, we talk about Server Components, but the same principles apply to all code in your app that is server run. + +#### Advantages {/*advantages*/} +* Server Components can reduce the amount of code sent and run by the client. Only client modules are bundled and evaluated by the client. +* Server Components benefit from running on the server. They can access the local filesystem and may experience low latency for data fetches and network requests. + +#### Limitations {/*limitations*/} +* Server Components cannot support interaction as event handlers must be registered and triggered by a client. + * The browser, as an example client, is responsible for delegating UI clicks to the appropriate `onClick` handler. +* Server Components cannot use most Hooks. + * When Server Components are rendered, they are conceptually resolved into instructions for the client to interpret and turn into UI primitives. This means that Server Components do not persist in memory after render and do not support re-rendering or state. + +### Passing props from Server to Client Components {/*passing-props-from-server-to-client-components*/} + +As in any React app, parent components pass data to child components. As they are rendered in different environments, passing data from a Server Component to a Client Component requires extra consideration. + +Prop values passed from a Server Component to Client Component must be serializable. + +Serializable props include: +* Primitives + * [string](https://developer.mozilla.org/en-US/docs/Glossary/String) + * [number](https://developer.mozilla.org/en-US/docs/Glossary/Number) + * [bigint](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/BigInt) + * [boolean](https://developer.mozilla.org/en-US/docs/Glossary/Boolean) + * [undefined](https://developer.mozilla.org/en-US/docs/Glossary/Undefined) + * [null](https://developer.mozilla.org/en-US/docs/Glossary/Null) + * [symbol](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol), only symbols registered in the global Symbol registry via [`Symbol.for`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol/for) +* Iterables containing serializable values + * [String](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String) + * [Array](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array) + * [Map](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map) + * [Set](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set) + * [TypedArray](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray) +* [ArrayBuffer](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer) +* [Date](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date) +* Plain [objects](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object), those created with [object initializers](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Object_initializer), with serializable properties +* Client or Server Components +* [Promises](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) + +Notably, these are not supported: +* [Functions](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function) that are not exported from client-marked modules or marked with [`'use server'`](/reference/react/use-server) +* [Classes](https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Objects/Classes_in_JavaScript) +* Objects that are instances of any class (other than built-ins mentioned) or objects with [null-prototype](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object#null-prototype_objects) +* Symbols not registered globally, ex. `Symbol('my new symbol')` + ## Usage {/*usage*/} -<Wip> -This section is a work in progress. +### Building with interactivity and state {/*building-with-interactivity-and-state*/} + +<Sandpack> + +```js App.js +'use client'; + +import { useState } from 'react'; + +export default function Counter({initialValue = 0}) { + const [countValue, setCountValue] = useState(initialValue); + const increment = () => setCountValue(countValue + 1); + const decrement = () => setCountValue(countValue - 1); + return (<> + <h2>Count Value: {countValue}</h2> + <button onClick={increment}>+1</button> + <button onClick={decrement}>-1</button> + </>); +} +``` + +</Sandpack> + +As `Counter` requires both the `useState` hook and event handlers to increment or decrement the value, this component must be a Client Component and will require a `'use client'` directive at the top. + +In contrast, a component that renders UI without interaction will not need to be a Client Component. + +```js +import {getCounterValueFromFile} from 'fs-utils'; +import Counter from './Counter'; + +export default async function CounterContainer() { + const initialValue = await getCounterValueFromFile(); + return <Counter initialValue={initialValue} /> +} +``` + +For example, the parent component of the Client Component `CounterContainer` does not require `'use client'` as it is not interactive and does not use state. In addition, `CounterContainer` must be a Server Component as it reads from the local file system on the server. This is possible because Server Components, unlike Client Components, can be async functions. + +There are also components that don't use any server or client-only features and can be agnostic to where they render. `FancyText` is an example of such a component. + +```js +export default function FancyText({title, text}) { + return title + ? <h1 className='fancy title'>{text}</h1> + : <h3 className='fancy cursive'>{text}</h3> +} +``` + +In this case, it is discouraged to use the `'use client'` directive as it prematurely forces all component usages of `FancyText` to be rendered on the client, which comes at a performance cost. As demonstrated in the earlier Inspirations app example, `FancyText` is used as both a Server or Client Component, depending on where it is imported and used. + +### Using client APIs {/*using-client-apis*/} + +Your React app may use client-specific APIs which are dependent on your targeted client. For the browser, some example client APIs include web storage, audio and video manipulation, and device hardware, among [others](https://developer.mozilla.org/en-US/docs/Web/API). + +In this example, the component uses [DOM APIs](https://developer.mozilla.org/en-US/docs/Glossary/DOM) to manipulate a [`canvas`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/canvas) element. Since those APIs are only available in the browser, it must be marked as a Client Component. + +```js +'use client'; + +import {useRef, useEffect} from 'react'; + +export default function Circle() { + const ref = useRef(null); + useLayoutEffect(() => { + const canvas = ref.current; + const context = canvas.getContext('2d'); + context.beginPath(); + context.arc(100, 75, 50, 0, 2 * Math.PI); + context.stroke(); + }); + return <canvas ref={ref} /> +} +``` + +### Using React libraries {/*using-react-libraries*/} + +Often in a React app, you'll leverage third-party libraries to handle common UI patterns or logic. + +These libraries may rely on component Hooks or client APIs. In these cases, you'll need to ensure you're using these libraries in Client Components. Depending on the nature of these libraries, this may mean adding a `'use client'` near the top of your module dependency tree – marking the majority of your React app as client-rendered. + +Libraries that use any of the following React APIs must be marked as client-run: +* [createContext](/reference/react/createContext) +* [`react`](/reference/react/hooks) and [`react-dom`](/reference/react-dom/hooks) Hooks, excluding [`use`](/reference/react/use) and [`useId`](/reference/react/useId) +* [forwardRef](/reference/react/forwardRef) +* [memo](/reference/react/memo) +* [startTransition](/reference/react/startTransition) +* If they use client APIs, ex. DOM insertion or native platform views -This API can be used in any framework that supports React Server Components. You may find additional documentation from them. -* [Next.js documentation](https://nextjs.org/docs/getting-started/react-essentials) -* More coming soon -</Wip> \ No newline at end of file +[TODO]: <> (Troubleshooting - need use-cases) \ No newline at end of file From f94942863207ab816d9c339c8a8ec36c44608f45 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?V=C3=ADctor=20Medrano?= <mixlaab.labs@gmail.com> Date: Tue, 31 Oct 2023 10:16:13 -0600 Subject: [PATCH 104/382] Add closing </p> tag (#6394) --- src/content/reference/react/Component.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/reference/react/Component.md b/src/content/reference/react/Component.md index 6174cd75..f8884608 100644 --- a/src/content/reference/react/Component.md +++ b/src/content/reference/react/Component.md @@ -632,7 +632,7 @@ class Form extends Component { return ( <> <input value={this.state.name} onChange={this.handleNameChange} /> - <p>Hello, {this.state.name}. + <p>Hello, {this.state.name}.</p> </> ); } From 40a88fa9a09f8809bd1c78972de99ea7698991bb Mon Sep 17 00:00:00 2001 From: DhanushShettyH <106665135+DhanushShettyH@users.noreply.github.com> Date: Fri, 3 Nov 2023 12:31:36 +0530 Subject: [PATCH 105/382] Fix typoError Mentioned in issue (#6400) --- src/components/Layout/getRouteMeta.tsx | 6 +++--- .../react-labs-what-we-have-been-working-on-march-2023.md | 2 +- src/content/learn/passing-data-deeply-with-context.md | 4 ++-- src/content/reference/react-dom/components/form.md | 2 +- src/content/reference/react/cache.md | 2 +- .../reference/react/experimental_taintUniqueValue.md | 2 +- 6 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/components/Layout/getRouteMeta.tsx b/src/components/Layout/getRouteMeta.tsx index d2294784..3564dd73 100644 --- a/src/components/Layout/getRouteMeta.tsx +++ b/src/components/Layout/getRouteMeta.tsx @@ -58,13 +58,13 @@ export interface RouteMeta { order?: number; } -type TravesalContext = RouteMeta & { +type TraversalContext = RouteMeta & { currentIndex: number; }; export function getRouteMeta(cleanedPath: string, routeTree: RouteItem) { const breadcrumbs = getBreadcrumbs(cleanedPath, routeTree); - const ctx: TravesalContext = { + const ctx: TraversalContext = { currentIndex: 0, }; buildRouteMeta(cleanedPath, routeTree, ctx); @@ -79,7 +79,7 @@ export function getRouteMeta(cleanedPath: string, routeTree: RouteItem) { function buildRouteMeta( searchPath: string, currentRoute: RouteItem, - ctx: TravesalContext + ctx: TraversalContext ) { ctx.currentIndex++; diff --git a/src/content/blog/2023/03/22/react-labs-what-we-have-been-working-on-march-2023.md b/src/content/blog/2023/03/22/react-labs-what-we-have-been-working-on-march-2023.md index a6592fd3..5071af6e 100644 --- a/src/content/blog/2023/03/22/react-labs-what-we-have-been-working-on-march-2023.md +++ b/src/content/blog/2023/03/22/react-labs-what-we-have-been-working-on-march-2023.md @@ -74,7 +74,7 @@ Making plain JavaScript in React components reactive requires a compiler with a ## Offscreen Rendering {/*offscreen-rendering*/} -Offscreen rendering is an upcoming capability in React for rendering screens in the background without additional performance overhead. You can think of it as a version of the [`content-visiblity` CSS property](https://developer.mozilla.org/en-US/docs/Web/CSS/content-visibility) that works not only for DOM elements but React components, too. During our research, we've discovered a variety of use cases: +Offscreen rendering is an upcoming capability in React for rendering screens in the background without additional performance overhead. You can think of it as a version of the [`content-visibility` CSS property](https://developer.mozilla.org/en-US/docs/Web/CSS/content-visibility) that works not only for DOM elements but React components, too. During our research, we've discovered a variety of use cases: - A router can prerender screens in the background so that when a user navigates to them, they're instantly available. - A tab switching component can preserve the state of hidden tabs, so the user can switch between them without losing their progress. diff --git a/src/content/learn/passing-data-deeply-with-context.md b/src/content/learn/passing-data-deeply-with-context.md index 45c5e77d..31405c0a 100644 --- a/src/content/learn/passing-data-deeply-with-context.md +++ b/src/content/learn/passing-data-deeply-with-context.md @@ -985,7 +985,7 @@ export const places = [{ }, { id: 5, name: 'Chefchaouen, Marocco', - description: 'There are a few theories on why the houses are painted blue, including that the color repells mosquitos or that it symbolizes sky and heaven.', + description: 'There are a few theories on why the houses are painted blue, including that the color repels mosquitos or that it symbolizes sky and heaven.', imageId: 'rTqKo46' }, { id: 6, @@ -1124,7 +1124,7 @@ export const places = [{ }, { id: 5, name: 'Chefchaouen, Marocco', - description: 'There are a few theories on why the houses are painted blue, including that the color repells mosquitos or that it symbolizes sky and heaven.', + description: 'There are a few theories on why the houses are painted blue, including that the color repels mosquitos or that it symbolizes sky and heaven.', imageId: 'rTqKo46' }, { id: 6, diff --git a/src/content/reference/react-dom/components/form.md b/src/content/reference/react-dom/components/form.md index 7c602322..dfffc74f 100644 --- a/src/content/reference/react-dom/components/form.md +++ b/src/content/reference/react-dom/components/form.md @@ -273,7 +273,7 @@ export async function deliverMessage(message) { </Sandpack> -[//]: # 'Uncomment the next line, and delete this line after the `useOptimisitc` reference documentatino page is published' +[//]: # 'Uncomment the next line, and delete this line after the `useOptimistic` reference documentatino page is published' [//]: # 'To learn more about the `useOptimistic` Hook see the [reference documentation](/reference/react/hooks/useOptimistic).' ### Handling form submission errors {/*handling-form-submission-errors*/} diff --git a/src/content/reference/react/cache.md b/src/content/reference/react/cache.md index 65d95ab7..73556063 100644 --- a/src/content/reference/react/cache.md +++ b/src/content/reference/react/cache.md @@ -309,7 +309,7 @@ async function DemoProfile() { React only provides cache access to the memoized function in a component. When calling <CodeStep step={1}>`getUser`</CodeStep> outside of a component, it will still evaluate the function but not read or update the cache. -This is because cache access is provided through a [context](/learn/passing-data-deeply-with-context) which is only accessibile from a component. +This is because cache access is provided through a [context](/learn/passing-data-deeply-with-context) which is only accessible from a component. </Pitfall> diff --git a/src/content/reference/react/experimental_taintUniqueValue.md b/src/content/reference/react/experimental_taintUniqueValue.md index aeee7456..e8226d92 100644 --- a/src/content/reference/react/experimental_taintUniqueValue.md +++ b/src/content/reference/react/experimental_taintUniqueValue.md @@ -131,7 +131,7 @@ In this example, the constant `password` is tainted. Then `password` is used to Other similar ways of deriving new values from tainted values like concatenating it into a larger string, converting it to base64, or returning a substring create untained values. -Tainting only protects against simple mistakes like explictly passing secret values to the client. Mistakes in calling the `taintUniqueValue` like using a global store outside of React, without the corresponding lifetime object, can cause the tainted value to become untainted. Tainting is a layer of protection; a secure app will have multiple layers of protection, well designed APIs, and isolation patterns. +Tainting only protects against simple mistakes like explicitly passing secret values to the client. Mistakes in calling the `taintUniqueValue` like using a global store outside of React, without the corresponding lifetime object, can cause the tainted value to become untainted. Tainting is a layer of protection; a secure app will have multiple layers of protection, well designed APIs, and isolation patterns. </Pitfall> From a8790ca810c1cebd114db35a433b90eb223dbb04 Mon Sep 17 00:00:00 2001 From: Sophie Alpert <git@sophiebits.com> Date: Fri, 3 Nov 2023 11:00:40 -0700 Subject: [PATCH 106/382] Edits for new "use client" content (#6401) * Edits for new "use client" content * Apply suggestions from code review Co-authored-by: Luna <lunaleaps@gmail.com> --------- Co-authored-by: Luna <lunaleaps@gmail.com> --- src/content/reference/react/use-client.md | 102 +++++++++++----------- src/content/reference/react/use-server.md | 5 +- 2 files changed, 55 insertions(+), 52 deletions(-) diff --git a/src/content/reference/react/use-client.md b/src/content/reference/react/use-client.md index e0190d3f..f4b90d28 100644 --- a/src/content/reference/react/use-client.md +++ b/src/content/reference/react/use-client.md @@ -31,20 +31,19 @@ Add `'use client'` at the top of a file to mark the module and its transitive de import { useState } from 'react'; import { formatDate } from './formatters'; -import Link from './link'; +import Button from './button'; -export default function RichTextEditor(props) { - formatDate(); +export default function RichTextEditor({ timestamp, text }) { + const date = formatDate(timestamp); + // ... + const editButton = <Button />; // ... - return - <Link /> - // ... } ``` When a file marked with `'use client'` is imported from a Server Component, [compatible bundlers](/learn/start-a-new-react-project#bleeding-edge-react-frameworks) will treat the module import as a boundary between server-run and client-run code. -As a dependency of `RichTextEditor`, `formatDate` and `Link` will also be evaluated on the client regardless of whether their modules contain a `'use client'` directive. Note that the same module may be evaluated on the server when imported from server code and on the client when imported from client code. +As dependencies of `RichTextEditor`, `formatDate` and `Button` will also be evaluated on the client regardless of whether their modules contain a `'use client'` directive. Note that a single module may be evaluated on the server when imported from server code and on the client when imported from client code. #### Caveats {/*caveats*/} @@ -59,9 +58,9 @@ As a dependency of `RichTextEditor`, `formatDate` and `Link` will also be evalua In a React app, components are often split into separate files, or [modules](/learn/importing-and-exporting-components#exporting-and-importing-a-component). -For apps that use React Server Components, the app is server-rendered by default. `'use client'` introduces a server-client boundary in the [module dependency tree](/learn/understanding-your-ui-as-a-tree#the-module-dependency-tree), effectively creating a client-module subtree. +For apps that use React Server Components, the app is server-rendered by default. `'use client'` introduces a server-client boundary in the [module dependency tree](/learn/understanding-your-ui-as-a-tree#the-module-dependency-tree), effectively creating a subtree of client modules. -To better illustrate this, consider the following React Server Component app and its module dependency and render tree. +To better illustrate this, consider the following React Server Components app. <Sandpack> @@ -146,12 +145,12 @@ export default [ </Sandpack> +In the module dependency tree of this example app, the `'use client'` directive in `InspirationGenerator.js` marks that module and all of its transitive dependencies as client modules. The subtree starting at `InspirationGenerator.js` is now marked as client modules. + <Diagram name="use_client_module_dependency" height={250} width={545} alt="A tree graph with the top node representing the module 'App.js'. 'App.js' has three children: 'Copyright.js', 'FancyText.js', and 'InspirationGenerator.js'. 'InspirationGenerator.js' has two children: 'FancyText.js' and 'inspirations.js'. The nodes under and including 'InspirationGenerator.js' have a yellow background color to signify that this sub-graph is client-rendered due to the 'use client' directive in 'InspirationGenerator.js'."> -`'use client'` segments the module dependency tree of the React Server Components app to mark `InspirationGenerator.js` and any of its dependencies as client-rendered. +`'use client'` segments the module dependency tree of the React Server Components app, marking `InspirationGenerator.js` and all of its dependencies as client-rendered. </Diagram> -In the module dependency tree of the example app, the `'use client'` directive in `InspirationGenerator.js` marks that module and all of its transitive dependencies as client modules. It creates a subtree of client modules with `InspirationGenerator.js` as the root. - During render, the framework will server-render the root component and continue through the [render tree](/learn/understanding-your-ui-as-a-tree#the-render-tree), opting-out of evaluating any code imported from client-marked code. The server-rendered portion of the render tree is then sent to the client. The client, with its client code downloaded, then completes rendering the rest of the tree. @@ -179,7 +178,7 @@ First, let's clarify that the term "component" is not very precise. Here are jus ```js // This is a definition of a component function MyComponent() { - return <p>My Component</p> + return <p>My Component</p> } ``` @@ -188,8 +187,8 @@ function MyComponent() { import MyComponent from './MyComponent'; function App() { - // This is a usage of a component - return <MyComponent />; + // This is a usage of a component + return <MyComponent />; } ``` @@ -215,9 +214,9 @@ This means that the component definition for `FancyText` will both be evaluated #### Why is `Copyright` a Server Component? {/*why-is-copyright-a-server-component*/} -As a child of `InspirationGenerator`, a Client Component, why is `Copyright` a Server Component? +Because `Copyright` is rendered as a child of the Client Component `InspirationGenerator`, you might be surprised that it is a Server Component. -To clarify, `'use client'` defines the boundary between server and client code on the _module dependency tree_, not the render tree. +Recall that `'use client'` defines the boundary between server and client code on the _module dependency tree_, not the render tree. <Diagram name="use_client_module_dependency" height={200} width={500} alt="A tree graph with the top node representing the module 'App.js'. 'App.js' has three children: 'Copyright.js', 'FancyText.js', and 'InspirationGenerator.js'. 'InspirationGenerator.js' has two children: 'FancyText.js' and 'inspirations.js'. The nodes under and including 'InspirationGenerator.js' have a yellow background color to signify that this sub-graph is client-rendered due to the 'use client' directive in 'InspirationGenerator.js'."> `'use client'` defines the boundary between server and client code on the module dependency tree. @@ -225,7 +224,7 @@ To clarify, `'use client'` defines the boundary between server and client code o In the module dependency tree, we see that `App.js` imports and calls `Copyright` from the `Copyright.js` module. As `Copyright.js` does not contain a `'use client'` directive, the component usage is rendered on the server. `App` is rendered on the server as it is the root component. -Client Components can render Server Components because you can pass JSX as props. In this case, `InspirationGenerator` receives `Copyright` as [children](/learn/passing-props-to-a-component#passing-jsx-as-children). However, the `InspirationGenerator` module never directly imports the `Copyright` module nor calls the component, all of that is done by `App`. +Client Components can render Server Components because you can pass JSX as props. In this case, `InspirationGenerator` receives `Copyright` as [children](/learn/passing-props-to-a-component#passing-jsx-as-children). However, the `InspirationGenerator` module never directly imports the `Copyright` module nor calls the component, all of that is done by `App`. In fact, the `Copyright` component is fully executed before `InspirationGenerator` starts rendering. The takeaway is that a parent-child render relationship between components does not guarantee the same render environment. @@ -233,21 +232,21 @@ The takeaway is that a parent-child render relationship between components does ### When to use `'use client'` {/*when-to-use-use-client*/} -With `'use client'`, you can determine what component usages will be Client Components. As Server Components are default, here is a brief overview of the advantages and limitations to Server Components to determine when you need to mark something as client rendered. +With `'use client'`, you can determine when components are Client Components. As Server Components are default, here is a brief overview of the advantages and limitations to Server Components to determine when you need to mark something as client rendered. For simplicity, we talk about Server Components, but the same principles apply to all code in your app that is server run. -#### Advantages {/*advantages*/} +#### Advantages of Server Components {/*advantages*/} * Server Components can reduce the amount of code sent and run by the client. Only client modules are bundled and evaluated by the client. * Server Components benefit from running on the server. They can access the local filesystem and may experience low latency for data fetches and network requests. -#### Limitations {/*limitations*/} +#### Limitations of Server Components {/*limitations*/} * Server Components cannot support interaction as event handlers must be registered and triggered by a client. - * The browser, as an example client, is responsible for delegating UI clicks to the appropriate `onClick` handler. + * For example, event handlers like `onClick` can only be defined in Client Components. * Server Components cannot use most Hooks. - * When Server Components are rendered, they are conceptually resolved into instructions for the client to interpret and turn into UI primitives. This means that Server Components do not persist in memory after render and do not support re-rendering or state. + * When Server Components are rendered, their output is essentially a list of components for the client to render. Server Components do not persist in memory after render and cannot have their own state. -### Passing props from Server to Client Components {/*passing-props-from-server-to-client-components*/} +### Serializable types returned by Server Components {/*serializable-types*/} As in any React app, parent components pass data to child components. As they are rendered in different environments, passing data from a Server Component to a Client Component requires extra consideration. @@ -267,17 +266,17 @@ Serializable props include: * [Array](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array) * [Map](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map) * [Set](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set) - * [TypedArray](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray) -* [ArrayBuffer](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer) + * [TypedArray](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray) and [ArrayBuffer](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer) * [Date](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date) -* Plain [objects](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object), those created with [object initializers](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Object_initializer), with serializable properties -* Client or Server Components +* Plain [objects](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object): those created with [object initializers](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Object_initializer), with serializable properties +* Functions that are [server actions](/reference/react/use-server) +* Client or Server Component elements (JSX) * [Promises](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) Notably, these are not supported: * [Functions](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function) that are not exported from client-marked modules or marked with [`'use server'`](/reference/react/use-server) * [Classes](https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Objects/Classes_in_JavaScript) -* Objects that are instances of any class (other than built-ins mentioned) or objects with [null-prototype](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object#null-prototype_objects) +* Objects that are instances of any class (other than the built-ins mentioned) or objects with [a null prototype](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object#null-prototype_objects) * Symbols not registered globally, ex. `Symbol('my new symbol')` @@ -293,14 +292,16 @@ Notably, these are not supported: import { useState } from 'react'; export default function Counter({initialValue = 0}) { - const [countValue, setCountValue] = useState(initialValue); - const increment = () => setCountValue(countValue + 1); - const decrement = () => setCountValue(countValue - 1); - return (<> - <h2>Count Value: {countValue}</h2> - <button onClick={increment}>+1</button> - <button onClick={decrement}>-1</button> - </>); + const [countValue, setCountValue] = useState(initialValue); + const increment = () => setCountValue(countValue + 1); + const decrement = () => setCountValue(countValue - 1); + return ( + <> + <h2>Count Value: {countValue}</h2> + <button onClick={increment}>+1</button> + <button onClick={decrement}>-1</button> + </> + ); } ``` @@ -311,18 +312,18 @@ As `Counter` requires both the `useState` hook and event handlers to increment o In contrast, a component that renders UI without interaction will not need to be a Client Component. ```js -import {getCounterValueFromFile} from 'fs-utils'; +import { readFile } from 'node:fs/promises'; import Counter from './Counter'; export default async function CounterContainer() { - const initialValue = await getCounterValueFromFile(); + const initialValue = await readFile('/path/to/counter_value'); return <Counter initialValue={initialValue} /> } ``` -For example, the parent component of the Client Component `CounterContainer` does not require `'use client'` as it is not interactive and does not use state. In addition, `CounterContainer` must be a Server Component as it reads from the local file system on the server. This is possible because Server Components, unlike Client Components, can be async functions. +For example, `Counter`'s parent component, `CounterContainer`, does not require `'use client'` as it is not interactive and does not use state. In addition, `CounterContainer` must be a Server Component as it reads from the local file system on the server, which is possible only in a Server Component. -There are also components that don't use any server or client-only features and can be agnostic to where they render. `FancyText` is an example of such a component. +There are also components that don't use any server or client-only features and can be agnostic to where they render. In our earlier example, `FancyText` is one such component. ```js export default function FancyText({title, text}) { @@ -332,13 +333,15 @@ export default function FancyText({title, text}) { } ``` -In this case, it is discouraged to use the `'use client'` directive as it prematurely forces all component usages of `FancyText` to be rendered on the client, which comes at a performance cost. As demonstrated in the earlier Inspirations app example, `FancyText` is used as both a Server or Client Component, depending on where it is imported and used. +In this case, we don't add the `'use client'` directive, resulting in `FancyText`'s _output_ (rather than its source code) to be sent to the browser when referenced from a Server Component. As demonstrated in the earlier Inspirations app example, `FancyText` is used as both a Server or Client Component, depending on where it is imported and used. + +But if `FancyText`'s HTML output was large relative to its source code (including dependencies), it might be more efficient to force it to always be a Client Component. Components that return a long SVG path string are one case where it may be more efficient to force a component to be a Client Component. ### Using client APIs {/*using-client-apis*/} -Your React app may use client-specific APIs which are dependent on your targeted client. For the browser, some example client APIs include web storage, audio and video manipulation, and device hardware, among [others](https://developer.mozilla.org/en-US/docs/Web/API). +Your React app may use client-specific APIs, such as the browser's APIs for web storage, audio and video manipulation, and device hardware, among [others](https://developer.mozilla.org/en-US/docs/Web/API). -In this example, the component uses [DOM APIs](https://developer.mozilla.org/en-US/docs/Glossary/DOM) to manipulate a [`canvas`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/canvas) element. Since those APIs are only available in the browser, it must be marked as a Client Component. +In this example, the component uses [DOM APIs](https://developer.mozilla.org/en-US/docs/Glossary/DOM) to manipulate a [`canvas`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/canvas) element. Since those APIs are only available in the browser, it must be marked as a Client Component. ```js 'use client'; @@ -350,21 +353,20 @@ export default function Circle() { useLayoutEffect(() => { const canvas = ref.current; const context = canvas.getContext('2d'); + context.reset(); context.beginPath(); context.arc(100, 75, 50, 0, 2 * Math.PI); context.stroke(); }); - return <canvas ref={ref} /> + return <canvas ref={ref} />; } ``` -### Using React libraries {/*using-react-libraries*/} +### Using third-party libraries {/*using-third-party-libraries*/} Often in a React app, you'll leverage third-party libraries to handle common UI patterns or logic. -These libraries may rely on component Hooks or client APIs. In these cases, you'll need to ensure you're using these libraries in Client Components. Depending on the nature of these libraries, this may mean adding a `'use client'` near the top of your module dependency tree – marking the majority of your React app as client-rendered. - -Libraries that use any of the following React APIs must be marked as client-run: +These libraries may rely on component Hooks or client APIs. Third-party components that use any of the following React APIs must run on the client: * [createContext](/reference/react/createContext) * [`react`](/reference/react/hooks) and [`react-dom`](/reference/react-dom/hooks) Hooks, excluding [`use`](/reference/react/use) and [`useId`](/reference/react/useId) * [forwardRef](/reference/react/forwardRef) @@ -372,4 +374,6 @@ Libraries that use any of the following React APIs must be marked as client-run: * [startTransition](/reference/react/startTransition) * If they use client APIs, ex. DOM insertion or native platform views +If these libraries have been updated to be compatible with React Server Components, then they will already include `'use client'` markers of their own, allowing you to use them directly from your Server Components. If a library hasn't been updated, or if a component needs props like event handlers that can only be specified on the client, you may need to add your own Client Component file in between the third-party Client Component and your Server Component where you'd like to use it. + [TODO]: <> (Troubleshooting - need use-cases) \ No newline at end of file diff --git a/src/content/reference/react/use-server.md b/src/content/reference/react/use-server.md index beaeb5f3..69f5e104 100644 --- a/src/content/reference/react/use-server.md +++ b/src/content/reference/react/use-server.md @@ -80,8 +80,7 @@ Here are supported types for server action arguments: * [Array](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array) * [Map](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map) * [Set](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Set) - * [TypedArray](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray) -* [ArrayBuffer](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer) + * [TypedArray](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray) and [ArrayBuffer](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer) * [Date](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date) * [FormData](https://developer.mozilla.org/en-US/docs/Web/API/FormData) instances * Plain [objects](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object): those created with [object initializers](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Object_initializer), with serializable properties @@ -92,7 +91,7 @@ Notably, these are not supported: * React elements, or [JSX](https://react.dev/learn/writing-markup-with-jsx) * Functions, including component functions or any other function that is not a server action * [Classes](https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Objects/Classes_in_JavaScript) -* Objects that are instances of any class (other than built-ins mentioned) or objects with [null-prototype](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object#null-prototype_objects) +* Objects that are instances of any class (other than the built-ins mentioned) or objects with [a null prototype](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object#null-prototype_objects) * Symbols not registered globally, ex. `Symbol('my new symbol')` From 55b9e04da0c685661e84fd269ff6c4e31b83b679 Mon Sep 17 00:00:00 2001 From: Soichiro Miki <smiki-tky@umin.ac.jp> Date: Tue, 7 Nov 2023 07:09:49 +0900 Subject: [PATCH 107/382] Remove "canary: true" from `useTransition` in Sidebar (#6411) --- src/sidebarReference.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/sidebarReference.json b/src/sidebarReference.json index 5a655655..315ea3e0 100644 --- a/src/sidebarReference.json +++ b/src/sidebarReference.json @@ -82,8 +82,7 @@ }, { "title": "useTransition", - "path": "/reference/react/useTransition", - "canary": true + "path": "/reference/react/useTransition" } ] }, From 617065b8be84ee44114a6dd01af0a040c0f33fd9 Mon Sep 17 00:00:00 2001 From: Soichiro Miki <smiki-tky@umin.ac.jp> Date: Tue, 7 Nov 2023 07:11:40 +0900 Subject: [PATCH 108/382] Fix style in React Reference Overview (#6410) --- src/content/reference/react/index.md | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/src/content/reference/react/index.md b/src/content/reference/react/index.md index 452f326d..43394acf 100644 --- a/src/content/reference/react/index.md +++ b/src/content/reference/react/index.md @@ -3,28 +3,32 @@ title: React Reference Overview --- <Intro> -This section provides detailed reference documentation for working with React. -For an introduction to React, please visit the [Learn](/learn) section. + +This section provides detailed reference documentation for working with React. For an introduction to React, please visit the [Learn](/learn) section. + </Intro> -Our The React reference documentation is broken down into functional subsections: +Our The React reference documentation is broken down into functional subsections: ## React {/*react*/} -Programmatic React features: + +Programmatic React features: + * [Hooks](/reference/react/hooks) - Use different React features from your components. * [Components](/reference/react/components) - Documents built-in components that you can use in your JSX. -* [APIs](/reference/react/apis) - APIs that are useful for defining components. +* [APIs](/reference/react/apis) - APIs that are useful for defining components. * [Directives](/reference/react/directives) - Provide instructions to bundlers compatible with React Server Components. ## React DOM {/*react-dom*/} -React-dom contains features that are only supported for web applications -(which run in the browser DOM environment). This section is broken into the following: + +React-dom contains features that are only supported for web applications (which run in the browser DOM environment). This section is broken into the following: * [Hooks](/reference/react-dom/hooks) - Hooks for web applications which run in the browser DOM environment. * [Components](/reference/react-dom/components) - React supports all of the browser built-in HTML and SVG components. * [APIs](/reference/react-dom) - The `react-dom` package contains methods supported only in web applications. -* [Client APIs](/reference/react-dom/client) - The `react-dom/client` APIs let you render React components on the client (in the browser). +* [Client APIs](/reference/react-dom/client) - The `react-dom/client` APIs let you render React components on the client (in the browser). * [Server APIs](/reference/react-dom/server) - The `react-dom/server` APIs let you render React components to HTML on the server. ## Legacy APIs {/*legacy-apis*/} -* [Legacy APIs](/reference/react/legacy) - Exported from the react package, but not recommended for use in newly written code. \ No newline at end of file + +* [Legacy APIs](/reference/react/legacy) - Exported from the `react` package, but not recommended for use in newly written code. From 8727204b04f050d1b7c065a9157fc3531552f018 Mon Sep 17 00:00:00 2001 From: Alen Ajam <alen.ajam4@gmail.com> Date: Tue, 7 Nov 2023 00:22:48 +0100 Subject: [PATCH 109/382] fix Illustration and IllustrationBlock alt color on dark mode (#5981) --- src/components/MDX/MDXComponents.tsx | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/components/MDX/MDXComponents.tsx b/src/components/MDX/MDXComponents.tsx index 8344f977..74ab788b 100644 --- a/src/components/MDX/MDXComponents.tsx +++ b/src/components/MDX/MDXComponents.tsx @@ -243,7 +243,7 @@ function Illustration({ src={src} alt={alt} style={{maxHeight: 300}} - className="bg-white rounded-lg" + className="rounded-lg" /> {caption ? ( <figcaption className="text-center leading-tight mt-4"> @@ -275,7 +275,12 @@ function IllustrationBlock({ const images = imageInfos.map((info, index) => ( <figure key={index}> <div className="bg-white rounded-lg p-4 flex-1 flex xl:p-6 justify-center items-center my-4"> - <img src={info.src} alt={info.alt} height={info.height} /> + <img + className="text-primary" + src={info.src} + alt={info.alt} + height={info.height} + /> </div> {info.caption ? ( <figcaption className="text-secondary dark:text-secondary-dark text-center leading-tight mt-4"> From 42ca996138ba45775d0ba93128b3f2998d0828bf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Xuan=20Huang=20=28=E9=BB=84=E7=8E=84=29?= <huxpro@gmail.com> Date: Tue, 7 Nov 2023 19:56:44 +0800 Subject: [PATCH 110/382] Captailize Server Action (#6417) Summary of changes: "Server Action", like "Effect", is a React-specific notion that would be benefited from captailization to be distinguished from its genertic meaning. It seems like [Next doc](https://nextjs.org/docs/app/api-reference/functions/server-actions) has also adopted such connventions and we should probably do the same. Co-authored-by: xuan.huang <xuan.huang@bytedance.com> --- .../reference/react-dom/components/form.md | 6 +-- .../reference/react-dom/hooks/useFormState.md | 6 +-- src/content/reference/react/use-client.md | 4 +- src/content/reference/react/use-server.md | 48 +++++++++---------- 4 files changed, 32 insertions(+), 32 deletions(-) diff --git a/src/content/reference/react-dom/components/form.md b/src/content/reference/react-dom/components/form.md index dfffc74f..25d1ba4e 100644 --- a/src/content/reference/react-dom/components/form.md +++ b/src/content/reference/react-dom/components/form.md @@ -93,11 +93,11 @@ export default function Search() { ### Handle form submission with a Server Action {/*handle-form-submission-with-a-server-action*/} -Render a `<form>` with an input and submit button. Pass a server action (a function marked with [`'use server'`](/reference/react/use-server)) to the `action` prop of form to run the function when the form is submitted. +Render a `<form>` with an input and submit button. Pass a Server Action (a function marked with [`'use server'`](/reference/react/use-server)) to the `action` prop of form to run the function when the form is submitted. -Passing a server action to `<form action>` allow users to submit forms without JavaScript enabled or before the code has loaded. This is beneficial to users who have a slow connection, device, or have JavaScript disabled and is similar to the way forms work when a URL is passed to the `action` prop. +Passing a Server Action to `<form action>` allow users to submit forms without JavaScript enabled or before the code has loaded. This is beneficial to users who have a slow connection, device, or have JavaScript disabled and is similar to the way forms work when a URL is passed to the `action` prop. -You can use hidden form fields to provide data to the `<form>`'s action. The server action will be called with the hidden form field data as an instance of [`FormData`](https://developer.mozilla.org/en-US/docs/Web/API/FormData). +You can use hidden form fields to provide data to the `<form>`'s action. The Server Action will be called with the hidden form field data as an instance of [`FormData`](https://developer.mozilla.org/en-US/docs/Web/API/FormData). ```jsx import { updateCart } from './lib.js'; diff --git a/src/content/reference/react-dom/hooks/useFormState.md b/src/content/reference/react-dom/hooks/useFormState.md index 53c73ae3..b2808079 100644 --- a/src/content/reference/react-dom/hooks/useFormState.md +++ b/src/content/reference/react-dom/hooks/useFormState.md @@ -51,7 +51,7 @@ function StatefulForm({}) { The form state is the value returned by the action when the form was last submitted. If the form has not yet been submitted, it is the initial state that you pass. -If used with a server action, `useFormState` allows the server's response from submitting the form to be shown even before hydration has completed. +If used with a Server Action, `useFormState` allows the server's response from submitting the form to be shown even before hydration has completed. [See more examples below.](#usage) @@ -117,7 +117,7 @@ function action(currentState, formData) { #### Display form errors {/*display-form-errors*/} -To display messages such as an error message or toast that's returned by a server action, wrap the action in a call to `useFormState`. +To display messages such as an error message or toast that's returned by a Server Action, wrap the action in a call to `useFormState`. <Sandpack> @@ -190,7 +190,7 @@ form button { #### Display structured information after submitting a form {/*display-structured-information-after-submitting-a-form*/} -The return value from a server action can be any serializable value. For example, it could be an object that includes a boolean indicating whether the action was successful, an error message, or updated information. +The return value from a Server Action can be any serializable value. For example, it could be an object that includes a boolean indicating whether the action was successful, an error message, or updated information. <Sandpack> diff --git a/src/content/reference/react/use-client.md b/src/content/reference/react/use-client.md index f4b90d28..be8bd008 100644 --- a/src/content/reference/react/use-client.md +++ b/src/content/reference/react/use-client.md @@ -269,7 +269,7 @@ Serializable props include: * [TypedArray](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray) and [ArrayBuffer](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer) * [Date](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date) * Plain [objects](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object): those created with [object initializers](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Object_initializer), with serializable properties -* Functions that are [server actions](/reference/react/use-server) +* Functions that are [Server Actions](/reference/react/use-server) * Client or Server Component elements (JSX) * [Promises](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) @@ -376,4 +376,4 @@ These libraries may rely on component Hooks or client APIs. Third-party componen If these libraries have been updated to be compatible with React Server Components, then they will already include `'use client'` markers of their own, allowing you to use them directly from your Server Components. If a library hasn't been updated, or if a component needs props like event handlers that can only be specified on the client, you may need to add your own Client Component file in between the third-party Client Component and your Server Component where you'd like to use it. -[TODO]: <> (Troubleshooting - need use-cases) \ No newline at end of file +[TODO]: <> (Troubleshooting - need use-cases) diff --git a/src/content/reference/react/use-server.md b/src/content/reference/react/use-server.md index 69f5e104..938efa90 100644 --- a/src/content/reference/react/use-server.md +++ b/src/content/reference/react/use-server.md @@ -25,7 +25,7 @@ canary: true ### `'use server'` {/*use-server*/} -Add `'use server'` at the top of an async function body to mark the function as callable by the client. We call these functions _server actions_. +Add `'use server'` at the top of an async function body to mark the function as callable by the client. We call these functions _Server Actions_. ```js {2} async function addToCart(data) { @@ -34,28 +34,28 @@ async function addToCart(data) { } ``` -When calling a server action on the client, it will make a network request to the server that includes a serialized copy of any arguments passed. If the server action returns a value, that value will be serialized and returned to the client. +When calling a Server Action on the client, it will make a network request to the server that includes a serialized copy of any arguments passed. If the Server Action returns a value, that value will be serialized and returned to the client. -Instead of individually marking functions with `'use server'`, you can add the directive to the top of a file to mark all exports within that file as server actions that can be used anywhere, including imported in client code. +Instead of individually marking functions with `'use server'`, you can add the directive to the top of a file to mark all exports within that file as Server Actions that can be used anywhere, including imported in client code. #### Caveats {/*caveats*/} * `'use server'` must be at the very beginning of their function or module; above any other code including imports (comments above directives are OK). They must be written with single or double quotes, not backticks. -* `'use server'` can only be used in server-side files. The resulting server actions can be passed to Client Components through props. See supported [types for serialization](#serializable-parameters-and-return-values). -* To import a server action from [client code](/reference/react/use-client), the directive must be used on a module level. +* `'use server'` can only be used in server-side files. The resulting Server Actions can be passed to Client Components through props. See supported [types for serialization](#serializable-parameters-and-return-values). +* To import a Server Action from [client code](/reference/react/use-client), the directive must be used on a module level. * Because the underlying network calls are always asynchronous, `'use server'` can only be used on async functions. -* Always treat arguments to server actions as untrusted input and authorize any mutations. See [security considerations](#security). -* Server actions should be called in a [transition](/reference/react/useTransition). Server actions passed to [`<form action>`](/reference/react-dom/components/form#props) or [`formAction`](/reference/react-dom/components/input#props) will automatically be called in a transition. -* Server actions are designed for mutations that update server-side state; they are not recommended for data fetching. Accordingly, frameworks implementing server actions typically process one action at a time and do not have a way to cache the return value. +* Always treat arguments to Server Actions as untrusted input and authorize any mutations. See [security considerations](#security). +* Server Actions should be called in a [transition](/reference/react/useTransition). Server Actions passed to [`<form action>`](/reference/react-dom/components/form#props) or [`formAction`](/reference/react-dom/components/input#props) will automatically be called in a transition. +* Server Actions are designed for mutations that update server-side state; they are not recommended for data fetching. Accordingly, frameworks implementing Server Actions typically process one action at a time and do not have a way to cache the return value. ### Security considerations {/*security*/} -Arguments to server actions are fully client-controlled. For security, always treat them as untrusted input, and make sure to validate and escape arguments as appropriate. +Arguments to Server Actions are fully client-controlled. For security, always treat them as untrusted input, and make sure to validate and escape arguments as appropriate. -In any server action, make sure to validate that the logged-in user is allowed to perform that action. +In any Server Action, make sure to validate that the logged-in user is allowed to perform that action. <Wip> -To prevent sending sensitive data from a server action, there are experimental taint APIs to prevent unique values and objects from being passed to client code. +To prevent sending sensitive data from a Server Action, there are experimental taint APIs to prevent unique values and objects from being passed to client code. See [experimental_taintUniqueValue](/reference/react/experimental_taintUniqueValue) and [experimental_taintObjectReference](/reference/react/experimental_taintObjectReference). @@ -63,9 +63,9 @@ See [experimental_taintUniqueValue](/reference/react/experimental_taintUniqueVal ### Serializable arguments and return values {/*serializable-parameters-and-return-values*/} -As client code calls the server action over the network, any arguments passed will need to be serializable. +As client code calls the Server Action over the network, any arguments passed will need to be serializable. -Here are supported types for server action arguments: +Here are supported types for Server Action arguments: * Primitives * [string](https://developer.mozilla.org/en-US/docs/Glossary/String) @@ -84,12 +84,12 @@ Here are supported types for server action arguments: * [Date](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date) * [FormData](https://developer.mozilla.org/en-US/docs/Web/API/FormData) instances * Plain [objects](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object): those created with [object initializers](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Object_initializer), with serializable properties -* Functions that are server actions +* Functions that are Server Actions * [Promises](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) Notably, these are not supported: * React elements, or [JSX](https://react.dev/learn/writing-markup-with-jsx) -* Functions, including component functions or any other function that is not a server action +* Functions, including component functions or any other function that is not a Server Action * [Classes](https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Objects/Classes_in_JavaScript) * Objects that are instances of any class (other than the built-ins mentioned) or objects with [a null prototype](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object#null-prototype_objects) * Symbols not registered globally, ex. `Symbol('my new symbol')` @@ -100,9 +100,9 @@ Supported serializable return values are the same as [serializable props](/refer ## Usage {/*usage*/} -### Server actions in forms {/*server-actions-in-forms*/} +### Server Actions in forms {/*server-actions-in-forms*/} -The most common use case of server actions will be calling server functions that mutate data. On the browser, the [HTML form element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form) is the traditional approach for a user to submit a mutation. With React Server Components, React introduces first-class support for server actions in [forms](/reference/react-dom/components/form). +The most common use case of Server Actions will be calling server functions that mutate data. On the browser, the [HTML form element](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form) is the traditional approach for a user to submit a mutation. With React Server Components, React introduces first-class support for Server Actions in [forms](/reference/react-dom/components/form). Here is a form that allows a user to request a username. @@ -123,15 +123,15 @@ export default App() { } ``` -In this example `requestUsername` is a server action passed to a `<form>`. When a user submits this form, there is a network request to the server function `requestUsername`. When calling a server action in a form, React will supply the form's <CodeStep step={1}>[FormData](https://developer.mozilla.org/en-US/docs/Web/API/FormData)</CodeStep> as the first argument to the server action. +In this example `requestUsername` is a Server Action passed to a `<form>`. When a user submits this form, there is a network request to the server function `requestUsername`. When calling a Server Action in a form, React will supply the form's <CodeStep step={1}>[FormData](https://developer.mozilla.org/en-US/docs/Web/API/FormData)</CodeStep> as the first argument to the Server Action. -By passing a server action to the form `action`, React can [progressively enhance](https://developer.mozilla.org/en-US/docs/Glossary/Progressive_Enhancement) the form. This means that forms can be submitted before the JavaScript bundle is loaded. +By passing a Server Action to the form `action`, React can [progressively enhance](https://developer.mozilla.org/en-US/docs/Glossary/Progressive_Enhancement) the form. This means that forms can be submitted before the JavaScript bundle is loaded. #### Handling return values in forms {/*handling-return-values*/} In the username request form, there might be the chance that a username is not available. `requestUsername` should tell us if it fails or not. -To update the UI based on the result of a server action while supporting progressive enhancement, use [`useFormState`](/reference/react-dom/hooks/useFormState). +To update the UI based on the result of a Server Action while supporting progressive enhancement, use [`useFormState`](/reference/react-dom/hooks/useFormState). ```js // requestUsername.js @@ -171,11 +171,11 @@ function UsernameForm() { Note that like most Hooks, `useFormState` can only be called in <CodeStep step={1}>[client code](/reference/react/use-client)</CodeStep>. -### Calling a server action outside of `<form>` {/*calling-a-server-action-outside-of-form*/} +### Calling a Server Action outside of `<form>` {/*calling-a-server-action-outside-of-form*/} -Server actions are exposed server endpoints and can be called anywhere in client code. +Server Actions are exposed server endpoints and can be called anywhere in client code. -When using a server action outside of a [form](/reference/react-dom/components/form), call the server action in a [transition](/reference/react/useTransition), which allows you to display a loading indicator, show [optimistic state updates](/reference/react/useOptimistic), and handle unexpected errors. Forms will automatically wrap server actions in transitions. +When using a Server Action outside of a [form](/reference/react-dom/components/form), call the Server Action in a [transition](/reference/react/useTransition), which allows you to display a loading indicator, show [optimistic state updates](/reference/react/useOptimistic), and handle unexpected errors. Forms will automatically wrap Server Actions in transitions. ```js {9-12} import incrementLike from './actions'; @@ -212,4 +212,4 @@ export default async incrementLike() { } ``` -To read a server action return value, you'll need to `await` the promise returned. \ No newline at end of file +To read a Server Action return value, you'll need to `await` the promise returned. From 292e55de89ed813209c27a34291ea8e06bd306e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Xuan=20Huang=20=28=E9=BB=84=E7=8E=84=29?= <huxpro@gmail.com> Date: Tue, 7 Nov 2023 20:32:52 +0800 Subject: [PATCH 111/382] Capitalize Client/Server Component (#6418) Summary of changes: following <https://github.com/reactjs/react.dev/pull/6417> Co-authored-by: xuan.huang <xuan.huang@bytedance.com> --- .../06/15/react-labs-what-we-have-been-working-on-june-2022.md | 2 +- src/content/reference/react/use.md | 2 +- src/content/reference/react/useId.md | 3 +-- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/content/blog/2022/06/15/react-labs-what-we-have-been-working-on-june-2022.md b/src/content/blog/2022/06/15/react-labs-what-we-have-been-working-on-june-2022.md index 938b75c4..df864db1 100644 --- a/src/content/blog/2022/06/15/react-labs-what-we-have-been-working-on-june-2022.md +++ b/src/content/blog/2022/06/15/react-labs-what-we-have-been-working-on-june-2022.md @@ -28,7 +28,7 @@ We’re working together with Vercel and Shopify to unify bundler support for sh ## Asset Loading {/*asset-loading*/} -Currently, assets like scripts, external styles, fonts, and images are typically preloaded and loaded using external systems. This can make it tricky to coordinate across new environments like streaming, server components, and more. +Currently, assets like scripts, external styles, fonts, and images are typically preloaded and loaded using external systems. This can make it tricky to coordinate across new environments like streaming, Server Components, and more. We’re looking at adding APIs to preload and load deduplicated external assets through React APIs that work in all React environments. We’re also looking at having these support Suspense so you can have images, CSS, and fonts that block display until they’re loaded but don’t block streaming and concurrent rendering. This can help avoid [“popcorning“](https://twitter.com/sebmarkbage/status/1516852731251724293) as the visuals pop and layout shifts. diff --git a/src/content/reference/react/use.md b/src/content/reference/react/use.md index 8e1a8f21..b726e67d 100644 --- a/src/content/reference/react/use.md +++ b/src/content/reference/react/use.md @@ -334,7 +334,7 @@ When passing a Promise from a Server Component to a Client Component, its resolv #### Should I resolve a Promise in a Server or Client Component? {/*resolve-promise-in-server-or-client-component*/} -A Promise can be passed from a Server Component to a Client Component and resolved in the Client component with the `use` Hook. You can also resolve the Promise in a Server Component with `await` and pass the required data to the Client Component as a prop. +A Promise can be passed from a Server Component to a Client Component and resolved in the Client Component with the `use` Hook. You can also resolve the Promise in a Server Component with `await` and pass the required data to the Client Component as a prop. ```js export default function App() { diff --git a/src/content/reference/react/useId.md b/src/content/reference/react/useId.md index 4ea029f2..96a5e25a 100644 --- a/src/content/reference/react/useId.md +++ b/src/content/reference/react/useId.md @@ -179,7 +179,7 @@ You might be wondering why `useId` is better than incrementing a global variable The primary benefit of `useId` is that React ensures that it works with [server rendering.](/reference/react-dom/server) During server rendering, your components generate HTML output. Later, on the client, [hydration](/reference/react-dom/client/hydrateRoot) attaches your event handlers to the generated HTML. For hydration to work, the client output must match the server HTML. -This is very difficult to guarantee with an incrementing counter because the order in which the client components are hydrated may not match the order in which the server HTML was emitted. By calling `useId`, you ensure that hydration will work, and the output will match between the server and the client. +This is very difficult to guarantee with an incrementing counter because the order in which the Client Components are hydrated may not match the order in which the server HTML was emitted. By calling `useId`, you ensure that hydration will work, and the output will match between the server and the client. Inside React, `useId` is generated from the "parent path" of the calling component. This is why, if the client and the server tree are the same, the "parent path" will match up regardless of rendering order. @@ -302,4 +302,3 @@ input { margin: 5px; } ``` </Sandpack> - From c5a2e15d58eeaa8f4952edc2d00cedb158e4b037 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Xuan=20Huang=20=28=E9=BB=84=E7=8E=84=29?= <huxpro@gmail.com> Date: Tue, 7 Nov 2023 20:50:57 +0800 Subject: [PATCH 112/382] Capitalize Client in "client modules" (#6419) Summary of changes: See <https://github.com/reactjs/react.dev/pull/6417> Co-authored-by: xuan.huang <xuan.huang@bytedance.com> --- src/content/reference/react/use-client.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/content/reference/react/use-client.md b/src/content/reference/react/use-client.md index be8bd008..dedd2480 100644 --- a/src/content/reference/react/use-client.md +++ b/src/content/reference/react/use-client.md @@ -51,14 +51,14 @@ As dependencies of `RichTextEditor`, `formatDate` and `Button` will also be eval * When a `'use client'` module is imported from another client-rendered module, the directive has no effect. * When a component module contains a `'use client'` directive, any usage of that component is guaranteed to be a Client Component. However, a component can still be evaluated on the client even if it does not have a `'use client'` directive. * A component usage is considered a Client Component if it is defined in module with `'use client'` directive or when it is a transitive dependency of a module that contains a `'use client'` directive. Otherwise, it is a Server Component. -* Code that is marked for client evaluation is not limited to components. All code that is a part of the client module sub-tree is sent to and run by the client. +* Code that is marked for client evaluation is not limited to components. All code that is a part of the Client module sub-tree is sent to and run by the client. * When a server evaluated module imports values from a `'use client'` module, the values must either be a React component or [supported serializable prop values](#passing-props-from-server-to-client-components) to be passed to a Client Component. Any other use case will throw an exception. ### How `'use client'` marks client code {/*how-use-client-marks-client-code*/} In a React app, components are often split into separate files, or [modules](/learn/importing-and-exporting-components#exporting-and-importing-a-component). -For apps that use React Server Components, the app is server-rendered by default. `'use client'` introduces a server-client boundary in the [module dependency tree](/learn/understanding-your-ui-as-a-tree#the-module-dependency-tree), effectively creating a subtree of client modules. +For apps that use React Server Components, the app is server-rendered by default. `'use client'` introduces a server-client boundary in the [module dependency tree](/learn/understanding-your-ui-as-a-tree#the-module-dependency-tree), effectively creating a subtree of Client modules. To better illustrate this, consider the following React Server Components app. @@ -145,7 +145,7 @@ export default [ </Sandpack> -In the module dependency tree of this example app, the `'use client'` directive in `InspirationGenerator.js` marks that module and all of its transitive dependencies as client modules. The subtree starting at `InspirationGenerator.js` is now marked as client modules. +In the module dependency tree of this example app, the `'use client'` directive in `InspirationGenerator.js` marks that module and all of its transitive dependencies as Client modules. The subtree starting at `InspirationGenerator.js` is now marked as Client modules. <Diagram name="use_client_module_dependency" height={250} width={545} alt="A tree graph with the top node representing the module 'App.js'. 'App.js' has three children: 'Copyright.js', 'FancyText.js', and 'InspirationGenerator.js'. 'InspirationGenerator.js' has two children: 'FancyText.js' and 'inspirations.js'. The nodes under and including 'InspirationGenerator.js' have a yellow background color to signify that this sub-graph is client-rendered due to the 'use client' directive in 'InspirationGenerator.js'."> `'use client'` segments the module dependency tree of the React Server Components app, marking `InspirationGenerator.js` and all of its dependencies as client-rendered. @@ -237,7 +237,7 @@ With `'use client'`, you can determine when components are Client Components. As For simplicity, we talk about Server Components, but the same principles apply to all code in your app that is server run. #### Advantages of Server Components {/*advantages*/} -* Server Components can reduce the amount of code sent and run by the client. Only client modules are bundled and evaluated by the client. +* Server Components can reduce the amount of code sent and run by the client. Only Client modules are bundled and evaluated by the client. * Server Components benefit from running on the server. They can access the local filesystem and may experience low latency for data fetches and network requests. #### Limitations of Server Components {/*limitations*/} From 721479b34668cb1bdfe2e312a86c04f08cd5d659 Mon Sep 17 00:00:00 2001 From: Kathryn Middleton <kmiddleton14@gmail.com> Date: Tue, 7 Nov 2023 09:36:55 -0500 Subject: [PATCH 113/382] Check for value before passing to gtag (#6415) --- src/components/Layout/Feedback.tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/components/Layout/Feedback.tsx b/src/components/Layout/Feedback.tsx index 86fc9135..b36112c4 100644 --- a/src/components/Layout/Feedback.tsx +++ b/src/components/Layout/Feedback.tsx @@ -45,13 +45,14 @@ const thumbsDownIcon = ( ); function sendGAEvent(isPositive: boolean) { + const value = isPositive ? 1 : 0; // Fragile. Don't change unless you've tested the network payload // and verified that the right events actually show up in GA. // @ts-ignore gtag('event', 'feedback', { event_category: 'button', event_label: window.location.pathname, - value: isPositive ? 1 : 0, + value, }); } From eeb0979c3c41870530b08e7d46780655ccfc8580 Mon Sep 17 00:00:00 2001 From: Kathryn Middleton <kmiddleton14@gmail.com> Date: Wed, 8 Nov 2023 11:40:02 -0500 Subject: [PATCH 114/382] Update event label and value name (#6421) --- src/components/Layout/Feedback.tsx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/components/Layout/Feedback.tsx b/src/components/Layout/Feedback.tsx index b36112c4..8639ce12 100644 --- a/src/components/Layout/Feedback.tsx +++ b/src/components/Layout/Feedback.tsx @@ -45,14 +45,15 @@ const thumbsDownIcon = ( ); function sendGAEvent(isPositive: boolean) { + const category = isPositive ? 'like_button' : 'dislike_button'; const value = isPositive ? 1 : 0; // Fragile. Don't change unless you've tested the network payload // and verified that the right events actually show up in GA. // @ts-ignore gtag('event', 'feedback', { - event_category: 'button', + event_category: category, event_label: window.location.pathname, - value, + event_value: value, }); } From 49ebed1b5bc753b9584ea137943ab22985f3bfe3 Mon Sep 17 00:00:00 2001 From: Kathryn Middleton <kmiddleton14@gmail.com> Date: Wed, 8 Nov 2023 13:08:58 -0500 Subject: [PATCH 115/382] Fix useOptimistic demo bug (#6422) --- src/content/reference/react/useOptimistic.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/reference/react/useOptimistic.md b/src/content/reference/react/useOptimistic.md index d0511b1a..47593a0a 100644 --- a/src/content/reference/react/useOptimistic.md +++ b/src/content/reference/react/useOptimistic.md @@ -116,7 +116,7 @@ export default function App() { ]); async function sendMessage(formData) { const sentMessage = await deliverMessage(formData.get("message")); - setMessages([...messages, { text: sentMessage }]); + setMessages((messages) => [...messages, { text: sentMessage }]); } return <Thread messages={messages} sendMessage={sendMessage} />; } From 44f442d5b201c633619c1c9a5fec784891c696ae Mon Sep 17 00:00:00 2001 From: Luna <lunaleaps@gmail.com> Date: Wed, 8 Nov 2023 19:55:40 -0400 Subject: [PATCH 116/382] Add space for canary title (#6416) Co-authored-by: Luna Wei <luwe@fb.com> --- src/components/Layout/Sidebar/SidebarLink.tsx | 2 +- src/components/PageHeading.tsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/Layout/Sidebar/SidebarLink.tsx b/src/components/Layout/Sidebar/SidebarLink.tsx index 180ded86..8a71d9e6 100644 --- a/src/components/Layout/Sidebar/SidebarLink.tsx +++ b/src/components/Layout/Sidebar/SidebarLink.tsx @@ -77,7 +77,7 @@ export function SidebarLink({ {title}{' '} {canary && ( <IconCanary - title="This feature is available in the latest Canary" + title=" - This feature is available in the latest Canary" className="ms-2 text-gray-30 dark:text-gray-60 inline-block w-4 h-4 align-[-3px]" /> )} diff --git a/src/components/PageHeading.tsx b/src/components/PageHeading.tsx index 076a38be..659295d0 100644 --- a/src/components/PageHeading.tsx +++ b/src/components/PageHeading.tsx @@ -34,7 +34,7 @@ function PageHeading({ {title} {canary && ( <IconCanary - title="This feature is available in the latest Canary" + title=" - This feature is available in the latest Canary" className="ms-4 mt-1 text-gray-50 dark:text-gray-40 inline-block w-6 h-6 align-[-1px]" /> )} From fcd00068bd1bdd4eb37e3e0ab0488a9d093670bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Xuan=20Huang=20=28=E9=BB=84=E7=8E=84=29?= <huxpro@gmail.com> Date: Fri, 10 Nov 2023 21:57:45 +0800 Subject: [PATCH 117/382] Capitalize word "Hook" (#6424) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Summary of changes: See <https://github.com/reactjs/react.dev/pull/6417>. There is one exception though. The error message “Rendered fewer hooks than expected” from React is indeed "hooks" so I kept as-is. Shall we change the error message from React? Co-authored-by: xuan.huang <xuan.huang@bytedance.com> --- .../blog/2022/03/08/react-18-upgrade-guide.md | 4 ++-- src/content/blog/2022/03/29/react-v18.md | 11 +++++----- ...-what-we-have-been-working-on-june-2022.md | 2 +- ...what-we-have-been-working-on-march-2023.md | 2 +- src/content/learn/typescript.md | 20 +++++++++---------- src/content/reference/react/use-client.md | 2 +- 6 files changed, 20 insertions(+), 21 deletions(-) diff --git a/src/content/blog/2022/03/08/react-18-upgrade-guide.md b/src/content/blog/2022/03/08/react-18-upgrade-guide.md index 29ba0b71..66da896e 100644 --- a/src/content/blog/2022/03/08/react-18-upgrade-guide.md +++ b/src/content/blog/2022/03/08/react-18-upgrade-guide.md @@ -224,8 +224,8 @@ For more information, see the [Automatic batching deep dive](https://github.com/ In the React 18 Working Group we worked with library maintainers to create new APIs needed to support concurrent rendering for use cases specific to their use case in areas like styles, and external stores. To support React 18, some libraries may need to switch to one of the following APIs: -* `useSyncExternalStore` is a new hook that allows external stores to support concurrent reads by forcing updates to the store to be synchronous. This new API is recommended for any library that integrates with state external to React. For more information, see the [useSyncExternalStore overview post](https://github.com/reactwg/react-18/discussions/70) and [useSyncExternalStore API details](https://github.com/reactwg/react-18/discussions/86). -* `useInsertionEffect` is a new hook that allows CSS-in-JS libraries to address performance issues of injecting styles in render. Unless you've already built a CSS-in-JS library we don't expect you to ever use this. This hook will run after the DOM is mutated, but before layout effects read the new layout. This solves an issue that already exists in React 17 and below, but is even more important in React 18 because React yields to the browser during concurrent rendering, giving it a chance to recalculate layout. For more information, see the [Library Upgrade Guide for `<style>`](https://github.com/reactwg/react-18/discussions/110). +* `useSyncExternalStore` is a new Hook that allows external stores to support concurrent reads by forcing updates to the store to be synchronous. This new API is recommended for any library that integrates with state external to React. For more information, see the [useSyncExternalStore overview post](https://github.com/reactwg/react-18/discussions/70) and [useSyncExternalStore API details](https://github.com/reactwg/react-18/discussions/86). +* `useInsertionEffect` is a new Hook that allows CSS-in-JS libraries to address performance issues of injecting styles in render. Unless you've already built a CSS-in-JS library we don't expect you to ever use this. This Hook will run after the DOM is mutated, but before layout effects read the new layout. This solves an issue that already exists in React 17 and below, but is even more important in React 18 because React yields to the browser during concurrent rendering, giving it a chance to recalculate layout. For more information, see the [Library Upgrade Guide for `<style>`](https://github.com/reactwg/react-18/discussions/110). React 18 also introduces new APIs for concurrent rendering such as `startTransition`, `useDeferredValue` and `useId`, which we share more about in the [release post](/blog/2022/03/29/react-v18). diff --git a/src/content/blog/2022/03/29/react-v18.md b/src/content/blog/2022/03/29/react-v18.md index b390ce94..743404c1 100644 --- a/src/content/blog/2022/03/29/react-v18.md +++ b/src/content/blog/2022/03/29/react-v18.md @@ -139,8 +139,8 @@ startTransition(() => { Updates wrapped in startTransition are handled as non-urgent and will be interrupted if more urgent updates like clicks or key presses come in. If a transition gets interrupted by the user (for example, by typing multiple characters in a row), React will throw out the stale rendering work that wasn’t finished and render only the latest update. -* `useTransition`: a hook to start transitions, including a value to track the pending state. -* `startTransition`: a method to start transitions when the hook cannot be used. +* `useTransition`: a Hook to start transitions, including a value to track the pending state. +* `startTransition`: a method to start transitions when the Hook cannot be used. Transitions will opt in to concurrent rendering, which allows the update to be interrupted. If the content re-suspends, transitions also tell React to continue showing the current content while rendering the transition content in the background (see the [Suspense RFC](https://github.com/reactjs/rfcs/blob/main/text/0213-suspense-in-react-18.md) for more info). @@ -229,7 +229,7 @@ With Strict Mode in React 18, React will simulate unmounting and remounting the #### useId {/*useid*/} -`useId` is a new hook for generating unique IDs on both the client and server, while avoiding hydration mismatches. It is primarily useful for component libraries integrating with accessibility APIs that require unique IDs. This solves an issue that already exists in React 17 and below, but it's even more important in React 18 because of how the new streaming server renderer delivers HTML out-of-order. [See docs here](/reference/react/useId). +`useId` is a new Hook for generating unique IDs on both the client and server, while avoiding hydration mismatches. It is primarily useful for component libraries integrating with accessibility APIs that require unique IDs. This solves an issue that already exists in React 17 and below, but it's even more important in React 18 because of how the new streaming server renderer delivers HTML out-of-order. [See docs here](/reference/react/useId). > Note > @@ -245,7 +245,7 @@ With Strict Mode in React 18, React will simulate unmounting and remounting the #### useSyncExternalStore {/*usesyncexternalstore*/} -`useSyncExternalStore` is a new hook that allows external stores to support concurrent reads by forcing updates to the store to be synchronous. It removes the need for useEffect when implementing subscriptions to external data sources, and is recommended for any library that integrates with state external to React. [See docs here](/reference/react/useSyncExternalStore). +`useSyncExternalStore` is a new Hook that allows external stores to support concurrent reads by forcing updates to the store to be synchronous. It removes the need for useEffect when implementing subscriptions to external data sources, and is recommended for any library that integrates with state external to React. [See docs here](/reference/react/useSyncExternalStore). > Note > @@ -253,7 +253,7 @@ With Strict Mode in React 18, React will simulate unmounting and remounting the #### useInsertionEffect {/*useinsertioneffect*/} -`useInsertionEffect` is a new hook that allows CSS-in-JS libraries to address performance issues of injecting styles in render. Unless you’ve already built a CSS-in-JS library we don’t expect you to ever use this. This hook will run after the DOM is mutated, but before layout effects read the new layout. This solves an issue that already exists in React 17 and below, but is even more important in React 18 because React yields to the browser during concurrent rendering, giving it a chance to recalculate layout. [See docs here](/reference/react/useInsertionEffect). +`useInsertionEffect` is a new Hook that allows CSS-in-JS libraries to address performance issues of injecting styles in render. Unless you’ve already built a CSS-in-JS library we don’t expect you to ever use this. This Hook will run after the DOM is mutated, but before layout effects read the new layout. This solves an issue that already exists in React 17 and below, but is even more important in React 18 because React yields to the browser during concurrent rendering, giving it a chance to recalculate layout. [See docs here](/reference/react/useInsertionEffect). > Note > @@ -339,4 +339,3 @@ See [How to Upgrade to React 18](/blog/2022/03/08/react-18-upgrade-guide) for st * Update webpack plugin for webpack 5 ([#22739](https://github.com/facebook/react/pull/22739) by [@michenly](https://github.com/michenly)) * Fix a mistake in the Node loader. ([#22537](https://github.com/facebook/react/pull/22537) by [@btea](https://github.com/btea)) * Use `globalThis` instead of `window` for edge environments. ([#22777](https://github.com/facebook/react/pull/22777) by [@huozhi](https://github.com/huozhi)) - diff --git a/src/content/blog/2022/06/15/react-labs-what-we-have-been-working-on-june-2022.md b/src/content/blog/2022/06/15/react-labs-what-we-have-been-working-on-june-2022.md index df864db1..45026912 100644 --- a/src/content/blog/2022/06/15/react-labs-what-we-have-been-working-on-june-2022.md +++ b/src/content/blog/2022/06/15/react-labs-what-we-have-been-working-on-june-2022.md @@ -41,7 +41,7 @@ Static Site Generation (SSG) and Incremental Static Regeneration (ISR) are great We gave an [early preview](https://www.youtube.com/watch?v=lGEMwh32soc) of React Forget at React Conf 2021. It’s a compiler that automatically generates the equivalent of `useMemo` and `useCallback` calls to minimize the cost of re-rendering, while retaining React’s programming model. -Recently, we finished a rewrite of the compiler to make it more reliable and capable. This new architecture allows us to analyze and memoize more complex patterns such as the use of [local mutations](/learn/keeping-components-pure#local-mutation-your-components-little-secret), and opens up many new compile-time optimization opportunities beyond just being on par with memoization hooks. +Recently, we finished a rewrite of the compiler to make it more reliable and capable. This new architecture allows us to analyze and memoize more complex patterns such as the use of [local mutations](/learn/keeping-components-pure#local-mutation-your-components-little-secret), and opens up many new compile-time optimization opportunities beyond just being on par with memoization Hooks. We’re also working on a playground for exploring many aspects of the compiler. While the goal of the playground is to make development of the compiler easier, we think that it will make it easier to try it out and build intuition for what the compiler does. It reveals various insights into how it works under the hood, and live renders the compiler’s outputs as you type. This will be shipped together with the compiler when it’s released. diff --git a/src/content/blog/2023/03/22/react-labs-what-we-have-been-working-on-march-2023.md b/src/content/blog/2023/03/22/react-labs-what-we-have-been-working-on-march-2023.md index 5071af6e..d232dda3 100644 --- a/src/content/blog/2023/03/22/react-labs-what-we-have-been-working-on-march-2023.md +++ b/src/content/blog/2023/03/22/react-labs-what-we-have-been-working-on-march-2023.md @@ -24,7 +24,7 @@ RSC combines the simple "request/response" mental model of server-centric Multi- Since our last update, we have merged the [React Server Components RFC](https://github.com/reactjs/rfcs/blob/main/text/0188-server-components.md) to ratify the proposal. We resolved outstanding issues with the [React Server Module Conventions](https://github.com/reactjs/rfcs/blob/main/text/0227-server-module-conventions.md) proposal, and reached consensus with our partners to go with the `"use client"` convention. These documents also act as specification for what an RSC-compatible implementation should support. -The biggest change is that we introduced [`async` / `await`](https://github.com/reactjs/rfcs/pull/229) as the primary way to do data fetching from Server Components. We also plan to support data loading from the client by introducing a new hook called `use` that unwraps Promises. Although we can't support `async / await` in arbitrary components in client-only apps, we plan to add support for it when you structure your client-only app similar to how RSC apps are structured. +The biggest change is that we introduced [`async` / `await`](https://github.com/reactjs/rfcs/pull/229) as the primary way to do data fetching from Server Components. We also plan to support data loading from the client by introducing a new Hook called `use` that unwraps Promises. Although we can't support `async / await` in arbitrary components in client-only apps, we plan to add support for it when you structure your client-only app similar to how RSC apps are structured. Now that we have data fetching pretty well sorted, we're exploring the other direction: sending data from the client to the server, so that you can execute database mutations and implement forms. We're doing this by letting you pass Server Action functions across the server/client boundary, which the client can then call, providing seamless RPC. Server Actions also give you progressively enhanced forms before JavaScript loads. diff --git a/src/content/learn/typescript.md b/src/content/learn/typescript.md index 727974b1..04c0efc1 100644 --- a/src/content/learn/typescript.md +++ b/src/content/learn/typescript.md @@ -12,7 +12,7 @@ TypeScript is a popular way to add type definitions to JavaScript codebases. Out <YouWillLearn> * [TypeScript with React Components](/learn/typescript#typescript-with-react-components) -* [Examples of typing with hooks](/learn/typescript#example-hooks) +* [Examples of typing with Hooks](/learn/typescript#example-hooks) * [Common types from `@types/react`](/learn/typescript/#useful-types) * [Further learning locations](/learn/typescript/#further-learning) @@ -124,13 +124,13 @@ The type describing your component's props can be as simple or as complex as you ## Example Hooks {/*example-hooks*/} -The type definitions from `@types/react` include types for the built-in hooks, so you can use them in your components without any additional setup. They are built to take into account the code you write in your component, so you will get [inferred types](https://www.typescriptlang.org/docs/handbook/type-inference.html) a lot of the time and ideally do not need to handle the minutiae of providing the types. +The type definitions from `@types/react` include types for the built-in Hooks, so you can use them in your components without any additional setup. They are built to take into account the code you write in your component, so you will get [inferred types](https://www.typescriptlang.org/docs/handbook/type-inference.html) a lot of the time and ideally do not need to handle the minutiae of providing the types. -However, we can look at a few examples of how to provide types for hooks. +However, we can look at a few examples of how to provide types for Hooks. ### `useState` {/*typing-usestate*/} -The [`useState` hook](/reference/react/useState) will re-use the value passed in as the initial state to determine what the type of the value should be. For example: +The [`useState` Hook](/reference/react/useState) will re-use the value passed in as the initial state to determine what the type of the value should be. For example: ```ts // Infer the type as "boolean" @@ -166,7 +166,7 @@ const [requestState, setRequestState] = useState<RequestState>({ status: 'idle' ### `useReducer` {/*typing-usereducer*/} -The [`useReducer` hook](/reference/react/useReducer) is a more complex hook that takes a reducer function and an initial state. The types for the reducer function are inferred from the initial state. You can optionally provide a type argument to the `useReducer` call to provide a type for the state, but it is often better to set the type on the initial state instead: +The [`useReducer` Hook](/reference/react/useReducer) is a more complex Hook that takes a reducer function and an initial state. The types for the reducer function are inferred from the initial state. You can optionally provide a type argument to the `useReducer` call to provide a type for the state, but it is often better to set the type on the initial state instead: <Sandpack> @@ -242,7 +242,7 @@ export default function App() { ### `useContext` {/*typing-usecontext*/} -The [`useContext` hook](/reference/react/useContext) is a technique for passing data down the component tree without having to pass props through components. It is used by creating a provider component and often by creating a hook to consume the value in a child component. +The [`useContext` Hook](/reference/react/useContext) is a technique for passing data down the component tree without having to pass props through components. It is used by creating a provider component and often by creating a Hook to consume the value in a child component. The type of the value provided by the context is inferred from the value passed to the `createContext` call: @@ -286,7 +286,7 @@ export default App = AppTSX; This technique works when you have a default value which makes sense - but there are occasionally cases when you do not, and in those cases `null` can feel reasonable as a default value. However, to allow the type-system to understand your code, you need to explicitly set `ContextShape | null` on the `createContext`. -This causes the issue that you need to eliminate the `| null` in the type for context consumers. Our recommendation is to have the hook do a runtime check for it's existence and throw an error when not present: +This causes the issue that you need to eliminate the `| null` in the type for context consumers. Our recommendation is to have the Hook do a runtime check for it's existence and throw an error when not present: ```js {5, 16-20} import { createContext, useContext, useState, useMemo } from 'react'; @@ -299,7 +299,7 @@ type ComplexObject = { // The context is created with `| null` in the type, to accurately reflect the default value. const Context = createContext<ComplexObject | null>(null); -// The `| null` will be removed via the check in the hook. +// The `| null` will be removed via the check in the Hook. const useGetComplexObject = () => { const object = useContext(Context); if (!object) { throw new Error("useGetComplexObject must be used within a Provider") } @@ -329,7 +329,7 @@ function MyComponent() { ### `useMemo` {/*typing-usememo*/} -The [`useMemo`](/reference/react/useMemo) hooks will create/re-access a memorized value from a function call, re-running the function only when dependencies passed as the 2nd parameter are changed. The result of calling the hook is inferred from the return value from the function in the first parameter. You can be more explicit by providing a type argument to the hook. +The [`useMemo`](/reference/react/useMemo) Hooks will create/re-access a memorized value from a function call, re-running the function only when dependencies passed as the 2nd parameter are changed. The result of calling the Hook is inferred from the return value from the function in the first parameter. You can be more explicit by providing a type argument to the Hook. ```ts // The type of visibleTodos is inferred from the return value of filterTodos @@ -339,7 +339,7 @@ const visibleTodos = useMemo(() => filterTodos(todos, tab), [todos, tab]); ### `useCallback` {/*typing-usecallback*/} -The [`useCallback`](/reference/react/useCallback) provide a stable reference to a function as long as the dependencies passed into the second parameter are the same. Like `useMemo`, the function's type is inferred from the return value of the function in the first parameter, and you can be more explicit by providing a type argument to the hook. +The [`useCallback`](/reference/react/useCallback) provide a stable reference to a function as long as the dependencies passed into the second parameter are the same. Like `useMemo`, the function's type is inferred from the return value of the function in the first parameter, and you can be more explicit by providing a type argument to the Hook. ```ts diff --git a/src/content/reference/react/use-client.md b/src/content/reference/react/use-client.md index dedd2480..98c45d3d 100644 --- a/src/content/reference/react/use-client.md +++ b/src/content/reference/react/use-client.md @@ -307,7 +307,7 @@ export default function Counter({initialValue = 0}) { </Sandpack> -As `Counter` requires both the `useState` hook and event handlers to increment or decrement the value, this component must be a Client Component and will require a `'use client'` directive at the top. +As `Counter` requires both the `useState` Hook and event handlers to increment or decrement the value, this component must be a Client Component and will require a `'use client'` directive at the top. In contrast, a component that renders UI without interaction will not need to be a Client Component. From d3a5f8a8033d1fe13b2f1482875bc30bc9521244 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Xuan=20Huang=20=28=E9=BB=84=E7=8E=84=29?= <huxpro@gmail.com> Date: Tue, 14 Nov 2023 22:49:26 +0800 Subject: [PATCH 118/382] Capitalize word "Fragment" (#6425) Summary of changes: See <https://github.com/reactjs/react.dev/pull/6417> Co-authored-by: xuan.huang <xuan.huang@bytedance.com> --- src/content/blog/2023/03/16/introducing-react-dev.md | 3 +-- src/content/learn/conditional-rendering.md | 2 +- src/content/learn/rendering-lists.md | 6 +++--- src/content/learn/tutorial-tic-tac-toe.md | 4 ++-- 4 files changed, 7 insertions(+), 8 deletions(-) diff --git a/src/content/blog/2023/03/16/introducing-react-dev.md b/src/content/blog/2023/03/16/introducing-react-dev.md index d27673d9..d2e11fde 100644 --- a/src/content/blog/2023/03/16/introducing-react-dev.md +++ b/src/content/blog/2023/03/16/introducing-react-dev.md @@ -428,7 +428,7 @@ export default function PackingList() { Note that you must write `importance > 0 && ...` rather than `importance && ...` so that if the `importance` is `0`, `0` isn't rendered as the result! -In this solution, two separate conditions are used to insert a space between then name and the importance label. Alternatively, you could use a fragment with a leading space: `importance > 0 && <> <i>...</i></>` or add a space immediately inside the `<i>`: `importance > 0 && <i> ...</i>`. +In this solution, two separate conditions are used to insert a space between then name and the importance label. Alternatively, you could use a Fragment with a leading space: `importance > 0 && <> <i>...</i></>` or add a space immediately inside the `<i>`: `importance > 0 && <i> ...</i>`. </Solution> @@ -643,4 +643,3 @@ On the development front, thanks to [Jared Palmer](https://twitter.com/jaredpalm Huge thanks to the folks who volunteered their time to participate in the alpha and beta testing program. Your enthusiasm and invaluable feedback helped us shape these docs. A special shout out to our beta tester, [Debbie O'Brien](https://twitter.com/debs_obrien), who gave a talk about her experience using the React docs at React Conf 2021. Finally, thanks to the React community for being the inspiration behind this effort. You are the reason we do this, and we hope that the new docs will help you use React to build any user interface that you want. - diff --git a/src/content/learn/conditional-rendering.md b/src/content/learn/conditional-rendering.md index cfd52320..895d610d 100644 --- a/src/content/learn/conditional-rendering.md +++ b/src/content/learn/conditional-rendering.md @@ -626,7 +626,7 @@ export default function PackingList() { Note that you must write `importance > 0 && ...` rather than `importance && ...` so that if the `importance` is `0`, `0` isn't rendered as the result! -In this solution, two separate conditions are used to insert a space between the name and the importance label. Alternatively, you could use a fragment with a leading space: `importance > 0 && <> <i>...</i></>` or add a space immediately inside the `<i>`: `importance > 0 && <i> ...</i>`. +In this solution, two separate conditions are used to insert a space between the name and the importance label. Alternatively, you could use a Fragment with a leading space: `importance > 0 && <> <i>...</i></>` or add a space immediately inside the `<i>`: `importance > 0 && <i> ...</i>`. </Solution> diff --git a/src/content/learn/rendering-lists.md b/src/content/learn/rendering-lists.md index 13ac932f..5b07afd9 100644 --- a/src/content/learn/rendering-lists.md +++ b/src/content/learn/rendering-lists.md @@ -1145,7 +1145,7 @@ hr { <Hint> -You'll either need to convert `map` to a manual loop, or use a fragment. +You'll either need to convert `map` to a manual loop, or use a Fragment. </Hint> @@ -1208,7 +1208,7 @@ hr { Using the original line index as a `key` doesn't work anymore because each separator and paragraph are now in the same array. However, you can give each of them a distinct key using a suffix, e.g. `key={i + '-text'}`. -Alternatively, you could render a collection of fragments which contain `<hr />` and `<p>...</p>`. However, the `<>...</>` shorthand syntax doesn't support passing keys, so you'd have to write `<Fragment>` explicitly: +Alternatively, you could render a collection of Fragments which contain `<hr />` and `<p>...</p>`. However, the `<>...</>` shorthand syntax doesn't support passing keys, so you'd have to write `<Fragment>` explicitly: <Sandpack> @@ -1254,7 +1254,7 @@ hr { </Sandpack> -Remember, fragments (often written as `<> </>`) let you group JSX nodes without adding extra `<div>`s! +Remember, Fragments (often written as `<> </>`) let you group JSX nodes without adding extra `<div>`s! </Solution> diff --git a/src/content/learn/tutorial-tic-tac-toe.md b/src/content/learn/tutorial-tic-tac-toe.md index eca388a8..b40a9057 100644 --- a/src/content/learn/tutorial-tic-tac-toe.md +++ b/src/content/learn/tutorial-tic-tac-toe.md @@ -362,11 +362,11 @@ You'll get this error: <ConsoleBlock level="error"> -/src/App.js: Adjacent JSX elements must be wrapped in an enclosing tag. Did you want a JSX fragment `<>...</>`? +/src/App.js: Adjacent JSX elements must be wrapped in an enclosing tag. Did you want a JSX Fragment `<>...</>`? </ConsoleBlock> -React components need to return a single JSX element and not multiple adjacent JSX elements like two buttons. To fix this you can use *fragments* (`<>` and `</>`) to wrap multiple adjacent JSX elements like this: +React components need to return a single JSX element and not multiple adjacent JSX elements like two buttons. To fix this you can use *Fragments* (`<>` and `</>`) to wrap multiple adjacent JSX elements like this: ```js {3-6} export default function Square() { From 4f9e9a56611c7a56b9506cf0a7ca84ab409824bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Xuan=20Huang=20=28=E9=BB=84=E7=8E=84=29?= <huxpro@gmail.com> Date: Tue, 14 Nov 2023 22:49:55 +0800 Subject: [PATCH 119/382] Capitalize word "Canary" (#6427) Summary of changes: See <https://github.com/reactjs/react.dev/pull/6417> Co-authored-by: xuan.huang <xuan.huang@bytedance.com> --- src/content/community/versioning-policy.md | 2 +- src/content/reference/react-dom/components/input.md | 2 +- src/content/reference/react-dom/hooks/useFormState.md | 2 +- src/content/reference/react-dom/hooks/useFormStatus.md | 2 +- src/content/reference/react/use.md | 2 +- src/content/reference/react/useOptimistic.md | 4 ++-- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/content/community/versioning-policy.md b/src/content/community/versioning-policy.md index 68d5b8eb..eb38f8c2 100644 --- a/src/content/community/versioning-policy.md +++ b/src/content/community/versioning-policy.md @@ -46,7 +46,7 @@ In general, we *don't* bump the major version number for changes to: * **Development warnings.** Since these don't affect production behavior, we may add new warnings or modify existing warnings in between major versions. In fact, this is what allows us to reliably warn about upcoming breaking changes. * **APIs starting with `unstable_`.** These are provided as experimental features whose APIs we are not yet confident in. By releasing these with an `unstable_` prefix, we can iterate faster and get to a stable API sooner. -* **Alpha and canary versions of React.** We provide alpha versions of React as a way to test new features early, but we need the flexibility to make changes based on what we learn in the alpha period. If you use these versions, note that APIs may change before the stable release. +* **Alpha and Canary versions of React.** We provide alpha versions of React as a way to test new features early, but we need the flexibility to make changes based on what we learn in the alpha period. If you use these versions, note that APIs may change before the stable release. * **Undocumented APIs and internal data structures.** If you access internal property names like `__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED` or `__reactInternalInstance$uk43rzhitjg`, there is no warranty. You are on your own. This policy is designed to be pragmatic: certainly, we don't want to cause headaches for you. If we bumped the major version for all of these changes, we would end up releasing more major versions and ultimately causing more versioning pain for the community. It would also mean that we can't make progress in improving React as fast as we'd like. diff --git a/src/content/reference/react-dom/components/input.md b/src/content/reference/react-dom/components/input.md index 7328fddc..f5685aa6 100644 --- a/src/content/reference/react-dom/components/input.md +++ b/src/content/reference/react-dom/components/input.md @@ -34,7 +34,7 @@ To display an input, render the [built-in browser `<input>`](https://developer.m <Canary> -React's extensions to the `formAction` prop are currently only available in React's canary and experimental channels. In stable releases of React `formAction` works only as a [built-in browser HTML component](https://react.dev/reference/react-dom/components#all-html-components). Learn more about [React's release channels here](/community/versioning-policy#all-release-channels). +React's extensions to the `formAction` prop are currently only available in React's Canary and experimental channels. In stable releases of React `formAction` works only as a [built-in browser HTML component](https://react.dev/reference/react-dom/components#all-html-components). Learn more about [React's release channels here](/community/versioning-policy#all-release-channels). </Canary> [`formAction`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#formaction): A string or function. Overrides the parent `<form action>` for `type="submit"` and `type="image"`. When a URL is passed to `action` the form will behave like a standard HTML form. When a function is passed to `formAction` the function will handle the form submission. See [`<form action>`](/reference/react-dom/components/form#props). diff --git a/src/content/reference/react-dom/hooks/useFormState.md b/src/content/reference/react-dom/hooks/useFormState.md index b2808079..fc17ac1f 100644 --- a/src/content/reference/react-dom/hooks/useFormState.md +++ b/src/content/reference/react-dom/hooks/useFormState.md @@ -5,7 +5,7 @@ canary: true <Canary> -The `useFormState` Hook is currently only available in React's canary and experimental channels. Learn more about [release channels here](/community/versioning-policy#all-release-channels). In addition, you need to use a framework that supports [React Server Components](/reference/react/use-client) to get the full benefit of `useFormState`. +The `useFormState` Hook is currently only available in React's Canary and experimental channels. Learn more about [release channels here](/community/versioning-policy#all-release-channels). In addition, you need to use a framework that supports [React Server Components](/reference/react/use-client) to get the full benefit of `useFormState`. </Canary> diff --git a/src/content/reference/react-dom/hooks/useFormStatus.md b/src/content/reference/react-dom/hooks/useFormStatus.md index abaa9b6f..67a06022 100644 --- a/src/content/reference/react-dom/hooks/useFormStatus.md +++ b/src/content/reference/react-dom/hooks/useFormStatus.md @@ -5,7 +5,7 @@ canary: true <Canary> -The `useFormStatus` Hook is currently only available in React's canary and experimental channels. Learn more about [React's release channels here](/community/versioning-policy#all-release-channels). +The `useFormStatus` Hook is currently only available in React's Canary and experimental channels. Learn more about [React's release channels here](/community/versioning-policy#all-release-channels). </Canary> diff --git a/src/content/reference/react/use.md b/src/content/reference/react/use.md index b726e67d..bb2fb6d5 100644 --- a/src/content/reference/react/use.md +++ b/src/content/reference/react/use.md @@ -5,7 +5,7 @@ canary: true <Canary> -The `use` Hook is currently only available in React's canary and experimental channels. Learn more about [React's release channels here](/community/versioning-policy#all-release-channels). +The `use` Hook is currently only available in React's Canary and experimental channels. Learn more about [React's release channels here](/community/versioning-policy#all-release-channels). </Canary> diff --git a/src/content/reference/react/useOptimistic.md b/src/content/reference/react/useOptimistic.md index 47593a0a..2095a419 100644 --- a/src/content/reference/react/useOptimistic.md +++ b/src/content/reference/react/useOptimistic.md @@ -5,7 +5,7 @@ canary: true <Canary> -The `useOptimistic` Hook is currently only available in React's canary and experimental channels. Learn more about [React's release channels here](/community/versioning-policy#all-release-channels). +The `useOptimistic` Hook is currently only available in React's Canary and experimental channels. Learn more about [React's release channels here](/community/versioning-policy#all-release-channels). </Canary> @@ -27,7 +27,7 @@ The `useOptimistic` Hook is currently only available in React's canary and exper ### `useOptimistic(state, updateFn)` {/*use*/} -`useOptimistic` is a React hook that lets you show a different state while an async action is underway. It accepts some state as an argument and returns a copy of that state that can be different during the duration of an async action such as a network request. You provide a function that takes the current state and the input to the action, and returns the optimistic state to be used while the action is pending. +`useOptimistic` is a React Hook that lets you show a different state while an async action is underway. It accepts some state as an argument and returns a copy of that state that can be different during the duration of an async action such as a network request. You provide a function that takes the current state and the input to the action, and returns the optimistic state to be used while the action is pending. This state is called the "optimistic" state because it is usually used to immediately present the user with the result of performing an action, even though the action actually takes time to complete. From aa0c547cd6b2cc63b53ba3fc57ec009af1353ecb Mon Sep 17 00:00:00 2001 From: Aki Matsumoto <45055030+nonoakij@users.noreply.github.com> Date: Wed, 22 Nov 2023 08:27:35 +0900 Subject: [PATCH 120/382] Fix: incorrect sample code in documentation related to Server action (#6445) * Fix: component not returned * Fix: missing function statement --- .../reference/react-dom/hooks/useFormStatus.md | 2 +- src/content/reference/react/use-server.md | 12 +++++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/content/reference/react-dom/hooks/useFormStatus.md b/src/content/reference/react-dom/hooks/useFormStatus.md index 67a06022..02e48973 100644 --- a/src/content/reference/react-dom/hooks/useFormStatus.md +++ b/src/content/reference/react-dom/hooks/useFormStatus.md @@ -38,7 +38,7 @@ function Submit() { return <button disabled={status.pending}>Submit</button> } -export default App() { +export default function App() { return ( <form action={action}> <Submit /> diff --git a/src/content/reference/react/use-server.md b/src/content/reference/react/use-server.md index 938efa90..63816336 100644 --- a/src/content/reference/react/use-server.md +++ b/src/content/reference/react/use-server.md @@ -115,11 +115,13 @@ async function requestUsername(formData) { // ... } -export default App() { - <form action={requestUsername}> - <input type="text" name="username" /> - <button type="submit">Request</button> - </form> +export default function App() { + return ( + <form action={requestUsername}> + <input type="text" name="username" /> + <button type="submit">Request</button> + </form> + ); } ``` From 6570e6cd79a16ac3b1a2902632eddab7e6abb9ad Mon Sep 17 00:00:00 2001 From: Sophie Alpert <git@sophiebits.com> Date: Thu, 23 Nov 2023 01:44:47 -0800 Subject: [PATCH 121/382] Update useSyncExternalStore.md --- src/content/reference/react/useSyncExternalStore.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/reference/react/useSyncExternalStore.md b/src/content/reference/react/useSyncExternalStore.md index cda2ec3f..c557eb90 100644 --- a/src/content/reference/react/useSyncExternalStore.md +++ b/src/content/reference/react/useSyncExternalStore.md @@ -57,7 +57,7 @@ The current snapshot of the store which you can use in your rendering logic. * If a different `subscribe` function is passed during a re-render, React will re-subscribe to the store using the newly passed `subscribe` function. You can prevent this by declaring `subscribe` outside the component. -* If the store is mutated during a [non-blocking transition update](/reference/react/useTransition), React will fall back to performing that update as blocking. Specifically, React will call `getSnapshot` a second time just before applying changes to the DOM. If it returns a different value than when it was called originally, React will restart the transition update from scratch, this time applying it as a blocking update, to ensure that every component on screen is reflecting the same version of the store. +* If the store is mutated during a [non-blocking transition update](/reference/react/useTransition), React will fall back to performing that update as blocking. Specifically, for every transition update, React will call `getSnapshot` a second time just before applying changes to the DOM. If it returns a different value than when it was called originally, React will restart the update from scratch, this time applying it as a blocking update, to ensure that every component on screen is reflecting the same version of the store. * It's not recommended to _suspend_ a render based on a store value returned by `useSyncExternalStore`. The reason is that mutations to the external store cannot be [marked as non-blocking transition updates](/reference/react/useTransition), so they will trigger the nearest [`Suspense` fallback](/reference/react/Suspense), replacing already-rendered content on screen with a loading spinner, which typically makes a poor UX. From 943e3ce4e52be56bcd75b679448847302f557da1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Xuan=20Huang=20=28=E9=BB=84=E7=8E=84=29?= <huxpro@gmail.com> Date: Thu, 30 Nov 2023 13:13:12 +0800 Subject: [PATCH 122/382] Captailize "Strict Mode" (#6426) Summary of changes: There is one "TypeScript strict mode" that is kept unchanged. Co-authored-by: xuan.huang <xuan.huang@bytedance.com> --- src/content/reference/react/StrictMode.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/reference/react/StrictMode.md b/src/content/reference/react/StrictMode.md index b7ca2227..e7aa45ac 100644 --- a/src/content/reference/react/StrictMode.md +++ b/src/content/reference/react/StrictMode.md @@ -95,7 +95,7 @@ Strict Mode enables the following checks in development: --- -### Enabling strict mode for a part of the app {/*enabling-strict-mode-for-a-part-of-the-app*/} +### Enabling Strict Mode for a part of the app {/*enabling-strict-mode-for-a-part-of-the-app*/} You can also enable Strict Mode for any part of your application: From b1c4b4e6de827dbbe5e0f759f00b5f8edb7b800c Mon Sep 17 00:00:00 2001 From: Xiao Chuan <w2239559319@outlook.com> Date: Wed, 6 Dec 2023 00:34:18 +0800 Subject: [PATCH 123/382] useId add server rendering usage and server api add options (#6457) Co-authored-by: Sebastian Silbermann <silbermann.sebastian@gmail.com> --- .../react-dom/server/renderToNodeStream.md | 3 ++ .../react-dom/server/renderToStaticMarkup.md | 2 + .../server/renderToStaticNodeStream.md | 3 ++ .../react-dom/server/renderToString.md | 3 ++ src/content/reference/react/useId.md | 37 +++++++++++++++++++ 5 files changed, 48 insertions(+) diff --git a/src/content/reference/react-dom/server/renderToNodeStream.md b/src/content/reference/react-dom/server/renderToNodeStream.md index a4ab2e57..fd2464b9 100644 --- a/src/content/reference/react-dom/server/renderToNodeStream.md +++ b/src/content/reference/react-dom/server/renderToNodeStream.md @@ -43,6 +43,9 @@ On the client, call [`hydrateRoot`](/reference/react-dom/client/hydrateRoot) to * `reactNode`: A React node you want to render to HTML. For example, a JSX element like `<App />`. +* **optional** `options`: An object for server render. + * **optional** `identifierPrefix`: A string prefix React uses for IDs generated by [`useId`.](/reference/react/useId) Useful to avoid conflicts when using multiple roots on the same page. Must be the same prefix as passed to [`hydrateRoot`.](/reference/react-dom/client/hydrateRoot#parameters) + #### Returns {/*returns*/} A [Node.js Readable Stream](https://nodejs.org/api/stream.html#readable-streams) that outputs an HTML string. diff --git a/src/content/reference/react-dom/server/renderToStaticMarkup.md b/src/content/reference/react-dom/server/renderToStaticMarkup.md index 01ff17ee..607affd9 100644 --- a/src/content/reference/react-dom/server/renderToStaticMarkup.md +++ b/src/content/reference/react-dom/server/renderToStaticMarkup.md @@ -35,6 +35,8 @@ It will produce non-interactive HTML output of your React components. #### Parameters {/*parameters*/} * `reactNode`: A React node you want to render to HTML. For example, a JSX node like `<Page />`. +* **optional** `options`: An object for server render. + * **optional** `identifierPrefix`: A string prefix React uses for IDs generated by [`useId`.](/reference/react/useId) Useful to avoid conflicts when using multiple roots on the same page. #### Returns {/*returns*/} diff --git a/src/content/reference/react-dom/server/renderToStaticNodeStream.md b/src/content/reference/react-dom/server/renderToStaticNodeStream.md index ec3d5893..47ef74c3 100644 --- a/src/content/reference/react-dom/server/renderToStaticNodeStream.md +++ b/src/content/reference/react-dom/server/renderToStaticNodeStream.md @@ -37,6 +37,9 @@ The stream will produce non-interactive HTML output of your React components. * `reactNode`: A React node you want to render to HTML. For example, a JSX element like `<Page />`. +* **optional** `options`: An object for server render. + * **optional** `identifierPrefix`: A string prefix React uses for IDs generated by [`useId`.](/reference/react/useId) Useful to avoid conflicts when using multiple roots on the same page. + #### Returns {/*returns*/} A [Node.js Readable Stream](https://nodejs.org/api/stream.html#readable-streams) that outputs an HTML string. The resulting HTML can't be hydrated on the client. diff --git a/src/content/reference/react-dom/server/renderToString.md b/src/content/reference/react-dom/server/renderToString.md index 41bc6a98..e1269294 100644 --- a/src/content/reference/react-dom/server/renderToString.md +++ b/src/content/reference/react-dom/server/renderToString.md @@ -42,6 +42,9 @@ On the client, call [`hydrateRoot`](/reference/react-dom/client/hydrateRoot) to * `reactNode`: A React node you want to render to HTML. For example, a JSX node like `<App />`. +* **optional** `options`: An object for server render. + * **optional** `identifierPrefix`: A string prefix React uses for IDs generated by [`useId`.](/reference/react/useId) Useful to avoid conflicts when using multiple roots on the same page. Must be the same prefix as passed to [`hydrateRoot`.](/reference/react-dom/client/hydrateRoot#parameters) + #### Returns {/*returns*/} An HTML string. diff --git a/src/content/reference/react/useId.md b/src/content/reference/react/useId.md index 96a5e25a..99d55a6a 100644 --- a/src/content/reference/react/useId.md +++ b/src/content/reference/react/useId.md @@ -302,3 +302,40 @@ input { margin: 5px; } ``` </Sandpack> + +### useId in server rendering {/*useid-in-server-rendering*/} + +Choose a unique id prefix and pass it into the server options and client options. `useId` will return the same id string on server side and client side. The following example selects `react-app1` as the id prefix. + +```js +import { useId } from 'react'; + +function App() { + const id = useId(); + // ... + +``` + +```js +/** + * server side + */ + +import ReactServer from 'react-dom/server'; + +const { pipe } = ReactServer.renderToPipeableStream(<App />, { identifierPrefix: 'react-app1' }); +// ... + +``` + +```js +/** + * client side + */ + +import { hydrateRoot } from 'react-dom/client'; + +const domNode = document.getElementById('root'); +const root = hydrateRoot(domNode, reactNode, { identifierPrefix: 'react-app1' }); + +``` From 4226fbf3bfcd3f48c7ab21053a8f4720a1129251 Mon Sep 17 00:00:00 2001 From: dan <dan.abramov@gmail.com> Date: Tue, 5 Dec 2023 20:17:43 +0000 Subject: [PATCH 124/382] Edits to useId doc (#6464) --- src/content/reference/react/useId.md | 41 ++++++++++++---------------- 1 file changed, 17 insertions(+), 24 deletions(-) diff --git a/src/content/reference/react/useId.md b/src/content/reference/react/useId.md index 99d55a6a..81cb3a30 100644 --- a/src/content/reference/react/useId.md +++ b/src/content/reference/react/useId.md @@ -303,39 +303,32 @@ input { margin: 5px; } </Sandpack> -### useId in server rendering {/*useid-in-server-rendering*/} +--- -Choose a unique id prefix and pass it into the server options and client options. `useId` will return the same id string on server side and client side. The following example selects `react-app1` as the id prefix. +### Using the same ID prefix on the client and the server {/*using-the-same-id-prefix-on-the-client-and-the-server*/} -```js -import { useId } from 'react'; - -function App() { - const id = useId(); - // ... - -``` +If you [render multiple independent React apps on the same page](#specifying-a-shared-prefix-for-all-generated-ids), and some of these apps are server-rendered, make sure that the `identifierPrefix` you pass to the [`hydrateRoot`](/reference/react-dom/client/hydrateRoot) call on the client side is the same as the `identifierPrefix` you pass to the [server APIs](https://react.dev/reference/react-dom/server) such as [`renderToPipeableStream`.](/reference/react-dom/server/renderToPipeableStream) ```js -/** - * server side - */ - -import ReactServer from 'react-dom/server'; - -const { pipe } = ReactServer.renderToPipeableStream(<App />, { identifierPrefix: 'react-app1' }); -// ... +// Server +import { renderToPipeableStream } from 'react-dom/server'; +const { pipe } = renderToPipeableStream( + <App />, + { identifierPrefix: 'react-app1' } +); ``` ```js -/** - * client side - */ - +// Client import { hydrateRoot } from 'react-dom/client'; const domNode = document.getElementById('root'); -const root = hydrateRoot(domNode, reactNode, { identifierPrefix: 'react-app1' }); - +const root = hydrateRoot( + domNode, + reactNode, + { identifierPrefix: 'react-app1' } +); ``` + +You do not need to pass `identifierPrefix` if you only have one React app on the page. From b9bf6664626a0f0f227db2ba7874018fd183644f Mon Sep 17 00:00:00 2001 From: dan <dan.abramov@gmail.com> Date: Tue, 5 Dec 2023 20:19:06 +0000 Subject: [PATCH 125/382] Oops --- src/content/reference/react/useId.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/reference/react/useId.md b/src/content/reference/react/useId.md index 81cb3a30..6d3c0167 100644 --- a/src/content/reference/react/useId.md +++ b/src/content/reference/react/useId.md @@ -307,7 +307,7 @@ input { margin: 5px; } ### Using the same ID prefix on the client and the server {/*using-the-same-id-prefix-on-the-client-and-the-server*/} -If you [render multiple independent React apps on the same page](#specifying-a-shared-prefix-for-all-generated-ids), and some of these apps are server-rendered, make sure that the `identifierPrefix` you pass to the [`hydrateRoot`](/reference/react-dom/client/hydrateRoot) call on the client side is the same as the `identifierPrefix` you pass to the [server APIs](https://react.dev/reference/react-dom/server) such as [`renderToPipeableStream`.](/reference/react-dom/server/renderToPipeableStream) +If you [render multiple independent React apps on the same page](#specifying-a-shared-prefix-for-all-generated-ids), and some of these apps are server-rendered, make sure that the `identifierPrefix` you pass to the [`hydrateRoot`](/reference/react-dom/client/hydrateRoot) call on the client side is the same as the `identifierPrefix` you pass to the [server APIs](/reference/react-dom/server) such as [`renderToPipeableStream`.](/reference/react-dom/server/renderToPipeableStream) ```js // Server From ae4be842dd7f464f0e45a1391845dcec5115ad91 Mon Sep 17 00:00:00 2001 From: "Bud (Mugur) Chirica" <chirica.mugurel@gmail.com> Date: Wed, 6 Dec 2023 14:53:27 +0000 Subject: [PATCH 126/382] Fix Next JS link (#6467) --- src/content/learn/start-a-new-react-project.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/learn/start-a-new-react-project.md b/src/content/learn/start-a-new-react-project.md index 9c395d3f..39bd40e5 100644 --- a/src/content/learn/start-a-new-react-project.md +++ b/src/content/learn/start-a-new-react-project.md @@ -24,7 +24,7 @@ If you want to build a new app or a new website fully with React, we recommend p npx create-next-app@latest </TerminalBlock> -If you're new to Next.js, check out the [Next.js tutorial.](https://nextjs.org/learn/foundations/about-nextjs) +If you're new to Next.js, check out the [Next.js documentation.](https://nextjs.org/docs) Next.js is maintained by [Vercel](https://vercel.com/). You can [deploy a Next.js app](https://nextjs.org/docs/app/building-your-application/deploying) to any Node.js or serverless hosting, or to your own server. Next.js also supports a [static export](https://nextjs.org/docs/pages/building-your-application/deploying/static-exports) which doesn't require a server. From af54fc873819892f6050340df236f33a18ba5fb8 Mon Sep 17 00:00:00 2001 From: Ahmed Abdelbaset <A7med3bdulBaset@gmail.com> Date: Thu, 7 Dec 2023 00:34:28 +0200 Subject: [PATCH 127/382] Link to the new Next.js tutorial instead (#6468) --- src/content/learn/start-a-new-react-project.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/learn/start-a-new-react-project.md b/src/content/learn/start-a-new-react-project.md index 39bd40e5..a98e0966 100644 --- a/src/content/learn/start-a-new-react-project.md +++ b/src/content/learn/start-a-new-react-project.md @@ -24,7 +24,7 @@ If you want to build a new app or a new website fully with React, we recommend p npx create-next-app@latest </TerminalBlock> -If you're new to Next.js, check out the [Next.js documentation.](https://nextjs.org/docs) +If you're new to Next.js, check out the [learn Next.js course.](https://nextjs.org/learn) Next.js is maintained by [Vercel](https://vercel.com/). You can [deploy a Next.js app](https://nextjs.org/docs/app/building-your-application/deploying) to any Node.js or serverless hosting, or to your own server. Next.js also supports a [static export](https://nextjs.org/docs/pages/building-your-application/deploying/static-exports) which doesn't require a server. From bec75ca3487758d82a26ef8253556cdb6f3bfdc9 Mon Sep 17 00:00:00 2001 From: Sophie Alpert <git@sophiebits.com> Date: Tue, 12 Dec 2023 22:44:41 -0800 Subject: [PATCH 128/382] Update useSyncExternalStore.md: tweak link this way "cannot be marked" is all the same style and you don't skim the link text and gloss over the "cannot be" --- src/content/reference/react/useSyncExternalStore.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/reference/react/useSyncExternalStore.md b/src/content/reference/react/useSyncExternalStore.md index c557eb90..bc54d546 100644 --- a/src/content/reference/react/useSyncExternalStore.md +++ b/src/content/reference/react/useSyncExternalStore.md @@ -59,7 +59,7 @@ The current snapshot of the store which you can use in your rendering logic. * If the store is mutated during a [non-blocking transition update](/reference/react/useTransition), React will fall back to performing that update as blocking. Specifically, for every transition update, React will call `getSnapshot` a second time just before applying changes to the DOM. If it returns a different value than when it was called originally, React will restart the update from scratch, this time applying it as a blocking update, to ensure that every component on screen is reflecting the same version of the store. -* It's not recommended to _suspend_ a render based on a store value returned by `useSyncExternalStore`. The reason is that mutations to the external store cannot be [marked as non-blocking transition updates](/reference/react/useTransition), so they will trigger the nearest [`Suspense` fallback](/reference/react/Suspense), replacing already-rendered content on screen with a loading spinner, which typically makes a poor UX. +* It's not recommended to _suspend_ a render based on a store value returned by `useSyncExternalStore`. The reason is that mutations to the external store cannot be marked as [non-blocking transition updates](/reference/react/useTransition), so they will trigger the nearest [`Suspense` fallback](/reference/react/Suspense), replacing already-rendered content on screen with a loading spinner, which typically makes a poor UX. For example, the following are discouraged: From e98c3939a7c55e0ba2f0ae5beba3b7a1298b8d23 Mon Sep 17 00:00:00 2001 From: Danilo Woznica <danilowoz@gmail.com> Date: Wed, 13 Dec 2023 18:02:16 +0000 Subject: [PATCH 129/382] fix(sandpack-template): use custom react sandpack template (#6484) * fix(sandpack-template): use custom react sandpack template * refactor: Remove console.log statement Remove console.log(filePath); from createFileMap.ts * style: Update file paths in Sandpack components Update file paths in Sandpack components to use root folder and variables --- .../MDX/Sandpack/DownloadButton.tsx | 7 ++- src/components/MDX/Sandpack/SandpackRoot.tsx | 13 +++-- src/components/MDX/Sandpack/createFileMap.ts | 17 ++++-- src/components/MDX/Sandpack/index.tsx | 4 +- src/components/MDX/Sandpack/template.ts | 54 +++++++++++++++++++ 5 files changed, 81 insertions(+), 14 deletions(-) create mode 100644 src/components/MDX/Sandpack/template.ts diff --git a/src/components/MDX/Sandpack/DownloadButton.tsx b/src/components/MDX/Sandpack/DownloadButton.tsx index d6b1c329..94cf13dd 100644 --- a/src/components/MDX/Sandpack/DownloadButton.tsx +++ b/src/components/MDX/Sandpack/DownloadButton.tsx @@ -5,6 +5,7 @@ import {useSyncExternalStore} from 'react'; import {useSandpack} from '@codesandbox/sandpack-react/unstyled'; import {IconDownload} from '../../Icon/IconDownload'; +import {AppJSPath, StylesCSSPath, SUPPORTED_FILES} from './createFileMap'; export interface DownloadButtonProps {} let supportsImportMap = false; @@ -32,8 +33,6 @@ function useSupportsImportMap() { return useSyncExternalStore(subscribe, getCurrentValue, getServerSnapshot); } -const SUPPORTED_FILES = ['/App.js', '/styles.css']; - export function DownloadButton({ providedFiles, }: { @@ -49,8 +48,8 @@ export function DownloadButton({ } const downloadHTML = () => { - const css = sandpack.files['/styles.css']?.code ?? ''; - const code = sandpack.files['/App.js']?.code ?? ''; + const css = sandpack.files[StylesCSSPath]?.code ?? ''; + const code = sandpack.files[AppJSPath]?.code ?? ''; const blob = new Blob([ `<!DOCTYPE html> <html> diff --git a/src/components/MDX/Sandpack/SandpackRoot.tsx b/src/components/MDX/Sandpack/SandpackRoot.tsx index df0c757f..d47fd903 100644 --- a/src/components/MDX/Sandpack/SandpackRoot.tsx +++ b/src/components/MDX/Sandpack/SandpackRoot.tsx @@ -9,6 +9,7 @@ import {SandpackLogLevel} from '@codesandbox/sandpack-client'; import {CustomPreset} from './CustomPreset'; import {createFileMap} from './createFileMap'; import {CustomTheme} from './Themes'; +import {template} from './template'; type SandpackProps = { children: React.ReactNode; @@ -70,17 +71,19 @@ function SandpackRoot(props: SandpackProps) { const codeSnippets = Children.toArray(children) as React.ReactElement[]; const files = createFileMap(codeSnippets); - files['/styles.css'] = { - code: [sandboxStyle, files['/styles.css']?.code ?? ''].join('\n\n'), - hidden: !files['/styles.css']?.visible, + files['/src/styles.css'] = { + code: [sandboxStyle, files['/src/styles.css']?.code ?? ''].join('\n\n'), + hidden: !files['/src/styles.css']?.visible, }; return ( <div className="sandpack sandpack--playground w-full my-8" dir="ltr"> <SandpackProvider - template="react" - files={files} + files={{...template, ...files}} theme={CustomTheme} + customSetup={{ + environment: 'create-react-app', + }} options={{ autorun, initMode: 'user-visible', diff --git a/src/components/MDX/Sandpack/createFileMap.ts b/src/components/MDX/Sandpack/createFileMap.ts index 6fc160c4..4765f87e 100644 --- a/src/components/MDX/Sandpack/createFileMap.ts +++ b/src/components/MDX/Sandpack/createFileMap.ts @@ -4,6 +4,16 @@ import type {SandpackFile} from '@codesandbox/sandpack-react/unstyled'; +/** + * Ideally, we should update all markdown files and all the sandboxes + * to use the same folder structure to include `src`. However, we can + * do the same by prepending the root folder on this function. + */ +const rootFolder = '/src/'; +export const AppJSPath = `/src/App.js`; +export const StylesCSSPath = `/src/styles.css`; +export const SUPPORTED_FILES = [AppJSPath, StylesCSSPath]; + export const createFileMap = (codeSnippets: any) => { return codeSnippets.reduce( (result: Record<string, SandpackFile>, codeSnippet: React.ReactElement) => { @@ -17,7 +27,7 @@ export const createFileMap = (codeSnippets: any) => { if (props.meta) { const [name, ...params] = props.meta.split(' '); - filePath = '/' + name; + filePath = rootFolder + name; if (params.includes('hidden')) { fileHidden = true; } @@ -26,15 +36,16 @@ export const createFileMap = (codeSnippets: any) => { } } else { if (props.className === 'language-js') { - filePath = '/App.js'; + filePath = AppJSPath; } else if (props.className === 'language-css') { - filePath = '/styles.css'; + filePath = StylesCSSPath; } else { throw new Error( `Code block is missing a filename: ${props.children}` ); } } + if (result[filePath]) { throw new Error( `File ${filePath} was defined multiple times. Each file snippet should have a unique path name` diff --git a/src/components/MDX/Sandpack/index.tsx b/src/components/MDX/Sandpack/index.tsx index 6873547a..6755ba8d 100644 --- a/src/components/MDX/Sandpack/index.tsx +++ b/src/components/MDX/Sandpack/index.tsx @@ -3,7 +3,7 @@ */ import {lazy, memo, Children, Suspense} from 'react'; -import {createFileMap} from './createFileMap'; +import {AppJSPath, createFileMap} from './createFileMap'; const SandpackRoot = lazy(() => import('./SandpackRoot')); @@ -57,7 +57,7 @@ export default memo(function SandpackWrapper(props: any): any { ); let activeCode; if (!activeCodeSnippet.length) { - activeCode = codeSnippet['/App.js'].code; + activeCode = codeSnippet[AppJSPath].code; } else { activeCode = codeSnippet[activeCodeSnippet[0]].code; } diff --git a/src/components/MDX/Sandpack/template.ts b/src/components/MDX/Sandpack/template.ts new file mode 100644 index 00000000..9ead18a1 --- /dev/null +++ b/src/components/MDX/Sandpack/template.ts @@ -0,0 +1,54 @@ +export const template = { + '/src/index.js': { + hidden: true, + code: `import React, { StrictMode } from "react"; +import { createRoot } from "react-dom/client"; +import "./styles.css"; + +import App from "./App"; + +const root = createRoot(document.getElementById("root")); +root.render( + <StrictMode> + <App /> + </StrictMode> +);`, + }, + '/package.json': { + hidden: true, + code: JSON.stringify( + { + name: 'react.dev', + version: '0.0.0', + main: '/src/index.js', + scripts: { + start: 'react-scripts start', + build: 'react-scripts build', + test: 'react-scripts test --env=jsdom', + eject: 'react-scripts eject', + }, + dependencies: { + react: '^18.0.0', + 'react-dom': '^18.0.0', + 'react-scripts': '^5.0.0', + }, + }, + null, + 2 + ), + }, + '/public/index.html': { + hidden: true, + code: `<!DOCTYPE html> +<html lang="en"> +<head> + <meta charset="UTF-8"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <title>Document</title> +</head> +<body> + <div id="root"></div> +</body> +</html>`, + }, +}; From 01e80fd1413eecd2bfd1415294a3c929cf9211d9 Mon Sep 17 00:00:00 2001 From: Ehtesham Siddiqui <esiddiqui0530@gmail.com> Date: Sat, 16 Dec 2023 00:07:27 +0530 Subject: [PATCH 130/382] Add React India 2024 conference (#6481) * feat: add react india 2024 * update: move react india 2024 in date order * update: move conferences to past section * refactor: sort past conferences --- src/content/community/conferences.md | 81 +++++++++++++++------------- 1 file changed, 43 insertions(+), 38 deletions(-) diff --git a/src/content/community/conferences.md b/src/content/community/conferences.md index 1c164a09..9f020966 100644 --- a/src/content/community/conferences.md +++ b/src/content/community/conferences.md @@ -10,72 +10,77 @@ Do you know of a local React.js conference? Add it here! (Please keep the list c ## Upcoming Conferences {/*upcoming-conferences*/} -### RedwoodJS Conference 2023 {/*redwoodjs-conference-2023*/} -September 26 - 29, 2023. Grants Pass, Oregon + remote (hybrid event) - -[Website](https://www.redwoodjsconf.com/) - [Twitter](https://twitter.com/redwoodjs) +### App.js Conf 2024 {/*appjs-conf-2024*/} +May 22 - 24, 2024. In-person in Kraków, Poland + remote -### React Alicante 2023 {/*react-alicante-2023*/} -September 28 - 30, 2023. Alicante, Spain +[Website](https://appjs.co) - [Twitter](https://twitter.com/appjsconf) -[Website](https://reactalicante.es/) - [Twitter](https://twitter.com/reactalicante) +### Render(ATL) 2024 🍑 {/*renderatl-2024-*/} +June 12 - June 14, 2024. Atlanta, GA, USA -### React Live 2023 {/*react-live-2023*/} -September 29, 2023. Amsterdam, Netherlands +[Website](https://renderatl.com) - [Discord](https://www.renderatl.com/discord) - [Twitter](https://twitter.com/renderATL) - [Instagram](https://www.instagram.com/renderatl/) - [Facebook](https://www.facebook.com/renderatl/) - [LinkedIn](https://www.linkedin.com/company/renderatl) - [Podcast](https://www.renderatl.com/culture-and-code#/) -[Website](https://reactlive.nl/) +### React India 2024 {/*react-india-2024*/} +October 17 - 19, 2024. In-person in Goa, India (hybrid event) + Oct 15 2024 - remote day -### React Native EU 2023 {/*react-native-eu-2023*/} -September 7 & 8, 2023. Wrocław, Poland +[Website](https://www.reactindia.io) - [Twitter](https://twitter.com/react_india) - [Facebook](https://www.facebook.com/ReactJSIndia) - [Youtube](https://www.youtube.com/channel/UCaFbHCBkPvVv1bWs_jwYt3w) -[Website](https://react-native.eu) - [Twitter](https://twitter.com/react_native_eu) - [Facebook](https://www.facebook.com/reactnativeeu) +## Past Conferences {/*past-conferences*/} -### RenderCon Kenya 2023 {/*rendercon-kenya-2023*/} -September 29 - 30, 2023. Nairobi, Kenya +### React Day Berlin 2023 {/*react-day-berlin-2023*/} +December 8 & 12, 2023. In-person in Berlin, Germany + remote first interactivity (hybrid event) -[Website](https://rendercon.org/) - [Twitter](https://twitter.com/renderconke) - [LinkedIn](https://www.linkedin.com/company/renderconke/) - [YouTube](https://www.youtube.com/channel/UC0bCcG8gHUL4njDOpQGcMIA) +[Website](https://reactday.berlin) - [Twitter](https://twitter.com/reactdayberlin) - [Facebook](https://www.facebook.com/reactdayberlin/) - [Videos](https://portal.gitnation.org/events/react-day-berlin-2023) -### React India 2023 {/*react-india-2023*/} -October 5 - 7, 2023. In-person in Goa, India (hybrid event) + Oct 3 2023 - remote day +### React Summit US 2023 {/*react-summit-us-2023*/} +November 13 & 15, 2023. In-person in New York, US + remote first interactivity (hybrid event) -[Website](https://www.reactindia.io) - [Twitter](https://twitter.com/react_india) - [Facebook](https://www.facebook.com/ReactJSIndia) - [Youtube](https://www.youtube.com/channel/UCaFbHCBkPvVv1bWs_jwYt3w) +[Website](https://reactsummit.us) - [Twitter](https://twitter.com/reactsummit) - [Facebook](https://www.facebook.com/reactamsterdam) - [Videos](https://portal.gitnation.org/events/react-summit-us-2023) -### React Brussels 2023 {/*react-brussels-2023*/} -October 13th 2023. In-person in Brussels, Belgium + Remote (hybrid) +### reactjsday 2023 {/*reactjsday-2023*/} +October 27th 2023. In-person in Verona, Italy and online (hybrid event) -[Website](https://www.react.brussels/) - [Twitter](https://twitter.com/BrusselsReact) +[Website](https://2023.reactjsday.it/) - [Twitter](https://twitter.com/reactjsday) - [Facebook](https://www.facebook.com/GrUSP/) - [YouTube](https://www.youtube.com/c/grusp) ### React Advanced 2023 {/*react-advanced-2023*/} October 20 & 23, 2023. In-person in London, UK + remote first interactivity (hybrid event) [Website](https://www.reactadvanced.com/) - [Twitter](https://twitter.com/ReactAdvanced) - [Facebook](https://www.facebook.com/ReactAdvanced) - [Videos](https://portal.gitnation.org/events/react-advanced-conference-2023) -### reactjsday 2023 {/*reactjsday-2023*/} -October 27th 2023. In-person in Verona, Italy and online (hybrid event) +### React Brussels 2023 {/*react-brussels-2023*/} +October 13th 2023. In-person in Brussels, Belgium + Remote (hybrid) -[Website](https://2023.reactjsday.it/) - [Twitter](https://twitter.com/reactjsday) - [Facebook](https://www.facebook.com/GrUSP/) - [YouTube](https://www.youtube.com/c/grusp) +[Website](https://www.react.brussels/) - [Twitter](https://twitter.com/BrusselsReact) -### React Summit US 2023 {/*react-summit-us-2023*/} -November 13 & 15, 2023. In-person in New York, US + remote first interactivity (hybrid event) +### React India 2023 {/*react-india-2023*/} +October 5 - 7, 2023. In-person in Goa, India (hybrid event) + Oct 3 2023 - remote day -[Website](https://reactsummit.us) - [Twitter](https://twitter.com/reactsummit) - [Facebook](https://www.facebook.com/reactamsterdam) - [Videos](https://portal.gitnation.org/events/react-summit-us-2023) +[Website](https://www.reactindia.io) - [Twitter](https://x.com/react_india) - [Facebook](https://www.facebook.com/ReactJSIndia) - [Youtube](https://www.youtube.com/channel/UCaFbHCBkPvVv1bWs_jwYt3w) -### React Day Berlin 2023 {/*react-day-berlin-2023*/} -December 8 & 12, 2023. In-person in Berlin, Germany + remote first interactivity (hybrid event) +### RenderCon Kenya 2023 {/*rendercon-kenya-2023*/} +September 29 - 30, 2023. Nairobi, Kenya -[Website](https://reactday.berlin) - [Twitter](https://twitter.com/reactdayberlin) - [Facebook](https://www.facebook.com/reactdayberlin/) - [Videos](https://portal.gitnation.org/events/react-day-berlin-2023) +[Website](https://rendercon.org/) - [Twitter](https://twitter.com/renderconke) - [LinkedIn](https://www.linkedin.com/company/renderconke/) - [YouTube](https://www.youtube.com/channel/UC0bCcG8gHUL4njDOpQGcMIA) -### App.js Conf 2024 {/*appjs-conf-2024*/} -May 22 - 24, 2024. In-person in Kraków, Poland + remote +### React Live 2023 {/*react-live-2023*/} +September 29, 2023. Amsterdam, Netherlands -[Website](https://appjs.co) - [Twitter](https://twitter.com/appjsconf) +[Website](https://reactlive.nl/) -### Render(ATL) 2024 🍑 {/*renderatl-2024-*/} -June 12 - June 14, 2024. Atlanta, GA, USA +### React Alicante 2023 {/*react-alicante-2023*/} +September 28 - 30, 2023. Alicante, Spain -[Website](https://renderatl.com) - [Discord](https://www.renderatl.com/discord) - [Twitter](https://twitter.com/renderATL) - [Instagram](https://www.instagram.com/renderatl/) - [Facebook](https://www.facebook.com/renderatl/) - [LinkedIn](https://www.linkedin.com/company/renderatl) - [Podcast](https://www.renderatl.com/culture-and-code#/) +[Website](https://reactalicante.es/) - [Twitter](https://twitter.com/reactalicante) -## Past Conferences {/*past-conferences*/} +### RedwoodJS Conference 2023 {/*redwoodjs-conference-2023*/} +September 26 - 29, 2023. Grants Pass, Oregon + remote (hybrid event) + +[Website](https://www.redwoodjsconf.com/) - [Twitter](https://twitter.com/redwoodjs) + +### React Native EU 2023 {/*react-native-eu-2023*/} +September 7 & 8, 2023. Wrocław, Poland + +[Website](https://react-native.eu) - [Twitter](https://twitter.com/react_native_eu) - [Facebook](https://www.facebook.com/reactnativeeu) ### React Rally 2023 🐙 {/*react-rally-2023*/} August 17 & 18, 2023. Salt Lake City, UT, USA From e3c25d1a5f202bada2b0105b91e9a48935414c6c Mon Sep 17 00:00:00 2001 From: Ehtesham Siddiqui <esiddiqui0530@gmail.com> Date: Sat, 16 Dec 2023 00:18:30 +0530 Subject: [PATCH 131/382] data: add react mumbai meetup (#6396) --- src/content/community/meetups.md | 1 + 1 file changed, 1 insertion(+) diff --git a/src/content/community/meetups.md b/src/content/community/meetups.md index 644bbcee..000eeb43 100644 --- a/src/content/community/meetups.md +++ b/src/content/community/meetups.md @@ -101,6 +101,7 @@ Do you have a local React.js meetup? Add it here! (Please keep the list alphabet * [Bangalore (React Native)](https://www.meetup.com/React-Native-Bangalore-Meetup) * [Chennai](https://www.meetup.com/React-Chennai/) * [Delhi NCR](https://www.meetup.com/React-Delhi-NCR/) +* [Mumbai](https://reactmumbai.dev) * [Pune](https://www.meetup.com/ReactJS-and-Friends/) ## Indonesia {/*indonesia*/} From bb65ace6e0b844561153e0011e20ec317dc2899d Mon Sep 17 00:00:00 2001 From: geeseyj <geeseyjohn@gmail.com> Date: Fri, 15 Dec 2023 15:01:53 -0600 Subject: [PATCH 132/382] Fix #6487 specify which `Sandpack` files go into a `src` directory (#6496) * specify which sandbox files go in src directory * fix some stragglers --- src/components/MDX/Sandpack/createFileMap.ts | 8 +- .../blog/2023/03/16/introducing-react-dev.md | 4 +- .../learn/add-react-to-an-existing-project.md | 4 +- src/content/learn/adding-interactivity.md | 2 +- .../learn/choosing-the-state-structure.md | 62 +++++----- src/content/learn/describing-the-ui.md | 14 +-- src/content/learn/escape-hatches.md | 20 ++-- .../extracting-state-logic-into-a-reducer.md | 106 +++++++++--------- .../importing-and-exporting-components.md | 26 ++--- .../javascript-in-jsx-with-curly-braces.md | 4 +- src/content/learn/keeping-components-pure.md | 38 +++---- .../learn/lifecycle-of-reactive-effects.md | 44 ++++---- src/content/learn/managing-state.md | 32 +++--- .../learn/manipulating-the-dom-with-refs.md | 12 +- .../learn/passing-data-deeply-with-context.md | 56 ++++----- .../learn/passing-props-to-a-component.md | 38 +++---- .../learn/preserving-and-resetting-state.md | 42 +++---- .../queueing-a-series-of-state-updates.md | 8 +- .../learn/reacting-to-input-with-state.md | 14 +-- .../learn/removing-effect-dependencies.md | 48 ++++---- src/content/learn/render-and-commit.md | 12 +- src/content/learn/rendering-lists.md | 50 ++++----- src/content/learn/responding-to-events.md | 8 +- .../learn/reusing-logic-with-custom-hooks.md | 76 ++++++------- .../scaling-up-with-reducer-and-context.md | 46 ++++---- .../learn/separating-events-from-effects.md | 22 ++-- .../learn/sharing-state-between-components.md | 4 +- .../learn/state-a-components-memory.md | 16 +-- .../learn/synchronizing-with-effects.md | 36 +++--- src/content/learn/thinking-in-react.md | 6 +- src/content/learn/tutorial-tic-tac-toe.md | 56 ++++----- src/content/learn/typescript.md | 10 +- .../learn/understanding-your-ui-as-a-tree.md | 22 ++-- src/content/learn/updating-arrays-in-state.md | 30 ++--- .../learn/updating-objects-in-state.md | 24 ++-- .../learn/you-might-not-need-an-effect.md | 22 ++-- .../reference/react-dom/client/createRoot.md | 12 +- .../reference/react-dom/client/hydrateRoot.md | 16 +-- .../reference/react-dom/components/common.md | 8 +- .../reference/react-dom/components/form.md | 18 +-- .../react-dom/components/textarea.md | 2 +- .../reference/react-dom/createPortal.md | 18 +-- .../reference/react-dom/findDOMNode.md | 34 +++--- src/content/reference/react-dom/flushSync.md | 2 +- .../reference/react-dom/hooks/useFormState.md | 12 +- .../react-dom/hooks/useFormStatus.md | 10 +- src/content/reference/react-dom/hydrate.md | 12 +- src/content/reference/react-dom/render.md | 12 +- .../react-dom/unmountComponentAtNode.md | 4 +- src/content/reference/react/Children.md | 30 ++--- src/content/reference/react/Component.md | 18 +-- src/content/reference/react/StrictMode.md | 40 +++---- src/content/reference/react/Suspense.md | 92 +++++++-------- src/content/reference/react/cloneElement.md | 28 ++--- src/content/reference/react/createFactory.md | 10 +- src/content/reference/react/forwardRef.md | 10 +- src/content/reference/react/lazy.md | 6 +- src/content/reference/react/use-client.md | 12 +- src/content/reference/react/use.md | 12 +- src/content/reference/react/useCallback.md | 18 +-- src/content/reference/react/useContext.md | 14 +-- src/content/reference/react/useDebugValue.md | 2 +- .../reference/react/useDeferredValue.md | 22 ++-- src/content/reference/react/useEffect.md | 42 +++---- src/content/reference/react/useId.md | 2 +- .../reference/react/useImperativeHandle.md | 8 +- .../reference/react/useLayoutEffect.md | 24 ++-- src/content/reference/react/useMemo.md | 42 +++---- src/content/reference/react/useOptimistic.md | 4 +- src/content/reference/react/useReducer.md | 20 ++-- src/content/reference/react/useState.md | 14 +-- .../reference/react/useSyncExternalStore.md | 4 +- src/content/reference/react/useTransition.md | 74 ++++++------ 73 files changed, 862 insertions(+), 868 deletions(-) diff --git a/src/components/MDX/Sandpack/createFileMap.ts b/src/components/MDX/Sandpack/createFileMap.ts index 4765f87e..85c7f09b 100644 --- a/src/components/MDX/Sandpack/createFileMap.ts +++ b/src/components/MDX/Sandpack/createFileMap.ts @@ -4,12 +4,6 @@ import type {SandpackFile} from '@codesandbox/sandpack-react/unstyled'; -/** - * Ideally, we should update all markdown files and all the sandboxes - * to use the same folder structure to include `src`. However, we can - * do the same by prepending the root folder on this function. - */ -const rootFolder = '/src/'; export const AppJSPath = `/src/App.js`; export const StylesCSSPath = `/src/styles.css`; export const SUPPORTED_FILES = [AppJSPath, StylesCSSPath]; @@ -27,7 +21,7 @@ export const createFileMap = (codeSnippets: any) => { if (props.meta) { const [name, ...params] = props.meta.split(' '); - filePath = rootFolder + name; + filePath = '/' + name; if (params.includes('hidden')) { fileHidden = true; } diff --git a/src/content/blog/2023/03/16/introducing-react-dev.md b/src/content/blog/2023/03/16/introducing-react-dev.md index d2e11fde..4ce209d7 100644 --- a/src/content/blog/2023/03/16/introducing-react-dev.md +++ b/src/content/blog/2023/03/16/introducing-react-dev.md @@ -57,7 +57,7 @@ If you like to learn by doing, we recommend checking out the [Tic-Tac-Toe Tutori <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; function Square({ value, onSquareClick }) { @@ -175,7 +175,7 @@ function calculateWinner(squares) { } ``` -```css styles.css +```css src/styles.css * { box-sizing: border-box; } diff --git a/src/content/learn/add-react-to-an-existing-project.md b/src/content/learn/add-react-to-an-existing-project.md index 03f49121..f494b0ab 100644 --- a/src/content/learn/add-react-to-an-existing-project.md +++ b/src/content/learn/add-react-to-an-existing-project.md @@ -67,7 +67,7 @@ Then add these lines of code at the top of your main JavaScript file (it might b </html> ``` -```js index.js active +```js src/index.js active import { createRoot } from 'react-dom/client'; // Clear the existing HTML content @@ -131,7 +131,7 @@ This lets you find that HTML element with [`document.getElementById`](https://de </html> ``` -```js index.js active +```js src/index.js active import { createRoot } from 'react-dom/client'; function NavigationBar() { diff --git a/src/content/learn/adding-interactivity.md b/src/content/learn/adding-interactivity.md index 501c9f62..d1359d05 100644 --- a/src/content/learn/adding-interactivity.md +++ b/src/content/learn/adding-interactivity.md @@ -134,7 +134,7 @@ export default function Gallery() { } ``` -```js data.js +```js src/data.js export const sculptureList = [{ name: 'Homenaje a la Neurocirugía', artist: 'Marta Colvin Andrade', diff --git a/src/content/learn/choosing-the-state-structure.md b/src/content/learn/choosing-the-state-structure.md index 49e11a22..c3218589 100644 --- a/src/content/learn/choosing-the-state-structure.md +++ b/src/content/learn/choosing-the-state-structure.md @@ -612,7 +612,7 @@ export default function TravelPlan() { } ``` -```js places.js active +```js src/places.js active export const initialTravelPlan = { id: 0, title: '(Root)', @@ -868,7 +868,7 @@ export default function TravelPlan() { } ``` -```js places.js active +```js src/places.js active export const initialTravelPlan = { 0: { id: 0, @@ -1204,7 +1204,7 @@ function PlaceTree({ id, parentId, placesById, onComplete }) { } ``` -```js places.js +```js src/places.js export const initialTravelPlan = { 0: { id: 0, @@ -1543,7 +1543,7 @@ function PlaceTree({ id, parentId, placesById, onComplete }) { } ``` -```js places.js +```js src/places.js export const initialTravelPlan = { 0: { id: 0, @@ -1841,7 +1841,7 @@ This `Clock` component receives two props: `color` and `time`. When you select a <Sandpack> -```js Clock.js active +```js src/Clock.js active import { useState } from 'react'; export default function Clock(props) { @@ -1854,7 +1854,7 @@ export default function Clock(props) { } ``` -```js App.js hidden +```js src/App.js hidden import { useState, useEffect } from 'react'; import Clock from './Clock.js'; @@ -1896,7 +1896,7 @@ The issue is that this component has `color` state initialized with the initial <Sandpack> -```js Clock.js active +```js src/Clock.js active import { useState } from 'react'; export default function Clock(props) { @@ -1908,7 +1908,7 @@ export default function Clock(props) { } ``` -```js App.js hidden +```js src/App.js hidden import { useState, useEffect } from 'react'; import Clock from './Clock.js'; @@ -1948,7 +1948,7 @@ Or, using the destructuring syntax: <Sandpack> -```js Clock.js active +```js src/Clock.js active import { useState } from 'react'; export default function Clock({ color, time }) { @@ -1960,7 +1960,7 @@ export default function Clock({ color, time }) { } ``` -```js App.js hidden +```js src/App.js hidden import { useState, useEffect } from 'react'; import Clock from './Clock.js'; @@ -2010,7 +2010,7 @@ Is any state in this example redundant? <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; import AddItem from './AddItem.js'; import PackingList from './PackingList.js'; @@ -2078,7 +2078,7 @@ export default function TravelPlan() { } ``` -```js AddItem.js hidden +```js src/AddItem.js hidden import { useState } from 'react'; export default function AddItem({ onAddItem }) { @@ -2099,7 +2099,7 @@ export default function AddItem({ onAddItem }) { } ``` -```js PackingList.js hidden +```js src/PackingList.js hidden import { useState } from 'react'; export default function PackingList({ @@ -2149,7 +2149,7 @@ Although you could carefully change each event handler to update the `total` and <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; import AddItem from './AddItem.js'; import PackingList from './PackingList.js'; @@ -2213,7 +2213,7 @@ export default function TravelPlan() { } ``` -```js AddItem.js hidden +```js src/AddItem.js hidden import { useState } from 'react'; export default function AddItem({ onAddItem }) { @@ -2234,7 +2234,7 @@ export default function AddItem({ onAddItem }) { } ``` -```js PackingList.js hidden +```js src/PackingList.js hidden import { useState } from 'react'; export default function PackingList({ @@ -2290,7 +2290,7 @@ This code works, but there is a minor UI glitch. When you press "Star" or "Unsta <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; import { initialLetters } from './data.js'; import Letter from './Letter.js'; @@ -2337,7 +2337,7 @@ export default function MailClient() { } ``` -```js Letter.js +```js src/Letter.js export default function Letter({ letter, isHighlighted, @@ -2367,7 +2367,7 @@ export default function Letter({ } ``` -```js data.js +```js src/data.js export const initialLetters = [{ id: 0, subject: 'Ready for adventure?', @@ -2399,7 +2399,7 @@ To fix the issue, remove the duplication from state. Instead of storing *the let <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; import { initialLetters } from './data.js'; import Letter from './Letter.js'; @@ -2446,7 +2446,7 @@ export default function MailClient() { } ``` -```js Letter.js +```js src/Letter.js export default function Letter({ letter, isHighlighted, @@ -2476,7 +2476,7 @@ export default function Letter({ } ``` -```js data.js +```js src/data.js export const initialLetters = [{ id: 0, subject: 'Ready for adventure?', @@ -2516,7 +2516,7 @@ Instead of a single selected ID, you might want to hold an array or a [Set](http <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; import { letters } from './data.js'; import Letter from './Letter.js'; @@ -2559,7 +2559,7 @@ export default function MailClient() { } ``` -```js Letter.js +```js src/Letter.js export default function Letter({ letter, onToggle, @@ -2584,7 +2584,7 @@ export default function Letter({ } ``` -```js data.js +```js src/data.js export const letters = [{ id: 0, subject: 'Ready for adventure?', @@ -2615,7 +2615,7 @@ Instead of a single `selectedId`, keep a `selectedIds` *array* in state. For exa <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; import { letters } from './data.js'; import Letter from './Letter.js'; @@ -2667,7 +2667,7 @@ export default function MailClient() { } ``` -```js Letter.js +```js src/Letter.js export default function Letter({ letter, onToggle, @@ -2692,7 +2692,7 @@ export default function Letter({ } ``` -```js data.js +```js src/data.js export const letters = [{ id: 0, subject: 'Ready for adventure?', @@ -2723,7 +2723,7 @@ To fix this, you can hold a [Set](https://developer.mozilla.org/en-US/docs/Web/J <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; import { letters } from './data.js'; import Letter from './Letter.js'; @@ -2772,7 +2772,7 @@ export default function MailClient() { } ``` -```js Letter.js +```js src/Letter.js export default function Letter({ letter, onToggle, @@ -2797,7 +2797,7 @@ export default function Letter({ } ``` -```js data.js +```js src/data.js export const letters = [{ id: 0, subject: 'Ready for adventure?', diff --git a/src/content/learn/describing-the-ui.md b/src/content/learn/describing-the-ui.md index 167fe5b7..ce49b85c 100644 --- a/src/content/learn/describing-the-ui.md +++ b/src/content/learn/describing-the-ui.md @@ -69,7 +69,7 @@ You can declare many components in one file, but large files can get difficult t <Sandpack> -```js App.js hidden +```js src/App.js hidden import Gallery from './Gallery.js'; export default function App() { @@ -79,7 +79,7 @@ export default function App() { } ``` -```js Gallery.js active +```js src/Gallery.js active import Profile from './Profile.js'; export default function Gallery() { @@ -94,7 +94,7 @@ export default function Gallery() { } ``` -```js Profile.js +```js src/Profile.js export default function Profile() { return ( <img @@ -279,7 +279,7 @@ function Card({ children }) { ``` -```js utils.js +```js src/utils.js export function getImageUrl(person, size = 's') { return ( 'https://i.imgur.com/' + @@ -371,7 +371,7 @@ For each array item, you will need to specify a `key`. Usually, you will want to <Sandpack> -```js App.js +```js src/App.js import { people } from './data.js'; import { getImageUrl } from './utils.js'; @@ -398,7 +398,7 @@ export default function List() { } ``` -```js data.js +```js src/data.js export const people = [{ id: 0, name: 'Creola Katherine Johnson', @@ -432,7 +432,7 @@ export const people = [{ }]; ``` -```js utils.js +```js src/utils.js export function getImageUrl(person) { return ( 'https://i.imgur.com/' + diff --git a/src/content/learn/escape-hatches.md b/src/content/learn/escape-hatches.md index 69e73352..23f11f54 100644 --- a/src/content/learn/escape-hatches.md +++ b/src/content/learn/escape-hatches.md @@ -163,7 +163,7 @@ export default function ChatRoom() { } ``` -```js chat.js +```js src/chat.js export function createConnection() { // A real implementation would actually connect to the server return { @@ -281,7 +281,7 @@ export default function App() { } ``` -```js chat.js +```js src/chat.js export function createConnection(serverUrl, roomId) { // A real implementation would actually connect to the server return { @@ -395,7 +395,7 @@ export default function App() { } ``` -```js chat.js +```js src/chat.js export function createConnection(serverUrl, roomId) { // A real implementation would actually connect to the server let connectedCallback; @@ -424,7 +424,7 @@ export function createConnection(serverUrl, roomId) { } ``` -```js notifications.js +```js src/notifications.js import Toastify from 'toastify-js'; import 'toastify-js/src/toastify.css'; @@ -528,7 +528,7 @@ export default function App() { } ``` -```js chat.js +```js src/chat.js export function createConnection(serverUrl, roomId) { // A real implementation would actually connect to the server let connectedCallback; @@ -557,7 +557,7 @@ export function createConnection(serverUrl, roomId) { } ``` -```js notifications.js hidden +```js src/notifications.js hidden import Toastify from 'toastify-js'; import 'toastify-js/src/toastify.css'; @@ -647,7 +647,7 @@ export default function App() { } ``` -```js chat.js +```js src/chat.js export function createConnection({ serverUrl, roomId }) { // A real implementation would actually connect to the server return { @@ -721,7 +721,7 @@ export default function App() { } ``` -```js chat.js +```js src/chat.js export function createConnection({ serverUrl, roomId }) { // A real implementation would actually connect to the server return { @@ -797,7 +797,7 @@ function Dot({ position, opacity }) { } ``` -```js usePointerPosition.js +```js src/usePointerPosition.js import { useState, useEffect } from 'react'; export function usePointerPosition() { @@ -813,7 +813,7 @@ export function usePointerPosition() { } ``` -```js useDelayedValue.js +```js src/useDelayedValue.js import { useState, useEffect } from 'react'; export function useDelayedValue(value, delay) { diff --git a/src/content/learn/extracting-state-logic-into-a-reducer.md b/src/content/learn/extracting-state-logic-into-a-reducer.md index 012a5c3f..5c08c012 100644 --- a/src/content/learn/extracting-state-logic-into-a-reducer.md +++ b/src/content/learn/extracting-state-logic-into-a-reducer.md @@ -23,7 +23,7 @@ As your components grow in complexity, it can get harder to see at a glance all <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; import AddTask from './AddTask.js'; import TaskList from './TaskList.js'; @@ -79,7 +79,7 @@ const initialTasks = [ ]; ``` -```js AddTask.js hidden +```js src/AddTask.js hidden import { useState } from 'react'; export default function AddTask({onAddTask}) { @@ -103,7 +103,7 @@ export default function AddTask({onAddTask}) { } ``` -```js TaskList.js hidden +```js src/TaskList.js hidden import { useState } from 'react'; export default function TaskList({tasks, onChangeTask, onDeleteTask}) { @@ -398,7 +398,7 @@ You could even use the `reduce()` method with an `initialState` and an array of <Sandpack> -```js index.js active +```js src/index.js active import tasksReducer from './tasksReducer.js'; let initialState = []; @@ -415,7 +415,7 @@ const output = document.getElementById('output'); output.textContent = JSON.stringify(finalState, null, 2); ``` -```js tasksReducer.js +```js src/tasksReducer.js export default function tasksReducer(tasks, action) { switch (action.type) { case 'added': { @@ -493,7 +493,7 @@ Now it's fully wired up! Here, the reducer is declared at the bottom of the comp <Sandpack> -```js App.js +```js src/App.js import { useReducer } from 'react'; import AddTask from './AddTask.js'; import TaskList from './TaskList.js'; @@ -574,7 +574,7 @@ const initialTasks = [ ]; ``` -```js AddTask.js hidden +```js src/AddTask.js hidden import { useState } from 'react'; export default function AddTask({onAddTask}) { @@ -598,7 +598,7 @@ export default function AddTask({onAddTask}) { } ``` -```js TaskList.js hidden +```js src/TaskList.js hidden import { useState } from 'react'; export default function TaskList({tasks, onChangeTask, onDeleteTask}) { @@ -678,7 +678,7 @@ If you want, you can even move the reducer to a different file: <Sandpack> -```js App.js +```js src/App.js import { useReducer } from 'react'; import AddTask from './AddTask.js'; import TaskList from './TaskList.js'; @@ -730,7 +730,7 @@ const initialTasks = [ ]; ``` -```js tasksReducer.js +```js src/tasksReducer.js export default function tasksReducer(tasks, action) { switch (action.type) { case 'added': { @@ -762,7 +762,7 @@ export default function tasksReducer(tasks, action) { } ``` -```js AddTask.js hidden +```js src/AddTask.js hidden import { useState } from 'react'; export default function AddTask({onAddTask}) { @@ -786,7 +786,7 @@ export default function AddTask({onAddTask}) { } ``` -```js TaskList.js hidden +```js src/TaskList.js hidden import { useState } from 'react'; export default function TaskList({tasks, onChangeTask, onDeleteTask}) { @@ -889,7 +889,7 @@ Just like with [updating objects](/learn/updating-objects-in-state#write-concise <Sandpack> -```js App.js +```js src/App.js import { useImmerReducer } from 'use-immer'; import AddTask from './AddTask.js'; import TaskList from './TaskList.js'; @@ -964,7 +964,7 @@ const initialTasks = [ ]; ``` -```js AddTask.js hidden +```js src/AddTask.js hidden import { useState } from 'react'; export default function AddTask({onAddTask}) { @@ -988,7 +988,7 @@ export default function AddTask({onAddTask}) { } ``` -```js TaskList.js hidden +```js src/TaskList.js hidden import { useState } from 'react'; export default function TaskList({tasks, onChangeTask, onDeleteTask}) { @@ -1126,7 +1126,7 @@ This means that your action object should have a `type: 'changed_selection'`. Yo <Sandpack> -```js App.js +```js src/App.js import { useReducer } from 'react'; import Chat from './Chat.js'; import ContactList from './ContactList.js'; @@ -1160,7 +1160,7 @@ const contacts = [ ]; ``` -```js messengerReducer.js +```js src/messengerReducer.js export const initialState = { selectedId: 0, message: 'Hello', @@ -1188,7 +1188,7 @@ export function messengerReducer(state, action) { } ``` -```js ContactList.js +```js src/ContactList.js export default function ContactList({contacts, selectedId, dispatch}) { return ( <section className="contact-list"> @@ -1209,7 +1209,7 @@ export default function ContactList({contacts, selectedId, dispatch}) { } ``` -```js Chat.js +```js src/Chat.js import { useState } from 'react'; export default function Chat({contact, message, dispatch}) { @@ -1276,7 +1276,7 @@ Here is the example updated to dispatch the corresponding messages: <Sandpack> -```js App.js +```js src/App.js import { useReducer } from 'react'; import Chat from './Chat.js'; import ContactList from './ContactList.js'; @@ -1310,7 +1310,7 @@ const contacts = [ ]; ``` -```js messengerReducer.js +```js src/messengerReducer.js export const initialState = { selectedId: 0, message: 'Hello', @@ -1338,7 +1338,7 @@ export function messengerReducer(state, action) { } ``` -```js ContactList.js +```js src/ContactList.js export default function ContactList({contacts, selectedId, dispatch}) { return ( <section className="contact-list"> @@ -1362,7 +1362,7 @@ export default function ContactList({contacts, selectedId, dispatch}) { } ``` -```js Chat.js +```js src/Chat.js import { useState } from 'react'; export default function Chat({contact, message, dispatch}) { @@ -1420,7 +1420,7 @@ Currently, pressing "Send" doesn't do anything. Add an event handler to the "Sen <Sandpack> -```js App.js +```js src/App.js import { useReducer } from 'react'; import Chat from './Chat.js'; import ContactList from './ContactList.js'; @@ -1454,7 +1454,7 @@ const contacts = [ ]; ``` -```js messengerReducer.js +```js src/messengerReducer.js export const initialState = { selectedId: 0, message: 'Hello', @@ -1482,7 +1482,7 @@ export function messengerReducer(state, action) { } ``` -```js ContactList.js +```js src/ContactList.js export default function ContactList({contacts, selectedId, dispatch}) { return ( <section className="contact-list"> @@ -1506,7 +1506,7 @@ export default function ContactList({contacts, selectedId, dispatch}) { } ``` -```js Chat.js active +```js src/Chat.js active import { useState } from 'react'; export default function Chat({contact, message, dispatch}) { @@ -1559,7 +1559,7 @@ There are a couple of ways you could do it in the "Send" button event handler. O <Sandpack> -```js App.js +```js src/App.js import { useReducer } from 'react'; import Chat from './Chat.js'; import ContactList from './ContactList.js'; @@ -1593,7 +1593,7 @@ const contacts = [ ]; ``` -```js messengerReducer.js +```js src/messengerReducer.js export const initialState = { selectedId: 0, message: 'Hello', @@ -1621,7 +1621,7 @@ export function messengerReducer(state, action) { } ``` -```js ContactList.js +```js src/ContactList.js export default function ContactList({contacts, selectedId, dispatch}) { return ( <section className="contact-list"> @@ -1645,7 +1645,7 @@ export default function ContactList({contacts, selectedId, dispatch}) { } ``` -```js Chat.js active +```js src/Chat.js active import { useState } from 'react'; export default function Chat({contact, message, dispatch}) { @@ -1707,7 +1707,7 @@ However, _from the user's perspective_, sending a message is a different action <Sandpack> -```js App.js +```js src/App.js import { useReducer } from 'react'; import Chat from './Chat.js'; import ContactList from './ContactList.js'; @@ -1741,7 +1741,7 @@ const contacts = [ ]; ``` -```js messengerReducer.js active +```js src/messengerReducer.js active export const initialState = { selectedId: 0, message: 'Hello', @@ -1775,7 +1775,7 @@ export function messengerReducer(state, action) { } ``` -```js ContactList.js +```js src/ContactList.js export default function ContactList({contacts, selectedId, dispatch}) { return ( <section className="contact-list"> @@ -1799,7 +1799,7 @@ export default function ContactList({contacts, selectedId, dispatch}) { } ``` -```js Chat.js active +```js src/Chat.js active import { useState } from 'react'; export default function Chat({contact, message, dispatch}) { @@ -1904,7 +1904,7 @@ The `[key]: value` [computed property](https://developer.mozilla.org/en-US/docs/ <Sandpack> -```js App.js +```js src/App.js import { useReducer } from 'react'; import Chat from './Chat.js'; import ContactList from './ContactList.js'; @@ -1938,7 +1938,7 @@ const contacts = [ ]; ``` -```js messengerReducer.js +```js src/messengerReducer.js export const initialState = { selectedId: 0, message: 'Hello', @@ -1972,7 +1972,7 @@ export function messengerReducer(state, action) { } ``` -```js ContactList.js +```js src/ContactList.js export default function ContactList({contacts, selectedId, dispatch}) { return ( <section className="contact-list"> @@ -1996,7 +1996,7 @@ export default function ContactList({contacts, selectedId, dispatch}) { } ``` -```js Chat.js +```js src/Chat.js import { useState } from 'react'; export default function Chat({contact, message, dispatch}) { @@ -2081,7 +2081,7 @@ Here is the complete solution: <Sandpack> -```js App.js +```js src/App.js import { useReducer } from 'react'; import Chat from './Chat.js'; import ContactList from './ContactList.js'; @@ -2115,7 +2115,7 @@ const contacts = [ ]; ``` -```js messengerReducer.js +```js src/messengerReducer.js export const initialState = { selectedId: 0, messages: { @@ -2158,7 +2158,7 @@ export function messengerReducer(state, action) { } ``` -```js ContactList.js +```js src/ContactList.js export default function ContactList({contacts, selectedId, dispatch}) { return ( <section className="contact-list"> @@ -2182,7 +2182,7 @@ export default function ContactList({contacts, selectedId, dispatch}) { } ``` -```js Chat.js +```js src/Chat.js import { useState } from 'react'; export default function Chat({contact, message, dispatch}) { @@ -2269,7 +2269,7 @@ Recall that a reducer function takes two arguments--the current state and the ac <Sandpack> -```js App.js +```js src/App.js import { useReducer } from './MyReact.js'; import Chat from './Chat.js'; import ContactList from './ContactList.js'; @@ -2303,7 +2303,7 @@ const contacts = [ ]; ``` -```js messengerReducer.js +```js src/messengerReducer.js export const initialState = { selectedId: 0, messages: { @@ -2346,7 +2346,7 @@ export function messengerReducer(state, action) { } ``` -```js MyReact.js active +```js src/MyReact.js active import { useState } from 'react'; export function useReducer(reducer, initialState) { @@ -2358,7 +2358,7 @@ export function useReducer(reducer, initialState) { } ``` -```js ContactList.js hidden +```js src/ContactList.js hidden export default function ContactList({contacts, selectedId, dispatch}) { return ( <section className="contact-list"> @@ -2382,7 +2382,7 @@ export default function ContactList({contacts, selectedId, dispatch}) { } ``` -```js Chat.js hidden +```js src/Chat.js hidden import { useState } from 'react'; export default function Chat({contact, message, dispatch}) { @@ -2443,7 +2443,7 @@ Dispatching an action calls a reducer with the current state and the action, and <Sandpack> -```js App.js +```js src/App.js import { useReducer } from './MyReact.js'; import Chat from './Chat.js'; import ContactList from './ContactList.js'; @@ -2477,7 +2477,7 @@ const contacts = [ ]; ``` -```js messengerReducer.js +```js src/messengerReducer.js export const initialState = { selectedId: 0, messages: { @@ -2520,7 +2520,7 @@ export function messengerReducer(state, action) { } ``` -```js MyReact.js active +```js src/MyReact.js active import { useState } from 'react'; export function useReducer(reducer, initialState) { @@ -2535,7 +2535,7 @@ export function useReducer(reducer, initialState) { } ``` -```js ContactList.js hidden +```js src/ContactList.js hidden export default function ContactList({contacts, selectedId, dispatch}) { return ( <section className="contact-list"> @@ -2559,7 +2559,7 @@ export default function ContactList({contacts, selectedId, dispatch}) { } ``` -```js Chat.js hidden +```js src/Chat.js hidden import { useState } from 'react'; export default function Chat({contact, message, dispatch}) { diff --git a/src/content/learn/importing-and-exporting-components.md b/src/content/learn/importing-and-exporting-components.md index 3a39c36d..b458ef40 100644 --- a/src/content/learn/importing-and-exporting-components.md +++ b/src/content/learn/importing-and-exporting-components.md @@ -66,7 +66,7 @@ Here both `Profile` and `Gallery` have been moved out of `App.js` into a new fil <Sandpack> -```js App.js +```js src/App.js import Gallery from './Gallery.js'; export default function App() { @@ -76,7 +76,7 @@ export default function App() { } ``` -```js Gallery.js +```js src/Gallery.js function Profile() { return ( <img @@ -183,7 +183,7 @@ Now `Gallery.js` contains two exports: a default `Gallery` export, and a named ` <Sandpack> -```js App.js +```js src/App.js import Gallery from './Gallery.js'; import { Profile } from './Gallery.js'; @@ -194,7 +194,7 @@ export default function App() { } ``` -```js Gallery.js +```js src/Gallery.js export function Profile() { return ( <img @@ -268,7 +268,7 @@ Don't forget to import your components where they are called. Doesn't `Gallery` <Sandpack> -```js App.js +```js src/App.js import Gallery from './Gallery.js'; import { Profile } from './Gallery.js'; @@ -281,7 +281,7 @@ export default function App() { } ``` -```js Gallery.js active +```js src/Gallery.js active // Move me to Profile.js! export function Profile() { return ( @@ -304,7 +304,7 @@ export default function Gallery() { } ``` -```js Profile.js +```js src/Profile.js ``` ```css @@ -321,7 +321,7 @@ This is the solution with named exports: <Sandpack> -```js App.js +```js src/App.js import Gallery from './Gallery.js'; import { Profile } from './Profile.js'; @@ -335,7 +335,7 @@ export default function App() { } ``` -```js Gallery.js +```js src/Gallery.js import { Profile } from './Profile.js'; export default function Gallery() { @@ -350,7 +350,7 @@ export default function Gallery() { } ``` -```js Profile.js +```js src/Profile.js export function Profile() { return ( <img @@ -371,7 +371,7 @@ This is the solution with default exports: <Sandpack> -```js App.js +```js src/App.js import Gallery from './Gallery.js'; import Profile from './Profile.js'; @@ -385,7 +385,7 @@ export default function App() { } ``` -```js Gallery.js +```js src/Gallery.js import Profile from './Profile.js'; export default function Gallery() { @@ -400,7 +400,7 @@ export default function Gallery() { } ``` -```js Profile.js +```js src/Profile.js export default function Profile() { return ( <img diff --git a/src/content/learn/javascript-in-jsx-with-curly-braces.md b/src/content/learn/javascript-in-jsx-with-curly-braces.md index 50291611..736065b0 100644 --- a/src/content/learn/javascript-in-jsx-with-curly-braces.md +++ b/src/content/learn/javascript-in-jsx-with-curly-braces.md @@ -529,7 +529,7 @@ You can also move this expression into a separate function like `getImageUrl` be <Sandpack> -```js App.js +```js src/App.js import { getImageUrl } from './utils.js' const person = { @@ -561,7 +561,7 @@ export default function TodoList() { } ``` -```js utils.js +```js src/utils.js export function getImageUrl(person) { return ( 'https://i.imgur.com/' + diff --git a/src/content/learn/keeping-components-pure.md b/src/content/learn/keeping-components-pure.md index 60760edc..6d4f5576 100644 --- a/src/content/learn/keeping-components-pure.md +++ b/src/content/learn/keeping-components-pure.md @@ -49,7 +49,7 @@ React is designed around this concept. **React assumes that every component you <Sandpack> -```js App.js +```js src/App.js function Recipe({ drinkers }) { return ( <ol> @@ -243,7 +243,7 @@ Rendering is a *calculation*, it shouldn't try to "do" things. Can you express t <Sandpack> -```js Clock.js active +```js src/Clock.js active export default function Clock({ time }) { let hours = time.getHours(); if (hours >= 0 && hours <= 6) { @@ -259,7 +259,7 @@ export default function Clock({ time }) { } ``` -```js App.js hidden +```js src/App.js hidden import { useState, useEffect } from 'react'; import Clock from './Clock.js'; @@ -305,7 +305,7 @@ You can fix this component by calculating the `className` and including it in th <Sandpack> -```js Clock.js active +```js src/Clock.js active export default function Clock({ time }) { let hours = time.getHours(); let className; @@ -322,7 +322,7 @@ export default function Clock({ time }) { } ``` -```js App.js hidden +```js src/App.js hidden import { useState, useEffect } from 'react'; import Clock from './Clock.js'; @@ -380,7 +380,7 @@ The buggy code is in `Profile.js`. Make sure you read it all from top to bottom! <Sandpack> -```js Profile.js +```js src/Profile.js import Panel from './Panel.js'; import { getImageUrl } from './utils.js'; @@ -413,7 +413,7 @@ function Avatar() { } ``` -```js Panel.js hidden +```js src/Panel.js hidden import { useState } from 'react'; export default function Panel({ children }) { @@ -429,7 +429,7 @@ export default function Panel({ children }) { } ``` -```js App.js +```js src/App.js import Profile from './Profile.js'; export default function App() { @@ -448,7 +448,7 @@ export default function App() { } ``` -```js utils.js hidden +```js src/utils.js hidden export function getImageUrl(person, size = 's') { return ( 'https://i.imgur.com/' + @@ -481,7 +481,7 @@ To fix the bug, remove the `currentPerson` variable. Instead, pass all informati <Sandpack> -```js Profile.js active +```js src/Profile.js active import Panel from './Panel.js'; import { getImageUrl } from './utils.js'; @@ -511,7 +511,7 @@ function Avatar({ person }) { } ``` -```js Panel.js hidden +```js src/Panel.js hidden import { useState } from 'react'; export default function Panel({ children }) { @@ -527,7 +527,7 @@ export default function Panel({ children }) { } ``` -```js App.js +```js src/App.js import Profile from './Profile.js'; export default function App() { @@ -546,7 +546,7 @@ export default function App() { } ``` -```js utils.js hidden +```js src/utils.js hidden export function getImageUrl(person, size = 's') { return ( 'https://i.imgur.com/' + @@ -583,7 +583,7 @@ You implemented the "Create Story" placeholder by pushing one more fake story at <Sandpack> -```js StoryTray.js active +```js src/StoryTray.js active export default function StoryTray({ stories }) { stories.push({ id: 'create', @@ -602,7 +602,7 @@ export default function StoryTray({ stories }) { } ``` -```js App.js hidden +```js src/App.js hidden import { useState, useEffect } from 'react'; import StoryTray from './StoryTray.js'; @@ -683,7 +683,7 @@ The simplest fix is to not touch the array at all, and render "Create Story" sep <Sandpack> -```js StoryTray.js active +```js src/StoryTray.js active export default function StoryTray({ stories }) { return ( <ul> @@ -698,7 +698,7 @@ export default function StoryTray({ stories }) { } ``` -```js App.js hidden +```js src/App.js hidden import { useState, useEffect } from 'react'; import StoryTray from './StoryTray.js'; @@ -767,7 +767,7 @@ Alternatively, you could create a _new_ array (by copying the existing one) befo <Sandpack> -```js StoryTray.js active +```js src/StoryTray.js active export default function StoryTray({ stories }) { // Copy the array! let storiesToDisplay = stories.slice(); @@ -790,7 +790,7 @@ export default function StoryTray({ stories }) { } ``` -```js App.js hidden +```js src/App.js hidden import { useState, useEffect } from 'react'; import StoryTray from './StoryTray.js'; diff --git a/src/content/learn/lifecycle-of-reactive-effects.md b/src/content/learn/lifecycle-of-reactive-effects.md index 5d9554a1..3dc9a75f 100644 --- a/src/content/learn/lifecycle-of-reactive-effects.md +++ b/src/content/learn/lifecycle-of-reactive-effects.md @@ -251,7 +251,7 @@ export default function App() { } ``` -```js chat.js +```js src/chat.js export function createConnection(serverUrl, roomId) { // A real implementation would actually connect to the server return { @@ -447,7 +447,7 @@ export default function App() { } ``` -```js chat.js +```js src/chat.js export function createConnection(serverUrl, roomId) { // A real implementation would actually connect to the server return { @@ -527,7 +527,7 @@ export default function App() { } ``` -```js chat.js +```js src/chat.js export function createConnection(serverUrl, roomId) { // A real implementation would actually connect to the server return { @@ -646,7 +646,7 @@ export default function App() { } ``` -```js chat.js +```js src/chat.js export function createConnection(serverUrl, roomId) { // A real implementation would actually connect to the server return { @@ -837,7 +837,7 @@ export default function App() { } ``` -```js chat.js +```js src/chat.js export function createConnection(serverUrl, roomId) { // A real implementation would actually connect to the server return { @@ -912,7 +912,7 @@ export default function App() { } ``` -```js chat.js +```js src/chat.js export function createConnection(serverUrl, roomId) { // A real implementation would actually connect to the server return { @@ -1329,7 +1329,7 @@ Suppressing the linter is always suspicious. Could this be a bug? <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; import ChatRoom from './ChatRoom.js'; import { @@ -1374,7 +1374,7 @@ export default function App() { } ``` -```js ChatRoom.js active +```js src/ChatRoom.js active import { useState, useEffect } from 'react'; export default function ChatRoom({ roomId, createConnection }) { @@ -1389,7 +1389,7 @@ export default function ChatRoom({ roomId, createConnection }) { } ``` -```js chat.js +```js src/chat.js export function createEncryptedConnection(roomId) { // A real implementation would actually connect to the server return { @@ -1427,7 +1427,7 @@ If you remove the linter suppression, you will see a lint error. The problem is <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; import ChatRoom from './ChatRoom.js'; import { @@ -1472,7 +1472,7 @@ export default function App() { } ``` -```js ChatRoom.js active +```js src/ChatRoom.js active import { useState, useEffect } from 'react'; export default function ChatRoom({ roomId, createConnection }) { @@ -1486,7 +1486,7 @@ export default function ChatRoom({ roomId, createConnection }) { } ``` -```js chat.js +```js src/chat.js export function createEncryptedConnection(roomId) { // A real implementation would actually connect to the server return { @@ -1522,7 +1522,7 @@ It is correct that `createConnection` is a dependency. However, this code is a b <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; import ChatRoom from './ChatRoom.js'; @@ -1560,7 +1560,7 @@ export default function App() { } ``` -```js ChatRoom.js active +```js src/ChatRoom.js active import { useState, useEffect } from 'react'; import { createEncryptedConnection, @@ -1581,7 +1581,7 @@ export default function ChatRoom({ roomId, isEncrypted }) { } ``` -```js chat.js +```js src/chat.js export function createEncryptedConnection(roomId) { // A real implementation would actually connect to the server return { @@ -1633,7 +1633,7 @@ If you have two independent synchronization processes, you need to write two sep <Sandpack> -```js App.js +```js src/App.js import { useState, useEffect } from 'react'; import { fetchData } from './api.js'; @@ -1687,7 +1687,7 @@ export default function Page() { } ``` -```js api.js hidden +```js src/api.js hidden export function fetchData(url) { if (url === '/planets') { return fetchPlanets(); @@ -1782,7 +1782,7 @@ This is why it makes sense to describe them as two separate Effects. Here's an e <Sandpack> -```js App.js +```js src/App.js import { useState, useEffect } from 'react'; import { fetchData } from './api.js'; @@ -1855,7 +1855,7 @@ export default function Page() { } ``` -```js api.js hidden +```js src/api.js hidden export function fetchData(url) { if (url === '/planets') { return fetchPlanets(); @@ -1945,7 +1945,7 @@ Instead, to reduce repetition, you can extract some logic into a custom Hook lik <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; import { useSelectOptions } from './useSelectOptions.js'; @@ -1991,7 +1991,7 @@ export default function Page() { } ``` -```js useSelectOptions.js +```js src/useSelectOptions.js import { useState, useEffect } from 'react'; import { fetchData } from './api.js'; @@ -2018,7 +2018,7 @@ export function useSelectOptions(url) { } ``` -```js api.js hidden +```js src/api.js hidden export function fetchData(url) { if (url === '/planets') { return fetchPlanets(); diff --git a/src/content/learn/managing-state.md b/src/content/learn/managing-state.md index c88ae379..93bcc10f 100644 --- a/src/content/learn/managing-state.md +++ b/src/content/learn/managing-state.md @@ -308,7 +308,7 @@ However, sometimes this is not what you want. In this chat app, typing a message <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; import Chat from './Chat.js'; import ContactList from './ContactList.js'; @@ -334,7 +334,7 @@ const contacts = [ ]; ``` -```js ContactList.js +```js src/ContactList.js export default function ContactList({ selectedContact, contacts, @@ -358,7 +358,7 @@ export default function ContactList({ } ``` -```js Chat.js +```js src/Chat.js import { useState } from 'react'; export default function Chat({ contact }) { @@ -403,7 +403,7 @@ React lets you override the default behavior, and *force* a component to reset i <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; import Chat from './Chat.js'; import ContactList from './ContactList.js'; @@ -429,7 +429,7 @@ const contacts = [ ]; ``` -```js ContactList.js +```js src/ContactList.js export default function ContactList({ selectedContact, contacts, @@ -453,7 +453,7 @@ export default function ContactList({ } ``` -```js Chat.js +```js src/Chat.js import { useState } from 'react'; export default function Chat({ contact }) { @@ -506,7 +506,7 @@ Components with many state updates spread across many event handlers can get ove <Sandpack> -```js App.js +```js src/App.js import { useReducer } from 'react'; import AddTask from './AddTask.js'; import TaskList from './TaskList.js'; @@ -589,7 +589,7 @@ const initialTasks = [ ]; ``` -```js AddTask.js hidden +```js src/AddTask.js hidden import { useState } from 'react'; export default function AddTask({ onAddTask }) { @@ -610,7 +610,7 @@ export default function AddTask({ onAddTask }) { } ``` -```js TaskList.js hidden +```js src/TaskList.js hidden import { useState } from 'react'; export default function TaskList({ @@ -733,7 +733,7 @@ export default function Page() { } ``` -```js Section.js +```js src/Section.js import { useContext } from 'react'; import { LevelContext } from './LevelContext.js'; @@ -749,7 +749,7 @@ export default function Section({ children }) { } ``` -```js Heading.js +```js src/Heading.js import { useContext } from 'react'; import { LevelContext } from './LevelContext.js'; @@ -776,7 +776,7 @@ export default function Heading({ children }) { } ``` -```js LevelContext.js +```js src/LevelContext.js import { createContext } from 'react'; export const LevelContext = createContext(0); @@ -807,7 +807,7 @@ With this approach, a parent component with complex state manages it with a redu <Sandpack> -```js App.js +```js src/App.js import AddTask from './AddTask.js'; import TaskList from './TaskList.js'; import { TasksProvider } from './TasksContext.js'; @@ -823,7 +823,7 @@ export default function TaskApp() { } ``` -```js TasksContext.js +```js src/TasksContext.js import { createContext, useContext, useReducer } from 'react'; const TasksContext = createContext(null); @@ -888,7 +888,7 @@ const initialTasks = [ ]; ``` -```js AddTask.js +```js src/AddTask.js import { useState, useContext } from 'react'; import { useTasksDispatch } from './TasksContext.js'; @@ -917,7 +917,7 @@ export default function AddTask({ onAddTask }) { let nextId = 3; ``` -```js TaskList.js +```js src/TaskList.js import { useState, useContext } from 'react'; import { useTasks, useTasksDispatch } from './TasksContext.js'; diff --git a/src/content/learn/manipulating-the-dom-with-refs.md b/src/content/learn/manipulating-the-dom-with-refs.md index 3e91a769..3d5cbfd1 100644 --- a/src/content/learn/manipulating-the-dom-with-refs.md +++ b/src/content/learn/manipulating-the-dom-with-refs.md @@ -1098,7 +1098,7 @@ You'll need `forwardRef` to opt into exposing a DOM node from your own component <Sandpack> -```js App.js +```js src/App.js import SearchButton from './SearchButton.js'; import SearchInput from './SearchInput.js'; @@ -1114,7 +1114,7 @@ export default function Page() { } ``` -```js SearchButton.js +```js src/SearchButton.js export default function SearchButton() { return ( <button> @@ -1124,7 +1124,7 @@ export default function SearchButton() { } ``` -```js SearchInput.js +```js src/SearchInput.js export default function SearchInput() { return ( <input @@ -1146,7 +1146,7 @@ You'll need to add an `onClick` prop to the `SearchButton`, and make the `Search <Sandpack> -```js App.js +```js src/App.js import { useRef } from 'react'; import SearchButton from './SearchButton.js'; import SearchInput from './SearchInput.js'; @@ -1166,7 +1166,7 @@ export default function Page() { } ``` -```js SearchButton.js +```js src/SearchButton.js export default function SearchButton({ onClick }) { return ( <button onClick={onClick}> @@ -1176,7 +1176,7 @@ export default function SearchButton({ onClick }) { } ``` -```js SearchInput.js +```js src/SearchInput.js import { forwardRef } from 'react'; export default forwardRef( diff --git a/src/content/learn/passing-data-deeply-with-context.md b/src/content/learn/passing-data-deeply-with-context.md index 31405c0a..1aea87b3 100644 --- a/src/content/learn/passing-data-deeply-with-context.md +++ b/src/content/learn/passing-data-deeply-with-context.md @@ -64,7 +64,7 @@ export default function Page() { } ``` -```js Section.js +```js src/Section.js export default function Section({ children }) { return ( <section className="section"> @@ -74,7 +74,7 @@ export default function Section({ children }) { } ``` -```js Heading.js +```js src/Heading.js export default function Heading({ level, children }) { switch (level) { case 1: @@ -138,7 +138,7 @@ export default function Page() { } ``` -```js Section.js +```js src/Section.js export default function Section({ children }) { return ( <section className="section"> @@ -148,7 +148,7 @@ export default function Section({ children }) { } ``` -```js Heading.js +```js src/Heading.js export default function Heading({ level, children }) { switch (level) { case 1: @@ -260,7 +260,7 @@ export default function Page() { } ``` -```js Section.js +```js src/Section.js export default function Section({ children }) { return ( <section className="section"> @@ -270,7 +270,7 @@ export default function Section({ children }) { } ``` -```js Heading.js +```js src/Heading.js export default function Heading({ level, children }) { switch (level) { case 1: @@ -291,7 +291,7 @@ export default function Heading({ level, children }) { } ``` -```js LevelContext.js active +```js src/LevelContext.js active import { createContext } from 'react'; export const LevelContext = createContext(1); @@ -390,7 +390,7 @@ export default function Page() { } ``` -```js Section.js +```js src/Section.js export default function Section({ children }) { return ( <section className="section"> @@ -400,7 +400,7 @@ export default function Section({ children }) { } ``` -```js Heading.js +```js src/Heading.js import { useContext } from 'react'; import { LevelContext } from './LevelContext.js'; @@ -425,7 +425,7 @@ export default function Heading({ children }) { } ``` -```js LevelContext.js +```js src/LevelContext.js import { createContext } from 'react'; export const LevelContext = createContext(1); @@ -508,7 +508,7 @@ export default function Page() { } ``` -```js Section.js +```js src/Section.js import { LevelContext } from './LevelContext.js'; export default function Section({ level, children }) { @@ -522,7 +522,7 @@ export default function Section({ level, children }) { } ``` -```js Heading.js +```js src/Heading.js import { useContext } from 'react'; import { LevelContext } from './LevelContext.js'; @@ -547,7 +547,7 @@ export default function Heading({ children }) { } ``` -```js LevelContext.js +```js src/LevelContext.js import { createContext } from 'react'; export const LevelContext = createContext(1); @@ -587,7 +587,7 @@ export default function Page() { Since context lets you read information from a component above, each `Section` could read the `level` from the `Section` above, and pass `level + 1` down automatically. Here is how you could do it: -```js Section.js {5,8} +```js src/Section.js {5,8} import { useContext } from 'react'; import { LevelContext } from './LevelContext.js'; @@ -635,7 +635,7 @@ export default function Page() { } ``` -```js Section.js +```js src/Section.js import { useContext } from 'react'; import { LevelContext } from './LevelContext.js'; @@ -651,7 +651,7 @@ export default function Section({ children }) { } ``` -```js Heading.js +```js src/Heading.js import { useContext } from 'react'; import { LevelContext } from './LevelContext.js'; @@ -678,7 +678,7 @@ export default function Heading({ children }) { } ``` -```js LevelContext.js +```js src/LevelContext.js import { createContext } from 'react'; export const LevelContext = createContext(0); @@ -765,7 +765,7 @@ function Post({ title, body }) { } ``` -```js Section.js +```js src/Section.js import { useContext } from 'react'; import { LevelContext } from './LevelContext.js'; @@ -784,7 +784,7 @@ export default function Section({ children, isFancy }) { } ``` -```js Heading.js +```js src/Heading.js import { useContext } from 'react'; import { LevelContext } from './LevelContext.js'; @@ -811,7 +811,7 @@ export default function Heading({ children }) { } ``` -```js LevelContext.js +```js src/LevelContext.js import { createContext } from 'react'; export const LevelContext = createContext(0); @@ -887,7 +887,7 @@ You can declare context in `Context.js`. <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; import { places } from './data.js'; import { getImageUrl } from './utils.js'; @@ -952,11 +952,11 @@ function PlaceImage({ place, imageSize }) { } ``` -```js Context.js +```js src/Context.js ``` -```js data.js +```js src/data.js export const places = [{ id: 0, name: 'Bo-Kaap in Cape Town, South Africa', @@ -995,7 +995,7 @@ export const places = [{ }]; ``` -```js utils.js +```js src/utils.js export function getImageUrl(place) { return ( 'https://i.imgur.com/' + @@ -1026,7 +1026,7 @@ Create and export `ImageSizeContext` from `Context.js`. Then wrap the List into <Sandpack> -```js App.js +```js src/App.js import { useState, useContext } from 'react'; import { places } from './data.js'; import { getImageUrl } from './utils.js'; @@ -1089,13 +1089,13 @@ function PlaceImage({ place }) { } ``` -```js Context.js +```js src/Context.js import { createContext } from 'react'; export const ImageSizeContext = createContext(500); ``` -```js data.js +```js src/data.js export const places = [{ id: 0, name: 'Bo-Kaap in Cape Town, South Africa', @@ -1134,7 +1134,7 @@ export const places = [{ }]; ``` -```js utils.js +```js src/utils.js export function getImageUrl(place) { return ( 'https://i.imgur.com/' + diff --git a/src/content/learn/passing-props-to-a-component.md b/src/content/learn/passing-props-to-a-component.md index 8e756c2f..aae682d1 100644 --- a/src/content/learn/passing-props-to-a-component.md +++ b/src/content/learn/passing-props-to-a-component.md @@ -106,7 +106,7 @@ Now you can configure `Avatar` to render in many different ways with different p <Sandpack> -```js App.js +```js src/App.js import { getImageUrl } from './utils.js'; function Avatar({ person, size }) { @@ -150,7 +150,7 @@ export default function Profile() { } ``` -```js utils.js +```js src/utils.js export function getImageUrl(person, size = 's') { return ( 'https://i.imgur.com/' + @@ -275,7 +275,7 @@ When you nest content inside a JSX tag, the parent component will receive that c <Sandpack> -```js App.js +```js src/App.js import Avatar from './Avatar.js'; function Card({ children }) { @@ -301,7 +301,7 @@ export default function Profile() { } ``` -```js Avatar.js +```js src/Avatar.js import { getImageUrl } from './utils.js'; export default function Avatar({ person, size }) { @@ -317,7 +317,7 @@ export default function Avatar({ person, size }) { } ``` -```js utils.js +```js src/utils.js export function getImageUrl(person, size = 's') { return ( 'https://i.imgur.com/' + @@ -361,7 +361,7 @@ Try changing the color in the select box below: <Sandpack> -```js Clock.js active +```js src/Clock.js active export default function Clock({ color, time }) { return ( <h1 style={{ color: color }}> @@ -371,7 +371,7 @@ export default function Clock({ color, time }) { } ``` -```js App.js hidden +```js src/App.js hidden import { useState, useEffect } from 'react'; import Clock from './Clock.js'; @@ -435,7 +435,7 @@ This `Gallery` component contains some very similar markup for two profiles. Ext <Sandpack> -```js App.js +```js src/App.js import { getImageUrl } from './utils.js'; export default function Gallery() { @@ -495,7 +495,7 @@ export default function Gallery() { } ``` -```js utils.js +```js src/utils.js export function getImageUrl(imageId, size = 's') { return ( 'https://i.imgur.com/' + @@ -536,7 +536,7 @@ Note that the `imageSize` prop has a default value, which is why we don't pass i <Sandpack> -```js App.js +```js src/App.js import { getImageUrl } from './utils.js'; function Profile({ @@ -603,7 +603,7 @@ export default function Gallery() { } ``` -```js utils.js +```js src/utils.js export function getImageUrl(imageId, size = 's') { return ( 'https://i.imgur.com/' + @@ -636,7 +636,7 @@ Another solution, which is more similar to the earlier examples on this page, is <Sandpack> -```js App.js +```js src/App.js import { getImageUrl } from './utils.js'; function Profile({ person, imageSize = 70 }) { @@ -700,7 +700,7 @@ export default function Gallery() { } ``` -```js utils.js +```js src/utils.js export function getImageUrl(person, size = 's') { return ( 'https://i.imgur.com/' + @@ -739,7 +739,7 @@ Change the `Avatar` component to request the closest image size based on the `si <Sandpack> -```js App.js +```js src/App.js import { getImageUrl } from './utils.js'; function Avatar({ person, size }) { @@ -767,7 +767,7 @@ export default function Profile() { } ``` -```js utils.js +```js src/utils.js export function getImageUrl(person, size) { return ( 'https://i.imgur.com/' + @@ -790,7 +790,7 @@ Here is how you could go about it: <Sandpack> -```js App.js +```js src/App.js import { getImageUrl } from './utils.js'; function Avatar({ person, size }) { @@ -831,7 +831,7 @@ export default function Profile() { } ``` -```js utils.js +```js src/utils.js export function getImageUrl(person, size) { return ( 'https://i.imgur.com/' + @@ -852,7 +852,7 @@ You could also show a sharper image for high DPI screens by taking [`window.devi <Sandpack> -```js App.js +```js src/App.js import { getImageUrl } from './utils.js'; const ratio = window.devicePixelRatio; @@ -902,7 +902,7 @@ export default function Profile() { } ``` -```js utils.js +```js src/utils.js export function getImageUrl(person, size) { return ( 'https://i.imgur.com/' + diff --git a/src/content/learn/preserving-and-resetting-state.md b/src/content/learn/preserving-and-resetting-state.md index 709d9e3d..d3507184 100644 --- a/src/content/learn/preserving-and-resetting-state.md +++ b/src/content/learn/preserving-and-resetting-state.md @@ -1025,7 +1025,7 @@ In this chat app, the `<Chat>` component contains the text input state: <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; import Chat from './Chat.js'; import ContactList from './ContactList.js'; @@ -1051,7 +1051,7 @@ const contacts = [ ]; ``` -```js ContactList.js +```js src/ContactList.js export default function ContactList({ selectedContact, contacts, @@ -1075,7 +1075,7 @@ export default function ContactList({ } ``` -```js Chat.js +```js src/Chat.js import { useState } from 'react'; export default function Chat({ contact }) { @@ -1130,7 +1130,7 @@ Now switching the recipient always clears the text field: <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; import Chat from './Chat.js'; import ContactList from './ContactList.js'; @@ -1156,7 +1156,7 @@ const contacts = [ ]; ``` -```js ContactList.js +```js src/ContactList.js export default function ContactList({ selectedContact, contacts, @@ -1180,7 +1180,7 @@ export default function ContactList({ } ``` -```js Chat.js +```js src/Chat.js import { useState } from 'react'; export default function Chat({ contact }) { @@ -1254,7 +1254,7 @@ This example shows a message when you press the button. However, pressing the bu <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; export default function App() { @@ -1305,7 +1305,7 @@ The easiest solution is to unify the branches so that `Form` always renders in t <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; export default function App() { @@ -1351,7 +1351,7 @@ Technically, you could also add `null` before `<Form />` in the `else` branch to <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; export default function App() { @@ -1413,7 +1413,7 @@ It seems like for these fields, their position within the parent is not enough. <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; export default function App() { @@ -1475,7 +1475,7 @@ Give a `key` to both `<Field>` components in both `if` and `else` branches. This <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; export default function App() { @@ -1541,7 +1541,7 @@ When you select a different contact (for example, Alice), the state updates but <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; import ContactList from './ContactList.js'; import EditContact from './EditContact.js'; @@ -1593,7 +1593,7 @@ const initialContacts = [ ]; ``` -```js ContactList.js +```js src/ContactList.js export default function ContactList({ contacts, selectedId, @@ -1620,7 +1620,7 @@ export default function ContactList({ } ``` -```js EditContact.js +```js src/EditContact.js import { useState } from 'react'; export default function EditContact({ initialData, onSave }) { @@ -1693,7 +1693,7 @@ Give `key={selectedId}` to the `EditContact` component. This way, switching betw <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; import ContactList from './ContactList.js'; import EditContact from './EditContact.js'; @@ -1746,7 +1746,7 @@ const initialContacts = [ ]; ``` -```js ContactList.js +```js src/ContactList.js export default function ContactList({ contacts, selectedId, @@ -1773,7 +1773,7 @@ export default function ContactList({ } ``` -```js EditContact.js +```js src/EditContact.js import { useState } from 'react'; export default function EditContact({ initialData, onSave }) { @@ -1994,7 +1994,7 @@ Fix it so that the expanded state is associated with each contact, regardless of <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; import Contact from './Contact.js'; @@ -2036,7 +2036,7 @@ const contacts = [ ]; ``` -```js Contact.js +```js src/Contact.js import { useState } from 'react'; export default function Contact({ contact }) { @@ -2093,7 +2093,7 @@ Using the contact ID as a `key` instead fixes the issue: <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; import Contact from './Contact.js'; @@ -2135,7 +2135,7 @@ const contacts = [ ]; ``` -```js Contact.js +```js src/Contact.js import { useState } from 'react'; export default function Contact({ contact }) { diff --git a/src/content/learn/queueing-a-series-of-state-updates.md b/src/content/learn/queueing-a-series-of-state-updates.md index a63b7205..41de6529 100644 --- a/src/content/learn/queueing-a-series-of-state-updates.md +++ b/src/content/learn/queueing-a-series-of-state-updates.md @@ -404,7 +404,7 @@ Fill out the missing lines! <Sandpack> -```js processQueue.js active +```js src/processQueue.js active export function getFinalState(baseState, queue) { let finalState = baseState; @@ -414,7 +414,7 @@ export function getFinalState(baseState, queue) { } ``` -```js App.js +```js src/App.js import { getFinalState } from './processQueue.js'; function increment(n) { @@ -499,7 +499,7 @@ This is the exact algorithm described on this page that React uses to calculate <Sandpack> -```js processQueue.js active +```js src/processQueue.js active export function getFinalState(baseState, queue) { let finalState = baseState; @@ -517,7 +517,7 @@ export function getFinalState(baseState, queue) { } ``` -```js App.js +```js src/App.js import { getFinalState } from './processQueue.js'; function increment(n) { diff --git a/src/content/learn/reacting-to-input-with-state.md b/src/content/learn/reacting-to-input-with-state.md index 29f60ca6..878ab0fc 100644 --- a/src/content/learn/reacting-to-input-with-state.md +++ b/src/content/learn/reacting-to-input-with-state.md @@ -35,7 +35,7 @@ In this example of imperative UI programming, the form is built *without* React. <Sandpack> -```js index.js active +```js src/index.js active async function handleFormSubmit(e) { e.preventDefault(); disable(textarea); @@ -246,7 +246,7 @@ If a component has a lot of visual states, it can be convenient to show them all <Sandpack> -```js App.js active +```js src/App.js active import Form from './Form.js'; let statuses = [ @@ -271,7 +271,7 @@ export default function App() { } ``` -```js Form.js +```js src/Form.js export default function Form({ status }) { if (status === 'success') { return <h1>That's right!</h1> @@ -707,7 +707,7 @@ Here is a small form implemented with plain JavaScript and DOM. Play with it to <Sandpack> -```js index.js active +```js src/index.js active function handleFormSubmit(e) { e.preventDefault(); if (editButton.textContent === 'Edit Profile') { @@ -909,7 +909,7 @@ Here is the original sandbox from the previous challenge, written imperatively w <Sandpack> -```js index.js active +```js src/index.js active function handleFormSubmit(e) { e.preventDefault(); if (editButton.textContent === 'Edit Profile') { @@ -1008,7 +1008,7 @@ If you're struggling to think where to start, the stub below already has most of <Sandpack> -```js index.js active +```js src/index.js active let firstName = 'Jane'; let lastName = 'Jacobs'; let isEditing = false; @@ -1115,7 +1115,7 @@ The missing logic included toggling the display of inputs and content, and updat <Sandpack> -```js index.js active +```js src/index.js active let firstName = 'Jane'; let lastName = 'Jacobs'; let isEditing = false; diff --git a/src/content/learn/removing-effect-dependencies.md b/src/content/learn/removing-effect-dependencies.md index 9195cccc..9a871c6c 100644 --- a/src/content/learn/removing-effect-dependencies.md +++ b/src/content/learn/removing-effect-dependencies.md @@ -75,7 +75,7 @@ export default function App() { } ``` -```js chat.js +```js src/chat.js export function createConnection(serverUrl, roomId) { // A real implementation would actually connect to the server return { @@ -150,7 +150,7 @@ export default function App() { } ``` -```js chat.js +```js src/chat.js export function createConnection(serverUrl, roomId) { // A real implementation would actually connect to the server return { @@ -242,7 +242,7 @@ export default function ChatRoom() { } ``` -```js chat.js +```js src/chat.js export function createConnection(serverUrl, roomId) { // A real implementation would actually connect to the server return { @@ -846,7 +846,7 @@ export default function App() { } ``` -```js chat.js +```js src/chat.js export function createConnection({ serverUrl, roomId }) { // A real implementation would actually connect to the server return { @@ -1023,7 +1023,7 @@ export default function App() { } ``` -```js chat.js +```js src/chat.js export function createConnection({ serverUrl, roomId }) { // A real implementation would actually connect to the server return { @@ -1335,7 +1335,7 @@ export default function App() { } ``` -```js animation.js +```js src/animation.js export class FadeInAnimation { constructor(node) { this.node = node; @@ -1466,7 +1466,7 @@ export default function App() { } ``` -```js animation.js +```js src/animation.js export class FadeInAnimation { constructor(node) { this.node = node; @@ -1523,7 +1523,7 @@ There's more than one way to fix this, but ultimately you want to avoid having a <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; import ChatRoom from './ChatRoom.js'; @@ -1567,7 +1567,7 @@ export default function App() { } ``` -```js ChatRoom.js active +```js src/ChatRoom.js active import { useEffect } from 'react'; import { createConnection } from './chat.js'; @@ -1582,7 +1582,7 @@ export default function ChatRoom({ options }) { } ``` -```js chat.js +```js src/chat.js export function createConnection({ serverUrl, roomId }) { // A real implementation would actually connect to the server if (typeof serverUrl !== 'string') { @@ -1617,7 +1617,7 @@ The least invasive fix is to read `roomId` and `serverUrl` right outside the Eff <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; import ChatRoom from './ChatRoom.js'; @@ -1661,7 +1661,7 @@ export default function App() { } ``` -```js ChatRoom.js active +```js src/ChatRoom.js active import { useEffect } from 'react'; import { createConnection } from './chat.js'; @@ -1680,7 +1680,7 @@ export default function ChatRoom({ options }) { } ``` -```js chat.js +```js src/chat.js export function createConnection({ serverUrl, roomId }) { // A real implementation would actually connect to the server if (typeof serverUrl !== 'string') { @@ -1711,7 +1711,7 @@ It would be even better to replace the object `options` prop with the more speci <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; import ChatRoom from './ChatRoom.js'; @@ -1753,7 +1753,7 @@ export default function App() { } ``` -```js ChatRoom.js active +```js src/ChatRoom.js active import { useState, useEffect } from 'react'; import { createConnection } from './chat.js'; @@ -1771,7 +1771,7 @@ export default function ChatRoom({ roomId, serverUrl }) { } ``` -```js chat.js +```js src/chat.js export function createConnection({ serverUrl, roomId }) { // A real implementation would actually connect to the server if (typeof serverUrl !== 'string') { @@ -1839,7 +1839,7 @@ Another of these functions only exists to pass some state to an imported API met } ``` -```js App.js +```js src/App.js import { useState } from 'react'; import ChatRoom from './ChatRoom.js'; import { @@ -1905,7 +1905,7 @@ export default function App() { } ``` -```js ChatRoom.js active +```js src/ChatRoom.js active import { useState, useEffect } from 'react'; import { experimental_useEffectEvent as useEffectEvent } from 'react'; @@ -1921,7 +1921,7 @@ export default function ChatRoom({ roomId, createConnection, onMessage }) { } ``` -```js chat.js +```js src/chat.js export function createEncryptedConnection({ serverUrl, roomId }) { // A real implementation would actually connect to the server if (typeof serverUrl !== 'string') { @@ -2005,7 +2005,7 @@ export function createUnencryptedConnection({ serverUrl, roomId }) { } ``` -```js notifications.js +```js src/notifications.js import Toastify from 'toastify-js'; import 'toastify-js/src/toastify.css'; @@ -2134,7 +2134,7 @@ As a result, the chat re-connects only when something meaningful (`roomId` or `i } ``` -```js App.js +```js src/App.js import { useState } from 'react'; import ChatRoom from './ChatRoom.js'; @@ -2187,7 +2187,7 @@ export default function App() { } ``` -```js ChatRoom.js active +```js src/ChatRoom.js active import { useState, useEffect } from 'react'; import { experimental_useEffectEvent as useEffectEvent } from 'react'; import { @@ -2221,7 +2221,7 @@ export default function ChatRoom({ roomId, isEncrypted, onMessage }) { } ``` -```js chat.js +```js src/chat.js export function createEncryptedConnection({ serverUrl, roomId }) { // A real implementation would actually connect to the server if (typeof serverUrl !== 'string') { @@ -2305,7 +2305,7 @@ export function createUnencryptedConnection({ serverUrl, roomId }) { } ``` -```js notifications.js +```js src/notifications.js import Toastify from 'toastify-js'; import 'toastify-js/src/toastify.css'; diff --git a/src/content/learn/render-and-commit.md b/src/content/learn/render-and-commit.md index 84bf904c..3f059359 100644 --- a/src/content/learn/render-and-commit.md +++ b/src/content/learn/render-and-commit.md @@ -42,7 +42,7 @@ When your app starts, you need to trigger the initial render. Frameworks and san <Sandpack> -```js index.js active +```js src/index.js active import Image from './Image.js'; import { createRoot } from 'react-dom/client'; @@ -50,7 +50,7 @@ const root = createRoot(document.getElementById('root')) root.render(<Image />); ``` -```js Image.js +```js src/Image.js export default function Image() { return ( <img @@ -88,7 +88,7 @@ In the following example, React will call `Gallery()` and `Image()` several tim <Sandpack> -```js Gallery.js active +```js src/Gallery.js active export default function Gallery() { return ( <section> @@ -110,7 +110,7 @@ function Image() { } ``` -```js index.js +```js src/index.js import Gallery from './Gallery.js'; import { createRoot } from 'react-dom/client'; @@ -157,7 +157,7 @@ After rendering (calling) your components, React will modify the DOM. <Sandpack> -```js Clock.js active +```js src/Clock.js active export default function Clock({ time }) { return ( <> @@ -168,7 +168,7 @@ export default function Clock({ time }) { } ``` -```js App.js hidden +```js src/App.js hidden import { useState, useEffect } from 'react'; import Clock from './Clock.js'; diff --git a/src/content/learn/rendering-lists.md b/src/content/learn/rendering-lists.md index 5b07afd9..108e394e 100644 --- a/src/content/learn/rendering-lists.md +++ b/src/content/learn/rendering-lists.md @@ -159,7 +159,7 @@ return <ul>{listItems}</ul>; <Sandpack> -```js App.js +```js src/App.js import { people } from './data.js'; import { getImageUrl } from './utils.js'; @@ -184,7 +184,7 @@ export default function List() { } ``` -```js data.js +```js src/data.js export const people = [{ id: 0, name: 'Creola Katherine Johnson', @@ -218,7 +218,7 @@ export const people = [{ }]; ``` -```js utils.js +```js src/utils.js export function getImageUrl(person) { return ( 'https://i.imgur.com/' + @@ -292,7 +292,7 @@ Rather than generating keys on the fly, you should include them in your data: <Sandpack> -```js App.js +```js src/App.js import { people } from './data.js'; import { getImageUrl } from './utils.js'; @@ -314,7 +314,7 @@ export default function List() { } ``` -```js data.js active +```js src/data.js active export const people = [{ id: 0, // Used in JSX as a key name: 'Creola Katherine Johnson', @@ -348,7 +348,7 @@ export const people = [{ }]; ``` -```js utils.js +```js src/utils.js export function getImageUrl(person) { return ( 'https://i.imgur.com/' + @@ -448,7 +448,7 @@ Change it to show two separate lists one after another: **Chemists** and **Every <Sandpack> -```js App.js +```js src/App.js import { people } from './data.js'; import { getImageUrl } from './utils.js'; @@ -475,7 +475,7 @@ export default function List() { } ``` -```js data.js +```js src/data.js export const people = [{ id: 0, name: 'Creola Katherine Johnson', @@ -509,7 +509,7 @@ export const people = [{ }]; ``` -```js utils.js +```js src/utils.js export function getImageUrl(person) { return ( 'https://i.imgur.com/' + @@ -539,7 +539,7 @@ You could use `filter()` twice, creating two separate arrays, and then `map` ove <Sandpack> -```js App.js +```js src/App.js import { people } from './data.js'; import { getImageUrl } from './utils.js'; @@ -590,7 +590,7 @@ export default function List() { } ``` -```js data.js +```js src/data.js export const people = [{ id: 0, name: 'Creola Katherine Johnson', @@ -624,7 +624,7 @@ export const people = [{ }]; ``` -```js utils.js +```js src/utils.js export function getImageUrl(person) { return ( 'https://i.imgur.com/' + @@ -654,7 +654,7 @@ There is still a bit duplication between the rendered lists. You can go further <Sandpack> -```js App.js +```js src/App.js import { people } from './data.js'; import { getImageUrl } from './utils.js'; @@ -704,7 +704,7 @@ export default function List() { } ``` -```js data.js +```js src/data.js export const people = [{ id: 0, name: 'Creola Katherine Johnson', @@ -738,7 +738,7 @@ export const people = [{ }]; ``` -```js utils.js +```js src/utils.js export function getImageUrl(person) { return ( 'https://i.imgur.com/' + @@ -768,7 +768,7 @@ In fact, if `people` never change, you could move this code out of your componen <Sandpack> -```js App.js +```js src/App.js import { people } from './data.js'; import { getImageUrl } from './utils.js'; @@ -822,7 +822,7 @@ export default function List() { } ``` -```js data.js +```js src/data.js export const people = [{ id: 0, name: 'Creola Katherine Johnson', @@ -856,7 +856,7 @@ export const people = [{ }]; ``` -```js utils.js +```js src/utils.js export function getImageUrl(person) { return ( 'https://i.imgur.com/' + @@ -894,7 +894,7 @@ This will require nesting two different `map` calls. <Sandpack> -```js App.js +```js src/App.js import { recipes } from './data.js'; export default function RecipeList() { @@ -906,7 +906,7 @@ export default function RecipeList() { } ``` -```js data.js +```js src/data.js export const recipes = [{ id: 'greek-salad', name: 'Greek Salad', @@ -930,7 +930,7 @@ Here is one way you could go about it: <Sandpack> -```js App.js +```js src/App.js import { recipes } from './data.js'; export default function RecipeList() { @@ -954,7 +954,7 @@ export default function RecipeList() { } ``` -```js data.js +```js src/data.js export const recipes = [{ id: 'greek-salad', name: 'Greek Salad', @@ -982,7 +982,7 @@ This `RecipeList` component contains two nested `map` calls. To simplify it, ext <Sandpack> -```js App.js +```js src/App.js import { recipes } from './data.js'; export default function RecipeList() { @@ -1006,7 +1006,7 @@ export default function RecipeList() { } ``` -```js data.js +```js src/data.js export const recipes = [{ id: 'greek-salad', name: 'Greek Salad', @@ -1060,7 +1060,7 @@ export default function RecipeList() { } ``` -```js data.js +```js src/data.js export const recipes = [{ id: 'greek-salad', name: 'Greek Salad', diff --git a/src/content/learn/responding-to-events.md b/src/content/learn/responding-to-events.md index 4450c461..17bd087e 100644 --- a/src/content/learn/responding-to-events.md +++ b/src/content/learn/responding-to-events.md @@ -629,7 +629,7 @@ After you do this, notice that clicking the button also increments the page clic <Sandpack> -```js ColorSwitch.js active +```js src/ColorSwitch.js active export default function ColorSwitch({ onChangeColor }) { @@ -641,7 +641,7 @@ export default function ColorSwitch({ } ``` -```js App.js hidden +```js src/App.js hidden import { useState } from 'react'; import ColorSwitch from './ColorSwitch.js'; @@ -685,7 +685,7 @@ However, this introduces the problem of the incrementing counter. If `onChangeCo <Sandpack> -```js ColorSwitch.js active +```js src/ColorSwitch.js active export default function ColorSwitch({ onChangeColor }) { @@ -700,7 +700,7 @@ export default function ColorSwitch({ } ``` -```js App.js hidden +```js src/App.js hidden import { useState } from 'react'; import ColorSwitch from './ColorSwitch.js'; diff --git a/src/content/learn/reusing-logic-with-custom-hooks.md b/src/content/learn/reusing-logic-with-custom-hooks.md index 679a9bac..13a556c7 100644 --- a/src/content/learn/reusing-logic-with-custom-hooks.md +++ b/src/content/learn/reusing-logic-with-custom-hooks.md @@ -184,7 +184,7 @@ export default function App() { } ``` -```js useOnlineStatus.js +```js src/useOnlineStatus.js import { useState, useEffect } from 'react'; export function useOnlineStatus() { @@ -402,7 +402,7 @@ export default function Form() { } ``` -```js useFormInput.js active +```js src/useFormInput.js active import { useState } from 'react'; export function useFormInput(initialValue) { @@ -453,7 +453,7 @@ Because custom Hooks re-render together with your component, they always receive <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; import ChatRoom from './ChatRoom.js'; @@ -481,7 +481,7 @@ export default function App() { } ``` -```js ChatRoom.js active +```js src/ChatRoom.js active import { useState, useEffect } from 'react'; import { createConnection } from './chat.js'; import { showNotification } from './notifications.js'; @@ -514,7 +514,7 @@ export default function ChatRoom({ roomId }) { } ``` -```js chat.js +```js src/chat.js export function createConnection({ serverUrl, roomId }) { // A real implementation would actually connect to the server if (typeof serverUrl !== 'string') { @@ -557,7 +557,7 @@ export function createConnection({ serverUrl, roomId }) { } ``` -```js notifications.js +```js src/notifications.js import Toastify from 'toastify-js'; import 'toastify-js/src/toastify.css'; @@ -649,7 +649,7 @@ Notice that the logic *still responds* to prop and state changes. Try editing th <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; import ChatRoom from './ChatRoom.js'; @@ -677,7 +677,7 @@ export default function App() { } ``` -```js ChatRoom.js active +```js src/ChatRoom.js active import { useState } from 'react'; import { useChatRoom } from './useChatRoom.js'; @@ -701,7 +701,7 @@ export default function ChatRoom({ roomId }) { } ``` -```js useChatRoom.js +```js src/useChatRoom.js import { useEffect } from 'react'; import { createConnection } from './chat.js'; import { showNotification } from './notifications.js'; @@ -722,7 +722,7 @@ export function useChatRoom({ serverUrl, roomId }) { } ``` -```js chat.js +```js src/chat.js export function createConnection({ serverUrl, roomId }) { // A real implementation would actually connect to the server if (typeof serverUrl !== 'string') { @@ -765,7 +765,7 @@ export function createConnection({ serverUrl, roomId }) { } ``` -```js notifications.js +```js src/notifications.js import Toastify from 'toastify-js'; import 'toastify-js/src/toastify.css'; @@ -927,7 +927,7 @@ Now the chat won't re-connect every time that the `ChatRoom` component re-render <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; import ChatRoom from './ChatRoom.js'; @@ -955,7 +955,7 @@ export default function App() { } ``` -```js ChatRoom.js active +```js src/ChatRoom.js active import { useState } from 'react'; import { useChatRoom } from './useChatRoom.js'; import { showNotification } from './notifications.js'; @@ -983,7 +983,7 @@ export default function ChatRoom({ roomId }) { } ``` -```js useChatRoom.js +```js src/useChatRoom.js import { useEffect } from 'react'; import { experimental_useEffectEvent as useEffectEvent } from 'react'; import { createConnection } from './chat.js'; @@ -1006,7 +1006,7 @@ export function useChatRoom({ serverUrl, roomId, onReceiveMessage }) { } ``` -```js chat.js +```js src/chat.js export function createConnection({ serverUrl, roomId }) { // A real implementation would actually connect to the server if (typeof serverUrl !== 'string') { @@ -1049,7 +1049,7 @@ export function createConnection({ serverUrl, roomId }) { } ``` -```js notifications.js +```js src/notifications.js import Toastify from 'toastify-js'; import 'toastify-js/src/toastify.css'; @@ -1306,7 +1306,7 @@ export default function App() { } ``` -```js useOnlineStatus.js active +```js src/useOnlineStatus.js active import { useState, useEffect } from 'react'; export function useOnlineStatus() { @@ -1369,7 +1369,7 @@ export default function App() { } ``` -```js useOnlineStatus.js active +```js src/useOnlineStatus.js active import { useSyncExternalStore } from 'react'; function subscribe(callback) { @@ -1554,7 +1554,7 @@ export default function App() { } ``` -```js useFadeIn.js +```js src/useFadeIn.js import { useEffect } from 'react'; export function useFadeIn(ref, duration) { @@ -1645,7 +1645,7 @@ export default function App() { } ``` -```js useFadeIn.js active +```js src/useFadeIn.js active import { useState, useEffect } from 'react'; import { experimental_useEffectEvent as useEffectEvent } from 'react'; @@ -1749,7 +1749,7 @@ export default function App() { } ``` -```js useFadeIn.js active +```js src/useFadeIn.js active import { useState, useEffect } from 'react'; import { FadeInAnimation } from './animation.js'; @@ -1764,7 +1764,7 @@ export function useFadeIn(ref, duration) { } ``` -```js animation.js +```js src/animation.js export class FadeInAnimation { constructor(node) { this.node = node; @@ -1845,12 +1845,12 @@ export default function App() { } ``` -```css styles.css +```css src/styles.css label, button { display: block; margin-bottom: 20px; } html, body { min-height: 300px; } ``` -```css welcome.css active +```css src/welcome.css active .welcome { color: white; padding: 50px; @@ -1918,7 +1918,7 @@ export default function Counter() { } ``` -```js useCounter.js +```js src/useCounter.js // Write your custom Hook in this file! ``` @@ -1939,7 +1939,7 @@ export default function Counter() { } ``` -```js useCounter.js +```js src/useCounter.js import { useState, useEffect } from 'react'; export function useCounter() { @@ -1993,7 +1993,7 @@ export default function Counter() { } ``` -```js useCounter.js +```js src/useCounter.js import { useState, useEffect } from 'react'; export function useCounter() { @@ -2043,7 +2043,7 @@ export default function Counter() { } ``` -```js useCounter.js +```js src/useCounter.js import { useState, useEffect } from 'react'; export function useCounter(delay) { @@ -2090,7 +2090,7 @@ export default function Counter() { } ``` -```js useCounter.js +```js src/useCounter.js import { useState, useEffect } from 'react'; export function useCounter(delay) { @@ -2105,7 +2105,7 @@ export function useCounter(delay) { } ``` -```js useInterval.js +```js src/useInterval.js // Write your Hook here! ``` @@ -2126,7 +2126,7 @@ export default function Counter() { } ``` -```js useCounter.js +```js src/useCounter.js import { useState } from 'react'; import { useInterval } from './useInterval.js'; @@ -2139,7 +2139,7 @@ export function useCounter(delay) { } ``` -```js useInterval.js active +```js src/useInterval.js active import { useEffect } from 'react'; export function useInterval(onTick, delay) { @@ -2219,7 +2219,7 @@ export default function Counter() { } ``` -```js useCounter.js +```js src/useCounter.js import { useState } from 'react'; import { useInterval } from './useInterval.js'; @@ -2232,7 +2232,7 @@ export function useCounter(delay) { } ``` -```js useInterval.js +```js src/useInterval.js import { useEffect } from 'react'; import { experimental_useEffectEvent as useEffectEvent } from 'react'; @@ -2291,7 +2291,7 @@ export default function Counter() { } ``` -```js useCounter.js +```js src/useCounter.js import { useState } from 'react'; import { useInterval } from './useInterval.js'; @@ -2304,7 +2304,7 @@ export function useCounter(delay) { } ``` -```js useInterval.js active +```js src/useInterval.js active import { useEffect } from 'react'; import { experimental_useEffectEvent as useEffectEvent } from 'react'; @@ -2384,7 +2384,7 @@ function Dot({ position, opacity }) { } ``` -```js usePointerPosition.js +```js src/usePointerPosition.js import { useState, useEffect } from 'react'; export function usePointerPosition() { @@ -2463,7 +2463,7 @@ function Dot({ position, opacity }) { } ``` -```js usePointerPosition.js +```js src/usePointerPosition.js import { useState, useEffect } from 'react'; export function usePointerPosition() { diff --git a/src/content/learn/scaling-up-with-reducer-and-context.md b/src/content/learn/scaling-up-with-reducer-and-context.md index 0281afce..c3da0c63 100644 --- a/src/content/learn/scaling-up-with-reducer-and-context.md +++ b/src/content/learn/scaling-up-with-reducer-and-context.md @@ -22,7 +22,7 @@ In this example from [the introduction to reducers](/learn/extracting-state-logi <Sandpack> -```js App.js +```js src/App.js import { useReducer } from 'react'; import AddTask from './AddTask.js'; import TaskList from './TaskList.js'; @@ -105,7 +105,7 @@ const initialTasks = [ ]; ``` -```js AddTask.js +```js src/AddTask.js import { useState } from 'react'; export default function AddTask({ onAddTask }) { @@ -126,7 +126,7 @@ export default function AddTask({ onAddTask }) { } ``` -```js TaskList.js +```js src/TaskList.js import { useState } from 'react'; export default function TaskList({ @@ -256,7 +256,7 @@ Export them from a separate file so that you can later import them from other fi <Sandpack> -```js App.js +```js src/App.js import { useReducer } from 'react'; import AddTask from './AddTask.js'; import TaskList from './TaskList.js'; @@ -339,14 +339,14 @@ const initialTasks = [ ]; ``` -```js TasksContext.js active +```js src/TasksContext.js active import { createContext } from 'react'; export const TasksContext = createContext(null); export const TasksDispatchContext = createContext(null); ``` -```js AddTask.js +```js src/AddTask.js import { useState } from 'react'; export default function AddTask({ onAddTask }) { @@ -367,7 +367,7 @@ export default function AddTask({ onAddTask }) { } ``` -```js TaskList.js +```js src/TaskList.js import { useState } from 'react'; export default function TaskList({ @@ -474,7 +474,7 @@ For now, you pass the information both via props and in context: <Sandpack> -```js App.js +```js src/App.js import { useReducer } from 'react'; import AddTask from './AddTask.js'; import TaskList from './TaskList.js'; @@ -560,14 +560,14 @@ const initialTasks = [ ]; ``` -```js TasksContext.js +```js src/TasksContext.js import { createContext } from 'react'; export const TasksContext = createContext(null); export const TasksDispatchContext = createContext(null); ``` -```js AddTask.js +```js src/AddTask.js import { useState } from 'react'; export default function AddTask({ onAddTask }) { @@ -588,7 +588,7 @@ export default function AddTask({ onAddTask }) { } ``` -```js TaskList.js +```js src/TaskList.js import { useState } from 'react'; export default function TaskList({ @@ -717,7 +717,7 @@ export default function AddTask() { <Sandpack> -```js App.js +```js src/App.js import { useReducer } from 'react'; import AddTask from './AddTask.js'; import TaskList from './TaskList.js'; @@ -774,14 +774,14 @@ const initialTasks = [ ]; ``` -```js TasksContext.js +```js src/TasksContext.js import { createContext } from 'react'; export const TasksContext = createContext(null); export const TasksDispatchContext = createContext(null); ``` -```js AddTask.js +```js src/AddTask.js import { useState, useContext } from 'react'; import { TasksDispatchContext } from './TasksContext.js'; @@ -810,7 +810,7 @@ export default function AddTask() { let nextId = 3; ``` -```js TaskList.js active +```js src/TaskList.js active import { useState, useContext } from 'react'; import { TasksContext, TasksDispatchContext } from './TasksContext.js'; @@ -934,7 +934,7 @@ export function TasksProvider({ children }) { <Sandpack> -```js App.js +```js src/App.js import AddTask from './AddTask.js'; import TaskList from './TaskList.js'; import { TasksProvider } from './TasksContext.js'; @@ -950,7 +950,7 @@ export default function TaskApp() { } ``` -```js TasksContext.js +```js src/TasksContext.js import { createContext, useReducer } from 'react'; export const TasksContext = createContext(null); @@ -1005,7 +1005,7 @@ const initialTasks = [ ]; ``` -```js AddTask.js +```js src/AddTask.js import { useState, useContext } from 'react'; import { TasksDispatchContext } from './TasksContext.js'; @@ -1034,7 +1034,7 @@ export default function AddTask() { let nextId = 3; ``` -```js TaskList.js +```js src/TaskList.js import { useState, useContext } from 'react'; import { TasksContext, TasksDispatchContext } from './TasksContext.js'; @@ -1144,7 +1144,7 @@ This doesn't change the behavior in any way, but it lets you later split these c <Sandpack> -```js App.js +```js src/App.js import AddTask from './AddTask.js'; import TaskList from './TaskList.js'; import { TasksProvider } from './TasksContext.js'; @@ -1160,7 +1160,7 @@ export default function TaskApp() { } ``` -```js TasksContext.js +```js src/TasksContext.js import { createContext, useContext, useReducer } from 'react'; const TasksContext = createContext(null); @@ -1224,7 +1224,7 @@ const initialTasks = [ ]; ``` -```js AddTask.js +```js src/AddTask.js import { useState } from 'react'; import { useTasksDispatch } from './TasksContext.js'; @@ -1253,7 +1253,7 @@ export default function AddTask() { let nextId = 3; ``` -```js TaskList.js active +```js src/TaskList.js active import { useState } from 'react'; import { useTasks, useTasksDispatch } from './TasksContext.js'; diff --git a/src/content/learn/separating-events-from-effects.md b/src/content/learn/separating-events-from-effects.md index a897a602..ac65d2b6 100644 --- a/src/content/learn/separating-events-from-effects.md +++ b/src/content/learn/separating-events-from-effects.md @@ -130,7 +130,7 @@ export default function App() { } ``` -```js chat.js +```js src/chat.js export function sendMessage(message) { console.log('🔵 You sent: ' + message); } @@ -333,7 +333,7 @@ export default function App() { } ``` -```js chat.js +```js src/chat.js export function createConnection(serverUrl, roomId) { // A real implementation would actually connect to the server let connectedCallback; @@ -362,7 +362,7 @@ export function createConnection(serverUrl, roomId) { } ``` -```js notifications.js +```js src/notifications.js import Toastify from 'toastify-js'; import 'toastify-js/src/toastify.css'; @@ -521,7 +521,7 @@ export default function App() { } ``` -```js chat.js +```js src/chat.js export function createConnection(serverUrl, roomId) { // A real implementation would actually connect to the server let connectedCallback; @@ -550,7 +550,7 @@ export function createConnection(serverUrl, roomId) { } ``` -```js notifications.js hidden +```js src/notifications.js hidden import Toastify from 'toastify-js'; import 'toastify-js/src/toastify.css'; @@ -1500,7 +1500,7 @@ export default function App() { } ``` -```js chat.js +```js src/chat.js export function createConnection(serverUrl, roomId) { // A real implementation would actually connect to the server let connectedCallback; @@ -1529,7 +1529,7 @@ export function createConnection(serverUrl, roomId) { } ``` -```js notifications.js hidden +```js src/notifications.js hidden import Toastify from 'toastify-js'; import 'toastify-js/src/toastify.css'; @@ -1641,7 +1641,7 @@ export default function App() { } ``` -```js chat.js +```js src/chat.js export function createConnection(serverUrl, roomId) { // A real implementation would actually connect to the server let connectedCallback; @@ -1670,7 +1670,7 @@ export function createConnection(serverUrl, roomId) { } ``` -```js notifications.js hidden +```js src/notifications.js hidden import Toastify from 'toastify-js'; import 'toastify-js/src/toastify.css'; @@ -1784,7 +1784,7 @@ export default function App() { } ``` -```js chat.js +```js src/chat.js export function createConnection(serverUrl, roomId) { // A real implementation would actually connect to the server let connectedCallback; @@ -1813,7 +1813,7 @@ export function createConnection(serverUrl, roomId) { } ``` -```js notifications.js hidden +```js src/notifications.js hidden import Toastify from 'toastify-js'; import 'toastify-js/src/toastify.css'; diff --git a/src/content/learn/sharing-state-between-components.md b/src/content/learn/sharing-state-between-components.md index 149164fe..52eaf28f 100644 --- a/src/content/learn/sharing-state-between-components.md +++ b/src/content/learn/sharing-state-between-components.md @@ -491,7 +491,7 @@ function List({ items }) { } ``` -```js data.js +```js src/data.js export function filterItems(items, query) { query = query.toLowerCase(); return items.filter(item => @@ -584,7 +584,7 @@ function List({ items }) { } ``` -```js data.js +```js src/data.js export function filterItems(items, query) { query = query.toLowerCase(); return items.filter(item => diff --git a/src/content/learn/state-a-components-memory.md b/src/content/learn/state-a-components-memory.md index cdba8e54..75a1fd0b 100644 --- a/src/content/learn/state-a-components-memory.md +++ b/src/content/learn/state-a-components-memory.md @@ -58,7 +58,7 @@ export default function Gallery() { } ``` -```js data.js +```js src/data.js export const sculptureList = [{ name: 'Homenaje a la Neurocirugía', artist: 'Marta Colvin Andrade', @@ -238,7 +238,7 @@ export default function Gallery() { } ``` -```js data.js +```js src/data.js export const sculptureList = [{ name: 'Homenaje a la Neurocirugía', artist: 'Marta Colvin Andrade', @@ -427,7 +427,7 @@ export default function Gallery() { } ``` -```js data.js +```js src/data.js export const sculptureList = [{ name: 'Homenaje a la Neurocirugía', artist: 'Marta Colvin Andrade', @@ -536,7 +536,7 @@ This example **doesn't use React** but it gives you an idea of how `useState` wo <Sandpack> -```js index.js active +```js src/index.js active let componentHooks = []; let currentHookIndex = 0; @@ -750,7 +750,7 @@ export default function Page() { ``` -```js Gallery.js +```js src/Gallery.js import { useState } from 'react'; import { sculptureList } from './data.js'; @@ -792,7 +792,7 @@ export default function Gallery() { } ``` -```js data.js +```js src/data.js export const sculptureList = [{ name: 'Homenaje a la Neurocirugía', artist: 'Marta Colvin Andrade', @@ -963,7 +963,7 @@ export default function Gallery() { } ``` -```js data.js +```js src/data.js export const sculptureList = [{ name: 'Homenaje a la Neurocirugía', artist: 'Marta Colvin Andrade', @@ -1125,7 +1125,7 @@ export default function Gallery() { } ``` -```js data.js hidden +```js src/data.js hidden export const sculptureList = [{ name: 'Homenaje a la Neurocirugía', artist: 'Marta Colvin Andrade', diff --git a/src/content/learn/synchronizing-with-effects.md b/src/content/learn/synchronizing-with-effects.md index 7319fdb4..f1aa9843 100644 --- a/src/content/learn/synchronizing-with-effects.md +++ b/src/content/learn/synchronizing-with-effects.md @@ -502,7 +502,7 @@ export default function ChatRoom() { } ``` -```js chat.js +```js src/chat.js export function createConnection() { // A real implementation would actually connect to the server return { @@ -560,7 +560,7 @@ export default function ChatRoom() { } ``` -```js chat.js +```js src/chat.js export function createConnection() { // A real implementation would actually connect to the server return { @@ -971,7 +971,7 @@ Use the input's [`focus()`](https://developer.mozilla.org/en-US/docs/Web/API/HTM <Sandpack> -```js MyInput.js active +```js src/MyInput.js active import { useEffect, useRef } from 'react'; export default function MyInput({ value, onChange }) { @@ -990,7 +990,7 @@ export default function MyInput({ value, onChange }) { } ``` -```js App.js hidden +```js src/App.js hidden import { useState } from 'react'; import MyInput from './MyInput.js'; @@ -1055,7 +1055,7 @@ To fix the mistake, wrap the `ref.current.focus()` call into an Effect declarati <Sandpack> -```js MyInput.js active +```js src/MyInput.js active import { useEffect, useRef } from 'react'; export default function MyInput({ value, onChange }) { @@ -1075,7 +1075,7 @@ export default function MyInput({ value, onChange }) { } ``` -```js App.js hidden +```js src/App.js hidden import { useState } from 'react'; import MyInput from './MyInput.js'; @@ -1139,7 +1139,7 @@ Let's say you want to focus the first field. The first `MyInput` component now r <Sandpack> -```js MyInput.js active +```js src/MyInput.js active import { useEffect, useRef } from 'react'; export default function MyInput({ shouldFocus, value, onChange }) { @@ -1160,7 +1160,7 @@ export default function MyInput({ shouldFocus, value, onChange }) { } ``` -```js App.js hidden +```js src/App.js hidden import { useState } from 'react'; import MyInput from './MyInput.js'; @@ -1229,7 +1229,7 @@ Put the conditional logic inside the Effect. You will need to specify `shouldFoc <Sandpack> -```js MyInput.js active +```js src/MyInput.js active import { useEffect, useRef } from 'react'; export default function MyInput({ shouldFocus, value, onChange }) { @@ -1251,7 +1251,7 @@ export default function MyInput({ shouldFocus, value, onChange }) { } ``` -```js App.js hidden +```js src/App.js hidden import { useState } from 'react'; import MyInput from './MyInput.js'; @@ -1322,7 +1322,7 @@ Keep in mind that `setInterval` returns an interval ID, which you can pass to [` <Sandpack> -```js Counter.js active +```js src/Counter.js active import { useState, useEffect } from 'react'; export default function Counter() { @@ -1340,7 +1340,7 @@ export default function Counter() { } ``` -```js App.js hidden +```js src/App.js hidden import { useState } from 'react'; import Counter from './Counter.js'; @@ -1381,7 +1381,7 @@ To fix this code, save the interval ID returned by `setInterval`, and implement <Sandpack> -```js Counter.js active +```js src/Counter.js active import { useState, useEffect } from 'react'; export default function Counter() { @@ -1400,7 +1400,7 @@ export default function Counter() { } ``` -```js App.js hidden +```js src/App.js hidden import { useState } from 'react'; import Counter from './Counter.js'; @@ -1441,7 +1441,7 @@ This component shows the biography for the selected person. It loads the biograp <Sandpack> -```js App.js +```js src/App.js import { useState, useEffect } from 'react'; import { fetchBio } from './api.js'; @@ -1472,7 +1472,7 @@ export default function Page() { } ``` -```js api.js hidden +```js src/api.js hidden export async function fetchBio(person) { const delay = person === 'Bob' ? 2000 : 200; return new Promise(resolve => { @@ -1514,7 +1514,7 @@ To fix this race condition, add a cleanup function: <Sandpack> -```js App.js +```js src/App.js import { useState, useEffect } from 'react'; import { fetchBio } from './api.js'; @@ -1550,7 +1550,7 @@ export default function Page() { } ``` -```js api.js hidden +```js src/api.js hidden export async function fetchBio(person) { const delay = person === 'Bob' ? 2000 : 200; return new Promise(resolve => { diff --git a/src/content/learn/thinking-in-react.md b/src/content/learn/thinking-in-react.md index 23d4beb3..eec4ae33 100644 --- a/src/content/learn/thinking-in-react.md +++ b/src/content/learn/thinking-in-react.md @@ -81,7 +81,7 @@ You can either build "top down" by starting with building the components higher <Sandpack> -```jsx App.js +```jsx src/App.js function ProductCategoryRow({ category }) { return ( <tr> @@ -299,7 +299,7 @@ You can start seeing how your application will behave. Edit the `filterText` ini <Sandpack> -```jsx App.js +```jsx src/App.js import { useState } from 'react'; function FilterableProductTable({ products }) { @@ -496,7 +496,7 @@ Now the application fully works! <Sandpack> -```jsx App.js +```jsx src/App.js import { useState } from 'react'; function FilterableProductTable({ products }) { diff --git a/src/content/learn/tutorial-tic-tac-toe.md b/src/content/learn/tutorial-tic-tac-toe.md index b40a9057..7a829a52 100644 --- a/src/content/learn/tutorial-tic-tac-toe.md +++ b/src/content/learn/tutorial-tic-tac-toe.md @@ -29,7 +29,7 @@ You can see what it will look like when you're finished here: <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; function Square({ value, onSquareClick }) { @@ -147,7 +147,7 @@ function calculateWinner(squares) { } ``` -```css styles.css +```css src/styles.css * { box-sizing: border-box; } @@ -206,13 +206,13 @@ In the live code editor below, click **Fork** in the top-right corner to open th <Sandpack> -```js App.js +```js src/App.js export default function Square() { return <button className="square">X</button>; } ``` -```css styles.css +```css src/styles.css * { box-sizing: border-box; } @@ -455,7 +455,7 @@ export default function Board() { } ``` -```css styles.css +```css src/styles.css * { box-sizing: border-box; } @@ -627,7 +627,7 @@ Your updated code should look like this: <Sandpack> -```js App.js +```js src/App.js function Square({ value }) { return <button className="square">{value}</button>; } @@ -655,7 +655,7 @@ export default function Board() { } ``` -```css styles.css +```css src/styles.css * { box-sizing: border-box; } @@ -807,7 +807,7 @@ After you've made the above changes, your code will look like this: <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; function Square() { @@ -850,7 +850,7 @@ export default function Board() { } ``` -```css styles.css +```css src/styles.css * { box-sizing: border-box; } @@ -988,7 +988,7 @@ And your code should look like this: <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; function Square({ value }) { @@ -1019,7 +1019,7 @@ export default function Board() { } ``` -```css styles.css +```css src/styles.css * { box-sizing: border-box; } @@ -1228,7 +1228,7 @@ This is what your code should look like: <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; function Square({ value, onSquareClick }) { @@ -1270,7 +1270,7 @@ export default function Board() { } ``` -```css styles.css +```css src/styles.css * { box-sizing: border-box; } @@ -1422,7 +1422,7 @@ Now you can only add `X`'s or `O`'s to empty squares! Here is what your code sho <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; function Square({value, onSquareClick}) { @@ -1473,7 +1473,7 @@ export default function Board() { } ``` -```css styles.css +```css src/styles.css * { box-sizing: border-box; } @@ -1524,7 +1524,7 @@ body { Now that the players can take turns, you'll want to show when the game is won and there are no more turns to make. To do this you'll add a helper function called `calculateWinner` that takes an array of 9 squares, checks for a winner and returns `'X'`, `'O'`, or `null` as appropriate. Don't worry too much about the `calculateWinner` function; it's not specific to React: -```js App.js +```js src/App.js export default function Board() { //... } @@ -1594,7 +1594,7 @@ Congratulations! You now have a working tic-tac-toe game. And you've just learne <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; function Square({value, onSquareClick}) { @@ -1674,7 +1674,7 @@ function calculateWinner(squares) { } ``` -```css styles.css +```css src/styles.css * { box-sizing: border-box; } @@ -1872,7 +1872,7 @@ At this point, you've moved the state to live in the `Game` component, and the U <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; function Square({ value, onSquareClick }) { @@ -1970,7 +1970,7 @@ function calculateWinner(squares) { } ``` -```css styles.css +```css src/styles.css * { box-sizing: border-box; } @@ -2083,7 +2083,7 @@ You'll fix this error in the next section. <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; function Square({ value, onSquareClick }) { @@ -2199,7 +2199,7 @@ function calculateWinner(squares) { } ``` -```css styles.css +```css src/styles.css * { box-sizing: border-box; } @@ -2311,7 +2311,7 @@ const moves = history.map((squares, move) => { <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; function Square({ value, onSquareClick }) { @@ -2428,7 +2428,7 @@ function calculateWinner(squares) { ``` -```css styles.css +```css src/styles.css * { box-sizing: border-box; } @@ -2532,7 +2532,7 @@ If you click on any step in the game's history, the tic-tac-toe board should imm <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; function Square({value, onSquareClick}) { @@ -2652,7 +2652,7 @@ function calculateWinner(squares) { } ``` -```css styles.css +```css src/styles.css * { box-sizing: border-box; } @@ -2742,7 +2742,7 @@ Check out the final result here: <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; function Square({ value, onSquareClick }) { @@ -2860,7 +2860,7 @@ function calculateWinner(squares) { } ``` -```css styles.css +```css src/styles.css * { box-sizing: border-box; } diff --git a/src/content/learn/typescript.md b/src/content/learn/typescript.md index 04c0efc1..ee44ef07 100644 --- a/src/content/learn/typescript.md +++ b/src/content/learn/typescript.md @@ -72,7 +72,7 @@ export default function MyApp() { } ``` -```js App.js hidden +```js src/App.js hidden import AppTSX from "./App.tsx"; export default App = AppTSX; ``` @@ -112,7 +112,7 @@ export default function MyApp() { } ``` -```js App.js hidden +```js src/App.js hidden import AppTSX from "./App.tsx"; export default App = AppTSX; ``` @@ -213,7 +213,7 @@ export default function App() { ``` -```js App.js hidden +```js src/App.js hidden import AppTSX from "./App.tsx"; export default App = AppTSX; ``` @@ -277,7 +277,7 @@ function MyComponent() { } ``` -```js App.js hidden +```js src/App.js hidden import AppTSX from "./App.tsx"; export default App = AppTSX; ``` @@ -400,7 +400,7 @@ export default function Form() { } ``` -```js App.js hidden +```js src/App.js hidden import AppTSX from "./App.tsx"; export default App = AppTSX; ``` diff --git a/src/content/learn/understanding-your-ui-as-a-tree.md b/src/content/learn/understanding-your-ui-as-a-tree.md index 98f60cea..f4528b34 100644 --- a/src/content/learn/understanding-your-ui-as-a-tree.md +++ b/src/content/learn/understanding-your-ui-as-a-tree.md @@ -39,7 +39,7 @@ Here is a React app that renders inspirational quotes. <Sandpack> -```js App.js +```js src/App.js import FancyText from './FancyText'; import InspirationGenerator from './InspirationGenerator'; import Copyright from './Copyright'; @@ -57,7 +57,7 @@ export default function App() { ``` -```js FancyText.js +```js src/FancyText.js export default function FancyText({title, text}) { return title ? <h1 className='fancy title'>{text}</h1> @@ -65,7 +65,7 @@ export default function FancyText({title, text}) { } ``` -```js InspirationGenerator.js +```js src/InspirationGenerator.js import * as React from 'react'; import quotes from './quotes'; import FancyText from './FancyText'; @@ -86,13 +86,13 @@ export default function InspirationGenerator({children}) { } ``` -```js Copyright.js +```js src/Copyright.js export default function Copyright({year}) { return <p className='small'>©️ {year}</p>; } ``` -```js quotes.js +```js src/quotes.js export default [ "Don’t let yesterday take up too much of today.” — Will Rogers", "Ambition is putting a ladder against the sky.", @@ -149,7 +149,7 @@ We can update the app to conditionally render either an inspirational quote or c <Sandpack> -```js App.js +```js src/App.js import FancyText from './FancyText'; import InspirationGenerator from './InspirationGenerator'; import Copyright from './Copyright'; @@ -167,7 +167,7 @@ export default function App() { ``` -```js FancyText.js +```js src/FancyText.js export default function FancyText({title, text}) { return title ? <h1 className='fancy title'>{text}</h1> @@ -175,13 +175,13 @@ export default function FancyText({title, text}) { } ``` -```js Color.js +```js src/Color.js export default function Color({value}) { return <div className="colorbox" style={{backgroundColor: value}} /> } ``` -```js InspirationGenerator.js +```js src/InspirationGenerator.js import * as React from 'react'; import inspirations from './inspirations'; import FancyText from './FancyText'; @@ -206,13 +206,13 @@ export default function InspirationGenerator({children}) { } ``` -```js Copyright.js +```js src/Copyright.js export default function Copyright({year}) { return <p className='small'>©️ {year}</p>; } ``` -```js inspirations.js +```js src/inspirations.js export default [ {type: 'quote', value: "Don’t let yesterday take up too much of today.” — Will Rogers"}, {type: 'color', value: "#B73636"}, diff --git a/src/content/learn/updating-arrays-in-state.md b/src/content/learn/updating-arrays-in-state.md index 45c6b70d..ea861931 100644 --- a/src/content/learn/updating-arrays-in-state.md +++ b/src/content/learn/updating-arrays-in-state.md @@ -1084,7 +1084,7 @@ In this example, all of the event handlers in `App.js` use mutation. As a result <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; import AddTodo from './AddTodo.js'; import TaskList from './TaskList.js'; @@ -1139,7 +1139,7 @@ export default function TaskApp() { } ``` -```js AddTodo.js +```js src/AddTodo.js import { useState } from 'react'; export default function AddTodo({ onAddTodo }) { @@ -1160,7 +1160,7 @@ export default function AddTodo({ onAddTodo }) { } ``` -```js TaskList.js +```js src/TaskList.js import { useState } from 'react'; export default function TaskList({ @@ -1247,7 +1247,7 @@ In `handleAddTodo`, you can use the array spread syntax. In `handleChangeTodo`, <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; import AddTodo from './AddTodo.js'; import TaskList from './TaskList.js'; @@ -1306,7 +1306,7 @@ export default function TaskApp() { } ``` -```js AddTodo.js +```js src/AddTodo.js import { useState } from 'react'; export default function AddTodo({ onAddTodo }) { @@ -1327,7 +1327,7 @@ export default function AddTodo({ onAddTodo }) { } ``` -```js TaskList.js +```js src/TaskList.js import { useState } from 'react'; export default function TaskList({ @@ -1417,7 +1417,7 @@ This is the same example as in the previous challenge. This time, fix the mutati <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; import { useImmer } from 'use-immer'; import AddTodo from './AddTodo.js'; @@ -1473,7 +1473,7 @@ export default function TaskApp() { } ``` -```js AddTodo.js +```js src/AddTodo.js import { useState } from 'react'; export default function AddTodo({ onAddTodo }) { @@ -1494,7 +1494,7 @@ export default function AddTodo({ onAddTodo }) { } ``` -```js TaskList.js +```js src/TaskList.js import { useState } from 'react'; export default function TaskList({ @@ -1599,7 +1599,7 @@ With Immer, you can write code in the mutative fashion, as long as you're only m <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; import { useImmer } from 'use-immer'; import AddTodo from './AddTodo.js'; @@ -1661,7 +1661,7 @@ export default function TaskApp() { } ``` -```js AddTodo.js +```js src/AddTodo.js import { useState } from 'react'; export default function AddTodo({ onAddTodo }) { @@ -1682,7 +1682,7 @@ export default function AddTodo({ onAddTodo }) { } ``` -```js TaskList.js +```js src/TaskList.js import { useState } from 'react'; export default function TaskList({ @@ -1787,7 +1787,7 @@ For example, in this version `handleAddTodo` is implemented by mutating the Imme <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; import { useImmer } from 'use-immer'; import AddTodo from './AddTodo.js'; @@ -1846,7 +1846,7 @@ export default function TaskApp() { } ``` -```js AddTodo.js +```js src/AddTodo.js import { useState } from 'react'; export default function AddTodo({ onAddTodo }) { @@ -1867,7 +1867,7 @@ export default function AddTodo({ onAddTodo }) { } ``` -```js TaskList.js +```js src/TaskList.js import { useState } from 'react'; export default function TaskList({ diff --git a/src/content/learn/updating-objects-in-state.md b/src/content/learn/updating-objects-in-state.md index 9289f245..923e4e18 100644 --- a/src/content/learn/updating-objects-in-state.md +++ b/src/content/learn/updating-objects-in-state.md @@ -986,7 +986,7 @@ If something unexpected changes, there is a mutation. Find the mutation in `App. <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; import Background from './Background.js'; import Box from './Box.js'; @@ -1039,7 +1039,7 @@ export default function Canvas() { } ``` -```js Box.js +```js src/Box.js import { useState } from 'react'; export default function Box({ @@ -1102,7 +1102,7 @@ export default function Box({ } ``` -```js Background.js +```js src/Background.js export default function Background({ position }) { @@ -1136,7 +1136,7 @@ The fix is to remove the mutation from `handleMove`, and use the spread syntax t <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; import Background from './Background.js'; import Box from './Box.js'; @@ -1194,7 +1194,7 @@ export default function Canvas() { } ``` -```js Box.js +```js src/Box.js import { useState } from 'react'; export default function Box({ @@ -1257,7 +1257,7 @@ export default function Box({ } ``` -```js Background.js +```js src/Background.js export default function Background({ position }) { @@ -1291,7 +1291,7 @@ This is the same buggy example as in the previous challenge. This time, fix the <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; import { useImmer } from 'use-immer'; import Background from './Background.js'; @@ -1345,7 +1345,7 @@ export default function Canvas() { } ``` -```js Box.js +```js src/Box.js import { useState } from 'react'; export default function Box({ @@ -1408,7 +1408,7 @@ export default function Box({ } ``` -```js Background.js +```js src/Background.js export default function Background({ position }) { @@ -1458,7 +1458,7 @@ This is the solution rewritten with Immer. Notice how the event handlers are wri <Sandpack> -```js App.js +```js src/App.js import { useImmer } from 'use-immer'; import Background from './Background.js'; import Box from './Box.js'; @@ -1512,7 +1512,7 @@ export default function Canvas() { } ``` -```js Box.js +```js src/Box.js import { useState } from 'react'; export default function Box({ @@ -1575,7 +1575,7 @@ export default function Box({ } ``` -```js Background.js +```js src/Background.js export default function Background({ position }) { diff --git a/src/content/learn/you-might-not-need-an-effect.md b/src/content/learn/you-might-not-need-an-effect.md index a3b33d3a..66cdc311 100644 --- a/src/content/learn/you-might-not-need-an-effect.md +++ b/src/content/learn/you-might-not-need-an-effect.md @@ -882,7 +882,7 @@ function NewTodo({ onAdd }) { } ``` -```js todos.js +```js src/todos.js let nextId = 0; export function createTodo(text, completed = false) { @@ -975,7 +975,7 @@ function NewTodo({ onAdd }) { } ``` -```js todos.js +```js src/todos.js let nextId = 0; export function createTodo(text, completed = false) { @@ -1061,7 +1061,7 @@ export default function TodoList() { } ``` -```js todos.js +```js src/todos.js let nextId = 0; let calls = 0; @@ -1144,7 +1144,7 @@ export default function TodoList() { } ``` -```js todos.js +```js src/todos.js let nextId = 0; let calls = 0; @@ -1233,7 +1233,7 @@ function NewTodo({ onAdd }) { } ``` -```js todos.js +```js src/todos.js let nextId = 0; let calls = 0; @@ -1278,7 +1278,7 @@ When you select a contact with the buttons at the top, the form resets to reflec <Sandpack> -```js App.js hidden +```js src/App.js hidden import { useState } from 'react'; import ContactList from './ContactList.js'; import EditContact from './EditContact.js'; @@ -1330,7 +1330,7 @@ const initialContacts = [ ]; ``` -```js ContactList.js hidden +```js src/ContactList.js hidden export default function ContactList({ contacts, selectedId, @@ -1357,7 +1357,7 @@ export default function ContactList({ } ``` -```js EditContact.js active +```js src/EditContact.js active import { useState, useEffect } from 'react'; export default function EditContact({ savedContact, onSave }) { @@ -1442,7 +1442,7 @@ Split the `EditContact` component in two. Move all the form state into the inner <Sandpack> -```js App.js hidden +```js src/App.js hidden import { useState } from 'react'; import ContactList from './ContactList.js'; import EditContact from './EditContact.js'; @@ -1494,7 +1494,7 @@ const initialContacts = [ ]; ``` -```js ContactList.js hidden +```js src/ContactList.js hidden export default function ContactList({ contacts, selectedId, @@ -1521,7 +1521,7 @@ export default function ContactList({ } ``` -```js EditContact.js active +```js src/EditContact.js active import { useState } from 'react'; export default function EditContact(props) { diff --git a/src/content/reference/react-dom/client/createRoot.md b/src/content/reference/react-dom/client/createRoot.md index d91bc20c..afddb417 100644 --- a/src/content/reference/react-dom/client/createRoot.md +++ b/src/content/reference/react-dom/client/createRoot.md @@ -153,7 +153,7 @@ Usually, you only need to run this code once at startup. It will: </html> ``` -```js index.js active +```js src/index.js active import { createRoot } from 'react-dom/client'; import App from './App.js'; import './styles.css'; @@ -162,7 +162,7 @@ const root = createRoot(document.getElementById('root')); root.render(<App />); ``` -```js App.js +```js src/App.js import { useState } from 'react'; export default function App() { @@ -232,7 +232,7 @@ Here, two different React components are rendered into two DOM nodes defined in </html> ``` -```js index.js active +```js src/index.js active import './styles.css'; import { createRoot } from 'react-dom/client'; import { Comments, Navigation } from './Components.js'; @@ -246,7 +246,7 @@ const commentRoot = createRoot(commentDomNode); commentRoot.render(<Comments />); ``` -```js Components.js +```js src/Components.js export function Navigation() { return ( <ul> @@ -313,7 +313,7 @@ You can call `render` more than once on the same root. As long as the component <Sandpack> -```js index.js active +```js src/index.js active import { createRoot } from 'react-dom/client'; import './styles.css'; import App from './App.js'; @@ -327,7 +327,7 @@ setInterval(() => { }, 1000); ``` -```js App.js +```js src/App.js export default function App({counter}) { return ( <> diff --git a/src/content/reference/react-dom/client/hydrateRoot.md b/src/content/reference/react-dom/client/hydrateRoot.md index cf77a81a..c137cdda 100644 --- a/src/content/reference/react-dom/client/hydrateRoot.md +++ b/src/content/reference/react-dom/client/hydrateRoot.md @@ -143,7 +143,7 @@ To hydrate your app, React will "attach" your components' logic to the initial g <div id="root"><h1>Hello, world!</h1><button>You clicked me <!-- -->0<!-- --> times</button></div> ``` -```js index.js active +```js src/index.js active import './styles.css'; import { hydrateRoot } from 'react-dom/client'; import App from './App.js'; @@ -154,7 +154,7 @@ hydrateRoot( ); ``` -```js App.js +```js src/App.js import { useState } from 'react'; export default function App() { @@ -248,7 +248,7 @@ To silence hydration warnings on an element, add `suppressHydrationWarning={true <div id="root"><h1>Current Date: <!-- -->01/01/2020</h1></div> ``` -```js index.js +```js src/index.js import './styles.css'; import { hydrateRoot } from 'react-dom/client'; import App from './App.js'; @@ -256,7 +256,7 @@ import App from './App.js'; hydrateRoot(document.getElementById('root'), <App />); ``` -```js App.js active +```js src/App.js active export default function App() { return ( <h1 suppressHydrationWarning={true}> @@ -286,7 +286,7 @@ If you intentionally need to render something different on the server and the cl <div id="root"><h1>Is Server</h1></div> ``` -```js index.js +```js src/index.js import './styles.css'; import { hydrateRoot } from 'react-dom/client'; import App from './App.js'; @@ -294,7 +294,7 @@ import App from './App.js'; hydrateRoot(document.getElementById('root'), <App />); ``` -```js App.js active +```js src/App.js active import { useState, useEffect } from "react"; export default function App() { @@ -340,7 +340,7 @@ If you call `root.render` at some point after hydration, and the component tree <div id="root"><h1>Hello, world! <!-- -->0</h1><input placeholder="Type something here"/></div> ``` -```js index.js active +```js src/index.js active import { hydrateRoot } from 'react-dom/client'; import './styles.css'; import App from './App.js'; @@ -357,7 +357,7 @@ setInterval(() => { }, 1000); ``` -```js App.js +```js src/App.js export default function App({counter}) { return ( <> diff --git a/src/content/reference/react-dom/components/common.md b/src/content/reference/react-dom/components/common.md index 78d2713b..11719112 100644 --- a/src/content/reference/react-dom/components/common.md +++ b/src/content/reference/react-dom/components/common.md @@ -771,7 +771,7 @@ In the above example, `style={{}}` is not a special syntax, but a regular `{}` o <Sandpack> -```js App.js +```js src/App.js import Avatar from './Avatar.js'; const user = { @@ -785,7 +785,7 @@ export default function App() { } ``` -```js Avatar.js active +```js src/Avatar.js active export default function Avatar({ user }) { return ( <img @@ -801,7 +801,7 @@ export default function Avatar({ user }) { } ``` -```css styles.css +```css src/styles.css .avatar { border-radius: 50%; } @@ -940,7 +940,7 @@ export default function MarkdownEditor() { } ``` -```js MarkdownPreview.js active +```js src/MarkdownPreview.js active import { Remarkable } from 'remarkable'; const md = new Remarkable(); diff --git a/src/content/reference/react-dom/components/form.md b/src/content/reference/react-dom/components/form.md index 25d1ba4e..7a4b26b3 100644 --- a/src/content/reference/react-dom/components/form.md +++ b/src/content/reference/react-dom/components/form.md @@ -62,7 +62,7 @@ Pass a function to the `action` prop of form to run the function when the form i <Sandpack> -```js App.js +```js src/App.js export default function Search() { function search(formData) { const query = formData.get("query"); @@ -146,7 +146,7 @@ Here, we use the `pending` property to indicate the form is submitting. <Sandpack> -```js App.js +```js src/App.js import { useFormStatus } from "react-dom"; import { submitForm } from "./actions.js"; @@ -172,7 +172,7 @@ export default function App() { } ``` -```js actions.js hidden +```js src/actions.js hidden export async function submitForm(query) { await new Promise((res) => setTimeout(res, 1000)); } @@ -201,7 +201,7 @@ For example, when a user types a message into the form and hits the "Send" butto <Sandpack> -```js App.js +```js src/App.js import { useOptimistic, useState, useRef } from "react"; import { deliverMessage } from "./actions.js"; @@ -251,7 +251,7 @@ export default function App() { } ``` -```js actions.js +```js src/actions.js export async function deliverMessage(message) { await new Promise((res) => setTimeout(res, 1000)); return message; @@ -282,7 +282,7 @@ In some cases the function called by a `<form>`'s `action` prop throw an error. <Sandpack> -```js App.js +```js src/App.js import { ErrorBoundary } from "react-error-boundary"; export default function Search() { @@ -330,7 +330,7 @@ Displaying a form submission error message before the JavaScript bundle loads fo <Sandpack> -```js App.js +```js src/App.js import { useFormState } from "react-dom"; import { signUpNewUser } from "./api"; @@ -361,7 +361,7 @@ export default function Page() { } ``` -```js api.js hidden +```js src/api.js hidden let emails = []; export async function signUpNewUser(newEmail) { @@ -396,7 +396,7 @@ When a user taps a specific button, the form is submitted, and a corresponding a <Sandpack> -```js App.js +```js src/App.js export default function Search() { function publish(formData) { const content = formData.get("content"); diff --git a/src/content/reference/react-dom/components/textarea.md b/src/content/reference/react-dom/components/textarea.md index 5c742f29..2639fcd7 100644 --- a/src/content/reference/react-dom/components/textarea.md +++ b/src/content/reference/react-dom/components/textarea.md @@ -294,7 +294,7 @@ export default function MarkdownEditor() { } ``` -```js MarkdownPreview.js +```js src/MarkdownPreview.js import { Remarkable } from 'remarkable'; const md = new Remarkable(); diff --git a/src/content/reference/react-dom/createPortal.md b/src/content/reference/react-dom/createPortal.md index 006f78a9..0107c20d 100644 --- a/src/content/reference/react-dom/createPortal.md +++ b/src/content/reference/react-dom/createPortal.md @@ -137,7 +137,7 @@ In this example, the two containers have styles that disrupt the modal dialog, b <Sandpack> -```js App.js active +```js src/App.js active import NoPortalExample from './NoPortalExample'; import PortalExample from './PortalExample'; @@ -155,7 +155,7 @@ export default function App() { } ``` -```js NoPortalExample.js +```js src/NoPortalExample.js import { useState } from 'react'; import ModalContent from './ModalContent.js'; @@ -174,7 +174,7 @@ export default function NoPortalExample() { } ``` -```js PortalExample.js active +```js src/PortalExample.js active import { useState } from 'react'; import { createPortal } from 'react-dom'; import ModalContent from './ModalContent.js'; @@ -195,7 +195,7 @@ export default function PortalExample() { } ``` -```js ModalContent.js +```js src/ModalContent.js export default function ModalContent({ onClose }) { return ( <div className="modal"> @@ -207,7 +207,7 @@ export default function ModalContent({ onClose }) { ``` -```css styles.css +```css src/styles.css .clipping-container { position: relative; border: 1px solid #aaa; @@ -269,7 +269,7 @@ Portals can be useful if your React root is only part of a static or server-rend </html> ``` -```js index.js +```js src/index.js import { StrictMode } from 'react'; import { createRoot } from 'react-dom/client'; import App from './App.js'; @@ -283,7 +283,7 @@ root.render( ); ``` -```js App.js active +```js src/App.js active import { createPortal } from 'react-dom'; const sidebarContentEl = document.getElementById('sidebar-content'); @@ -398,7 +398,7 @@ Here is a complete example you can play with: } ``` -```js App.js +```js src/App.js import { useRef, useEffect, useState } from 'react'; import { createPortal } from 'react-dom'; import { createMapWidget, addPopupToMapWidget } from './map-widget.js'; @@ -428,7 +428,7 @@ export default function Map() { } ``` -```js map-widget.js +```js src/map-widget.js import 'leaflet/dist/leaflet.css'; import * as L from 'leaflet'; diff --git a/src/content/reference/react-dom/findDOMNode.md b/src/content/reference/react-dom/findDOMNode.md index 75c02c73..8e7b0065 100644 --- a/src/content/reference/react-dom/findDOMNode.md +++ b/src/content/reference/react-dom/findDOMNode.md @@ -80,7 +80,7 @@ Here, the `input` variable will be set to the `<input>` DOM element. This lets y <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; import AutoselectingInput from './AutoselectingInput.js'; @@ -98,7 +98,7 @@ export default function App() { } ``` -```js AutoselectingInput.js active +```js src/AutoselectingInput.js active import { Component } from 'react'; import { findDOMNode } from 'react-dom'; @@ -128,7 +128,7 @@ Code using `findDOMNode` is fragile because the connection between the JSX node <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; import AutoselectingInput from './AutoselectingInput.js'; @@ -146,7 +146,7 @@ export default function App() { } ``` -```js AutoselectingInput.js active +```js src/AutoselectingInput.js active import { Component } from 'react'; import { findDOMNode } from 'react-dom'; @@ -171,7 +171,7 @@ In this example, `findDOMNode` is no longer used. Instead, `inputRef = createRef <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; import AutoselectingInput from './AutoselectingInput.js'; @@ -189,7 +189,7 @@ export default function App() { } ``` -```js AutoselectingInput.js active +```js src/AutoselectingInput.js active import { createRef, Component } from 'react'; class AutoselectingInput extends Component { @@ -216,7 +216,7 @@ In modern React without class components, the equivalent code would call [`useRe <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; import AutoselectingInput from './AutoselectingInput.js'; @@ -234,7 +234,7 @@ export default function App() { } ``` -```js AutoselectingInput.js active +```js src/AutoselectingInput.js active import { useRef, useEffect } from 'react'; export default function AutoselectingInput() { @@ -261,7 +261,7 @@ In this example, `findDOMNode(this)` finds a DOM node that belongs to another co <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; import AutoselectingInput from './AutoselectingInput.js'; @@ -279,7 +279,7 @@ export default function App() { } ``` -```js AutoselectingInput.js active +```js src/AutoselectingInput.js active import { Component } from 'react'; import { findDOMNode } from 'react-dom'; import MyInput from './MyInput.js'; @@ -297,7 +297,7 @@ class AutoselectingInput extends Component { export default AutoselectingInput; ``` -```js MyInput.js +```js src/MyInput.js export default function MyInput() { return <input defaultValue="Hello" />; } @@ -316,7 +316,7 @@ This version does that, so it no longer needs `findDOMNode`: <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; import AutoselectingInput from './AutoselectingInput.js'; @@ -334,7 +334,7 @@ export default function App() { } ``` -```js AutoselectingInput.js active +```js src/AutoselectingInput.js active import { createRef, Component } from 'react'; import MyInput from './MyInput.js'; @@ -356,7 +356,7 @@ class AutoselectingInput extends Component { export default AutoselectingInput; ``` -```js MyInput.js +```js src/MyInput.js import { forwardRef } from 'react'; const MyInput = forwardRef(function MyInput(props, ref) { @@ -372,7 +372,7 @@ Here is how this code would look like with function components instead of classe <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; import AutoselectingInput from './AutoselectingInput.js'; @@ -390,7 +390,7 @@ export default function App() { } ``` -```js AutoselectingInput.js active +```js src/AutoselectingInput.js active import { useRef, useEffect } from 'react'; import MyInput from './MyInput.js'; @@ -406,7 +406,7 @@ export default function AutoselectingInput() { } ``` -```js MyInput.js +```js src/MyInput.js import { forwardRef } from 'react'; const MyInput = forwardRef(function MyInput(props, ref) { diff --git a/src/content/reference/react-dom/flushSync.md b/src/content/reference/react-dom/flushSync.md index 7b40a738..a97d194e 100644 --- a/src/content/reference/react-dom/flushSync.md +++ b/src/content/reference/react-dom/flushSync.md @@ -83,7 +83,7 @@ For example, the browser `onbeforeprint` API allows you to change the page immed <Sandpack> -```js App.js active +```js src/App.js active import { useState, useEffect } from 'react'; import { flushSync } from 'react-dom'; diff --git a/src/content/reference/react-dom/hooks/useFormState.md b/src/content/reference/react-dom/hooks/useFormState.md index fc17ac1f..bcd43170 100644 --- a/src/content/reference/react-dom/hooks/useFormState.md +++ b/src/content/reference/react-dom/hooks/useFormState.md @@ -121,7 +121,7 @@ To display messages such as an error message or toast that's returned by a Serve <Sandpack> -```js App.js +```js src/App.js import { useState } from "react"; import { useFormState } from "react-dom"; import { addToCart } from "./actions.js"; @@ -148,7 +148,7 @@ export default function App() { } ``` -```js actions.js +```js src/actions.js "use server"; export async function addToCart(prevState, queryData) { @@ -161,7 +161,7 @@ export async function addToCart(prevState, queryData) { } ``` -```css styles.css hidden +```css src/styles.css hidden form { border: solid 1px black; margin-bottom: 24px; @@ -194,7 +194,7 @@ The return value from a Server Action can be any serializable value. For example <Sandpack> -```js App.js +```js src/App.js import { useState } from "react"; import { useFormState } from "react-dom"; import { addToCart } from "./actions.js"; @@ -230,7 +230,7 @@ export default function App() { } ``` -```js actions.js +```js src/actions.js "use server"; export async function addToCart(prevState, queryData) { @@ -249,7 +249,7 @@ export async function addToCart(prevState, queryData) { } ``` -```css styles.css hidden +```css src/styles.css hidden form { border: solid 1px black; margin-bottom: 24px; diff --git a/src/content/reference/react-dom/hooks/useFormStatus.md b/src/content/reference/react-dom/hooks/useFormStatus.md index 02e48973..8733ec0c 100644 --- a/src/content/reference/react-dom/hooks/useFormStatus.md +++ b/src/content/reference/react-dom/hooks/useFormStatus.md @@ -86,7 +86,7 @@ Here, we use the `pending` property to indicate the form is submitting. <Sandpack> -```js App.js +```js src/App.js import { useFormStatus } from "react-dom"; import { submitForm } from "./actions.js"; @@ -112,7 +112,7 @@ export default function App() { } ``` -```js actions.js hidden +```js src/actions.js hidden export async function submitForm(query) { await new Promise((res) => setTimeout(res, 1000)); } @@ -175,7 +175,7 @@ Here, we have a form where users can request a username. We can use `useFormStat <Sandpack> -```js UsernameForm.js active +```js src/UsernameForm.js active import {useState, useMemo, useRef} from 'react'; import {useFormStatus} from 'react-dom'; @@ -216,7 +216,7 @@ export default function UsernameForm() { } ``` -```js App.js +```js src/App.js import UsernameForm from './UsernameForm'; import { submitForm } from "./actions.js"; @@ -229,7 +229,7 @@ export default function App() { } ``` -```js actions.js hidden +```js src/actions.js hidden export async function submitForm(query) { await new Promise((res) => setTimeout(res, 1000)); } diff --git a/src/content/reference/react-dom/hydrate.md b/src/content/reference/react-dom/hydrate.md index 639c7ab2..0d1e1cdf 100644 --- a/src/content/reference/react-dom/hydrate.md +++ b/src/content/reference/react-dom/hydrate.md @@ -88,7 +88,7 @@ In apps fully built with React, **you will usually only hydrate one "root", once <div id="root"><h1>Hello, world!</h1></div> ``` -```js index.js active +```js src/index.js active import './styles.css'; import { hydrate } from 'react-dom'; import App from './App.js'; @@ -96,7 +96,7 @@ import App from './App.js'; hydrate(<App />, document.getElementById('root')); ``` -```js App.js +```js src/App.js export default function App() { return <h1>Hello, world!</h1>; } @@ -126,7 +126,7 @@ To silence hydration warnings on an element, add `suppressHydrationWarning={true <div id="root"><h1>Current Date: 01/01/2020</h1></div> ``` -```js index.js +```js src/index.js import './styles.css'; import { hydrate } from 'react-dom'; import App from './App.js'; @@ -134,7 +134,7 @@ import App from './App.js'; hydrate(<App />, document.getElementById('root')); ``` -```js App.js active +```js src/App.js active export default function App() { return ( <h1 suppressHydrationWarning={true}> @@ -164,7 +164,7 @@ If you intentionally need to render something different on the server and the cl <div id="root"><h1>Is Server</h1></div> ``` -```js index.js +```js src/index.js import './styles.css'; import { hydrate } from 'react-dom'; import App from './App.js'; @@ -172,7 +172,7 @@ import App from './App.js'; hydrate(<App />, document.getElementById('root')); ``` -```js App.js active +```js src/App.js active import { useState, useEffect } from "react"; export default function App() { diff --git a/src/content/reference/react-dom/render.md b/src/content/reference/react-dom/render.md index a0f75127..03feb288 100644 --- a/src/content/reference/react-dom/render.md +++ b/src/content/reference/react-dom/render.md @@ -85,7 +85,7 @@ In apps fully built with React, **you will usually only do this once at startup* <Sandpack> -```js index.js active +```js src/index.js active import './styles.css'; import { render } from 'react-dom'; import App from './App.js'; @@ -93,7 +93,7 @@ import App from './App.js'; render(<App />, document.getElementById('root')); ``` -```js App.js +```js src/App.js export default function App() { return <h1>Hello, world!</h1>; } @@ -119,7 +119,7 @@ If your page [isn't fully built with React](/learn/add-react-to-an-existing-proj </main> ``` -```js index.js active +```js src/index.js active import './styles.css'; import { render } from 'react-dom'; import { Comments, Navigation } from './Components.js'; @@ -135,7 +135,7 @@ render( ); ``` -```js Components.js +```js src/Components.js export function Navigation() { return ( <ul> @@ -187,7 +187,7 @@ You can call `render` more than once on the same DOM node. As long as the compon <Sandpack> -```js index.js active +```js src/index.js active import { render } from 'react-dom'; import './styles.css'; import App from './App.js'; @@ -202,7 +202,7 @@ setInterval(() => { }, 1000); ``` -```js App.js +```js src/App.js export default function App({counter}) { return ( <> diff --git a/src/content/reference/react-dom/unmountComponentAtNode.md b/src/content/reference/react-dom/unmountComponentAtNode.md index 12f11dc7..376a9bc2 100644 --- a/src/content/reference/react-dom/unmountComponentAtNode.md +++ b/src/content/reference/react-dom/unmountComponentAtNode.md @@ -88,7 +88,7 @@ In this example, clicking "Render React App" will render a React app. Click "Unm </html> ``` -```js index.js active +```js src/index.js active import './styles.css'; import { render, unmountComponentAtNode } from 'react-dom'; import App from './App.js'; @@ -104,7 +104,7 @@ document.getElementById('unmount').addEventListener('click', () => { }); ``` -```js App.js +```js src/App.js export default function App() { return <h1>Hello, world!</h1>; } diff --git a/src/content/reference/react/Children.md b/src/content/reference/react/Children.md index 3683cb7c..81a28c5b 100644 --- a/src/content/reference/react/Children.md +++ b/src/content/reference/react/Children.md @@ -33,7 +33,7 @@ const mappedChildren = Children.map(children, child => Call `Children.count(children)` to count the number of children in the `children` data structure. -```js RowList.js active +```js src/RowList.js active import { Children } from 'react'; function RowList({ children }) { @@ -66,7 +66,7 @@ The number of nodes inside these `children`. Call `Children.forEach(children, fn, thisArg?)` to run some code for each child in the `children` data structure. -```js RowList.js active +```js src/RowList.js active import { Children } from 'react'; function SeparatorList({ children }) { @@ -100,7 +100,7 @@ function SeparatorList({ children }) { Call `Children.map(children, fn, thisArg?)` to map or transform each child in the `children` data structure. -```js RowList.js active +```js src/RowList.js active import { Children } from 'react'; function RowList({ children }) { @@ -169,7 +169,7 @@ Otherwise, throws an error. Call `Children.toArray(children)` to create an array out of the `children` data structure. -```js ReversedList.js active +```js src/ReversedList.js active import { Children } from 'react'; export default function ReversedList({ children }) { @@ -258,7 +258,7 @@ export default function App() { } ``` -```js RowList.js active +```js src/RowList.js active import { Children } from 'react'; export default function RowList({ children }) { @@ -336,7 +336,7 @@ function MoreRows() { } ``` -```js RowList.js +```js src/RowList.js import { Children } from 'react'; export default function RowList({ children }) { @@ -395,7 +395,7 @@ export default function App() { } ``` -```js SeparatorList.js active +```js src/SeparatorList.js active import { Children } from 'react'; export default function SeparatorList({ children }) { @@ -439,7 +439,7 @@ export default function App() { } ``` -```js RowList.js active +```js src/RowList.js active import { Children } from 'react'; export default function RowList({ children }) { @@ -510,7 +510,7 @@ export default function App() { } ``` -```js ReversedList.js active +```js src/ReversedList.js active import { Children } from 'react'; export default function ReversedList({ children }) { @@ -572,7 +572,7 @@ export default function App() { } ``` -```js RowList.js +```js src/RowList.js export function RowList({ children }) { return ( <div className="RowList"> @@ -639,7 +639,7 @@ function MoreRows() { } ``` -```js RowList.js +```js src/RowList.js export function RowList({ children }) { return ( <div className="RowList"> @@ -698,7 +698,7 @@ export default function App() { } ``` -```js RowList.js +```js src/RowList.js export function RowList({ rows }) { return ( <div className="RowList"> @@ -761,7 +761,7 @@ export default function App() { } ``` -```js TabSwitcher.js +```js src/TabSwitcher.js import { useState } from 'react'; export default function TabSwitcher({ tabs }) { @@ -817,7 +817,7 @@ export default function App() { } ``` -```js TabSwitcher.js +```js src/TabSwitcher.js import { useState } from 'react'; export default function TabSwitcher({ tabIds, getHeader, renderContent }) { @@ -869,7 +869,7 @@ export default function App() { } ``` -```js RowList.js +```js src/RowList.js import { Fragment } from 'react'; export function RowList({ rowIds, renderRow }) { diff --git a/src/content/reference/react/Component.md b/src/content/reference/react/Component.md index f8884608..46406ff5 100644 --- a/src/content/reference/react/Component.md +++ b/src/content/reference/react/Component.md @@ -1221,7 +1221,7 @@ For example, this `ChatRoom` component keeps a chat connection synchronized with <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; import ChatRoom from './ChatRoom.js'; @@ -1251,7 +1251,7 @@ export default function App() { } ``` -```js ChatRoom.js active +```js src/ChatRoom.js active import { Component } from 'react'; import { createConnection } from './chat.js'; @@ -1312,7 +1312,7 @@ export default class ChatRoom extends Component { } ``` -```js chat.js +```js src/chat.js export function createConnection(serverUrl, roomId) { // A real implementation would actually connect to the server return { @@ -1601,7 +1601,7 @@ Suppose you're converting this `ChatRoom` class component with lifecycle methods <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; import ChatRoom from './ChatRoom.js'; @@ -1631,7 +1631,7 @@ export default function App() { } ``` -```js ChatRoom.js active +```js src/ChatRoom.js active import { Component } from 'react'; import { createConnection } from './chat.js'; @@ -1692,7 +1692,7 @@ export default class ChatRoom extends Component { } ``` -```js chat.js +```js src/chat.js export function createConnection(serverUrl, roomId) { // A real implementation would actually connect to the server return { @@ -1741,7 +1741,7 @@ This [`useEffect`](/reference/react/useEffect) call is equivalent to the logic i <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; import ChatRoom from './ChatRoom.js'; @@ -1771,7 +1771,7 @@ export default function App() { } ``` -```js ChatRoom.js active +```js src/ChatRoom.js active import { useState, useEffect } from 'react'; import { createConnection } from './chat.js'; @@ -1801,7 +1801,7 @@ export default function ChatRoom({ roomId }) { } ``` -```js chat.js +```js src/chat.js export function createConnection(serverUrl, roomId) { // A real implementation would actually connect to the server return { diff --git a/src/content/reference/react/StrictMode.md b/src/content/reference/react/StrictMode.md index e7aa45ac..0b64c5ed 100644 --- a/src/content/reference/react/StrictMode.md +++ b/src/content/reference/react/StrictMode.md @@ -140,7 +140,7 @@ This `StoryTray` component takes an array of `stories` and adds one last "Create <Sandpack> -```js index.js +```js src/index.js import { createRoot } from 'react-dom/client'; import './styles.css'; @@ -150,7 +150,7 @@ const root = createRoot(document.getElementById("root")); root.render(<App />); ``` -```js App.js +```js src/App.js import { useState } from 'react'; import StoryTray from './StoryTray.js'; @@ -175,7 +175,7 @@ export default function App() { } ``` -```js StoryTray.js active +```js src/StoryTray.js active export default function StoryTray({ stories }) { const items = stories; items.push({ id: 'create', label: 'Create Story' }); @@ -218,7 +218,7 @@ This mistake will become more noticeable if the `StoryTray` component re-renders <Sandpack> -```js index.js +```js src/index.js import { createRoot } from 'react-dom/client'; import './styles.css'; @@ -228,7 +228,7 @@ const root = createRoot(document.getElementById('root')); root.render(<App />); ``` -```js App.js +```js src/App.js import { useState } from 'react'; import StoryTray from './StoryTray.js'; @@ -253,7 +253,7 @@ export default function App() { } ``` -```js StoryTray.js active +```js src/StoryTray.js active import { useState } from 'react'; export default function StoryTray({ stories }) { @@ -316,7 +316,7 @@ This would [make the `StoryTray` function pure.](/learn/keeping-components-pure) <Sandpack> -```js index.js +```js src/index.js import { StrictMode } from 'react'; import { createRoot } from 'react-dom/client'; import './styles.css'; @@ -331,7 +331,7 @@ root.render( ); ``` -```js App.js +```js src/App.js import { useState } from 'react'; import StoryTray from './StoryTray.js'; @@ -356,7 +356,7 @@ export default function App() { } ``` -```js StoryTray.js active +```js src/StoryTray.js active export default function StoryTray({ stories }) { const items = stories; items.push({ id: 'create', label: 'Create Story' }); @@ -397,7 +397,7 @@ li { <Sandpack> -```js index.js +```js src/index.js import { StrictMode } from 'react'; import { createRoot } from 'react-dom/client'; import './styles.css'; @@ -412,7 +412,7 @@ root.render( ); ``` -```js App.js +```js src/App.js import { useState } from 'react'; import StoryTray from './StoryTray.js'; @@ -437,7 +437,7 @@ export default function App() { } ``` -```js StoryTray.js active +```js src/StoryTray.js active import { useState } from 'react'; export default function StoryTray({ stories }) { @@ -509,7 +509,7 @@ Consider this example that connects a component to a chat: <Sandpack> -```js index.js +```js src/index.js import { createRoot } from 'react-dom/client'; import './styles.css'; @@ -535,7 +535,7 @@ export default function ChatRoom() { } ``` -```js chat.js +```js src/chat.js let connections = 0; export function createConnection(serverUrl, roomId) { @@ -568,7 +568,7 @@ To make the issue more obvious, let's implement a feature. In the example below, <Sandpack> -```js index.js +```js src/index.js import { createRoot } from 'react-dom/client'; import './styles.css'; @@ -619,7 +619,7 @@ export default function App() { } ``` -```js chat.js +```js src/chat.js let connections = 0; export function createConnection(serverUrl, roomId) { @@ -662,7 +662,7 @@ Now that your Effect "cleans up" after itself and destroys the outdated connecti <Sandpack> -```js index.js +```js src/index.js import { StrictMode } from 'react'; import { createRoot } from 'react-dom/client'; import './styles.css'; @@ -693,7 +693,7 @@ export default function ChatRoom() { } ``` -```js chat.js +```js src/chat.js let connections = 0; export function createConnection(serverUrl, roomId) { @@ -726,7 +726,7 @@ Strict Mode lets you notice such mistakes early in the process. When you fix you <Sandpack> -```js index.js +```js src/index.js import { StrictMode } from 'react'; import { createRoot } from 'react-dom/client'; import './styles.css'; @@ -783,7 +783,7 @@ export default function App() { } ``` -```js chat.js +```js src/chat.js let connections = 0; export function createConnection(serverUrl, roomId) { diff --git a/src/content/reference/react/Suspense.md b/src/content/reference/react/Suspense.md index d9400378..4ec3dd7a 100644 --- a/src/content/reference/react/Suspense.md +++ b/src/content/reference/react/Suspense.md @@ -69,7 +69,7 @@ In the example below, the `Albums` component *suspends* while fetching the list } ``` -```js App.js hidden +```js src/App.js hidden import { useState } from 'react'; import ArtistPage from './ArtistPage.js'; @@ -94,7 +94,7 @@ export default function App() { } ``` -```js ArtistPage.js active +```js src/ArtistPage.js active import { Suspense } from 'react'; import Albums from './Albums.js'; @@ -114,7 +114,7 @@ function Loading() { } ``` -```js Albums.js hidden +```js src/Albums.js hidden import { fetchData } from './data.js'; // Note: this component is written using an experimental API @@ -162,7 +162,7 @@ function use(promise) { } ``` -```js data.js hidden +```js src/data.js hidden // Note: the way you would do data fetching depends on // the framework that you use together with Suspense. // Normally, the caching logic would be inside a framework. @@ -300,7 +300,7 @@ In the example below, both `Biography` and `Albums` fetch some data. However, be } ``` -```js App.js hidden +```js src/App.js hidden import { useState } from 'react'; import ArtistPage from './ArtistPage.js'; @@ -325,7 +325,7 @@ export default function App() { } ``` -```js ArtistPage.js active +```js src/ArtistPage.js active import { Suspense } from 'react'; import Albums from './Albums.js'; import Biography from './Biography.js'; @@ -350,7 +350,7 @@ function Loading() { } ``` -```js Panel.js +```js src/Panel.js export default function Panel({ children }) { return ( <section className="panel"> @@ -360,7 +360,7 @@ export default function Panel({ children }) { } ``` -```js Biography.js hidden +```js src/Biography.js hidden import { fetchData } from './data.js'; // Note: this component is written using an experimental API @@ -404,7 +404,7 @@ function use(promise) { } ``` -```js Albums.js hidden +```js src/Albums.js hidden import { fetchData } from './data.js'; // Note: this component is written using an experimental API @@ -452,7 +452,7 @@ function use(promise) { } ``` -```js data.js hidden +```js src/data.js hidden // Note: the way you would do data fetching depends on // the framework that you use together with Suspense. // Normally, the caching logic would be inside a framework. @@ -625,7 +625,7 @@ The sequence will be: } ``` -```js App.js hidden +```js src/App.js hidden import { useState } from 'react'; import ArtistPage from './ArtistPage.js'; @@ -650,7 +650,7 @@ export default function App() { } ``` -```js ArtistPage.js active +```js src/ArtistPage.js active import { Suspense } from 'react'; import Albums from './Albums.js'; import Biography from './Biography.js'; @@ -687,7 +687,7 @@ function AlbumsGlimmer() { } ``` -```js Panel.js +```js src/Panel.js export default function Panel({ children }) { return ( <section className="panel"> @@ -697,7 +697,7 @@ export default function Panel({ children }) { } ``` -```js Biography.js hidden +```js src/Biography.js hidden import { fetchData } from './data.js'; // Note: this component is written using an experimental API @@ -741,7 +741,7 @@ function use(promise) { } ``` -```js Albums.js hidden +```js src/Albums.js hidden import { fetchData } from './data.js'; // Note: this component is written using an experimental API @@ -789,7 +789,7 @@ function use(promise) { } ``` -```js data.js hidden +```js src/data.js hidden // Note: the way you would do data fetching depends on // the framework that you use together with Suspense. // Normally, the caching logic would be inside a framework. @@ -944,7 +944,7 @@ In this example, the `SearchResults` component suspends while fetching the searc } ``` -```js App.js +```js src/App.js import { Suspense, useState } from 'react'; import SearchResults from './SearchResults.js'; @@ -964,7 +964,7 @@ export default function App() { } ``` -```js SearchResults.js hidden +```js src/SearchResults.js hidden import { fetchData } from './data.js'; // Note: this component is written using an experimental API @@ -1018,7 +1018,7 @@ function use(promise) { } ``` -```js data.js hidden +```js src/data.js hidden // Note: the way you would do data fetching depends on // the framework that you use together with Suspense. // Normally, the caching logic would be inside a framework. @@ -1169,7 +1169,7 @@ Enter `"a"` in the example below, wait for the results to load, and then edit th } ``` -```js App.js +```js src/App.js import { Suspense, useState, useDeferredValue } from 'react'; import SearchResults from './SearchResults.js'; @@ -1193,7 +1193,7 @@ export default function App() { } ``` -```js SearchResults.js hidden +```js src/SearchResults.js hidden import { fetchData } from './data.js'; // Note: this component is written using an experimental API @@ -1247,7 +1247,7 @@ function use(promise) { } ``` -```js data.js hidden +```js src/data.js hidden // Note: the way you would do data fetching depends on // the framework that you use together with Suspense. // Normally, the caching logic would be inside a framework. @@ -1375,7 +1375,7 @@ When a component suspends, the closest parent Suspense boundary switches to show } ``` -```js App.js +```js src/App.js import { Suspense, useState } from 'react'; import IndexPage from './IndexPage.js'; import ArtistPage from './ArtistPage.js'; @@ -1423,7 +1423,7 @@ function BigSpinner() { } ``` -```js Layout.js +```js src/Layout.js export default function Layout({ children }) { return ( <div className="layout"> @@ -1438,7 +1438,7 @@ export default function Layout({ children }) { } ``` -```js IndexPage.js +```js src/IndexPage.js export default function IndexPage({ navigate }) { return ( <button onClick={() => navigate('/the-beatles')}> @@ -1448,7 +1448,7 @@ export default function IndexPage({ navigate }) { } ``` -```js ArtistPage.js +```js src/ArtistPage.js import { Suspense } from 'react'; import Albums from './Albums.js'; import Biography from './Biography.js'; @@ -1479,7 +1479,7 @@ function AlbumsGlimmer() { } ``` -```js Albums.js hidden +```js src/Albums.js hidden import { fetchData } from './data.js'; // Note: this component is written using an experimental API @@ -1527,7 +1527,7 @@ function use(promise) { } ``` -```js Biography.js hidden +```js src/Biography.js hidden import { fetchData } from './data.js'; // Note: this component is written using an experimental API @@ -1571,7 +1571,7 @@ function use(promise) { } ``` -```js Panel.js hidden +```js src/Panel.js hidden export default function Panel({ children }) { return ( <section className="panel"> @@ -1581,7 +1581,7 @@ export default function Panel({ children }) { } ``` -```js data.js hidden +```js src/data.js hidden // Note: the way you would do data fetching depends on // the framework that you use together with Suspense. // Normally, the caching logic would be inside a framework. @@ -1760,7 +1760,7 @@ This tells React that the state transition is not urgent, and it's better to kee } ``` -```js App.js +```js src/App.js import { Suspense, startTransition, useState } from 'react'; import IndexPage from './IndexPage.js'; import ArtistPage from './ArtistPage.js'; @@ -1810,7 +1810,7 @@ function BigSpinner() { } ``` -```js Layout.js +```js src/Layout.js export default function Layout({ children }) { return ( <div className="layout"> @@ -1825,7 +1825,7 @@ export default function Layout({ children }) { } ``` -```js IndexPage.js +```js src/IndexPage.js export default function IndexPage({ navigate }) { return ( <button onClick={() => navigate('/the-beatles')}> @@ -1835,7 +1835,7 @@ export default function IndexPage({ navigate }) { } ``` -```js ArtistPage.js +```js src/ArtistPage.js import { Suspense } from 'react'; import Albums from './Albums.js'; import Biography from './Biography.js'; @@ -1866,7 +1866,7 @@ function AlbumsGlimmer() { } ``` -```js Albums.js hidden +```js src/Albums.js hidden import { fetchData } from './data.js'; // Note: this component is written using an experimental API @@ -1914,7 +1914,7 @@ function use(promise) { } ``` -```js Biography.js hidden +```js src/Biography.js hidden import { fetchData } from './data.js'; // Note: this component is written using an experimental API @@ -1958,7 +1958,7 @@ function use(promise) { } ``` -```js Panel.js hidden +```js src/Panel.js hidden export default function Panel({ children }) { return ( <section className="panel"> @@ -1968,7 +1968,7 @@ export default function Panel({ children }) { } ``` -```js data.js hidden +```js src/data.js hidden // Note: the way you would do data fetching depends on // the framework that you use together with Suspense. // Normally, the caching logic would be inside a framework. @@ -2143,7 +2143,7 @@ In the above example, once you click the button, there is no visual indication t } ``` -```js App.js +```js src/App.js import { Suspense, useState, useTransition } from 'react'; import IndexPage from './IndexPage.js'; import ArtistPage from './ArtistPage.js'; @@ -2194,7 +2194,7 @@ function BigSpinner() { } ``` -```js Layout.js +```js src/Layout.js export default function Layout({ children, isPending }) { return ( <div className="layout"> @@ -2211,7 +2211,7 @@ export default function Layout({ children, isPending }) { } ``` -```js IndexPage.js +```js src/IndexPage.js export default function IndexPage({ navigate }) { return ( <button onClick={() => navigate('/the-beatles')}> @@ -2221,7 +2221,7 @@ export default function IndexPage({ navigate }) { } ``` -```js ArtistPage.js +```js src/ArtistPage.js import { Suspense } from 'react'; import Albums from './Albums.js'; import Biography from './Biography.js'; @@ -2252,7 +2252,7 @@ function AlbumsGlimmer() { } ``` -```js Albums.js hidden +```js src/Albums.js hidden import { fetchData } from './data.js'; // Note: this component is written using an experimental API @@ -2300,7 +2300,7 @@ function use(promise) { } ``` -```js Biography.js hidden +```js src/Biography.js hidden import { fetchData } from './data.js'; // Note: this component is written using an experimental API @@ -2344,7 +2344,7 @@ function use(promise) { } ``` -```js Panel.js hidden +```js src/Panel.js hidden export default function Panel({ children }) { return ( <section className="panel"> @@ -2354,7 +2354,7 @@ export default function Panel({ children }) { } ``` -```js data.js hidden +```js src/data.js hidden // Note: the way you would do data fetching depends on // the framework that you use together with Suspense. // Normally, the caching logic would be inside a framework. diff --git a/src/content/reference/react/cloneElement.md b/src/content/reference/react/cloneElement.md index 9cae7238..6bcea51b 100644 --- a/src/content/reference/react/cloneElement.md +++ b/src/content/reference/react/cloneElement.md @@ -160,7 +160,7 @@ export default function App() { } ``` -```js List.js active +```js src/List.js active import { Children, cloneElement, useState } from 'react'; export default function List({ children }) { @@ -185,7 +185,7 @@ export default function List({ children }) { } ``` -```js Row.js +```js src/Row.js export default function Row({ title, isHighlighted }) { return ( <div className={[ @@ -198,7 +198,7 @@ export default function Row({ title, isHighlighted }) { } ``` -```js data.js +```js src/data.js export const products = [ { title: 'Cabbage', id: 1 }, { title: 'Garlic', id: 2 }, @@ -318,7 +318,7 @@ export default function App() { } ``` -```js List.js active +```js src/List.js active import { useState } from 'react'; export default function List({ items, renderItem }) { @@ -342,7 +342,7 @@ export default function List({ items, renderItem }) { } ``` -```js Row.js +```js src/Row.js export default function Row({ title, isHighlighted }) { return ( <div className={[ @@ -355,7 +355,7 @@ export default function Row({ title, isHighlighted }) { } ``` -```js data.js +```js src/data.js export const products = [ { title: 'Cabbage', id: 1 }, { title: 'Garlic', id: 2 }, @@ -423,7 +423,7 @@ export default function List({ items, renderItem }) { With this approach, `Row` does not need to receive an `isHighlighted` prop at all. Instead, it reads the context: -```js Row.js {2} +```js src/Row.js {2} export default function Row({ title }) { const isHighlighted = useContext(HighlightContext); // ... @@ -461,7 +461,7 @@ export default function App() { } ``` -```js List.js active +```js src/List.js active import { useState } from 'react'; import { HighlightContext } from './HighlightContext.js'; @@ -493,7 +493,7 @@ export default function List({ items, renderItem }) { } ``` -```js Row.js +```js src/Row.js import { useContext } from 'react'; import { HighlightContext } from './HighlightContext.js'; @@ -510,13 +510,13 @@ export default function Row({ title }) { } ``` -```js HighlightContext.js +```js src/HighlightContext.js import { createContext } from 'react'; export const HighlightContext = createContext(false); ``` -```js data.js +```js src/data.js export const products = [ { title: 'Cabbage', id: 1 }, { title: 'Garlic', id: 2 }, @@ -627,7 +627,7 @@ export default function App() { } ``` -```js useList.js +```js src/useList.js import { useState } from 'react'; export default function useList(items) { @@ -644,7 +644,7 @@ export default function useList(items) { } ``` -```js Row.js +```js src/Row.js export default function Row({ title, isHighlighted }) { return ( <div className={[ @@ -657,7 +657,7 @@ export default function Row({ title, isHighlighted }) { } ``` -```js data.js +```js src/data.js export const products = [ { title: 'Cabbage', id: 1 }, { title: 'Garlic', id: 2 }, diff --git a/src/content/reference/react/createFactory.md b/src/content/reference/react/createFactory.md index eb851ad9..7df7fcd8 100644 --- a/src/content/reference/react/createFactory.md +++ b/src/content/reference/react/createFactory.md @@ -76,7 +76,7 @@ Calling that factory function will produce React elements with the props and chi <Sandpack> -```js App.js +```js src/App.js import { createFactory } from 'react'; const button = createFactory('button'); @@ -104,7 +104,7 @@ If your project has many `createFactory` calls, copy this `createFactory.js` imp <Sandpack> -```js App.js +```js src/App.js import { createFactory } from './createFactory.js'; const button = createFactory('button'); @@ -118,7 +118,7 @@ export default function App() { } ``` -```js createFactory.js +```js src/createFactory.js import { createElement } from 'react'; export function createFactory(type) { @@ -169,7 +169,7 @@ Here is a complete example of using React without JSX: <Sandpack> -```js App.js +```js src/App.js import { createElement } from 'react'; export default function App() { @@ -191,7 +191,7 @@ Finally, you can use JSX instead of `createFactory`. This is the most common way <Sandpack> -```js App.js +```js src/App.js export default function App() { return ( <button onClick={() => { diff --git a/src/content/reference/react/forwardRef.md b/src/content/reference/react/forwardRef.md index bf34a879..e1e96a20 100644 --- a/src/content/reference/react/forwardRef.md +++ b/src/content/reference/react/forwardRef.md @@ -165,7 +165,7 @@ export default function Form() { } ``` -```js MyInput.js +```js src/MyInput.js import { forwardRef } from 'react'; const MyInput = forwardRef(function MyInput(props, ref) { @@ -223,7 +223,7 @@ export default function App() { } ``` -```js MyVideoPlayer.js +```js src/MyVideoPlayer.js import { forwardRef } from 'react'; const VideoPlayer = forwardRef(function VideoPlayer({ src, type, width }, ref) { @@ -316,7 +316,7 @@ export default function Form() { } ``` -```js FormField.js +```js src/FormField.js import { forwardRef, useState } from 'react'; import MyInput from './MyInput.js'; @@ -341,7 +341,7 @@ export default FormField; ``` -```js MyInput.js +```js src/MyInput.js import { forwardRef } from 'react'; const MyInput = forwardRef((props, ref) => { @@ -432,7 +432,7 @@ export default function Form() { } ``` -```js MyInput.js +```js src/MyInput.js import { forwardRef, useRef, useImperativeHandle } from 'react'; const MyInput = forwardRef(function MyInput(props, ref) { diff --git a/src/content/reference/react/lazy.md b/src/content/reference/react/lazy.md index e6dcf877..db99daa1 100644 --- a/src/content/reference/react/lazy.md +++ b/src/content/reference/react/lazy.md @@ -85,7 +85,7 @@ In this example, the code for `MarkdownPreview` won't be loaded until you attemp <Sandpack> -```js App.js +```js src/App.js import { useState, Suspense, lazy } from 'react'; import Loading from './Loading.js'; @@ -120,13 +120,13 @@ function delayForDemo(promise) { } ``` -```js Loading.js +```js src/Loading.js export default function Loading() { return <p><i>Loading...</i></p>; } ``` -```js MarkdownPreview.js +```js src/MarkdownPreview.js import { Remarkable } from 'remarkable'; const md = new Remarkable(); diff --git a/src/content/reference/react/use-client.md b/src/content/reference/react/use-client.md index 98c45d3d..07c2e989 100644 --- a/src/content/reference/react/use-client.md +++ b/src/content/reference/react/use-client.md @@ -64,7 +64,7 @@ To better illustrate this, consider the following React Server Components app. <Sandpack> -```js App.js +```js src/App.js import FancyText from './FancyText'; import InspirationGenerator from './InspirationGenerator'; import Copyright from './Copyright'; @@ -82,7 +82,7 @@ export default function App() { ``` -```js FancyText.js +```js src/FancyText.js export default function FancyText({title, text}) { return title ? <h1 className='fancy title'>{text}</h1> @@ -90,7 +90,7 @@ export default function FancyText({title, text}) { } ``` -```js InspirationGenerator.js +```js src/InspirationGenerator.js 'use client'; import { useState } from 'react'; @@ -113,13 +113,13 @@ export default function InspirationGenerator({children}) { } ``` -```js Copyright.js +```js src/Copyright.js export default function Copyright({year}) { return <p className='small'>©️ {year}</p>; } ``` -```js inspirations.js +```js src/inspirations.js export default [ "Don’t let yesterday take up too much of today.” — Will Rogers", "Ambition is putting a ladder against the sky.", @@ -286,7 +286,7 @@ Notably, these are not supported: <Sandpack> -```js App.js +```js src/App.js 'use client'; import { useState } from 'react'; diff --git a/src/content/reference/react/use.md b/src/content/reference/react/use.md index bb2fb6d5..1cf73b7b 100644 --- a/src/content/reference/react/use.md +++ b/src/content/reference/react/use.md @@ -247,7 +247,7 @@ Because <CodeStep step={2}>`Message`</CodeStep> is wrapped in <CodeStep step={3} <Sandpack> -```js message.js active +```js src/message.js active "use client"; import { use, Suspense } from "react"; @@ -266,7 +266,7 @@ export function MessageContainer({ messagePromise }) { } ``` -```js App.js hidden +```js src/App.js hidden import { useState } from "react"; import { MessageContainer } from "./message.js"; @@ -290,7 +290,7 @@ export default function App() { } ``` -```js index.js hidden +```js src/index.js hidden // TODO: update to import from stable // react instead of canary once the `use` // Hook is in a stable release of React @@ -364,7 +364,7 @@ If you'd like to display an error to your users when a Promise is rejected, you <Sandpack> -```js message.js active +```js src/message.js active "use client"; import { use, Suspense } from "react"; @@ -386,7 +386,7 @@ function Message({ messagePromise }) { } ``` -```js App.js hidden +```js src/App.js hidden import { useState } from "react"; import { MessageContainer } from "./message.js"; @@ -410,7 +410,7 @@ export default function App() { } ``` -```js index.js hidden +```js src/index.js hidden // TODO: update to import from stable // react instead of canary once the `use` // Hook is in a stable release of React diff --git a/src/content/reference/react/useCallback.md b/src/content/reference/react/useCallback.md index 63b36a60..93ce700e 100644 --- a/src/content/reference/react/useCallback.md +++ b/src/content/reference/react/useCallback.md @@ -251,7 +251,7 @@ Next, try toggling the theme. **Thanks to `useCallback` together with [`memo`](/ <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; import ProductPage from './ProductPage.js'; @@ -278,7 +278,7 @@ export default function App() { } ``` -```js ProductPage.js active +```js src/ProductPage.js active import { useCallback } from 'react'; import ShippingForm from './ShippingForm.js'; @@ -304,7 +304,7 @@ function post(url, data) { } ``` -```js ShippingForm.js +```js src/ShippingForm.js import { memo, useState } from 'react'; const ShippingForm = memo(function ShippingForm({ onSubmit }) { @@ -391,7 +391,7 @@ Unlike in the previous example, toggling the theme is also slow now! This is bec <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; import ProductPage from './ProductPage.js'; @@ -418,7 +418,7 @@ export default function App() { } ``` -```js ProductPage.js active +```js src/ProductPage.js active import ShippingForm from './ShippingForm.js'; export default function ProductPage({ productId, referrer, theme }) { @@ -443,7 +443,7 @@ function post(url, data) { } ``` -```js ShippingForm.js +```js src/ShippingForm.js import { memo, useState } from 'react'; const ShippingForm = memo(function ShippingForm({ onSubmit }) { @@ -525,7 +525,7 @@ However, here is the same code **with the artificial slowdown removed.** Does th <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; import ProductPage from './ProductPage.js'; @@ -552,7 +552,7 @@ export default function App() { } ``` -```js ProductPage.js active +```js src/ProductPage.js active import ShippingForm from './ShippingForm.js'; export default function ProductPage({ productId, referrer, theme }) { @@ -577,7 +577,7 @@ function post(url, data) { } ``` -```js ShippingForm.js +```js src/ShippingForm.js import { memo, useState } from 'react'; const ShippingForm = memo(function ShippingForm({ onSubmit }) { diff --git a/src/content/reference/react/useContext.md b/src/content/reference/react/useContext.md index ed231c39..bba445d0 100644 --- a/src/content/reference/react/useContext.md +++ b/src/content/reference/react/useContext.md @@ -745,7 +745,7 @@ Read a [full walkthrough](/learn/scaling-up-with-reducer-and-context) of this ex <Sandpack> -```js App.js +```js src/App.js import AddTask from './AddTask.js'; import TaskList from './TaskList.js'; import { TasksProvider } from './TasksContext.js'; @@ -761,7 +761,7 @@ export default function TaskApp() { } ``` -```js TasksContext.js +```js src/TasksContext.js import { createContext, useContext, useReducer } from 'react'; const TasksContext = createContext(null); @@ -825,7 +825,7 @@ const initialTasks = [ ]; ``` -```js AddTask.js +```js src/AddTask.js import { useState, useContext } from 'react'; import { useTasksDispatch } from './TasksContext.js'; @@ -854,7 +854,7 @@ export default function AddTask() { let nextId = 3; ``` -```js TaskList.js +```js src/TaskList.js import { useState, useContext } from 'react'; import { useTasks, useTasksDispatch } from './TasksContext.js'; @@ -1222,7 +1222,7 @@ export default function Page() { } ``` -```js Section.js +```js src/Section.js import { useContext } from 'react'; import { LevelContext } from './LevelContext.js'; @@ -1238,7 +1238,7 @@ export default function Section({ children }) { } ``` -```js Heading.js +```js src/Heading.js import { useContext } from 'react'; import { LevelContext } from './LevelContext.js'; @@ -1265,7 +1265,7 @@ export default function Heading({ children }) { } ``` -```js LevelContext.js +```js src/LevelContext.js import { createContext } from 'react'; export const LevelContext = createContext(0); diff --git a/src/content/reference/react/useDebugValue.md b/src/content/reference/react/useDebugValue.md index 8826665e..62db9e6b 100644 --- a/src/content/reference/react/useDebugValue.md +++ b/src/content/reference/react/useDebugValue.md @@ -80,7 +80,7 @@ export default function App() { } ``` -```js useOnlineStatus.js active +```js src/useOnlineStatus.js active import { useSyncExternalStore, useDebugValue } from 'react'; export function useOnlineStatus() { diff --git a/src/content/reference/react/useDeferredValue.md b/src/content/reference/react/useDeferredValue.md index 74fdab8a..dcd8f98d 100644 --- a/src/content/reference/react/useDeferredValue.md +++ b/src/content/reference/react/useDeferredValue.md @@ -112,7 +112,7 @@ In this example, the `SearchResults` component [suspends](/reference/react/Suspe } ``` -```js App.js +```js src/App.js import { Suspense, useState } from 'react'; import SearchResults from './SearchResults.js'; @@ -132,7 +132,7 @@ export default function App() { } ``` -```js SearchResults.js hidden +```js src/SearchResults.js hidden import { fetchData } from './data.js'; // Note: this component is written using an experimental API @@ -186,7 +186,7 @@ function use(promise) { } ``` -```js data.js hidden +```js src/data.js hidden // Note: the way you would do data fetching depends on // the framework that you use together with Suspense. // Normally, the caching logic would be inside a framework. @@ -326,7 +326,7 @@ Enter `"a"` in the example below, wait for the results to load, and then edit th } ``` -```js App.js +```js src/App.js import { Suspense, useState, useDeferredValue } from 'react'; import SearchResults from './SearchResults.js'; @@ -347,7 +347,7 @@ export default function App() { } ``` -```js SearchResults.js hidden +```js src/SearchResults.js hidden import { fetchData } from './data.js'; // Note: this component is written using an experimental API @@ -401,7 +401,7 @@ function use(promise) { } ``` -```js data.js hidden +```js src/data.js hidden // Note: the way you would do data fetching depends on // the framework that you use together with Suspense. // Normally, the caching logic would be inside a framework. @@ -549,7 +549,7 @@ With this change, as soon as you start typing, the stale result list gets slight } ``` -```js App.js +```js src/App.js import { Suspense, useState, useDeferredValue } from 'react'; import SearchResults from './SearchResults.js'; @@ -576,7 +576,7 @@ export default function App() { } ``` -```js SearchResults.js hidden +```js src/SearchResults.js hidden import { fetchData } from './data.js'; // Note: this component is written using an experimental API @@ -630,7 +630,7 @@ function use(promise) { } ``` -```js data.js hidden +```js src/data.js hidden // Note: the way you would do data fetching depends on // the framework that you use together with Suspense. // Normally, the caching logic would be inside a framework. @@ -800,7 +800,7 @@ export default function App() { } ``` -```js SlowList.js +```js src/SlowList.js import { memo } from 'react'; const SlowList = memo(function SlowList({ text }) { @@ -877,7 +877,7 @@ export default function App() { } ``` -```js SlowList.js +```js src/SlowList.js import { memo } from 'react'; const SlowList = memo(function SlowList({ text }) { diff --git a/src/content/reference/react/useEffect.md b/src/content/reference/react/useEffect.md index e6e4da10..d7659c5e 100644 --- a/src/content/reference/react/useEffect.md +++ b/src/content/reference/react/useEffect.md @@ -193,7 +193,7 @@ export default function App() { } ``` -```js chat.js +```js src/chat.js export function createConnection(serverUrl, roomId) { // A real implementation would actually connect to the server return { @@ -317,7 +317,7 @@ export default function App() { } ``` -```js animation.js +```js src/animation.js export class FadeInAnimation { constructor(node) { this.node = node; @@ -393,7 +393,7 @@ export default function App() { } ``` -```js ModalDialog.js active +```js src/ModalDialog.js active import { useEffect, useRef } from 'react'; export default function ModalDialog({ isOpen, children }) { @@ -454,7 +454,7 @@ function LongSection() { } ``` -```js Box.js active +```js src/Box.js active import { useRef, useEffect } from 'react'; export default function Box() { @@ -597,7 +597,7 @@ export default function App() { } ``` -```js useChatRoom.js +```js src/useChatRoom.js import { useEffect } from 'react'; import { createConnection } from './chat.js'; @@ -612,7 +612,7 @@ export function useChatRoom({ serverUrl, roomId }) { } ``` -```js chat.js +```js src/chat.js export function createConnection(serverUrl, roomId) { // A real implementation would actually connect to the server return { @@ -669,7 +669,7 @@ export default function App() { } ``` -```js useWindowListener.js +```js src/useWindowListener.js import { useState, useEffect } from 'react'; export function useWindowListener(eventType, listener) { @@ -722,7 +722,7 @@ function LongSection() { } ``` -```js Box.js active +```js src/Box.js active import { useRef, useEffect } from 'react'; import { useIntersectionObserver } from './useIntersectionObserver.js'; @@ -752,7 +752,7 @@ export default function Box() { } ``` -```js useIntersectionObserver.js +```js src/useIntersectionObserver.js import { useState, useEffect } from 'react'; export function useIntersectionObserver(ref) { @@ -810,7 +810,7 @@ For example, if you have a third-party map widget or a video player component wr } ``` -```js App.js +```js src/App.js import { useState } from 'react'; import Map from './Map.js'; @@ -828,7 +828,7 @@ export default function App() { } ``` -```js Map.js active +```js src/Map.js active import { useRef, useEffect } from 'react'; import { MapWidget } from './map-widget.js'; @@ -854,7 +854,7 @@ export default function Map({ zoomLevel }) { } ``` -```js map-widget.js +```js src/map-widget.js import 'leaflet/dist/leaflet.css'; import * as L from 'leaflet'; @@ -926,7 +926,7 @@ Note the `ignore` variable which is initialized to `false`, and is set to `true` <Sandpack> -```js App.js +```js src/App.js import { useState, useEffect } from 'react'; import { fetchBio } from './api.js'; @@ -962,7 +962,7 @@ export default function Page() { } ``` -```js api.js hidden +```js src/api.js hidden export async function fetchBio(person) { const delay = person === 'Bob' ? 2000 : 200; return new Promise(resolve => { @@ -979,7 +979,7 @@ You can also rewrite using the [`async` / `await`](https://developer.mozilla.org <Sandpack> -```js App.js +```js src/App.js import { useState, useEffect } from 'react'; import { fetchBio } from './api.js'; @@ -1018,7 +1018,7 @@ export default function Page() { } ``` -```js api.js hidden +```js src/api.js hidden export async function fetchBio(person) { const delay = person === 'Bob' ? 2000 : 200; return new Promise(resolve => { @@ -1214,7 +1214,7 @@ export default function App() { } ``` -```js chat.js +```js src/chat.js export function createConnection(serverUrl, roomId) { // A real implementation would actually connect to the server return { @@ -1295,7 +1295,7 @@ export default function App() { } ``` -```js chat.js +```js src/chat.js export function createConnection(serverUrl, roomId) { // A real implementation would actually connect to the server return { @@ -1388,7 +1388,7 @@ export default function App() { } ``` -```js chat.js +```js src/chat.js export function createConnection(serverUrl, roomId) { // A real implementation would actually connect to the server return { @@ -1551,7 +1551,7 @@ export default function App() { } ``` -```js chat.js +```js src/chat.js export function createConnection({ serverUrl, roomId }) { // A real implementation would actually connect to the server return { @@ -1661,7 +1661,7 @@ export default function App() { } ``` -```js chat.js +```js src/chat.js export function createConnection({ serverUrl, roomId }) { // A real implementation would actually connect to the server return { diff --git a/src/content/reference/react/useId.md b/src/content/reference/react/useId.md index 6d3c0167..c97120eb 100644 --- a/src/content/reference/react/useId.md +++ b/src/content/reference/react/useId.md @@ -269,7 +269,7 @@ export default function App() { } ``` -```js index.js active +```js src/index.js active import { createRoot } from 'react-dom/client'; import App from './App.js'; import './styles.css'; diff --git a/src/content/reference/react/useImperativeHandle.md b/src/content/reference/react/useImperativeHandle.md index 12ab715e..abd93cd4 100644 --- a/src/content/reference/react/useImperativeHandle.md +++ b/src/content/reference/react/useImperativeHandle.md @@ -133,7 +133,7 @@ export default function Form() { } ``` -```js MyInput.js +```js src/MyInput.js import { forwardRef, useRef, useImperativeHandle } from 'react'; const MyInput = forwardRef(function MyInput(props, ref) { @@ -194,7 +194,7 @@ export default function Page() { } ``` -```js Post.js +```js src/Post.js import { forwardRef, useRef, useImperativeHandle } from 'react'; import CommentList from './CommentList.js'; import AddComment from './AddComment.js'; @@ -227,7 +227,7 @@ export default Post; ``` -```js CommentList.js +```js src/CommentList.js import { forwardRef, useRef, useImperativeHandle } from 'react'; const CommentList = forwardRef(function CommentList(props, ref) { @@ -257,7 +257,7 @@ const CommentList = forwardRef(function CommentList(props, ref) { export default CommentList; ``` -```js AddComment.js +```js src/AddComment.js import { forwardRef, useRef, useImperativeHandle } from 'react'; const AddComment = forwardRef(function AddComment(props, ref) { diff --git a/src/content/reference/react/useLayoutEffect.md b/src/content/reference/react/useLayoutEffect.md index 1b65ce3b..0d7b0484 100644 --- a/src/content/reference/react/useLayoutEffect.md +++ b/src/content/reference/react/useLayoutEffect.md @@ -149,7 +149,7 @@ export default function App() { } ``` -```js ButtonWithTooltip.js +```js src/ButtonWithTooltip.js import { useState, useRef } from 'react'; import Tooltip from './Tooltip.js'; @@ -185,7 +185,7 @@ export default function ButtonWithTooltip({ tooltipContent, ...rest }) { } ``` -```js Tooltip.js active +```js src/Tooltip.js active import { useRef, useLayoutEffect, useState } from 'react'; import { createPortal } from 'react-dom'; import TooltipContainer from './TooltipContainer.js'; @@ -220,7 +220,7 @@ export default function Tooltip({ children, targetRect }) { } ``` -```js TooltipContainer.js +```js src/TooltipContainer.js export default function TooltipContainer({ children, x, y, contentRef }) { return ( <div @@ -299,7 +299,7 @@ export default function App() { } ``` -```js ButtonWithTooltip.js +```js src/ButtonWithTooltip.js import { useState, useRef } from 'react'; import Tooltip from './Tooltip.js'; @@ -335,7 +335,7 @@ export default function ButtonWithTooltip({ tooltipContent, ...rest }) { } ``` -```js Tooltip.js active +```js src/Tooltip.js active import { useRef, useLayoutEffect, useState } from 'react'; import { createPortal } from 'react-dom'; import TooltipContainer from './TooltipContainer.js'; @@ -369,7 +369,7 @@ export default function Tooltip({ children, targetRect }) { } ``` -```js TooltipContainer.js +```js src/TooltipContainer.js export default function TooltipContainer({ children, x, y, contentRef }) { return ( <div @@ -446,7 +446,7 @@ export default function App() { } ``` -```js ButtonWithTooltip.js +```js src/ButtonWithTooltip.js import { useState, useRef } from 'react'; import Tooltip from './Tooltip.js'; @@ -482,7 +482,7 @@ export default function ButtonWithTooltip({ tooltipContent, ...rest }) { } ``` -```js Tooltip.js active +```js src/Tooltip.js active import { useRef, useEffect, useState } from 'react'; import { createPortal } from 'react-dom'; import TooltipContainer from './TooltipContainer.js'; @@ -516,7 +516,7 @@ export default function Tooltip({ children, targetRect }) { } ``` -```js TooltipContainer.js +```js src/TooltipContainer.js export default function TooltipContainer({ children, x, y, contentRef }) { return ( <div @@ -589,7 +589,7 @@ export default function App() { } ``` -```js ButtonWithTooltip.js +```js src/ButtonWithTooltip.js import { useState, useRef } from 'react'; import Tooltip from './Tooltip.js'; @@ -625,7 +625,7 @@ export default function ButtonWithTooltip({ tooltipContent, ...rest }) { } ``` -```js Tooltip.js active +```js src/Tooltip.js active import { useRef, useEffect, useState } from 'react'; import { createPortal } from 'react-dom'; import TooltipContainer from './TooltipContainer.js'; @@ -665,7 +665,7 @@ export default function Tooltip({ children, targetRect }) { } ``` -```js TooltipContainer.js +```js src/TooltipContainer.js export default function TooltipContainer({ children, x, y, contentRef }) { return ( <div diff --git a/src/content/reference/react/useMemo.md b/src/content/reference/react/useMemo.md index c96c1a94..a44c86fc 100644 --- a/src/content/reference/react/useMemo.md +++ b/src/content/reference/react/useMemo.md @@ -177,7 +177,7 @@ Toggle the theme. **Thanks to `useMemo`, it's fast despite the artificial slowdo <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; import { createTodos } from './utils.js'; import TodoList from './TodoList.js'; @@ -219,7 +219,7 @@ export default function App() { ``` -```js TodoList.js active +```js src/TodoList.js active import { useMemo } from 'react'; import { filterTodos } from './utils.js' @@ -246,7 +246,7 @@ export default function TodoList({ todos, theme, tab }) { } ``` -```js utils.js +```js src/utils.js export function createTodos() { const todos = []; for (let i = 0; i < 50; i++) { @@ -307,7 +307,7 @@ Unlike in the previous example, toggling the theme is also slow now! This is bec <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; import { createTodos } from './utils.js'; import TodoList from './TodoList.js'; @@ -349,7 +349,7 @@ export default function App() { ``` -```js TodoList.js active +```js src/TodoList.js active import { filterTodos } from './utils.js' export default function TodoList({ todos, theme, tab }) { @@ -372,7 +372,7 @@ export default function TodoList({ todos, theme, tab }) { } ``` -```js utils.js +```js src/utils.js export function createTodos() { const todos = []; for (let i = 0; i < 50; i++) { @@ -427,7 +427,7 @@ However, here is the same code **with the artificial slowdown removed.** Does th <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; import { createTodos } from './utils.js'; import TodoList from './TodoList.js'; @@ -469,7 +469,7 @@ export default function App() { ``` -```js TodoList.js active +```js src/TodoList.js active import { filterTodos } from './utils.js' export default function TodoList({ todos, theme, tab }) { @@ -491,7 +491,7 @@ export default function TodoList({ todos, theme, tab }) { } ``` -```js utils.js +```js src/utils.js export function createTodos() { const todos = []; for (let i = 0; i < 50; i++) { @@ -651,7 +651,7 @@ Next, try toggling the theme. **Thanks to `useMemo` together with [`memo`](/refe <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; import { createTodos } from './utils.js'; import TodoList from './TodoList.js'; @@ -692,7 +692,7 @@ export default function App() { } ``` -```js TodoList.js active +```js src/TodoList.js active import { useMemo } from 'react'; import List from './List.js'; import { filterTodos } from './utils.js' @@ -711,7 +711,7 @@ export default function TodoList({ todos, theme, tab }) { } ``` -```js List.js +```js src/List.js import { memo } from 'react'; const List = memo(function List({ items }) { @@ -738,7 +738,7 @@ const List = memo(function List({ items }) { export default List; ``` -```js utils.js +```js src/utils.js export function createTodos() { const todos = []; for (let i = 0; i < 50; i++) { @@ -793,7 +793,7 @@ Unlike in the previous example, toggling the theme is also slow now! This is bec <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; import { createTodos } from './utils.js'; import TodoList from './TodoList.js'; @@ -834,7 +834,7 @@ export default function App() { } ``` -```js TodoList.js active +```js src/TodoList.js active import List from './List.js'; import { filterTodos } from './utils.js' @@ -849,7 +849,7 @@ export default function TodoList({ todos, theme, tab }) { } ``` -```js List.js +```js src/List.js import { memo } from 'react'; const List = memo(function List({ items }) { @@ -876,7 +876,7 @@ const List = memo(function List({ items }) { export default List; ``` -```js utils.js +```js src/utils.js export function createTodos() { const todos = []; for (let i = 0; i < 50; i++) { @@ -925,7 +925,7 @@ However, here is the same code **with the artificial slowdown removed.** Does th <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; import { createTodos } from './utils.js'; import TodoList from './TodoList.js'; @@ -966,7 +966,7 @@ export default function App() { } ``` -```js TodoList.js active +```js src/TodoList.js active import List from './List.js'; import { filterTodos } from './utils.js' @@ -980,7 +980,7 @@ export default function TodoList({ todos, theme, tab }) { } ``` -```js List.js +```js src/List.js import { memo } from 'react'; function List({ items }) { @@ -1001,7 +1001,7 @@ function List({ items }) { export default memo(List); ``` -```js utils.js +```js src/utils.js export function createTodos() { const todos = []; for (let i = 0; i < 50; i++) { diff --git a/src/content/reference/react/useOptimistic.md b/src/content/reference/react/useOptimistic.md index 2095a419..0a9a7486 100644 --- a/src/content/reference/react/useOptimistic.md +++ b/src/content/reference/react/useOptimistic.md @@ -72,7 +72,7 @@ For example, when a user types a message into the form and hits the "Send" butto <Sandpack> -```js App.js +```js src/App.js import { useOptimistic, useState, useRef } from "react"; import { deliverMessage } from "./actions.js"; @@ -122,7 +122,7 @@ export default function App() { } ``` -```js actions.js +```js src/actions.js export async function deliverMessage(message) { await new Promise((res) => setTimeout(res, 1000)); return message; diff --git a/src/content/reference/react/useReducer.md b/src/content/reference/react/useReducer.md index 3477660d..dbd18f6b 100644 --- a/src/content/reference/react/useReducer.md +++ b/src/content/reference/react/useReducer.md @@ -322,7 +322,7 @@ In this example, the reducer manages an array of tasks. The array needs to be up <Sandpack> -```js App.js +```js src/App.js import { useReducer } from 'react'; import AddTask from './AddTask.js'; import TaskList from './TaskList.js'; @@ -405,7 +405,7 @@ const initialTasks = [ ]; ``` -```js AddTask.js hidden +```js src/AddTask.js hidden import { useState } from 'react'; export default function AddTask({ onAddTask }) { @@ -426,7 +426,7 @@ export default function AddTask({ onAddTask }) { } ``` -```js TaskList.js hidden +```js src/TaskList.js hidden import { useState } from 'react'; export default function TaskList({ @@ -515,7 +515,7 @@ If updating arrays and objects without mutation feels tedious, you can use a lib <Sandpack> -```js App.js +```js src/App.js import { useImmerReducer } from 'use-immer'; import AddTask from './AddTask.js'; import TaskList from './TaskList.js'; @@ -597,7 +597,7 @@ const initialTasks = [ ]; ``` -```js AddTask.js hidden +```js src/AddTask.js hidden import { useState } from 'react'; export default function AddTask({ onAddTask }) { @@ -618,7 +618,7 @@ export default function AddTask({ onAddTask }) { } ``` -```js TaskList.js hidden +```js src/TaskList.js hidden import { useState } from 'react'; export default function TaskList({ @@ -763,7 +763,7 @@ This example passes the initializer function, so the `createInitialState` functi <Sandpack> -```js App.js hidden +```js src/App.js hidden import TodoList from './TodoList.js'; export default function App() { @@ -771,7 +771,7 @@ export default function App() { } ``` -```js TodoList.js active +```js src/TodoList.js active import { useReducer } from 'react'; function createInitialState(username) { @@ -851,7 +851,7 @@ This example **does not** pass the initializer function, so the `createInitialSt <Sandpack> -```js App.js hidden +```js src/App.js hidden import TodoList from './TodoList.js'; export default function App() { @@ -859,7 +859,7 @@ export default function App() { } ``` -```js TodoList.js active +```js src/TodoList.js active import { useReducer } from 'react'; function createInitialState(username) { diff --git a/src/content/reference/react/useState.md b/src/content/reference/react/useState.md index d23fa489..ee86f0e8 100644 --- a/src/content/reference/react/useState.md +++ b/src/content/reference/react/useState.md @@ -630,7 +630,7 @@ In this example, the `todos` state variable holds an array. Each button handler <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; import AddTodo from './AddTodo.js'; import TaskList from './TaskList.js'; @@ -687,7 +687,7 @@ export default function TaskApp() { } ``` -```js AddTodo.js +```js src/AddTodo.js import { useState } from 'react'; export default function AddTodo({ onAddTodo }) { @@ -708,7 +708,7 @@ export default function AddTodo({ onAddTodo }) { } ``` -```js TaskList.js +```js src/TaskList.js import { useState } from 'react'; export default function TaskList({ @@ -1028,7 +1028,7 @@ Read [preserving and resetting state](/learn/preserving-and-resetting-state) to <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; export default function App() { @@ -1083,7 +1083,7 @@ In the rare case that none of these apply, there is a pattern you can use to upd Here's an example. This `CountLabel` component displays the `count` prop passed to it: -```js CountLabel.js +```js src/CountLabel.js export default function CountLabel({ count }) { return <h1>{count}</h1> } @@ -1093,7 +1093,7 @@ Say you want to show whether the counter has *increased or decreased* since the <Sandpack> -```js App.js +```js src/App.js import { useState } from 'react'; import CountLabel from './CountLabel.js'; @@ -1113,7 +1113,7 @@ export default function App() { } ``` -```js CountLabel.js active +```js src/CountLabel.js active import { useState } from 'react'; export default function CountLabel({ count }) { diff --git a/src/content/reference/react/useSyncExternalStore.md b/src/content/reference/react/useSyncExternalStore.md index bc54d546..ebaf0987 100644 --- a/src/content/reference/react/useSyncExternalStore.md +++ b/src/content/reference/react/useSyncExternalStore.md @@ -131,7 +131,7 @@ export default function TodosApp() { } ``` -```js todoStore.js +```js src/todoStore.js // This is an example of a third-party store // that you might need to integrate with React. @@ -300,7 +300,7 @@ export default function App() { } ``` -```js useOnlineStatus.js +```js src/useOnlineStatus.js import { useSyncExternalStore } from 'react'; export function useOnlineStatus() { diff --git a/src/content/reference/react/useTransition.md b/src/content/reference/react/useTransition.md index 672b448b..37e89c0c 100644 --- a/src/content/reference/react/useTransition.md +++ b/src/content/reference/react/useTransition.md @@ -184,7 +184,7 @@ export default function TabContainer() { } ``` -```js TabButton.js +```js src/TabButton.js import { useTransition } from 'react'; export default function TabButton({ children, isActive, onClick }) { @@ -202,7 +202,7 @@ export default function TabButton({ children, isActive, onClick }) { ``` -```js AboutTab.js +```js src/AboutTab.js export default function AboutTab() { return ( <p>Welcome to my profile!</p> @@ -210,7 +210,7 @@ export default function AboutTab() { } ``` -```js PostsTab.js +```js src/PostsTab.js import { memo } from 'react'; const PostsTab = memo(function PostsTab() { @@ -244,7 +244,7 @@ function SlowPost({ index }) { export default PostsTab; ``` -```js ContactTab.js +```js src/ContactTab.js export default function ContactTab() { return ( <> @@ -320,7 +320,7 @@ export default function TabContainer() { } ``` -```js TabButton.js +```js src/TabButton.js import { useTransition } from 'react'; export default function TabButton({ children, isActive, onClick }) { @@ -338,7 +338,7 @@ export default function TabButton({ children, isActive, onClick }) { ``` -```js AboutTab.js +```js src/AboutTab.js export default function AboutTab() { return ( <p>Welcome to my profile!</p> @@ -346,7 +346,7 @@ export default function AboutTab() { } ``` -```js PostsTab.js +```js src/PostsTab.js import { memo } from 'react'; const PostsTab = memo(function PostsTab() { @@ -380,7 +380,7 @@ function SlowPost({ index }) { export default PostsTab; ``` -```js ContactTab.js +```js src/ContactTab.js export default function ContactTab() { return ( <> @@ -473,7 +473,7 @@ export default function TabContainer() { } ``` -```js TabButton.js active +```js src/TabButton.js active import { useTransition } from 'react'; export default function TabButton({ children, isActive, onClick }) { @@ -493,7 +493,7 @@ export default function TabButton({ children, isActive, onClick }) { } ``` -```js AboutTab.js +```js src/AboutTab.js export default function AboutTab() { return ( <p>Welcome to my profile!</p> @@ -501,7 +501,7 @@ export default function AboutTab() { } ``` -```js PostsTab.js +```js src/PostsTab.js import { memo } from 'react'; const PostsTab = memo(function PostsTab() { @@ -535,7 +535,7 @@ function SlowPost({ index }) { export default PostsTab; ``` -```js ContactTab.js +```js src/ContactTab.js export default function ContactTab() { return ( <> @@ -616,7 +616,7 @@ export default function TabContainer() { } ``` -```js TabButton.js active +```js src/TabButton.js active import { useTransition } from 'react'; export default function TabButton({ children, isActive, onClick }) { @@ -639,7 +639,7 @@ export default function TabButton({ children, isActive, onClick }) { } ``` -```js AboutTab.js +```js src/AboutTab.js export default function AboutTab() { return ( <p>Welcome to my profile!</p> @@ -647,7 +647,7 @@ export default function AboutTab() { } ``` -```js PostsTab.js +```js src/PostsTab.js import { memo } from 'react'; const PostsTab = memo(function PostsTab() { @@ -681,7 +681,7 @@ function SlowPost({ index }) { export default PostsTab; ``` -```js ContactTab.js +```js src/ContactTab.js export default function ContactTab() { return ( <> @@ -751,7 +751,7 @@ export default function TabContainer() { } ``` -```js TabButton.js +```js src/TabButton.js export default function TabButton({ children, isActive, onClick }) { if (isActive) { return <b>{children}</b> @@ -766,7 +766,7 @@ export default function TabButton({ children, isActive, onClick }) { } ``` -```js AboutTab.js hidden +```js src/AboutTab.js hidden export default function AboutTab() { return ( <p>Welcome to my profile!</p> @@ -774,7 +774,7 @@ export default function AboutTab() { } ``` -```js PostsTab.js hidden +```js src/PostsTab.js hidden import { fetchData } from './data.js'; // Note: this component is written using an experimental API @@ -830,7 +830,7 @@ function use(promise) { } ``` -```js ContactTab.js hidden +```js src/ContactTab.js hidden export default function ContactTab() { return ( <> @@ -847,7 +847,7 @@ export default function ContactTab() { ``` -```js data.js hidden +```js src/data.js hidden // Note: the way you would do data fetching depends on // the framework that you use together with Suspense. // Normally, the caching logic would be inside a framework. @@ -937,7 +937,7 @@ export default function TabContainer() { } ``` -```js TabButton.js active +```js src/TabButton.js active import { useTransition } from 'react'; export default function TabButton({ children, isActive, onClick }) { @@ -960,7 +960,7 @@ export default function TabButton({ children, isActive, onClick }) { } ``` -```js AboutTab.js hidden +```js src/AboutTab.js hidden export default function AboutTab() { return ( <p>Welcome to my profile!</p> @@ -968,7 +968,7 @@ export default function AboutTab() { } ``` -```js PostsTab.js hidden +```js src/PostsTab.js hidden import { fetchData } from './data.js'; // Note: this component is written using an experimental API @@ -1024,7 +1024,7 @@ function use(promise) { } ``` -```js ContactTab.js hidden +```js src/ContactTab.js hidden export default function ContactTab() { return ( <> @@ -1041,7 +1041,7 @@ export default function ContactTab() { ``` -```js data.js hidden +```js src/data.js hidden // Note: the way you would do data fetching depends on // the framework that you use together with Suspense. // Normally, the caching logic would be inside a framework. @@ -1138,7 +1138,7 @@ Here is a tiny simplified router example using transitions for navigations. } ``` -```js App.js +```js src/App.js import { Suspense, useState, useTransition } from 'react'; import IndexPage from './IndexPage.js'; import ArtistPage from './ArtistPage.js'; @@ -1189,7 +1189,7 @@ function BigSpinner() { } ``` -```js Layout.js +```js src/Layout.js export default function Layout({ children, isPending }) { return ( <div className="layout"> @@ -1206,7 +1206,7 @@ export default function Layout({ children, isPending }) { } ``` -```js IndexPage.js +```js src/IndexPage.js export default function IndexPage({ navigate }) { return ( <button onClick={() => navigate('/the-beatles')}> @@ -1216,7 +1216,7 @@ export default function IndexPage({ navigate }) { } ``` -```js ArtistPage.js +```js src/ArtistPage.js import { Suspense } from 'react'; import Albums from './Albums.js'; import Biography from './Biography.js'; @@ -1247,7 +1247,7 @@ function AlbumsGlimmer() { } ``` -```js Albums.js hidden +```js src/Albums.js hidden import { fetchData } from './data.js'; // Note: this component is written using an experimental API @@ -1295,7 +1295,7 @@ function use(promise) { } ``` -```js Biography.js hidden +```js src/Biography.js hidden import { fetchData } from './data.js'; // Note: this component is written using an experimental API @@ -1339,7 +1339,7 @@ function use(promise) { } ``` -```js Panel.js hidden +```js src/Panel.js hidden export default function Panel({ children }) { return ( <section className="panel"> @@ -1349,7 +1349,7 @@ export default function Panel({ children }) { } ``` -```js data.js hidden +```js src/data.js hidden // Note: the way you would do data fetching depends on // the framework that you use together with Suspense. // Normally, the caching logic would be inside a framework. @@ -1513,7 +1513,7 @@ If a function passed to `startTransition` throws an error, you can display an er <Sandpack> -```js AddCommentContainer.js active +```js src/AddCommentContainer.js active import { useTransition } from "react"; import { ErrorBoundary } from "react-error-boundary"; @@ -1551,7 +1551,7 @@ function AddCommentButton() { } ``` -```js App.js hidden +```js src/App.js hidden import { AddCommentContainer } from "./AddCommentContainer.js"; export default function App() { @@ -1559,7 +1559,7 @@ export default function App() { } ``` -```js index.js hidden +```js src/index.js hidden // TODO: update to import from stable // react instead of canary once the `use` // Hook is in a stable release of React From d0a50e8a973497a167b76ccf2baaf1eb1d431286 Mon Sep 17 00:00:00 2001 From: Strek <ssharishkumar@gmail.com> Date: Sat, 16 Dec 2023 14:02:11 +0530 Subject: [PATCH 133/382] fix sandpack ts (#6498) --- src/content/learn/typescript.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/content/learn/typescript.md b/src/content/learn/typescript.md index ee44ef07..034ac0d4 100644 --- a/src/content/learn/typescript.md +++ b/src/content/learn/typescript.md @@ -55,7 +55,7 @@ Taking the [`MyButton` component](/learn#components) from the [Quick Start](/lea <Sandpack> -```tsx App.tsx active +```tsx src/App.tsx active function MyButton({ title }: { title: string }) { return ( <button>{title}</button> @@ -88,7 +88,7 @@ This inline syntax is the simplest way to provide types for a component, though <Sandpack> -```tsx App.tsx active +```tsx src/App.tsx active interface MyButtonProps { /** The text to display inside the button */ title: string; @@ -170,7 +170,7 @@ The [`useReducer` Hook](/reference/react/useReducer) is a more complex Hook that <Sandpack> -```tsx App.tsx active +```tsx src/App.tsx active import {useReducer} from 'react'; interface State { @@ -248,7 +248,7 @@ The type of the value provided by the context is inferred from the value passed <Sandpack> -```tsx App.tsx active +```tsx src/App.tsx active import { createContext, useContext, useState } from 'react'; type Theme = "light" | "dark" | "system"; @@ -381,7 +381,7 @@ When working with DOM events in React, the type of the event can often be inferr <Sandpack> -```tsx App.tsx active +```tsx src/App.tsx active import { useState } from 'react'; export default function Form() { From 303ecae3dd4c7b570cf18e0115b94188f6aad5a1 Mon Sep 17 00:00:00 2001 From: Prajwal Kulkarni <prajwalkulkarni76@gmail.com> Date: Sat, 16 Dec 2023 19:38:30 +0530 Subject: [PATCH 134/382] Update startTransition.md (#6431) --- src/content/reference/react/startTransition.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/reference/react/startTransition.md b/src/content/reference/react/startTransition.md index 4773d77c..0aef23fd 100644 --- a/src/content/reference/react/startTransition.md +++ b/src/content/reference/react/startTransition.md @@ -41,7 +41,7 @@ function TabContainer() { #### Parameters {/*parameters*/} -* `scope`: A function that updates some state by calling one or more [`set` functions.](/reference/react/useState#setstate) React immediately calls `scope` with no parameters and marks all state updates scheduled synchronously during the `scope` function call as transitions. They will be [non-blocking](/reference/react/useTransition#marking-a-state-update-as-a-non-blocking-transition) and [will not display unwanted loading indicators.](/reference/react/useTransition#preventing-unwanted-loading-indicators) +* `scope`: A function that updates some state by calling one or more [`set` functions.](/reference/react/useState#setstate) React immediately calls `scope` with no arguments and marks all state updates scheduled synchronously during the `scope` function call as transitions. They will be [non-blocking](/reference/react/useTransition#marking-a-state-update-as-a-non-blocking-transition) and [will not display unwanted loading indicators.](/reference/react/useTransition#preventing-unwanted-loading-indicators) #### Returns {/*returns*/} From 9ce4afead624114d5f831c70ea31c14feb5965ce Mon Sep 17 00:00:00 2001 From: Daniel Lo Nigro <danlo@meta.com> Date: Tue, 19 Dec 2023 17:23:51 -0800 Subject: [PATCH 135/382] Improve documentation for __html (#6499) --- src/content/reference/react-dom/components/common.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/content/reference/react-dom/components/common.md b/src/content/reference/react-dom/components/common.md index 11719112..61074273 100644 --- a/src/content/reference/react-dom/components/common.md +++ b/src/content/reference/react-dom/components/common.md @@ -982,6 +982,8 @@ textarea { display: block; margin-top: 5px; margin-bottom: 10px; } </Sandpack> +The `{__html}` object should be created as close to where the HTML is generated as possible, like the above example does in the `renderMarkdownToHTML` function. This ensures that all raw HTML being used in your code is explicitly marked as such, and that only variables that you expect to contain HTML are passed to `dangerouslySetInnerHTML`. It is not recommended to create the object inline like `<div dangerouslySetInnerHTML={{__html: markup}} />`. + To see why rendering arbitrary HTML is dangerous, replace the code above with this: ```js {1-4,7,8} From 3bf64e5ffdc1f7793d237a24f051e06986197913 Mon Sep 17 00:00:00 2001 From: Alina Listunova <alinkedd@users.noreply.github.com> Date: Thu, 21 Dec 2023 02:57:57 +0200 Subject: [PATCH 136/382] Fix diagram alt text in Your UI as a Tree page (#6507) --- src/content/learn/understanding-your-ui-as-a-tree.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/learn/understanding-your-ui-as-a-tree.md b/src/content/learn/understanding-your-ui-as-a-tree.md index f4528b34..2abf7aff 100644 --- a/src/content/learn/understanding-your-ui-as-a-tree.md +++ b/src/content/learn/understanding-your-ui-as-a-tree.md @@ -22,7 +22,7 @@ React, and many other UI libraries, model UI as a tree. Thinking of your app as Trees are a relationship model between items and UI is often represented using tree structures. For example, browsers use tree structures to model HTML ([DOM](https://developer.mozilla.org/docs/Web/API/Document_Object_Model/Introduction)) and CSS ([CSSOM](https://developer.mozilla.org/docs/Web/API/CSS_Object_Model)). Mobile platforms also use trees to represent their view hierarchy. -<Diagram name="preserving_state_dom_tree" height={193} width={864} alt="Diagram with three sections arranged horizontally. In the first section, there are three rectangles stacked vertically, with labels 'Component A', 'Component B', and 'Component C'. Transitioning to the next pane is an arrow with the React logo on top labeled 'React'. The middle section contains a tree of components, with the root labeled 'A' and two children labeled 'B' and 'C'. The next section is again transitioned using an arrow with the React logo on top labeled 'React'. The third and final section is a wireframe of a browser, containing a tree of 8 nodes, which has only a subset highlighted (indicating the subtree from the middle section)."> +<Diagram name="preserving_state_dom_tree" height={193} width={864} alt="Diagram with three sections arranged horizontally. In the first section, there are three rectangles stacked vertically, with labels 'Component A', 'Component B', and 'Component C'. Transitioning to the next pane is an arrow with the React logo on top labeled 'React'. The middle section contains a tree of components, with the root labeled 'A' and two children labeled 'B' and 'C'. The next section is again transitioned using an arrow with the React logo on top labeled 'React DOM'. The third and final section is a wireframe of a browser, containing a tree of 8 nodes, which has only a subset highlighted (indicating the subtree from the middle section)."> React creates a UI tree from your components. In this example, the UI tree is then used to render to the DOM. </Diagram> From 3009d764ed362ae749c5835cbc38783dd29bfd57 Mon Sep 17 00:00:00 2001 From: Luna <lunaleaps@gmail.com> Date: Wed, 20 Dec 2023 20:58:16 -0400 Subject: [PATCH 137/382] Fix error throw and for useTransition demo (#6510) --- src/components/MDX/Sandpack/Preview.tsx | 2 +- src/content/reference/react/useTransition.md | 13 +++++++------ 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/components/MDX/Sandpack/Preview.tsx b/src/components/MDX/Sandpack/Preview.tsx index 05964555..9669e5f4 100644 --- a/src/components/MDX/Sandpack/Preview.tsx +++ b/src/components/MDX/Sandpack/Preview.tsx @@ -54,7 +54,7 @@ export function Preview({ // When throwing a new Error in Sandpack - we want to disable the dev error dialog // to show the Error Boundary fallback - if (rawError && rawError.message.includes(`throw Error('Example error')`)) { + if (rawError && rawError.message.includes('Example Error:')) { rawError = null; } diff --git a/src/content/reference/react/useTransition.md b/src/content/reference/react/useTransition.md index 37e89c0c..49df279f 100644 --- a/src/content/reference/react/useTransition.md +++ b/src/content/reference/react/useTransition.md @@ -1520,15 +1520,15 @@ import { ErrorBoundary } from "react-error-boundary"; export function AddCommentContainer() { return ( <ErrorBoundary fallback={<p>⚠️Something went wrong</p>}> - <AddCommentButton /> + <AddCommentButton /> </ErrorBoundary> ); } function addComment(comment) { // For demonstration purposes to show Error Boundary - if(comment == null){ - throw Error('Example error') + if (comment == null) { + throw new Error("Example Error: An error thrown to trigger error boundary"); } } @@ -1544,9 +1544,10 @@ function AddCommentButton() { // so error gets thrown addComment(); }); - }}> - Add comment - </button> + }} + > + Add comment + </button> ); } ``` From bbb08a5a04b0221137e5d60472fc979747af2954 Mon Sep 17 00:00:00 2001 From: Ali Oguzhan Yildiz <aoguzhanyildiz@gmail.com> Date: Thu, 21 Dec 2023 04:02:42 +0300 Subject: [PATCH 138/382] Add Turkish to deployed languages (#6449) --- src/components/Seo.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/src/components/Seo.tsx b/src/components/Seo.tsx index 5af169e1..dfc4f610 100644 --- a/src/components/Seo.tsx +++ b/src/components/Seo.tsx @@ -24,6 +24,7 @@ const deployedTranslations = [ 'es', 'fr', 'ja', + 'tr', // We'll add more languages when they have enough content. // Please DO NOT edit this list without a discussion in the reactjs/react.dev repo. // It must be the same between all translations. From fc32af86f1caad6e237e5eab89b4afc20e264fe4 Mon Sep 17 00:00:00 2001 From: Nepalivai <108126089+nepalivai@users.noreply.github.com> Date: Fri, 5 Jan 2024 23:05:16 +0545 Subject: [PATCH 139/382] Text Display error in Go full-stack with a framework (#6483) * Text Display error in Go full-stack with a framework Fix error #27816 What dose this PR do? It fixes the issue with the landing page of the react website. * Update HomeContent.js * Set styles on <option> * Add padding too --------- Co-authored-by: Ricky <rickhanlonii@gmail.com> --- src/components/Layout/HomeContent.js | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/components/Layout/HomeContent.js b/src/components/Layout/HomeContent.js index 02338b1c..e1fab6d7 100644 --- a/src/components/Layout/HomeContent.js +++ b/src/components/Layout/HomeContent.js @@ -1499,7 +1499,7 @@ function ConferenceLayout({conf, children}) { navigate(e.target.value); }); }} - className="appearance-none pe-8 bg-transparent text-primary-dark text-2xl font-bold mb-0.5" + className="appearance-none pe-8 ps-2 bg-transparent text-primary-dark text-2xl font-bold mb-0.5" style={{ backgroundSize: '4px 4px, 4px 4px', backgroundRepeat: 'no-repeat', @@ -1508,8 +1508,16 @@ function ConferenceLayout({conf, children}) { backgroundImage: 'linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%)', }}> - <option value="react-conf-2021">React Conf 2021</option> - <option value="react-conf-2019">React Conf 2019</option> + <option + className="bg-wash dark:bg-wash-dark text-primary dark:text-primary-dark" + value="react-conf-2021"> + React Conf 2021 + </option> + <option + className="bg-wash dark:bg-wash-dark text-primary dark:text-primary-dark" + value="react-conf-2019"> + React Conf 2019 + </option> </select> </Cover> <div className="px-4 pb-4" key={conf.id}> From 7a28cf6bf5ee892abe35d41474d5298b021c26ae Mon Sep 17 00:00:00 2001 From: Ahmed Abdelbaset <A7med3bdulBaset@gmail.com> Date: Sat, 6 Jan 2024 01:59:01 +0200 Subject: [PATCH 140/382] Fix missing function keyword (#6527) * Update use-server.md * revert export default --- src/content/reference/react/use-server.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/content/reference/react/use-server.md b/src/content/reference/react/use-server.md index 63816336..0d0fc840 100644 --- a/src/content/reference/react/use-server.md +++ b/src/content/reference/react/use-server.md @@ -153,7 +153,7 @@ export default async function requestUsername(formData) { // UsernameForm.js 'use client'; -import {useFormState} from 'react-dom'; +import { useFormState } from 'react-dom'; import requestUsername from './requestUsername'; function UsernameForm() { @@ -208,7 +208,7 @@ function LikeButton() { 'use server'; let likeCount = 0; -export default async incrementLike() { +export default async function incrementLike() { likeCount++; return likeCount; } From 315cb7a38a1645623fc55501429285ab680b8a6a Mon Sep 17 00:00:00 2001 From: wnhlee <40269597+2wheeh@users.noreply.github.com> Date: Mon, 8 Jan 2024 01:06:41 +0900 Subject: [PATCH 141/382] fix wrong quotes around inline codes (#6523) * fix wrong way quotes * bump up to clear mdx cache --- plugins/remark-smartypants.js | 47 ++++++++++++++++++++++++++++++++--- src/utils/prepareMDX.js | 2 +- 2 files changed, 45 insertions(+), 4 deletions(-) diff --git a/plugins/remark-smartypants.js b/plugins/remark-smartypants.js index 7dd1b0c4..4694ff67 100644 --- a/plugins/remark-smartypants.js +++ b/plugins/remark-smartypants.js @@ -1,3 +1,8 @@ +/*! + * Based on 'silvenon/remark-smartypants' + * https://github.com/silvenon/remark-smartypants/pull/80 + */ + const visit = require('unist-util-visit'); const retext = require('retext'); const smartypants = require('retext-smartypants'); @@ -9,12 +14,48 @@ function check(parent) { } module.exports = function (options) { - const processor = retext().use(smartypants, options); + const processor = retext().use(smartypants, { + ...options, + // Do not replace ellipses, dashes, backticks because they change string + // length, and we couldn't guarantee right splice of text in second visit of + // tree + ellipses: false, + dashes: false, + backticks: false, + }); + + const processor2 = retext().use(smartypants, { + ...options, + // Do not replace quotes because they are already replaced in the first + // processor + quotes: false, + }); function transformer(tree) { - visit(tree, 'text', (node, index, parent) => { - if (check(parent)) node.value = String(processor.processSync(node.value)); + let allText = ''; + let startIndex = 0; + const textOrInlineCodeNodes = []; + + visit(tree, ['text', 'inlineCode'], (node, _, parent) => { + if (check(parent)) { + if (node.type === 'text') allText += node.value; + // for the case when inlineCode contains just one part of quote: `foo'bar` + else allText += 'A'.repeat(node.value.length); + textOrInlineCodeNodes.push(node); + } }); + + // Concat all text into one string, to properly replace quotes around non-"text" nodes + allText = String(processor.processSync(allText)); + + for (const node of textOrInlineCodeNodes) { + const endIndex = startIndex + node.value.length; + if (node.type === 'text') { + const processedText = allText.slice(startIndex, endIndex); + node.value = String(processor2.processSync(processedText)); + } + startIndex = endIndex; + } } return transformer; diff --git a/src/utils/prepareMDX.js b/src/utils/prepareMDX.js index 639d7db9..20a22577 100644 --- a/src/utils/prepareMDX.js +++ b/src/utils/prepareMDX.js @@ -7,7 +7,7 @@ import {Children} from 'react'; // TODO: This logic could be in MDX plugins instead. // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -export const PREPARE_MDX_CACHE_BREAKER = 2; +export const PREPARE_MDX_CACHE_BREAKER = 3; // !!! IMPORTANT !!! Bump this if you change any logic. // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ From bb0ac87ce43cc8216601d67a5b2ab653039c259c Mon Sep 17 00:00:00 2001 From: probeiuscorp <70288813+probeiuscorp@users.noreply.github.com> Date: Mon, 8 Jan 2024 19:33:29 -0600 Subject: [PATCH 142/382] Fix typo in experimental_taintObjectReference (#6536) Change untained -> untainted --- .../reference/react/experimental_taintObjectReference.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/content/reference/react/experimental_taintObjectReference.md b/src/content/reference/react/experimental_taintObjectReference.md index 335f659c..b5b9e513 100644 --- a/src/content/reference/react/experimental_taintObjectReference.md +++ b/src/content/reference/react/experimental_taintObjectReference.md @@ -64,11 +64,11 @@ experimental_taintObjectReference( #### Caveats {/*caveats*/} -- Recreating or cloning a tainted object creates a new untained object which may contain sensitive data. For example, if you have a tainted `user` object, `const userInfo = {name: user.name, ssn: user.ssn}` or `{...user}` will create new objects which are not tainted. `taintObjectReference` only protects against simple mistakes when the object is passed through to a Client Component unchanged. +- Recreating or cloning a tainted object creates a new untainted object which may contain sensitive data. For example, if you have a tainted `user` object, `const userInfo = {name: user.name, ssn: user.ssn}` or `{...user}` will create new objects which are not tainted. `taintObjectReference` only protects against simple mistakes when the object is passed through to a Client Component unchanged. <Pitfall> -**Do not rely on just tainting for security.** Tainting an object doesn't prevent leaking of every possible derived value. For example, the clone of a tainted object will create a new untained object. Using data from a tainted object (e.g. `{secret: taintedObj.secret}`) will create a new value or object that is not tainted. Tainting is a layer of protection; a secure app will have multiple layers of protection, well designed APIs, and isolation patterns. +**Do not rely on just tainting for security.** Tainting an object doesn't prevent leaking of every possible derived value. For example, the clone of a tainted object will create a new untainted object. Using data from a tainted object (e.g. `{secret: taintedObj.secret}`) will create a new value or object that is not tainted. Tainting is a layer of protection; a secure app will have multiple layers of protection, well designed APIs, and isolation patterns. </Pitfall> From 083c308de8365ba1b9ef6db85d536e5cfc844ec0 Mon Sep 17 00:00:00 2001 From: Abdul Rahman <abdulrahimaneassak@gmail.com> Date: Tue, 9 Jan 2024 07:52:15 +0530 Subject: [PATCH 143/382] Fix(Bug) Update Feedback.tsx component visiblity issue (#6533) * Update Feedback.tsx * Update Feedback.tsx Time reduced to 1.5 seconds, also going to update css * Update index.css CSS updated for feedback component animation. * Update Feedback.tsx * Update index.css --------- Co-authored-by: Ricky <rickhanlonii@gmail.com> --- src/components/Layout/Feedback.tsx | 7 ++++++- src/styles/index.css | 6 ++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/components/Layout/Feedback.tsx b/src/components/Layout/Feedback.tsx index 8639ce12..0bdbc6b7 100644 --- a/src/components/Layout/Feedback.tsx +++ b/src/components/Layout/Feedback.tsx @@ -4,6 +4,7 @@ import {useState} from 'react'; import {useRouter} from 'next/router'; +import cn from 'classnames'; export function Feedback({onSubmit = () => {}}: {onSubmit?: () => void}) { const {asPath} = useRouter(); @@ -60,7 +61,11 @@ function sendGAEvent(isPositive: boolean) { function SendFeedback({onSubmit}: {onSubmit: () => void}) { const [isSubmitted, setIsSubmitted] = useState(false); return ( - <div className="max-w-xs w-80 lg:w-auto py-3 shadow-lg rounded-lg m-4 bg-wash dark:bg-gray-95 px-4 flex"> + <div + className={cn( + 'max-w-xs w-80 lg:w-auto py-3 shadow-lg rounded-lg m-4 bg-wash dark:bg-gray-95 px-4 flex', + {exit: isSubmitted} + )}> <p className="w-full font-bold text-primary dark:text-primary-dark text-lg me-4"> {isSubmitted ? 'Thank you for your feedback!' : 'Is this page useful?'} </p> diff --git a/src/styles/index.css b/src/styles/index.css index 9e1ec4aa..f22784ce 100644 --- a/src/styles/index.css +++ b/src/styles/index.css @@ -719,3 +719,9 @@ ol.mdx-illustration-block { width: 100%; } } + +.exit { + opacity: 0; + transition: opacity 500ms ease-out; + transition-delay: 1s; +} From 10d4a4dfb3f23dda455519fb73c24ef9a6fc6d26 Mon Sep 17 00:00:00 2001 From: Ricky <rickhanlonii@fb.com> Date: Mon, 8 Jan 2024 22:07:08 -0500 Subject: [PATCH 144/382] Fix forwardRef and useRef links (#6537) --- src/content/reference/react/forwardRef.md | 2 +- src/content/reference/react/useRef.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/content/reference/react/forwardRef.md b/src/content/reference/react/forwardRef.md index e1e96a20..04d69287 100644 --- a/src/content/reference/react/forwardRef.md +++ b/src/content/reference/react/forwardRef.md @@ -42,7 +42,7 @@ const MyInput = forwardRef(function MyInput(props, ref) { #### Caveats {/*caveats*/} -* In Strict Mode, React will **call your render function twice** in order to [help you find accidental impurities.](#my-initializer-or-updater-function-runs-twice) This is development-only behavior and does not affect production. If your render function is pure (as it should be), this should not affect the logic of your component. The result from one of the calls will be ignored. +* In Strict Mode, React will **call your render function twice** in order to [help you find accidental impurities.](/reference/react/useState#my-initializer-or-updater-function-runs-twice) This is development-only behavior and does not affect production. If your render function is pure (as it should be), this should not affect the logic of your component. The result from one of the calls will be ignored. --- diff --git a/src/content/reference/react/useRef.md b/src/content/reference/react/useRef.md index 4af7e953..fcecae71 100644 --- a/src/content/reference/react/useRef.md +++ b/src/content/reference/react/useRef.md @@ -50,7 +50,7 @@ On the next renders, `useRef` will return the same object. * You can mutate the `ref.current` property. Unlike state, it is mutable. However, if it holds an object that is used for rendering (for example, a piece of your state), then you shouldn't mutate that object. * When you change the `ref.current` property, React does not re-render your component. React is not aware of when you change it because a ref is a plain JavaScript object. * Do not write _or read_ `ref.current` during rendering, except for [initialization.](#avoiding-recreating-the-ref-contents) This makes your component's behavior unpredictable. -* In Strict Mode, React will **call your component function twice** in order to [help you find accidental impurities.](#my-initializer-or-updater-function-runs-twice) This is development-only behavior and does not affect production. Each ref object will be created twice, but one of the versions will be discarded. If your component function is pure (as it should be), this should not affect the behavior. +* In Strict Mode, React will **call your component function twice** in order to [help you find accidental impurities.](/reference/react/useState#my-initializer-or-updater-function-runs-twice) This is development-only behavior and does not affect production. Each ref object will be created twice, but one of the versions will be discarded. If your component function is pure (as it should be), this should not affect the behavior. --- From 53a1f4940ece4f5add7e6d53b10c3052d9ae5e01 Mon Sep 17 00:00:00 2001 From: Kiran Abburi <akiran@users.noreply.github.com> Date: Tue, 9 Jan 2024 23:16:22 +0530 Subject: [PATCH 145/382] Added React Nexus 2024 conference to the conference list (#6538) --- src/content/community/conferences.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/content/community/conferences.md b/src/content/community/conferences.md index 9f020966..b3d9603a 100644 --- a/src/content/community/conferences.md +++ b/src/content/community/conferences.md @@ -20,6 +20,11 @@ June 12 - June 14, 2024. Atlanta, GA, USA [Website](https://renderatl.com) - [Discord](https://www.renderatl.com/discord) - [Twitter](https://twitter.com/renderATL) - [Instagram](https://www.instagram.com/renderatl/) - [Facebook](https://www.facebook.com/renderatl/) - [LinkedIn](https://www.linkedin.com/company/renderatl) - [Podcast](https://www.renderatl.com/culture-and-code#/) +### React Nexus 2024 {/*react-nexus-2024*/} +July 04 & 05, 2024. Bangalore, India (In-person event) + +[Website](https://reactnexus.com/) - [Twitter](https://twitter.com/ReactNexus) - [Linkedin](https://www.linkedin.com/company/react-nexus) - [YouTube](https://www.youtube.com/reactify_in) + ### React India 2024 {/*react-india-2024*/} October 17 - 19, 2024. In-person in Goa, India (hybrid event) + Oct 15 2024 - remote day From 6f8d4e60999f335ef2dd4eb2650e701deb7bb581 Mon Sep 17 00:00:00 2001 From: Ricky <rickhanlonii@fb.com> Date: Tue, 9 Jan 2024 12:59:49 -0500 Subject: [PATCH 146/382] Add pointer-events:none to .exit (#6541) --- src/styles/index.css | 1 + 1 file changed, 1 insertion(+) diff --git a/src/styles/index.css b/src/styles/index.css index f22784ce..cfd82dc0 100644 --- a/src/styles/index.css +++ b/src/styles/index.css @@ -724,4 +724,5 @@ ol.mdx-illustration-block { opacity: 0; transition: opacity 500ms ease-out; transition-delay: 1s; + pointer-events: none; } From 983bda90ccc10b52d4615bfd4769a2dfbe6802ba Mon Sep 17 00:00:00 2001 From: TymeeK <38594702+TymeeK@users.noreply.github.com> Date: Wed, 10 Jan 2024 12:53:05 -0800 Subject: [PATCH 147/382] Removed unused nextId variable (#6470) --- src/content/learn/updating-arrays-in-state.md | 1 - 1 file changed, 1 deletion(-) diff --git a/src/content/learn/updating-arrays-in-state.md b/src/content/learn/updating-arrays-in-state.md index ea861931..61e4f4e2 100644 --- a/src/content/learn/updating-arrays-in-state.md +++ b/src/content/learn/updating-arrays-in-state.md @@ -409,7 +409,6 @@ For example: ```js import { useState } from 'react'; -let nextId = 3; const initialList = [ { id: 0, title: 'Big Bellies' }, { id: 1, title: 'Lunar Landscape' }, From 9d8c5add07179839a00017f0678bffb70d3ba211 Mon Sep 17 00:00:00 2001 From: Ricky <rickhanlonii@fb.com> Date: Wed, 10 Jan 2024 17:46:48 -0500 Subject: [PATCH 148/382] Revert "Add useState semicolon (#5823)" (#6543) This reverts commit e18bb3b25731411acfd554a44efd0b7189f577bb. --- src/content/reference/react/useState.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/reference/react/useState.md b/src/content/reference/react/useState.md index ee86f0e8..48d96f8e 100644 --- a/src/content/reference/react/useState.md +++ b/src/content/reference/react/useState.md @@ -7,7 +7,7 @@ title: useState `useState` is a React Hook that lets you add a [state variable](/learn/state-a-components-memory) to your component. ```js -const [state, setState] = useState(initialState); +const [state, setState] = useState(initialState) ``` </Intro> From eff3955836a3391d5795821d22328b86fc9f7e8e Mon Sep 17 00:00:00 2001 From: Taz Singh <taz@tazsingh.com> Date: Thu, 11 Jan 2024 19:25:58 +0000 Subject: [PATCH 149/382] Update meetups.md (#6540) --- src/content/community/meetups.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/content/community/meetups.md b/src/content/community/meetups.md index 000eeb43..a12a5349 100644 --- a/src/content/community/meetups.md +++ b/src/content/community/meetups.md @@ -72,7 +72,8 @@ Do you have a local React.js meetup? Add it here! (Please keep the list alphabet ## England (UK) {/*england-uk*/} * [Manchester](https://www.meetup.com/Manchester-React-User-Group/) * [React.JS Girls London](https://www.meetup.com/ReactJS-Girls-London/) -* [React London : Bring Your Own Project](https://www.meetup.com/React-London-Bring-Your-Own-Project/) +* [React Advanced London](https://guild.host/react-advanced-london) +* [React Native London](https://guild.host/RNLDN) ## France {/*france*/} * [Nantes](https://www.meetup.com/React-Nantes/) @@ -86,7 +87,7 @@ Do you have a local React.js meetup? Add it here! (Please keep the list alphabet * [Karlsruhe](https://www.meetup.com/react_ka/) * [Kiel](https://www.meetup.com/Kiel-React-Native-Meetup/) * [Munich](https://www.meetup.com/ReactJS-Meetup-Munich/) -* [React Berlin](https://www.meetup.com/React-Open-Source/) +* [React Berlin](https://guild.host/react-berlin) ## Greece {/*greece*/} * [Athens](https://www.meetup.com/React-To-React-Athens-MeetUp/) @@ -108,7 +109,7 @@ Do you have a local React.js meetup? Add it here! (Please keep the list alphabet * [Indonesia](https://www.meetup.com/reactindonesia/) ## Ireland {/*ireland*/} -* [Dublin](https://www.meetup.com/ReactJS-Dublin/) +* [Dublin](https://guild.host/reactjs-dublin) ## Israel {/*israel*/} * [Tel Aviv](https://www.meetup.com/ReactJS-Israel/) @@ -124,7 +125,7 @@ Do you have a local React.js meetup? Add it here! (Please keep the list alphabet * [Penang](https://www.facebook.com/groups/reactpenang/) ## Netherlands {/*netherlands*/} -* [Amsterdam](https://www.meetup.com/React-Amsterdam/) +* [Amsterdam](https://guild.host/react-amsterdam) ## New Zealand {/*new-zealand*/} * [Wellington](https://www.meetup.com/React-Wellington/) @@ -201,6 +202,7 @@ Do you have a local React.js meetup? Add it here! (Please keep the list alphabet * [New York, NY - React Ladies](https://www.meetup.com/React-Ladies/) * [New York, NY - React Native](https://www.meetup.com/React-Native-NYC/) * [New York, NY - useReactNYC](https://www.meetup.com/useReactNYC/) +* [New York, NY - React.NYC](https://guild.host/react-nyc) * [Omaha, NE - ReactJS/React Native](https://www.meetup.com/omaha-react-meetup-group/) * [Palo Alto, CA - React Native](https://www.meetup.com/React-Native-Silicon-Valley/) * [Philadelphia, PA - ReactJS](https://www.meetup.com/Reactadelphia/) From a3f5b133a18be27ddcc44189a0f39375744bd3df Mon Sep 17 00:00:00 2001 From: Zoey <38047633+zoephyr@users.noreply.github.com> Date: Thu, 11 Jan 2024 15:28:02 -0500 Subject: [PATCH 150/382] fix: Grammar in versioning-policy.md (#6539) Adds a missing word in the documentation describing canary versioning --- src/content/community/versioning-policy.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/community/versioning-policy.md b/src/content/community/versioning-policy.md index eb38f8c2..fad926c5 100644 --- a/src/content/community/versioning-policy.md +++ b/src/content/community/versioning-policy.md @@ -80,7 +80,7 @@ This section will be most relevant to developers who work on frameworks, librari Each of React's release channels is designed for a distinct use case: - [**Latest**](#latest-channel) is for stable, semver React releases. It's what you get when you install React from npm. This is the channel you're already using today. **User-facing applications that consume React directly use this channel.** -- [**Canary**](#canary-channel) tracks the main branch of the React source code repository. Think of these as release candidates for the next semver release. **[Frameworks or other curated setups may choose to use this channel with a pinned version of React.](/blog/2023/05/03/react-canaries) You can also Canaries for integration testing between React and third party projects.** +- [**Canary**](#canary-channel) tracks the main branch of the React source code repository. Think of these as release candidates for the next semver release. **[Frameworks or other curated setups may choose to use this channel with a pinned version of React.](/blog/2023/05/03/react-canaries) You can also use Canaries for integration testing between React and third party projects.** - [**Experimental**](#experimental-channel) includes experimental APIs and features that aren't available in the stable releases. These also track the main branch, but with additional feature flags turned on. Use this to try out upcoming features before they are released. All releases are published to npm, but only Latest uses semantic versioning. Prereleases (those in the Canary and Experimental channels) have versions generated from a hash of their contents and the commit date, e.g. `18.3.0-canary-388686f29-20230503` for Canary and `0.0.0-experimental-388686f29-20230503` for Experimental. From 097254168350cbb78d6a121653acfa278b84ab1a Mon Sep 17 00:00:00 2001 From: Ben Amor Aymen <aymenbenamor.bardo@gmail.com> Date: Fri, 12 Jan 2024 21:22:35 +0100 Subject: [PATCH 151/382] Add React Paris 2024 conference + React Brussels videos link (#6547) Co-authored-by: Aimen Ben Amor <aimen_ben_amor@epam.com> --- src/content/community/conferences.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/content/community/conferences.md b/src/content/community/conferences.md index b3d9603a..7e3f6672 100644 --- a/src/content/community/conferences.md +++ b/src/content/community/conferences.md @@ -10,6 +10,11 @@ Do you know of a local React.js conference? Add it here! (Please keep the list c ## Upcoming Conferences {/*upcoming-conferences*/} +### React Paris 2024 {/*react-paris-2024*/} +March 22, 2024. In-person in Paris, France + Remote (hybrid) + +[Website](https://react.paris/) - [Twitter](https://twitter.com/BeJS_) - [LinkedIn](https://www.linkedin.com/events/7150816372074192900/comments/) + ### App.js Conf 2024 {/*appjs-conf-2024*/} May 22 - 24, 2024. In-person in Kraków, Poland + remote @@ -55,7 +60,7 @@ October 20 & 23, 2023. In-person in London, UK + remote first interactivity (hyb ### React Brussels 2023 {/*react-brussels-2023*/} October 13th 2023. In-person in Brussels, Belgium + Remote (hybrid) -[Website](https://www.react.brussels/) - [Twitter](https://twitter.com/BrusselsReact) +[Website](https://www.react.brussels/) - [Twitter](https://twitter.com/BrusselsReact) - [Videos](https://www.youtube.com/playlist?list=PL53Z0yyYnpWh85KeMomUoVz8_brrmh_aC) ### React India 2023 {/*react-india-2023*/} October 5 - 7, 2023. In-person in Goa, India (hybrid event) + Oct 3 2023 - remote day From 6987f0fb30899e00f5adf6945088c3fa3492e452 Mon Sep 17 00:00:00 2001 From: Prajwal Kulkarni <prajwalkulkarni76@gmail.com> Date: Sat, 13 Jan 2024 02:45:04 +0530 Subject: [PATCH 152/382] Fix overflowing text content in footer link (#6519) * Fix overflowing text content in footer link Add an ellipsis to overflowing text in the footer section for navigating between different references. * Add min and max width to nextlink class * Add minwidth to tailwind config * Wrap string beyond max width * Remove title attribute from span element --- src/components/DocsFooter.tsx | 16 +++++++++------- tailwind.config.js | 5 +++++ 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/src/components/DocsFooter.tsx b/src/components/DocsFooter.tsx index 2fdbb046..5f2330e7 100644 --- a/src/components/DocsFooter.tsx +++ b/src/components/DocsFooter.tsx @@ -27,7 +27,7 @@ export const DocsPageFooter = memo<DocsPageFooterProps>( <> {prevRoute?.path || nextRoute?.path ? ( <> - <div className="max-w-7xl mx-auto grid grid-cols-1 md:grid-cols-2 gap-4 py-4 md:py-12"> + <div className="grid grid-cols-1 gap-4 py-4 mx-auto max-w-7xl md:grid-cols-2 md:py-12"> {prevRoute?.path ? ( <FooterLink type="Previous" @@ -69,21 +69,23 @@ function FooterLink({ <NextLink href={href} className={cn( - 'flex gap-x-4 md:gap-x-6 items-center w-full md:w-80 px-4 md:px-5 py-6 border-2 border-transparent text-base leading-base text-link dark:text-link-dark rounded-lg group focus:text-link dark:focus:text-link-dark focus:bg-highlight focus:border-link dark:focus:bg-highlight-dark dark:focus:border-link-dark focus:border-opacity-100 focus:border-2 focus:ring-1 focus:ring-offset-4 focus:ring-blue-40 active:ring-0 active:ring-offset-0 hover:bg-gray-5 dark:hover:bg-gray-80', + 'flex gap-x-4 md:gap-x-6 items-center w-full md:min-w-80 md:w-fit md:max-w-md px-4 md:px-5 py-6 border-2 border-transparent text-base leading-base text-link dark:text-link-dark rounded-lg group focus:text-link dark:focus:text-link-dark focus:bg-highlight focus:border-link dark:focus:bg-highlight-dark dark:focus:border-link-dark focus:border-opacity-100 focus:border-2 focus:ring-1 focus:ring-offset-4 focus:ring-blue-40 active:ring-0 active:ring-offset-0 hover:bg-gray-5 dark:hover:bg-gray-80', { 'flex-row-reverse justify-self-end text-end': type === 'Next', } )}> <IconNavArrow - className="text-tertiary dark:text-tertiary-dark inline group-focus:text-link dark:group-focus:text-link-dark" + className="inline text-tertiary dark:text-tertiary-dark group-focus:text-link dark:group-focus:text-link-dark" displayDirection={type === 'Previous' ? 'start' : 'end'} /> - <span> - <span className="block no-underline text-sm tracking-wide text-secondary dark:text-secondary-dark uppercase font-bold group-focus:text-link dark:group-focus:text-link-dark group-focus:text-opacity-100"> + <div className="flex flex-col overflow-hidden"> + <span className="text-sm font-bold tracking-wide no-underline uppercase text-secondary dark:text-secondary-dark group-focus:text-link dark:group-focus:text-link-dark group-focus:text-opacity-100"> {type} </span> - <span className="block text-lg group-hover:underline">{title}</span> - </span> + <span className="text-lg break-words group-hover:underline"> + {title} + </span> + </div> </NextLink> ); } diff --git a/tailwind.config.js b/tailwind.config.js index d528ff49..a9488ccc 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -57,8 +57,13 @@ module.exports = { 'meta-gradient-dark': "url('/images/meta-gradient-dark.png')", }, maxWidth: { + ...defaultTheme.maxWidth, xs: '21rem', }, + minWidth:{ + ...defaultTheme.minWidth, + 80: '20rem', + }, outline: { blue: ['1px auto ' + colors.link, '3px'], }, From 8d2664b8062a2eea1306e4b63dcecc0a17febe8c Mon Sep 17 00:00:00 2001 From: Sukka <isukkaw@gmail.com> Date: Sat, 13 Jan 2024 05:18:21 +0800 Subject: [PATCH 153/382] Feat: error-decoder (#6214) * Feat: port error-decoder * Fix: do not choke on empty invariant * Refactor: read url query from `useRouter` * Fix: argsList can contains `undefined` * Fix: handle empty string arg * Feat: move error decoder to the separate page * Fix: wrap error decoder header in <Intro /> * Perf: cache GitHub RAW requests * Refactor: apply code review suggestions * Fix: build error * Refactor: apply code review suggestions * Discard changes to src/content/index.md * Fix: animation duration/delay * Refactor: read error page from markdown * Fix lint * Fix /error being 404 * Prevent `_default.md` being included in `[[...markdownPath]].md` * Fix custom error markdown reading * Updates --------- Co-authored-by: Ricky Hanlon <rickhanlonii@gmail.com> --- src/components/ErrorDecoderContext.tsx | 23 ++++ src/components/MDX/ErrorDecoder.tsx | 107 +++++++++++++++++ src/components/MDX/MDXComponents.tsx | 3 + src/content/errors/377.md | 13 ++ src/content/errors/generic.md | 11 ++ src/content/errors/index.md | 10 ++ src/pages/[[...markdownPath]].js | 148 ++--------------------- src/pages/errors/[errorCode].tsx | 157 +++++++++++++++++++++++++ src/pages/errors/index.tsx | 3 + src/utils/compileMDX.ts | 153 ++++++++++++++++++++++++ tailwind.config.js | 11 ++ 11 files changed, 504 insertions(+), 135 deletions(-) create mode 100644 src/components/ErrorDecoderContext.tsx create mode 100644 src/components/MDX/ErrorDecoder.tsx create mode 100644 src/content/errors/377.md create mode 100644 src/content/errors/generic.md create mode 100644 src/content/errors/index.md create mode 100644 src/pages/errors/[errorCode].tsx create mode 100644 src/pages/errors/index.tsx create mode 100644 src/utils/compileMDX.ts diff --git a/src/components/ErrorDecoderContext.tsx b/src/components/ErrorDecoderContext.tsx new file mode 100644 index 00000000..080969ef --- /dev/null +++ b/src/components/ErrorDecoderContext.tsx @@ -0,0 +1,23 @@ +// Error Decoder requires reading pregenerated error message from getStaticProps, +// but MDX component doesn't support props. So we use React Context to populate +// the value without prop-drilling. +// TODO: Replace with React.cache + React.use when migrating to Next.js App Router + +import {createContext, useContext} from 'react'; + +const notInErrorDecoderContext = Symbol('not in error decoder context'); + +export const ErrorDecoderContext = createContext< + | {errorMessage: string | null; errorCode: string | null} + | typeof notInErrorDecoderContext +>(notInErrorDecoderContext); + +export const useErrorDecoderParams = () => { + const params = useContext(ErrorDecoderContext); + + if (params === notInErrorDecoderContext) { + throw new Error('useErrorDecoder must be used in error decoder pages only'); + } + + return params; +}; diff --git a/src/components/MDX/ErrorDecoder.tsx b/src/components/MDX/ErrorDecoder.tsx new file mode 100644 index 00000000..daa71328 --- /dev/null +++ b/src/components/MDX/ErrorDecoder.tsx @@ -0,0 +1,107 @@ +import {useEffect, useState} from 'react'; +import {useErrorDecoderParams} from '../ErrorDecoderContext'; +import cn from 'classnames'; + +function replaceArgs( + msg: string, + argList: Array<string | undefined>, + replacer = '[missing argument]' +): string { + let argIdx = 0; + return msg.replace(/%s/g, function () { + const arg = argList[argIdx++]; + // arg can be an empty string: ?args[0]=&args[1]=count + return arg === undefined || arg === '' ? replacer : arg; + }); +} + +/** + * Sindre Sorhus <https://sindresorhus.com> + * Released under MIT license + * https://github.com/sindresorhus/linkify-urls/blob/edd75a64a9c36d7025f102f666ddbb6cf0afa7cd/index.js#L4C25-L4C137 + * + * The regex is used to extract URL from the string for linkify. + */ +const urlRegex = + /((?<!\+)https?:\/\/(?:www\.)?(?:[-\w.]+?[.@][a-zA-Z\d]{2,}|localhost)(?:[-\w.:%+~#*$!?&/=@]*?(?:,(?!\s))*?)*)/g; + +// When the message contains a URL (like https://fb.me/react-refs-must-have-owner), +// make it a clickable link. +function urlify(str: string): React.ReactNode[] { + const segments = str.split(urlRegex); + + return segments.map((message, i) => { + if (i % 2 === 1) { + return ( + <a + key={i} + target="_blank" + className="underline" + rel="noopener noreferrer" + href={message}> + {message} + </a> + ); + } + return message; + }); +} + +// `?args[]=foo&args[]=bar` +// or `// ?args[0]=foo&args[1]=bar` +function parseQueryString(search: string): Array<string | undefined> { + const rawQueryString = search.substring(1); + if (!rawQueryString) { + return []; + } + + const args: Array<string | undefined> = []; + + const queries = rawQueryString.split('&'); + for (let i = 0; i < queries.length; i++) { + const query = decodeURIComponent(queries[i]); + if (query.startsWith('args[')) { + args.push(query.slice(query.indexOf(']=') + 2)); + } + } + + return args; +} + +export default function ErrorDecoder() { + const {errorMessage} = useErrorDecoderParams(); + /** error messages that contain %s require reading location.search */ + const hasParams = errorMessage?.includes('%s'); + const [message, setMessage] = useState<React.ReactNode | null>(() => + errorMessage ? urlify(errorMessage) : null + ); + + const [isReady, setIsReady] = useState(errorMessage == null || !hasParams); + + useEffect(() => { + if (errorMessage == null || !hasParams) { + return; + } + + setMessage( + urlify( + replaceArgs( + errorMessage, + parseQueryString(window.location.search), + '[missing argument]' + ) + ) + ); + setIsReady(true); + }, [hasParams, errorMessage]); + + return ( + <code + className={cn( + 'block bg-red-100 text-red-600 py-4 px-6 mt-5 rounded-lg', + isReady ? 'opacity-100' : 'opacity-0' + )}> + <b>{message}</b> + </code> + ); +} diff --git a/src/components/MDX/MDXComponents.tsx b/src/components/MDX/MDXComponents.tsx index 74ab788b..3528a9a1 100644 --- a/src/components/MDX/MDXComponents.tsx +++ b/src/components/MDX/MDXComponents.tsx @@ -31,6 +31,8 @@ import {TocContext} from './TocContext'; import type {Toc, TocItem} from './TocContext'; import {TeamMember} from './TeamMember'; +import ErrorDecoder from './ErrorDecoder'; + function CodeStep({children, step}: {children: any; step: number}) { return ( <span @@ -441,6 +443,7 @@ export const MDXComponents = { Solution, CodeStep, YouTubeIframe, + ErrorDecoder, }; for (let key in MDXComponents) { diff --git a/src/content/errors/377.md b/src/content/errors/377.md new file mode 100644 index 00000000..6269e9d0 --- /dev/null +++ b/src/content/errors/377.md @@ -0,0 +1,13 @@ +<Intro> + +In the minified production build of React, we avoid sending down full error messages in order to reduce the number of bytes sent over the wire. + +</Intro> + +We highly recommend using the development build locally when debugging your app since it tracks additional debug info and provides helpful warnings about potential problems in your apps, but if you encounter an exception while using the production build, this page will reassemble the original error message. + +The full text of the error you just encountered is: + +<ErrorDecoder /> + +This error occurs when you pass a BigInt value from a Server Component to a Client Component. diff --git a/src/content/errors/generic.md b/src/content/errors/generic.md new file mode 100644 index 00000000..27c3ca52 --- /dev/null +++ b/src/content/errors/generic.md @@ -0,0 +1,11 @@ +<Intro> + +In the minified production build of React, we avoid sending down full error messages in order to reduce the number of bytes sent over the wire. + +</Intro> + +We highly recommend using the development build locally when debugging your app since it tracks additional debug info and provides helpful warnings about potential problems in your apps, but if you encounter an exception while using the production build, this page will reassemble the original error message. + +The full text of the error you just encountered is: + +<ErrorDecoder /> diff --git a/src/content/errors/index.md b/src/content/errors/index.md new file mode 100644 index 00000000..25746d25 --- /dev/null +++ b/src/content/errors/index.md @@ -0,0 +1,10 @@ +<Intro> + +In the minified production build of React, we avoid sending down full error messages in order to reduce the number of bytes sent over the wire. + +</Intro> + + +We highly recommend using the development build locally when debugging your app since it tracks additional debug info and provides helpful warnings about potential problems in your apps, but if you encounter an exception while using the production build, the error message will include just a link to the docs for the error. + +For an example, see: [https://react.dev/errors/149](/errors/421). diff --git a/src/pages/[[...markdownPath]].js b/src/pages/[[...markdownPath]].js index d1df93d3..76532361 100644 --- a/src/pages/[[...markdownPath]].js +++ b/src/pages/[[...markdownPath]].js @@ -4,14 +4,14 @@ import {Fragment, useMemo} from 'react'; import {useRouter} from 'next/router'; -import {MDXComponents} from 'components/MDX/MDXComponents'; import {Page} from 'components/Layout/Page'; import sidebarHome from '../sidebarHome.json'; import sidebarLearn from '../sidebarLearn.json'; import sidebarReference from '../sidebarReference.json'; import sidebarCommunity from '../sidebarCommunity.json'; import sidebarBlog from '../sidebarBlog.json'; - +import {MDXComponents} from 'components/MDX/MDXComponents'; +import compileMDX from 'utils/compileMDX'; export default function Layout({content, toc, meta}) { const parsedContent = useMemo( () => JSON.parse(content, reviveNodeOnClient), @@ -94,20 +94,10 @@ function reviveNodeOnClient(key, val) { } } -// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -// ~~~~ IMPORTANT: BUMP THIS IF YOU CHANGE ANY CODE BELOW ~~~ -const DISK_CACHE_BREAKER = 7; -// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // Put MDX output into JSON for client. export async function getStaticProps(context) { const fs = require('fs'); - const { - prepareMDX, - PREPARE_MDX_CACHE_BREAKER, - } = require('../utils/prepareMDX'); const rootDir = process.cwd() + '/src/content/'; - const mdxComponentNames = Object.keys(MDXComponents); // Read MDX from the file. let path = (context.params.markdownPath || []).join('/') || 'index'; @@ -118,132 +108,14 @@ export async function getStaticProps(context) { mdx = fs.readFileSync(rootDir + path + '/index.md', 'utf8'); } - // See if we have a cached output first. - const {FileStore, stableHash} = require('metro-cache'); - const store = new FileStore({ - root: process.cwd() + '/node_modules/.cache/react-docs-mdx/', - }); - const hash = Buffer.from( - stableHash({ - // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // ~~~~ IMPORTANT: Everything that the code below may rely on. - // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - mdx, - mdxComponentNames, - DISK_CACHE_BREAKER, - PREPARE_MDX_CACHE_BREAKER, - lockfile: fs.readFileSync(process.cwd() + '/yarn.lock', 'utf8'), - }) - ); - const cached = await store.get(hash); - if (cached) { - console.log( - 'Reading compiled MDX for /' + path + ' from ./node_modules/.cache/' - ); - return cached; - } - if (process.env.NODE_ENV === 'production') { - console.log( - 'Cache miss for MDX for /' + path + ' from ./node_modules/.cache/' - ); - } - - // If we don't add these fake imports, the MDX compiler - // will insert a bunch of opaque components we can't introspect. - // This will break the prepareMDX() call below. - let mdxWithFakeImports = - mdx + - '\n\n' + - mdxComponentNames - .map((key) => 'import ' + key + ' from "' + key + '";\n') - .join('\n'); - - // Turn the MDX we just read into some JS we can execute. - const {remarkPlugins} = require('../../plugins/markdownToHtml'); - const {compile: compileMdx} = await import('@mdx-js/mdx'); - const visit = (await import('unist-util-visit')).default; - const jsxCode = await compileMdx(mdxWithFakeImports, { - remarkPlugins: [ - ...remarkPlugins, - (await import('remark-gfm')).default, - (await import('remark-frontmatter')).default, - ], - rehypePlugins: [ - // Support stuff like ```js App.js {1-5} active by passing it through. - function rehypeMetaAsAttributes() { - return (tree) => { - visit(tree, 'element', (node) => { - if (node.tagName === 'code' && node.data && node.data.meta) { - node.properties.meta = node.data.meta; - } - }); - }; - }, - ], - }); - const {transform} = require('@babel/core'); - const jsCode = await transform(jsxCode, { - plugins: ['@babel/plugin-transform-modules-commonjs'], - presets: ['@babel/preset-react'], - }).code; - - // Prepare environment for MDX. - let fakeExports = {}; - const fakeRequire = (name) => { - if (name === 'react/jsx-runtime') { - return require('react/jsx-runtime'); - } else { - // For each fake MDX import, give back the string component name. - // It will get serialized later. - return name; - } - }; - const evalJSCode = new Function('require', 'exports', jsCode); - // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - // THIS IS A BUILD-TIME EVAL. NEVER DO THIS WITH UNTRUSTED MDX (LIKE FROM CMS)!!! - // In this case it's okay because anyone who can edit our MDX can also edit this file. - evalJSCode(fakeRequire, fakeExports); - // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - const reactTree = fakeExports.default({}); - - // Pre-process MDX output and serialize it. - let {toc, children} = prepareMDX(reactTree.props.children); - if (path === 'index') { - toc = []; - } - - // Parse Frontmatter headers from MDX. - const fm = require('gray-matter'); - const meta = fm(mdx).data; - - const output = { + const {toc, content, meta} = await compileMDX(mdx, path, {}); + return { props: { - content: JSON.stringify(children, stringifyNodeOnServer), - toc: JSON.stringify(toc, stringifyNodeOnServer), + toc, + content, meta, }, }; - - // Serialize a server React tree node to JSON. - function stringifyNodeOnServer(key, val) { - if (val != null && val.$$typeof === Symbol.for('react.element')) { - // Remove fake MDX props. - // eslint-disable-next-line @typescript-eslint/no-unused-vars - const {mdxType, originalType, parentName, ...cleanProps} = val.props; - return [ - '$r', - typeof val.type === 'string' ? val.type : mdxType, - val.key, - cleanProps, - ]; - } else { - return val; - } - } - - // Cache it on the disk. - await store.set(hash, output); - return output; } // Collect all MDX files for static generation. @@ -266,7 +138,12 @@ export async function getStaticPaths() { : res.slice(rootDir.length + 1); }) ); - return files.flat().filter((file) => file.endsWith('.md')); + return ( + files + .flat() + // ignores `errors/*.md`, they will be handled by `pages/errors/[errorCode].tsx` + .filter((file) => file.endsWith('.md') && !file.startsWith('errors/')) + ); } // 'foo/bar/baz.md' -> ['foo', 'bar', 'baz'] @@ -280,6 +157,7 @@ export async function getStaticPaths() { } const files = await getFiles(rootDir); + const paths = files.map((file) => ({ params: { markdownPath: getSegments(file), diff --git a/src/pages/errors/[errorCode].tsx b/src/pages/errors/[errorCode].tsx new file mode 100644 index 00000000..f1a54a3d --- /dev/null +++ b/src/pages/errors/[errorCode].tsx @@ -0,0 +1,157 @@ +import {Fragment, useMemo} from 'react'; +import {Page} from 'components/Layout/Page'; +import {MDXComponents} from 'components/MDX/MDXComponents'; +import sidebarLearn from 'sidebarLearn.json'; +import type {RouteItem} from 'components/Layout/getRouteMeta'; +import {GetStaticPaths, GetStaticProps, InferGetStaticPropsType} from 'next'; +import {ErrorDecoderContext} from 'components/ErrorDecoderContext'; +import compileMDX from 'utils/compileMDX'; + +interface ErrorDecoderProps { + errorCode: string | null; + errorMessage: string | null; + content: string; + toc: string; + meta: any; +} + +export default function ErrorDecoderPage({ + errorMessage, + errorCode, + content, +}: InferGetStaticPropsType<typeof getStaticProps>) { + const parsedContent = useMemo<React.ReactNode>( + () => JSON.parse(content, reviveNodeOnClient), + [content] + ); + + return ( + <ErrorDecoderContext.Provider value={{errorMessage, errorCode}}> + <Page + toc={[]} + meta={{ + title: errorCode + ? `Minified React error #${errorCode}` + : 'Minified Error Decoder', + }} + routeTree={sidebarLearn as RouteItem} + section="unknown"> + {parsedContent} + {/* <MaxWidth> + <P> + We highly recommend using the development build locally when debugging + your app since it tracks additional debug info and provides helpful + warnings about potential problems in your apps, but if you encounter + an exception while using the production build, this page will + reassemble the original error message. + </P> + <ErrorDecoder /> + </MaxWidth> */} + </Page> + </ErrorDecoderContext.Provider> + ); +} + +// Deserialize a client React tree from JSON. +function reviveNodeOnClient(key: unknown, val: any) { + if (Array.isArray(val) && val[0] == '$r') { + // Assume it's a React element. + let type = val[1]; + let key = val[2]; + let props = val[3]; + if (type === 'wrapper') { + type = Fragment; + props = {children: props.children}; + } + if (type in MDXComponents) { + type = MDXComponents[type as keyof typeof MDXComponents]; + } + if (!type) { + console.error('Unknown type: ' + type); + type = Fragment; + } + return { + $$typeof: Symbol.for('react.element'), + type: type, + key: key, + ref: null, + props: props, + _owner: null, + }; + } else { + return val; + } +} + +/** + * Next.js Page Router doesn't have a way to cache specific data fetching request. + * But since Next.js uses limited number of workers, keep "cachedErrorCodes" as a + * module level memory cache can reduce the number of requests down to once per worker. + * + * TODO: use `next/unstable_cache` when migrating to Next.js App Router + */ +let cachedErrorCodes: Record<string, string> | null = null; + +export const getStaticProps: GetStaticProps<ErrorDecoderProps> = async ({ + params, +}) => { + const errorCodes: {[key: string]: string} = (cachedErrorCodes ||= await ( + await fetch( + 'https://raw.githubusercontent.com/facebook/react/main/scripts/error-codes/codes.json' + ) + ).json()); + + const code = typeof params?.errorCode === 'string' ? params?.errorCode : null; + if (code && !errorCodes[code]) { + return { + notFound: true, + }; + } + + const fs = require('fs'); + const rootDir = process.cwd() + '/src/content/errors'; + + // Read MDX from the file. + let path = params?.errorCode || 'index'; + let mdx; + try { + mdx = fs.readFileSync(rootDir + '/' + path + '.md', 'utf8'); + } catch { + // if [errorCode].md is not found, fallback to generic.md + mdx = fs.readFileSync(rootDir + '/generic.md', 'utf8'); + } + + const {content, toc, meta} = await compileMDX(mdx, path, {code, errorCodes}); + + return { + props: { + content, + toc, + meta, + errorCode: code, + errorMessage: code ? errorCodes[code] : null, + }, + }; +}; + +export const getStaticPaths: GetStaticPaths = async () => { + /** + * Fetch error codes from GitHub + */ + const errorCodes = (cachedErrorCodes ||= await ( + await fetch( + 'https://raw.githubusercontent.com/facebook/react/main/scripts/error-codes/codes.json' + ) + ).json()); + + const paths = Object.keys(errorCodes).map((code) => ({ + params: { + errorCode: code, + }, + })); + + return { + paths, + fallback: 'blocking', + }; +}; diff --git a/src/pages/errors/index.tsx b/src/pages/errors/index.tsx new file mode 100644 index 00000000..d7742f03 --- /dev/null +++ b/src/pages/errors/index.tsx @@ -0,0 +1,3 @@ +import ErrorDecoderPage from './[errorCode]'; +export default ErrorDecoderPage; +export {getStaticProps} from './[errorCode]'; diff --git a/src/utils/compileMDX.ts b/src/utils/compileMDX.ts new file mode 100644 index 00000000..5f54d12b --- /dev/null +++ b/src/utils/compileMDX.ts @@ -0,0 +1,153 @@ +import {MDXComponents} from 'components/MDX/MDXComponents'; + +// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// ~~~~ IMPORTANT: BUMP THIS IF YOU CHANGE ANY CODE BELOW ~~~ +const DISK_CACHE_BREAKER = 8; +// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +export default async function compileMDX( + mdx: string, + path: string | string[], + params: {[key: string]: any} +): Promise<{content: string; toc: string; meta: any}> { + const fs = require('fs'); + const { + prepareMDX, + PREPARE_MDX_CACHE_BREAKER, + } = require('../utils/prepareMDX'); + const mdxComponentNames = Object.keys(MDXComponents); + + // See if we have a cached output first. + const {FileStore, stableHash} = require('metro-cache'); + const store = new FileStore({ + root: process.cwd() + '/node_modules/.cache/react-docs-mdx/', + }); + const hash = Buffer.from( + stableHash({ + // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + // ~~~~ IMPORTANT: Everything that the code below may rely on. + // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + mdx, + ...params, + mdxComponentNames, + DISK_CACHE_BREAKER, + PREPARE_MDX_CACHE_BREAKER, + lockfile: fs.readFileSync(process.cwd() + '/yarn.lock', 'utf8'), + }) + ); + const cached = await store.get(hash); + if (cached) { + console.log( + 'Reading compiled MDX for /' + path + ' from ./node_modules/.cache/' + ); + return cached; + } + if (process.env.NODE_ENV === 'production') { + console.log( + 'Cache miss for MDX for /' + path + ' from ./node_modules/.cache/' + ); + } + + // If we don't add these fake imports, the MDX compiler + // will insert a bunch of opaque components we can't introspect. + // This will break the prepareMDX() call below. + let mdxWithFakeImports = + mdx + + '\n\n' + + mdxComponentNames + .map((key) => 'import ' + key + ' from "' + key + '";\n') + .join('\n'); + + // Turn the MDX we just read into some JS we can execute. + const {remarkPlugins} = require('../../plugins/markdownToHtml'); + const {compile: compileMdx} = await import('@mdx-js/mdx'); + const visit = (await import('unist-util-visit')).default; + const jsxCode = await compileMdx(mdxWithFakeImports, { + remarkPlugins: [ + ...remarkPlugins, + (await import('remark-gfm')).default, + (await import('remark-frontmatter')).default, + ], + rehypePlugins: [ + // Support stuff like ```js App.js {1-5} active by passing it through. + function rehypeMetaAsAttributes() { + return (tree) => { + visit(tree, 'element', (node) => { + if ( + // @ts-expect-error -- tagName is a valid property + node.tagName === 'code' && + node.data && + node.data.meta + ) { + // @ts-expect-error -- properties is a valid property + node.properties.meta = node.data.meta; + } + }); + }; + }, + ], + }); + const {transform} = require('@babel/core'); + const jsCode = await transform(jsxCode, { + plugins: ['@babel/plugin-transform-modules-commonjs'], + presets: ['@babel/preset-react'], + }).code; + + // Prepare environment for MDX. + let fakeExports = {}; + const fakeRequire = (name: string) => { + if (name === 'react/jsx-runtime') { + return require('react/jsx-runtime'); + } else { + // For each fake MDX import, give back the string component name. + // It will get serialized later. + return name; + } + }; + const evalJSCode = new Function('require', 'exports', jsCode); + // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + // THIS IS A BUILD-TIME EVAL. NEVER DO THIS WITH UNTRUSTED MDX (LIKE FROM CMS)!!! + // In this case it's okay because anyone who can edit our MDX can also edit this file. + evalJSCode(fakeRequire, fakeExports); + // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + // @ts-expect-error -- default exports is existed after eval + const reactTree = fakeExports.default({}); + + // Pre-process MDX output and serialize it. + let {toc, children} = prepareMDX(reactTree.props.children); + if (path === 'index') { + toc = []; + } + + // Parse Frontmatter headers from MDX. + const fm = require('gray-matter'); + const meta = fm(mdx).data; + + const output = { + content: JSON.stringify(children, stringifyNodeOnServer), + toc: JSON.stringify(toc, stringifyNodeOnServer), + meta, + }; + + // Serialize a server React tree node to JSON. + function stringifyNodeOnServer(key: unknown, val: any) { + if (val != null && val.$$typeof === Symbol.for('react.element')) { + // Remove fake MDX props. + // eslint-disable-next-line @typescript-eslint/no-unused-vars + const {mdxType, originalType, parentName, ...cleanProps} = val.props; + return [ + '$r', + typeof val.type === 'string' ? val.type : mdxType, + val.key, + cleanProps, + ]; + } else { + return val; + } + } + + // Cache it on the disk. + await store.set(hash, output); + return output; +} diff --git a/tailwind.config.js b/tailwind.config.js index a9488ccc..cf34559b 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -106,6 +106,7 @@ module.exports = { marquee2: 'marquee2 40s linear infinite', 'large-marquee': 'large-marquee 80s linear infinite', 'large-marquee2': 'large-marquee2 80s linear infinite', + 'fade-up': 'fade-up 1s 100ms both', }, keyframes: { shimmer: { @@ -143,6 +144,16 @@ module.exports = { '0%': {transform: 'translateX(200%)'}, '100%': {transform: 'translateX(0%)'}, }, + 'fade-up': { + '0%': { + opacity: '0', + transform: 'translateY(2rem)', + }, + '100%': { + opacity: '1', + transform: 'translateY(0)', + }, + }, }, colors, gridTemplateColumns: { From df8f301c2bc78f80244453c86b6b815a184e0c38 Mon Sep 17 00:00:00 2001 From: Bartosz Klonowski <70535775+BartoszKlonowski@users.noreply.github.com> Date: Sat, 13 Jan 2024 00:43:55 +0100 Subject: [PATCH 154/382] Use 'trim()' method in `useContext` page to prevent form from accepting whitespaces (#6549) --- src/content/reference/react/useContext.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/reference/react/useContext.md b/src/content/reference/react/useContext.md index bba445d0..ce06e703 100644 --- a/src/content/reference/react/useContext.md +++ b/src/content/reference/react/useContext.md @@ -457,7 +457,7 @@ function LoginForm() { const {setCurrentUser} = useContext(CurrentUserContext); const [firstName, setFirstName] = useState(''); const [lastName, setLastName] = useState(''); - const canLogin = firstName !== '' && lastName !== ''; + const canLogin = firstName.trim() !== '' && lastName.trim() !== ''; return ( <> <label> From 6bfde58c109ec86fd6c5767421404cb679ffba9a Mon Sep 17 00:00:00 2001 From: Alen Ajam <alen.ajam@live.com> Date: Sun, 14 Jan 2024 05:41:17 +0100 Subject: [PATCH 155/382] docs: fix grammar (#6465) --- src/content/reference/react-dom/components/form.md | 6 +++--- src/content/reference/react-dom/components/input.md | 2 +- src/content/reference/react-dom/hooks/useFormState.md | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/content/reference/react-dom/components/form.md b/src/content/reference/react-dom/components/form.md index 7a4b26b3..4b7d5d8a 100644 --- a/src/content/reference/react-dom/components/form.md +++ b/src/content/reference/react-dom/components/form.md @@ -5,7 +5,7 @@ canary: true <Canary> -React's extensions to `<form>` are currently only available in React's canary and experimental channels. In stable releases of React `<form>` works only as a [built-in browser HTML component](https://react.dev/reference/react-dom/components#all-html-components). Learn more about [React's release channels here](/community/versioning-policy#all-release-channels). +React's extensions to `<form>` are currently only available in React's canary and experimental channels. In stable releases of React, `<form>` works only as a [built-in browser HTML component](https://react.dev/reference/react-dom/components#all-html-components). Learn more about [React's release channels here](/community/versioning-policy#all-release-channels). </Canary> @@ -118,7 +118,7 @@ function AddToCart({productId}) { } ``` -In lieu of using hidden form fields to provide data to the `<form>`'s action, you can call the <CodeStep step={1}>`bind`</CodeStep> method to supply it with extra arguments. This will bind a new argument (<CodeStep step={2}>`productId`</CodeStep>) to the function in addition to the <CodeStep step={3}>`formData`</CodeStep> that is passed as a argument to the function. +In lieu of using hidden form fields to provide data to the `<form>`'s action, you can call the <CodeStep step={1}>`bind`</CodeStep> method to supply it with extra arguments. This will bind a new argument (<CodeStep step={2}>`productId`</CodeStep>) to the function in addition to the <CodeStep step={3}>`formData`</CodeStep> that is passed as an argument to the function. ```jsx [[1, 8, "bind"], [2,8, "productId"], [2,4, "productId"], [3,4, "formData"]] import { updateCart } from './lib.js'; @@ -278,7 +278,7 @@ export async function deliverMessage(message) { ### Handling form submission errors {/*handling-form-submission-errors*/} -In some cases the function called by a `<form>`'s `action` prop throw an error. You can handle these errors by wrapping `<form>` in an Error Boundary. If the function called by a `<form>`'s `action` prop throws an error, the fallback for the error boundary will be displayed. +In some cases the function called by a `<form>`'s `action` prop throws an error. You can handle these errors by wrapping `<form>` in an Error Boundary. If the function called by a `<form>`'s `action` prop throws an error, the fallback for the error boundary will be displayed. <Sandpack> diff --git a/src/content/reference/react-dom/components/input.md b/src/content/reference/react-dom/components/input.md index f5685aa6..36452de9 100644 --- a/src/content/reference/react-dom/components/input.md +++ b/src/content/reference/react-dom/components/input.md @@ -34,7 +34,7 @@ To display an input, render the [built-in browser `<input>`](https://developer.m <Canary> -React's extensions to the `formAction` prop are currently only available in React's Canary and experimental channels. In stable releases of React `formAction` works only as a [built-in browser HTML component](https://react.dev/reference/react-dom/components#all-html-components). Learn more about [React's release channels here](/community/versioning-policy#all-release-channels). +React's extensions to the `formAction` prop are currently only available in React's Canary and experimental channels. In stable releases of React, `formAction` works only as a [built-in browser HTML component](https://react.dev/reference/react-dom/components#all-html-components). Learn more about [React's release channels here](/community/versioning-policy#all-release-channels). </Canary> [`formAction`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#formaction): A string or function. Overrides the parent `<form action>` for `type="submit"` and `type="image"`. When a URL is passed to `action` the form will behave like a standard HTML form. When a function is passed to `formAction` the function will handle the form submission. See [`<form action>`](/reference/react-dom/components/form#props). diff --git a/src/content/reference/react-dom/hooks/useFormState.md b/src/content/reference/react-dom/hooks/useFormState.md index bcd43170..8384fcbd 100644 --- a/src/content/reference/react-dom/hooks/useFormState.md +++ b/src/content/reference/react-dom/hooks/useFormState.md @@ -104,7 +104,7 @@ function MyComponent() { When the form is submitted, the <CodeStep step={3}>action</CodeStep> function that you provided will be called. Its return value will become the new <CodeStep step={1}>current state</CodeStep> of the form. -The <CodeStep step={3}>action</CodeStep> that you provide will also receive a new first argument, namely the <CodeStep step={1}>current state</CodeStep> of the form. The first time the form is submitted, this will be the <CodeStep step={4}>initial state</CodeStep> you provided, while with subsequent submissions, it will be the return value from the last time the action was called. The rest of the arguments are the same as if `useFormState` had not been used +The <CodeStep step={3}>action</CodeStep> that you provide will also receive a new first argument, namely the <CodeStep step={1}>current state</CodeStep> of the form. The first time the form is submitted, this will be the <CodeStep step={4}>initial state</CodeStep> you provided, while with subsequent submissions, it will be the return value from the last time the action was called. The rest of the arguments are the same as if `useFormState` had not been used. ```js [[3, 1, "action"], [1, 1, "currentState"]] function action(currentState, formData) { From 7a15e96aef441e01b0c3f43be5b2d94be57590c8 Mon Sep 17 00:00:00 2001 From: Jamie Kyle <me@thejameskyle.com> Date: Wed, 17 Jan 2024 17:51:27 -0800 Subject: [PATCH 156/382] Fix async-await syntax (#6554) --- src/content/reference/react/use.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/reference/react/use.md b/src/content/reference/react/use.md index 1cf73b7b..92b3cabc 100644 --- a/src/content/reference/react/use.md +++ b/src/content/reference/react/use.md @@ -337,7 +337,7 @@ When passing a Promise from a Server Component to a Client Component, its resolv A Promise can be passed from a Server Component to a Client Component and resolved in the Client Component with the `use` Hook. You can also resolve the Promise in a Server Component with `await` and pass the required data to the Client Component as a prop. ```js -export default function App() { +export default async function App() { const messageContent = await fetchMessage(); return <Message messageContent={messageContent} /> } From 9c316b206fefff546d9e302fd951926768be2fe4 Mon Sep 17 00:00:00 2001 From: Prajwal Kulkarni <prajwalkulkarni76@gmail.com> Date: Thu, 18 Jan 2024 07:29:40 +0530 Subject: [PATCH 157/382] Upgrade tailwind version (#6550) * Fix overflowing text content in footer link Add an ellipsis to overflowing text in the footer section for navigating between different references. * Add min and max width to nextlink class * Add minwidth to tailwind config * Wrap string beyond max width * Remove title attribute from span element * Upgrade tailwind to 3.4.1 * Remove manual width config from minWidth * Remove minWidth from tailwind config and preserve default value of min-w-xs --- package.json | 2 +- src/components/Layout/Feedback.tsx | 8 ++-- src/components/Layout/Page.tsx | 16 ++++---- .../Layout/SidebarNav/SidebarNav.tsx | 4 +- src/components/Layout/TopNav/TopNav.tsx | 30 +++++++-------- tailwind.config.js | 6 +-- yarn.lock | 37 +++++++++---------- 7 files changed, 49 insertions(+), 54 deletions(-) diff --git a/package.json b/package.json index b5e07d70..f75ffbb2 100644 --- a/package.json +++ b/package.json @@ -91,7 +91,7 @@ "retext": "^7.0.1", "retext-smartypants": "^4.0.0", "rss": "^1.2.2", - "tailwindcss": "^3.3.2", + "tailwindcss": "^3.4.1", "typescript": "^4.0.2", "unist-util-visit": "^2.0.3", "webpack-bundle-analyzer": "^4.5.0" diff --git a/src/components/Layout/Feedback.tsx b/src/components/Layout/Feedback.tsx index 0bdbc6b7..34db728c 100644 --- a/src/components/Layout/Feedback.tsx +++ b/src/components/Layout/Feedback.tsx @@ -63,16 +63,16 @@ function SendFeedback({onSubmit}: {onSubmit: () => void}) { return ( <div className={cn( - 'max-w-xs w-80 lg:w-auto py-3 shadow-lg rounded-lg m-4 bg-wash dark:bg-gray-95 px-4 flex', + 'max-w-custom-xs w-80 lg:w-auto py-3 shadow-lg rounded-lg m-4 bg-wash dark:bg-gray-95 px-4 flex', {exit: isSubmitted} )}> - <p className="w-full font-bold text-primary dark:text-primary-dark text-lg me-4"> + <p className="w-full text-lg font-bold text-primary dark:text-primary-dark me-4"> {isSubmitted ? 'Thank you for your feedback!' : 'Is this page useful?'} </p> {!isSubmitted && ( <button aria-label="Yes" - className="bg-secondary-button dark:bg-secondary-button-dark rounded-lg text-primary dark:text-primary-dark px-3 me-2" + className="px-3 rounded-lg bg-secondary-button dark:bg-secondary-button-dark text-primary dark:text-primary-dark me-2" onClick={() => { setIsSubmitted(true); onSubmit(); @@ -84,7 +84,7 @@ function SendFeedback({onSubmit}: {onSubmit: () => void}) { {!isSubmitted && ( <button aria-label="No" - className="bg-secondary-button dark:bg-secondary-button-dark rounded-lg text-primary dark:text-primary-dark px-3" + className="px-3 rounded-lg bg-secondary-button dark:bg-secondary-button-dark text-primary dark:text-primary-dark" onClick={() => { setIsSubmitted(true); onSubmit(); diff --git a/src/components/Layout/Page.tsx b/src/components/Layout/Page.tsx index 04876bab..5194279c 100644 --- a/src/components/Layout/Page.tsx +++ b/src/components/Layout/Page.tsx @@ -130,7 +130,7 @@ export function Page({children, toc, routeTree, meta, section}: PageProps) { )}> {showSidebar && ( <div className="lg:-mt-16"> - <div className="lg:pt-16 fixed lg:sticky top-0 start-0 end-0 py-0 shadow lg:shadow-none"> + <div className="fixed top-0 py-0 shadow lg:pt-16 lg:sticky start-0 end-0 lg:shadow-none"> <SidebarNav key={section} routeTree={routeTree} @@ -143,7 +143,7 @@ export function Page({children, toc, routeTree, meta, section}: PageProps) { <Suspense fallback={null}> <main className="min-w-0 isolate"> <article - className="break-words font-normal text-primary dark:text-primary-dark" + className="font-normal break-words text-primary dark:text-primary-dark" key={asPath}> {content} </article> @@ -153,14 +153,14 @@ export function Page({children, toc, routeTree, meta, section}: PageProps) { isHomePage && 'bg-wash dark:bg-gray-95 mt-[-1px]' )}> {!isHomePage && ( - <div className="mx-auto w-full px-5 sm:px-12 md:px-12 pt-10 md:pt-12 lg:pt-10"> + <div className="w-full px-5 pt-10 mx-auto sm:px-12 md:px-12 md:pt-12 lg:pt-10"> { - <hr className="max-w-7xl mx-auto border-border dark:border-border-dark" /> + <hr className="mx-auto max-w-7xl border-border dark:border-border-dark" /> } {showSurvey && ( <> - <div className="flex flex-col items-center m-4 p-4"> - <p className="font-bold text-primary dark:text-primary-dark text-lg mb-4"> + <div className="flex flex-col items-center p-4 m-4"> + <p className="mb-4 text-lg font-bold text-primary dark:text-primary-dark"> How do you like these docs? </p> <div> @@ -178,7 +178,7 @@ export function Page({children, toc, routeTree, meta, section}: PageProps) { </ButtonLink> </div> </div> - <hr className="max-w-7xl mx-auto border-border dark:border-border-dark" /> + <hr className="mx-auto max-w-7xl border-border dark:border-border-dark" /> </> )} </div> @@ -193,7 +193,7 @@ export function Page({children, toc, routeTree, meta, section}: PageProps) { </div> </main> </Suspense> - <div className="-mt-16 hidden lg:max-w-xs 2xl:block"> + <div className="hidden -mt-16 lg:max-w-custom-xs 2xl:block"> {showToc && toc.length > 0 && <Toc headings={toc} key={asPath} />} </div> </div> diff --git a/src/components/Layout/SidebarNav/SidebarNav.tsx b/src/components/Layout/SidebarNav/SidebarNav.tsx index 702ff5b5..17127096 100644 --- a/src/components/Layout/SidebarNav/SidebarNav.tsx +++ b/src/components/Layout/SidebarNav/SidebarNav.tsx @@ -40,12 +40,12 @@ export default function SidebarNav({ }}> <aside className={cn( - `lg:grow flex-col w-full pb-8 lg:pb-0 lg:max-w-xs z-10 hidden lg:block` + `lg:grow flex-col w-full pb-8 lg:pb-0 lg:max-w-custom-xs z-10 hidden lg:block` )}> <nav role="navigation" style={{'--bg-opacity': '.2'} as React.CSSProperties} // Need to cast here because CSS vars aren't considered valid in TS types (cuz they could be anything) - className="w-full lg:h-auto grow pe-0 lg:pe-5 pt-6 lg:pb-16 md:pt-4 lg:pt-4 scrolling-touch scrolling-gpu"> + className="w-full pt-6 scrolling-touch lg:h-auto grow pe-0 lg:pe-5 lg:pb-16 md:pt-4 lg:pt-4 scrolling-gpu"> {/* No fallback UI so need to be careful not to suspend directly inside. */} <Suspense fallback={null}> <SidebarRouteTree diff --git a/src/components/Layout/TopNav/TopNav.tsx b/src/components/Layout/TopNav/TopNav.tsx index 75995957..b6e276ff 100644 --- a/src/components/Layout/TopNav/TopNav.tsx +++ b/src/components/Layout/TopNav/TopNav.tsx @@ -97,7 +97,7 @@ function Link({ return ( <NextLink href={`${href}`} - className="inline text-primary dark:text-primary-dark hover:text-link hover:dark:text-link-dark border-b border-link border-opacity-0 hover:border-opacity-100 duration-100 ease-in transition leading-normal" + className="inline leading-normal transition duration-100 ease-in border-b border-opacity-0 text-primary dark:text-primary-dark hover:text-link hover:dark:text-link-dark border-link hover:border-opacity-100" {...props}> {children} </NextLink> @@ -233,8 +233,8 @@ export default function TopNav({ 'duration-300 backdrop-filter backdrop-blur-lg backdrop-saturate-200 transition-shadow bg-opacity-90 items-center w-full flex justify-between bg-wash dark:bg-wash-dark dark:bg-opacity-95 px-1.5 lg:pe-5 lg:ps-4 z-50', {'dark:shadow-nav-dark shadow-nav': isScrolled || isOpen} )}> - <div className="h-16 w-full gap-0 sm:gap-3 flex items-center justify-between"> - <div className="3xl:flex-1 flex flex-row "> + <div className="flex items-center justify-between w-full h-16 gap-0 sm:gap-3"> + <div className="flex flex-row 3xl:flex-1 "> <button type="button" aria-label="Menu" @@ -247,7 +247,7 @@ export default function TopNav({ )}> {isOpen ? <IconClose /> : <IconHamburger />} </button> - <div className="3xl:flex-1 flex align-center"> + <div className="flex 3xl:flex-1 align-center"> <NextLink href="/" className={`active:scale-95 overflow-hidden transition-transform relative items-center text-primary dark:text-primary-dark p-1 whitespace-nowrap outline-link rounded-full 3xl:rounded-xl inline-flex text-lg font-normal gap-2`}> @@ -260,16 +260,16 @@ export default function TopNav({ </NextLink> </div> </div> - <div className="hidden md:flex flex-1 justify-center items-center w-full 3xl:w-auto 3xl:shrink-0 3xl:justify-center"> + <div className="items-center justify-center flex-1 hidden w-full md:flex 3xl:w-auto 3xl:shrink-0 3xl:justify-center"> <button type="button" className={cn( 'flex 3xl:w-[56rem] 3xl:mx-0 relative ps-4 pe-1 py-1 h-10 bg-gray-30/20 dark:bg-gray-40/20 outline-none focus:outline-link betterhover:hover:bg-opacity-80 pointer items-center text-start w-full text-gray-30 rounded-full align-middle text-base' )} onClick={onOpenSearch}> - <IconSearch className="me-3 align-middle text-gray-30 shrink-0 group-betterhover:hover:text-gray-70" /> + <IconSearch className="align-middle me-3 text-gray-30 shrink-0 group-betterhover:hover:text-gray-70" /> Search - <span className="ms-auto hidden sm:flex item-center me-1"> + <span className="hidden ms-auto sm:flex item-center me-1"> <Kbd data-platform="mac">⌘</Kbd> <Kbd data-platform="win" wide> Ctrl @@ -301,9 +301,9 @@ export default function TopNav({ <button aria-label="Search" type="button" - className="active:scale-95 transition-transform flex md:hidden w-12 h-12 rounded-full items-center justify-center hover:bg-secondary-button hover:dark:bg-secondary-button-dark outline-link" + className="flex items-center justify-center w-12 h-12 transition-transform rounded-full active:scale-95 md:hidden hover:bg-secondary-button hover:dark:bg-secondary-button-dark outline-link" onClick={onOpenSearch}> - <IconSearch className="align-middle w-5 h-5" /> + <IconSearch className="w-5 h-5 align-middle" /> </button> </div> <div className="flex dark:hidden"> @@ -313,7 +313,7 @@ export default function TopNav({ onClick={() => { window.__setPreferredTheme('dark'); }} - className="active:scale-95 transition-transform flex w-12 h-12 rounded-full items-center justify-center hover:bg-primary/5 hover:dark:bg-primary-dark/5 outline-link"> + className="flex items-center justify-center w-12 h-12 transition-transform rounded-full active:scale-95 hover:bg-primary/5 hover:dark:bg-primary-dark/5 outline-link"> {darkIcon} </button> </div> @@ -324,7 +324,7 @@ export default function TopNav({ onClick={() => { window.__setPreferredTheme('light'); }} - className="active:scale-95 transition-transform flex w-12 h-12 rounded-full items-center justify-center hover:bg-primary/5 hover:dark:bg-primary-dark/5 outline-link"> + className="flex items-center justify-center w-12 h-12 transition-transform rounded-full active:scale-95 hover:bg-primary/5 hover:dark:bg-primary-dark/5 outline-link"> {lightIcon} </button> </div> @@ -334,7 +334,7 @@ export default function TopNav({ target="_blank" rel="noreferrer noopener" aria-label="Open on GitHub" - className="active:scale-95 transition-transform flex w-12 h-12 rounded-full items-center justify-center hover:bg-primary/5 hover:dark:bg-primary-dark/5 outline-link"> + className="flex items-center justify-center w-12 h-12 transition-transform rounded-full active:scale-95 hover:bg-primary/5 hover:dark:bg-primary-dark/5 outline-link"> {githubIcon} </Link> </div> @@ -349,13 +349,13 @@ export default function TopNav({ className="overflow-y-scroll isolate no-bg-scrollbar lg:w-[342px] grow bg-wash dark:bg-wash-dark"> <aside className={cn( - `lg:grow lg:flex flex-col w-full pb-8 lg:pb-0 lg:max-w-xs z-50`, + `lg:grow lg:flex flex-col w-full pb-8 lg:pb-0 lg:max-w-custom-xs z-50`, isOpen ? 'block z-40' : 'hidden lg:block' )}> <nav role="navigation" style={{'--bg-opacity': '.2'} as React.CSSProperties} // Need to cast here because CSS vars aren't considered valid in TS types (cuz they could be anything) - className="w-full lg:h-auto grow pe-0 lg:pe-5 pt-4 lg:py-6 md:pt-4 lg:pt-4 scrolling-touch scrolling-gpu"> + className="w-full pt-4 scrolling-touch lg:h-auto grow pe-0 lg:pe-5 lg:py-6 md:pt-4 lg:pt-4 scrolling-gpu"> {/* No fallback UI so need to be careful not to suspend directly inside. */} <Suspense fallback={null}> <div className="ps-3 xs:ps-5 xs:gap-0.5 xs:text-base overflow-x-auto flex flex-row lg:hidden text-base font-bold text-secondary dark:text-secondary-dark"> @@ -378,7 +378,7 @@ export default function TopNav({ </div> <div role="separator" - className="ms-5 mt-4 mb-2 border-b border-border dark:border-border-dark" + className="mt-4 mb-2 border-b ms-5 border-border dark:border-border-dark" /> <SidebarRouteTree // Don't share state between the desktop and mobile versions. diff --git a/tailwind.config.js b/tailwind.config.js index cf34559b..f31a2451 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -58,11 +58,7 @@ module.exports = { }, maxWidth: { ...defaultTheme.maxWidth, - xs: '21rem', - }, - minWidth:{ - ...defaultTheme.minWidth, - 80: '20rem', + 'custom-xs': '21rem', }, outline: { blue: ['1px auto ' + colors.link, '3px'], diff --git a/yarn.lock b/yarn.lock index c7b0f980..f7d63ee5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2601,10 +2601,10 @@ fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== -fast-glob@^3.2.12: - version "3.3.0" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.0.tgz#7c40cb491e1e2ed5664749e87bfb516dbe8727c0" - integrity sha512-ChDuvbOypPuNjO8yIDf36x7BlZX1smcUMTTcyoIjycexOxd6DFsKsg21qVBzEmr3G7fUKIRy2/psii+CIUt7FA== +fast-glob@^3.2.9: + version "3.2.11" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9" + integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew== dependencies: "@nodelib/fs.stat" "^2.0.2" "@nodelib/fs.walk" "^1.2.3" @@ -2612,10 +2612,10 @@ fast-glob@^3.2.12: merge2 "^1.3.0" micromatch "^4.0.4" -fast-glob@^3.2.9: - version "3.2.11" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9" - integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew== +fast-glob@^3.3.0: + version "3.3.2" + resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" + integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== dependencies: "@nodelib/fs.stat" "^2.0.2" "@nodelib/fs.walk" "^1.2.3" @@ -3371,10 +3371,10 @@ isexe@^2.0.0: resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= -jiti@^1.18.2: - version "1.20.0" - resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.20.0.tgz#2d823b5852ee8963585c8dd8b7992ffc1ae83b42" - integrity sha512-3TV69ZbrvV6U5DfQimop50jE9Dl6J8O1ja1dvBbMba/sZ3YBEQqJ2VZRoQPVnhlzjNtU1vaXRZVrVjU4qtm8yA== +jiti@^1.19.1: + version "1.21.0" + resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.21.0.tgz#7c97f8fe045724e136a397f7340475244156105d" + integrity sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q== "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" @@ -6103,20 +6103,20 @@ table@^6.0.9: string-width "^4.2.3" strip-ansi "^6.0.1" -tailwindcss@^3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.3.2.tgz#2f9e35d715fdf0bbf674d90147a0684d7054a2d3" - integrity sha512-9jPkMiIBXvPc2KywkraqsUfbfj+dHDb+JPWtSJa9MLFdrPyazI7q6WX2sUrm7R9eVR7qqv3Pas7EvQFzxKnI6w== +tailwindcss@^3.4.1: + version "3.4.1" + resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.4.1.tgz#f512ca5d1dd4c9503c7d3d28a968f1ad8f5c839d" + integrity sha512-qAYmXRfk3ENzuPBakNK0SRrUDipP8NQnEY6772uDhflcQz5EhRdD7JNZxyrFHVQNCwULPBn6FNPp9brpO7ctcA== dependencies: "@alloc/quick-lru" "^5.2.0" arg "^5.0.2" chokidar "^3.5.3" didyoumean "^1.2.2" dlv "^1.1.3" - fast-glob "^3.2.12" + fast-glob "^3.3.0" glob-parent "^6.0.2" is-glob "^4.0.3" - jiti "^1.18.2" + jiti "^1.19.1" lilconfig "^2.1.0" micromatch "^4.0.5" normalize-path "^3.0.0" @@ -6128,7 +6128,6 @@ tailwindcss@^3.3.2: postcss-load-config "^4.0.1" postcss-nested "^6.0.1" postcss-selector-parser "^6.0.11" - postcss-value-parser "^4.2.0" resolve "^1.22.2" sucrase "^3.32.0" From 82723c1b4dc1877e7adc040530691bc28b264d3b Mon Sep 17 00:00:00 2001 From: Ahmed Abdelbaset <A7med3bdulBaset@gmail.com> Date: Thu, 18 Jan 2024 04:23:33 +0200 Subject: [PATCH 158/382] Remove url origin to match all translation forks (#6516) * Update use-server.md * Update form.md * Update input.md * Update react-labs-what-we-have-been-working-on-march-2023.md * Update react-labs-what-we-have-been-working-on-june-2022.md --------- Co-authored-by: Ricky <rickhanlonii@fb.com> --- .../06/15/react-labs-what-we-have-been-working-on-june-2022.md | 2 +- .../22/react-labs-what-we-have-been-working-on-march-2023.md | 2 +- src/content/reference/react-dom/components/input.md | 3 ++- src/content/reference/react/use-server.md | 2 +- 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/content/blog/2022/06/15/react-labs-what-we-have-been-working-on-june-2022.md b/src/content/blog/2022/06/15/react-labs-what-we-have-been-working-on-june-2022.md index 45026912..5e8456ea 100644 --- a/src/content/blog/2022/06/15/react-labs-what-we-have-been-working-on-june-2022.md +++ b/src/content/blog/2022/06/15/react-labs-what-we-have-been-working-on-june-2022.md @@ -8,7 +8,7 @@ June 15, 2022 by [Andrew Clark](https://twitter.com/acdlite), [Dan Abramov](http <Intro> -[React 18](https://react.dev/blog/2022/03/29/react-v18) was years in the making, and with it brought valuable lessons for the React team. Its release was the result of many years of research and exploring many paths. Some of those paths were successful; many more were dead-ends that led to new insights. One lesson we’ve learned is that it’s frustrating for the community to wait for new features without having insight into these paths that we’re exploring. +[React 18](/blog/2022/03/29/react-v18) was years in the making, and with it brought valuable lessons for the React team. Its release was the result of many years of research and exploring many paths. Some of those paths were successful; many more were dead-ends that led to new insights. One lesson we’ve learned is that it’s frustrating for the community to wait for new features without having insight into these paths that we’re exploring. </Intro> diff --git a/src/content/blog/2023/03/22/react-labs-what-we-have-been-working-on-march-2023.md b/src/content/blog/2023/03/22/react-labs-what-we-have-been-working-on-march-2023.md index d232dda3..1f6b911e 100644 --- a/src/content/blog/2023/03/22/react-labs-what-we-have-been-working-on-march-2023.md +++ b/src/content/blog/2023/03/22/react-labs-what-we-have-been-working-on-march-2023.md @@ -8,7 +8,7 @@ March 22, 2023 by [Joseph Savona](https://twitter.com/en_JS), [Josh Story](https <Intro> -In React Labs posts, we write about projects in active research and development. We've made significant progress on them since our [last update](https://react.dev/blog/2022/06/15/react-labs-what-we-have-been-working-on-june-2022), and we'd like to share what we learned. +In React Labs posts, we write about projects in active research and development. We've made significant progress on them since our [last update](/blog/2022/06/15/react-labs-what-we-have-been-working-on-june-2022), and we'd like to share what we learned. </Intro> diff --git a/src/content/reference/react-dom/components/input.md b/src/content/reference/react-dom/components/input.md index 36452de9..706b8ae8 100644 --- a/src/content/reference/react-dom/components/input.md +++ b/src/content/reference/react-dom/components/input.md @@ -34,7 +34,8 @@ To display an input, render the [built-in browser `<input>`](https://developer.m <Canary> -React's extensions to the `formAction` prop are currently only available in React's Canary and experimental channels. In stable releases of React, `formAction` works only as a [built-in browser HTML component](https://react.dev/reference/react-dom/components#all-html-components). Learn more about [React's release channels here](/community/versioning-policy#all-release-channels). +React's extensions to the `formAction` prop are currently only available in React's Canary and experimental channels. In stable releases of React, `formAction` works only as a [built-in browser HTML component](/reference/react-dom/components#all-html-components). Learn more about [React's release channels here](/community/versioning-policy#all-release-channels). + </Canary> [`formAction`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#formaction): A string or function. Overrides the parent `<form action>` for `type="submit"` and `type="image"`. When a URL is passed to `action` the form will behave like a standard HTML form. When a function is passed to `formAction` the function will handle the form submission. See [`<form action>`](/reference/react-dom/components/form#props). diff --git a/src/content/reference/react/use-server.md b/src/content/reference/react/use-server.md index 0d0fc840..d517873b 100644 --- a/src/content/reference/react/use-server.md +++ b/src/content/reference/react/use-server.md @@ -88,7 +88,7 @@ Here are supported types for Server Action arguments: * [Promises](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) Notably, these are not supported: -* React elements, or [JSX](https://react.dev/learn/writing-markup-with-jsx) +* React elements, or [JSX](/learn/writing-markup-with-jsx) * Functions, including component functions or any other function that is not a Server Action * [Classes](https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Objects/Classes_in_JavaScript) * Objects that are instances of any class (other than the built-ins mentioned) or objects with [a null prototype](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object#null-prototype_objects) From a3cf37db8cdb4a70f28ba04692231e9ece9d5c9f Mon Sep 17 00:00:00 2001 From: michellebakels <74459302+michellebakels@users.noreply.github.com> Date: Thu, 18 Jan 2024 20:56:22 -0500 Subject: [PATCH 159/382] Update conferences.md - React Miami (#6557) --- src/content/community/conferences.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/content/community/conferences.md b/src/content/community/conferences.md index 7e3f6672..a5800440 100644 --- a/src/content/community/conferences.md +++ b/src/content/community/conferences.md @@ -15,6 +15,11 @@ March 22, 2024. In-person in Paris, France + Remote (hybrid) [Website](https://react.paris/) - [Twitter](https://twitter.com/BeJS_) - [LinkedIn](https://www.linkedin.com/events/7150816372074192900/comments/) +### React Miami 2024 {/*react-miami-2024*/} +April 19 - 20, 2024. In-person in Miami, FL, USA + +[Website](https://reactmiami.com/) - [Twitter](https://twitter.com/ReactMiamiConf) + ### App.js Conf 2024 {/*appjs-conf-2024*/} May 22 - 24, 2024. In-person in Kraków, Poland + remote From b9f4f971d950e281afaaa9ea7df18dc9c5fe3beb Mon Sep 17 00:00:00 2001 From: Ricky <rickhanlonii@fb.com> Date: Fri, 19 Jan 2024 12:55:35 -0500 Subject: [PATCH 160/382] Add threads links to team page (#6561) --- src/components/Icon/IconGitHub.tsx | 4 ++-- src/components/Icon/IconThreads.tsx | 24 ++++++++++++++++++++ src/components/MDX/TeamMember.tsx | 22 +++++++++++++++---- src/content/community/team.md | 34 ++++++++++++++--------------- 4 files changed, 61 insertions(+), 23 deletions(-) create mode 100644 src/components/Icon/IconThreads.tsx diff --git a/src/components/Icon/IconGitHub.tsx b/src/components/Icon/IconGitHub.tsx index de2a982b..49d7fb46 100644 --- a/src/components/Icon/IconGitHub.tsx +++ b/src/components/Icon/IconGitHub.tsx @@ -9,8 +9,8 @@ export const IconGitHub = memo<JSX.IntrinsicElements['svg']>( return ( <svg xmlns="http://www.w3.org/2000/svg" - width="1.33em" - height="1.33em" + width="1.5em" + height="1.5em" viewBox="0 -2 24 24" fill="currentColor" {...props}> diff --git a/src/components/Icon/IconThreads.tsx b/src/components/Icon/IconThreads.tsx new file mode 100644 index 00000000..5a007657 --- /dev/null +++ b/src/components/Icon/IconThreads.tsx @@ -0,0 +1,24 @@ +/* + * Copyright (c) Facebook, Inc. and its affiliates. + */ + +import {memo} from 'react'; + +export const IconThreads = memo<JSX.IntrinsicElements['svg']>( + function IconThreads(props) { + return ( + <svg + aria-label="Threads" + viewBox="0 0 192 192" + height="1.40em" + width="1.40em" + fill="currentColor" + xmlns="http://www.w3.org/2000/svg" + {...props}> + <path + className="x19hqcy" + d="M141.537 88.9883C140.71 88.5919 139.87 88.2104 139.019 87.8451C137.537 60.5382 122.616 44.905 97.5619 44.745C97.4484 44.7443 97.3355 44.7443 97.222 44.7443C82.2364 44.7443 69.7731 51.1409 62.102 62.7807L75.881 72.2328C81.6116 63.5383 90.6052 61.6848 97.2286 61.6848C97.3051 61.6848 97.3819 61.6848 97.4576 61.6855C105.707 61.7381 111.932 64.1366 115.961 68.814C118.893 72.2193 120.854 76.925 121.825 82.8638C114.511 81.6207 106.601 81.2385 98.145 81.7233C74.3247 83.0954 59.0111 96.9879 60.0396 116.292C60.5615 126.084 65.4397 134.508 73.775 140.011C80.8224 144.663 89.899 146.938 99.3323 146.423C111.79 145.74 121.563 140.987 128.381 132.296C133.559 125.696 136.834 117.143 138.28 106.366C144.217 109.949 148.617 114.664 151.047 120.332C155.179 129.967 155.42 145.8 142.501 158.708C131.182 170.016 117.576 174.908 97.0135 175.059C74.2042 174.89 56.9538 167.575 45.7381 153.317C35.2355 139.966 29.8077 120.682 29.6052 96C29.8077 71.3178 35.2355 52.0336 45.7381 38.6827C56.9538 24.4249 74.2039 17.11 97.0132 16.9405C119.988 17.1113 137.539 24.4614 149.184 38.788C154.894 45.8136 159.199 54.6488 162.037 64.9503L178.184 60.6422C174.744 47.9622 169.331 37.0357 161.965 27.974C147.036 9.60668 125.202 0.195148 97.0695 0H96.9569C68.8816 0.19447 47.2921 9.6418 32.7883 28.0793C19.8819 44.4864 13.2244 67.3157 13.0007 95.9325L13 96L13.0007 96.0675C13.2244 124.684 19.8819 147.514 32.7883 163.921C47.2921 182.358 68.8816 191.806 96.9569 192H97.0695C122.03 191.827 139.624 185.292 154.118 170.811C173.081 151.866 172.51 128.119 166.26 113.541C161.776 103.087 153.227 94.5962 141.537 88.9883ZM98.4405 129.507C88.0005 130.095 77.1544 125.409 76.6196 115.372C76.2232 107.93 81.9158 99.626 99.0812 98.6368C101.047 98.5234 102.976 98.468 104.871 98.468C111.106 98.468 116.939 99.0737 122.242 100.233C120.264 124.935 108.662 128.946 98.4405 129.507Z"></path> + </svg> + ); + } +); diff --git a/src/components/MDX/TeamMember.tsx b/src/components/MDX/TeamMember.tsx index da2dc453..c9e83ebc 100644 --- a/src/components/MDX/TeamMember.tsx +++ b/src/components/MDX/TeamMember.tsx @@ -5,6 +5,7 @@ import * as React from 'react'; import Image from 'next/image'; import {IconTwitter} from '../Icon/IconTwitter'; +import {IconThreads} from '../Icon/IconThreads'; import {IconGitHub} from '../Icon/IconGitHub'; import {ExternalLink} from '../ExternalLink'; import {H3} from './Heading'; @@ -17,6 +18,7 @@ interface TeamMemberProps { children: React.ReactNode; photo: string; twitter?: string; + threads?: string; github?: string; personal?: string; } @@ -30,6 +32,7 @@ export function TeamMember({ photo, github, twitter, + threads, personal, }: TeamMemberProps) { if (name == null || title == null || permalink == null || children == null) { @@ -59,25 +62,36 @@ export function TeamMember({ </H3> {title && <div>{title}</div>} {children} - <div className="sm:flex sm:flex-row"> + <div className="sm:flex sm:flex-row flex-wrap"> {twitter && ( <div className="me-4"> <ExternalLink aria-label="React on Twitter" href={`https://twitter.com/${twitter}`} className="hover:text-primary dark:text-primary-dark flex flex-row items-center"> - <IconTwitter className="pe-2" /> + <IconTwitter className="pe-1" /> {twitter} </ExternalLink> </div> )} + {threads && ( + <div className="me-4"> + <ExternalLink + aria-label="React on Threads" + href={`https://threads.net/${threads}`} + className="hover:text-primary hover:underline dark:text-primary-dark flex flex-row items-center"> + <IconThreads className="pe-1" /> + {threads} + </ExternalLink> + </div> + )} {github && ( <div className="me-4"> <ExternalLink aria-label="GitHub Profile" href={`https://github.com/${github}`} className="hover:text-primary dark:text-primary-dark flex flex-row items-center"> - <IconGitHub className="pe-2" /> {github} + <IconGitHub className="pe-1" /> {github} </ExternalLink> </div> )} @@ -86,7 +100,7 @@ export function TeamMember({ aria-label="Personal Site" href={`https://${personal}`} className="hover:text-primary dark:text-primary-dark flex flex-row items-center"> - <IconLink className="pe-2" /> {personal} + <IconLink className="pe-1" /> {personal} </ExternalLink> )} </div> diff --git a/src/content/community/team.md b/src/content/community/team.md index 86783b89..3b3c56e5 100644 --- a/src/content/community/team.md +++ b/src/content/community/team.md @@ -14,11 +14,11 @@ The React Core team members work full time on the core component APIs, the engin Current members of the React team are listed in alphabetical order below. -<TeamMember name="Andrew Clark" permalink="andrew-clark" photo="/images/team/acdlite.jpg" github="acdlite" twitter="acdlite" title="Engineer at Vercel"> +<TeamMember name="Andrew Clark" permalink="andrew-clark" photo="/images/team/acdlite.jpg" github="acdlite" twitter="acdlite" threads="acdlite" title="Engineer at Vercel"> Andrew got started with web development by making sites with WordPress, and eventually tricked himself into doing JavaScript. His favorite pastime is karaoke. Andrew is either a Disney villain or a Disney princess, depending on the day. </TeamMember> -<TeamMember name="Andrey Lunyov" permalink="andrey-lunyov" photo="/images/team/andrey-lunyov.jpg" github="alunyov" twitter="alunyov" title="Engineer at Meta"> +<TeamMember name="Andrey Lunyov" permalink="andrey-lunyov" photo="/images/team/andrey-lunyov.jpg" github="alunyov" twitter="alunyov" threads="alunyov" title="Engineer at Meta"> Andrey started his career as a designer and then gradually transitioned into web development. After joining the React Data team at Meta he worked on adding an incremental JavaScript compiler to Relay, and then later on, worked on removing the same compiler from Relay. Outside of work, Andrey likes to play music and engage in various sports. </TeamMember> @@ -26,15 +26,15 @@ Current members of the React team are listed in alphabetical order below. Dan got into programming after he accidentally discovered Visual Basic inside Microsoft PowerPoint. He has found his true calling in turning [Sebastian](#sebastian-markbåge)'s tweets into long-form blog posts. Dan occasionally wins at Fortnite by hiding in a bush until the game ends. </TeamMember> -<TeamMember name="Eli White" permalink="eli-white" photo="/images/team/eli-white.jpg" github="TheSavior" twitter="Eli_White" title="Engineering Manager at Meta"> +<TeamMember name="Eli White" permalink="eli-white" photo="/images/team/eli-white.jpg" github="TheSavior" twitter="Eli_White" threads="elicwhite" title="Engineering Manager at Meta"> Eli got into programming after he got suspended from middle school for hacking. He has been working on React and React Native since 2017. He enjoys eating treats, especially ice cream and apple pie. You can find Eli trying quirky activities like parkour, indoor skydiving, and aerial silks. </TeamMember> -<TeamMember name="Jason Bonta" permalink="jason-bonta" photo="/images/team/jasonbonta.jpg" title="Engineering Manager at Meta"> +<TeamMember name="Jason Bonta" permalink="jason-bonta" photo="/images/team/jasonbonta.jpg" threads="someextent" title="Engineering Manager at Meta"> Jason likes having large volumes of Amazon packages delivered to the office so that he can build forts. Despite literally walling himself off from his team at times and not understanding how for-of loops work, we appreciate him for the unique qualities he brings to his work. </TeamMember> -<TeamMember name="Joe Savona" permalink="joe-savona" photo="/images/team/joe.jpg" github="josephsavona" twitter="en_JS" title="Engineer at Meta"> +<TeamMember name="Joe Savona" permalink="joe-savona" photo="/images/team/joe.jpg" github="josephsavona" twitter="en_JS" threads="joesavona" title="Engineer at Meta"> Joe was planning to major in math and philosophy but got into computer science after writing physics simulations in Matlab. Prior to React, he worked on Relay, RSocket.js, and the Skip programming language. While he’s not building some sort of reactive system he enjoys running, studying Japanese, and spending time with his family. </TeamMember> @@ -46,47 +46,47 @@ Current members of the React team are listed in alphabetical order below. Kathryn initially discovered web development when she wanted to make her myspace page look cool. She ended up majoring in Computer Science, and quickly became a huge fan of React building features on the Instagram.com team. Outside of work she loves playing pingpong, teaching spin classes, and going plant shopping. </TeamMember> -<TeamMember name="Lauren Tan" permalink="lauren-tan" photo="/images/team/lauren.jpg" github="poteto" twitter="potetotes" personal="no.lol" title="Engineer at Meta"> +<TeamMember name="Lauren Tan" permalink="lauren-tan" photo="/images/team/lauren.jpg" github="poteto" twitter="potetotes" threads="potetotes" personal="no.lol" title="Engineer at Meta"> Lauren’s programming career peaked when she first discovered the `<marquee>` tag. She’s been chasing that high ever since. When she’s not adding bugs into React, she enjoys dropping cheeky memes in chat, and playing all too many video games with her partner, and her dog Zelda. </TeamMember> -<TeamMember name="Luna Wei" permalink="luna-wei" photo="/images/team/luna-wei.jpg" github="lunaleaps" twitter="lunaleaps" title="Engineer at Meta"> +<TeamMember name="Luna Wei" permalink="luna-wei" photo="/images/team/luna-wei.jpg" github="lunaleaps" twitter="lunaleaps" threads="lunaleaps" title="Engineer at Meta"> Luna first learnt the fundamentals of python at the age of 6 from her father. Since then, she has been unstoppable. Luna aspires to be a gen z, and the road to success is paved with environmental advocacy, urban gardening and lots of quality time with her Voo-Doo’d (as pictured). </TeamMember> -<TeamMember name="Matt Carroll" permalink="matt-carroll" photo="/images/team/matt-carroll.png" github="mattcarrollcode" twitter="mattcarrollcode" title="Developer Advocate at Meta"> +<TeamMember name="Matt Carroll" permalink="matt-carroll" photo="/images/team/matt-carroll.png" github="mattcarrollcode" twitter="mattcarrollcode" threads="mattcarrollcode" title="Developer Advocate at Meta"> Matt stumbled into coding, and since then, has become enamored with creating things in communities that can’t be created alone. Prior to React, he worked on YouTube, the Google Assistant, Fuchsia, and Google Cloud AI and Evernote. When he's not trying to make better developer tools he enjoys the mountains, jazz, and spending time with his family. </TeamMember> -<TeamMember name="Mofei Zhang" permalink="mofei-zhang" photo="/images/team/mofei-zhang.png" github="mofeiZ" title="Engineer at Meta"> +<TeamMember name="Mofei Zhang" permalink="mofei-zhang" photo="/images/team/mofei-zhang.png" github="mofeiZ" threads="z_mofei" title="Engineer at Meta"> Mofei started programming when she realized it can help her cheat in video games. She focused on operating systems in undergrad / grad school, but now finds herself happily tinkering on React. Outside of work, she enjoys debugging bouldering problems and planning her next backpacking trip(s). </TeamMember> -<TeamMember name="Rick Hanlon" permalink="rick-hanlon" photo="/images/team/rickhanlonii.jpg" github="rickhanlonii" twitter="rickhanlonii" personal="rickhanlon.codes" title="Engineer at Meta"> +<TeamMember name="Rick Hanlon" permalink="rick-hanlon" photo="/images/team/rickhanlonii.jpg" github="rickhanlonii" twitter="rickhanlonii" threads="rickhanlonii" personal="rickhanlon.codes" title="Engineer at Meta"> Ricky majored in theoretical math and somehow found himself on the React Native team for a couple years before joining the React team. When he's not programming you can find him snowboarding, biking, climbing, golfing, or closing GitHub issues that do not match the issue template. </TeamMember> -<TeamMember name="Samuel Susla" permalink="samuel-susla" photo="/images/team/sam.jpg" github="sammy-SC" twitter="SamuelSusla" title="Engineer at Meta"> +<TeamMember name="Samuel Susla" permalink="samuel-susla" photo="/images/team/sam.jpg" github="sammy-SC" twitter="SamuelSusla" threads="samuelsusla" title="Engineer at Meta"> Samuel’s interest in programming started with the movie Matrix. He still has Matrix screen saver. Before working on React, he was focused on writing iOS apps. Outside of work, Samuel enjoys playing beach volleyball, squash, badminton and spending time with his family. </TeamMember> -<TeamMember name="Sathya Gunasekaran " permalink="sathya-gunasekaran" photo="/images/team/sathya.jpg" github="gsathya" twitter="_gsathya" title="Engineer at Meta"> +<TeamMember name="Sathya Gunasekaran " permalink="sathya-gunasekaran" photo="/images/team/sathya.jpg" github="gsathya" twitter="_gsathya" threads="gsathya.03" title="Engineer at Meta"> Sathya hated the Dragon Book in school but somehow ended up working on compilers all his career. When he's not compiling React components, he's either drinking coffee or eating yet another Dosa. </TeamMember> -<TeamMember name="Sebastian Markbåge" permalink="sebastian-markbåge" photo="/images/team/sebmarkbage.jpg" github="sebmarkbage" twitter="sebmarkbage" title="Engineer at Vercel"> +<TeamMember name="Sebastian Markbåge" permalink="sebastian-markbåge" photo="/images/team/sebmarkbage.jpg" github="sebmarkbage" twitter="sebmarkbage" threads="sebmarkbage" title="Engineer at Vercel"> Sebastian majored in psychology. He's usually quiet. Even when he says something, it often doesn't make sense to the rest of us until a few months later. The correct way to pronounce his surname is "mark-boa-geh" but he settled for "mark-beige" out of pragmatism -- and that's how he approaches React. </TeamMember> -<TeamMember name="Sebastian Silbermann" permalink="sebastian-silbermann" photo="/images/team/sebsilbermann.jpg" github="eps1lon" twitter="sebsilbermann" title="Independent Engineer"> +<TeamMember name="Sebastian Silbermann" permalink="sebastian-silbermann" photo="/images/team/sebsilbermann.jpg" github="eps1lon" twitter="sebsilbermann" threads="sebsilbermann" title="Independent Engineer"> Sebastian learned programming to make the browser games he played during class more enjoyable. Eventually this lead to contributing to as much open source code as possible. Outside of coding he's busy making sure people don't confuse him with the other Sebastians and Zilberman of the React community. </TeamMember> -<TeamMember name="Seth Webster" permalink="seth-webster" photo="/images/team/seth.jpg" github="sethwebster" twitter="sethwebster" personal="sethwebster.com" title="Engineering Manager at Meta"> +<TeamMember name="Seth Webster" permalink="seth-webster" photo="/images/team/seth.jpg" github="sethwebster" twitter="sethwebster" threads="sethwebster" personal="sethwebster.com" title="Engineering Manager at Meta"> Seth started programming as a kid growing up in Tucson, AZ. After school, he was bitten by the music bug and was a touring musician for about 10 years before returning to *work*, starting with Intuit. In his spare time, he loves [taking pictures](https://www.sethwebster.com) and flying for animal rescues in the northeastern United States. </TeamMember> -<TeamMember name="Sophie Alpert" permalink="sophie-alpert" photo="/images/team/sophiebits.jpg" github="sophiebits" twitter="sophiebits" personal="sophiebits.com" title="Independent Engineer"> +<TeamMember name="Sophie Alpert" permalink="sophie-alpert" photo="/images/team/sophiebits.jpg" github="sophiebits" twitter="sophiebits" threads="sophiebits" personal="sophiebits.com" title="Independent Engineer"> Four days after React was released, Sophie rewrote the entirety of her then-current project to use it, which she now realizes was perhaps a bit reckless. After she became the project's #1 committer, she wondered why she wasn't getting paid by Facebook like everyone else was and joined the team officially to lead React through its adolescent years. Though she quit that job years ago, somehow she's still in the team's group chats and “providing value”. </TeamMember> @@ -94,7 +94,7 @@ Current members of the React team are listed in alphabetical order below. Tianyu’s interest in computers started as a kid because he loves video games. So he majored in computer science and still plays childish games like League of Legends. When he is not in front of a computer, he enjoys playing with his two kittens, hiking and kayaking. </TeamMember> -<TeamMember name="Yuzhi Zheng" permalink="yuzhi-zheng" photo="/images/team/yuzhi.jpg" github="yuzhi" twitter="yuzhiz" title="Engineering Manager at Meta"> +<TeamMember name="Yuzhi Zheng" permalink="yuzhi-zheng" photo="/images/team/yuzhi.jpg" github="yuzhi" twitter="yuzhiz" threads="yuzhiz" title="Engineering Manager at Meta"> Yuzhi studied Computer Science in school. She liked the instant gratification of seeing code come to life without having to physically be in a laboratory. Now she’s a manager in the React org. Before management, she used to work on the Relay data fetching framework. In her spare time, Yuzhi enjoys optimizing her life via gardening and home improvement projects. </TeamMember> From 3563d95efe8719bdae8bbd258e6ab4134753348b Mon Sep 17 00:00:00 2001 From: Aki Hamano <54422211+t-hamano@users.noreply.github.com> Date: Sun, 21 Jan 2024 22:13:19 +0900 Subject: [PATCH 161/382] Fix typo in Tic-Tac-Toe tutorial (#6565) --- src/content/learn/tutorial-tic-tac-toe.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/learn/tutorial-tic-tac-toe.md b/src/content/learn/tutorial-tic-tac-toe.md index 7a829a52..7d632e3c 100644 --- a/src/content/learn/tutorial-tic-tac-toe.md +++ b/src/content/learn/tutorial-tic-tac-toe.md @@ -337,7 +337,7 @@ import './styles.css'; import App from './App'; ``` -Lines 1-5 brings all the necessary pieces together: +Lines 1-5 bring all the necessary pieces together: * React * React's library to talk to web browsers (React DOM) From 4886261ee72f3715f35460ef312f9b394f6d8001 Mon Sep 17 00:00:00 2001 From: Ricky <rickhanlonii@fb.com> Date: Mon, 22 Jan 2024 16:17:57 -0500 Subject: [PATCH 162/382] Fix regex lookback crashing older browsers (#6571) --- src/components/MDX/ErrorDecoder.tsx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/components/MDX/ErrorDecoder.tsx b/src/components/MDX/ErrorDecoder.tsx index daa71328..198aa939 100644 --- a/src/components/MDX/ErrorDecoder.tsx +++ b/src/components/MDX/ErrorDecoder.tsx @@ -18,17 +18,17 @@ function replaceArgs( /** * Sindre Sorhus <https://sindresorhus.com> * Released under MIT license - * https://github.com/sindresorhus/linkify-urls/blob/edd75a64a9c36d7025f102f666ddbb6cf0afa7cd/index.js#L4C25-L4C137 + * https://github.com/sindresorhus/linkify-urls/blob/b2397096df152e2f799011f7a48e5f73b4bf1c7e/index.js#L5C1-L7C1 * * The regex is used to extract URL from the string for linkify. */ -const urlRegex = - /((?<!\+)https?:\/\/(?:www\.)?(?:[-\w.]+?[.@][a-zA-Z\d]{2,}|localhost)(?:[-\w.:%+~#*$!?&/=@]*?(?:,(?!\s))*?)*)/g; +const urlRegex = () => + /((?:https?(?::\/\/))(?:www\.)?(?:[a-zA-Z\d-_.]+(?:(?:\.|@)[a-zA-Z\d]{2,})|localhost)(?:(?:[-a-zA-Z\d:%_+.~#!?&//=@]*)(?:[,](?![\s]))*)*)/g; // When the message contains a URL (like https://fb.me/react-refs-must-have-owner), // make it a clickable link. function urlify(str: string): React.ReactNode[] { - const segments = str.split(urlRegex); + const segments = str.split(urlRegex()); return segments.map((message, i) => { if (i % 2 === 1) { From 98d0f56986cdf6d935591ec538134b956047452e Mon Sep 17 00:00:00 2001 From: Noah Lemen <noah.lemen@gmail.com> Date: Tue, 23 Jan 2024 15:11:22 -0500 Subject: [PATCH 163/382] add Noah Lemen to team page (#6576) --- public/images/team/noahlemen.jpg | Bin 0 -> 337566 bytes src/content/community/team.md | 4 ++++ 2 files changed, 4 insertions(+) create mode 100644 public/images/team/noahlemen.jpg diff --git a/public/images/team/noahlemen.jpg b/public/images/team/noahlemen.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e3f788d898005959ee2b966c4f22def6e52efe33 GIT binary patch literal 337566 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|bYaz~cu82EKl_YgM%8E2HV@dpcjb!$n8X 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≤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 X3y@u2VgR=wg2vim?&k49Z>RqkSUqj; literal 0 HcmV?d00001 diff --git a/src/content/community/team.md b/src/content/community/team.md index 3b3c56e5..4cdd4972 100644 --- a/src/content/community/team.md +++ b/src/content/community/team.md @@ -62,6 +62,10 @@ Current members of the React team are listed in alphabetical order below. Mofei started programming when she realized it can help her cheat in video games. She focused on operating systems in undergrad / grad school, but now finds herself happily tinkering on React. Outside of work, she enjoys debugging bouldering problems and planning her next backpacking trip(s). </TeamMember> +<TeamMember name="Noah Lemen" permalink="noah-lemen" photo="/images/team/noahlemen.jpg" github="noahlemen" twitter="noahlemen" threads="noahlemen" personal="noahle.men" title="Engineer at Meta"> + Noah’s interest in UI programming sparked during his education in music technology at NYU. At Meta, he's worked on internal tools, browsers, web performance, and is currently focused on React. Outside of work, Noah can be found tinkering with synthesizers or spending time with his cat. +</TeamMember> + <TeamMember name="Rick Hanlon" permalink="rick-hanlon" photo="/images/team/rickhanlonii.jpg" github="rickhanlonii" twitter="rickhanlonii" threads="rickhanlonii" personal="rickhanlon.codes" title="Engineer at Meta"> Ricky majored in theoretical math and somehow found himself on the React Native team for a couple years before joining the React team. When he's not programming you can find him snowboarding, biking, climbing, golfing, or closing GitHub issues that do not match the issue template. </TeamMember> From 85653a38fcdfad81cb215302d5bd19f3473b8a88 Mon Sep 17 00:00:00 2001 From: Ricky <rickhanlonii@fb.com> Date: Tue, 23 Jan 2024 15:43:16 -0500 Subject: [PATCH 164/382] Update alumni (#6577) --- src/content/community/acknowledgements.md | 2 ++ src/content/community/team.md | 8 -------- 2 files changed, 2 insertions(+), 8 deletions(-) diff --git a/src/content/community/acknowledgements.md b/src/content/community/acknowledgements.md index e6f6ccaf..c87a9297 100644 --- a/src/content/community/acknowledgements.md +++ b/src/content/community/acknowledgements.md @@ -35,6 +35,7 @@ We'd like to recognize a few people who have made significant contributions to R * [Joe Critchley](https://github.com/joecritch) * [Jeff Morrison](https://github.com/jeffmo) * [Luna Ruan](https://github.com/lunaruan) +* [Kathryn Middleton](https://github.com/kmiddleton14) * [Keyan Zhang](https://github.com/keyz) * [Marco Salazar](https://github.com/salazarm) * [Mengdi Chen](https://github.com/mondaychen) @@ -46,6 +47,7 @@ We'd like to recognize a few people who have made significant contributions to R * [Philipp Spiess](https://github.com/philipp-spiess) * [Rachel Nabors](https://github.com/rachelnabors) * [Robert Zhang](https://github.com/robertzhidealx) +* [Samuel Susla](https://github.com/sammy-SC) * [Sander Spies](https://github.com/sanderspies) * [Sasha Aickin](https://github.com/aickin) * [Sean Keegan](https://github.com/seanryankeegan) diff --git a/src/content/community/team.md b/src/content/community/team.md index 4cdd4972..0c6c63a8 100644 --- a/src/content/community/team.md +++ b/src/content/community/team.md @@ -42,10 +42,6 @@ Current members of the React team are listed in alphabetical order below. Josh majored in Mathematics and discovered programming while in college. His first professional developer job was to program insurance rate calculations in Microsoft Excel, the paragon of Reactive Programming which must be why he now works on React. In between that time Josh has been an IC, Manager, and Executive at a few startups. outside of work he likes to push his limits with cooking. </TeamMember> -<TeamMember name="Kathryn Middleton" permalink="kathryn-middleton" photo="/images/team/kathryn-middleton.jpg" github="kmiddleton14" twitter="kmiddleton14" title="Engineering Manager at Meta"> - Kathryn initially discovered web development when she wanted to make her myspace page look cool. She ended up majoring in Computer Science, and quickly became a huge fan of React building features on the Instagram.com team. Outside of work she loves playing pingpong, teaching spin classes, and going plant shopping. -</TeamMember> - <TeamMember name="Lauren Tan" permalink="lauren-tan" photo="/images/team/lauren.jpg" github="poteto" twitter="potetotes" threads="potetotes" personal="no.lol" title="Engineer at Meta"> Lauren’s programming career peaked when she first discovered the `<marquee>` tag. She’s been chasing that high ever since. When she’s not adding bugs into React, she enjoys dropping cheeky memes in chat, and playing all too many video games with her partner, and her dog Zelda. </TeamMember> @@ -70,10 +66,6 @@ Current members of the React team are listed in alphabetical order below. Ricky majored in theoretical math and somehow found himself on the React Native team for a couple years before joining the React team. When he's not programming you can find him snowboarding, biking, climbing, golfing, or closing GitHub issues that do not match the issue template. </TeamMember> -<TeamMember name="Samuel Susla" permalink="samuel-susla" photo="/images/team/sam.jpg" github="sammy-SC" twitter="SamuelSusla" threads="samuelsusla" title="Engineer at Meta"> - Samuel’s interest in programming started with the movie Matrix. He still has Matrix screen saver. Before working on React, he was focused on writing iOS apps. Outside of work, Samuel enjoys playing beach volleyball, squash, badminton and spending time with his family. -</TeamMember> - <TeamMember name="Sathya Gunasekaran " permalink="sathya-gunasekaran" photo="/images/team/sathya.jpg" github="gsathya" twitter="_gsathya" threads="gsathya.03" title="Engineer at Meta"> Sathya hated the Dragon Book in school but somehow ended up working on compilers all his career. When he's not compiling React components, he's either drinking coffee or eating yet another Dosa. </TeamMember> From e33ec30515561d715e35b2c437402c5c58d4ecd8 Mon Sep 17 00:00:00 2001 From: Petro <83351038+lero62@users.noreply.github.com> Date: Wed, 24 Jan 2024 06:28:44 +0200 Subject: [PATCH 165/382] add upcoming conferences (#6573) --- src/content/community/conferences.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/content/community/conferences.md b/src/content/community/conferences.md index a5800440..51e5c6f1 100644 --- a/src/content/community/conferences.md +++ b/src/content/community/conferences.md @@ -10,6 +10,11 @@ Do you know of a local React.js conference? Add it here! (Please keep the list c ## Upcoming Conferences {/*upcoming-conferences*/} +### React Summit 2024 {/*react-summit-2024*/} +June 14 & 18, 2024. In-person in Amsterdam, Netherlands + remote (hybrid event) + +[Website](https://reactsummit.com/) - [Twitter](https://twitter.com/reactsummit) - [Videos](https://portal.gitnation.org/) + ### React Paris 2024 {/*react-paris-2024*/} March 22, 2024. In-person in Paris, France + Remote (hybrid) From 5bc1d264d44bdc11b78d7772455fb2471a3887d4 Mon Sep 17 00:00:00 2001 From: Sophie Alpert <git@sophiebits.com> Date: Thu, 25 Jan 2024 16:57:52 -0800 Subject: [PATCH 166/382] Add useFormState permalink arg (#6402) --- src/content/reference/react-dom/hooks/useFormState.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/content/reference/react-dom/hooks/useFormState.md b/src/content/reference/react-dom/hooks/useFormState.md index 8384fcbd..e2a8d539 100644 --- a/src/content/reference/react-dom/hooks/useFormState.md +++ b/src/content/reference/react-dom/hooks/useFormState.md @@ -14,7 +14,7 @@ The `useFormState` Hook is currently only available in React's Canary and experi `useFormState` is a Hook that allows you to update state based on the result of a form action. ```js -const [state, formAction] = useFormState(fn, initialState); +const [state, formAction] = useFormState(fn, initialState, permalink?); ``` </Intro> @@ -25,7 +25,7 @@ const [state, formAction] = useFormState(fn, initialState); ## Reference {/*reference*/} -### `useFormState(action, initialState)` {/*useformstate*/} +### `useFormState(action, initialState, permalink?)` {/*useformstate*/} {/* TODO T164397693: link to actions documentation once it exists */} @@ -59,6 +59,7 @@ If used with a Server Action, `useFormState` allows the server's response from s * `fn`: The function to be called when the form is submitted or button pressed. When the function is called, it will receive the previous state of the form (initially the `initialState` that you pass, subsequently its previous return value) as its initial argument, followed by the arguments that a form action normally receives. * `initialState`: The value you want the state to be initially. It can be any serializable value. This argument is ignored after the action is first invoked. +* **optional** `permalink`: A string containing the unique page URL that this form modifies. For use on pages with dynamic content (eg: feeds) in conjunction with progressive enhancement: if `fn` is a [server action](/reference/react/use-server) and the form is submitted before the JavaScript bundle loads, the browser will navigate to the specified permalink URL, rather than the current page's URL. Ensure that the same form component is rendered on the destination page (including the same action `fn` and `permalink`) so that React knows how to pass the state through. Once the form has been hydrated, this parameter has no effect. {/* TODO T164397693: link to serializable values docs once it exists */} From 5964bfa50270eb52fa3a58af8f1277174a26a655 Mon Sep 17 00:00:00 2001 From: "Kent C. Dodds" <me+github@kentcdodds.com> Date: Fri, 26 Jan 2024 15:27:59 -0700 Subject: [PATCH 167/382] conferences: Add Epic Web Conf (#6584) --- src/content/community/conferences.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/content/community/conferences.md b/src/content/community/conferences.md index 51e5c6f1..18cc2e72 100644 --- a/src/content/community/conferences.md +++ b/src/content/community/conferences.md @@ -25,6 +25,11 @@ April 19 - 20, 2024. In-person in Miami, FL, USA [Website](https://reactmiami.com/) - [Twitter](https://twitter.com/ReactMiamiConf) +### Epic Web Conf 2024 {/*epic-web-2024*/} +April 10 - 11, 2024. In-person in Park City, UT, USA + +[Website](https://www.epicweb.dev/conf) - [YouTube](https://www.youtube.com/@EpicWebDev) + ### App.js Conf 2024 {/*appjs-conf-2024*/} May 22 - 24, 2024. In-person in Kraków, Poland + remote From 1ab7108159cc8856168e0cf9f44ebedcaa5e96aa Mon Sep 17 00:00:00 2001 From: "Stanislav (Stanley) Modrak" <44023416+smith558@users.noreply.github.com> Date: Sat, 27 Jan 2024 20:50:22 +0000 Subject: [PATCH 168/382] Add guiding note (#6501) * Add guiding note * Update sandbox to include event handlers --- src/content/learn/thinking-in-react.md | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/src/content/learn/thinking-in-react.md b/src/content/learn/thinking-in-react.md index eec4ae33..0f05a056 100644 --- a/src/content/learn/thinking-in-react.md +++ b/src/content/learn/thinking-in-react.md @@ -484,12 +484,26 @@ function FilterableProductTable({ products }) { Inside the `SearchBar`, you will add the `onChange` event handlers and set the parent state from them: -```js {5} -<input - type="text" - value={filterText} - placeholder="Search..." - onChange={(e) => onFilterTextChange(e.target.value)} /> +```js {4,5,13,19} +function SearchBar({ + filterText, + inStockOnly, + onFilterTextChange, + onInStockOnlyChange +}) { + return ( + <form> + <input + type="text" + value={filterText} + placeholder="Search..." + onChange={(e) => onFilterTextChange(e.target.value)} + /> + <label> + <input + type="checkbox" + checked={inStockOnly} + onChange={(e) => onInStockOnlyChange(e.target.checked)} ``` Now the application fully works! From 30f23d7651c8cb2fb848863b39292840850a130d Mon Sep 17 00:00:00 2001 From: Muhammad Hafijur <85216180+muhammadhafijur@users.noreply.github.com> Date: Sun, 28 Jan 2024 09:09:59 +0600 Subject: [PATCH 169/382] fix(footer-social-icon): Vertical alignment of social icon (#6579) (#6580) --- src/components/Layout/Footer.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/Layout/Footer.tsx b/src/components/Layout/Footer.tsx index 67e4667b..26bdf671 100644 --- a/src/components/Layout/Footer.tsx +++ b/src/components/Layout/Footer.tsx @@ -333,7 +333,7 @@ export function Footer() { <FooterLink href="https://opensource.fb.com/legal/terms/"> Terms </FooterLink> - <div className="flex flex-row mt-8 gap-x-2"> + <div className="flex flex-row items-center mt-8 gap-x-2"> <ExternalLink aria-label="React on Facebook" href="https://www.facebook.com/react" From 5d2f7105bd6374e465b8bdce8efceaeb8f01c937 Mon Sep 17 00:00:00 2001 From: "Stanislav (Stanley) Modrak" <44023416+smith558@users.noreply.github.com> Date: Sun, 28 Jan 2024 03:13:52 +0000 Subject: [PATCH 170/382] Remove unused variables (#6574) --- src/content/learn/adding-interactivity.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/content/learn/adding-interactivity.md b/src/content/learn/adding-interactivity.md index d1359d05..0d4a3b23 100644 --- a/src/content/learn/adding-interactivity.md +++ b/src/content/learn/adding-interactivity.md @@ -646,7 +646,6 @@ Arrays are another type of mutable JavaScript objects you can store in state and ```js import { useState } from 'react'; -let nextId = 3; const initialList = [ { id: 0, title: 'Big Bellies', seen: false }, { id: 1, title: 'Lunar Landscape', seen: false }, @@ -714,7 +713,6 @@ If copying arrays in code gets tedious, you can use a library like [Immer](https import { useState } from 'react'; import { useImmer } from 'use-immer'; -let nextId = 3; const initialList = [ { id: 0, title: 'Big Bellies', seen: false }, { id: 1, title: 'Lunar Landscape', seen: false }, From adb958ac3bd5eaf5bcbca75c70f5e5798276ce7d Mon Sep 17 00:00:00 2001 From: Matt Carroll <7158882+mattcarrollcode@users.noreply.github.com> Date: Wed, 31 Jan 2024 18:02:12 -0800 Subject: [PATCH 171/382] [Conferences] Add React Conf, order upcoming conferences by date (#6596) --- src/content/community/conferences.md | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/src/content/community/conferences.md b/src/content/community/conferences.md index 18cc2e72..74785e12 100644 --- a/src/content/community/conferences.md +++ b/src/content/community/conferences.md @@ -10,31 +10,36 @@ Do you know of a local React.js conference? Add it here! (Please keep the list c ## Upcoming Conferences {/*upcoming-conferences*/} -### React Summit 2024 {/*react-summit-2024*/} -June 14 & 18, 2024. In-person in Amsterdam, Netherlands + remote (hybrid event) - -[Website](https://reactsummit.com/) - [Twitter](https://twitter.com/reactsummit) - [Videos](https://portal.gitnation.org/) - ### React Paris 2024 {/*react-paris-2024*/} March 22, 2024. In-person in Paris, France + Remote (hybrid) [Website](https://react.paris/) - [Twitter](https://twitter.com/BeJS_) - [LinkedIn](https://www.linkedin.com/events/7150816372074192900/comments/) +### Epic Web Conf 2024 {/*epic-web-2024*/} +April 10 - 11, 2024. In-person in Park City, UT, USA + +[Website](https://www.epicweb.dev/conf) - [YouTube](https://www.youtube.com/@EpicWebDev) + ### React Miami 2024 {/*react-miami-2024*/} April 19 - 20, 2024. In-person in Miami, FL, USA [Website](https://reactmiami.com/) - [Twitter](https://twitter.com/ReactMiamiConf) -### Epic Web Conf 2024 {/*epic-web-2024*/} -April 10 - 11, 2024. In-person in Park City, UT, USA +### React Conf 2024 {/*react-conf-2024*/} +May 15 - 16, 2024. In-person in Henderson, NV, USA + remote -[Website](https://www.epicweb.dev/conf) - [YouTube](https://www.youtube.com/@EpicWebDev) +[Website](https://conf.react.dev) - [Twitter](https://twitter.com/reactjs) ### App.js Conf 2024 {/*appjs-conf-2024*/} May 22 - 24, 2024. In-person in Kraków, Poland + remote [Website](https://appjs.co) - [Twitter](https://twitter.com/appjsconf) +### React Summit 2024 {/*react-summit-2024*/} +June 14 & 18, 2024. In-person in Amsterdam, Netherlands + remote (hybrid event) + +[Website](https://reactsummit.com/) - [Twitter](https://twitter.com/reactsummit) - [Videos](https://portal.gitnation.org/) + ### Render(ATL) 2024 🍑 {/*renderatl-2024-*/} June 12 - June 14, 2024. Atlanta, GA, USA From ca987648c60ae1f97711c40812ec54b2050e3212 Mon Sep 17 00:00:00 2001 From: Victor Ferreira <victor.araujo.ferreira@gmail.com> Date: Wed, 31 Jan 2024 23:03:13 -0300 Subject: [PATCH 172/382] [Tutorial] Fix Sandbox download instructions to match current interface (#6594) --- src/content/learn/tutorial-tic-tac-toe.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/learn/tutorial-tic-tac-toe.md b/src/content/learn/tutorial-tic-tac-toe.md index 7d632e3c..d3779145 100644 --- a/src/content/learn/tutorial-tic-tac-toe.md +++ b/src/content/learn/tutorial-tic-tac-toe.md @@ -264,7 +264,7 @@ body { You can also follow this tutorial using your local development environment. To do this, you need to: 1. Install [Node.js](https://nodejs.org/en/) -1. In the CodeSandbox tab you opened earlier, press the top-left corner button to open the menu, and then choose **File > Export to ZIP** in that menu to download an archive of the files locally +1. In the CodeSandbox tab you opened earlier, press the top-left corner button to open the menu, and then choose **Download Sandbox** in that menu to download an archive of the files locally 1. Unzip the archive, then open a terminal and `cd` to the directory you unzipped 1. Install the dependencies with `npm install` 1. Run `npm start` to start a local server and follow the prompts to view the code running in a browser From f96c528f3c79261091a330f8462f94a86d60f592 Mon Sep 17 00:00:00 2001 From: Joseph Savona <josephsavona@users.noreply.github.com> Date: Thu, 1 Feb 2024 13:42:47 -0500 Subject: [PATCH 173/382] Add form templates (#6592) * Add template for applying to add a new React framework * update * grammar * Add form templates * Update .github/ISSUE_TEMPLATE/config.yml Co-authored-by: Strek <ssharishkumar@gmail.com> * correct link --------- Co-authored-by: Ricky Hanlon <rickhanlonii@gmail.com> Co-authored-by: Ricky <rickhanlonii@fb.com> Co-authored-by: Strek <ssharishkumar@gmail.com> --- .github/ISSUE_TEMPLATE/0-bug.yml | 34 +++++++ .github/ISSUE_TEMPLATE/1-typo.yml | 34 +++++++ .github/ISSUE_TEMPLATE/2-suggestion.yml | 34 +++++++ .github/ISSUE_TEMPLATE/3-framework.yml | 116 ++++++++++++++++++++++++ .github/ISSUE_TEMPLATE/config.yml | 7 ++ 5 files changed, 225 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE/0-bug.yml create mode 100644 .github/ISSUE_TEMPLATE/1-typo.yml create mode 100644 .github/ISSUE_TEMPLATE/2-suggestion.yml create mode 100644 .github/ISSUE_TEMPLATE/3-framework.yml create mode 100644 .github/ISSUE_TEMPLATE/config.yml diff --git a/.github/ISSUE_TEMPLATE/0-bug.yml b/.github/ISSUE_TEMPLATE/0-bug.yml new file mode 100644 index 00000000..56d2e854 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/0-bug.yml @@ -0,0 +1,34 @@ +name: "🐛 Report a bug" +description: "Report a problem on the website." +title: "[Bug]: " +labels: ["bug: unconfirmed"] +body: + - type: textarea + attributes: + label: Summary + description: | + A clear and concise summary of what the bug is. + placeholder: | + Example bug report: + When I click the "Submit" button on "Feedback", nothing happens. + validations: + required: true + - type: input + attributes: + label: Page + description: | + What page(s) did you encounter this bug on? + placeholder: | + https://react.dev/ + validations: + required: true + - type: textarea + attributes: + label: Details + description: | + Please provide any additional details about the bug. + placeholder: | + Example details: + The "Submit" button is unresponsive. I've tried refreshing the page and using a different browser, but the issue persists. + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/1-typo.yml b/.github/ISSUE_TEMPLATE/1-typo.yml new file mode 100644 index 00000000..c86557a1 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/1-typo.yml @@ -0,0 +1,34 @@ +name: "🤦 Typo or mistake" +description: "Report a typo or mistake in the docs." +title: "[Typo]: " +labels: ["type: typos"] +body: + - type: textarea + attributes: + label: Summary + description: | + A clear and concise summary of what the mistake is. + placeholder: | + Example: + The code example on the "useReducer" page includes an unused variable `nextId`. + validations: + required: true + - type: input + attributes: + label: Page + description: | + What page is the typo on? + placeholder: | + https://react.dev/ + validations: + required: true + - type: textarea + attributes: + label: Details + description: | + Please provide a explanation for why this is a mistake. + placeholder: | + Example mistake: + In the "useReducer" section of the "API Reference" page, the code example under "Writing a reducer function" includes an unused variable `nextId` that should be removed. + validations: + required: false diff --git a/.github/ISSUE_TEMPLATE/2-suggestion.yml b/.github/ISSUE_TEMPLATE/2-suggestion.yml new file mode 100644 index 00000000..ac0b480f --- /dev/null +++ b/.github/ISSUE_TEMPLATE/2-suggestion.yml @@ -0,0 +1,34 @@ +name: "💡 Suggestions" +description: "Suggest a new page, section, or edit for an existing page." +title: "[Suggestion]: " +labels: ["type: documentation"] +body: + - type: textarea + attributes: + label: Summary + description: | + A clear and concise summary of what we should add. + placeholder: | + Example: + Add a new page for how to use React with TypeScript. + validations: + required: true + - type: input + attributes: + label: Page + description: | + What page is this about? + placeholder: | + https://react.dev/ + validations: + required: false + - type: textarea + attributes: + label: Details + description: | + Please provide a explanation for what you're suggesting. + placeholder: | + Example: + I think it would be helpful to have a page that explains how to use React with TypeScript. This could include a basic example of a component written in TypeScript, and a link to the TypeScript documentation. + validations: + required: true diff --git a/.github/ISSUE_TEMPLATE/3-framework.yml b/.github/ISSUE_TEMPLATE/3-framework.yml new file mode 100644 index 00000000..a47295e1 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/3-framework.yml @@ -0,0 +1,116 @@ +name: "📄 Suggest new framework" +description: "I am a framework author applying to be included as a recommended framework." +title: "[Framework]: " +labels: ["type: framework"] +body: + - type: markdown + attributes: + value: | + ## Apply to be included as a recommended React framework + + _This form is for framework authors to apply to be included as a recommended [React framework](https://react.dev/learn/start-a-new-react-project). If you are not a framework author, please contact the authors before submitting._ + + Our goal when recommending a framework is to start developers with a React project that solves common problems like code splitting, data fetching, routing, and HTML generation without any extra work later. We believe this will allow users to get started quickly with React, and scale their app to production. + + While we understand that many frameworks may want to be featured, this page is not a place to advertise every possible React framework or all frameworks that you can add React to. There are many great frameworks that offer support for React that are not listed in our guides. The frameworks we recommend have invested significantly in the React ecosystem, and collaborated with the React team to be compatible with our [full-stack React architecture vision](https://react.dev/learn/start-a-new-react-project#which-features-make-up-the-react-teams-full-stack-architecture-vision). + + To be included, frameworks must meet the following criteria: + + - **Free & open-source**: must be open source and free to use. + - **Well maintained**. must be actively maintained, providing bug fixes and improvements. + - **Active community**: must have a sufficiently large and active community to support users. + - **Clear onboarding**: must have clear install steps to install the React version of the framework. + - **Ecosystem compatibility**: must support using the full range of libraries and tools in the React ecosystem. + - **Self-hosting option**: must support an option to self-host applications without losing access to features. + - **Developer experience**. must allow developers to be productive by supporting features like Fast Refresh. + - **User experience**. must provide built-in support for common problems like routing and data-fetching. + - **Compatible with our future vision for React**. React evolves over time, and frameworks that do not align with React’s direction risk isolating their users from the main React ecosystem over time. To be included on this page we must feel confident that the framework is setting its users up for success with React over time. + + Please note, we have reviewed most of the popular frameworks available today, so it is unlikely we have not considered your framework already. But if you think we missed something, please complete the application below. + - type: input + attributes: + label: Name + description: | + What is the name of your framework? + validations: + required: true + - type: input + attributes: + label: Homepage + description: | + What is the URL of your homepage? + validations: + required: true + - type: input + attributes: + label: Install instructions + description: | + What is the URL of your getting started guide? + validations: + required: true + - type: dropdown + attributes: + label: Is your framework open source? + description: | + We only recommend free and open source frameworks. + options: + - 'No' + - 'Yes' + validations: + required: true + - type: textarea + attributes: + label: Well maintained + description: | + Please describe how your framework is actively maintained. Include recent releases, bug fixes, and improvements as examples. + validations: + required: true + - type: textarea + attributes: + label: Active community + description: | + Please describe your community. Include the size of your community, and links to community resources. + validations: + required: true + - type: textarea + attributes: + label: Clear onboarding + description: | + Please describe how a user can install your framework with React. Include links to any relevant documentation. + validations: + required: true + - type: textarea + attributes: + label: Ecosystem compatibility + description: | + Please describe any limitations your framework has with the React ecosystem. Include any libraries or tools that are not compatible with your framework. + validations: + required: true + - type: textarea + attributes: + label: Self-hosting option + description: | + Please describe how your framework supports self-hosting. Include any limitations to features when self-hosting. Also include whether you require a server to deploy your framework. + validations: + required: true + - type: textarea + attributes: + label: Developer Experience + description: | + Please describe how your framework provides a great developer experience. Include any limitations to React features like React DevTools, Chrome DevTools, and Fast Refresh. + validations: + required: true + - type: textarea + attributes: + label: User Experience + description: | + Please describe how your framework helps developers create high quality user experiences by solving common use-cases. Include specifics for how your framework offers built-in support for code-splitting, routing, HTML generation, and data-fetching in a way that avoids client/server waterfalls by default. Include details on how you offer features such as SSG and SSR. + validations: + required: true + - type: textarea + attributes: + label: Compatible with our future vision for React + description: | + Please describe how your framework aligns with our future vision for React. Include how your framework will evolve with React over time, and your plans to support future React features like React Server Components. + validations: + required: true diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 00000000..63e310e0 --- /dev/null +++ b/.github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,7 @@ +contact_links: + - name: 📃 Bugs in React + url: https://github.com/facebook/react/issues/new/choose + about: This issue tracker is not for bugs in React. Please file React issues here. + - name: 🤔 Questions and Help + url: https://reactjs.org/community/support.html + about: This issue tracker is not for support questions. Please refer to the React community's help and discussion forums. From b07fe2ea96509014546716f7669f31906edddf89 Mon Sep 17 00:00:00 2001 From: Ricky <rickhanlonii@fb.com> Date: Thu, 1 Feb 2024 13:44:19 -0500 Subject: [PATCH 174/382] Tweak getting started guide (#6597) --- .../learn/start-a-new-react-project.md | 48 ++++++++++--------- 1 file changed, 25 insertions(+), 23 deletions(-) diff --git a/src/content/learn/start-a-new-react-project.md b/src/content/learn/start-a-new-react-project.md index a98e0966..bd5ba6c5 100644 --- a/src/content/learn/start-a-new-react-project.md +++ b/src/content/learn/start-a-new-react-project.md @@ -4,21 +4,40 @@ title: Start a New React Project <Intro> -If you want to build a new app or a new website fully with React, we recommend picking one of the React-powered frameworks popular in the community. Frameworks provide features that most apps and sites eventually need, including routing, data fetching, and generating HTML. +If you want to build a new app or a new website fully with React, we recommend picking one of the React-powered frameworks popular in the community. </Intro> -<Note> -**You need to install [Node.js](https://nodejs.org/en/) for local development.** You can *also* choose to use Node.js in production, but you don't have to. Many React frameworks support export to a static HTML/CSS/JS folder. +You can use React without a framework, however we’ve found that most apps and sites eventually build solutions to common problems such as code-splitting, routing, data fetching, and generating HTML. These problems are common to all UI libraries, not just React. -</Note> +By starting with a framework, you can get started with React quickly, and avoid essentially building your own framework later. + +<DeepDive> + +#### Can I use React without a framework? {/*can-i-use-react-without-a-framework*/} + +You can definitely use React without a framework--that's how you'd [use React for a part of your page.](/learn/add-react-to-an-existing-project#using-react-for-a-part-of-your-existing-page) **However, if you're building a new app or a site fully with React, we recommend using a framework.** + +Here's why. + +Even if you don't need routing or data fetching at first, you'll likely want to add some libraries for them. As your JavaScript bundle grows with every new feature, you might have to figure out how to split code for every route individually. As your data fetching needs get more complex, you are likely to encounter server-client network waterfalls that make your app feel very slow. As your audience includes more users with poor network conditions and low-end devices, you might need to generate HTML from your components to display content early--either on the server, or during the build time. Changing your setup to run some of your code on the server or during the build can be very tricky. + +**These problems are not React-specific. This is why Svelte has SvelteKit, Vue has Nuxt, and so on.** To solve these problems on your own, you'll need to integrate your bundler with your router and with your data fetching library. It's not hard to get an initial setup working, but there are a lot of subtleties involved in making an app that loads quickly even as it grows over time. You'll want to send down the minimal amount of app code but do so in a single client–server roundtrip, in parallel with any data required for the page. You'll likely want the page to be interactive before your JavaScript code even runs, to support progressive enhancement. You may want to generate a folder of fully static HTML files for your marketing pages that can be hosted anywhere and still work with JavaScript disabled. Building these capabilities yourself takes real work. + +**React frameworks on this page solve problems like these by default, with no extra work from your side.** They let you start very lean and then scale your app with your needs. Each React framework has a community, so finding answers to questions and upgrading tooling is easier. Frameworks also give structure to your code, helping you and others retain context and skills between different projects. Conversely, with a custom setup it's easier to get stuck on unsupported dependency versions, and you'll essentially end up creating your own framework—albeit one with no community or upgrade path (and if it's anything like the ones we've made in the past, more haphazardly designed). + +If your app has unusual constraints not served well by these frameworks, or you prefer to solve these problems yourself, you can roll your own custom setup with React. Grab `react` and `react-dom` from npm, set up your custom build process with a bundler like [Vite](https://vitejs.dev/) or [Parcel](https://parceljs.org/), and add other tools as you need them for routing, static generation or server-side rendering, and more. + +</DeepDive> ## Production-grade React frameworks {/*production-grade-react-frameworks*/} -### Next.js {/*nextjs*/} +These frameworks support all the features you need to deploy and scale your app in production and are working towards supporting our [full-stack architecture vision](#which-features-make-up-the-react-teams-full-stack-architecture-vision). All of the frameworks we recommend are open source with active communities for support, and can be deployed to your own server or a hosting provider. If you’re a framework author interested in being included on this list, [please let us know](https://github.com/reactjs/react.dev/issues/new?assignees=&labels=type%3A+framework&projects=&template=3-framework.yml&title=%5BFramework%5D%3A+). -**[Next.js](https://nextjs.org/) is a full-stack React framework.** It's versatile and lets you create React apps of any size--from a mostly static blog to a complex dynamic application. To create a new Next.js project, run in your terminal: +### Next.js {/*nextjs-pages-router*/} + +**[Next.js' Pages Router](https://nextjs.org/) is a full-stack React framework.** It's versatile and lets you create React apps of any size--from a mostly static blog to a complex dynamic application. To create a new Next.js project, run in your terminal: <TerminalBlock> npx create-next-app@latest @@ -64,23 +83,6 @@ If you're new to Expo, check out the [Expo tutorial](https://docs.expo.dev/tutor Expo is maintained by [Expo (the company)](https://expo.dev/about). Building apps with Expo is free, and you can submit them to the Google and Apple app stores without restrictions. Expo additionally provides opt-in paid cloud services. -<DeepDive> - -#### Can I use React without a framework? {/*can-i-use-react-without-a-framework*/} - -You can definitely use React without a framework--that's how you'd [use React for a part of your page.](/learn/add-react-to-an-existing-project#using-react-for-a-part-of-your-existing-page) **However, if you're building a new app or a site fully with React, we recommend using a framework.** - -Here's why. - -Even if you don't need routing or data fetching at first, you'll likely want to add some libraries for them. As your JavaScript bundle grows with every new feature, you might have to figure out how to split code for every route individually. As your data fetching needs get more complex, you are likely to encounter server-client network waterfalls that make your app feel very slow. As your audience includes more users with poor network conditions and low-end devices, you might need to generate HTML from your components to display content early--either on the server, or during the build time. Changing your setup to run some of your code on the server or during the build can be very tricky. - -**These problems are not React-specific. This is why Svelte has SvelteKit, Vue has Nuxt, and so on.** To solve these problems on your own, you'll need to integrate your bundler with your router and with your data fetching library. It's not hard to get an initial setup working, but there are a lot of subtleties involved in making an app that loads quickly even as it grows over time. You'll want to send down the minimal amount of app code but do so in a single client–server roundtrip, in parallel with any data required for the page. You'll likely want the page to be interactive before your JavaScript code even runs, to support progressive enhancement. You may want to generate a folder of fully static HTML files for your marketing pages that can be hosted anywhere and still work with JavaScript disabled. Building these capabilities yourself takes real work. - -**React frameworks on this page solve problems like these by default, with no extra work from your side.** They let you start very lean and then scale your app with your needs. Each React framework has a community, so finding answers to questions and upgrading tooling is easier. Frameworks also give structure to your code, helping you and others retain context and skills between different projects. Conversely, with a custom setup it's easier to get stuck on unsupported dependency versions, and you'll essentially end up creating your own framework—albeit one with no community or upgrade path (and if it's anything like the ones we've made in the past, more haphazardly designed). - -If you're still not convinced, or your app has unusual constraints not served well by these frameworks and you'd like to roll your own custom setup, we can't stop you--go for it! Grab `react` and `react-dom` from npm, set up your custom build process with a bundler like [Vite](https://vitejs.dev/) or [Parcel](https://parceljs.org/), and add other tools as you need them for routing, static generation or server-side rendering, and more. -</DeepDive> - ## Bleeding-edge React frameworks {/*bleeding-edge-react-frameworks*/} As we've explored how to continue improving React, we realized that integrating React more closely with frameworks (specifically, with routing, bundling, and server technologies) is our biggest opportunity to help React users build better apps. The Next.js team has agreed to collaborate with us in researching, developing, integrating, and testing framework-agnostic bleeding-edge React features like [React Server Components.](/blog/2023/03/22/react-labs-what-we-have-been-working-on-march-2023#react-server-components) From be8668c0ff4e308072c76110c3abb673ffde9702 Mon Sep 17 00:00:00 2001 From: saranyasri-s <87513003+saranyasri-s@users.noreply.github.com> Date: Fri, 2 Feb 2024 00:54:08 +0530 Subject: [PATCH 175/382] removed Unnecessary Horizontal Scrollbar in Learn Section - Reacting to Input with State subsection - First city quiz - index.js (#6591) --- src/styles/sandpack.css | 1 - 1 file changed, 1 deletion(-) diff --git a/src/styles/sandpack.css b/src/styles/sandpack.css index 1ae3d3bb..dee08769 100644 --- a/src/styles/sandpack.css +++ b/src/styles/sandpack.css @@ -211,7 +211,6 @@ html.dark .sp-wrapper { } .sandpack .sp-code-editor .cm-content { - overflow-x: auto; padding-bottom: 18px; } From 6ca0381a0762f1de4a49052700723664e92db030 Mon Sep 17 00:00:00 2001 From: Dhairya <dhairiya96@gmail.com> Date: Fri, 2 Feb 2024 00:13:26 +0100 Subject: [PATCH 176/382] Update conferences.md (#6598) --- src/content/community/conferences.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/content/community/conferences.md b/src/content/community/conferences.md index 74785e12..0e15359f 100644 --- a/src/content/community/conferences.md +++ b/src/content/community/conferences.md @@ -45,6 +45,11 @@ June 12 - June 14, 2024. Atlanta, GA, USA [Website](https://renderatl.com) - [Discord](https://www.renderatl.com/discord) - [Twitter](https://twitter.com/renderATL) - [Instagram](https://www.instagram.com/renderatl/) - [Facebook](https://www.facebook.com/renderatl/) - [LinkedIn](https://www.linkedin.com/company/renderatl) - [Podcast](https://www.renderatl.com/culture-and-code#/) +### React Norway 2024 {/*react-norway-2024*/} +June 14, 2024. In-person at Farris Bad Hotel in Larvik, Norway and online (hybrid event). + +[Website](https://reactnorway.com/) - [Twitter](https://twitter.com/ReactNorway) + ### React Nexus 2024 {/*react-nexus-2024*/} July 04 & 05, 2024. Bangalore, India (In-person event) From 8ba877204df91be1ba97ec9b4879ff5c4e4fe7bc Mon Sep 17 00:00:00 2001 From: David McCabe <davemccabe@gmail.com> Date: Fri, 2 Feb 2024 12:37:48 -0800 Subject: [PATCH 177/382] Initial Float docs for hoistable/semantic elements (#6486) * Initial Float docs for hoistable/semantic elements --- src/components/MDX/InlineCode.tsx | 3 +- src/components/MDX/MDXComponents.tsx | 2 + src/components/MDX/Sandpack/createFileMap.ts | 5 +- src/components/MDX/SandpackWithHTMLOutput.tsx | 85 +++++++ .../reference/react-dom/components/index.md | 14 ++ .../reference/react-dom/components/link.md | 228 ++++++++++++++++++ .../reference/react-dom/components/meta.md | 102 ++++++++ .../reference/react-dom/components/script.md | 149 ++++++++++++ .../reference/react-dom/components/style.md | 106 ++++++++ .../reference/react-dom/components/title.md | 98 ++++++++ src/sidebarReference.json | 25 ++ 11 files changed, 815 insertions(+), 2 deletions(-) create mode 100644 src/components/MDX/SandpackWithHTMLOutput.tsx create mode 100644 src/content/reference/react-dom/components/link.md create mode 100644 src/content/reference/react-dom/components/meta.md create mode 100644 src/content/reference/react-dom/components/script.md create mode 100644 src/content/reference/react-dom/components/style.md create mode 100644 src/content/reference/react-dom/components/title.md diff --git a/src/components/MDX/InlineCode.tsx b/src/components/MDX/InlineCode.tsx index d206e988..0e8db016 100644 --- a/src/components/MDX/InlineCode.tsx +++ b/src/components/MDX/InlineCode.tsx @@ -5,7 +5,8 @@ import cn from 'classnames'; interface InlineCodeProps { - isLink: boolean; + isLink?: boolean; + meta?: string; } function InlineCode({ isLink, diff --git a/src/components/MDX/MDXComponents.tsx b/src/components/MDX/MDXComponents.tsx index 3528a9a1..76bf86ea 100644 --- a/src/components/MDX/MDXComponents.tsx +++ b/src/components/MDX/MDXComponents.tsx @@ -19,6 +19,7 @@ import Link from './Link'; import {PackageImport} from './PackageImport'; import Recap from './Recap'; import Sandpack from './Sandpack'; +import SandpackWithHTMLOutput from './SandpackWithHTMLOutput'; import Diagram from './Diagram'; import DiagramGroup from './DiagramGroup'; import SimpleCallout from './SimpleCallout'; @@ -434,6 +435,7 @@ export const MDXComponents = { Recap, Recipes, Sandpack, + SandpackWithHTMLOutput, TeamMember, TerminalBlock, YouWillLearn, diff --git a/src/components/MDX/Sandpack/createFileMap.ts b/src/components/MDX/Sandpack/createFileMap.ts index 85c7f09b..615d34c9 100644 --- a/src/components/MDX/Sandpack/createFileMap.ts +++ b/src/components/MDX/Sandpack/createFileMap.ts @@ -11,7 +11,10 @@ export const SUPPORTED_FILES = [AppJSPath, StylesCSSPath]; export const createFileMap = (codeSnippets: any) => { return codeSnippets.reduce( (result: Record<string, SandpackFile>, codeSnippet: React.ReactElement) => { - if ((codeSnippet.type as any).mdxName !== 'pre') { + if ( + (codeSnippet.type as any).mdxName !== 'pre' && + codeSnippet.type !== 'pre' + ) { return result; } const {props} = codeSnippet.props.children; diff --git a/src/components/MDX/SandpackWithHTMLOutput.tsx b/src/components/MDX/SandpackWithHTMLOutput.tsx new file mode 100644 index 00000000..134da658 --- /dev/null +++ b/src/components/MDX/SandpackWithHTMLOutput.tsx @@ -0,0 +1,85 @@ +import {Children, memo} from 'react'; +import InlineCode from './InlineCode'; +import Sandpack from './Sandpack'; + +const ShowRenderedHTML = ` +import { renderToStaticMarkup } from 'react-dom/server'; +import formatHTML from './formatHTML.js'; + +export default function ShowRenderedHTML({children}) { + const markup = renderToStaticMarkup( + <html> + <head /> + <body>{children}</body> + </html> + ); + return ( + <> + <h1>Rendered HTML:</h1> + <pre> + {formatHTML(markup)} + </pre> + </> + ); +}`; + +const formatHTML = ` +import format from 'html-format'; + +export default function formatHTML(markup) { + // Cheap tricks to format the HTML readably -- haven't been able to + // find a package that runs in browser and prettifies the HTML if it + // lacks line-breaks. + return format(markup + .replace('<html>', '<html>\\n') + .replace('<head>', '<head>\\n') + .replaceAll(/<\\/script>/g, '<\\/script>\\n') + .replaceAll(/<style([^>]*)\\/>/g, '<style $1/>\\n\\n') + .replaceAll(/<\\/style>/g, '\\n <\\/style>\\n') + .replaceAll(/<link([^>]*)\\/>/g, '<link $1/>\\n') + .replaceAll(/<meta([^/]*)\\/>/g, '<meta $1/>\\n') + .replace('</head>', '</head>\\n') + .replace('<body>', '<body>\\n') + .replace('</body>', '\\n</body>\\n') + .replace('</h1>', '</h1>\\n') + ); +} +`; + +const packageJSON = ` +{ + "dependencies": { + "react": "18.3.0-canary-6db7f4209-20231021", + "react-dom": "18.3.0-canary-6db7f4209-20231021", + "react-scripts": "^5.0.0", + "html-format": "^1.1.2" + }, + "main": "/index.js", + "devDependencies": {} +} +`; + +// Intentionally not a React component because <Sandpack> will read +// through its childrens' props. This imitates the output of ``` +// codeblocks in MDX. +function createFile(meta: string, source: string) { + return ( + <pre key={meta}> + <InlineCode meta={meta} className="language-js"> + {source} + </InlineCode> + </pre> + ); +} + +export default memo(function SandpackWithHTMLOutput( + props: React.ComponentProps<typeof Sandpack> +) { + const children = [ + ...Children.toArray(props.children), + createFile('ShowRenderedHTML.js', ShowRenderedHTML), + createFile('formatHTML.js hidden', formatHTML), + createFile('package.json hidden', packageJSON), + ]; + return <Sandpack {...props}>{children}</Sandpack>; +}); diff --git a/src/content/reference/react-dom/components/index.md b/src/content/reference/react-dom/components/index.md index 877ff97f..c9b355c8 100644 --- a/src/content/reference/react-dom/components/index.md +++ b/src/content/reference/react-dom/components/index.md @@ -32,6 +32,20 @@ They are special in React because passing the `value` prop to them makes them *[ --- +## Resource and Metadata Components {/*resource-and-metadata-components*/} + +These bulit-in browser components let you load external resources or annotate the document with metadata: + +* [`<link>`](/reference/react-dom/components/link) +* [`<meta>`](/reference/react-dom/components/meta) +* [`<script>`](/reference/react-dom/components/script) +* [`<style>`](/reference/react-dom/components/style) +* [`<title>`](/reference/react-dom/components/title) + +They are special in React because React can render them into the document head, suspend while resources are loading, and enact other behaviors that are described on the reference page for each specific component. + +--- + ## All HTML components {/*all-html-components*/} React supports all built-in browser HTML components. This includes: diff --git a/src/content/reference/react-dom/components/link.md b/src/content/reference/react-dom/components/link.md new file mode 100644 index 00000000..890cf090 --- /dev/null +++ b/src/content/reference/react-dom/components/link.md @@ -0,0 +1,228 @@ +--- +link: "<link>" +canary: true +--- + +<Canary> + +React's extensions to `<link>` are currently only available in React's canary and experimental channels. In stable releases of React `<link>` works only as a [built-in browser HTML component](https://react.dev/reference/react-dom/components#all-html-components). Learn more about [React's release channels here](/community/versioning-policy#all-release-channels). + +</Canary> + +<Intro> + +The [built-in browser `<link>` component](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/link) lets you use external resources such as stylesheets or annotate the document with link metadata. + +```js +<link rel="icon" href="favicon.ico" /> +``` + +</Intro> + +<InlineToc /> + +--- + +## Reference {/*reference*/} + +### `<link>` {/*link*/} + +To link to external resources such as stylesheets, fonts, and icons, or to annotate the document with link metadata, render the [built-in browser `<link>` component](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/link). You can render `<link>` from any component and React will [in most cases](#special-rendering-behavior) place the corresponding DOM element in the document head. + +```js +<link rel="icon" href="favicon.ico" /> +``` + +[See more examples below.](#usage) + +#### Props {/*props*/} + +`<link>` supports all [common element props.](/reference/react-dom/components/common#props) + +* `rel`: a string, required. Specifies the [relationship to the resource](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/rel). React [treats links with `rel="stylesheet"` differently](#special-rendering-behavior) from other links. + +These props apply when `rel="stylesheet"`: + +* `precedence`: a string. Tells React where to rank the `<link>` DOM node relative to others in the document `<head>`, which determines which stylesheet can override the other. Its value can be (in order of precedence) `"reset"`, `"low"`, `"medium"`, `"high"`. Stylesheets with the same precedence go together whether they are `<link>` or inline `<style>` tags or loaded using the [`preload`](/reference/react-dom/preload) or [`preinit`](/reference/react-dom/preinit) functions. +* `media`: a string. Restricts the spreadsheet to a certain [media query](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_media_queries/Using_media_queries). +* `title`: a string. Specifies the name of an [alternative stylesheet](https://developer.mozilla.org/en-US/docs/Web/CSS/Alternative_style_sheets). + +These props apply when `rel="stylesheet"` but disable React's [special treatment of stylesheets](#special-rendering-behavior): + +* `disabled`: a boolean. Disables the spreadsheet. +* `onError`: a function. Called when the stylesheet fails to load. +* `onLoad`: a function. Called when the stylesheet finishes being loaded. + +These props apply when `rel="preload"` or `rel="modulepreload"`: + +* `as`: a string. The type of resource. Its possible values are `audio`, `document`, `embed`, `fetch`, `font`, `image`, `object`, `script`, `style`, `track`, `video`, `worker`. +* `imageSrcSet`: a string. Applicable only when `as="image"`. Specifies the [source set of the image](https://developer.mozilla.org/en-US/docs/Learn/HTML/Multimedia_and_embedding/Responsive_images). +* `imageSizes`: a string. Applicable only when `as="image"`. Specifies the [sizes of the image](https://developer.mozilla.org/en-US/docs/Learn/HTML/Multimedia_and_embedding/Responsive_images). + +These props apply when `rel="icon"` or `rel="apple-touch-icon"`: + +* `sizes`: a string. The [sizes of the icon](https://developer.mozilla.org/en-US/docs/Learn/HTML/Multimedia_and_embedding/Responsive_images). + +These props apply in all cases: + +* `href`: a string. The URL of the linked resource. +* `crossOrigin`: a string. The [CORS policy](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/crossorigin) to use. Its possible values are `anonymous` and `use-credentials`. It is required when `as` is set to `"fetch"`. +* `referrerPolicy`: a string. The [Referrer header](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/link#referrerpolicy) to send when fetching. Its possible values are `no-referrer-when-downgrade` (the default), `no-referrer`, `origin`, `origin-when-cross-origin`, and `unsafe-url`. +* `fetchPriority`: a string. Suggests a relative priority for fetching the resource. The possible values are `auto` (the default), `high`, and `low`. +* `hrefLang`: a string. The language of the linked resource. +* `integrity`: a string. A cryptographic hash of the resource, to [verify its authenticity](https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity). +* `type`: a string. The MIME type of the linked resource. + +Props that are **not recommended** for use with React: + +* `blocking`: a string. If set to `"render"`, instructs the browser not to render the page until the stylesheet is loaded. React provides more fine-grained control using Suspense. + +#### Special rendering behavior {/*special-rendering-behavior*/} + +React will always place the DOM element corresponding to the `<link>` component within the document’s `<head>`, regardless of where in the React tree it is rendered. The `<head>` is the only valid place for `<link>` to exist within the DOM, yet it’s convenient and keeps things composable if a component representing a specific page can render `<link>` components itself. + +There are a few exceptions to this: + +* If the `<link>` has a `rel="stylesheet"` prop, then it has to also have a `precedence` prop to get this special behavior. This is because the order of stylesheets within the document is significant, so React needs to know how to order this stylesheet relative to others, which you specify using the `precedence` prop. If the `precedence` prop is omitted, there is no special behavior. +* If the `<link>` has an [`itemProp`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/itemprop) prop, there is no special behavior, because in this case it doesn’t apply to the document but instead represents metadata about a specific part of the page. +* If the `<link>` has an `onLoad` or `onError` prop, because in that case you are managing the loading of the linked resource manually within your React component. + +#### Special behavior for stylesheets {/*special-behavior-for-stylesheets*/} + +In addition, if the `<link>` is to a stylesheet (namely, it has `rel="stylesheet"` in its props), React treats it specially in the following ways: + +* The component that renders `<link>` will [suspend](http://localhost:3000/reference/react/Suspense) while the stylesheet is loading. +* If multiple components render links to the same stylesheet, React will de-duplicate them and only put a single link into the DOM. Two links are considered the same if they have the same `href` prop. + +There are two exception to this special behavior: + +* If the link doesn't have a `precedence` prop, there is no special behavior, because the order of stylesheets within the document is significant, so React needs to know how to order this stylesheet relative to others, which you specify using the `precedence` prop. +* If you supply any of the `onLoad`, `onError`, or `disabled` props, there is no special behavior, because these props indicate that you are managing the loading of the stylesheet manually within your component. + +This special treatment comes with two caveats: + +* React will ignore changes to props after the link has been rendered. (React will issue a warning in development if this happens.) +* React may leave the link in the DOM even after the component that rendered it has been unmounted. + +--- + +## Usage {/*usage*/} + +### Linking to related resources {/*linking-to-related-resources*/} + +You can annotate the document with links to related resources such as an icon, canonical URL, or pingback. React will place this metadata within the document `<head>` regardless of where in the React tree it is rendered. + +<SandpackWithHTMLOutput> + +```js App.js active +import ShowRenderedHTML from './ShowRenderedHTML.js'; + +export default function BlogPage() { + return ( + <ShowRenderedHTML> + <link rel="icon" href="favicon.ico" /> + <link rel="pingback" href="http://www.example.com/xmlrpc.php" /> + <h1>My Blog</h1> + <p>...</p> + </ShowRenderedHTML> + ); +} +``` + +</SandpackWithHTMLOutput> + +### Linking to a stylesheet {/*linking-to-a-stylesheet*/} + +If a component depends on a certain stylesheet in order to be displayed correctly, you can render a link to that stylesheet within the component. Your component will [suspend](http://localhost:3000/reference/react/Suspense) while the stylesheet is loading. You must supply the `precedence` prop, which tells React where to place this stylesheet relative to others — stylesheets with higher precedence can override those with lower precedence. + +<Note> +When you want to use a stylesheet, it can be beneficial to call the [preinit](/reference/react-dom/preinit) function. Calling this function may allow the browser to start fetching the stylesheet earlier than if you just render a `<link>` component, for example by sending an [HTTP Early Hints response](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/103). +</Note> + +<SandpackWithHTMLOutput> + +```js App.js active +import ShowRenderedHTML from './ShowRenderedHTML.js'; + +export default function SiteMapPage() { + return ( + <ShowRenderedHTML> + <link rel="stylesheet" href="sitemap.css" precedence="medium" /> + <p>...</p> + </ShowRenderedHTML> + ); +} +``` + +</SandpackWithHTMLOutput> + +### Controlling stylesheet precedence {/*controlling-stylesheet-precedence*/} + +Stylesheets can conflict with each other, and when they do, the browser goes with the one that comes later in the document. React lets you control the order of stylesheets with the `precedence` prop. In this example, two components render stylesheets, and the one with the higher precedence goes later in the document even though the component that renders it comes earlier. + +{/*FIXME: this doesn't appear to actually work -- I guess precedence isn't implemented yet?*/} + +<SandpackWithHTMLOutput> + +```js App.js active +import ShowRenderedHTML from './ShowRenderedHTML.js'; + +export default function HomePage() { + return ( + <ShowRenderedHTML> + <FirstComponent /> + <SecondComponent /> + ... + </ShowRenderedHTML> + ); +} + +function FirstComponent() { + return <link rel="stylesheet" href="first.css" precedence="high" />; +} + +function SecondComponent() { + return <link rel="stylesheet" href="second.css" precedence="low" />; +} + +``` + +</SandpackWithHTMLOutput> + +### Deduplicated stylesheet rendering {/*deduplicated-stylesheet-rendering*/} + +If you render the same stylesheet from multiple components, React will place only a single `<link>` in the document head. + +<SandpackWithHTMLOutput> + +```js App.js active +import ShowRenderedHTML from './ShowRenderedHTML.js'; + +export default function HomePage() { + return ( + <ShowRenderedHTML> + <Component /> + <Component /> + ... + </ShowRenderedHTML> + ); +} + +function Component() { + return <link rel="stylesheet" href="styles.css" precedence="medium" />; +} +``` + +</SandpackWithHTMLOutput> + +### Annotating specific items within the document with links {/*annotating-specific-items-within-the-document-with-links*/} + +You can use the `<link>` component with the `itemProp` prop to annotate specific items within the document with links to related resources. In this case, React will *not* place these annotations within the document `<head>` but will place them like any other React component. + +```js +<section itemScope> + <h3>Annotating specific items</h3> + <link itemProp="author" href="http://example.com/" /> + <p>...</p> +</section> +``` diff --git a/src/content/reference/react-dom/components/meta.md b/src/content/reference/react-dom/components/meta.md new file mode 100644 index 00000000..8489d4a4 --- /dev/null +++ b/src/content/reference/react-dom/components/meta.md @@ -0,0 +1,102 @@ +--- +meta: "<meta>" +canary: true +--- + +<Canary> + +React's extensions to `<meta>` are currently only available in React's canary and experimental channels. In stable releases of React `<meta>` works only as a [built-in browser HTML component](https://react.dev/reference/react-dom/components#all-html-components). Learn more about [React's release channels here](/community/versioning-policy#all-release-channels). + +</Canary> + + +<Intro> + +The [built-in browser `<meta>` component](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta) lets you add metadata to the document. + +```js +<meta name="keywords" content="React, JavaScript, semantic markup, html" /> +``` + +</Intro> + +<InlineToc /> + +--- + +## Reference {/*reference*/} + +### `<meta>` {/*meta*/} + +To add document metadata, render the [built-in browser `<meta>` component](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta). You can render `<meta>` from any component and React will always place the corresponding DOM element in the document head. + +```js +<meta name="keywords" content="React, JavaScript, semantic markup, html" /> +``` + +[See more examples below.](#usage) + +#### Props {/*props*/} + +`<meta>` supports all [common element props.](/reference/react-dom/components/common#props) + +It should have *exactly one* of the following props: `name`, `httpEquiv`, `charset`, `itemProp`. The `<meta>` component does something different depending on which of these props is specified. + +* `name`: a string. Specifies the [kind of metadata](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta/name) to be attached to the document. +* `charset`: a string. Specifies the character set used by the document. The only valid value is `"utf-8"`. +* `httpEquiv`: a string. Specifies a directive for processing the document. +* `itemProp`: a string. Specifies metadata about a particular item within the document rather than the document as a whole. +* `content`: a string. Specifies the metadata to be attached when used with the `name` or `itemProp` props or the behavior of the directive when used with the `httpEquiv` prop. + +#### Special rendering behavior {/*special-rendering-behavior*/} + +React will always place the DOM element corresponding to the `<meta>` component within the document’s `<head>`, regardless of where in the React tree it is rendered. The `<head>` is the only valid place for `<meta>` to exist within the DOM, yet it’s convenient and keeps things composable if a component representing a specific page can render `<meta>` components itself. + +There is one exception to this: if `<meta>` has an [`itemProp`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/itemprop) prop, there is no special behavior, because in this case it doesn’t represent metadata about the document but rather metadata about a specific part of the page. + +--- + +## Usage {/*usage*/} + +### Annotating the document with metadata {/*annotating-the-document-with-metadata*/} + +You can annotate the document with metadata such as keywords, a summary, or the author’s name. React will place this metadata within the document `<head>` regardless of where in the React tree it is rendered. + +```html +<meta name="author" content="John Smith" /> +<meta name="keywords" content="React, JavaScript, semantic markup, html" /> +<meta name="description" content="API reference for the <meta> component in React DOM" /> +``` + +You can render the `<meta>` component from any component. React will put a `<meta>` DOM node in the document `<head>`. + +<SandpackWithHTMLOutput> + +```js App.js active +import ShowRenderedHTML from './ShowRenderedHTML.js'; + +export default function SiteMapPage() { + return ( + <ShowRenderedHTML> + <meta name="keywords" content="React" /> + <meta name="description" content="A site map for the React website" /> + <h1>Site Map</h1> + <p>...</p> + </ShowRenderedHTML> + ); +} +``` + +</SandpackWithHTMLOutput> + +### Annotating specific items within the document with metadata {/*annotating-specific-items-within-the-document-with-metadata*/} + +You can use the `<meta>` component with the `itemProp` prop to annotate specific items within the document with metadata. In this case, React will *not* place these annotations within the document `<head>` but will place them like any other React component. + +```js +<section itemScope> + <h3>Annotating specific items</h3> + <meta itemProp="description" content="API reference for using <meta> with itemProp" /> + <p>...</p> +</section> +``` diff --git a/src/content/reference/react-dom/components/script.md b/src/content/reference/react-dom/components/script.md new file mode 100644 index 00000000..50c0af80 --- /dev/null +++ b/src/content/reference/react-dom/components/script.md @@ -0,0 +1,149 @@ +--- +script: "<script>" +canary: true +--- + +<Canary> + +React's extensions to `<script>` are currently only available in React's canary and experimental channels. In stable releases of React `<script>` works only as a [built-in browser HTML component](https://react.dev/reference/react-dom/components#all-html-components). Learn more about [React's release channels here](/community/versioning-policy#all-release-channels). + +</Canary> + +<Intro> + +The [built-in browser `<script>` component](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script) lets you add a script to your document. + +```js +<script> alert("hi!") </script> +``` + +</Intro> + +<InlineToc /> + +--- + +## Reference {/*reference*/} + +### `<script>` {/*script*/} + +To add inline or external scripts to your document, render the [built-in browser `<script>` component](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script). You can render `<script>` from any component and React will [in certain cases](#special-rendering-behavior) place the corresponding DOM element in the document head and de-duplicate identical scripts. + +```js +<script> alert("hi!") </script> +<script src="script.js" /> +``` + +[See more examples below.](#usage) + +#### Props {/*props*/} + +`<script>` supports all [common element props.](/reference/react-dom/components/common#props) + +It should have *either* `children` or a `src` prop. + +* `children`: a string. The source code of an inline script. +* `src`: a string. The URL of an external script. + +Other supported props: + +* `async`: a boolean. Allows the browser to defer execution of the script until the rest of the document has been processed — the preferred behavior for performance. +* `crossOrigin`: a string. The [CORS policy](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/crossorigin) to use. Its possible values are `anonymous` and `use-credentials`. +* `fetchPriority`: a string. Lets the browser rank scripts in priority when fetching multiple scripts at the same time. Can be `"high"`, `"low"`, or `"auto"` (the default). +* `integrity`: a string. A cryptographic hash of the script, to [verify its authenticity](https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity). +* `noModule`: a boolean. Disables the script in browsers that support ES modules — allowing for a fallback script for browsers that do not. +* `nonce`: a string. A cryptographic [nonce to allow the resource](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/nonce) when using a strict Content Security Policy. +* `referrer`: a string. Says [what Referer header to send](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script#referrerpolicy) when fetching the script and any resources that the script fetches in turn. +* `type`: a string. Says whether the script is a [classic script, ES module, or import map](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script/type). + +Props that disable React's [special treatment of scripts](#special-rendering-behavior): + +* `onError`: a function. Called when the script fails to load. +* `onLoad`: a function. Called when the script finishes being loaded. + +Props that are **not recommended** for use with React: + +* `blocking`: a string. If set to `"render"`, instructs the browser not to render the page until the scriptsheet is loaded. React provides more fine-grained control using Suspense. +* `defer`: a string. Prevents the browser from executing the script until the document is done loading. Not compatible with streaming server-rendered components. Use the `async` prop instead. + +#### Special rendering behavior {/*special-rendering-behavior*/} + +React can move `<script>` components to the document's `<head>`, de-duplicate identical scripts, and [suspend](http://localhost:3000/reference/react/Suspense) while the script is loading. + +To opt into this behavior, provide the `src` and `async={true}` props. React will de-duplicate scripts if they have the same `src`. The `async` prop must be true to allow scripts to be safely moved. + +If you supply any of the `onLoad` or `onError` props, there is no special behavior, because these props indicate that you are managing the loading of the script manually within your component. + +This special treatment comes with two caveats: + +* React will ignore changes to props after the script has been rendered. (React will issue a warning in development if this happens.) +* React may leave the script in the DOM even after the component that rendered it has been unmounted. (This has no effect as scripts just execute once when they are inserted into the DOM.) + +--- + +## Usage {/*usage*/} + +### Rendering an external script {/*rendering-an-external-script*/} + +If a component depends on certain scripts in order to be displayed correctly, you can render a `<script>` within the component. + +If you supply an `src` and `async` prop, your component will suspend while the script is loading. React will de-duplicate scripts that have the same `src`, inserting only one of them into the DOM even if multiple components render it. + +<SandpackWithHTMLOutput> + +```js App.js active +import ShowRenderedHTML from './ShowRenderedHTML.js'; + +function Map({lat, long}) { + return ( + <> + <script async src="map-api.js" /> + <div id="map" data-lat={lat} data-long={long} /> + </> + ); +} + +export default function Page() { + return ( + <ShowRenderedHTML> + <Map /> + </ShowRenderedHTML> + ); +} +``` + +</SandpackWithHTMLOutput> + +<Note> +When you want to use a script, it can be beneficial to call the [preinit](/reference/react-dom/preinit) function. Calling this function may allow the browser to start fetching the script earlier than if you just render a `<script>` component, for example by sending an [HTTP Early Hints response](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/103). +</Note> + +### Rendering an inline script {/*rendering-an-inline-script*/} + +To include an inline script, render the `<script>` component with the script source code as its children. Inline scripts are not de-duplicated or moved to the document `<head>`, and since they don't load any external resources, they will not cause your component to suspend. + +<SandpackWithHTMLOutput> + +```js App.js active +import ShowRenderedHTML from './ShowRenderedHTML.js'; + +function Tracking() { + return ( + <script> + ga('send', 'pageview'); + </script> + ); +} + +export default function Page() { + return ( + <ShowRenderedHTML> + <h1>My Website</h1> + <Tracking /> + <p>Welcome</p> + </ShowRenderedHTML> + ); +} +``` + +</SandpackWithHTMLOutput> \ No newline at end of file diff --git a/src/content/reference/react-dom/components/style.md b/src/content/reference/react-dom/components/style.md new file mode 100644 index 00000000..f5cf231a --- /dev/null +++ b/src/content/reference/react-dom/components/style.md @@ -0,0 +1,106 @@ +--- +style: "<style>" +canary: true +--- + +<Canary> + +React's extensions to `<style>` are currently only available in React's canary and experimental channels. In stable releases of React `<style>` works only as a [built-in browser HTML component](https://react.dev/reference/react-dom/components#all-html-components). Learn more about [React's release channels here](/community/versioning-policy#all-release-channels). + +</Canary> + +<Intro> + +The [built-in browser `<style>` component](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/style) lets you add inline CSS stylesheets to your document. + +```js +<style> p { color: red; } </style> +``` + +</Intro> + +<InlineToc /> + +--- + +## Reference {/*reference*/} + +### `<style>` {/*style*/} + +To add inline styles to your document, render the [built-in browser `<style>` component](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/style). You can render `<style>` from any component and React will [in certain cases](#special-rendering-behavior) place the corresponding DOM element in the document head and de-duplicate identical styles. + +```js +<style> p { color: red; } </style> +``` + +[See more examples below.](#usage) + +#### Props {/*props*/} + +`<style>` supports all [common element props.](/reference/react-dom/components/common#props) + +* `children`: a string, required. The contents of the stylesheet. +* `precedence`: a string. Tells React where to rank the `<style>` DOM node relative to others in the document `<head>`, which determines which stylesheet can override the other. Its value can be (in order of precedence) `"reset"`, `"low"`, `"medium"`, `"high"`. Stylesheets with the same precedence go together whether they are `<link>` or inline `<style>` tags or loaded using the [`preload`](/reference/react-dom/preload) or [`preinit`](/reference/react-dom/preinit) functions. +* `href`: a string. Allows React to [de-duplicate styles](#special-rendering-behavior) that have the same `href`. +* `media`: a string. Restricts the spreadsheet to a certain [media query](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_media_queries/Using_media_queries). +* `nonce`: a string. A cryptographic [nonce to allow the resource](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/nonce) when using a strict Content Security Policy. +* `title`: a string. Specifies the name of an [alternative stylesheet](https://developer.mozilla.org/en-US/docs/Web/CSS/Alternative_style_sheets). + +Props that are **not recommended** for use with React: + +* `blocking`: a string. If set to `"render"`, instructs the browser not to render the page until the stylesheet is loaded. React provides more fine-grained control using Suspense. + +#### Special rendering behavior {/*special-rendering-behavior*/} + +React can move `<style>` components to the document's `<head>`, de-duplicate identical stylesheets, and [suspend](http://localhost:3000/reference/react/Suspense) while the stylesheet is loading. + +To opt into this behavior, provide the `href` and `precedence` props. React will de-duplicate styles if they have the same `href`. The precedence prop tells React where to rank the `<style>` DOM node relative to others in the document `<head>`, which determines which stylesheet can override the other. + +This special treatment comes with two caveats: + +* React will ignore changes to props after the style has been rendered. (React will issue a warning in development if this happens.) +* React may leave the style in the DOM even after the component that rendered it has been unmounted. + +--- + +## Usage {/*usage*/} + +### Rendering an inline CSS stylesheet {/*rendering-an-inline-css-stylesheet*/} + +If a component depends on certain CSS styles in order to be displayed correctly, you can render an inline stylesheet within the component. + +If you supply an `href` and `precedence` prop, your component will suspend while the stylesheet is loading. (Even with inline stylesheets, there may be a loading time due to fonts and images that the stylesheet refers to.) The `href` prop should uniquely identify the stylesheet, because React will de-duplicate stylesheets that have the same `href`. + +<SandpackWithHTMLOutput> + +```js App.js active +import ShowRenderedHTML from './ShowRenderedHTML.js'; +import { useId } from 'react'; + +function PieChart({data, colors}) { + const id = useId(); + const stylesheet = colors.map((color, index) => + `#${id} .color-${index}: \{ color: "${color}"; \}` + ).join(); + return ( + <> + <style href={"PieChart-" + JSON.stringify(colors)} precedence="medium"> + {stylesheet} + </style> + <svg id={id}> + … + </svg> + </> + ); +} + +export default function App() { + return ( + <ShowRenderedHTML> + <PieChart data="..." colors={['red', 'green', 'blue']} /> + </ShowRenderedHTML> + ); +} +``` + +</SandpackWithHTMLOutput> diff --git a/src/content/reference/react-dom/components/title.md b/src/content/reference/react-dom/components/title.md new file mode 100644 index 00000000..9d6ed18c --- /dev/null +++ b/src/content/reference/react-dom/components/title.md @@ -0,0 +1,98 @@ +--- +title: "<title>" +canary: true +--- + +<Canary> + +React's extensions to `<title>` are currently only available in React's canary and experimental channels. In stable releases of React `<title>` works only as a [built-in browser HTML component](https://react.dev/reference/react-dom/components#all-html-components). Learn more about [React's release channels here](/community/versioning-policy#all-release-channels). + +</Canary> + + +<Intro> + +The [built-in browser `<title>` component](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/title) lets you specify the title of the document. + +```js +<title>My Blog</title> +``` + +</Intro> + +<InlineToc /> + +--- + +## Reference {/*reference*/} + +### `<title>` {/*title*/} + +To specify the title of the document, render the [built-in browser `<title>` component](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/title). You can render `<title>` from any component and React will always place the corresponding DOM element in the document head. + +```js +<title>My Blog</title> +``` + +[See more examples below.](#usage) + +#### Props {/*props*/} + +`<title>` supports all [common element props.](/reference/react-dom/components/common#props) + +* `children`: `<title>` accepts only text as a child. This text will become the title of the document. You can also pass your own components as long as they only render text. + +#### Special rendering behavior {/*special-rendering-behavior*/} + +React will always place the DOM element corresponding to the `<title>` component within the document’s `<head>`, regardless of where in the React tree it is rendered. The `<head>` is the only valid place for `<title>` to exist within the DOM, yet it’s convenient and keeps things composable if a component representing a specific page can render its `<title>` itself. + +There are two exception to this: +* If `<title>` is within an `<svg>` component, then there is no special behavior, because in this context it doesn’t represent the document’s title but rather is an [accessibility annotation for that SVG graphic](https://developer.mozilla.org/en-US/docs/Web/SVG/Element/title). +* If the `<title>` has an [`itemProp`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/itemprop) prop, there is no special behavior, because in this case it doesn’t represent the document’s title but rather metadata about a specific part of the page. + +<Pitfall> + +Only render a single `<title>` at a time. If more than one component renders a `<title>` tag at the same time, React will place all of those titles in the document head. When this happens, the behavior of browsers and search engines is undefined. + +</Pitfall> + +--- + +## Usage {/*usage*/} + +### Set the document title {/*set-the-document-title*/} + +Render the `<title>` component from any component with text as its children. React will put a `<title>` DOM node in the document `<head>`. + +<SandpackWithHTMLOutput> + +```js App.js active +import ShowRenderedHTML from './ShowRenderedHTML.js'; + +export default function ContactUsPage() { + return ( + <ShowRenderedHTML> + <title>My Site: Contact Us</title> + <h1>Contact Us</h1> + <p>Email us at support@example.com</p> + </ShowRenderedHTML> + ); +} +``` + +</SandpackWithHTMLOutput> + +### Use variables in the title {/*use-variables-in-the-title*/} + +The children of the `<title>` component must be a single string of text. (Or a single number or a single object with a `toString` method.) It might not be obvious, but using JSX curly braces like this: + +```js +<title>Results page {pageNumber}</title> // 🔴 Problem: This is not a single string +``` + +... actually causes the `<title>` component to get a two-element array as its children (the string `"Results page"` and the value of `pageNumber`). This will cause an error. Instead, use string interpolation to pass `<title>` a single string: + +```js +<title>{`Results page ${pageNumber}`}</title> +``` + diff --git a/src/sidebarReference.json b/src/sidebarReference.json index 315ea3e0..08e0132a 100644 --- a/src/sidebarReference.json +++ b/src/sidebarReference.json @@ -218,6 +218,31 @@ { "title": "<textarea>", "path": "/reference/react-dom/components/textarea" + }, + { + "title": "<link>", + "path": "/reference/react-dom/components/link", + "canary": true + }, + { + "title": "<meta>", + "path": "/reference/react-dom/components/meta", + "canary": true + }, + { + "title": "<script>", + "path": "/reference/react-dom/components/script", + "canary": true + }, + { + "title": "<style>", + "path": "/reference/react-dom/components/style", + "canary": true + }, + { + "title": "<title>", + "path": "/reference/react-dom/components/title", + "canary": true } ] }, From 2372ecf920ac4cda7c900f9ac7f9c0cd4284f281 Mon Sep 17 00:00:00 2001 From: David McCabe <davemccabe@gmail.com> Date: Fri, 2 Feb 2024 12:38:09 -0800 Subject: [PATCH 178/382] Initial docs for DOM static resource loading functions (#6459) * Initial docs for Float functions: preconnect, prefetchDNS, preinit, preinitModule, preload, preloadModule --- src/content/reference/react-dom/index.md | 13 ++ src/content/reference/react-dom/preconnect.md | 96 ++++++++++ .../reference/react-dom/prefetchDNS.md | 96 ++++++++++ src/content/reference/react-dom/preinit.md | 133 ++++++++++++++ .../reference/react-dom/preinitModule.md | 106 +++++++++++ src/content/reference/react-dom/preload.md | 171 ++++++++++++++++++ .../reference/react-dom/preloadModule.md | 107 +++++++++++ src/sidebarReference.json | 30 +++ 8 files changed, 752 insertions(+) create mode 100644 src/content/reference/react-dom/preconnect.md create mode 100644 src/content/reference/react-dom/prefetchDNS.md create mode 100644 src/content/reference/react-dom/preinit.md create mode 100644 src/content/reference/react-dom/preinitModule.md create mode 100644 src/content/reference/react-dom/preload.md create mode 100644 src/content/reference/react-dom/preloadModule.md diff --git a/src/content/reference/react-dom/index.md b/src/content/reference/react-dom/index.md index fb5fd48b..80fd58fa 100644 --- a/src/content/reference/react-dom/index.md +++ b/src/content/reference/react-dom/index.md @@ -17,6 +17,19 @@ These APIs can be imported from your components. They are rarely used: * [`createPortal`](/reference/react-dom/createPortal) lets you render child components in a different part of the DOM tree. * [`flushSync`](/reference/react-dom/flushSync) lets you force React to flush a state update and update the DOM synchronously. +## Resource Preloading APIs {/*resource-preloading-apis*/} + +These APIs can be used to make apps faster by pre-loading resources such as scripts, stylesheets, and fonts as soon as you know you need them, for example before navigating to another page where the resources will be used. + +[React-based frameworks](/learn/start-a-new-react-project) frequently handle resource loading for you, so you might not have to call these APIs yourself. Consult your framework's documentation for details. + +* [`prefetchDNS`](/reference/react-dom/prefetchDNS) lets you prefetch the IP address of a DNS domain name that you expect to connect to. +* [`preconnect`](/reference/react-dom/preconnect) lets you connect to a server you expect to request resources from, even if you don't know what resources you'll need yet. +* [`preload`](/reference/react-dom/preload) lets you fetch a stylesheet, font, image, or external script that you expect to use. +* [`preloadModule`](/reference/react-dom/preloadModule) lets you fetch an ESM module that you expect to use. +* [`preinit`](/reference/react-dom/preinit) lets you fetch and evaluate an external script or fetch and insert a stylesheet. +* [`preinitModule`](/reference/react-dom/preinitModule) lets you fetch and evaluate an ESM module. + --- ## Entry points {/*entry-points*/} diff --git a/src/content/reference/react-dom/preconnect.md b/src/content/reference/react-dom/preconnect.md new file mode 100644 index 00000000..cb14a5e8 --- /dev/null +++ b/src/content/reference/react-dom/preconnect.md @@ -0,0 +1,96 @@ +--- +title: preconnect +canary: true +--- + +<Canary> + +The `preconnect` function is currently only available in React's Canary and experimental channels. Learn more about [React's release channels here](/community/versioning-policy#all-release-channels). + +</Canary> + +<Intro> + +`preconnect` lets you eagerly connect to a server that you expect to load resources from. + +```js +preconnect("https://example.com"); +``` + +</Intro> + +<InlineToc /> + +--- + +## Reference {/*reference*/} + +### `preconnect(href)` {/*preconnect*/} + +To preconnect to a host, call the `preconnect` function from `react-dom`. + +```js +import { preconnect } from 'react-dom'; + +function AppRoot() { + preconnect("https://example.com"); + // ... +} + +``` + +[See more examples below.](#usage) + +The `preconnect` function provides the browser with a hint that it should open a connection to the given server. If the browser chooses to do so, this can speed up the loading of resources from that server. + +#### Parameters {/*parameters*/} + +* `href`: a string. The URL of the server you want to connect to. + + +#### Returns {/*returns*/} + +`preconnect` returns nothing. + +#### Caveats {/*caveats*/} + +* Multiple calls to `preconnect` with the same server have the same effect as a single call. +* In the browser, you can call `preconnect` in any situation: while rendering a component, in an effect, in an event handler, and so on. +* In server-side rendering or when rendering Server Components, `preconnect` only has an effect if you call it while rendering a component or in an async context originating from rendering a component. Any other calls will be ignored. +* If you know the specific resources you'll need, you can call [other functions](/reference/react-dom/#resource-preloading-apis) instead that will start loading the resources right away. +* There is no benefit to preconnecting to the same server the webpage itself is hosted from because it's already been connected to by the time the hint would be given. + +--- + +## Usage {/*usage*/} + +### Preconnecting when rendering {/*preconnecting-when-rendering*/} + +Call `preconnect` when rendering a component if you know that its children will load external resources from that host. + +```js +import { preconnect } from 'react-dom'; + +function AppRoot() { + preconnect("https://example.com"); + return ...; +} +``` + +### Preconnecting in an event handler {/*preconnecting-in-an-event-handler*/} + +Call `preconnect` in an event handler before transitioning to a page or state where external resources will be needed. This gets the process started earlier than if you call it during the rendering of the new page or state. + +```js +import { preconnect } from 'react-dom'; + +function CallToAction() { + const onClick = () => { + preconnect('http://example.com'); + startWizard(); + } + return ( + <button onClick={onClick}>Start Wizard</button> + ); +} +``` diff --git a/src/content/reference/react-dom/prefetchDNS.md b/src/content/reference/react-dom/prefetchDNS.md new file mode 100644 index 00000000..f9889836 --- /dev/null +++ b/src/content/reference/react-dom/prefetchDNS.md @@ -0,0 +1,96 @@ +--- +title: prefetchDNS +canary: true +--- + +<Canary> + +The `prefetchDNS` function is currently only available in React's Canary and experimental channels. Learn more about [React's release channels here](/community/versioning-policy#all-release-channels). + +</Canary> + +<Intro> + +`prefetchDNS` lets you eagerly look up the IP of a server that you expect to load resources from. + +```js +prefetchDNS("https://example.com"); +``` + +</Intro> + +<InlineToc /> + +--- + +## Reference {/*reference*/} + +### `prefetchDNS(href)` {/*prefetchdns*/} + +To look up a host, call the `prefetchDNS` function from `react-dom`. + +```js +import { prefetchDNS } from 'react-dom'; + +function AppRoot() { + prefetchDNS("https://example.com"); + // ... +} + +``` + +[See more examples below.](#usage) + +The prefetchDNS function provides the browser with a hint that it should look up the IP address of a given server. If the browser chooses to do so, this can speed up the loading of resources from that server. + +#### Parameters {/*parameters*/} + +* `href`: a string. The URL of the server you want to connect to. + +#### Returns {/*returns*/} + +`prefetchDNS` returns nothing. + +#### Caveats {/*caveats*/} + +* Multiple calls to `prefetchDNS` with the same server have the same effect as a single call. +* In the browser, you can call `prefetchDNS` in any situation: while rendering a component, in an effect, in an event handler, and so on. +* In server-side rendering or when rendering Server Components, `prefetchDNS` only has an effect if you call it while rendering a component or in an async context originating from rendering a component. Any other calls will be ignored. +* If you know the specific resources you'll need, you can call [other functions](/reference/react-dom/#resource-preloading-apis) instead that will start loading the resources right away. +* There is no benefit to prefetching the same server the webpage itself is hosted from because it's already been looked up by the time the hint would be given. +* Compared with [`preconnect`](/reference/react-dom/preconnect), `prefetchDNS` may be better if you are speculatively connecting to a large number of domains, in which case the overhead of preconnections might outweigh the benefit. + +--- + +## Usage {/*usage*/} + +### Prefetching DNS when rendering {/*prefetching-dns-when-rendering*/} + +Call `prefetchDNS` when rendering a component if you know that its children will load external resources from that host. + +```js +import { prefetchDNS } from 'react-dom'; + +function AppRoot() { + prefetchDNS("https://example.com"); + return ...; +} +``` + +### Prefetching DNS in an event handler {/*prefetching-dns-in-an-event-handler*/} + +Call `prefetchDNS` in an event handler before transitioning to a page or state where external resources will be needed. This gets the process started earlier than if you call it during the rendering of the new page or state. + +```js +import { prefetchDNS } from 'react-dom'; + +function CallToAction() { + const onClick = () => { + prefetchDNS('http://example.com'); + startWizard(); + } + return ( + <button onClick={onClick}>Start Wizard</button> + ); +} +``` diff --git a/src/content/reference/react-dom/preinit.md b/src/content/reference/react-dom/preinit.md new file mode 100644 index 00000000..5a04528b --- /dev/null +++ b/src/content/reference/react-dom/preinit.md @@ -0,0 +1,133 @@ +--- +title: preinit +canary: true +--- + +<Canary> + +The `preinit` function is currently only available in React's Canary and experimental channels. Learn more about [React's release channels here](/community/versioning-policy#all-release-channels). + +</Canary> + +<Note> + +[React-based frameworks](/learn/start-a-new-react-project) frequently handle resource loading for you, so you might not have to call this API yourself. Consult your framework's documentation for details. + +</Note> + +<Intro> + +`preinit` lets you eagerly fetch and evaluate a stylesheet or external script. + +```js +preinit("https://example.com/script.js", {as: "style"}); +``` + +</Intro> + +<InlineToc /> + +--- + +## Reference {/*reference*/} + +### `preinit(href, options)` {/*preinit*/} + +To preinit a script or stylesheet, call the `preinit` function from `react-dom`. + +```js +import { preinit } from 'react-dom'; + +function AppRoot() { + preinit("https://example.com/script.js", {as: "script"}); + // ... +} + +``` + +[See more examples below.](#usage) + +The `preinit` function provides the browser with a hint that it should start downloading and executing the given resource, which can save time. Scripts that you `preinit` are executed when they finish downloading. Stylesheets that you preinit are inserted into the document, which causes them to go into effect right away. + +#### Parameters {/*parameters*/} + +* `href`: a string. The URL of the resource you want to download and execute. +* `options`: an object. It contains the following properties: + * `as`: a required string. The type of resource. Its possible values are `script` and `style`. + * `precedence`: a string. Required with stylesheets. Says where to insert the stylesheet relative to others. Stylesheets with higher precedence can override those with lower precedence. The possible values are `reset`, `low`, `medium`, `high`. + * `crossOrigin`: a string. The [CORS policy](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/crossorigin) to use. Its possible values are `anonymous` and `use-credentials`. It is required when `as` is set to `"fetch"`. + * `integrity`: a string. A cryptographic hash of the resource, to [verify its authenticity](https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity). + * `nonce`: a string. A cryptographic [nonce to allow the resource](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/nonce) when using a strict Content Security Policy. + * `fetchPriority`: a string. Suggests a relative priority for fetching the resource. The possible values are `auto` (the default), `high`, and `low`. + +#### Returns {/*returns*/} + +`preinit` returns nothing. + +#### Caveats {/*caveats*/} + +* Multiple calls to `preinit` with the same `href` have the same effect as a single call. +* In the browser, you can call `preinit` in any situation: while rendering a component, in an effect, in an event handler, and so on. +* In server-side rendering or when rendering Server Components, `preinit` only has an effect if you call it while rendering a component or in an async context originating from rendering a component. Any other calls will be ignored. + +--- + +## Usage {/*usage*/} + +### Preiniting when rendering {/*preiniting-when-rendering*/} + +Call `preinit` when rendering a component if you know that it or its children will use a specific resource, and you're OK with the resource being evaluated and thereby taking effect immediately upon being downloaded. + +<Recipes titleText="Examples of preiniting"> + +#### Preiniting an external script {/*preiniting-an-external-script*/} + +```js +import { preinit } from 'react-dom'; + +function AppRoot() { + preinit("https://example.com/script.js", {as: "script"}); + return ...; +} +``` + +If you want the browser to download the script but not to execute it right away, use [`preload`](/reference/react-dom/preload) instead. If you want to load an ESM module, use [`preinitModule`](/reference/react-dom/preinitModule). + +<Solution /> + +#### Preiniting a stylesheet {/*preiniting-a-stylesheet*/} + +```js +import { preinit } from 'react-dom'; + +function AppRoot() { + preinit("https://example.com/style.css", {as: "style", precedence: "medium"}); + return ...; +} +``` + +The `precedence` option, which is required, lets you control the order of stylesheets within the document. Stylesheets with higher precedence can overrule those with lower precedence. + +If you want to download the stylesheet but not to insert it into the document right away, use [`preload`](/reference/react-dom/preload) instead. + +<Solution /> + +</Recipes> + +### Preiniting in an event handler {/*preiniting-in-an-event-handler*/} + +Call `preinit` in an event handler before transitioning to a page or state where external resources will be needed. This gets the process started earlier than if you call it during the rendering of the new page or state. + +```js +import { preinit } from 'react-dom'; + +function CallToAction() { + const onClick = () => { + preinit("https://example.com/wizardStyles.css", {as: "style"}); + startWizard(); + } + return ( + <button onClick={onClick}>Start Wizard</button> + ); +} +``` diff --git a/src/content/reference/react-dom/preinitModule.md b/src/content/reference/react-dom/preinitModule.md new file mode 100644 index 00000000..ba6316a7 --- /dev/null +++ b/src/content/reference/react-dom/preinitModule.md @@ -0,0 +1,106 @@ +--- +title: preinitModule +canary: true +--- + +<Canary> + +The `preinitModule` function is currently only available in React's Canary and experimental channels. Learn more about [React's release channels here](/community/versioning-policy#all-release-channels). + +</Canary> + +<Note> + +[React-based frameworks](/learn/start-a-new-react-project) frequently handle resource loading for you, so you might not have to call this API yourself. Consult your framework's documentation for details. + +</Note> + +<Intro> + +`preinitModule` lets you eagerly fetch and evaluate an ESM module. + +```js +preinitModule("https://example.com/module.js", {as: "script"}); +``` + +</Intro> + +<InlineToc /> + +--- + +## Reference {/*reference*/} + +### `preinitModule(href, options)` {/*preinitmodule*/} + +To preinit an ESM module, call the `preinitModule` function from `react-dom`. + +```js +import { preinitModule } from 'react-dom'; + +function AppRoot() { + preinitModule("https://example.com/module.js", {as: "script"}); + // ... +} + +``` + +[See more examples below.](#usage) + +The `preinitModule` function provides the browser with a hint that it should start downloading and executing the given module, which can save time. Modules that you `preinit` are executed when they finish downloading. + +#### Parameters {/*parameters*/} + +* `href`: a string. The URL of the module you want to download and exeucute. +* `options`: an object. It contains the following properties: + * `as`: a required string. It must be `'script'`. + * `crossOrigin`: a string. The [CORS policy](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/crossorigin) to use. Its possible values are `anonymous` and `use-credentials`. + * `integrity`: a string. A cryptographic hash of the module, to [verify its authenticity](https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity). + * `nonce`: a string. A cryptographic [nonce to allow the module](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/nonce) when using a strict Content Security Policy. + +#### Returns {/*returns*/} + +`preinitModule` returns nothing. + +#### Caveats {/*caveats*/} + +* Multiple calls to `preinitModule` with the same `href` have the same effect as a single call. +* In the browser, you can call `preinitModule` in any situation: while rendering a component, in an effect, in an event handler, and so on. +* In server-side rendering or when rendering Server Components, `preinitModule` only has an effect if you call it while rendering a component or in an async context originating from rendering a component. Any other calls will be ignored. + +--- + +## Usage {/*usage*/} + +### Preloading when rendering {/*preloading-when-rendering*/} + +Call `preinitModule` when rendering a component if you know that it or its children will use a specific module and you're OK with the module being evaluated and thereby taking effect immediately upon being downloaded. + +```js +import { preinitModule } from 'react-dom'; + +function AppRoot() { + preinitModule("https://example.com/module.js", {as: "script"}); + return ...; +} +``` + +If you want the browser to download the module but not to execute it right away, use [`preloadModule`](/reference/react-dom/preloadModule) instead. If you want to preinit a script that isn't an ESM module, use [`preinit`](/reference/react-dom/preinit). + +### Preloading in an event handler {/*preloading-in-an-event-handler*/} + +Call `preinitModule` in an event handler before transitioning to a page or state where the module will be needed. This gets the process started earlier than if you call it during the rendering of the new page or state. + +```js +import { preinitModule } from 'react-dom'; + +function CallToAction() { + const onClick = () => { + preinitModule("https://example.com/module.js", {as: "script"}); + startWizard(); + } + return ( + <button onClick={onClick}>Start Wizard</button> + ); +} +``` diff --git a/src/content/reference/react-dom/preload.md b/src/content/reference/react-dom/preload.md new file mode 100644 index 00000000..ffec1177 --- /dev/null +++ b/src/content/reference/react-dom/preload.md @@ -0,0 +1,171 @@ +--- +title: preload +canary: true +--- + +<Canary> + +The `preload` function is currently only available in React's Canary and experimental channels. Learn more about [React's release channels here](/community/versioning-policy#all-release-channels). + +</Canary> + +<Note> + +[React-based frameworks](/learn/start-a-new-react-project) frequently handle resource loading for you, so you might not have to call this API yourself. Consult your framework's documentation for details. + +</Note> + +<Intro> + +`preload` lets you eagerly fetch a resource such as a stylesheet, font, or external script that you expect to use. + +```js +preload("https://example.com/font.woff2", {as: "font"}); +``` + +</Intro> + +<InlineToc /> + +--- + +## Reference {/*reference*/} + +### `preload(href, options)` {/*preload*/} + +To preload a resource, call the `preload` function from `react-dom`. + +```js +import { preload } from 'react-dom'; + +function AppRoot() { + preload("https://example.com/font.woff2", {as: "font"}); + // ... +} + +``` + +[See more examples below.](#usage) + +The `preload` function provides the browser with a hint that it should start downloading the given resource, which can save time. + +#### Parameters {/*parameters*/} + +* `href`: a string. The URL of the resource you want to download. +* `options`: an object. It contains the following properties: + * `as`: a required string. The type of resource. Its [possible values](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/link#as) are `audio`, `document`, `embed`, `fetch`, `font`, `image`, `object`, `script`, `style`, `track`, `video`, `worker`. + * `crossOrigin`: a string. The [CORS policy](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/crossorigin) to use. Its possible values are `anonymous` and `use-credentials`. It is required when `as` is set to `"fetch"`. + * `referrerPolicy`: a string. The [Referrer header](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/link#referrerpolicy) to send when fetching. Its possible values are `no-referrer-when-downgrade` (the default), `no-referrer`, `origin`, `origin-when-cross-origin`, and `unsafe-url`. + * `integrity`: a string. A cryptographic hash of the resource, to [verify its authenticity](https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity). + * `type`: a string. The MIME type of the resource. + * `nonce`: a string. A cryptographic [nonce to allow the resource](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/nonce) when using a strict Content Security Policy. + * `fetchPriority`: a string. Suggests a relative priority for fetching the resource. The possible values are `auto` (the default), `high`, and `low`. + * `imageSrcSet`: a string. For use only with `as: "image"`. Specifies the [source set of the image](https://developer.mozilla.org/en-US/docs/Learn/HTML/Multimedia_and_embedding/Responsive_images). + * `imageSizes`: a string. For use only with `as: "image"`. Specifies the [sizes of the image](https://developer.mozilla.org/en-US/docs/Learn/HTML/Multimedia_and_embedding/Responsive_images). + +#### Returns {/*returns*/} + +`preload` returns nothing. + +#### Caveats {/*caveats*/} + +* Multiple equivalent calls to `preload` have the same effect as a single call. Calls to `preload` are considered equivalent according to the following rules: + * Two calls are equivalent if they have the same `href`, except: + * If `as` is set to `image`, two calls are equivalent if they have the same `href`, `imageSrcSet`, and `imageSizes`. +* In the browser, you can call `preload` in any situation: while rendering a component, in an effect, in an event handler, and so on. +* In server-side rendering or when rendering Server Components, `preload` only has an effect if you call it while rendering a component or in an async context originating from rendering a component. Any other calls will be ignored. + +--- + +## Usage {/*usage*/} + +### Preloading when rendering {/*preloading-when-rendering*/} + +Call `preload` when rendering a component if you know that it or its children will use a specific resource. + +<Recipes titleText="Examples of preloading"> + +#### Preloading an external script {/*preloading-an-external-script*/} + +```js +import { preload } from 'react-dom'; + +function AppRoot() { + preload("https://example.com/script.js", {as: "script"}); + return ...; +} +``` + +If you want the browser to start executing the script immediately (rather than just downloading it), use [`preinit`](/reference/react-dom/preinit) instead. If you want to load an ESM module, use [`preloadModule`](/reference/react-dom/preloadModule). + +<Solution /> + +#### Preloading a stylesheet {/*preloading-a-stylesheet*/} + +```js +import { preload } from 'react-dom'; + +function AppRoot() { + preload("https://example.com/style.css", {as: "style"}); + return ...; +} +``` + +If you want the stylesheet to be inserted into the document immediately (which means the browser will start parsing it immediately rather than just downloading it), use [`preinit`](/reference/react-dom/preinit) instead. + +<Solution /> + +#### Preloading a font {/*preloading-a-font*/} + +```js +import { preload } from 'react-dom'; + +function AppRoot() { + preload("https://example.com/style.css", {as: "style"}); + preload("https://example.com/font.woff2", {as: "font"}); + return ...; +} +``` + +If you preload a stylesheet, it's smart to also preload any fonts that the stylesheet refers to. That way, the browser can start downloading the font before it's downloaded and parsed the stylesheet. + +<Solution /> + +#### Preloading an image {/*preloading-an-image*/} + +```js +import { preload } from 'react-dom'; + +function AppRoot() { + preload("/banner.png", { + as: "image", + imageSrcSet: "/banner512.png 512w, /banner1024.png 1024w", + imageSizes: "(max-width: 512px) 512px, 1024px", + }); + return ...; +} +``` + +When preloading an image, the `imageSrcSet` and `imageSizes` options help the browser [fetch the correctly sized image for the size of the screen]((https://developer.mozilla.org/en-US/docs/Learn/HTML/Multimedia_and_embedding/Responsive_images)). + +<Solution /> + +</Recipes> + +### Preloading in an event handler {/*preloading-in-an-event-handler*/} + +Call `preload` in an event handler before transitioning to a page or state where external resources will be needed. This gets the process started earlier than if you call it during the rendering of the new page or state. + +```js +import { preload } from 'react-dom'; + +function CallToAction() { + const onClick = () => { + preload("https://example.com/wizardStyles.css", {as: "style"}); + startWizard(); + } + return ( + <button onClick={onClick}>Start Wizard</button> + ); +} +``` diff --git a/src/content/reference/react-dom/preloadModule.md b/src/content/reference/react-dom/preloadModule.md new file mode 100644 index 00000000..05333f1c --- /dev/null +++ b/src/content/reference/react-dom/preloadModule.md @@ -0,0 +1,107 @@ +--- +title: preloadModule +canary: true +--- + +<Canary> + +The `preloadModule` function is currently only available in React's Canary and experimental channels. Learn more about [React's release channels here](/community/versioning-policy#all-release-channels). + +</Canary> + +<Note> + +[React-based frameworks](/learn/start-a-new-react-project) frequently handle resource loading for you, so you might not have to call this API yourself. Consult your framework's documentation for details. + +</Note> + +<Intro> + +`preloadModule` lets you eagerly fetch an ESM module that you expect to use. + +```js +preloadModule("https://example.com/module.js", {as: "script"}); +``` + +</Intro> + +<InlineToc /> + +--- + +## Reference {/*reference*/} + +### `preloadModule(href, options)` {/*preloadmodule*/} + +To preload an ESM module, call the `preloadModule` function from `react-dom`. + +```js +import { preloadModule } from 'react-dom'; + +function AppRoot() { + preloadModule("https://example.com/module.js", {as: "script"}); + // ... +} + +``` + +[See more examples below.](#usage) + +The `preloadModule` function provides the browser with a hint that it should start downloading the given module, which can save time. + +#### Parameters {/*parameters*/} + +* `href`: a string. The URL of the module you want to download. +* `options`: an object. It contains the following properties: + * `as`: a required string. It must be `'script'`. + * `crossOrigin`: a string. The [CORS policy](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/crossorigin) to use. Its possible values are `anonymous` and `use-credentials`. + * `integrity`: a string. A cryptographic hash of the module, to [verify its authenticity](https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity). + * `nonce`: a string. A cryptographic [nonce to allow the module](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/nonce) when using a strict Content Security Policy. + + +#### Returns {/*returns*/} + +`preloadModule` returns nothing. + +#### Caveats {/*caveats*/} + +* Multiple calls to `preloadModule` with the same `href` have the same effect as a single call. +* In the browser, you can call `preloadModule` in any situation: while rendering a component, in an effect, in an event handler, and so on. +* In server-side rendering or when rendering Server Components, `preloadModule` only has an effect if you call it while rendering a component or in an async context originating from rendering a component. Any other calls will be ignored. + +--- + +## Usage {/*usage*/} + +### Preloading when rendering {/*preloading-when-rendering*/} + +Call `preloadModule` when rendering a component if you know that it or its children will use a specific module. + +```js +import { preloadModule } from 'react-dom'; + +function AppRoot() { + preloadModule("https://example.com/module.js", {as: "script"}); + return ...; +} +``` + +If you want the browser to start executing the module immediately (rather than just downloading it), use [`preinitModule`](/reference/react-dom/preinitModule) instead. If you want to load a script that isn't an ESM module, use [`preload`](/reference/react-dom/preload). + +### Preloading in an event handler {/*preloading-in-an-event-handler*/} + +Call `preloadModule` in an event handler before transitioning to a page or state where the module will be needed. This gets the process started earlier than if you call it during the rendering of the new page or state. + +```js +import { preloadModule } from 'react-dom'; + +function CallToAction() { + const onClick = () => { + preloadModule("https://example.com/module.js", {as: "script"}); + startWizard(); + } + return ( + <button onClick={onClick}>Start Wizard</button> + ); +} +``` diff --git a/src/sidebarReference.json b/src/sidebarReference.json index 08e0132a..e02fd945 100644 --- a/src/sidebarReference.json +++ b/src/sidebarReference.json @@ -266,6 +266,36 @@ "title": "hydrate", "path": "/reference/react-dom/hydrate" }, + { + "title": "preconnect", + "path": "/reference/react-dom/preconnect", + "canary": true + }, + { + "title": "prefetchDNS", + "path": "/reference/react-dom/prefetchDNS", + "canary": true + }, + { + "title": "preinit", + "path": "/reference/react-dom/preinit", + "canary": true + }, + { + "title": "preinitModule", + "path": "/reference/react-dom/preinitModule", + "canary": true + }, + { + "title": "preload", + "path": "/reference/react-dom/preload", + "canary": true + }, + { + "title": "preloadModule", + "path": "/reference/react-dom/preloadModule", + "canary": true + }, { "title": "render", "path": "/reference/react-dom/render" From 47c818c479de83bb80166965a751cd3782f30a6e Mon Sep 17 00:00:00 2001 From: Delphine Bugner <delphineb@bam.tech> Date: Mon, 5 Feb 2024 19:42:34 +0100 Subject: [PATCH 179/382] feat (conferences) add react connection Paris (#6609) --- src/content/community/conferences.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/content/community/conferences.md b/src/content/community/conferences.md index 0e15359f..ef330187 100644 --- a/src/content/community/conferences.md +++ b/src/content/community/conferences.md @@ -25,6 +25,16 @@ April 19 - 20, 2024. In-person in Miami, FL, USA [Website](https://reactmiami.com/) - [Twitter](https://twitter.com/ReactMiamiConf) +### React Connection 2024 {/*react-connection-2024*/} +April 22, 2024. In-person in Paris, France + +[Website](https://reactconnection.io/) - [Twitter](https://twitter.com/ReactConn) + +### React Native Connection 2024 {/*react-native-connection-2024*/} +April 23, 2024. In-person in Paris, France + +[Website](https://reactnativeconnection.io/) - [Twitter](https://twitter.com/ReactNativeConn) + ### React Conf 2024 {/*react-conf-2024*/} May 15 - 16, 2024. In-person in Henderson, NV, USA + remote From c118938237cc8ef96a8d7680b04f7c8a2a8264fe Mon Sep 17 00:00:00 2001 From: Matt Carroll <7158882+mattcarrollcode@users.noreply.github.com> Date: Tue, 6 Feb 2024 09:36:18 -0800 Subject: [PATCH 180/382] Fix SandpackWithHTMLOutput to use src dir (#6613) --- src/components/MDX/SandpackWithHTMLOutput.tsx | 6 +++--- src/content/reference/react-dom/components/link.md | 10 +++++----- src/content/reference/react-dom/components/meta.md | 2 +- src/content/reference/react-dom/components/script.md | 4 ++-- src/content/reference/react-dom/components/style.md | 2 +- src/content/reference/react-dom/components/title.md | 2 +- 6 files changed, 13 insertions(+), 13 deletions(-) diff --git a/src/components/MDX/SandpackWithHTMLOutput.tsx b/src/components/MDX/SandpackWithHTMLOutput.tsx index 134da658..51ce28dc 100644 --- a/src/components/MDX/SandpackWithHTMLOutput.tsx +++ b/src/components/MDX/SandpackWithHTMLOutput.tsx @@ -20,7 +20,7 @@ export default function ShowRenderedHTML({children}) { {formatHTML(markup)} </pre> </> - ); + ); }`; const formatHTML = ` @@ -77,8 +77,8 @@ export default memo(function SandpackWithHTMLOutput( ) { const children = [ ...Children.toArray(props.children), - createFile('ShowRenderedHTML.js', ShowRenderedHTML), - createFile('formatHTML.js hidden', formatHTML), + createFile('src/ShowRenderedHTML.js', ShowRenderedHTML), + createFile('src/formatHTML.js hidden', formatHTML), createFile('package.json hidden', packageJSON), ]; return <Sandpack {...props}>{children}</Sandpack>; diff --git a/src/content/reference/react-dom/components/link.md b/src/content/reference/react-dom/components/link.md index 890cf090..fcbb9fab 100644 --- a/src/content/reference/react-dom/components/link.md +++ b/src/content/reference/react-dom/components/link.md @@ -96,7 +96,7 @@ In addition, if the `<link>` is to a stylesheet (namely, it has `rel="stylesheet There are two exception to this special behavior: -* If the link doesn't have a `precedence` prop, there is no special behavior, because the order of stylesheets within the document is significant, so React needs to know how to order this stylesheet relative to others, which you specify using the `precedence` prop. +* If the link doesn't have a `precedence` prop, there is no special behavior, because the order of stylesheets within the document is significant, so React needs to know how to order this stylesheet relative to others, which you specify using the `precedence` prop. * If you supply any of the `onLoad`, `onError`, or `disabled` props, there is no special behavior, because these props indicate that you are managing the loading of the stylesheet manually within your component. This special treatment comes with two caveats: @@ -114,7 +114,7 @@ You can annotate the document with links to related resources such as an icon, c <SandpackWithHTMLOutput> -```js App.js active +```js src/App.js active import ShowRenderedHTML from './ShowRenderedHTML.js'; export default function BlogPage() { @@ -141,7 +141,7 @@ When you want to use a stylesheet, it can be beneficial to call the [preinit](/r <SandpackWithHTMLOutput> -```js App.js active +```js src/App.js active import ShowRenderedHTML from './ShowRenderedHTML.js'; export default function SiteMapPage() { @@ -164,7 +164,7 @@ Stylesheets can conflict with each other, and when they do, the browser goes wit <SandpackWithHTMLOutput> -```js App.js active +```js src/App.js active import ShowRenderedHTML from './ShowRenderedHTML.js'; export default function HomePage() { @@ -195,7 +195,7 @@ If you render the same stylesheet from multiple components, React will place onl <SandpackWithHTMLOutput> -```js App.js active +```js src/App.js active import ShowRenderedHTML from './ShowRenderedHTML.js'; export default function HomePage() { diff --git a/src/content/reference/react-dom/components/meta.md b/src/content/reference/react-dom/components/meta.md index 8489d4a4..801ca2af 100644 --- a/src/content/reference/react-dom/components/meta.md +++ b/src/content/reference/react-dom/components/meta.md @@ -72,7 +72,7 @@ You can render the `<meta>` component from any component. React will put a `<met <SandpackWithHTMLOutput> -```js App.js active +```js src/App.js active import ShowRenderedHTML from './ShowRenderedHTML.js'; export default function SiteMapPage() { diff --git a/src/content/reference/react-dom/components/script.md b/src/content/reference/react-dom/components/script.md index 50c0af80..a2c4668c 100644 --- a/src/content/reference/react-dom/components/script.md +++ b/src/content/reference/react-dom/components/script.md @@ -91,7 +91,7 @@ If you supply an `src` and `async` prop, your component will suspend while the s <SandpackWithHTMLOutput> -```js App.js active +```js src/App.js active import ShowRenderedHTML from './ShowRenderedHTML.js'; function Map({lat, long}) { @@ -124,7 +124,7 @@ To include an inline script, render the `<script>` component with the script sou <SandpackWithHTMLOutput> -```js App.js active +```js src/App.js active import ShowRenderedHTML from './ShowRenderedHTML.js'; function Tracking() { diff --git a/src/content/reference/react-dom/components/style.md b/src/content/reference/react-dom/components/style.md index f5cf231a..0c6d8e59 100644 --- a/src/content/reference/react-dom/components/style.md +++ b/src/content/reference/react-dom/components/style.md @@ -73,7 +73,7 @@ If you supply an `href` and `precedence` prop, your component will suspend while <SandpackWithHTMLOutput> -```js App.js active +```js src/App.js active import ShowRenderedHTML from './ShowRenderedHTML.js'; import { useId } from 'react'; diff --git a/src/content/reference/react-dom/components/title.md b/src/content/reference/react-dom/components/title.md index 9d6ed18c..24b2aba2 100644 --- a/src/content/reference/react-dom/components/title.md +++ b/src/content/reference/react-dom/components/title.md @@ -66,7 +66,7 @@ Render the `<title>` component from any component with text as its children. Rea <SandpackWithHTMLOutput> -```js App.js active +```js src/App.js active import ShowRenderedHTML from './ShowRenderedHTML.js'; export default function ContactUsPage() { From 9a843b67054461e6c6f0014ff153c96631faabad Mon Sep 17 00:00:00 2001 From: Matt Carroll <7158882+mattcarrollcode@users.noreply.github.com> Date: Thu, 8 Feb 2024 11:26:34 -0800 Subject: [PATCH 181/382] Add React Conf banner (#6595) --- src/components/SocialBanner.tsx | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/components/SocialBanner.tsx b/src/components/SocialBanner.tsx index e980b6f4..4e1bf8e3 100644 --- a/src/components/SocialBanner.tsx +++ b/src/components/SocialBanner.tsx @@ -7,9 +7,9 @@ import {useRef, useEffect} from 'react'; import cn from 'classnames'; import {ExternalLink} from './ExternalLink'; -const bannerText = 'Support Ukraine 🇺🇦'; -const bannerLink = 'https://opensource.fb.com/support-ukraine'; -const bannerLinkText = 'Help Provide Humanitarian Aid to Ukraine'; +const bannerText = 'Join us for React Conf on May 15-16.'; +const bannerLink = 'https://conf.react.dev/'; +const bannerLinkText = 'Learn more.'; export default function SocialBanner() { const ref = useRef<HTMLDivElement | null>(null); @@ -39,9 +39,7 @@ export default function SocialBanner() { <ExternalLink className="ms-0 sm:ms-1 text-link dark:text-link-dark hover:underline" href={bannerLink}> - <div className="inline sm:hidden">🇺🇦 </div> {bannerLinkText} - <span className="hidden sm:inline">.</span> </ExternalLink> </div> ); From 6d43bff9e7baf499611a81dda3a8c623b0950227 Mon Sep 17 00:00:00 2001 From: Tamon Okamoto <tamonmon0417@gmail.com> Date: Sun, 11 Feb 2024 04:38:15 +0900 Subject: [PATCH 182/382] Fix scrollbar of SidebarNav to make it tappable (#6586) --- src/components/Layout/Page.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/Layout/Page.tsx b/src/components/Layout/Page.tsx index 5194279c..ee3c899d 100644 --- a/src/components/Layout/Page.tsx +++ b/src/components/Layout/Page.tsx @@ -129,7 +129,7 @@ export function Page({children, toc, routeTree, meta, section}: PageProps) { 'grid grid-cols-only-content lg:grid-cols-sidebar-content 2xl:grid-cols-sidebar-content-toc' )}> {showSidebar && ( - <div className="lg:-mt-16"> + <div className="lg:-mt-16 z-10"> <div className="fixed top-0 py-0 shadow lg:pt-16 lg:sticky start-0 end-0 lg:shadow-none"> <SidebarNav key={section} From 6ae9922b44a7037f810db81ce8db5f834725988d Mon Sep 17 00:00:00 2001 From: Dhanraj Acharya <dhanrajacharya44@gmail.com> Date: Sun, 11 Feb 2024 09:08:00 +0530 Subject: [PATCH 183/382] Update index.md (#6622) Fix the grammar in the documentation. --- src/content/reference/react/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/reference/react/index.md b/src/content/reference/react/index.md index 43394acf..6793efc5 100644 --- a/src/content/reference/react/index.md +++ b/src/content/reference/react/index.md @@ -8,7 +8,7 @@ This section provides detailed reference documentation for working with React. F </Intro> -Our The React reference documentation is broken down into functional subsections: +The React reference documentation is broken down into functional subsections: ## React {/*react*/} From 4ff80a59f7134be25abf26e4895aee6e569d92c0 Mon Sep 17 00:00:00 2001 From: Lakshmi N <79132440+lakshmi930@users.noreply.github.com> Date: Sun, 11 Feb 2024 07:46:44 +0400 Subject: [PATCH 184/382] Fix broken link (#6619) --- src/content/reference/react-dom/preload.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/reference/react-dom/preload.md b/src/content/reference/react-dom/preload.md index ffec1177..0ad9668d 100644 --- a/src/content/reference/react-dom/preload.md +++ b/src/content/reference/react-dom/preload.md @@ -146,7 +146,7 @@ function AppRoot() { } ``` -When preloading an image, the `imageSrcSet` and `imageSizes` options help the browser [fetch the correctly sized image for the size of the screen]((https://developer.mozilla.org/en-US/docs/Learn/HTML/Multimedia_and_embedding/Responsive_images)). +When preloading an image, the `imageSrcSet` and `imageSizes` options help the browser [fetch the correctly sized image for the size of the screen](https://developer.mozilla.org/en-US/docs/Learn/HTML/Multimedia_and_embedding/Responsive_images). <Solution /> From d46c36041c1422c7f2cb4bbf69d708c442b12722 Mon Sep 17 00:00:00 2001 From: David Dong <73568310+DongHY1@users.noreply.github.com> Date: Sun, 11 Feb 2024 23:02:06 +0800 Subject: [PATCH 185/382] Fix CSS discrepancy in issue #6508 (#6509) --- src/content/learn/reacting-to-input-with-state.md | 1 + 1 file changed, 1 insertion(+) diff --git a/src/content/learn/reacting-to-input-with-state.md b/src/content/learn/reacting-to-input-with-state.md index 878ab0fc..da559dc0 100644 --- a/src/content/learn/reacting-to-input-with-state.md +++ b/src/content/learn/reacting-to-input-with-state.md @@ -545,6 +545,7 @@ body { margin: 0; padding: 0; height: 250px; } width: 200px; height: 200px; border-radius: 10px; + border: 5px solid transparent; } .picture--active { From bb3a0f5c10aaeba6e6fb35f31f36b47812ece158 Mon Sep 17 00:00:00 2001 From: Romain Trotard <romain.trotard@gmail.com> Date: Sun, 11 Feb 2024 21:19:02 +0100 Subject: [PATCH 186/382] Fix some typos (#6478) * Fix some typos * Fix another typo --- src/content/reference/react/experimental_taintUniqueValue.md | 2 +- src/content/reference/react/use.md | 4 ++-- src/content/reference/react/useTransition.md | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/content/reference/react/experimental_taintUniqueValue.md b/src/content/reference/react/experimental_taintUniqueValue.md index e8226d92..12978758 100644 --- a/src/content/reference/react/experimental_taintUniqueValue.md +++ b/src/content/reference/react/experimental_taintUniqueValue.md @@ -192,7 +192,7 @@ experimental_taintUniqueValue( ); ``` -Now whenever anyone tries to pass this password to a Client Component, or send the password to a Client Component with a Server Action, a error will be thrown with message you defined when you called `taintUniqueValue`. +Now whenever anyone tries to pass this password to a Client Component, or send the password to a Client Component with a Server Action, an error will be thrown with message you defined when you called `taintUniqueValue`. </DeepDive> diff --git a/src/content/reference/react/use.md b/src/content/reference/react/use.md index 92b3cabc..c3c8c92d 100644 --- a/src/content/reference/react/use.md +++ b/src/content/reference/react/use.md @@ -351,14 +351,14 @@ But using `await` in a [Server Component](/reference/react/components#server-com In some cases a Promise passed to `use` could be rejected. You can handle rejected Promises by either: -1. [Displaying an error to users with error boundary.](#displaying-an-error-to-users-with-error-boundary) +1. [Displaying an error to users with an error boundary.](#displaying-an-error-to-users-with-error-boundary) 2. [Providing an alternative value with `Promise.catch`](#providing-an-alternative-value-with-promise-catch) <Pitfall> `use` cannot be called in a try-catch block. Instead of a try-catch block [wrap your component in an Error Boundary](#displaying-an-error-to-users-with-error-boundary), or [provide an alternative value to use with the Promise's `.catch` method](#providing-an-alternative-value-with-promise-catch). </Pitfall> -#### Displaying an error to users with a error boundary {/*displaying-an-error-to-users-with-error-boundary*/} +#### Displaying an error to users with an error boundary {/*displaying-an-error-to-users-with-error-boundary*/} If you'd like to display an error to your users when a Promise is rejected, you can use an [error boundary](/reference/react/Component#catching-rendering-errors-with-an-error-boundary). To use an error boundary, wrap the component where you are calling the `use` Hook in an error boundary. If the Promise passed to `use` is rejected the fallback for the error boundary will be displayed. diff --git a/src/content/reference/react/useTransition.md b/src/content/reference/react/useTransition.md index 49df279f..7881e1de 100644 --- a/src/content/reference/react/useTransition.md +++ b/src/content/reference/react/useTransition.md @@ -1501,7 +1501,7 @@ main { --- -### Displaying an error to users with a error boundary {/*displaying-an-error-to-users-with-error-boundary*/} +### Displaying an error to users with an error boundary {/*displaying-an-error-to-users-with-error-boundary*/} <Canary> From a21a942db98c63e7c70589b1cbd700591b4dbcf5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EC=9D=B4=EB=8F=99=ED=98=84?= <ldh19971027@gmail.com> Date: Wed, 14 Feb 2024 15:55:09 +0900 Subject: [PATCH 187/382] Fix typo (#6628) --- src/content/reference/react-dom/components/textarea.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/reference/react-dom/components/textarea.md b/src/content/reference/react-dom/components/textarea.md index 2639fcd7..b1ef7147 100644 --- a/src/content/reference/react-dom/components/textarea.md +++ b/src/content/reference/react-dom/components/textarea.md @@ -55,7 +55,7 @@ These `<textarea>` props are relevant both for uncontrolled and controlled text * [`name`](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#name): A string. Specifies the name for this input that's [submitted with the form.](#reading-the-textarea-value-when-submitting-a-form) * `onChange`: An [`Event` handler](/reference/react-dom/components/common#event-handler) function. Required for [controlled text areas.](#controlling-a-text-area-with-a-state-variable) Fires immediately when the input's value is changed by the user (for example, it fires on every keystroke). Behaves like the browser [`input` event.](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event) * `onChangeCapture`: A version of `onChange` that fires in the [capture phase.](/learn/responding-to-events#capture-phase-events) -* [`onInput`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event): An [`Event` handler](/reference/react-dom/components/common#event-handler) function. function. Fires immediately when the value is changed by the user. For historical reasons, in React it is idiomatic to use `onChange` instead which works similarly. +* [`onInput`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/input_event): An [`Event` handler](/reference/react-dom/components/common#event-handler) function. Fires immediately when the value is changed by the user. For historical reasons, in React it is idiomatic to use `onChange` instead which works similarly. * `onInputCapture`: A version of `onInput` that fires in the [capture phase.](/learn/responding-to-events#capture-phase-events) * [`onInvalid`](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/invalid_event): An [`Event` handler](/reference/react-dom/components/common#event-handler) function. Fires if an input fails validation on form submit. Unlike the built-in `invalid` event, the React `onInvalid` event bubbles. * `onInvalidCapture`: A version of `onInvalid` that fires in the [capture phase.](/learn/responding-to-events#capture-phase-events) From 2c4f382d8f1b62e4539c6fd188fb89e54163297c Mon Sep 17 00:00:00 2001 From: Ricky <rickhanlonii@fb.com> Date: Thu, 15 Feb 2024 13:48:18 -0500 Subject: [PATCH 188/382] =?UTF-8?q?Blog:=20What=20We've=20Been=20Working?= =?UTF-8?q?=20On=20=E2=80=93=20February=202024=20(#6629)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Blog: What We've Been Working On – February 2024 * rm log * Update src/content/blog/2024/02/15/react-labs-what-we-have-been-working-on-february-2024.md Co-authored-by: Matt Carroll <7158882+mattcarrollcode@users.noreply.github.com> * Update src/content/blog/2024/02/15/react-labs-what-we-have-been-working-on-february-2024.md Co-authored-by: Matt Carroll <7158882+mattcarrollcode@users.noreply.github.com> * add and * switch --------- Co-authored-by: Matt Carroll <7158882+mattcarrollcode@users.noreply.github.com> --- ...t-we-have-been-working-on-february-2024.md | 115 ++++++++++++++++++ src/content/blog/index.md | 6 + src/sidebarBlog.json | 7 ++ 3 files changed, 128 insertions(+) create mode 100644 src/content/blog/2024/02/15/react-labs-what-we-have-been-working-on-february-2024.md diff --git a/src/content/blog/2024/02/15/react-labs-what-we-have-been-working-on-february-2024.md b/src/content/blog/2024/02/15/react-labs-what-we-have-been-working-on-february-2024.md new file mode 100644 index 00000000..56ada8fc --- /dev/null +++ b/src/content/blog/2024/02/15/react-labs-what-we-have-been-working-on-february-2024.md @@ -0,0 +1,115 @@ +--- +title: "React Labs: What We've Been Working On – February 2024" +--- + +February 15, 2024 by [Joseph Savona](https://twitter.com/en_JS), [Ricky Hanlon](https://twitter.com/rickhanlonii), [Andrew Clark](https://twitter.com/acdlite), [Matt Carroll](https://twitter.com/mattcarrollcode), and [Dan Abramov](https://twitter.com/dan_abramov). + +--- + +<Intro> + +In React Labs posts, we write about projects in active research and development. We’ve made significant progress since our [last update](/blog/2023/03/22/react-labs-what-we-have-been-working-on-march-2023), and we’d like to share our progress. + +</Intro> + +<Note> + +React Conf 2024 is scheduled for May 15–16 in Henderson, Nevada! If you’re interested in attending React Conf in person, you can [sign up for the ticket lottery](https://forms.reform.app/bLaLeE/react-conf-2024-ticket-lottery/1aRQLK) until February 28th. + +For more info on tickets, free streaming, sponsoring, and more, see [the React Conf website](https://conf.react.dev). + +</Note> + +--- + +## React Compiler {/*react-compiler*/} + +React Compiler is no longer a research project: the compiler now powers instagram.com in production, and we are working to ship the compiler across additional surfaces at Meta and to prepare the first open source release. + +As discussed in our [previous post](/blog/2023/03/22/react-labs-what-we-have-been-working-on-march-2023#react-optimizing-compiler), React can *sometimes* re-render too much when state changes. Since the early days of React our solution for such cases has been manual memoization. In our current APIs, this means applying the [`useMemo`](/reference/react/useMemo), [`useCallback`](/reference/react/useCallback), and [`memo`](/reference/react/memo) APIs to manually tune how much React re-renders on state changes. But manual memoization is a compromise. It clutters up our code, is easy to get wrong, and requires extra work to keep up to date. + +Manual memoization is a reasonable compromise, but we weren’t satisfied. Our vision is for React to *automatically* re-render just the right parts of the UI when state changes, *without compromising on React’s core mental model*. We believe that React’s approach — UI as a simple function of state, with standard JavaScript values and idioms — is a key part of why React has been approachable for so many developers. That’s why we’ve invested in building an optimizing compiler for React. + +JavaScript is a notoriously challenging language to optimize, thanks to its loose rules and dynamic nature. React Compiler is able to compile code safely by modeling both the rules of JavaScript *and* the “rules of React”. For example, React components must be idempotent — returning the same value given the same inputs — and can’t mutate props or state values. These rules limit what developers can do and help to carve out a safe space for the compiler to optimize. + +Of course, we understand that developers sometimes bend the rules a bit, and our goal is to make React Compiler work out of the box on as much code as possible. The compiler attempts to detect when code doesn’t strictly follow React’s rules and will either compile the code where safe or skip compilation if it isn’t safe. We’re testing against Meta’s large and varied codebase in order to help validate this approach. + +For developers who are curious about making sure their code follows React’s rules, we recommend [enabling Strict Mode](/reference/react/StrictMode) and [configuring React’s ESLint plugin](/learn/editor-setup#linting). These tools can help to catch subtle bugs in your React code, improving the quality of your applications today, and future-proofs your applications for upcoming features such as React Compiler. We are also working on consolidated documentation of the rules of React and updates to our ESLint plugin to help teams understand and apply these rules to create more robust apps. + +To see the compiler in action, you can check out our [talk from last fall](https://www.youtube.com/watch?v=qOQClO3g8-Y). At the time of the talk, we had early experimental data from trying React Compiler on one page of instagram.com. Since then, we shipped the compiler to production across instagram.com. We’ve also expanded our team to accelerate the rollout to additional surfaces at Meta and to open source. We’re excited about the path ahead and will have more to share in the coming months. + +## Actions {/*actions*/} + + +We [previously shared](/blog/2023/03/22/react-labs-what-we-have-been-working-on-march-2023#react-server-components) that we were exploring solutions for sending data from the client to the server with Server Actions, so that you can execute database mutations and implement forms. During development, we extended these APIs to support data handling in client-only applications as well. + +We refer to this broader collection of features as simply "Actions". Actions allow you to pass a function to DOM elements such as [`<form/>`](/reference/react-dom/components/form): + +```js +<form action={search}> + <input name="query" /> + <button type="submit">Search</button> +</form> +``` + +The `action` function can operate synchronously or asynchronously. You can define them on the client side using standard JavaScript or on the server with the [`'use server'`](/reference/react/use-server) directive. When using an action, React will manage the life cycle of the data submission for you, providing hooks like [`useFormStatus`](/reference/react-dom/hooks/useFormStatus), and [`useFormState`](/reference/react-dom/hooks/useFormState) to access the current state and response of the form action. + +By default, Actions are submitted within a [`transition`](/reference/react/useTransition), keeping the current page interactive while the action is processing. Since Actions support async functions, we've also added the ability to use `async/await` in transitions. This allows you to show pending UI with the `isPending` state of a transition when an async request like `fetch` starts, and show the pending UI all the way through the update being applied. + +Alongside Actions, we're introducing a feature named [`useOptimistic`](/reference/react/useOptimistic) for managing optimistic state updates. With this hook, you can apply temporary updates that are automatically reverted once the final state commits. For Actions, this allows you to optimistically set the final state of the data on the client, assuming the submission is successful, and revert to the value for data received from the server. It works using regular `async`/`await`, so it works the same whether you're using `fetch` on the client, or a Server Action from the server. + +Library authors can implement custom `action={fn}` props in their own components with `useTransition`. Our intent is for libraries to adopt the Actions pattern when designing their component APIs, to provide a consistent experience for React developers. For example, if your library provides a `<Calendar onSelect={eventHandler}>` component, consider also exposing a `<Calendar selectAction={action}>` API, too. + +While we initially focused on Server Actions for client-server data transfer, our philosophy for React is to provide the same programming model across all platforms and environments. When possible, if we introduce a feature on the client, we aim to make it also work on the server, and vice versa. This philosophy allows us to create a single set of APIs that work no matter where your app runs, making it easier to upgrade to different environments later. + +Actions are now available in the Canary channel and will ship in the next release of React. + +## New Features in React Canary {/*new-features-in-react-canary*/} + +We introduced [React Canaries](/blog/2023/05/03/react-canaries) as an option to adopt individual new stable features as soon as their design is close to final, before they’re released in a stable semver version. + +Canaries are a change to the way we develop React. Previously, features would be researched and built privately inside of Meta, so users would only see the final polished product when released to Stable. With Canaries, we’re building in public with the help of the community to finalize features we share in the React Labs blog series. This means you hear about new features sooner, as they’re being finalized instead of after they’re complete. + +React Server Components, Asset Loading, Document Metadata, and Actions have all landed the React Canary, and we've added docs for these features on react.dev: + +- **Directives**: [`"use client"`](/reference/react/use-client) and [`"use server"`](/reference/react/use-server) are bundler features designed for full-stack React frameworks. They mark the "split points" between the two environments: `"use client"` instructs the bundler to generate a `<script>` tag (like [Astro Islands](https://docs.astro.build/en/concepts/islands/#creating-an-island)), while `"use server"` tells the bundler to generate a POST endpoint (like [tRPC Mutations](https://trpc.io/docs/concepts)). Together, they let you write reusable components that compose client-side interactivity with the related server-side logic. + +- **Document Metadata**: we added built-in support for rendering [`<title>`](/reference/react-dom/components/title), [`<meta>`](/reference/react-dom/components/meta), and metadata [`<link>`](/reference/react-dom/components/link) tags anywhere in your component tree. These work the same way in all environments, including fully client-side code, SSR, and RSC. This provides built-in support for features pioneered by libraries like [React Helmet](https://github.com/nfl/react-helmet). + +- **Asset Loading**: we integrated Suspense with the loading lifecycle of resources such as stylesheets, fonts, and scripts so that React takes them into account to determine whether the content in elements like [`<style>`](/reference/react-dom/components/style), [`<link>`](/reference/react-dom/components/link), and [`<script>`](/reference/react-dom/components/script) are ready to be displayed. We’ve also added new [Resource Loading APIs](/reference/react-dom#resource-preloading-apis) like `preload` and `preinit` give greater control for when a resource should load and initialize. + +- **Actions**: As shared above, we've added Actions to manage sending data from the client to the server. You can add `action` to elements like [`<form/>`](/reference/react-dom/components/form), access the status with [`useFormStatus`](/reference/react-dom/hooks/useFormStatus), handle the result with [`useFormState`](/reference/react-dom/hooks/useFormState), and optimistically update the UI with [`useOptimistic`](/reference/react/useOptimistic). + +We developed these features individually and released them incrementally for testing in the `canary` channel. This allowed us to build each feature in public, test them individually in production, and iterate on feedback until we reach a final design. Since all of these features work together, it’s difficult to release them individually. Releasing Actions without the complementary hooks for accessing form states would limit the practical usability of Actions. Introducing React Server Components without integrating Server Actions would complicate modifying data on the server. Before we can release a set of features to stable, we need to ensure they work cohesively and developers have everything they need to use them in production. + +The current set of features in React Canary have everything needed to build in production are ready to release in the next semver stable version of React. + +## The Next Major Version of React {/*the-next-major-version-of-react*/} + +After a couple of years of iteration, `react@canary` is now ready to ship to `react@latest`. The new features mentioned above are compatible with any environment your app runs in, providing everything needed for production use. Since Asset Loading and Document Metadata may be a breaking change for some apps, the next version of React will be a major version: **React 19**. + +There’s still more to be done to prepare for release. In React 19, we’re also adding long-requested improvements which require breaking changes like support for Web Components. Our focus now is to land these changes, prepare for release, finalize docs for new features, and publish announcements for what’s included. + +We’ll share more information about everything React 19 includes, how to adopt the new client features, and how to build support for React Server Components in the coming months. + +## Offscreen (renamed to Activity). {/*offscreen-renamed-to-activity*/} + +Since our last update, we’ve renamed a capability we’re researching from “Offscreen” to “Activity”. The name “Offscreen” implied that it only applied to parts of the app that were not visible, but while researching the feature we realized that it’s possible for parts of the app to be visible and inactive, such as content behind a modal. The new name more closely reflects the behavior of marking certain parts of the app “active” or “inactive”. + +Activity is still under research and our remaining work is to finalize the primitives that are exposed to library developers. We’ve deprioritized this area while we focus on shipping features that are more complete. + +* * * + +In addition to this update, our team has presented at conferences and made appearances on podcasts to speak more on our work and answer questions. + +- [Sathya Gunasekaran](/community/team#sathya-gunasekaran) spoke about the React Complier at the [React India](https://www.youtube.com/watch?v=kjOacmVsLSE) conference + +- [Dan Abramov](/community/team#dan-abramov) gave a talk at [RemixConf](https://www.youtube.com/watch?v=zMf_xeGPn6s) titled “React from Another Dimension” which explores and alternative history of how React Server Components and Actions could have been created + +- [Dan Abramov](/community/team#dan-abramov) was interviewed on [the Changelog’s JS Party podcast](https://changelog.com/jsparty/311) about React Server Components + +- [Matt Carroll](/community/team#matt-carroll) was interviewed on the [Front-End Fire podcast](https://www.buzzsprout.com/2226499/14462424-interview-the-two-reacts-with-rachel-nabors-evan-bacon-and-matt-carroll) where he discussed [The Two Reacts](https://overreacted.io/the-two-reacts/) + +Thanks [Lauren Tan](https://twitter.com/potetotes), [Sophie Alpert](https://twitter.com/sophiebits), [Jason Bonta](https://threads.net/someextent), [Eli White](https://twitter.com/Eli_White), and [Sathya Gunasekaran](https://twitter.com/_gsathya) for reviewing this post. + +Thanks for reading, and [see you at React Conf](https://conf.react.dev/)! diff --git a/src/content/blog/index.md b/src/content/blog/index.md index fc8a2969..409f3370 100644 --- a/src/content/blog/index.md +++ b/src/content/blog/index.md @@ -10,6 +10,12 @@ This blog is the official source for the updates from the React team. Anything i <div className="sm:-mx-5 flex flex-col gap-5 mt-12"> +<BlogCard title="React Labs: What We've Been Working On – February 2024" date="February 15, 2024" url="/blog/2024/02/15/react-labs-what-we-have-been-working-on-february-2024"> + +In React Labs posts, we write about projects in active research and development. Since our last update, we've made significant progress on React Compiler, new features, and React 19, and we'd like to share what we learned. + +</BlogCard> + <BlogCard title="React Canaries: Incremental Feature Rollout Outside Meta" date="May 3, 2023" url="/blog/2023/05/03/react-canaries"> Traditionally, new React features used to only be available at Meta first, and land in the open source releases later. We'd like to offer the React community an option to adopt individual new features as soon as their design is close to final--similar to how Meta uses React internally. We are introducing a new officially supported Canary release channel. It lets curated setups like frameworks decouple adoption of individual React features from the React release schedule. diff --git a/src/sidebarBlog.json b/src/sidebarBlog.json index 2141181b..f90d23ef 100644 --- a/src/sidebarBlog.json +++ b/src/sidebarBlog.json @@ -11,6 +11,13 @@ "path": "/blog", "skipBreadcrumb": true, "routes": [ + { + "title": "React Labs: What We've Been Working On – February 2024", + "titleForHomepage": "React Labs: February 2024", + "icon": "labs", + "date": "February 15, 2024", + "path": "/blog/2024/02/15/react-labs-what-we-have-been-working-on-february-2024" + }, { "title": "React Canaries: Enabling Incremental Feature Rollout Outside Meta", "titleForHomepage": "React Canaries: Incremental Feature Rollout", From c1039b3669d9dd622af0c60534bee11ee869d226 Mon Sep 17 00:00:00 2001 From: Ricky <rickhanlonii@fb.com> Date: Thu, 15 Feb 2024 15:10:56 -0500 Subject: [PATCH 189/382] minor fixes from #6629 (#6630) --- .../react-labs-what-we-have-been-working-on-february-2024.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/content/blog/2024/02/15/react-labs-what-we-have-been-working-on-february-2024.md b/src/content/blog/2024/02/15/react-labs-what-we-have-been-working-on-february-2024.md index 56ada8fc..00e85b00 100644 --- a/src/content/blog/2024/02/15/react-labs-what-we-have-been-working-on-february-2024.md +++ b/src/content/blog/2024/02/15/react-labs-what-we-have-been-working-on-february-2024.md @@ -41,7 +41,7 @@ To see the compiler in action, you can check out our [talk from last fall](https ## Actions {/*actions*/} -We [previously shared](/blog/2023/03/22/react-labs-what-we-have-been-working-on-march-2023#react-server-components) that we were exploring solutions for sending data from the client to the server with Server Actions, so that you can execute database mutations and implement forms. During development, we extended these APIs to support data handling in client-only applications as well. +We [previously shared](/blog/2023/03/22/react-labs-what-we-have-been-working-on-march-2023#react-server-components) that we were exploring solutions for sending data from the client to the server with Server Actions, so that you can execute database mutations and implement forms. During development of Server Actions, we extended these APIs to support data handling in client-only applications as well. We refer to this broader collection of features as simply "Actions". Actions allow you to pass a function to DOM elements such as [`<form/>`](/reference/react-dom/components/form): @@ -70,7 +70,7 @@ We introduced [React Canaries](/blog/2023/05/03/react-canaries) as an option to Canaries are a change to the way we develop React. Previously, features would be researched and built privately inside of Meta, so users would only see the final polished product when released to Stable. With Canaries, we’re building in public with the help of the community to finalize features we share in the React Labs blog series. This means you hear about new features sooner, as they’re being finalized instead of after they’re complete. -React Server Components, Asset Loading, Document Metadata, and Actions have all landed the React Canary, and we've added docs for these features on react.dev: +React Server Components, Asset Loading, Document Metadata, and Actions have all landed in the React Canary, and we've added docs for these features on react.dev: - **Directives**: [`"use client"`](/reference/react/use-client) and [`"use server"`](/reference/react/use-server) are bundler features designed for full-stack React frameworks. They mark the "split points" between the two environments: `"use client"` instructs the bundler to generate a `<script>` tag (like [Astro Islands](https://docs.astro.build/en/concepts/islands/#creating-an-island)), while `"use server"` tells the bundler to generate a POST endpoint (like [tRPC Mutations](https://trpc.io/docs/concepts)). Together, they let you write reusable components that compose client-side interactivity with the related server-side logic. From 9d3fc070901da0cba71f1ac4a509cb6df931d2ae Mon Sep 17 00:00:00 2001 From: Ricky <rickhanlonii@fb.com> Date: Thu, 15 Feb 2024 15:23:51 -0500 Subject: [PATCH 190/382] tweaks (#6631) --- ...react-labs-what-we-have-been-working-on-february-2024.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/content/blog/2024/02/15/react-labs-what-we-have-been-working-on-february-2024.md b/src/content/blog/2024/02/15/react-labs-what-we-have-been-working-on-february-2024.md index 00e85b00..d06dbd8e 100644 --- a/src/content/blog/2024/02/15/react-labs-what-we-have-been-working-on-february-2024.md +++ b/src/content/blog/2024/02/15/react-labs-what-we-have-been-working-on-february-2024.md @@ -80,9 +80,11 @@ React Server Components, Asset Loading, Document Metadata, and Actions have all - **Actions**: As shared above, we've added Actions to manage sending data from the client to the server. You can add `action` to elements like [`<form/>`](/reference/react-dom/components/form), access the status with [`useFormStatus`](/reference/react-dom/hooks/useFormStatus), handle the result with [`useFormState`](/reference/react-dom/hooks/useFormState), and optimistically update the UI with [`useOptimistic`](/reference/react/useOptimistic). -We developed these features individually and released them incrementally for testing in the `canary` channel. This allowed us to build each feature in public, test them individually in production, and iterate on feedback until we reach a final design. Since all of these features work together, it’s difficult to release them individually. Releasing Actions without the complementary hooks for accessing form states would limit the practical usability of Actions. Introducing React Server Components without integrating Server Actions would complicate modifying data on the server. Before we can release a set of features to stable, we need to ensure they work cohesively and developers have everything they need to use them in production. +Since all of these features work together, it’s difficult to release them in the Stable channel individually. Releasing Actions without the complementary hooks for accessing form states would limit the practical usability of Actions. Introducing React Server Components without integrating Server Actions would complicate modifying data on the server. -The current set of features in React Canary have everything needed to build in production are ready to release in the next semver stable version of React. +Before we can release a set of features to the Stable channel, we need to ensure they work cohesively and developers have everything they need to use them in production. React Canaries allow us to develop these features individually, and release the stable APIs incrementally until the entire feature set is complete. + +The current set of features in React Canary are complete and ready to release. ## The Next Major Version of React {/*the-next-major-version-of-react*/} From bce6e55452b981e9d3b4054f747d306fcf92f464 Mon Sep 17 00:00:00 2001 From: Jack Pope <jackpope1@gmail.com> Date: Thu, 15 Feb 2024 16:19:28 -0500 Subject: [PATCH 191/382] Add warning page for RTR deprecation (#6632) * Add warning page for RTR deprecation * shorten path * Add link for RN testing library --- src/content/warnings/react-test-renderer.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 src/content/warnings/react-test-renderer.md diff --git a/src/content/warnings/react-test-renderer.md b/src/content/warnings/react-test-renderer.md new file mode 100644 index 00000000..8dc5be74 --- /dev/null +++ b/src/content/warnings/react-test-renderer.md @@ -0,0 +1,7 @@ +--- +title: react-test-renderer Deprecation Warning +--- + +react-test-renderer is deprecated. A warning will fire whenever calling ReactTestRenderer.create() or ReactShallowRender.render(). The react-test-renderer package will remain available on NPM but will not be maintained and may break with new React features or changes to React's internals. + +The React Team recommends migrating your tests to [@testing-library/react](https://testing-library.com/docs/react-testing-library/intro/) or [@testing-library/react-native](https://callstack.github.io/react-native-testing-library/docs/getting-started) for a modern and well supported testing experience. From b66dece7cdb418625a0646c99d69f17aebf09da1 Mon Sep 17 00:00:00 2001 From: Sophie Alpert <git@sophiebits.com> Date: Thu, 15 Feb 2024 15:15:59 -0800 Subject: [PATCH 192/382] Update react-labs-what-we-have-been-working-on-february-2024.md --- .../15/react-labs-what-we-have-been-working-on-february-2024.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/blog/2024/02/15/react-labs-what-we-have-been-working-on-february-2024.md b/src/content/blog/2024/02/15/react-labs-what-we-have-been-working-on-february-2024.md index d06dbd8e..5b96a22d 100644 --- a/src/content/blog/2024/02/15/react-labs-what-we-have-been-working-on-february-2024.md +++ b/src/content/blog/2024/02/15/react-labs-what-we-have-been-working-on-february-2024.md @@ -54,7 +54,7 @@ We refer to this broader collection of features as simply "Actions". Actions all The `action` function can operate synchronously or asynchronously. You can define them on the client side using standard JavaScript or on the server with the [`'use server'`](/reference/react/use-server) directive. When using an action, React will manage the life cycle of the data submission for you, providing hooks like [`useFormStatus`](/reference/react-dom/hooks/useFormStatus), and [`useFormState`](/reference/react-dom/hooks/useFormState) to access the current state and response of the form action. -By default, Actions are submitted within a [`transition`](/reference/react/useTransition), keeping the current page interactive while the action is processing. Since Actions support async functions, we've also added the ability to use `async/await` in transitions. This allows you to show pending UI with the `isPending` state of a transition when an async request like `fetch` starts, and show the pending UI all the way through the update being applied. +By default, Actions are submitted within a [transition](/reference/react/useTransition), keeping the current page interactive while the action is processing. Since Actions support async functions, we've also added the ability to use `async/await` in transitions. This allows you to show pending UI with the `isPending` state of a transition when an async request like `fetch` starts, and show the pending UI all the way through the update being applied. Alongside Actions, we're introducing a feature named [`useOptimistic`](/reference/react/useOptimistic) for managing optimistic state updates. With this hook, you can apply temporary updates that are automatically reverted once the final state commits. For Actions, this allows you to optimistically set the final state of the data on the client, assuming the submission is successful, and revert to the value for data received from the server. It works using regular `async`/`await`, so it works the same whether you're using `fetch` on the client, or a Server Action from the server. From c608570d6e0f99c82f7ed32e4509a85ce04f7edb Mon Sep 17 00:00:00 2001 From: Matt Carroll <7158882+mattcarrollcode@users.noreply.github.com> Date: Thu, 15 Feb 2024 21:49:40 -0800 Subject: [PATCH 193/382] [blog] labs 2024 - minor grammer fix --- .../15/react-labs-what-we-have-been-working-on-february-2024.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/blog/2024/02/15/react-labs-what-we-have-been-working-on-february-2024.md b/src/content/blog/2024/02/15/react-labs-what-we-have-been-working-on-february-2024.md index 5b96a22d..6bb13517 100644 --- a/src/content/blog/2024/02/15/react-labs-what-we-have-been-working-on-february-2024.md +++ b/src/content/blog/2024/02/15/react-labs-what-we-have-been-working-on-february-2024.md @@ -76,7 +76,7 @@ React Server Components, Asset Loading, Document Metadata, and Actions have all - **Document Metadata**: we added built-in support for rendering [`<title>`](/reference/react-dom/components/title), [`<meta>`](/reference/react-dom/components/meta), and metadata [`<link>`](/reference/react-dom/components/link) tags anywhere in your component tree. These work the same way in all environments, including fully client-side code, SSR, and RSC. This provides built-in support for features pioneered by libraries like [React Helmet](https://github.com/nfl/react-helmet). -- **Asset Loading**: we integrated Suspense with the loading lifecycle of resources such as stylesheets, fonts, and scripts so that React takes them into account to determine whether the content in elements like [`<style>`](/reference/react-dom/components/style), [`<link>`](/reference/react-dom/components/link), and [`<script>`](/reference/react-dom/components/script) are ready to be displayed. We’ve also added new [Resource Loading APIs](/reference/react-dom#resource-preloading-apis) like `preload` and `preinit` give greater control for when a resource should load and initialize. +- **Asset Loading**: we integrated Suspense with the loading lifecycle of resources such as stylesheets, fonts, and scripts so that React takes them into account to determine whether the content in elements like [`<style>`](/reference/react-dom/components/style), [`<link>`](/reference/react-dom/components/link), and [`<script>`](/reference/react-dom/components/script) are ready to be displayed. We’ve also added new [Resource Loading APIs](/reference/react-dom#resource-preloading-apis) like `preload` and `preinit` to provide greater control for when a resource should load and initialize. - **Actions**: As shared above, we've added Actions to manage sending data from the client to the server. You can add `action` to elements like [`<form/>`](/reference/react-dom/components/form), access the status with [`useFormStatus`](/reference/react-dom/hooks/useFormStatus), handle the result with [`useFormState`](/reference/react-dom/hooks/useFormState), and optimistically update the UI with [`useOptimistic`](/reference/react/useOptimistic). From 1c06fccad309b128761b98db5b749c44ac82564e Mon Sep 17 00:00:00 2001 From: Robin Heinze <robin.m.heinze@gmail.com> Date: Fri, 16 Feb 2024 22:32:52 -0800 Subject: [PATCH 194/382] Update conferences.md to include Chain React 2024 (#6640) --- src/content/community/conferences.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/content/community/conferences.md b/src/content/community/conferences.md index ef330187..8d137021 100644 --- a/src/content/community/conferences.md +++ b/src/content/community/conferences.md @@ -65,6 +65,11 @@ July 04 & 05, 2024. Bangalore, India (In-person event) [Website](https://reactnexus.com/) - [Twitter](https://twitter.com/ReactNexus) - [Linkedin](https://www.linkedin.com/company/react-nexus) - [YouTube](https://www.youtube.com/reactify_in) +### Chain React 2024 {/*chain-react-2024*/} +July 17-19, 2024. In-person in Portland, OR, USA + +[Website](https://chainreactconf.com) - [Twitter](https://twitter.com/ChainReactConf) + ### React India 2024 {/*react-india-2024*/} October 17 - 19, 2024. In-person in Goa, India (hybrid event) + Oct 15 2024 - remote day From 74c33a16dab86b3da1412ed5d695a8788ecba425 Mon Sep 17 00:00:00 2001 From: Stephan de Vries <stephan281094@users.noreply.github.com> Date: Sat, 17 Feb 2024 06:35:37 +0000 Subject: [PATCH 195/382] Fix typos in latest blog post (#6636) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit "React Complier" → "React Compiler" "and alternative history" → "an alternative history" --- .../react-labs-what-we-have-been-working-on-february-2024.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/content/blog/2024/02/15/react-labs-what-we-have-been-working-on-february-2024.md b/src/content/blog/2024/02/15/react-labs-what-we-have-been-working-on-february-2024.md index 6bb13517..03fc85c3 100644 --- a/src/content/blog/2024/02/15/react-labs-what-we-have-been-working-on-february-2024.md +++ b/src/content/blog/2024/02/15/react-labs-what-we-have-been-working-on-february-2024.md @@ -104,9 +104,9 @@ Activity is still under research and our remaining work is to finalize the primi In addition to this update, our team has presented at conferences and made appearances on podcasts to speak more on our work and answer questions. -- [Sathya Gunasekaran](/community/team#sathya-gunasekaran) spoke about the React Complier at the [React India](https://www.youtube.com/watch?v=kjOacmVsLSE) conference +- [Sathya Gunasekaran](/community/team#sathya-gunasekaran) spoke about the React Compiler at the [React India](https://www.youtube.com/watch?v=kjOacmVsLSE) conference -- [Dan Abramov](/community/team#dan-abramov) gave a talk at [RemixConf](https://www.youtube.com/watch?v=zMf_xeGPn6s) titled “React from Another Dimension” which explores and alternative history of how React Server Components and Actions could have been created +- [Dan Abramov](/community/team#dan-abramov) gave a talk at [RemixConf](https://www.youtube.com/watch?v=zMf_xeGPn6s) titled “React from Another Dimension” which explores an alternative history of how React Server Components and Actions could have been created - [Dan Abramov](/community/team#dan-abramov) was interviewed on [the Changelog’s JS Party podcast](https://changelog.com/jsparty/311) about React Server Components From 156765fc763bb85a7a6dc5eb1bd155801bbebaee Mon Sep 17 00:00:00 2001 From: Devon Govett <devongovett@gmail.com> Date: Sat, 17 Feb 2024 16:42:14 -0500 Subject: [PATCH 196/382] Fix localhost link in script documentation (#6642) --- src/content/reference/react-dom/components/script.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/content/reference/react-dom/components/script.md b/src/content/reference/react-dom/components/script.md index a2c4668c..fc4b0127 100644 --- a/src/content/reference/react-dom/components/script.md +++ b/src/content/reference/react-dom/components/script.md @@ -68,7 +68,7 @@ Props that are **not recommended** for use with React: #### Special rendering behavior {/*special-rendering-behavior*/} -React can move `<script>` components to the document's `<head>`, de-duplicate identical scripts, and [suspend](http://localhost:3000/reference/react/Suspense) while the script is loading. +React can move `<script>` components to the document's `<head>`, de-duplicate identical scripts, and [suspend](/reference/react/Suspense) while the script is loading. To opt into this behavior, provide the `src` and `async={true}` props. React will de-duplicate scripts if they have the same `src`. The `async` prop must be true to allow scripts to be safely moved. @@ -146,4 +146,4 @@ export default function Page() { } ``` -</SandpackWithHTMLOutput> \ No newline at end of file +</SandpackWithHTMLOutput> From 35530eea4bb8ba2567c1f57f1ccf730cc89b76de Mon Sep 17 00:00:00 2001 From: Felipe Oliveira <felipe.boliveira@outlook.com> Date: Sun, 18 Feb 2024 15:59:25 -0300 Subject: [PATCH 197/382] [typo] syntax looks wrong #6633 (#6641) --- src/content/reference/react-dom/components/style.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/content/reference/react-dom/components/style.md b/src/content/reference/react-dom/components/style.md index 0c6d8e59..238a26d8 100644 --- a/src/content/reference/react-dom/components/style.md +++ b/src/content/reference/react-dom/components/style.md @@ -14,7 +14,7 @@ React's extensions to `<style>` are currently only available in React's canary a The [built-in browser `<style>` component](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/style) lets you add inline CSS stylesheets to your document. ```js -<style> p { color: red; } </style> +<style>{` p { color: red; } `}</style> ``` </Intro> @@ -30,7 +30,7 @@ The [built-in browser `<style>` component](https://developer.mozilla.org/en-US/d To add inline styles to your document, render the [built-in browser `<style>` component](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/style). You can render `<style>` from any component and React will [in certain cases](#special-rendering-behavior) place the corresponding DOM element in the document head and de-duplicate identical styles. ```js -<style> p { color: red; } </style> +<style>{` p { color: red; } `}</style> ``` [See more examples below.](#usage) From c9369f47dc034016255dedcf8bde39410b60adbd Mon Sep 17 00:00:00 2001 From: Szymon Rybczak <szymon.rybczak@gmail.com> Date: Tue, 20 Feb 2024 19:58:18 +0100 Subject: [PATCH 198/382] feat(conferences): add React Universe Conf 2024 (#6649) --- src/content/community/conferences.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/content/community/conferences.md b/src/content/community/conferences.md index 8d137021..7d79c733 100644 --- a/src/content/community/conferences.md +++ b/src/content/community/conferences.md @@ -10,6 +10,11 @@ Do you know of a local React.js conference? Add it here! (Please keep the list c ## Upcoming Conferences {/*upcoming-conferences*/} +### React Universe Conf 2024 {/*react-universe-conf-2024*/} +September 5-6, 2024. Wrocław, Poland. + +[Website](https://www.reactuniverseconf.com/) - [Twitter](https://twitter.com/react_native_eu) - [LinkedIn](https://www.linkedin.com/events/reactuniverseconf7163919537074118657/) + ### React Paris 2024 {/*react-paris-2024*/} March 22, 2024. In-person in Paris, France + Remote (hybrid) From e16634aaaa72d7d7dc8e6072611bd41258c7469c Mon Sep 17 00:00:00 2001 From: Sebastian Silbermann <silbermann.sebastian@gmail.com> Date: Tue, 20 Feb 2024 21:13:33 +0100 Subject: [PATCH 199/382] Add options to call signature of react-dom/server legacy APIs (#6477) * Update renderToNodeStream.md * Update renderToStaticMarkup.md * Update renderToStaticNodeStream.md * Update renderToString.md --- src/content/reference/react-dom/server/renderToNodeStream.md | 4 ++-- .../reference/react-dom/server/renderToStaticMarkup.md | 4 ++-- .../reference/react-dom/server/renderToStaticNodeStream.md | 4 ++-- src/content/reference/react-dom/server/renderToString.md | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/content/reference/react-dom/server/renderToNodeStream.md b/src/content/reference/react-dom/server/renderToNodeStream.md index fd2464b9..aa2c2e8f 100644 --- a/src/content/reference/react-dom/server/renderToNodeStream.md +++ b/src/content/reference/react-dom/server/renderToNodeStream.md @@ -13,7 +13,7 @@ This API will be removed in a future major version of React. Use [`renderToPipea `renderToNodeStream` renders a React tree to a [Node.js Readable Stream.](https://nodejs.org/api/stream.html#readable-streams) ```js -const stream = renderToNodeStream(reactNode) +const stream = renderToNodeStream(reactNode, options?) ``` </Intro> @@ -24,7 +24,7 @@ const stream = renderToNodeStream(reactNode) ## Reference {/*reference*/} -### `renderToNodeStream(reactNode)` {/*rendertonodestream*/} +### `renderToNodeStream(reactNode, options?)` {/*rendertonodestream*/} On the server, call `renderToNodeStream` to get a [Node.js Readable Stream](https://nodejs.org/api/stream.html#readable-streams) which you can pipe into the response. diff --git a/src/content/reference/react-dom/server/renderToStaticMarkup.md b/src/content/reference/react-dom/server/renderToStaticMarkup.md index 607affd9..2b9178d5 100644 --- a/src/content/reference/react-dom/server/renderToStaticMarkup.md +++ b/src/content/reference/react-dom/server/renderToStaticMarkup.md @@ -7,7 +7,7 @@ title: renderToStaticMarkup `renderToStaticMarkup` renders a non-interactive React tree to an HTML string. ```js -const html = renderToStaticMarkup(reactNode) +const html = renderToStaticMarkup(reactNode, options?) ``` </Intro> @@ -18,7 +18,7 @@ const html = renderToStaticMarkup(reactNode) ## Reference {/*reference*/} -### `renderToStaticMarkup(reactNode)` {/*rendertostaticmarkup*/} +### `renderToStaticMarkup(reactNode, options?)` {/*rendertostaticmarkup*/} On the server, call `renderToStaticMarkup` to render your app to HTML. diff --git a/src/content/reference/react-dom/server/renderToStaticNodeStream.md b/src/content/reference/react-dom/server/renderToStaticNodeStream.md index 47ef74c3..f12b6da2 100644 --- a/src/content/reference/react-dom/server/renderToStaticNodeStream.md +++ b/src/content/reference/react-dom/server/renderToStaticNodeStream.md @@ -7,7 +7,7 @@ title: renderToStaticNodeStream `renderToStaticNodeStream` renders a non-interactive React tree to a [Node.js Readable Stream.](https://nodejs.org/api/stream.html#readable-streams) ```js -const stream = renderToStaticNodeStream(reactNode) +const stream = renderToStaticNodeStream(reactNode, options?) ``` </Intro> @@ -18,7 +18,7 @@ const stream = renderToStaticNodeStream(reactNode) ## Reference {/*reference*/} -### `renderToStaticNodeStream(reactNode)` {/*rendertostaticnodestream*/} +### `renderToStaticNodeStream(reactNode, options?)` {/*rendertostaticnodestream*/} On the server, call `renderToStaticNodeStream` to get a [Node.js Readable Stream](https://nodejs.org/api/stream.html#readable-streams). diff --git a/src/content/reference/react-dom/server/renderToString.md b/src/content/reference/react-dom/server/renderToString.md index e1269294..d9f1bdba 100644 --- a/src/content/reference/react-dom/server/renderToString.md +++ b/src/content/reference/react-dom/server/renderToString.md @@ -13,7 +13,7 @@ title: renderToString `renderToString` renders a React tree to an HTML string. ```js -const html = renderToString(reactNode) +const html = renderToString(reactNode, options?) ``` </Intro> @@ -24,7 +24,7 @@ const html = renderToString(reactNode) ## Reference {/*reference*/} -### `renderToString(reactNode)` {/*rendertostring*/} +### `renderToString(reactNode, options?)` {/*rendertostring*/} On the server, call `renderToString` to render your app to HTML. From af289c30900d3515f916eca4ca98c4253f5bc1d2 Mon Sep 17 00:00:00 2001 From: Joseph Savona <josephsavona@users.noreply.github.com> Date: Tue, 20 Feb 2024 14:30:08 -0800 Subject: [PATCH 200/382] Update team page (#6652) --- src/content/community/team.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/community/team.md b/src/content/community/team.md index 0c6c63a8..9ef95d64 100644 --- a/src/content/community/team.md +++ b/src/content/community/team.md @@ -22,7 +22,7 @@ Current members of the React team are listed in alphabetical order below. Andrey started his career as a designer and then gradually transitioned into web development. After joining the React Data team at Meta he worked on adding an incremental JavaScript compiler to Relay, and then later on, worked on removing the same compiler from Relay. Outside of work, Andrey likes to play music and engage in various sports. </TeamMember> -<TeamMember name="Dan Abramov" permalink="dan-abramov" photo="/images/team/gaearon.jpg" github="gaearon" twitter="dan_abramov" title="Engineer at Meta"> +<TeamMember name="Dan Abramov" permalink="dan-abramov" photo="/images/team/gaearon.jpg" github="gaearon" twitter="dan_abramov" title="Independent Engineer"> Dan got into programming after he accidentally discovered Visual Basic inside Microsoft PowerPoint. He has found his true calling in turning [Sebastian](#sebastian-markbåge)'s tweets into long-form blog posts. Dan occasionally wins at Fortnite by hiding in a bush until the game ends. </TeamMember> From 5398b47260cb47baf1edcf5f6634e30b5014015f Mon Sep 17 00:00:00 2001 From: Victoria Quirante <victoria@limenius.com> Date: Wed, 21 Feb 2024 12:23:59 +0100 Subject: [PATCH 201/382] Add React Alicante to conferences.md (#6655) --- src/content/community/conferences.md | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/content/community/conferences.md b/src/content/community/conferences.md index 7d79c733..44e5e4fc 100644 --- a/src/content/community/conferences.md +++ b/src/content/community/conferences.md @@ -10,11 +10,6 @@ Do you know of a local React.js conference? Add it here! (Please keep the list c ## Upcoming Conferences {/*upcoming-conferences*/} -### React Universe Conf 2024 {/*react-universe-conf-2024*/} -September 5-6, 2024. Wrocław, Poland. - -[Website](https://www.reactuniverseconf.com/) - [Twitter](https://twitter.com/react_native_eu) - [LinkedIn](https://www.linkedin.com/events/reactuniverseconf7163919537074118657/) - ### React Paris 2024 {/*react-paris-2024*/} March 22, 2024. In-person in Paris, France + Remote (hybrid) @@ -75,6 +70,16 @@ July 17-19, 2024. In-person in Portland, OR, USA [Website](https://chainreactconf.com) - [Twitter](https://twitter.com/ChainReactConf) +### React Universe Conf 2024 {/*react-universe-conf-2024*/} +September 5-6, 2024. Wrocław, Poland. + +[Website](https://www.reactuniverseconf.com/) - [Twitter](https://twitter.com/react_native_eu) - [LinkedIn](https://www.linkedin.com/events/reactuniverseconf7163919537074118657/) + +### React Alicante 2024 {/*react-alicante-2024*/} +September 19-21, 2024. Alicante, Spain. + +[Website](https://reactalicante.es/) - [Twitter](https://twitter.com/ReactAlicante) - [YouTube](https://www.youtube.com/channel/UCaSdUaITU1Cz6PvC97A7e0w) + ### React India 2024 {/*react-india-2024*/} October 17 - 19, 2024. In-person in Goa, India (hybrid event) + Oct 15 2024 - remote day From 93aec2784b26e0b0a69cb587fd59e35554afb774 Mon Sep 17 00:00:00 2001 From: Tomasz Wysocki <121371814+tomaszwysocki@users.noreply.github.com> Date: Wed, 21 Feb 2024 16:02:51 +0100 Subject: [PATCH 202/382] Remove redundant suggestion (#6643) Removed the redundant alternative state management suggestion. The documentation already emphasizes the elimination of duplication by advising to hold the selected ID in state, making the alternative suggestion unnecessary. --- src/content/learn/choosing-the-state-structure.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/content/learn/choosing-the-state-structure.md b/src/content/learn/choosing-the-state-structure.md index c3218589..5be2b4d3 100644 --- a/src/content/learn/choosing-the-state-structure.md +++ b/src/content/learn/choosing-the-state-structure.md @@ -554,8 +554,6 @@ button { margin-top: 10px; } </Sandpack> -(Alternatively, you may hold the selected index in state.) - The state used to be duplicated like this: * `items = [{ id: 0, title: 'pretzels'}, ...]` From 2ad51d921bb78c0a79998f92061f9d63c0a8cf21 Mon Sep 17 00:00:00 2001 From: Sahil Mhapsekar <saheel.mhapsekar@gmail.com> Date: Fri, 23 Feb 2024 10:29:02 +0530 Subject: [PATCH 203/382] feat(conferences): add The GeekConf 2024 (#6654) --- src/content/community/conferences.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/content/community/conferences.md b/src/content/community/conferences.md index 44e5e4fc..a28d6084 100644 --- a/src/content/community/conferences.md +++ b/src/content/community/conferences.md @@ -70,6 +70,11 @@ July 17-19, 2024. In-person in Portland, OR, USA [Website](https://chainreactconf.com) - [Twitter](https://twitter.com/ChainReactConf) +### The Geek Conf 2024 {/*the-geek-conf-2024*/} +July 25, 2024. In-person in Berlin, Germany + remote (hybrid event) + +[Website](https://thegeekconf.com) - [Twitter](https://twitter.com/thegeekconf) + ### React Universe Conf 2024 {/*react-universe-conf-2024*/} September 5-6, 2024. Wrocław, Poland. @@ -80,6 +85,7 @@ September 19-21, 2024. Alicante, Spain. [Website](https://reactalicante.es/) - [Twitter](https://twitter.com/ReactAlicante) - [YouTube](https://www.youtube.com/channel/UCaSdUaITU1Cz6PvC97A7e0w) + ### React India 2024 {/*react-india-2024*/} October 17 - 19, 2024. In-person in Goa, India (hybrid event) + Oct 15 2024 - remote day From a853e69261022734c238fd2199a90f23d1548c95 Mon Sep 17 00:00:00 2001 From: Ricky <rickhanlonii@fb.com> Date: Sat, 24 Feb 2024 10:35:53 -0500 Subject: [PATCH 204/382] Remove useMemo from useFormStatus example (#6658) * Remove useMemo from useFormStatus example * nits --- .../react-dom/hooks/useFormStatus.md | 57 +++++++++---------- 1 file changed, 28 insertions(+), 29 deletions(-) diff --git a/src/content/reference/react-dom/hooks/useFormStatus.md b/src/content/reference/react-dom/hooks/useFormStatus.md index 8733ec0c..70feceae 100644 --- a/src/content/reference/react-dom/hooks/useFormStatus.md +++ b/src/content/reference/react-dom/hooks/useFormStatus.md @@ -182,36 +182,16 @@ import {useFormStatus} from 'react-dom'; export default function UsernameForm() { const {pending, data} = useFormStatus(); - const [showSubmitted, setShowSubmitted] = useState(false); - const submittedUsername = useRef(null); - const timeoutId = useRef(null); - - useMemo(() => { - if (pending) { - submittedUsername.current = data?.get('username'); - if (timeoutId.current != null) { - clearTimeout(timeoutId.current); - } - - timeoutId.current = setTimeout(() => { - timeoutId.current = null; - setShowSubmitted(false); - }, 2000); - setShowSubmitted(true); - } - }, [pending, data]); - return ( - <> - <label>Request a Username: </label><br /> - <input type="text" name="username" /> + <div> + <h3>Request a Username: </h3> + <input type="text" name="username" disabled={pending}/> <button type="submit" disabled={pending}> - {pending ? 'Submitting...' : 'Submit'} + Submit </button> - {showSubmitted ? ( - <p>Submitted request for username: {submittedUsername.current}</p> - ) : null} - </> + <br /> + <p>{data ? `Requesting ${data?.get("username")}...`: ''}</p> + </div> ); } ``` @@ -219,10 +199,15 @@ export default function UsernameForm() { ```js src/App.js import UsernameForm from './UsernameForm'; import { submitForm } from "./actions.js"; +import {useRef} from 'react'; export default function App() { + const ref = useRef(null); return ( - <form action={submitForm}> + <form ref={ref} action={async (formData) => { + await submitForm(formData); + ref.current.reset(); + }}> <UsernameForm /> </form> ); @@ -231,8 +216,22 @@ export default function App() { ```js src/actions.js hidden export async function submitForm(query) { - await new Promise((res) => setTimeout(res, 1000)); + await new Promise((res) => setTimeout(res, 2000)); +} +``` + +```css +p { + height: 14px; + padding: 0; + margin: 2px 0 0 0 ; + font-size: 14px +} + +button { + margin-left: 2px; } + ``` ```json package.json hidden From 081d1008dd1eebffb9550a3ff623860a7d977acf Mon Sep 17 00:00:00 2001 From: Danilo Woznica <danilowoz@gmail.com> Date: Sat, 24 Feb 2024 16:11:15 +0000 Subject: [PATCH 205/382] fix(sandpack): clear up bundler timeout when there's a syntax error (#6659) * fix: Update @codesandbox/sandpack-react version to 2.13.1 * fix: Updated the bundlerURL to use a new URL --- package.json | 2 +- src/components/MDX/Sandpack/SandpackRoot.tsx | 2 +- yarn.lock | 50 +++++++++----------- 3 files changed, 24 insertions(+), 30 deletions(-) diff --git a/package.json b/package.json index f75ffbb2..274c2506 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,7 @@ "check-all": "npm-run-all prettier lint:fix tsc" }, "dependencies": { - "@codesandbox/sandpack-react": "2.6.0", + "@codesandbox/sandpack-react": "2.13.1", "@docsearch/css": "3.0.0-alpha.41", "@docsearch/react": "3.0.0-alpha.41", "@headlessui/react": "^1.7.0", diff --git a/src/components/MDX/Sandpack/SandpackRoot.tsx b/src/components/MDX/Sandpack/SandpackRoot.tsx index d47fd903..a47fa686 100644 --- a/src/components/MDX/Sandpack/SandpackRoot.tsx +++ b/src/components/MDX/Sandpack/SandpackRoot.tsx @@ -88,7 +88,7 @@ function SandpackRoot(props: SandpackProps) { autorun, initMode: 'user-visible', initModeObserverOptions: {rootMargin: '1400px 0px'}, - bundlerURL: 'https://1e4ad8f7.sandpack-bundler-4bw.pages.dev', + bundlerURL: 'https://786946de.sandpack-bundler-4bw.pages.dev', logLevel: SandpackLogLevel.None, }}> <CustomPreset providedFiles={Object.keys(files)} /> diff --git a/yarn.lock b/yarn.lock index f7d63ee5..8b4000ce 100644 --- a/yarn.lock +++ b/yarn.lock @@ -611,29 +611,29 @@ style-mod "^4.0.0" w3c-keyname "^2.2.4" -"@codesandbox/nodebox@0.1.4": - version "0.1.4" - resolved "https://registry.yarnpkg.com/@codesandbox/nodebox/-/nodebox-0.1.4.tgz#1c9ed4caf6cda764500aec3d46b245e2e9b88ccc" - integrity sha512-+MR7JibjGjTRDmyQbL8Mliej6wakQP7q99+wGL/nOzd0Q3s+YWGQfv0QpYKbdMClKUTFJGvwzwOeqHVTkpWNCQ== +"@codesandbox/nodebox@0.1.8": + version "0.1.8" + resolved "https://registry.yarnpkg.com/@codesandbox/nodebox/-/nodebox-0.1.8.tgz#2dc701005cedefac386f17a69a4c9a4f38c2325d" + integrity sha512-2VRS6JDSk+M+pg56GA6CryyUSGPjBEe8Pnae0QL3jJF1mJZJVMDKr93gJRtBbLkfZN6LD/DwMtf+2L0bpWrjqg== dependencies: - outvariant "^1.3.0" + outvariant "^1.4.0" strict-event-emitter "^0.4.3" -"@codesandbox/sandpack-client@^2.6.0": - version "2.6.0" - resolved "https://registry.yarnpkg.com/@codesandbox/sandpack-client/-/sandpack-client-2.6.0.tgz#a266ac49843a0c3263ac065daaba473cb9565193" - integrity sha512-JFCe+MU+5E+nXazrNK1uS/zLV5l4UNkYQx7AjF9sJ5ZmUlshz1HRDiK/Tdp6W+3ahcSERF3dcYPCf46LJF8Yvw== +"@codesandbox/sandpack-client@^2.13.0": + version "2.13.0" + resolved "https://registry.yarnpkg.com/@codesandbox/sandpack-client/-/sandpack-client-2.13.0.tgz#c4e12628a3aceb4a2c99c501bea691b4276eab27" + integrity sha512-1rOLj9wkbBd3RV6/zRq+IV52egy22RQMKDTtdR+lQzy87uj0tlbYjAwtUZSjkioHlj6U8Y82uWLf71nvFIxE0g== dependencies: - "@codesandbox/nodebox" "0.1.4" + "@codesandbox/nodebox" "0.1.8" buffer "^6.0.3" dequal "^2.0.2" - outvariant "1.3.0" + outvariant "1.4.0" static-browser-server "1.0.3" -"@codesandbox/sandpack-react@2.6.0": - version "2.6.0" - resolved "https://registry.yarnpkg.com/@codesandbox/sandpack-react/-/sandpack-react-2.6.0.tgz#2c2d98b50c9db462a32831071de7e5e710d000c2" - integrity sha512-zSeJXzaVt96aIFfkyr+bMKBjV2k3hVcX+j1+aBRIOCpHhTrbszPesUmcE3yNTzGqqQfX/JnIJNRmeqFKmSLjTQ== +"@codesandbox/sandpack-react@2.13.1": + version "2.13.1" + resolved "https://registry.yarnpkg.com/@codesandbox/sandpack-react/-/sandpack-react-2.13.1.tgz#ba69a227d0c5157bb48685a02fefc0baa83bdc09" + integrity sha512-R8oGO4QHHWTyA7r6NWHtBakizgX+rl/Rc6cbQunXGNm4vV/lqqU4NS+MVp2rXA+c8DifOLi1wA2wUZUN//Z9bw== dependencies: "@codemirror/autocomplete" "^6.4.0" "@codemirror/commands" "^6.1.3" @@ -643,13 +643,12 @@ "@codemirror/language" "^6.3.2" "@codemirror/state" "^6.2.0" "@codemirror/view" "^6.7.1" - "@codesandbox/sandpack-client" "^2.6.0" + "@codesandbox/sandpack-client" "^2.13.0" "@lezer/highlight" "^1.1.3" "@react-hook/intersection-observer" "^3.1.1" "@stitches/core" "^1.2.6" anser "^2.1.1" clean-set "^1.1.2" - codesandbox-import-util-types "^2.2.3" dequal "^2.0.2" escape-carriage "^1.3.1" lz-string "^1.4.4" @@ -1769,11 +1768,6 @@ client-only@0.0.1: resolved "https://registry.yarnpkg.com/client-only/-/client-only-0.0.1.tgz#38bba5d403c41ab150bff64a95c85013cf73bca1" integrity sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA== -codesandbox-import-util-types@^2.2.3: - version "2.2.3" - resolved "https://registry.yarnpkg.com/codesandbox-import-util-types/-/codesandbox-import-util-types-2.2.3.tgz#b354b2f732ad130e119ebd9ead3bda3be5981a54" - integrity sha512-Qj00p60oNExthP2oR3vvXmUGjukij+rxJGuiaKM6tyUmSyimdZsqHI/TUvFFClAffk9s7hxGnQgWQ8KCce27qQ== - collapse-white-space@^1.0.2: version "1.0.6" resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-1.0.6.tgz#e63629c0016665792060dbbeb79c42239d2c5287" @@ -4635,16 +4629,16 @@ os-tmpdir@~1.0.2: resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= -outvariant@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/outvariant/-/outvariant-1.3.0.tgz#c39723b1d2cba729c930b74bf962317a81b9b1c9" - integrity sha512-yeWM9k6UPfG/nzxdaPlJkB2p08hCg4xP6Lx99F+vP8YF7xyZVfTmJjrrNalkmzudD4WFvNLVudQikqUmF8zhVQ== - -outvariant@^1.3.0: +outvariant@1.4.0, outvariant@^1.3.0: version "1.4.0" resolved "https://registry.yarnpkg.com/outvariant/-/outvariant-1.4.0.tgz#e742e4bda77692da3eca698ef5bfac62d9fba06e" integrity sha512-AlWY719RF02ujitly7Kk/0QlV+pXGFDHrHf9O2OKqyqgBieaPOIeuSkL8sRK6j2WK+/ZAURq2kZsY0d8JapUiw== +outvariant@^1.4.0: + version "1.4.2" + resolved "https://registry.yarnpkg.com/outvariant/-/outvariant-1.4.2.tgz#f54f19240eeb7f15b28263d5147405752d8e2066" + integrity sha512-Ou3dJ6bA/UJ5GVHxah4LnqDwZRwAmWxrG3wtrHrbGnP4RnLCtA64A4F+ae7Y8ww660JaddSoArUR5HjipWSHAQ== + p-limit@^1.1.0: version "1.3.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" From 9ceb0572c9b765395684ed958feba3afb55a2503 Mon Sep 17 00:00:00 2001 From: Strek <ssharishkumar@gmail.com> Date: Mon, 26 Feb 2024 23:41:23 +0530 Subject: [PATCH 206/382] =?UTF-8?q?Revert=20"fix(sandpack):=20clear=20up?= =?UTF-8?q?=20bundler=20timeout=20when=20there's=20a=20syntax=20error=20(?= =?UTF-8?q?=E2=80=A6"=20(#6663)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This reverts commit 081d1008dd1eebffb9550a3ff623860a7d977acf. --- package.json | 2 +- src/components/MDX/Sandpack/SandpackRoot.tsx | 2 +- yarn.lock | 50 +++++++++++--------- 3 files changed, 30 insertions(+), 24 deletions(-) diff --git a/package.json b/package.json index 274c2506..f75ffbb2 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,7 @@ "check-all": "npm-run-all prettier lint:fix tsc" }, "dependencies": { - "@codesandbox/sandpack-react": "2.13.1", + "@codesandbox/sandpack-react": "2.6.0", "@docsearch/css": "3.0.0-alpha.41", "@docsearch/react": "3.0.0-alpha.41", "@headlessui/react": "^1.7.0", diff --git a/src/components/MDX/Sandpack/SandpackRoot.tsx b/src/components/MDX/Sandpack/SandpackRoot.tsx index a47fa686..d47fd903 100644 --- a/src/components/MDX/Sandpack/SandpackRoot.tsx +++ b/src/components/MDX/Sandpack/SandpackRoot.tsx @@ -88,7 +88,7 @@ function SandpackRoot(props: SandpackProps) { autorun, initMode: 'user-visible', initModeObserverOptions: {rootMargin: '1400px 0px'}, - bundlerURL: 'https://786946de.sandpack-bundler-4bw.pages.dev', + bundlerURL: 'https://1e4ad8f7.sandpack-bundler-4bw.pages.dev', logLevel: SandpackLogLevel.None, }}> <CustomPreset providedFiles={Object.keys(files)} /> diff --git a/yarn.lock b/yarn.lock index 8b4000ce..f7d63ee5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -611,29 +611,29 @@ style-mod "^4.0.0" w3c-keyname "^2.2.4" -"@codesandbox/nodebox@0.1.8": - version "0.1.8" - resolved "https://registry.yarnpkg.com/@codesandbox/nodebox/-/nodebox-0.1.8.tgz#2dc701005cedefac386f17a69a4c9a4f38c2325d" - integrity sha512-2VRS6JDSk+M+pg56GA6CryyUSGPjBEe8Pnae0QL3jJF1mJZJVMDKr93gJRtBbLkfZN6LD/DwMtf+2L0bpWrjqg== +"@codesandbox/nodebox@0.1.4": + version "0.1.4" + resolved "https://registry.yarnpkg.com/@codesandbox/nodebox/-/nodebox-0.1.4.tgz#1c9ed4caf6cda764500aec3d46b245e2e9b88ccc" + integrity sha512-+MR7JibjGjTRDmyQbL8Mliej6wakQP7q99+wGL/nOzd0Q3s+YWGQfv0QpYKbdMClKUTFJGvwzwOeqHVTkpWNCQ== dependencies: - outvariant "^1.4.0" + outvariant "^1.3.0" strict-event-emitter "^0.4.3" -"@codesandbox/sandpack-client@^2.13.0": - version "2.13.0" - resolved "https://registry.yarnpkg.com/@codesandbox/sandpack-client/-/sandpack-client-2.13.0.tgz#c4e12628a3aceb4a2c99c501bea691b4276eab27" - integrity sha512-1rOLj9wkbBd3RV6/zRq+IV52egy22RQMKDTtdR+lQzy87uj0tlbYjAwtUZSjkioHlj6U8Y82uWLf71nvFIxE0g== +"@codesandbox/sandpack-client@^2.6.0": + version "2.6.0" + resolved "https://registry.yarnpkg.com/@codesandbox/sandpack-client/-/sandpack-client-2.6.0.tgz#a266ac49843a0c3263ac065daaba473cb9565193" + integrity sha512-JFCe+MU+5E+nXazrNK1uS/zLV5l4UNkYQx7AjF9sJ5ZmUlshz1HRDiK/Tdp6W+3ahcSERF3dcYPCf46LJF8Yvw== dependencies: - "@codesandbox/nodebox" "0.1.8" + "@codesandbox/nodebox" "0.1.4" buffer "^6.0.3" dequal "^2.0.2" - outvariant "1.4.0" + outvariant "1.3.0" static-browser-server "1.0.3" -"@codesandbox/sandpack-react@2.13.1": - version "2.13.1" - resolved "https://registry.yarnpkg.com/@codesandbox/sandpack-react/-/sandpack-react-2.13.1.tgz#ba69a227d0c5157bb48685a02fefc0baa83bdc09" - integrity sha512-R8oGO4QHHWTyA7r6NWHtBakizgX+rl/Rc6cbQunXGNm4vV/lqqU4NS+MVp2rXA+c8DifOLi1wA2wUZUN//Z9bw== +"@codesandbox/sandpack-react@2.6.0": + version "2.6.0" + resolved "https://registry.yarnpkg.com/@codesandbox/sandpack-react/-/sandpack-react-2.6.0.tgz#2c2d98b50c9db462a32831071de7e5e710d000c2" + integrity sha512-zSeJXzaVt96aIFfkyr+bMKBjV2k3hVcX+j1+aBRIOCpHhTrbszPesUmcE3yNTzGqqQfX/JnIJNRmeqFKmSLjTQ== dependencies: "@codemirror/autocomplete" "^6.4.0" "@codemirror/commands" "^6.1.3" @@ -643,12 +643,13 @@ "@codemirror/language" "^6.3.2" "@codemirror/state" "^6.2.0" "@codemirror/view" "^6.7.1" - "@codesandbox/sandpack-client" "^2.13.0" + "@codesandbox/sandpack-client" "^2.6.0" "@lezer/highlight" "^1.1.3" "@react-hook/intersection-observer" "^3.1.1" "@stitches/core" "^1.2.6" anser "^2.1.1" clean-set "^1.1.2" + codesandbox-import-util-types "^2.2.3" dequal "^2.0.2" escape-carriage "^1.3.1" lz-string "^1.4.4" @@ -1768,6 +1769,11 @@ client-only@0.0.1: resolved "https://registry.yarnpkg.com/client-only/-/client-only-0.0.1.tgz#38bba5d403c41ab150bff64a95c85013cf73bca1" integrity sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA== +codesandbox-import-util-types@^2.2.3: + version "2.2.3" + resolved "https://registry.yarnpkg.com/codesandbox-import-util-types/-/codesandbox-import-util-types-2.2.3.tgz#b354b2f732ad130e119ebd9ead3bda3be5981a54" + integrity sha512-Qj00p60oNExthP2oR3vvXmUGjukij+rxJGuiaKM6tyUmSyimdZsqHI/TUvFFClAffk9s7hxGnQgWQ8KCce27qQ== + collapse-white-space@^1.0.2: version "1.0.6" resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-1.0.6.tgz#e63629c0016665792060dbbeb79c42239d2c5287" @@ -4629,16 +4635,16 @@ os-tmpdir@~1.0.2: resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= -outvariant@1.4.0, outvariant@^1.3.0: +outvariant@1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/outvariant/-/outvariant-1.3.0.tgz#c39723b1d2cba729c930b74bf962317a81b9b1c9" + integrity sha512-yeWM9k6UPfG/nzxdaPlJkB2p08hCg4xP6Lx99F+vP8YF7xyZVfTmJjrrNalkmzudD4WFvNLVudQikqUmF8zhVQ== + +outvariant@^1.3.0: version "1.4.0" resolved "https://registry.yarnpkg.com/outvariant/-/outvariant-1.4.0.tgz#e742e4bda77692da3eca698ef5bfac62d9fba06e" integrity sha512-AlWY719RF02ujitly7Kk/0QlV+pXGFDHrHf9O2OKqyqgBieaPOIeuSkL8sRK6j2WK+/ZAURq2kZsY0d8JapUiw== -outvariant@^1.4.0: - version "1.4.2" - resolved "https://registry.yarnpkg.com/outvariant/-/outvariant-1.4.2.tgz#f54f19240eeb7f15b28263d5147405752d8e2066" - integrity sha512-Ou3dJ6bA/UJ5GVHxah4LnqDwZRwAmWxrG3wtrHrbGnP4RnLCtA64A4F+ae7Y8ww660JaddSoArUR5HjipWSHAQ== - p-limit@^1.1.0: version "1.3.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" From 41b1bb3b7c440c108f4fa95fbca172564feda10f Mon Sep 17 00:00:00 2001 From: dan <dan.abramov@gmail.com> Date: Mon, 26 Feb 2024 19:54:43 +0000 Subject: [PATCH 207/382] Update Dan's twitter link --- src/content/community/team.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/community/team.md b/src/content/community/team.md index 9ef95d64..2ea4e79b 100644 --- a/src/content/community/team.md +++ b/src/content/community/team.md @@ -22,7 +22,7 @@ Current members of the React team are listed in alphabetical order below. Andrey started his career as a designer and then gradually transitioned into web development. After joining the React Data team at Meta he worked on adding an incremental JavaScript compiler to Relay, and then later on, worked on removing the same compiler from Relay. Outside of work, Andrey likes to play music and engage in various sports. </TeamMember> -<TeamMember name="Dan Abramov" permalink="dan-abramov" photo="/images/team/gaearon.jpg" github="gaearon" twitter="dan_abramov" title="Independent Engineer"> +<TeamMember name="Dan Abramov" permalink="dan-abramov" photo="/images/team/gaearon.jpg" github="gaearon" twitter="dan_abramov2" title="Independent Engineer"> Dan got into programming after he accidentally discovered Visual Basic inside Microsoft PowerPoint. He has found his true calling in turning [Sebastian](#sebastian-markbåge)'s tweets into long-form blog posts. Dan occasionally wins at Fortnite by hiding in a bush until the game ends. </TeamMember> From 6d8e094d33a790b587f776377d6dddf6e91c60c6 Mon Sep 17 00:00:00 2001 From: Danilo Woznica <danilowoz@gmail.com> Date: Tue, 27 Feb 2024 19:29:37 +0000 Subject: [PATCH 208/382] fix: Update @codesandbox/sandpack-react version to 2.13.4 (#6664) * fix: Update @codesandbox/sandpack-react version to 2.13.3 * fix: Fixed bundlerURL to use the correct URL * fix: Update @codesandbox/sandpack-react to version 2.13.4 * style: Hide span element in sp-icon-standalone when loading --- package.json | 2 +- src/components/MDX/Sandpack/SandpackRoot.tsx | 2 +- src/styles/sandpack.css | 4 ++ yarn.lock | 50 +++++++++----------- 4 files changed, 28 insertions(+), 30 deletions(-) diff --git a/package.json b/package.json index f75ffbb2..8fe0f4ca 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,7 @@ "check-all": "npm-run-all prettier lint:fix tsc" }, "dependencies": { - "@codesandbox/sandpack-react": "2.6.0", + "@codesandbox/sandpack-react": "2.13.4", "@docsearch/css": "3.0.0-alpha.41", "@docsearch/react": "3.0.0-alpha.41", "@headlessui/react": "^1.7.0", diff --git a/src/components/MDX/Sandpack/SandpackRoot.tsx b/src/components/MDX/Sandpack/SandpackRoot.tsx index d47fd903..a47fa686 100644 --- a/src/components/MDX/Sandpack/SandpackRoot.tsx +++ b/src/components/MDX/Sandpack/SandpackRoot.tsx @@ -88,7 +88,7 @@ function SandpackRoot(props: SandpackProps) { autorun, initMode: 'user-visible', initModeObserverOptions: {rootMargin: '1400px 0px'}, - bundlerURL: 'https://1e4ad8f7.sandpack-bundler-4bw.pages.dev', + bundlerURL: 'https://786946de.sandpack-bundler-4bw.pages.dev', logLevel: SandpackLogLevel.None, }}> <CustomPreset providedFiles={Object.keys(files)} /> diff --git a/src/styles/sandpack.css b/src/styles/sandpack.css index dee08769..d909f722 100644 --- a/src/styles/sandpack.css +++ b/src/styles/sandpack.css @@ -608,3 +608,7 @@ html.dark .sp-devtools > div { } } } + +.sp-loading .sp-icon-standalone span { + display: none; +} diff --git a/yarn.lock b/yarn.lock index f7d63ee5..9baa4495 100644 --- a/yarn.lock +++ b/yarn.lock @@ -611,29 +611,29 @@ style-mod "^4.0.0" w3c-keyname "^2.2.4" -"@codesandbox/nodebox@0.1.4": - version "0.1.4" - resolved "https://registry.yarnpkg.com/@codesandbox/nodebox/-/nodebox-0.1.4.tgz#1c9ed4caf6cda764500aec3d46b245e2e9b88ccc" - integrity sha512-+MR7JibjGjTRDmyQbL8Mliej6wakQP7q99+wGL/nOzd0Q3s+YWGQfv0QpYKbdMClKUTFJGvwzwOeqHVTkpWNCQ== +"@codesandbox/nodebox@0.1.8": + version "0.1.8" + resolved "https://registry.yarnpkg.com/@codesandbox/nodebox/-/nodebox-0.1.8.tgz#2dc701005cedefac386f17a69a4c9a4f38c2325d" + integrity sha512-2VRS6JDSk+M+pg56GA6CryyUSGPjBEe8Pnae0QL3jJF1mJZJVMDKr93gJRtBbLkfZN6LD/DwMtf+2L0bpWrjqg== dependencies: - outvariant "^1.3.0" + outvariant "^1.4.0" strict-event-emitter "^0.4.3" -"@codesandbox/sandpack-client@^2.6.0": - version "2.6.0" - resolved "https://registry.yarnpkg.com/@codesandbox/sandpack-client/-/sandpack-client-2.6.0.tgz#a266ac49843a0c3263ac065daaba473cb9565193" - integrity sha512-JFCe+MU+5E+nXazrNK1uS/zLV5l4UNkYQx7AjF9sJ5ZmUlshz1HRDiK/Tdp6W+3ahcSERF3dcYPCf46LJF8Yvw== +"@codesandbox/sandpack-client@^2.13.2": + version "2.13.2" + resolved "https://registry.yarnpkg.com/@codesandbox/sandpack-client/-/sandpack-client-2.13.2.tgz#8e573e96d341d3284ce579a71c6c57f16aefc80e" + integrity sha512-uAuxQOF7p8y4m7H0ojedDcWRf62xVK7UIYIJoX5LkhcV0SW1BTXcRkVNuR0/MSCSv+Og1dBeV8+Xpye9PX0quA== dependencies: - "@codesandbox/nodebox" "0.1.4" + "@codesandbox/nodebox" "0.1.8" buffer "^6.0.3" dequal "^2.0.2" - outvariant "1.3.0" + outvariant "1.4.0" static-browser-server "1.0.3" -"@codesandbox/sandpack-react@2.6.0": - version "2.6.0" - resolved "https://registry.yarnpkg.com/@codesandbox/sandpack-react/-/sandpack-react-2.6.0.tgz#2c2d98b50c9db462a32831071de7e5e710d000c2" - integrity sha512-zSeJXzaVt96aIFfkyr+bMKBjV2k3hVcX+j1+aBRIOCpHhTrbszPesUmcE3yNTzGqqQfX/JnIJNRmeqFKmSLjTQ== +"@codesandbox/sandpack-react@2.13.4": + version "2.13.4" + resolved "https://registry.yarnpkg.com/@codesandbox/sandpack-react/-/sandpack-react-2.13.4.tgz#d079da898e54a5546cfbeea13e4c3549b20f58a6" + integrity sha512-lgfcOwWAA+JKztLL5fwZ89389WvBMBl2R2BwE+RfnYKLIfgZ2UGH2Kifly4pam2iFqIzxPER7rYZJh/keSJQbg== dependencies: "@codemirror/autocomplete" "^6.4.0" "@codemirror/commands" "^6.1.3" @@ -643,13 +643,12 @@ "@codemirror/language" "^6.3.2" "@codemirror/state" "^6.2.0" "@codemirror/view" "^6.7.1" - "@codesandbox/sandpack-client" "^2.6.0" + "@codesandbox/sandpack-client" "^2.13.2" "@lezer/highlight" "^1.1.3" "@react-hook/intersection-observer" "^3.1.1" "@stitches/core" "^1.2.6" anser "^2.1.1" clean-set "^1.1.2" - codesandbox-import-util-types "^2.2.3" dequal "^2.0.2" escape-carriage "^1.3.1" lz-string "^1.4.4" @@ -1769,11 +1768,6 @@ client-only@0.0.1: resolved "https://registry.yarnpkg.com/client-only/-/client-only-0.0.1.tgz#38bba5d403c41ab150bff64a95c85013cf73bca1" integrity sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA== -codesandbox-import-util-types@^2.2.3: - version "2.2.3" - resolved "https://registry.yarnpkg.com/codesandbox-import-util-types/-/codesandbox-import-util-types-2.2.3.tgz#b354b2f732ad130e119ebd9ead3bda3be5981a54" - integrity sha512-Qj00p60oNExthP2oR3vvXmUGjukij+rxJGuiaKM6tyUmSyimdZsqHI/TUvFFClAffk9s7hxGnQgWQ8KCce27qQ== - collapse-white-space@^1.0.2: version "1.0.6" resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-1.0.6.tgz#e63629c0016665792060dbbeb79c42239d2c5287" @@ -4635,16 +4629,16 @@ os-tmpdir@~1.0.2: resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= -outvariant@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/outvariant/-/outvariant-1.3.0.tgz#c39723b1d2cba729c930b74bf962317a81b9b1c9" - integrity sha512-yeWM9k6UPfG/nzxdaPlJkB2p08hCg4xP6Lx99F+vP8YF7xyZVfTmJjrrNalkmzudD4WFvNLVudQikqUmF8zhVQ== - -outvariant@^1.3.0: +outvariant@1.4.0, outvariant@^1.3.0: version "1.4.0" resolved "https://registry.yarnpkg.com/outvariant/-/outvariant-1.4.0.tgz#e742e4bda77692da3eca698ef5bfac62d9fba06e" integrity sha512-AlWY719RF02ujitly7Kk/0QlV+pXGFDHrHf9O2OKqyqgBieaPOIeuSkL8sRK6j2WK+/ZAURq2kZsY0d8JapUiw== +outvariant@^1.4.0: + version "1.4.2" + resolved "https://registry.yarnpkg.com/outvariant/-/outvariant-1.4.2.tgz#f54f19240eeb7f15b28263d5147405752d8e2066" + integrity sha512-Ou3dJ6bA/UJ5GVHxah4LnqDwZRwAmWxrG3wtrHrbGnP4RnLCtA64A4F+ae7Y8ww660JaddSoArUR5HjipWSHAQ== + p-limit@^1.1.0: version "1.3.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" From 6e650f9dc656f9670d1d7cebe1e6a7cf19e762de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1s?= <72570859+tomihq@users.noreply.github.com> Date: Thu, 29 Feb 2024 08:37:35 -0300 Subject: [PATCH 209/382] update: "Configuring TypeScript" link for Next.js App Directory - to updated docs (#6669) --- src/content/learn/typescript.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/learn/typescript.md b/src/content/learn/typescript.md index 034ac0d4..c2b1a994 100644 --- a/src/content/learn/typescript.md +++ b/src/content/learn/typescript.md @@ -22,7 +22,7 @@ TypeScript is a popular way to add type definitions to JavaScript codebases. Out All [production-grade React frameworks](/learn/start-a-new-react-project#production-grade-react-frameworks) offer support for using TypeScript. Follow the framework specific guide for installation: -- [Next.js](https://nextjs.org/docs/pages/building-your-application/configuring/typescript) +- [Next.js](https://nextjs.org/docs/app/building-your-application/configuring/typescript) - [Remix](https://remix.run/docs/en/1.19.2/guides/typescript) - [Gatsby](https://www.gatsbyjs.com/docs/how-to/custom-configuration/typescript/) - [Expo](https://docs.expo.dev/guides/typescript/) From 6310c8a9d4b414f05fe8d9cb89f63744c9745298 Mon Sep 17 00:00:00 2001 From: Ricky <rickhanlonii@fb.com> Date: Fri, 1 Mar 2024 14:38:24 -0500 Subject: [PATCH 210/382] Add /link redirects (#6670) * Add /link redirects * Update event pooling redirect --- vercel.json | 131 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 131 insertions(+) diff --git a/vercel.json b/vercel.json index 5e1fbd32..e337b989 100644 --- a/vercel.json +++ b/vercel.json @@ -13,6 +13,137 @@ "source": "/learn/meet-the-team", "destination": "/community/team", "permanent": true + }, + { + "source": "/link/warning-keys", + "destination": "/learn/rendering-lists#keeping-list-items-in-order-with-key", + "permanent": false + }, + + { + "source": "/link/invalid-hook-call", + "destination": "/warnings/invalid-hook-call-warning", + "permanent": false + }, + { + "source": "/link/hooks-data-fetching", + "destination": "/reference/react/useEffect#fetching-data-with-effects", + "permanent": false + }, + { + "source": "/link/special-props", + "destination": "/warnings/special-props", + "permanent": false + }, + { + "source": "/link/dangerously-set-inner-html", + "destination": "/reference/react-dom/components/common#dangerously-setting-the-inner-html", + "permanent": false + }, + { + "source": "/link/controlled-components", + "destination": "/reference/react-dom/components/input#controlling-an-input-with-a-state-variable", + "permanent": false + }, + { + "source": "/link/react-devtools", + "destination": "/learn/react-developer-tools", + "permanent": false + }, + { + "source": "/link/invalid-aria-props", + "destination": "/warnings/invalid-aria-prop", + "permanent": false + }, + { + "source": "/link/switch-to-createroot", + "destination": "/blog/2022/03/08/react-18-upgrade-guide#updates-to-client-rendering-apis", + "permanent": false + }, + { + "source": "/link/error-boundaries", + "destination": "/reference/react/Component#catching-rendering-errors-with-an-error-boundary", + "permanent": false + }, + { + "source": "/link/strict-mode-find-node", + "destination": "/reference/react-dom/findDOMNode#alternatives", + "permanent": false + }, + { + "source": "/link/rules-of-hooks", + "destination": "/warnings/invalid-hook-call-warning", + "permanent": false + }, + { + "source": "/link/event-pooling", + "destination": "https://legacy.reactjs.org/docs/legacy-event-pooling.html", + "permanent": false + }, + { + "source": "/link/legacy-context", + "destination": "https://legacy.reactjs.org/docs/legacy-context.html", + "permanent": false + }, + { + "source": "/link/crossorigin-error", + "destination": "https://legacy.reactjs.org/docs/cross-origin-errors.html", + "permanent": false + }, + { + "source": "/link/react-polyfills", + "destination": "https://legacy.reactjs.org/docs/javascript-environment-requirements.html", + "permanent": false + }, + { + "source": "/link/wrap-tests-with-act", + "destination": "https://legacy.reactjs.org/docs/test-utils.html#act", + "permanent": false + }, + { + "source": "/link/refs-must-have-owner", + "destination": "https://legacy.reactjs.org/warnings/refs-must-have-owner.html", + "permanent": false + }, + { + "source": "/link/derived-state", + "destination": "https://legacy.reactjs.org/blog/2018/06/07/you-probably-dont-need-derived-state.html", + "permanent": false + }, + { + "source": "/link/strict-mode-string-ref", + "destination": "https://legacy.reactjs.org/docs/refs-and-the-dom.html#legacy-api-string-refs", + "permanent": false + }, + { + "source": "/link/perf-use-production-build", + "destination": "https://legacy.reactjs.org/docs/optimizing-performance.html#use-the-production-build", + "permanent": false + }, + { + "source": "/link/unsafe-component-lifecycles", + "destination": "https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html", + "permanent": false + }, + { + "source": "/link/test-utils-mock-component", + "destination": "https://gist.github.com/bvaughn/fbf41b3f895bf2d297935faa5525eee9", + "permanent": false + }, + { + "source": "/link/attribute-behavior", + "destination": "https://legacy.reactjs.org/blog/2017/09/08/dom-attributes-in-react-16.html#changes-in-detail", + "permanent": false + }, + { + "source": "/link/react-devtools-faq", + "destination": "https://github.com/facebook/react/tree/main/packages/react-devtools#faq", + "permanent": false + }, + { + "source": "/link/setstate-in-render", + "destination": "https://github.com/facebook/react/issues/18178#issuecomment-595846312", + "permanent": false } ], "headers": [ From 265fa26e3b39739f06c956140d9acf618c6b4e6b Mon Sep 17 00:00:00 2001 From: Matt Michel <matthew@ninjaPixel.eu> Date: Sun, 3 Mar 2024 22:26:51 +0000 Subject: [PATCH 211/382] Update small typo in useDeferredValue.md (#6673) * Update useDeferredValue.md change text from "re-render in background" to "re-render in the background" * Update useDeferredValue.md Change instances of "in background" to "in the background". --- src/content/reference/react/useDeferredValue.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/content/reference/react/useDeferredValue.md b/src/content/reference/react/useDeferredValue.md index dcd8f98d..f97bf0a2 100644 --- a/src/content/reference/react/useDeferredValue.md +++ b/src/content/reference/react/useDeferredValue.md @@ -40,7 +40,7 @@ function SearchPage() { #### Returns {/*returns*/} -During the initial render, the returned deferred value will be the same as the value you provided. During updates, React will first attempt a re-render with the old value (so it will return the old value), and then try another re-render in background with the new value (so it will return the updated value). +During the initial render, the returned deferred value will be the same as the value you provided. During updates, React will first attempt a re-render with the old value (so it will return the old value), and then try another re-render in the background with the new value (so it will return the updated value). #### Caveats {/*caveats*/} @@ -76,7 +76,7 @@ function SearchPage() { During the initial render, the <CodeStep step={2}>deferred value</CodeStep> will be the same as the <CodeStep step={1}>value</CodeStep> you provided. -During updates, the <CodeStep step={2}>deferred value</CodeStep> will "lag behind" the latest <CodeStep step={1}>value</CodeStep>. In particular, React will first re-render *without* updating the deferred value, and then try to re-render with the newly received value in background. +During updates, the <CodeStep step={2}>deferred value</CodeStep> will "lag behind" the latest <CodeStep step={1}>value</CodeStep>. In particular, React will first re-render *without* updating the deferred value, and then try to re-render with the newly received value in the background. **Let's walk through an example to see when this is useful.** @@ -508,7 +508,7 @@ You can think of it as happening in two steps: 1. **First, React re-renders with the new `query` (`"ab"`) but with the old `deferredQuery` (still `"a")`.** The `deferredQuery` value, which you pass to the result list, is *deferred:* it "lags behind" the `query` value. -2. **In background, React tries to re-render with *both* `query` and `deferredQuery` updated to `"ab"`.** If this re-render completes, React will show it on the screen. However, if it suspends (the results for `"ab"` have not loaded yet), React will abandon this rendering attempt, and retry this re-render again after the data has loaded. The user will keep seeing the stale deferred value until the data is ready. +2. **In the background, React tries to re-render with *both* `query` and `deferredQuery` updated to `"ab"`.** If this re-render completes, React will show it on the screen. However, if it suspends (the results for `"ab"` have not loaded yet), React will abandon this rendering attempt, and retry this re-render again after the data has loaded. The user will keep seeing the stale deferred value until the data is ready. The deferred "background" rendering is interruptible. For example, if you type into the input again, React will abandon it and restart with the new value. React will always use the latest provided value. @@ -952,7 +952,7 @@ While these techniques are helpful in some cases, `useDeferredValue` is better s Unlike debouncing or throttling, it doesn't require choosing any fixed delay. If the user's device is fast (e.g. powerful laptop), the deferred re-render would happen almost immediately and wouldn't be noticeable. If the user's device is slow, the list would "lag behind" the input proportionally to how slow the device is. -Also, unlike with debouncing or throttling, deferred re-renders done by `useDeferredValue` are interruptible by default. This means that if React is in the middle of re-rendering a large list, but the user makes another keystroke, React will abandon that re-render, handle the keystroke, and then start rendering in background again. By contrast, debouncing and throttling still produce a janky experience because they're *blocking:* they merely postpone the moment when rendering blocks the keystroke. +Also, unlike with debouncing or throttling, deferred re-renders done by `useDeferredValue` are interruptible by default. This means that if React is in the middle of re-rendering a large list, but the user makes another keystroke, React will abandon that re-render, handle the keystroke, and then start rendering in the background again. By contrast, debouncing and throttling still produce a janky experience because they're *blocking:* they merely postpone the moment when rendering blocks the keystroke. If the work you're optimizing doesn't happen during rendering, debouncing and throttling are still useful. For example, they can let you fire fewer network requests. You can also use these techniques together. From 716e8896204aecaaa13a199f9c41998fde62f61f Mon Sep 17 00:00:00 2001 From: Ricky <rickhanlonii@fb.com> Date: Mon, 4 Mar 2024 17:28:18 -0500 Subject: [PATCH 212/382] Add hydration-mismatch link (#6678) --- vercel.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/vercel.json b/vercel.json index e337b989..8d610c26 100644 --- a/vercel.json +++ b/vercel.json @@ -55,6 +55,11 @@ "destination": "/warnings/invalid-aria-prop", "permanent": false }, + { + "source": "/link/hydration-mismatch", + "destination": "/reference/react-dom/client/hydrateRoot#hydrating-server-rendered-html", + "permanent": false + }, { "source": "/link/switch-to-createroot", "destination": "/blog/2022/03/08/react-18-upgrade-guide#updates-to-client-rendering-apis", From 5de85198a3c575d94a395138e3f471cc7172a51c Mon Sep 17 00:00:00 2001 From: Danilo Woznica <danilowoz@gmail.com> Date: Fri, 8 Mar 2024 15:05:50 +0000 Subject: [PATCH 213/382] fix: Update sandpack-react version to 2.13.5 (#6668) --- package.json | 2 +- yarn.lock | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 8fe0f4ca..78775683 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,7 @@ "check-all": "npm-run-all prettier lint:fix tsc" }, "dependencies": { - "@codesandbox/sandpack-react": "2.13.4", + "@codesandbox/sandpack-react": "2.13.5", "@docsearch/css": "3.0.0-alpha.41", "@docsearch/react": "3.0.0-alpha.41", "@headlessui/react": "^1.7.0", diff --git a/yarn.lock b/yarn.lock index 9baa4495..b20c796e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -630,10 +630,10 @@ outvariant "1.4.0" static-browser-server "1.0.3" -"@codesandbox/sandpack-react@2.13.4": - version "2.13.4" - resolved "https://registry.yarnpkg.com/@codesandbox/sandpack-react/-/sandpack-react-2.13.4.tgz#d079da898e54a5546cfbeea13e4c3549b20f58a6" - integrity sha512-lgfcOwWAA+JKztLL5fwZ89389WvBMBl2R2BwE+RfnYKLIfgZ2UGH2Kifly4pam2iFqIzxPER7rYZJh/keSJQbg== +"@codesandbox/sandpack-react@2.13.5": + version "2.13.5" + resolved "https://registry.yarnpkg.com/@codesandbox/sandpack-react/-/sandpack-react-2.13.5.tgz#bc4b3fe43b74fdb011f69d3d9a117415110c709e" + integrity sha512-MWzh2P/Asck0JSCKY3y7WecdUBBEqB0NFi4p+ohoZMTYqHWTaYfd7nbPlNmGIE1xcGppSZEqPVDjOpAfeQ0zFw== dependencies: "@codemirror/autocomplete" "^6.4.0" "@codemirror/commands" "^6.1.3" From aa31fe548672cc8f68dbd57452bfd486096b380b Mon Sep 17 00:00:00 2001 From: Jack Pope <jackpope1@gmail.com> Date: Mon, 11 Mar 2024 15:08:53 -0400 Subject: [PATCH 214/382] Add details about shallow renderer warning (#6689) --- src/content/warnings/react-test-renderer.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/content/warnings/react-test-renderer.md b/src/content/warnings/react-test-renderer.md index 8dc5be74..7926922d 100644 --- a/src/content/warnings/react-test-renderer.md +++ b/src/content/warnings/react-test-renderer.md @@ -1,7 +1,14 @@ --- -title: react-test-renderer Deprecation Warning +title: react-test-renderer Deprecation Warnings --- +## ReactTestRenderer.create() warning {/*reacttestrenderercreate-warning*/} + react-test-renderer is deprecated. A warning will fire whenever calling ReactTestRenderer.create() or ReactShallowRender.render(). The react-test-renderer package will remain available on NPM but will not be maintained and may break with new React features or changes to React's internals. The React Team recommends migrating your tests to [@testing-library/react](https://testing-library.com/docs/react-testing-library/intro/) or [@testing-library/react-native](https://callstack.github.io/react-native-testing-library/docs/getting-started) for a modern and well supported testing experience. + + +## new ShallowRenderer() warning {/*new-shallowrenderer-warning*/} + +The react-test-renderer package no longer exports a shallow renderer at `react-test-renderer/shallow`. This was simply a repackaging of a previously extracted separate package: `react-shallow-renderer`. Therefore you can continue using the shallow renderer in the same way by installing it directly. See [Github](https://github.com/enzymejs/react-shallow-renderer) / [NPM](https://www.npmjs.com/package/react-shallow-renderer). \ No newline at end of file From 1a839ff74e40f40a1a8ea6ae1d4837b68696550c Mon Sep 17 00:00:00 2001 From: lauren <poteto@users.noreply.github.com> Date: Thu, 14 Mar 2024 10:44:40 -0400 Subject: [PATCH 215/382] Remove links to localhost (#6696) It seems like these localhost references were being stripped out anyway, so this isn't a bugfix but just a small cleanup. --- src/content/reference/react-dom/components/link.md | 8 ++++---- src/content/reference/react-dom/components/style.md | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/content/reference/react-dom/components/link.md b/src/content/reference/react-dom/components/link.md index fcbb9fab..c3331d94 100644 --- a/src/content/reference/react-dom/components/link.md +++ b/src/content/reference/react-dom/components/link.md @@ -79,7 +79,7 @@ Props that are **not recommended** for use with React: #### Special rendering behavior {/*special-rendering-behavior*/} -React will always place the DOM element corresponding to the `<link>` component within the document’s `<head>`, regardless of where in the React tree it is rendered. The `<head>` is the only valid place for `<link>` to exist within the DOM, yet it’s convenient and keeps things composable if a component representing a specific page can render `<link>` components itself. +React will always place the DOM element corresponding to the `<link>` component within the document’s `<head>`, regardless of where in the React tree it is rendered. The `<head>` is the only valid place for `<link>` to exist within the DOM, yet it’s convenient and keeps things composable if a component representing a specific page can render `<link>` components itself. There are a few exceptions to this: @@ -91,7 +91,7 @@ There are a few exceptions to this: In addition, if the `<link>` is to a stylesheet (namely, it has `rel="stylesheet"` in its props), React treats it specially in the following ways: -* The component that renders `<link>` will [suspend](http://localhost:3000/reference/react/Suspense) while the stylesheet is loading. +* The component that renders `<link>` will [suspend](/reference/react/Suspense) while the stylesheet is loading. * If multiple components render links to the same stylesheet, React will de-duplicate them and only put a single link into the DOM. Two links are considered the same if they have the same `href` prop. There are two exception to this special behavior: @@ -133,7 +133,7 @@ export default function BlogPage() { ### Linking to a stylesheet {/*linking-to-a-stylesheet*/} -If a component depends on a certain stylesheet in order to be displayed correctly, you can render a link to that stylesheet within the component. Your component will [suspend](http://localhost:3000/reference/react/Suspense) while the stylesheet is loading. You must supply the `precedence` prop, which tells React where to place this stylesheet relative to others — stylesheets with higher precedence can override those with lower precedence. +If a component depends on a certain stylesheet in order to be displayed correctly, you can render a link to that stylesheet within the component. Your component will [suspend](/reference/react/Suspense) while the stylesheet is loading. You must supply the `precedence` prop, which tells React where to place this stylesheet relative to others — stylesheets with higher precedence can override those with lower precedence. <Note> When you want to use a stylesheet, it can be beneficial to call the [preinit](/reference/react-dom/preinit) function. Calling this function may allow the browser to start fetching the stylesheet earlier than if you just render a `<link>` component, for example by sending an [HTTP Early Hints response](https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/103). @@ -217,7 +217,7 @@ function Component() { ### Annotating specific items within the document with links {/*annotating-specific-items-within-the-document-with-links*/} -You can use the `<link>` component with the `itemProp` prop to annotate specific items within the document with links to related resources. In this case, React will *not* place these annotations within the document `<head>` but will place them like any other React component. +You can use the `<link>` component with the `itemProp` prop to annotate specific items within the document with links to related resources. In this case, React will *not* place these annotations within the document `<head>` but will place them like any other React component. ```js <section itemScope> diff --git a/src/content/reference/react-dom/components/style.md b/src/content/reference/react-dom/components/style.md index 238a26d8..2c5d7b97 100644 --- a/src/content/reference/react-dom/components/style.md +++ b/src/content/reference/react-dom/components/style.md @@ -52,7 +52,7 @@ Props that are **not recommended** for use with React: #### Special rendering behavior {/*special-rendering-behavior*/} -React can move `<style>` components to the document's `<head>`, de-duplicate identical stylesheets, and [suspend](http://localhost:3000/reference/react/Suspense) while the stylesheet is loading. +React can move `<style>` components to the document's `<head>`, de-duplicate identical stylesheets, and [suspend](/reference/react/Suspense) while the stylesheet is loading. To opt into this behavior, provide the `href` and `precedence` props. React will de-duplicate styles if they have the same `href`. The precedence prop tells React where to rank the `<style>` DOM node relative to others in the document `<head>`, which determines which stylesheet can override the other. From 0dc1b315e54a54f381e26892c32d871cf86fe5eb Mon Sep 17 00:00:00 2001 From: lauren <poteto@users.noreply.github.com> Date: Fri, 15 Mar 2024 12:00:17 -0400 Subject: [PATCH 216/382] Add initial Rules of React docs (#6680) This PR adds a new Rules of React reference section that covers the major rules that help developers author idiomatic React apps. --------- Co-authored-by: Sathya Gunasekaran <gsathya.ceg@gmail.com> --- src/content/reference/react/index.md | 8 + .../components-and-hooks-must-be-pure.md | 364 ++++++++++++++++++ src/content/reference/rules/index.md | 52 +++ .../rules/react-calls-components-and-hooks.md | 101 +++++ src/content/reference/rules/rules-of-hooks.md | 135 +++++++ src/sidebarReference.json | 20 + 6 files changed, 680 insertions(+) create mode 100644 src/content/reference/rules/components-and-hooks-must-be-pure.md create mode 100644 src/content/reference/rules/index.md create mode 100644 src/content/reference/rules/react-calls-components-and-hooks.md create mode 100644 src/content/reference/rules/rules-of-hooks.md diff --git a/src/content/reference/react/index.md b/src/content/reference/react/index.md index 6793efc5..e6d0457b 100644 --- a/src/content/reference/react/index.md +++ b/src/content/reference/react/index.md @@ -10,6 +10,14 @@ This section provides detailed reference documentation for working with React. F The React reference documentation is broken down into functional subsections: +## Rules of React {/*rules-of-react*/} + +React has idioms — or rules — for how to express patterns in a way that is easy to understand and yields high-quality applications: + +* [Components and Hooks must be pure](/reference/rules/components-and-hooks-must-be-pure) – Purity makes your code easier to understand, debug, and allows React to automatically optimize your components and hooks correctly. +* [React calls Components and Hooks](/reference/rules/react-calls-components-and-hooks) – React is responsible for rendering components and hooks when necessary to optimize the user experience. +* [Rules of Hooks](/reference/rules/rules-of-hooks) – Hooks are defined using JavaScript functions, but they represent a special type of reusable UI logic with restrictions on where they can be called. + ## React {/*react*/} Programmatic React features: diff --git a/src/content/reference/rules/components-and-hooks-must-be-pure.md b/src/content/reference/rules/components-and-hooks-must-be-pure.md new file mode 100644 index 00000000..d80207c7 --- /dev/null +++ b/src/content/reference/rules/components-and-hooks-must-be-pure.md @@ -0,0 +1,364 @@ +--- +title: Components and Hooks must be pure +--- + +<Intro> +Pure functions only perform a calculation and nothing more. It makes your code easier to understand, debug, and allows React to automatically optimize your components and hooks correctly. +</Intro> + +<Note> +This reference page covers advanced topics and requires familiarity with the concepts covered in the [Keeping Components Pure](/learn/keeping-components-pure) page. +</Note> + +<InlineToc /> + +### Why does purity matter? {/*why-does-purity-matter*/} + +One of the key concepts that makes React, _React_ is _purity_. A pure component or hook is one that is: + +* **Idempotent** – You [always get the same result everytime](/learn/keeping-components-pure#purity-components-as-formulas) you run it with the same inputs – props, state, context for component inputs; and arguments for hook inputs. +* **Has no side effects in render** – Code with side effects should run [**separately from rendering**](#how-does-react-run-your-code). For example as an [event handler](/learn/responding-to-events) – where the user interacts with the UI and causes it to update; or as an [Effect](/reference/react/useEffect) – which runs after render. +* **Does not mutate non-local values**: Components and hooks should [never modify values that aren't created locally](#mutation) in render. + +When render is kept pure, React can understand how to prioritize which updates are most important for the user to see first. This is made possible because of render purity: since components don't have side effects [in render](#how-does-react-run-your-code), React can pause rendering components that aren't as important to update, and only come back to them later when it's needed. + +Concretely, this means that rendering logic can be run multiple times in a way that allows React to give your user a pleasant user experience. However, if your component has an untracked side effect – like modifying the value of a global variable [during render](#how-does-react-run-your-code) – when React runs your rendering code again, your side effects will be triggered in a way that won't match what you want. This often leads to unexpected bugs that can degrade how your users experience your app. You can see an [example of this in the Keeping Components Pure page](/learn/keeping-components-pure#side-effects-unintended-consequences). + +#### How does React run your code? {/*how-does-react-run-your-code*/} + +React is declarative: you tell React _what_ to render, and React will figure out _how_ best to display it to your user. To do this, React has a few phases where it runs your code. You don't need to know about all of these phases to use React well. But at a high level, you should know about what code runs in _render_, and what runs outside of it. + +_Rendering_ refers to calculating what the next version of your UI should look like. After rendering, [Effects](/reference/react/useEffect) are _flushed_ (meaning they are run until there are no more left) and may update the calculation if the Effects have impacts on layout. React takes this new calculation and compares it to the calulation used to create the previous version of your UI, then _commits_ just the minimum changes needed to the [DOM](https://developer.mozilla.org/en-US/docs/Web/API/Document_Object_Model) (what your user actually sees) to catch it up to the latest version. + +<DeepDive> + +#### How to tell if code runs in render {/*how-to-tell-if-code-runs-in-render*/} + +One quick heuristic to tell if code runs during render is to examine where it is: if it's written at the top level like in the example below, there's a good chance it runs during render. + +```js {2} +function Dropdown() { + const selectedItems = new Set(); // created during render + // ... +} +``` + +Event handlers and Effects don't run in render: + +```js {4} +function Dropdown() { + const selectedItems = new Set(); + const onSelect = (item) => { + // this code is in an event handler, so it's only run when the user triggers this + selectedItems.add(item); + } +} +``` + +```js {4} +function Dropdown() { + const selectedItems = new Set(); + useEffect(() => { + // this code is inside of an Effect, so it only runs after rendering + logForAnalytics(selectedItems); + }, [selectedItems]); +} +``` +</DeepDive> + +--- + +## Components and hooks must be idempotent {/*components-and-hooks-must-be-idempotent*/} + +Components must always return the same output with respect to their inputs – props, state, and context. This is known as _idempotency_. [Idempotency](https://en.wikipedia.org/wiki/Idempotence) is a term popularized in functional programming. It refers to the idea that you [always get the same result everytime](learn/keeping-components-pure) you run that piece of code with the same inputs. + +This means that _all_ code that runs [during render](#how-does-react-run-your-code) must also be idempotent in order for this rule to hold. For example, this line of code is not idempotent (and therefore, neither is the component): + +```js {2} +function Clock() { + const time = new Date(); // 🔴 Bad: always returns a different result! + return <span>{time.toLocaleString()}</span> +} +``` + +`new Date()` is not idempotent as it always returns the current date and changes its result every time it's called. When you render the above component, the time displayed on the screen will stay stuck on the time that the component was rendered. Similarly, functions like `Math.random()` also aren't idempotent, because they return different results every time they're called, even when the inputs are the same. + +This doesn't mean you shouldn't use non-idempotent functions like `new Date()` _at all_ – you should just avoid using them [during render](#how-does-react-run-your-code). In this case, we can _synchronize_ the latest date to this component using an [Effect](/reference/react/useEffect): + +<Sandpack> + +```js +import { useState, useEffect } from 'react'; + +function useTime() { + // 1. Keep track of the current date's state. `useState` receives an initializer function as its + // initial state. It only runs once when the hook is called, so only the current date at the + // time the hook is called is set first. + const [time, setTime] = useState(() => new Date()); + + useEffect(() => { + // 2. Update the current date every second using `setInterval`. + const id = setInterval(() => { + setTime(new Date()); // ✅ Good: non-idempotent code no longer runs in render + }, 1000); + // 3. Return a cleanup function so we don't leak the `setInterval` timer. + return () => clearInterval(id); + }, []); + + return time; +} + +export default function Clock() { + const time = useTime(); + return <span>{time.toLocaleString()}</span>; +} +``` + +</Sandpack> + +By wrapping the non-idempotent `new Date()` call in an Effect, it moves that calculation [outside of rendering](#how-does-react-run-your-code). + +If you don't need to synchronize some external state with React, you can also consider using an [event handler](/learn/responding-to-events) if it only needs to be updated in response to a user interaction. + +--- + +## Side effects must run outside of render {/*side-effects-must-run-outside-of-render*/} + +[Side effects](/learn/keeping-components-pure#side-effects-unintended-consequences) should not run [in render](#how-does-react-run-your-code), as React can render components multiple times to create the best possible user experience. + +<Note> +Side effects are a broader term than Effects. Effects specifically refer to code that's wrapped in `useEffect`, while a side effect is a general term for code that has any observable effect other than its primary result of returning a value to the caller. + +Side effects are typically written inside of [event handlers](/learn/responding-to-events) or Effects. But never during render. +</Note> + +While render must be kept pure, side effects are necessary at some point in order for your app to do anything interesting, like showing something on the screen! The key point of this rule is that side effects should not run [in render](#how-does-react-run-your-code), as React can render components multiple times. In most cases, you'll use [event handlers](learn/responding-to-events) to handle side effects. Using an event handler explicitly tells React that this code doesn't need to run during render, keeping render pure. If you've exhausted all options – and only as a last resort – you can also handle side effects using `useEffect`. + +### When is it okay to have mutation? {/*mutation*/} + +#### Local mutation {/*local-mutation*/} +One common example of a side effect is mutation, which in JavaScript refers to changing the value of a non-[primitive](https://developer.mozilla.org/en-US/docs/Glossary/Primitive) value. In general, while mutation is not idiomatic in React, _local_ mutation is absolutely fine: + +```js {2,7} +function FriendList({ friends }) { + const items = []; // ✅ Good: locally created + for (let i = 0; i < friends.length; i++) { + const friend = friends[i]; + items.push( + <Friend key={friend.id} friend={friend} /> + ); // ✅ Good: local mutation is okay + } + return <section>{items}</section>; +} +``` + +There is no need to contort your code to avoid local mutation. [`Array.map`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map) could also be used here for brevity, but there is nothing wrong with creating a local array and then pushing items into it [during render](#how-does-react-run-your-code). + +Even though it looks like we are mutating `items`, the key point to note is that this code only does so _locally_ – the mutation isn't "remembered" when the component is rendered again. In other words, `items` only stays around as long as the component does. Because `items` is always _recreated_ every time `<FriendList />` is rendered, the component will always return the same result. + +On the other hand, if `items` was created outside of the component, it holds on to its previous values and remembers changes: + +```js {1,7} +const items = []; // 🔴 Bad: created outside of the component +function FriendList({ friends }) { + for (let i = 0; i < friends.length; i++) { + const friend = friends[i]; + items.push( + <Friend key={friend.id} friend={friend} /> + ); // 🔴 Bad: mutates a value created outside of render + } + return <section>{items}</section>; +} +``` + +When `<FriendList />` runs again, we will continue appending `friends` to `items` every time that component is run, leading to multiple duplicated results. This version of `<FriendList />` has observable side effects [during render](#how-does-react-run-your-code) and **breaks the rule**. + +#### Lazy initialization {/*lazy-initialization*/} + +Lazy initialization is also fine despite not being fully "pure": + +```js {2} +function ExpenseForm() { + SuperCalculator.initializeIfNotReady(); // ✅ Good: if it doesn't affect other components + // Continue rendering... +} +``` + +#### Changing the DOM {/*changing-the-dom*/} + +Side effects that are directly visible to the user are not allowed in the render logic of React components. In other words, merely calling a component function shouldn’t by itself produce a change on the screen. + +```js {2} +function ProductDetailPage({ product }) { + document.window.title = product.title; // 🔴 Bad: Changes the DOM +} +``` + +One way to achieve the desired result of updating `window.title` outside of render is to [synchronize the component with `window`](/learn/synchronizing-with-effects). + +As long as calling a component multiple times is safe and doesn’t affect the rendering of other components, React doesn’t care if it’s 100% pure in the strict functional programming sense of the word. It is more important that [components must be idempotent](/reference/rules/components-and-hooks-must-be-pure). + +--- + +## Props and state are immutable {/*props-and-state-are-immutable*/} + +A component's props and state are immutable [snapshots](learn/state-as-a-snapshot). Never mutate them directly. Instead, pass new props down, and use the setter function from `useState`. + +You can think of the props and state values as snapshots that are updated after rendering. For this reason, you don't modify the props or state variables directly: instead you pass new props, or use the setter function provided to you to tell React that state needs to update the next time the component is rendered. + +### Don't mutate Props {/*props*/} +Props are immutable because if you mutate them, the application will produce inconsistent output, which can be hard to debug since it may or may not work depending on the circumstance. + +```js {2} +function Post({ item }) { + item.url = new Url(item.url, base); // 🔴 Bad: never mutate props directly + return <Link url={item.url}>{item.title}</Link>; +} +``` + +```js {2} +function Post({ item }) { + const url = new Url(item.url, base); // ✅ Good: make a copy instead + return <Link url={url}>{item.title}</Link>; +} +``` + +### Don't mutate State {/*state*/} +`useState` returns the state variable and a setter to update that state. + +```js +const [stateVariable, setter] = useState(0); +``` + +Rather than updating the state variable in-place, we need to update it using the setter function that is returned by `useState`. Changing values on the state variable doesn't cause the component to update, leaving your users with an outdated UI. Using the setter function informs React that the state has changed, and that we need to queue a re-render to update the UI. + +```js {5} +function Counter() { + const [count, setCount] = useState(0); + + function handleClick() { + count = count + 1; // 🔴 Bad: never mutate state directly + } + + return ( + <button onClick={handleClick}> + You pressed me {count} times + </button> + ); +} +``` + +```js {5} +function Counter() { + const [count, setCount] = useState(0); + + function handleClick() { + setCount(count + 1); // ✅ Good: use the setter function returned by useState + } + + return ( + <button onClick={handleClick}> + You pressed me {count} times + </button> + ); +} +``` + +--- + +## Return values and arguments to Hooks are immutable {/*return-values-and-arguments-to-hooks-are-immutable*/} + +Once values are passed to a hook, you should not modify them. Like props in JSX, values become immutable when passed to a hook. + +```js {4} +function useIconStyle(icon) { + const theme = useContext(ThemeContext); + if (icon.enabled) { + icon.className = computeStyle(icon, theme); // 🔴 Bad: never mutate hook arguments directly + } + return icon; +} +``` + +```js {3} +function useIconStyle(icon) { + const theme = useContext(ThemeContext); + const newIcon = { ...icon }; // ✅ Good: make a copy instead + if (icon.enabled) { + newIcon.className = computeStyle(icon, theme); + } + return newIcon; +} +``` + +One important principle in React is _local reasoning_: the ability to understand what a component or hook does by looking at its code in isolation. Hooks should be treated like "black boxes" when they are called. For example, a custom hook might have used its arguments as dependencies to memoize values inside it: + +```js {4} +function useIconStyle(icon) { + const theme = useContext(ThemeContext); + + return useMemo(() => { + const newIcon = { ...icon }; + if (icon.enabled) { + newIcon.className = computeStyle(icon, theme); + } + return newIcon; + }, [icon, theme]); +} +``` + +If you were to mutate the hooks arguments, the custom hook's memoization will become incorrect, so it's important to avoid doing that. + +```js {4} +style = useIconStyle(icon); // `style` is memoized based on `icon` +icon.enabled = false; // Bad: 🔴 never mutate hook arguments directly +style = useIconStyle(icon); // previously memoized result is returned +``` + +```js {4} +style = useIconStyle(icon); // `style` is memoized based on `icon` +icon = { ...icon, enabled: false }; // Good: ✅ make a copy instead +style = useIconStyle(icon); // new value of `style` is calculated +``` + +Similarly, it's important to not modify the return values of hooks, as they may have been memoized. + +--- + +## Values are immutable after being passed to JSX {/*values-are-immutable-after-being-passed-to-jsx*/} + +Don't mutate values after they've been used in JSX. Move the mutation before the JSX is created. + +When you use JSX in an expression, React may eagerly evaluate the JSX before the component finishes rendering. This means that mutating values after they've been passed to JSX can lead to outdated UIs, as React won't know to update the component's output. + +```js {4} +function Page({ colour }) { + const styles = { colour, size: "large" }; + const header = <Header styles={styles} />; + styles.size = "small"; // 🔴 Bad: styles was already used in the JSX above + const footer = <Footer styles={styles} />; + return ( + <> + {header} + <Content /> + {footer} + </> + ); +} +``` + +```js {4} +function Page({ colour }) { + const headerStyles = { colour, size: "large" }; + const header = <Header styles={headerStyles} />; + const footerStyles = { colour, size: "small" }; // ✅ Good: we created a new value + const footer = <Footer styles={footerStyles} />; + return ( + <> + {header} + <Content /> + {footer} + </> + ); +} +``` \ No newline at end of file diff --git a/src/content/reference/rules/index.md b/src/content/reference/rules/index.md new file mode 100644 index 00000000..dd5f7456 --- /dev/null +++ b/src/content/reference/rules/index.md @@ -0,0 +1,52 @@ +--- +title: Rules of React +--- + +<Intro> +Just as different programming languages have their own ways of expressing concepts, React has its own idioms — or rules — for how to express patterns in a way that is easy to understand and yields high-quality applications. +</Intro> + +<InlineToc /> + +--- + +<Note> +To learn more about expressing UIs with React, we recommend reading [Thinking in React](/learn/thinking-in-react). +</Note> + +This section describes the rules you need to follow to write idiomatic React code. Writing idiomatic React code can help you write well organized, safe, and composable applications. These properties make your app more resilient to changes and makes it easier to work with other developers, libraries, and tools. + +These rules are known as the **Rules of React**. They are rules – and not just guidelines – in the sense that if they are broken, your app likely has bugs. Your code also becomes unidiomatic and harder to understand and reason about. + +We strongly recommend using [Strict Mode](/reference/react/StrictMode) alongside React's [ESLint plugin](https://www.npmjs.com/package/eslint-plugin-react-hooks) to help your codebase follow the Rules of React. By following the Rules of React, you'll be able to find and address these bugs and keep your application maintainable. + +--- + +## Components and Hooks must be pure {/*components-and-hooks-must-be-pure*/} + +[Purity in Components and Hooks](/reference/rules/components-and-hooks-must-be-pure) is a key rule of React that makes your app predictable, easy to debug, and allows React to automatically optimize your code. + +* [Components must be idempotent](/reference/rules/components-and-hooks-must-be-pure#components-and-hooks-must-be-idempotent) – React components are assumed to always return the same output with respect to their inputs – props, state, and context. +* [Side effects must run outside of render](/reference/rules/components-and-hooks-must-be-pure#side-effects-must-run-outside-of-render) – Side effects should not run in render, as React can render components multiple times to create the best possible user experience. +* [Props and state are immutable](/reference/rules/components-and-hooks-must-be-pure#props-and-state-are-immutable) – A component’s props and state are immutable snapshots with respect to a single render. Never mutate them directly. +* [Return values and arguments to Hooks are immutable](/reference/rules/components-and-hooks-must-be-pure#return-values-and-arguments-to-hooks-are-immutable) – Once values are passed to a Hook, you should not modify them. Like props in JSX, values become immutable when passed to a Hook. +* [Values are immutable after being passed to JSX](/reference/rules/components-and-hooks-must-be-pure#values-are-immutable-after-being-passed-to-jsx) – Don’t mutate values after they’ve been used in JSX. Move the mutation before the JSX is created. + +--- + +## React calls Components and Hooks {/*react-calls-components-and-hooks*/} + +[React is responsible for rendering components and hooks when necessary to optimize the user experience.](/reference/rules/react-calls-components-and-hooks) It is declarative: you tell React what to render in your component’s logic, and React will figure out how best to display it to your user. + +* [Never call component functions directly](/reference/rules/react-calls-components-and-hooks#never-call-component-functions-directly) – Components should only be used in JSX. Don’t call them as regular functions. +* [Never pass around hooks as regular values](/reference/rules/react-calls-components-and-hooks#never-pass-around-hooks-as-regular-values) – Hooks should only be called inside of components. Never pass it around as a regular value. + +--- + +## Rules of Hooks {/*rules-of-hooks*/} + +Hooks are defined using JavaScript functions, but they represent a special type of reusable UI logic with restrictions on where they can be called. You need to follow the [Rules of Hooks](/reference/rules/rules-of-hooks) when using them. + +* [Only call Hooks at the top level](/reference/rules/rules-of-hooks#only-call-hooks-at-the-top-level) – Don’t call Hooks inside loops, conditions, or nested functions. Instead, always use Hooks at the top level of your React function, before any early returns. +* [Only call Hooks from React functions](/reference/rules/rules-of-hooks#only-call-hooks-from-react-functions) – Don’t call Hooks from regular JavaScript functions. + diff --git a/src/content/reference/rules/react-calls-components-and-hooks.md b/src/content/reference/rules/react-calls-components-and-hooks.md new file mode 100644 index 00000000..f82b3815 --- /dev/null +++ b/src/content/reference/rules/react-calls-components-and-hooks.md @@ -0,0 +1,101 @@ +--- +title: React calls Components and Hooks +--- + +<Intro> +React is responsible for rendering components and hooks when necessary to optimize the user experience. It is declarative: you tell React what to render in your component’s logic, and React will figure out how best to display it to your user. +</Intro> + +<InlineToc /> + +--- + +## Never call component functions directly {/*never-call-component-functions-directly*/} +Components should only be used in JSX. Don't call them as regular functions. React should call it. + +React must decide when your component function is called [during rendering](/reference/rules/components-and-hooks-must-be-pure#how-does-react-run-your-code). In React, you do this using JSX. + +```js {2} +function BlogPost() { + return <Layout><Article /></Layout>; // ✅ Good: Only use components in JSX +} +``` + +```js {2} +function BlogPost() { + return <Layout>{Article()}</Layout>; // 🔴 Bad: Never call them directly +} +``` + +If a component contains hooks, it's easy to violate the [Rules of Hooks](/reference/rules/rules-of-hooks) when components are called directly in a loop or conditionally. + +Letting React orchestrate rendering also allows a number of benefits: + +* **Components become more than functions.** React can augment them with features like _local state_ through Hooks that are tied to the component's identity in the tree. +* **Component types participate in reconciliation.** By letting React call your components, you also tell it more about the conceptual structure of your tree. For example, when you move from rendering `<Feed>` to the `<Profile>` page, React won’t attempt to re-use them. +* **React can enhance your user experience.** For example, it can let the browser do some work between component calls so that re-rendering a large component tree doesn’t block the main thread. +* **A better debugging story.** If components are first-class citizens that the library is aware of, we can build rich developer tools for introspection in development. +* **More efficient reconciliation.** React can decide exactly which components in the tree need re-rendering and skip over the ones that don't. That makes your app faster and more snappy. + +--- + +## Never pass around hooks as regular values {/*never-pass-around-hooks-as-regular-values*/} + +Hooks should only be called inside of components or hooks. Never pass it around as a regular value. + +Hooks allow you to augment a component with React features. They should always be called as a function, and never passed around as a regular value. This enables _local reasoning_, or the ability for developers to understand everything a component can do by looking at that component in isolation. + +Breaking this rule will cause React to not automatically optimize your component. + +### Don't dynamically mutate a hook {/*dont-dynamically-mutate-a-hook*/} + +Hooks should be as "static" as possible. This means you shouldn't dynamically mutate them. For example, this means you shouldn't write higher order hooks: + +```js {2} +function ChatInput() { + const useDataWithLogging = withLogging(useData); // 🔴 Bad: don't write higher order hooks + const data = useDataWithLogging(); +} +``` + +Hooks should be immutable and not be mutated. Instead of mutating a hook dynamically, create a static version of the hook with the desired functionality. + +```js {2,6} +function ChatInput() { + const data = useDataWithLogging(); // ✅ Good: Create a new version of the hook +} + +function useDataWithLogging() { + // ... Create a new version of the Hook and inline the logic here +} +``` + +### Don't dynamically use hooks {/*dont-dynamically-use-hooks*/} + +Hooks should also not be dynamically used: for example, instead of doing dependency injection in a component by passing a hook as a value: + +```js {2} +function ChatInput() { + return <Button useData={useDataWithLogging} /> // 🔴 Bad: don't pass hooks as props +} +``` + +You should always inline the call of the hook into that component and handle any logic in there. + +```js {6} +function ChatInput() { + return <Button /> +} + +function Button() { + const data = useDataWithLogging(); // ✅ Good: Use the hook directly +} + +function useDataWithLogging() { + // If there's any conditional logic to change the hook's behavior, it should be inlined into + // the hook +} +``` + +This way, `<Button />` is much easier to understand and debug. When Hooks are used in dynamic ways, it increases the complexity of your app greatly and inhibits local reasoning, making your team less productive in the long term. It also makes it easier to accidentally break the [Rules of Hooks](/reference/rules/rules-of-hooks) that hooks should not be called conditionally. If you find yourself needing to mock components for tests, it's better to mock the server instead to respond with canned data. If possible, it's also usually more effective to test your app with end-to-end tests. + diff --git a/src/content/reference/rules/rules-of-hooks.md b/src/content/reference/rules/rules-of-hooks.md new file mode 100644 index 00000000..58add666 --- /dev/null +++ b/src/content/reference/rules/rules-of-hooks.md @@ -0,0 +1,135 @@ +--- +title: Rules of Hooks +--- + +<Intro> +Hooks are defined using JavaScript functions, but they represent a special type of reusable UI logic with restrictions on where they can be called. +</Intro> + +<InlineToc /> + +--- + +## Only call Hooks at the top level {/*only-call-hooks-at-the-top-level*/} + +Functions whose names start with `use` are called [*Hooks*](/reference/react) in React. + +**Don’t call Hooks inside loops, conditions, nested functions, or `try`/`catch`/`finally` blocks.** Instead, always use Hooks at the top level of your React function, before any early returns. You can only call Hooks while React is rendering a function component: + +* ✅ Call them at the top level in the body of a [function component](/learn/your-first-component). +* ✅ Call them at the top level in the body of a [custom Hook](/learn/reusing-logic-with-custom-hooks). + +```js{2-3,8-9} +function Counter() { + // ✅ Good: top-level in a function component + const [count, setCount] = useState(0); + // ... +} + +function useWindowWidth() { + // ✅ Good: top-level in a custom Hook + const [width, setWidth] = useState(window.innerWidth); + // ... +} +``` + +It’s **not** supported to call Hooks (functions starting with `use`) in any other cases, for example: + +* 🔴 Do not call Hooks inside conditions or loops. +* 🔴 Do not call Hooks after a conditional `return` statement. +* 🔴 Do not call Hooks in event handlers. +* 🔴 Do not call Hooks in class components. +* 🔴 Do not call Hooks inside functions passed to `useMemo`, `useReducer`, or `useEffect`. +* 🔴 Do not call Hooks inside `try`/`catch`/`finally` blocks. + +If you break these rules, you might see this error. + +```js{3-4,11-12,20-21} +function Bad({ cond }) { + if (cond) { + // 🔴 Bad: inside a condition (to fix, move it outside!) + const theme = useContext(ThemeContext); + } + // ... +} + +function Bad() { + for (let i = 0; i < 10; i++) { + // 🔴 Bad: inside a loop (to fix, move it outside!) + const theme = useContext(ThemeContext); + } + // ... +} + +function Bad({ cond }) { + if (cond) { + return; + } + // 🔴 Bad: after a conditional return (to fix, move it before the return!) + const theme = useContext(ThemeContext); + // ... +} + +function Bad() { + function handleClick() { + // 🔴 Bad: inside an event handler (to fix, move it outside!) + const theme = useContext(ThemeContext); + } + // ... +} + +function Bad() { + const style = useMemo(() => { + // 🔴 Bad: inside useMemo (to fix, move it outside!) + const theme = useContext(ThemeContext); + return createStyle(theme); + }); + // ... +} + +class Bad extends React.Component { + render() { + // 🔴 Bad: inside a class component (to fix, write a function component instead of a class!) + useEffect(() => {}) + // ... + } +} + +function Bad() { + try { + // 🔴 Bad: inside try/catch/finally block (to fix, move it outside!) + const [x, setX] = useState(0); + } catch { + const [x, setX] = useState(1); + } +} +``` + +You can use the [`eslint-plugin-react-hooks` plugin](https://www.npmjs.com/package/eslint-plugin-react-hooks) to catch these mistakes. + +<Note> + +[Custom Hooks](/learn/reusing-logic-with-custom-hooks) *may* call other Hooks (that's their whole purpose). This works because custom Hooks are also supposed to only be called while a function component is rendering. + +</Note> + +--- + +## Only call Hooks from React functions {/*only-call-hooks-from-react-functions*/} + +Don’t call Hooks from regular JavaScript functions. Instead, you can: + +✅ Call Hooks from React function components. +✅ Call Hooks from [custom Hooks](/learn/reusing-logic-with-custom-hooks#extracting-your-own-custom-hook-from-a-component). + +By following this rule, you ensure that all stateful logic in a component is clearly visible from its source code. + +```js {2,5} +function FriendList() { + const [onlineStatus, setOnlineStatus] = useOnlineStatus(); // ✅ +} + +function setOnlineStatus() { // ❌ Not a component or custom hook! + const [onlineStatus, setOnlineStatus] = useOnlineStatus(); +} +``` diff --git a/src/sidebarReference.json b/src/sidebarReference.json index e02fd945..2b13649f 100644 --- a/src/sidebarReference.json +++ b/src/sidebarReference.json @@ -350,6 +350,26 @@ } ] }, + { + "hasSectionHeader": true, + "sectionHeader": "Rules of React" + }, + { + "title": "Overview", + "path": "/reference/rules" + }, + { + "title": "Components and Hooks must be pure", + "path": "/reference/rules/components-and-hooks-must-be-pure" + }, + { + "title": "React calls Components and Hooks", + "path": "/reference/rules/react-calls-components-and-hooks" + }, + { + "title": "Rules of Hooks", + "path": "/reference/rules/rules-of-hooks" + }, { "hasSectionHeader": true, "sectionHeader": "Legacy APIs" From f55d9487c6648570fc80f1421d7dca0a3b9b94b6 Mon Sep 17 00:00:00 2001 From: lauren <poteto@users.noreply.github.com> Date: Fri, 15 Mar 2024 14:53:19 -0400 Subject: [PATCH 217/382] Reorder rules of react summary in reference index (#6698) Small change to match the sidebar order. --- src/content/reference/react/index.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/content/reference/react/index.md b/src/content/reference/react/index.md index e6d0457b..71090332 100644 --- a/src/content/reference/react/index.md +++ b/src/content/reference/react/index.md @@ -10,14 +10,6 @@ This section provides detailed reference documentation for working with React. F The React reference documentation is broken down into functional subsections: -## Rules of React {/*rules-of-react*/} - -React has idioms — or rules — for how to express patterns in a way that is easy to understand and yields high-quality applications: - -* [Components and Hooks must be pure](/reference/rules/components-and-hooks-must-be-pure) – Purity makes your code easier to understand, debug, and allows React to automatically optimize your components and hooks correctly. -* [React calls Components and Hooks](/reference/rules/react-calls-components-and-hooks) – React is responsible for rendering components and hooks when necessary to optimize the user experience. -* [Rules of Hooks](/reference/rules/rules-of-hooks) – Hooks are defined using JavaScript functions, but they represent a special type of reusable UI logic with restrictions on where they can be called. - ## React {/*react*/} Programmatic React features: @@ -37,6 +29,14 @@ React-dom contains features that are only supported for web applications (which * [Client APIs](/reference/react-dom/client) - The `react-dom/client` APIs let you render React components on the client (in the browser). * [Server APIs](/reference/react-dom/server) - The `react-dom/server` APIs let you render React components to HTML on the server. +## Rules of React {/*rules-of-react*/} + +React has idioms — or rules — for how to express patterns in a way that is easy to understand and yields high-quality applications: + +* [Components and Hooks must be pure](/reference/rules/components-and-hooks-must-be-pure) – Purity makes your code easier to understand, debug, and allows React to automatically optimize your components and hooks correctly. +* [React calls Components and Hooks](/reference/rules/react-calls-components-and-hooks) – React is responsible for rendering components and hooks when necessary to optimize the user experience. +* [Rules of Hooks](/reference/rules/rules-of-hooks) – Hooks are defined using JavaScript functions, but they represent a special type of reusable UI logic with restrictions on where they can be called. + ## Legacy APIs {/*legacy-apis*/} * [Legacy APIs](/reference/react/legacy) - Exported from the `react` package, but not recommended for use in newly written code. From ef3a7ea4c11611526ae13b8592f9a298acaaebc2 Mon Sep 17 00:00:00 2001 From: Pavel Savva <pashasavva@gmail.com> Date: Tue, 19 Mar 2024 13:37:46 -0700 Subject: [PATCH 218/382] Fix typos in typescript.md (#6439) Co-authored-by: Sebastian Silbermann <silbermann.sebastian@gmail.com> Co-authored-by: Allison Strandberg <55810428+allison-strandberg@users.noreply.github.com> --- src/content/learn/typescript.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/content/learn/typescript.md b/src/content/learn/typescript.md index c2b1a994..79546dc3 100644 --- a/src/content/learn/typescript.md +++ b/src/content/learn/typescript.md @@ -435,7 +435,7 @@ interface ModalRendererProps { Note, that you cannot use TypeScript to describe that the children are a certain type of JSX elements, so you cannot use the type-system to describe a component which only accepts `<li>` children. -You can see all an example of both `React.ReactNode` and `React.ReactElement` with the type-checker in [this TypeScript playground](https://www.typescriptlang.org/play?#code/JYWwDg9gTgLgBAJQKYEMDG8BmUIjgIilQ3wChSB6CxYmAOmXRgDkIATJOdNJMGAZzgwAFpxAR+8YADswAVwGkZMJFEzpOjDKw4AFHGEEBvUnDhphwADZsi0gFw0mDWjqQBuUgF9yaCNMlENzgAXjgACjADfkctFnYkfQhDAEpQgD44AB42YAA3dKMo5P46C2tbJGkvLIpcgt9-QLi3AEEwMFCItJDMrPTTbIQ3dKywdIB5aU4kKyQQKpha8drhhIGzLLWODbNs3b3s8YAxKBQAcwXpAThMaGWDvbH0gFloGbmrgQfBzYpd1YjQZbEYARkB6zMwO2SHSAAlZlYIBCdtCRkZpHIrFYahQYQD8UYYFA5EhcfjyGYqHAXnJAsIUHlOOUbHYhMIIHJzsI0Qk4P9SLUBuRqXEXEwAKKfRZcNA8PiCfxWACecAAUgBlAAacFm80W-CU11U6h4TgwUv11yShjgJjMLMqDnN9Dilq+nh8pD8AXgCHdMrCkWisVoAet0R6fXqhWKhjKllZVVxMcavpd4Zg7U6Qaj+2hmdG4zeRF10uu-Aeq0LBfLMEe-V+T2L7zLVu+FBWLdLeq+lc7DYFf39deFVOotMCACNOCh1dq219a+30uC8YWoZsRyuEdjkevR8uvoVMdjyTWt4WiSSydXD4NqZP4AymeZE072ZzuUeZQKheQgA). +You can see an example of both `React.ReactNode` and `React.ReactElement` with the type-checker in [this TypeScript playground](https://www.typescriptlang.org/play?#code/JYWwDg9gTgLgBAJQKYEMDG8BmUIjgIilQ3wChSB6CxYmAOmXRgDkIATJOdNJMGAZzgwAFpxAR+8YADswAVwGkZMJFEzpOjDKw4AFHGEEBvUnDhphwADZsi0gFw0mDWjqQBuUgF9yaCNMlENzgAXjgACjADfkctFnYkfQhDAEpQgD44AB42YAA3dKMo5P46C2tbJGkvLIpcgt9-QLi3AEEwMFCItJDMrPTTbIQ3dKywdIB5aU4kKyQQKpha8drhhIGzLLWODbNs3b3s8YAxKBQAcwXpAThMaGWDvbH0gFloGbmrgQfBzYpd1YjQZbEYARkB6zMwO2SHSAAlZlYIBCdtCRkZpHIrFYahQYQD8UYYFA5EhcfjyGYqHAXnJAsIUHlOOUbHYhMIIHJzsI0Qk4P9SLUBuRqXEXEwAKKfRZcNA8PiCfxWACecAAUgBlAAacFm80W-CU11U6h4TgwUv11yShjgJjMLMqDnN9Dilq+nh8pD8AXgCHdMrCkWisVoAet0R6fXqhWKhjKllZVVxMcavpd4Zg7U6Qaj+2hmdG4zeRF10uu-Aeq0LBfLMEe-V+T2L7zLVu+FBWLdLeq+lc7DYFf39deFVOotMCACNOCh1dq219a+30uC8YWoZsRyuEdjkevR8uvoVMdjyTWt4WiSSydXD4NqZP4AymeZE072ZzuUeZQKheQgA). ### Style Props {/*typing-style-props*/} @@ -456,7 +456,7 @@ We recommend the following resources: - [The TypeScript handbook](https://www.typescriptlang.org/docs/handbook/) is the official documentation for TypeScript, and covers most key language features. - - [The TypeScript release notes](https://devblogs.microsoft.com/typescript/) covers a each new features in-depth. + - [The TypeScript release notes](https://devblogs.microsoft.com/typescript/) covers new features in depth. - [React TypeScript Cheatsheet](https://react-typescript-cheatsheet.netlify.app/) is a community-maintained cheatsheet for using TypeScript with React, covering a lot of useful edge cases and providing more breadth than this document. From 5a45b53b6ed4e9ee5e6777250e9253a54a89f0c1 Mon Sep 17 00:00:00 2001 From: Ricky <rickhanlonii@fb.com> Date: Sat, 23 Mar 2024 11:51:37 -0400 Subject: [PATCH 219/382] Fix hover styles in strictmode docs (#6705) --- src/content/reference/react/StrictMode.md | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/content/reference/react/StrictMode.md b/src/content/reference/react/StrictMode.md index 0b64c5ed..92c6ba63 100644 --- a/src/content/reference/react/StrictMode.md +++ b/src/content/reference/react/StrictMode.md @@ -196,6 +196,9 @@ ul { margin: 0; list-style-type: none; height: 100%; + display: flex; + flex-wrap: wrap; + padding: 10px; } li { @@ -203,7 +206,6 @@ li { border-radius: 6px; float: left; margin: 5px; - margin-bottom: 20px; padding: 5px; width: 70px; height: 100px; @@ -283,6 +285,9 @@ ul { margin: 0; list-style-type: none; height: 100%; + display: flex; + flex-wrap: wrap; + padding: 10px; } li { @@ -290,7 +295,6 @@ li { border-radius: 6px; float: left; margin: 5px; - margin-bottom: 20px; padding: 5px; width: 70px; height: 100px; @@ -377,6 +381,9 @@ ul { margin: 0; list-style-type: none; height: 100%; + display: flex; + flex-wrap: wrap; + padding: 10px; } li { @@ -384,7 +391,6 @@ li { border-radius: 6px; float: left; margin: 5px; - margin-bottom: 20px; padding: 5px; width: 70px; height: 100px; @@ -467,6 +473,9 @@ ul { margin: 0; list-style-type: none; height: 100%; + display: flex; + flex-wrap: wrap; + padding: 10px; } li { @@ -474,7 +483,6 @@ li { border-radius: 6px; float: left; margin: 5px; - margin-bottom: 20px; padding: 5px; width: 70px; height: 100px; From 9c04f9b548bb739808898d714c8091e8b131e737 Mon Sep 17 00:00:00 2001 From: Allison Strandberg <55810428+allison-strandberg@users.noreply.github.com> Date: Sat, 23 Mar 2024 15:58:26 -0400 Subject: [PATCH 220/382] Correct pluralization of 'covers' (#6702) --- src/content/learn/typescript.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/learn/typescript.md b/src/content/learn/typescript.md index 79546dc3..6f49c765 100644 --- a/src/content/learn/typescript.md +++ b/src/content/learn/typescript.md @@ -456,7 +456,7 @@ We recommend the following resources: - [The TypeScript handbook](https://www.typescriptlang.org/docs/handbook/) is the official documentation for TypeScript, and covers most key language features. - - [The TypeScript release notes](https://devblogs.microsoft.com/typescript/) covers new features in depth. + - [The TypeScript release notes](https://devblogs.microsoft.com/typescript/) cover new features in depth. - [React TypeScript Cheatsheet](https://react-typescript-cheatsheet.netlify.app/) is a community-maintained cheatsheet for using TypeScript with React, covering a lot of useful edge cases and providing more breadth than this document. From 7bdbab144e09d4edf793ff5128080eb1dba79be4 Mon Sep 17 00:00:00 2001 From: "J.P. Anderson-Young" <jpayoung@users.noreply.github.com> Date: Sun, 24 Mar 2024 07:43:33 -0700 Subject: [PATCH 221/382] Fix missing id properties in docs example (#6395) This example contains a list of person objects, but only the first 3 have id properties. This appears to be a mistake; in the next use of the list all 5 person objects have this property, but it is not changed as part of an instructive exercise. This change makes the final two with objects consistent with the remainder of the list. --- src/content/learn/rendering-lists.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/content/learn/rendering-lists.md b/src/content/learn/rendering-lists.md index 108e394e..32f81c44 100644 --- a/src/content/learn/rendering-lists.md +++ b/src/content/learn/rendering-lists.md @@ -113,9 +113,11 @@ const people = [{ name: 'Mohammad Abdus Salam', profession: 'physicist', }, { + id: 3, name: 'Percy Lavon Julian', profession: 'chemist', }, { + id: 4, name: 'Subrahmanyan Chandrasekhar', profession: 'astrophysicist', }]; From d661678b86fd906689a836385736e80bb82a4ade Mon Sep 17 00:00:00 2001 From: lauren <poteto@users.noreply.github.com> Date: Mon, 25 Mar 2024 13:44:51 -0400 Subject: [PATCH 222/382] Update @eps1lon's job title (#6710) Congrats! https://twitter.com/sebsilbermann/status/1772229730747490691 --- src/content/community/team.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/community/team.md b/src/content/community/team.md index 2ea4e79b..bb28fe88 100644 --- a/src/content/community/team.md +++ b/src/content/community/team.md @@ -74,7 +74,7 @@ Current members of the React team are listed in alphabetical order below. Sebastian majored in psychology. He's usually quiet. Even when he says something, it often doesn't make sense to the rest of us until a few months later. The correct way to pronounce his surname is "mark-boa-geh" but he settled for "mark-beige" out of pragmatism -- and that's how he approaches React. </TeamMember> -<TeamMember name="Sebastian Silbermann" permalink="sebastian-silbermann" photo="/images/team/sebsilbermann.jpg" github="eps1lon" twitter="sebsilbermann" threads="sebsilbermann" title="Independent Engineer"> +<TeamMember name="Sebastian Silbermann" permalink="sebastian-silbermann" photo="/images/team/sebsilbermann.jpg" github="eps1lon" twitter="sebsilbermann" threads="sebsilbermann" title="Engineer at Vercel"> Sebastian learned programming to make the browser games he played during class more enjoyable. Eventually this lead to contributing to as much open source code as possible. Outside of coding he's busy making sure people don't confuse him with the other Sebastians and Zilberman of the React community. </TeamMember> From 4df3124fa2116cdb228caa0f1f05a3449b53bd09 Mon Sep 17 00:00:00 2001 From: Ricky <rickhanlonii@fb.com> Date: Tue, 26 Mar 2024 23:39:39 -0400 Subject: [PATCH 223/382] Fix caps for React concepts (#6712) --- CONTRIBUTING.md | 1 + .../learn/manipulating-the-dom-with-refs.md | 2 +- src/content/reference/react-dom/flushSync.md | 2 +- src/content/reference/react-dom/hydrate.md | 2 +- src/content/reference/react-dom/preconnect.md | 2 +- .../reference/react-dom/prefetchDNS.md | 2 +- src/content/reference/react-dom/preinit.md | 2 +- .../reference/react-dom/preinitModule.md | 2 +- src/content/reference/react-dom/preload.md | 2 +- .../reference/react-dom/preloadModule.md | 2 +- src/content/reference/react/Profiler.md | 2 +- src/content/reference/react/Suspense.md | 20 ++--- .../reference/react/startTransition.md | 24 +++--- src/content/reference/react/use-server.md | 4 +- .../reference/react/useInsertionEffect.md | 8 +- .../reference/react/useSyncExternalStore.md | 4 +- src/content/reference/react/useTransition.md | 84 +++++++++---------- .../components-and-hooks-must-be-pure.md | 12 +-- .../rules/react-calls-components-and-hooks.md | 34 ++++---- src/content/reference/rules/rules-of-hooks.md | 2 +- 20 files changed, 107 insertions(+), 106 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 0e861af3..4c7e5ec7 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -79,6 +79,7 @@ Ignore this rule if you're specifically describing an experimental proposal. Mak - Use semicolons. - No space between function names and parens (`method() {}` not `method () {}`). - When in doubt, use the default style favored by [Prettier](https://prettier.io/playground/). +- Always capitalize React concepts such as Hooks, Effects, and Transitions. ### Highlighting diff --git a/src/content/learn/manipulating-the-dom-with-refs.md b/src/content/learn/manipulating-the-dom-with-refs.md index 3d5cbfd1..bc9a3eac 100644 --- a/src/content/learn/manipulating-the-dom-with-refs.md +++ b/src/content/learn/manipulating-the-dom-with-refs.md @@ -493,7 +493,7 @@ In general, you [don't want](/learn/referencing-values-with-refs#best-practices- React sets `ref.current` during the commit. Before updating the DOM, React sets the affected `ref.current` values to `null`. After updating the DOM, React immediately sets them to the corresponding DOM nodes. -**Usually, you will access refs from event handlers.** If you want to do something with a ref, but there is no particular event to do it in, you might need an Effect. We will discuss effects on the next pages. +**Usually, you will access refs from event handlers.** If you want to do something with a ref, but there is no particular event to do it in, you might need an Effect. We will discuss Effects on the next pages. <DeepDive> diff --git a/src/content/reference/react-dom/flushSync.md b/src/content/reference/react-dom/flushSync.md index a97d194e..e23ef4ea 100644 --- a/src/content/reference/react-dom/flushSync.md +++ b/src/content/reference/react-dom/flushSync.md @@ -53,7 +53,7 @@ Most of the time, `flushSync` can be avoided. Use `flushSync` as last resort. * `flushSync` can significantly hurt performance. Use sparingly. * `flushSync` may force pending Suspense boundaries to show their `fallback` state. -* `flushSync` may run pending effects and synchronously apply any updates they contain before returning. +* `flushSync` may run pending Effects and synchronously apply any updates they contain before returning. * `flushSync` may flush updates outside the callback when necessary to flush the updates inside the callback. For example, if there are pending updates from a click, React may flush those before flushing the updates inside the callback. --- diff --git a/src/content/reference/react-dom/hydrate.md b/src/content/reference/react-dom/hydrate.md index 0d1e1cdf..a005abf1 100644 --- a/src/content/reference/react-dom/hydrate.md +++ b/src/content/reference/react-dom/hydrate.md @@ -152,7 +152,7 @@ This only works one level deep, and is intended to be an escape hatch. Don’t o ### Handling different client and server content {/*handling-different-client-and-server-content*/} -If you intentionally need to render something different on the server and the client, you can do a two-pass rendering. Components that render something different on the client can read a [state variable](/reference/react/useState) like `isClient`, which you can set to `true` in an [effect](/reference/react/useEffect): +If you intentionally need to render something different on the server and the client, you can do a two-pass rendering. Components that render something different on the client can read a [state variable](/reference/react/useState) like `isClient`, which you can set to `true` in an [Effect](/reference/react/useEffect): <Sandpack> diff --git a/src/content/reference/react-dom/preconnect.md b/src/content/reference/react-dom/preconnect.md index cb14a5e8..9b3100b0 100644 --- a/src/content/reference/react-dom/preconnect.md +++ b/src/content/reference/react-dom/preconnect.md @@ -55,7 +55,7 @@ The `preconnect` function provides the browser with a hint that it should open a #### Caveats {/*caveats*/} * Multiple calls to `preconnect` with the same server have the same effect as a single call. -* In the browser, you can call `preconnect` in any situation: while rendering a component, in an effect, in an event handler, and so on. +* In the browser, you can call `preconnect` in any situation: while rendering a component, in an Effect, in an event handler, and so on. * In server-side rendering or when rendering Server Components, `preconnect` only has an effect if you call it while rendering a component or in an async context originating from rendering a component. Any other calls will be ignored. * If you know the specific resources you'll need, you can call [other functions](/reference/react-dom/#resource-preloading-apis) instead that will start loading the resources right away. * There is no benefit to preconnecting to the same server the webpage itself is hosted from because it's already been connected to by the time the hint would be given. diff --git a/src/content/reference/react-dom/prefetchDNS.md b/src/content/reference/react-dom/prefetchDNS.md index f9889836..fc9ffdb1 100644 --- a/src/content/reference/react-dom/prefetchDNS.md +++ b/src/content/reference/react-dom/prefetchDNS.md @@ -54,7 +54,7 @@ The prefetchDNS function provides the browser with a hint that it should look up #### Caveats {/*caveats*/} * Multiple calls to `prefetchDNS` with the same server have the same effect as a single call. -* In the browser, you can call `prefetchDNS` in any situation: while rendering a component, in an effect, in an event handler, and so on. +* In the browser, you can call `prefetchDNS` in any situation: while rendering a component, in an Effect, in an event handler, and so on. * In server-side rendering or when rendering Server Components, `prefetchDNS` only has an effect if you call it while rendering a component or in an async context originating from rendering a component. Any other calls will be ignored. * If you know the specific resources you'll need, you can call [other functions](/reference/react-dom/#resource-preloading-apis) instead that will start loading the resources right away. * There is no benefit to prefetching the same server the webpage itself is hosted from because it's already been looked up by the time the hint would be given. diff --git a/src/content/reference/react-dom/preinit.md b/src/content/reference/react-dom/preinit.md index 5a04528b..3c9a879b 100644 --- a/src/content/reference/react-dom/preinit.md +++ b/src/content/reference/react-dom/preinit.md @@ -67,7 +67,7 @@ The `preinit` function provides the browser with a hint that it should start dow #### Caveats {/*caveats*/} * Multiple calls to `preinit` with the same `href` have the same effect as a single call. -* In the browser, you can call `preinit` in any situation: while rendering a component, in an effect, in an event handler, and so on. +* In the browser, you can call `preinit` in any situation: while rendering a component, in an Effect, in an event handler, and so on. * In server-side rendering or when rendering Server Components, `preinit` only has an effect if you call it while rendering a component or in an async context originating from rendering a component. Any other calls will be ignored. --- diff --git a/src/content/reference/react-dom/preinitModule.md b/src/content/reference/react-dom/preinitModule.md index ba6316a7..996c5a2e 100644 --- a/src/content/reference/react-dom/preinitModule.md +++ b/src/content/reference/react-dom/preinitModule.md @@ -65,7 +65,7 @@ The `preinitModule` function provides the browser with a hint that it should sta #### Caveats {/*caveats*/} * Multiple calls to `preinitModule` with the same `href` have the same effect as a single call. -* In the browser, you can call `preinitModule` in any situation: while rendering a component, in an effect, in an event handler, and so on. +* In the browser, you can call `preinitModule` in any situation: while rendering a component, in an Effect, in an event handler, and so on. * In server-side rendering or when rendering Server Components, `preinitModule` only has an effect if you call it while rendering a component or in an async context originating from rendering a component. Any other calls will be ignored. --- diff --git a/src/content/reference/react-dom/preload.md b/src/content/reference/react-dom/preload.md index 0ad9668d..1e7fd195 100644 --- a/src/content/reference/react-dom/preload.md +++ b/src/content/reference/react-dom/preload.md @@ -72,7 +72,7 @@ The `preload` function provides the browser with a hint that it should start dow * Multiple equivalent calls to `preload` have the same effect as a single call. Calls to `preload` are considered equivalent according to the following rules: * Two calls are equivalent if they have the same `href`, except: * If `as` is set to `image`, two calls are equivalent if they have the same `href`, `imageSrcSet`, and `imageSizes`. -* In the browser, you can call `preload` in any situation: while rendering a component, in an effect, in an event handler, and so on. +* In the browser, you can call `preload` in any situation: while rendering a component, in an Effect, in an event handler, and so on. * In server-side rendering or when rendering Server Components, `preload` only has an effect if you call it while rendering a component or in an async context originating from rendering a component. Any other calls will be ignored. --- diff --git a/src/content/reference/react-dom/preloadModule.md b/src/content/reference/react-dom/preloadModule.md index 05333f1c..99d128c7 100644 --- a/src/content/reference/react-dom/preloadModule.md +++ b/src/content/reference/react-dom/preloadModule.md @@ -66,7 +66,7 @@ The `preloadModule` function provides the browser with a hint that it should sta #### Caveats {/*caveats*/} * Multiple calls to `preloadModule` with the same `href` have the same effect as a single call. -* In the browser, you can call `preloadModule` in any situation: while rendering a component, in an effect, in an event handler, and so on. +* In the browser, you can call `preloadModule` in any situation: while rendering a component, in an Effect, in an event handler, and so on. * In server-side rendering or when rendering Server Components, `preloadModule` only has an effect if you call it while rendering a component or in an async context originating from rendering a component. Any other calls will be ignored. --- diff --git a/src/content/reference/react/Profiler.md b/src/content/reference/react/Profiler.md index 502ab0d4..188b2d1b 100644 --- a/src/content/reference/react/Profiler.md +++ b/src/content/reference/react/Profiler.md @@ -54,7 +54,7 @@ function onRender(id, phase, actualDuration, baseDuration, startTime, commitTime #### Parameters {/*onrender-parameters*/} * `id`: The string `id` prop of the `<Profiler>` tree that has just committed. This lets you identify which part of the tree was committed if you are using multiple profilers. -* `phase`: `"mount"`, `"update"` or `"nested-update"`. This lets you know whether the tree has just been mounted for the first time or re-rendered due to a change in props, state, or hooks. +* `phase`: `"mount"`, `"update"` or `"nested-update"`. This lets you know whether the tree has just been mounted for the first time or re-rendered due to a change in props, state, or Hooks. * `actualDuration`: The number of milliseconds spent rendering the `<Profiler>` and its descendants for the current update. This indicates how well the subtree makes use of memoization (e.g. [`memo`](/reference/react/memo) and [`useMemo`](/reference/react/useMemo)). Ideally this value should decrease significantly after the initial mount as many of the descendants will only need to re-render if their specific props change. * `baseDuration`: The number of milliseconds estimating how much time it would take to re-render the entire `<Profiler>` subtree without any optimizations. It is calculated by summing up the most recent render durations of each component in the tree. This value estimates a worst-case cost of rendering (e.g. the initial mount or a tree with no memoization). Compare `actualDuration` against it to see if memoization is working. * `startTime`: A numeric timestamp for when React began rendering the current update. diff --git a/src/content/reference/react/Suspense.md b/src/content/reference/react/Suspense.md index 4ec3dd7a..abb77a9d 100644 --- a/src/content/reference/react/Suspense.md +++ b/src/content/reference/react/Suspense.md @@ -1348,7 +1348,7 @@ input { margin: 10px; } <Note> -Both deferred values and [transitions](#preventing-already-revealed-content-from-hiding) let you avoid showing Suspense fallback in favor of inline indicators. Transitions mark the whole update as non-urgent so they are typically used by frameworks and router libraries for navigation. Deferred values, on the other hand, are mostly useful in application code where you want to mark a part of UI as non-urgent and let it "lag behind" the rest of the UI. +Both deferred values and [Transitions](#preventing-already-revealed-content-from-hiding) let you avoid showing Suspense fallback in favor of inline indicators. Transitions mark the whole update as non-urgent so they are typically used by frameworks and router libraries for navigation. Deferred values, on the other hand, are mostly useful in application code where you want to mark a part of UI as non-urgent and let it "lag behind" the rest of the UI. </Note> @@ -1727,7 +1727,7 @@ main { When you pressed the button, the `Router` component rendered `ArtistPage` instead of `IndexPage`. A component inside `ArtistPage` suspended, so the closest Suspense boundary started showing the fallback. The closest Suspense boundary was near the root, so the whole site layout got replaced by `BigSpinner`. -To prevent this, you can mark the navigation state update as a *transition* with [`startTransition`:](/reference/react/startTransition) +To prevent this, you can mark the navigation state update as a *Transition* with [`startTransition`:](/reference/react/startTransition) ```js {5,7} function Router() { @@ -1741,7 +1741,7 @@ function Router() { // ... ``` -This tells React that the state transition is not urgent, and it's better to keep showing the previous page instead of hiding any already revealed content. Now clicking the button "waits" for the `Biography` to load: +This tells React that the state Transition is not urgent, and it's better to keep showing the previous page instead of hiding any already revealed content. Now clicking the button "waits" for the `Biography` to load: <Sandpack> @@ -2112,19 +2112,19 @@ main { </Sandpack> -A transition doesn't wait for *all* content to load. It only waits long enough to avoid hiding already revealed content. For example, the website `Layout` was already revealed, so it would be bad to hide it behind a loading spinner. However, the nested `Suspense` boundary around `Albums` is new, so the transition doesn't wait for it. +A Transition doesn't wait for *all* content to load. It only waits long enough to avoid hiding already revealed content. For example, the website `Layout` was already revealed, so it would be bad to hide it behind a loading spinner. However, the nested `Suspense` boundary around `Albums` is new, so the Transition doesn't wait for it. <Note> -Suspense-enabled routers are expected to wrap the navigation updates into transitions by default. +Suspense-enabled routers are expected to wrap the navigation updates into Transitions by default. </Note> --- -### Indicating that a transition is happening {/*indicating-that-a-transition-is-happening*/} +### Indicating that a Transition is happening {/*indicating-that-a-transition-is-happening*/} -In the above example, once you click the button, there is no visual indication that a navigation is in progress. To add an indicator, you can replace [`startTransition`](/reference/react/startTransition) with [`useTransition`](/reference/react/useTransition) which gives you a boolean `isPending` value. In the example below, it's used to change the website header styling while a transition is happening: +In the above example, once you click the button, there is no visual indication that a navigation is in progress. To add an indicator, you can replace [`startTransition`](/reference/react/startTransition) with [`useTransition`](/reference/react/useTransition) which gives you a boolean `isPending` value. In the example below, it's used to change the website header styling while a Transition is happening: <Sandpack> @@ -2502,13 +2502,13 @@ main { ### Resetting Suspense boundaries on navigation {/*resetting-suspense-boundaries-on-navigation*/} -During a transition, React will avoid hiding already revealed content. However, if you navigate to a route with different parameters, you might want to tell React it is *different* content. You can express this with a `key`: +During a Transition, React will avoid hiding already revealed content. However, if you navigate to a route with different parameters, you might want to tell React it is *different* content. You can express this with a `key`: ```js <ProfilePage key={queryParams.id} /> ``` -Imagine you're navigating within a user's profile page, and something suspends. If that update is wrapped in a transition, it will not trigger the fallback for already visible content. That's the expected behavior. +Imagine you're navigating within a user's profile page, and something suspends. If that update is wrapped in a Transition, it will not trigger the fallback for already visible content. That's the expected behavior. However, now imagine you're navigating between two different user profiles. In that case, it makes sense to show the fallback. For example, one user's timeline is *different content* from another user's timeline. By specifying a `key`, you ensure that React treats different users' profiles as different components, and resets the Suspense boundaries during navigation. Suspense-integrated routers should do this automatically. @@ -2545,7 +2545,7 @@ The server HTML will include the loading indicator. It will be replaced by the ` Replacing visible UI with a fallback creates a jarring user experience. This can happen when an update causes a component to suspend, and the nearest Suspense boundary is already showing content to the user. -To prevent this from happening, [mark the update as non-urgent using `startTransition`](#preventing-already-revealed-content-from-hiding). During a transition, React will wait until enough data has loaded to prevent an unwanted fallback from appearing: +To prevent this from happening, [mark the update as non-urgent using `startTransition`](#preventing-already-revealed-content-from-hiding). During a Transition, React will wait until enough data has loaded to prevent an unwanted fallback from appearing: ```js {2-3,5} function handleNextPageClick() { diff --git a/src/content/reference/react/startTransition.md b/src/content/reference/react/startTransition.md index 0aef23fd..3b1defd2 100644 --- a/src/content/reference/react/startTransition.md +++ b/src/content/reference/react/startTransition.md @@ -20,7 +20,7 @@ startTransition(scope) ### `startTransition(scope)` {/*starttransitionscope*/} -The `startTransition` function lets you mark a state update as a transition. +The `startTransition` function lets you mark a state update as a Transition. ```js {7,9} import { startTransition } from 'react'; @@ -41,7 +41,7 @@ function TabContainer() { #### Parameters {/*parameters*/} -* `scope`: A function that updates some state by calling one or more [`set` functions.](/reference/react/useState#setstate) React immediately calls `scope` with no arguments and marks all state updates scheduled synchronously during the `scope` function call as transitions. They will be [non-blocking](/reference/react/useTransition#marking-a-state-update-as-a-non-blocking-transition) and [will not display unwanted loading indicators.](/reference/react/useTransition#preventing-unwanted-loading-indicators) +* `scope`: A function that updates some state by calling one or more [`set` functions.](/reference/react/useState#setstate) React immediately calls `scope` with no arguments and marks all state updates scheduled synchronously during the `scope` function call as Transitions. They will be [non-blocking](/reference/react/useTransition#marking-a-state-update-as-a-non-blocking-transition) and [will not display unwanted loading indicators.](/reference/react/useTransition#preventing-unwanted-loading-indicators) #### Returns {/*returns*/} @@ -49,25 +49,25 @@ function TabContainer() { #### Caveats {/*caveats*/} -* `startTransition` does not provide a way to track whether a transition is pending. To show a pending indicator while the transition is ongoing, you need [`useTransition`](/reference/react/useTransition) instead. +* `startTransition` does not provide a way to track whether a Transition is pending. To show a pending indicator while the Transition is ongoing, you need [`useTransition`](/reference/react/useTransition) instead. -* You can wrap an update into a transition only if you have access to the `set` function of that state. If you want to start a transition in response to some prop or a custom Hook return value, try [`useDeferredValue`](/reference/react/useDeferredValue) instead. +* You can wrap an update into a Transition only if you have access to the `set` function of that state. If you want to start a Transition in response to some prop or a custom Hook return value, try [`useDeferredValue`](/reference/react/useDeferredValue) instead. -* The function you pass to `startTransition` must be synchronous. React immediately executes this function, marking all state updates that happen while it executes as transitions. If you try to perform more state updates later (for example, in a timeout), they won't be marked as transitions. +* The function you pass to `startTransition` must be synchronous. React immediately executes this function, marking all state updates that happen while it executes as Transitions. If you try to perform more state updates later (for example, in a timeout), they won't be marked as Transitions. -* A state update marked as a transition will be interrupted by other state updates. For example, if you update a chart component inside a transition, but then start typing into an input while the chart is in the middle of a re-render, React will restart the rendering work on the chart component after handling the input state update. +* A state update marked as a Transition will be interrupted by other state updates. For example, if you update a chart component inside a Transition, but then start typing into an input while the chart is in the middle of a re-render, React will restart the rendering work on the chart component after handling the input state update. * Transition updates can't be used to control text inputs. -* If there are multiple ongoing transitions, React currently batches them together. This is a limitation that will likely be removed in a future release. +* If there are multiple ongoing Transitions, React currently batches them together. This is a limitation that will likely be removed in a future release. --- ## Usage {/*usage*/} -### Marking a state update as a non-blocking transition {/*marking-a-state-update-as-a-non-blocking-transition*/} +### Marking a state update as a non-blocking Transition {/*marking-a-state-update-as-a-non-blocking-transition*/} -You can mark a state update as a *transition* by wrapping it in a `startTransition` call: +You can mark a state update as a *Transition* by wrapping it in a `startTransition` call: ```js {7,9} import { startTransition } from 'react'; @@ -86,12 +86,12 @@ function TabContainer() { Transitions let you keep the user interface updates responsive even on slow devices. -With a transition, your UI stays responsive in the middle of a re-render. For example, if the user clicks a tab but then change their mind and click another tab, they can do that without waiting for the first re-render to finish. +With a Transition, your UI stays responsive in the middle of a re-render. For example, if the user clicks a tab but then change their mind and click another tab, they can do that without waiting for the first re-render to finish. <Note> -`startTransition` is very similar to [`useTransition`](/reference/react/useTransition), except that it does not provide the `isPending` flag to track whether a transition is ongoing. You can call `startTransition` when `useTransition` is not available. For example, `startTransition` works outside components, such as from a data library. +`startTransition` is very similar to [`useTransition`](/reference/react/useTransition), except that it does not provide the `isPending` flag to track whether a Transition is ongoing. You can call `startTransition` when `useTransition` is not available. For example, `startTransition` works outside components, such as from a data library. -[Learn about transitions and see examples on the `useTransition` page.](/reference/react/useTransition) +[Learn about Transitions and see examples on the `useTransition` page.](/reference/react/useTransition) </Note> diff --git a/src/content/reference/react/use-server.md b/src/content/reference/react/use-server.md index d517873b..3c93564f 100644 --- a/src/content/reference/react/use-server.md +++ b/src/content/reference/react/use-server.md @@ -44,7 +44,7 @@ Instead of individually marking functions with `'use server'`, you can add the d * To import a Server Action from [client code](/reference/react/use-client), the directive must be used on a module level. * Because the underlying network calls are always asynchronous, `'use server'` can only be used on async functions. * Always treat arguments to Server Actions as untrusted input and authorize any mutations. See [security considerations](#security). -* Server Actions should be called in a [transition](/reference/react/useTransition). Server Actions passed to [`<form action>`](/reference/react-dom/components/form#props) or [`formAction`](/reference/react-dom/components/input#props) will automatically be called in a transition. +* Server Actions should be called in a [Transition](/reference/react/useTransition). Server Actions passed to [`<form action>`](/reference/react-dom/components/form#props) or [`formAction`](/reference/react-dom/components/input#props) will automatically be called in a transition. * Server Actions are designed for mutations that update server-side state; they are not recommended for data fetching. Accordingly, frameworks implementing Server Actions typically process one action at a time and do not have a way to cache the return value. ### Security considerations {/*security*/} @@ -177,7 +177,7 @@ Note that like most Hooks, `useFormState` can only be called in <CodeStep step={ Server Actions are exposed server endpoints and can be called anywhere in client code. -When using a Server Action outside of a [form](/reference/react-dom/components/form), call the Server Action in a [transition](/reference/react/useTransition), which allows you to display a loading indicator, show [optimistic state updates](/reference/react/useOptimistic), and handle unexpected errors. Forms will automatically wrap Server Actions in transitions. +When using a Server Action outside of a [form](/reference/react-dom/components/form), call the Server Action in a [Transition](/reference/react/useTransition), which allows you to display a loading indicator, show [optimistic state updates](/reference/react/useOptimistic), and handle unexpected errors. Forms will automatically wrap Server Actions in transitions. ```js {9-12} import incrementLike from './actions'; diff --git a/src/content/reference/react/useInsertionEffect.md b/src/content/reference/react/useInsertionEffect.md index 0238facf..c088ac34 100644 --- a/src/content/reference/react/useInsertionEffect.md +++ b/src/content/reference/react/useInsertionEffect.md @@ -10,7 +10,7 @@ title: useInsertionEffect <Intro> -`useInsertionEffect` allows inserting elements into the DOM before any layout effects fire. +`useInsertionEffect` allows inserting elements into the DOM before any layout Effects fire. ```js useInsertionEffect(setup, dependencies?) @@ -26,7 +26,7 @@ useInsertionEffect(setup, dependencies?) ### `useInsertionEffect(setup, dependencies?)` {/*useinsertioneffect*/} -Call `useInsertionEffect` to insert styles before any effects fire that may need to read layout: +Call `useInsertionEffect` to insert styles before any Effects fire that may need to read layout: ```js import { useInsertionEffect } from 'react'; @@ -44,7 +44,7 @@ function useCSS(rule) { #### Parameters {/*parameters*/} -* `setup`: The function with your Effect's logic. Your setup function may also optionally return a *cleanup* function. When your component is added to the DOM, but before any layout effects fire, React will run your setup function. After every re-render with changed dependencies, React will first run the cleanup function (if you provided it) with the old values, and then run your setup function with the new values. When your component is removed from the DOM, React will run your cleanup function. +* `setup`: The function with your Effect's logic. Your setup function may also optionally return a *cleanup* function. When your component is added to the DOM, but before any layout Effects fire, React will run your setup function. After every re-render with changed dependencies, React will first run the cleanup function (if you provided it) with the old values, and then run your setup function with the new values. When your component is removed from the DOM, React will run your cleanup function. * **optional** `dependencies`: The list of all reactive values referenced inside of the `setup` code. Reactive values include props, state, and all the variables and functions declared directly inside your component body. If your linter is [configured for React](/learn/editor-setup#linting), it will verify that every reactive value is correctly specified as a dependency. The list of dependencies must have a constant number of items and be written inline like `[dep1, dep2, dep3]`. React will compare each dependency with its previous value using the [`Object.is`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is) comparison algorithm. If you don't specify the dependencies at all, your Effect will re-run after every re-render of the component. @@ -88,7 +88,7 @@ If you use CSS-in-JS, we recommend a combination of the first two approaches (CS The first problem is not solvable, but `useInsertionEffect` helps you solve the second problem. -Call `useInsertionEffect` to insert the styles before any layout effects fire: +Call `useInsertionEffect` to insert the styles before any layout Effects fire: ```js {4-11} // Inside your CSS-in-JS library diff --git a/src/content/reference/react/useSyncExternalStore.md b/src/content/reference/react/useSyncExternalStore.md index ebaf0987..481690d7 100644 --- a/src/content/reference/react/useSyncExternalStore.md +++ b/src/content/reference/react/useSyncExternalStore.md @@ -57,9 +57,9 @@ The current snapshot of the store which you can use in your rendering logic. * If a different `subscribe` function is passed during a re-render, React will re-subscribe to the store using the newly passed `subscribe` function. You can prevent this by declaring `subscribe` outside the component. -* If the store is mutated during a [non-blocking transition update](/reference/react/useTransition), React will fall back to performing that update as blocking. Specifically, for every transition update, React will call `getSnapshot` a second time just before applying changes to the DOM. If it returns a different value than when it was called originally, React will restart the update from scratch, this time applying it as a blocking update, to ensure that every component on screen is reflecting the same version of the store. +* If the store is mutated during a [non-blocking Transition update](/reference/react/useTransition), React will fall back to performing that update as blocking. Specifically, for every Transition update, React will call `getSnapshot` a second time just before applying changes to the DOM. If it returns a different value than when it was called originally, React will restart the update from scratch, this time applying it as a blocking update, to ensure that every component on screen is reflecting the same version of the store. -* It's not recommended to _suspend_ a render based on a store value returned by `useSyncExternalStore`. The reason is that mutations to the external store cannot be marked as [non-blocking transition updates](/reference/react/useTransition), so they will trigger the nearest [`Suspense` fallback](/reference/react/Suspense), replacing already-rendered content on screen with a loading spinner, which typically makes a poor UX. +* It's not recommended to _suspend_ a render based on a store value returned by `useSyncExternalStore`. The reason is that mutations to the external store cannot be marked as [non-blocking Transition updates](/reference/react/useTransition), so they will trigger the nearest [`Suspense` fallback](/reference/react/Suspense), replacing already-rendered content on screen with a loading spinner, which typically makes a poor UX. For example, the following are discouraged: diff --git a/src/content/reference/react/useTransition.md b/src/content/reference/react/useTransition.md index 7881e1de..77c2cdad 100644 --- a/src/content/reference/react/useTransition.md +++ b/src/content/reference/react/useTransition.md @@ -20,7 +20,7 @@ const [isPending, startTransition] = useTransition() ### `useTransition()` {/*usetransition*/} -Call `useTransition` at the top level of your component to mark some state updates as transitions. +Call `useTransition` at the top level of your component to mark some state updates as Transitions. ```js import { useTransition } from 'react'; @@ -41,14 +41,14 @@ function TabContainer() { `useTransition` returns an array with exactly two items: -1. The `isPending` flag that tells you whether there is a pending transition. -2. The [`startTransition` function](#starttransition) that lets you mark a state update as a transition. +1. The `isPending` flag that tells you whether there is a pending Transition. +2. The [`startTransition` function](#starttransition) that lets you mark a state update as a Transition. --- ### `startTransition` function {/*starttransition*/} -The `startTransition` function returned by `useTransition` lets you mark a state update as a transition. +The `startTransition` function returned by `useTransition` lets you mark a state update as a Transition. ```js {6,8} function TabContainer() { @@ -66,7 +66,7 @@ function TabContainer() { #### Parameters {/*starttransition-parameters*/} -* `scope`: A function that updates some state by calling one or more [`set` functions.](/reference/react/useState#setstate) React immediately calls `scope` with no parameters and marks all state updates scheduled synchronously during the `scope` function call as transitions. They will be [non-blocking](#marking-a-state-update-as-a-non-blocking-transition) and [will not display unwanted loading indicators.](#preventing-unwanted-loading-indicators) +* `scope`: A function that updates some state by calling one or more [`set` functions.](/reference/react/useState#setstate) React immediately calls `scope` with no parameters and marks all state updates scheduled synchronously during the `scope` function call as Transitions. They will be [non-blocking](#marking-a-state-update-as-a-non-blocking-transition) and [will not display unwanted loading indicators.](#preventing-unwanted-loading-indicators) #### Returns {/*starttransition-returns*/} @@ -74,25 +74,25 @@ function TabContainer() { #### Caveats {/*starttransition-caveats*/} -* `useTransition` is a Hook, so it can only be called inside components or custom Hooks. If you need to start a transition somewhere else (for example, from a data library), call the standalone [`startTransition`](/reference/react/startTransition) instead. +* `useTransition` is a Hook, so it can only be called inside components or custom Hooks. If you need to start a Transition somewhere else (for example, from a data library), call the standalone [`startTransition`](/reference/react/startTransition) instead. -* You can wrap an update into a transition only if you have access to the `set` function of that state. If you want to start a transition in response to some prop or a custom Hook value, try [`useDeferredValue`](/reference/react/useDeferredValue) instead. +* You can wrap an update into a Transition only if you have access to the `set` function of that state. If you want to start a Transition in response to some prop or a custom Hook value, try [`useDeferredValue`](/reference/react/useDeferredValue) instead. -* The function you pass to `startTransition` must be synchronous. React immediately executes this function, marking all state updates that happen while it executes as transitions. If you try to perform more state updates later (for example, in a timeout), they won't be marked as transitions. +* The function you pass to `startTransition` must be synchronous. React immediately executes this function, marking all state updates that happen while it executes as Transitions. If you try to perform more state updates later (for example, in a timeout), they won't be marked as Transitions. -* A state update marked as a transition will be interrupted by other state updates. For example, if you update a chart component inside a transition, but then start typing into an input while the chart is in the middle of a re-render, React will restart the rendering work on the chart component after handling the input update. +* A state update marked as a Transition will be interrupted by other state updates. For example, if you update a chart component inside a Transition, but then start typing into an input while the chart is in the middle of a re-render, React will restart the rendering work on the chart component after handling the input update. * Transition updates can't be used to control text inputs. -* If there are multiple ongoing transitions, React currently batches them together. This is a limitation that will likely be removed in a future release. +* If there are multiple ongoing Transitions, React currently batches them together. This is a limitation that will likely be removed in a future release. --- ## Usage {/*usage*/} -### Marking a state update as a non-blocking transition {/*marking-a-state-update-as-a-non-blocking-transition*/} +### Marking a state update as a non-blocking Transition {/*marking-a-state-update-as-a-non-blocking-transition*/} -Call `useTransition` at the top level of your component to mark state updates as non-blocking *transitions*. +Call `useTransition` at the top level of your component to mark state updates as non-blocking *Transitions*. ```js [[1, 4, "isPending"], [2, 4, "startTransition"]] import { useState, useTransition } from 'react'; @@ -105,10 +105,10 @@ function TabContainer() { `useTransition` returns an array with exactly two items: -1. The <CodeStep step={1}>`isPending` flag</CodeStep> that tells you whether there is a pending transition. -2. The <CodeStep step={2}>`startTransition` function</CodeStep> that lets you mark a state update as a transition. +1. The <CodeStep step={1}>`isPending` flag</CodeStep> that tells you whether there is a pending Transition. +2. The <CodeStep step={2}>`startTransition` function</CodeStep> that lets you mark a state update as a Transition. -You can then mark a state update as a transition like this: +You can then mark a state update as a Transition like this: ```js {6,8} function TabContainer() { @@ -126,15 +126,15 @@ function TabContainer() { Transitions let you keep the user interface updates responsive even on slow devices. -With a transition, your UI stays responsive in the middle of a re-render. For example, if the user clicks a tab but then change their mind and click another tab, they can do that without waiting for the first re-render to finish. +With a Transition, your UI stays responsive in the middle of a re-render. For example, if the user clicks a tab but then change their mind and click another tab, they can do that without waiting for the first re-render to finish. <Recipes titleText="The difference between useTransition and regular state updates" titleId="examples"> -#### Updating the current tab in a transition {/*updating-the-current-tab-in-a-transition*/} +#### Updating the current tab in a Transition {/*updating-the-current-tab-in-a-transition*/} In this example, the "Posts" tab is **artificially slowed down** so that it takes at least a second to render. -Click "Posts" and then immediately click "Contact". Notice that this interrupts the slow render of "Posts". The "Contact" tab shows immediately. Because this state update is marked as a transition, a slow re-render did not freeze the user interface. +Click "Posts" and then immediately click "Contact". Notice that this interrupts the slow render of "Posts". The "Contact" tab shows immediately. Because this state update is marked as a Transition, a slow re-render did not freeze the user interface. <Sandpack> @@ -269,11 +269,11 @@ b { display: inline-block; margin-right: 10px; } <Solution /> -#### Updating the current tab without a transition {/*updating-the-current-tab-without-a-transition*/} +#### Updating the current tab without a Transition {/*updating-the-current-tab-without-a-transition*/} -In this example, the "Posts" tab is also **artificially slowed down** so that it takes at least a second to render. Unlike in the previous example, this state update is **not a transition.** +In this example, the "Posts" tab is also **artificially slowed down** so that it takes at least a second to render. Unlike in the previous example, this state update is **not a Transition.** -Click "Posts" and then immediately click "Contact". Notice that the app freezes while rendering the slowed down tab, and the UI becomes unresponsive. This state update is not a transition, so a slow re-render freezed the user interface. +Click "Posts" and then immediately click "Contact". Notice that the app freezes while rendering the slowed down tab, and the UI becomes unresponsive. This state update is not a Transition, so a slow re-render freezed the user interface. <Sandpack> @@ -409,9 +409,9 @@ b { display: inline-block; margin-right: 10px; } --- -### Updating the parent component in a transition {/*updating-the-parent-component-in-a-transition*/} +### Updating the parent component in a Transition {/*updating-the-parent-component-in-a-transition*/} -You can update a parent component's state from the `useTransition` call, too. For example, this `TabButton` component wraps its `onClick` logic in a transition: +You can update a parent component's state from the `useTransition` call, too. For example, this `TabButton` component wraps its `onClick` logic in a Transition: ```js {8-10} export default function TabButton({ children, isActive, onClick }) { @@ -431,7 +431,7 @@ export default function TabButton({ children, isActive, onClick }) { } ``` -Because the parent component updates its state inside the `onClick` event handler, that state update gets marked as a transition. This is why, like in the earlier example, you can click on "Posts" and then immediately click "Contact". Updating the selected tab is marked as a transition, so it does not block user interactions. +Because the parent component updates its state inside the `onClick` event handler, that state update gets marked as a Transition. This is why, like in the earlier example, you can click on "Posts" and then immediately click "Contact". Updating the selected tab is marked as a Transition, so it does not block user interactions. <Sandpack> @@ -560,9 +560,9 @@ b { display: inline-block; margin-right: 10px; } --- -### Displaying a pending visual state during the transition {/*displaying-a-pending-visual-state-during-the-transition*/} +### Displaying a pending visual state during the Transition {/*displaying-a-pending-visual-state-during-the-transition*/} -You can use the `isPending` boolean value returned by `useTransition` to indicate to the user that a transition is in progress. For example, the tab button can have a special "pending" visual state: +You can use the `isPending` boolean value returned by `useTransition` to indicate to the user that a Transition is in progress. For example, the tab button can have a special "pending" visual state: ```js {4-6} function TabButton({ children, isActive, onClick }) { @@ -1087,11 +1087,11 @@ b { display: inline-block; margin-right: 10px; } </Sandpack> -[Read more about using transitions with Suspense.](/reference/react/Suspense#preventing-already-revealed-content-from-hiding) +[Read more about using Transitions with Suspense.](/reference/react/Suspense#preventing-already-revealed-content-from-hiding) <Note> -Transitions will only "wait" long enough to avoid hiding *already revealed* content (like the tab container). If the Posts tab had a [nested `<Suspense>` boundary,](/reference/react/Suspense#revealing-nested-content-as-it-loads) the transition would not "wait" for it. +Transitions will only "wait" long enough to avoid hiding *already revealed* content (like the tab container). If the Posts tab had a [nested `<Suspense>` boundary,](/reference/react/Suspense#revealing-nested-content-as-it-loads) the Transition would not "wait" for it. </Note> @@ -1099,7 +1099,7 @@ Transitions will only "wait" long enough to avoid hiding *already revealed* cont ### Building a Suspense-enabled router {/*building-a-suspense-enabled-router*/} -If you're building a React framework or a router, we recommend marking page navigations as transitions. +If you're building a React framework or a router, we recommend marking page navigations as Transitions. ```js {3,6,8} function Router() { @@ -1119,7 +1119,7 @@ This is recommended for two reasons: - [Transitions are interruptible,](#marking-a-state-update-as-a-non-blocking-transition) which lets the user click away without waiting for the re-render to complete. - [Transitions prevent unwanted loading indicators,](#preventing-unwanted-loading-indicators) which lets the user avoid jarring jumps on navigation. -Here is a tiny simplified router example using transitions for navigations. +Here is a tiny simplified router example using Transitions for navigations. <Sandpack> @@ -1495,7 +1495,7 @@ main { <Note> -[Suspense-enabled](/reference/react/Suspense) routers are expected to wrap the navigation updates into transitions by default. +[Suspense-enabled](/reference/react/Suspense) routers are expected to wrap the navigation updates into Transitions by default. </Note> @@ -1598,15 +1598,15 @@ root.render( ## Troubleshooting {/*troubleshooting*/} -### Updating an input in a transition doesn't work {/*updating-an-input-in-a-transition-doesnt-work*/} +### Updating an input in a Transition doesn't work {/*updating-an-input-in-a-transition-doesnt-work*/} -You can't use a transition for a state variable that controls an input: +You can't use a Transition for a state variable that controls an input: ```js {4,10} const [text, setText] = useState(''); // ... function handleChange(e) { - // ❌ Can't use transitions for controlled input state + // ❌ Can't use Transitions for controlled input state startTransition(() => { setText(e.target.value); }); @@ -1615,16 +1615,16 @@ function handleChange(e) { return <input value={text} onChange={handleChange} />; ``` -This is because transitions are non-blocking, but updating an input in response to the change event should happen synchronously. If you want to run a transition in response to typing, you have two options: +This is because Transitions are non-blocking, but updating an input in response to the change event should happen synchronously. If you want to run a Transition in response to typing, you have two options: -1. You can declare two separate state variables: one for the input state (which always updates synchronously), and one that you will update in a transition. This lets you control the input using the synchronous state, and pass the transition state variable (which will "lag behind" the input) to the rest of your rendering logic. +1. You can declare two separate state variables: one for the input state (which always updates synchronously), and one that you will update in a Transition. This lets you control the input using the synchronous state, and pass the Transition state variable (which will "lag behind" the input) to the rest of your rendering logic. 2. Alternatively, you can have one state variable, and add [`useDeferredValue`](/reference/react/useDeferredValue) which will "lag behind" the real value. It will trigger non-blocking re-renders to "catch up" with the new value automatically. --- -### React doesn't treat my state update as a transition {/*react-doesnt-treat-my-state-update-as-a-transition*/} +### React doesn't treat my state update as a Transition {/*react-doesnt-treat-my-state-update-as-a-transition*/} -When you wrap a state update in a transition, make sure that it happens *during* the `startTransition` call: +When you wrap a state update in a Transition, make sure that it happens *during* the `startTransition` call: ```js startTransition(() => { @@ -1635,7 +1635,7 @@ startTransition(() => { The function you pass to `startTransition` must be synchronous. -You can't mark an update as a transition like this: +You can't mark an update as a Transition like this: ```js startTransition(() => { @@ -1657,7 +1657,7 @@ setTimeout(() => { }, 1000); ``` -Similarly, you can't mark an update as a transition like this: +Similarly, you can't mark an update as a Transition like this: ```js startTransition(async () => { @@ -1698,7 +1698,7 @@ startTransition(() => { console.log(3); ``` -**It is expected to print 1, 2, 3.** The function you pass to `startTransition` does not get delayed. Unlike with the browser `setTimeout`, it does not run the callback later. React executes your function immediately, but any state updates scheduled *while it is running* are marked as transitions. You can imagine that it works like this: +**It is expected to print 1, 2, 3.** The function you pass to `startTransition` does not get delayed. Unlike with the browser `setTimeout`, it does not run the callback later. React executes your function immediately, but any state updates scheduled *while it is running* are marked as Transitions. You can imagine that it works like this: ```js // A simplified version of how React works @@ -1713,7 +1713,7 @@ function startTransition(scope) { function setState() { if (isInsideTransition) { - // ... schedule a transition state update ... + // ... schedule a Transition state update ... } else { // ... schedule an urgent state update ... } diff --git a/src/content/reference/rules/components-and-hooks-must-be-pure.md b/src/content/reference/rules/components-and-hooks-must-be-pure.md index d80207c7..3112ea03 100644 --- a/src/content/reference/rules/components-and-hooks-must-be-pure.md +++ b/src/content/reference/rules/components-and-hooks-must-be-pure.md @@ -3,7 +3,7 @@ title: Components and Hooks must be pure --- <Intro> -Pure functions only perform a calculation and nothing more. It makes your code easier to understand, debug, and allows React to automatically optimize your components and hooks correctly. +Pure functions only perform a calculation and nothing more. It makes your code easier to understand, debug, and allows React to automatically optimize your components and Hooks correctly. </Intro> <Note> @@ -18,7 +18,7 @@ One of the key concepts that makes React, _React_ is _purity_. A pure component * **Idempotent** – You [always get the same result everytime](/learn/keeping-components-pure#purity-components-as-formulas) you run it with the same inputs – props, state, context for component inputs; and arguments for hook inputs. * **Has no side effects in render** – Code with side effects should run [**separately from rendering**](#how-does-react-run-your-code). For example as an [event handler](/learn/responding-to-events) – where the user interacts with the UI and causes it to update; or as an [Effect](/reference/react/useEffect) – which runs after render. -* **Does not mutate non-local values**: Components and hooks should [never modify values that aren't created locally](#mutation) in render. +* **Does not mutate non-local values**: Components and Hooks should [never modify values that aren't created locally](#mutation) in render. When render is kept pure, React can understand how to prioritize which updates are most important for the user to see first. This is made possible because of render purity: since components don't have side effects [in render](#how-does-react-run-your-code), React can pause rendering components that aren't as important to update, and only come back to them later when it's needed. @@ -68,7 +68,7 @@ function Dropdown() { --- -## Components and hooks must be idempotent {/*components-and-hooks-must-be-idempotent*/} +## Components and Hooks must be idempotent {/*components-and-hooks-must-be-idempotent*/} Components must always return the same output with respect to their inputs – props, state, and context. This is known as _idempotency_. [Idempotency](https://en.wikipedia.org/wiki/Idempotence) is a term popularized in functional programming. It refers to the idea that you [always get the same result everytime](learn/keeping-components-pure) you run that piece of code with the same inputs. @@ -307,7 +307,7 @@ function useIconStyle(icon) { } ``` -If you were to mutate the hooks arguments, the custom hook's memoization will become incorrect, so it's important to avoid doing that. +If you were to mutate the Hooks arguments, the custom hook's memoization will become incorrect, so it's important to avoid doing that. ```js {4} style = useIconStyle(icon); // `style` is memoized based on `icon` @@ -321,7 +321,7 @@ icon = { ...icon, enabled: false }; // Good: ✅ make a copy instead style = useIconStyle(icon); // new value of `style` is calculated ``` -Similarly, it's important to not modify the return values of hooks, as they may have been memoized. +Similarly, it's important to not modify the return values of Hooks, as they may have been memoized. --- @@ -361,4 +361,4 @@ function Page({ colour }) { </> ); } -``` \ No newline at end of file +``` diff --git a/src/content/reference/rules/react-calls-components-and-hooks.md b/src/content/reference/rules/react-calls-components-and-hooks.md index f82b3815..3d865b4f 100644 --- a/src/content/reference/rules/react-calls-components-and-hooks.md +++ b/src/content/reference/rules/react-calls-components-and-hooks.md @@ -3,7 +3,7 @@ title: React calls Components and Hooks --- <Intro> -React is responsible for rendering components and hooks when necessary to optimize the user experience. It is declarative: you tell React what to render in your component’s logic, and React will figure out how best to display it to your user. +React is responsible for rendering components and Hooks when necessary to optimize the user experience. It is declarative: you tell React what to render in your component’s logic, and React will figure out how best to display it to your user. </Intro> <InlineToc /> @@ -27,7 +27,7 @@ function BlogPost() { } ``` -If a component contains hooks, it's easy to violate the [Rules of Hooks](/reference/rules/rules-of-hooks) when components are called directly in a loop or conditionally. +If a component contains Hooks, it's easy to violate the [Rules of Hooks](/reference/rules/rules-of-hooks) when components are called directly in a loop or conditionally. Letting React orchestrate rendering also allows a number of benefits: @@ -39,30 +39,30 @@ Letting React orchestrate rendering also allows a number of benefits: --- -## Never pass around hooks as regular values {/*never-pass-around-hooks-as-regular-values*/} +## Never pass around Hooks as regular values {/*never-pass-around-hooks-as-regular-values*/} -Hooks should only be called inside of components or hooks. Never pass it around as a regular value. +Hooks should only be called inside of components or Hooks. Never pass it around as a regular value. Hooks allow you to augment a component with React features. They should always be called as a function, and never passed around as a regular value. This enables _local reasoning_, or the ability for developers to understand everything a component can do by looking at that component in isolation. Breaking this rule will cause React to not automatically optimize your component. -### Don't dynamically mutate a hook {/*dont-dynamically-mutate-a-hook*/} +### Don't dynamically mutate a Hook {/*dont-dynamically-mutate-a-hook*/} -Hooks should be as "static" as possible. This means you shouldn't dynamically mutate them. For example, this means you shouldn't write higher order hooks: +Hooks should be as "static" as possible. This means you shouldn't dynamically mutate them. For example, this means you shouldn't write higher order Hooks: ```js {2} function ChatInput() { - const useDataWithLogging = withLogging(useData); // 🔴 Bad: don't write higher order hooks + const useDataWithLogging = withLogging(useData); // 🔴 Bad: don't write higher order Hooks const data = useDataWithLogging(); } ``` -Hooks should be immutable and not be mutated. Instead of mutating a hook dynamically, create a static version of the hook with the desired functionality. +Hooks should be immutable and not be mutated. Instead of mutating a Hook dynamically, create a static version of the Hook with the desired functionality. ```js {2,6} function ChatInput() { - const data = useDataWithLogging(); // ✅ Good: Create a new version of the hook + const data = useDataWithLogging(); // ✅ Good: Create a new version of the Hook } function useDataWithLogging() { @@ -70,17 +70,17 @@ function useDataWithLogging() { } ``` -### Don't dynamically use hooks {/*dont-dynamically-use-hooks*/} +### Don't dynamically use Hooks {/*dont-dynamically-use-hooks*/} -Hooks should also not be dynamically used: for example, instead of doing dependency injection in a component by passing a hook as a value: +Hooks should also not be dynamically used: for example, instead of doing dependency injection in a component by passing a Hook as a value: ```js {2} function ChatInput() { - return <Button useData={useDataWithLogging} /> // 🔴 Bad: don't pass hooks as props + return <Button useData={useDataWithLogging} /> // 🔴 Bad: don't pass Hooks as props } ``` -You should always inline the call of the hook into that component and handle any logic in there. +You should always inline the call of the Hook into that component and handle any logic in there. ```js {6} function ChatInput() { @@ -88,14 +88,14 @@ function ChatInput() { } function Button() { - const data = useDataWithLogging(); // ✅ Good: Use the hook directly + const data = useDataWithLogging(); // ✅ Good: Use the Hook directly } function useDataWithLogging() { - // If there's any conditional logic to change the hook's behavior, it should be inlined into - // the hook + // If there's any conditional logic to change the Hook's behavior, it should be inlined into + // the Hook } ``` -This way, `<Button />` is much easier to understand and debug. When Hooks are used in dynamic ways, it increases the complexity of your app greatly and inhibits local reasoning, making your team less productive in the long term. It also makes it easier to accidentally break the [Rules of Hooks](/reference/rules/rules-of-hooks) that hooks should not be called conditionally. If you find yourself needing to mock components for tests, it's better to mock the server instead to respond with canned data. If possible, it's also usually more effective to test your app with end-to-end tests. +This way, `<Button />` is much easier to understand and debug. When Hooks are used in dynamic ways, it increases the complexity of your app greatly and inhibits local reasoning, making your team less productive in the long term. It also makes it easier to accidentally break the [Rules of Hooks](/reference/rules/rules-of-hooks) that Hooks should not be called conditionally. If you find yourself needing to mock components for tests, it's better to mock the server instead to respond with canned data. If possible, it's also usually more effective to test your app with end-to-end tests. diff --git a/src/content/reference/rules/rules-of-hooks.md b/src/content/reference/rules/rules-of-hooks.md index 58add666..ecaef7c6 100644 --- a/src/content/reference/rules/rules-of-hooks.md +++ b/src/content/reference/rules/rules-of-hooks.md @@ -129,7 +129,7 @@ function FriendList() { const [onlineStatus, setOnlineStatus] = useOnlineStatus(); // ✅ } -function setOnlineStatus() { // ❌ Not a component or custom hook! +function setOnlineStatus() { // ❌ Not a component or custom Hook! const [onlineStatus, setOnlineStatus] = useOnlineStatus(); } ``` From 2aa9594184e5cdd6cd52771d6a343b45e0e829cf Mon Sep 17 00:00:00 2001 From: Sebastian Silbermann <silbermann.sebastian@gmail.com> Date: Wed, 27 Mar 2024 16:02:22 +0100 Subject: [PATCH 224/382] Add warning page for ReactDOMTestUtils deprecation (#6716) --- src/content/warnings/react-dom-test-utils.md | 87 ++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 src/content/warnings/react-dom-test-utils.md diff --git a/src/content/warnings/react-dom-test-utils.md b/src/content/warnings/react-dom-test-utils.md new file mode 100644 index 00000000..794bb1d1 --- /dev/null +++ b/src/content/warnings/react-dom-test-utils.md @@ -0,0 +1,87 @@ +--- +title: react-dom/test-utils Deprecation Warnings +--- + +## ReactDOMTestUtils.act() warning {/*reactdomtestutilsact-warning*/} + +`act` from `react-dom/test-utils` has been deprecated in favor of `act` from `react`. + +Before: + +```js +import {act} from 'react-dom/test-utils'; +``` + +After: + +```js +import {act} from 'react'; +``` + +## Rest of ReactDOMTestUtils APIS {/*rest-of-reactdomtestutils-apis*/} + +All APIs except `act` have been removed. + +The React Team recommends migrating your tests to [@testing-library/react](https://testing-library.com/docs/react-testing-library/intro/) for a modern and well supported testing experience. + +### ReactDOMTestUtils.renderIntoDocument {/*reactdomtestutilsrenderintodocument*/} + +`renderIntoDocument` can be replaced with `render` from `@testing-library/react`. + +Before: + +```js +import {renderIntoDocument} from 'react-dom/test-utils'; + +renderIntoDocument(<Component />); +``` + +After: + +```js +import {render} from '@testing-library/react'; + +render(<Component />); +``` + +### ReactDOMTestUtils.Simulate {/*reactdomtestutilssimulate*/} + +`Simulate` can be replaced with `fireEvent` from `@testing-library/react`. + +Before: + +```js +import {Simulate} from 'react-dom/test-utils'; + +const element = document.querySelector('button'); +Simulate.click(element); +``` + +After: + +```js +import {fireEvent} from '@testing-library/react'; + +const element = document.querySelector('button'); +fireEvent.click(element); +``` + +Be aware that `fireEvent` dispatches an actual event on the element and doesn't just synthetically call the event handler. + +### List of all removed APIs {/*list-of-all-removed-apis-list-of-all-removed-apis*/} + +- `mockComponent()` +- `isElement()` +- `isElementOfType()` +- `isDOMComponent()` +- `isCompositeComponent()` +- `isCompositeComponentWithType()` +- `findAllInRenderedTree()` +- `scryRenderedDOMComponentsWithClass()` +- `findRenderedDOMComponentWithClass()` +- `scryRenderedDOMComponentsWithTag()` +- `findRenderedDOMComponentWithTag()` +- `scryRenderedComponentsWithType()` +- `findRenderedComponentWithType()` +- `renderIntoDocument` +- `Simulate` From 9b4de7ceb504619b78d6043d0f90a5e85c22544c Mon Sep 17 00:00:00 2001 From: Ricky <rickhanlonii@fb.com> Date: Thu, 28 Mar 2024 12:18:22 -0400 Subject: [PATCH 225/382] Add Jack to team page (#6721) --- public/images/team/jack-pope.jpg | Bin 0 -> 602432 bytes src/content/community/acknowledgements.md | 1 + src/content/community/team.md | 8 ++++---- 3 files changed, 5 insertions(+), 4 deletions(-) create mode 100644 public/images/team/jack-pope.jpg diff --git a/public/images/team/jack-pope.jpg b/public/images/team/jack-pope.jpg new file mode 100644 index 0000000000000000000000000000000000000000..601e5840ec3b7da4c1857d319aca6083f8e2a14a GIT binary patch literal 602432 zcmbrmbyyos8~?j?rNyndyGzmF#S^4BB)F4c#gpKk1d3ZiO9d%`I<!roLQ6{t)Sd?^ zT6+pbYfo*@?E9YgT)%(Lb^bWni_dO0yED79GxvAyduD<Eh8G}iM>_{QXvYo+vIh$U zFP$=Vu(rlx+|hOp&bI&g;gni1fe^PFf}rHkge3P9R#HB`ep34updDcO&nGxEnP7>* zI3r*FxBl-h|KrzJ|2_7(I+E6b3#y!qxNT39;0q+t<+8E=9rgdR-X9j8914DW1O5U+ z2}vmsw8H{yW71Lx$TkgZ^IPgz>45DH2ug7djS3EfpwtbpUoAM8kO4ub#K86uaE#Xf zjse@+|J#m_OGVO0KFA#%4o^7g0oE4aPYkkz2w;hW!XYWh8;XX){<CEb;lVyUlmzyA zKv7UI*ouY{ph)l?1Ge!{1o#fl`hQ7V?>}iHsSu!y|C}2MQb_@4|DX9efD}U^4M+{_ z*MYPkZO8yAdvGrJ{6A%C9B*kQh3wh23n4fblnwYJgTDn(9%7-XNvFUz^4STVG5r7a z9o+gF1SwD<h!3nK&O(sSDg^CM0_PuvpuId06q@;;)c$V}f|G*(vx(%tGa>?lwz?pQ z%L|-80YL}3|Ns8Z!vnJXKR)0l{*TX*ZRCqYI70Qm5Slq4biRc!KpkN$9eJ`@+z89^ z5H@~B*cpNF<}AWTT}bInNh18%1%Z2k;T<oJf)aorZar=SxcOn}C_o$SU{IM}S%AEb zkTKkV7FYv7o&;ZT*K0ZXfG;Yp0uD8Uv$^`awE)izW&vJ!tN_TGMz%LsR=`<>FuX@Z z@*R?k)LAYzpu5y12$EdVUH}ZYvH|z@!CemURB#U<Um`eCoJ|Hfif2*-0WI6efV`JF zKz03edmM0K%p36YY&qC(@M#8|bp(bF#%a!hQ$Z!#_Y;D&9!Nw2;<Y{k?zA$4Ak7l@ zH-HC1c_B!nG6`IfhDaW0JL=4;c|f;zaOG-$`uqWJu!{k!IQsyb=2ZcgHX^_=UtpN~ z4(b)i<X=k*Bri*4QILYgTaA~16_$#C((V)pLUo0P0IDUALXi2T{Aoa)(-*;$yM5Lg z5PkU?1evbfJp$M}3F?w**WxVT=WS7Nq$vyw9YKTpJiG@3&V(SheE!3LE~?FdyHOgT z`ggj80-{2|@8~DV;8--e01H8`6E*FC?j3+Gudc=d2H)ob6nMS}xc?0(2N&-zwaAe$ zERMyFK#)K&t^vs<cxvAk;3b7GfCN)dKv^^qf^Z|j48WjdX$Zou6oA~Zi8Ua#pwH)k zMGZ>52HH*F_Xp8{9WM(2>)wd~u6+Yni*0~m**-iAJg0g>3}`DMiGxU9N&BSCAt>?r z@if3HXHfo$me@xSL|9II4VaY=N}F)720R7)>2u&p@PgN7ASj`6L>bWb6%Ek%Jt%>M zwtoe|k?An30+Fsmko<nK9Rvwy=7O3EL3x1!Ah$ei-IEZM`^^F5mD?W(EMIOA0kren z9eJX_h%}z=1XS(-B}uw+?KYtC2o8dX|NI3SCGpJ%8L-Fe$8K=EFAQtBQ9<2Rlcj;{ zkZG+#nypxMACgyfnHmAm#}*u4E$U|oK~<CSHvzNBAjc|+YEWZoH_n0<L9@RG&ZfQ` zkpe9FOBk^91GpF3{vUX7t||;0oS~nCAl-uukiM!HV+w+Vh-W~G5OiiyrW^1Y>H;9q z3kPT#^BjWOH;DXzO|&{dlQT6C#CUNPSO!MagHwQ#udV>feb52y`2lL?nPnI@-Db8z zkP(OZ3*_b92hx@Mryt}6L01fTK|Q&0<T$8BmtVW}0=7rG0|sXK03M-4Ls0(>#@~QG zmnR{pZ~J}%V9(1>fS2EcRQt{T1?}!i1`J!<u)#H1WV6AY8?Ou%ffh&@29}q*>7Ejj z*S!c$M?hnz4Zz)@au9TPBwYxQSPp9SU5&O|5H$R%A3UkyQ}>PlYP{e8YP|!`VfgyL z+~BNtFznF5xe7ri6ed85RyGsm5OlnM65P3*%`;G+An5s$^ku*Sn+3p<AY(vuiXR|X z$zKrk?0$<EU=kBNmuDiwpw3TTcn(_AWb4~Vut(?{NaKY93}Yk~_(1!4y#PwVp<v+^ zX#b9joxtK`Fa3k$@`k=U7%<ZWl*1brAMiBa2onS#XnD2}-1l-rBe;fT=SznmXz5?} zQ$YGNNeEi}vHT2d2Ydy!^o>3Yd)?gt`FUR56bCJQbQ6@719b}xtV8iONKx{`mwiZH zU(RcS8v7;N4W#_VIo1e}KNqx-&oAo0GyF{H0!8uJg2f9#+p7~`d%J2`0q9o#=WMW_ z8-@cv!Z1*eJqUdg5xRXxX!iu6_IZSeLWqHD2IXsoFnkRmQ3YYmafBCtBD}qXaN<Av zmwq7IU*ZtL@R5AT4rss~@Vw=ZxPYr4;Q9k<z<#bVVCS5;dO>NP=4uAlvCKt*pg3bL za5q`?Tx6hP-?_3Ns40Le9jMqnF7PY|G`Mnsihbc~1u7QG1xo+pha(9{KHU7=p!OgA z^S?#n2ePGMgwTwJ(0L1CfG@(>dkC{M5tg+cg^&JeI*hP03*pT*?!(-N9u0D<bE{3M zamR7Te!RlN$HN1|yf{g4Z+rogZ9EZtZjubi2|jB{y2b*Zs$`?NA>RSXN|!6VbCMZ> zmb|@^*tqAs*^-vo!MqNV(&Zm`MI?7LNAavkEOjmN+?5y^^ycZ5U_F)wd^ugo^H@@J z^$@S0<PR7Y=+*=+MW|deh4;1KQ_UKwdchveQq6fml4d$8RM1Wni{2@?L(?LtTi}|e zXo8nOsK#2(FM%T(tjY%dL5<2*75+#K|DHa6VGY&WntU@F0#APP-PBN?jpDndk@0Df zUt6;lhDC-^^T2e;qeA(GL_VN~q#Q)<qnKJsBBxPx7ThA9s8sZKkpn0f?2Paglmz~o zu&4P4Ql8Mdc`wycsKlJmwjm^8uH9QDc*AU)B`=6Idp^EXP{!=d+$q6>=9cSQg7K(E z7?y}fzl0!Zezd=UyjVYGw?wNL6}_REDTYJ8K>ZMtMfYJ`k4>QqaQVjy&=>;am>gPw zd|vdH>kC@FsIx1Tkt{OhdZN!nB;4f>ds`TG`HQnE-0$*nAw{^<)noIQ@ErOr(3gDd z6VRKp#d-<yNWH;{ifc=X;>^`=O03~zP&^Vhu)on;5{cLe98E$B+nflA-^T{!x`^Yj z$Evc#wt}9uQ^j(E3j0gN_5>LWCmd@GIy_l%%q~cJN&6UoP~-N~V>nze3@g3C-v!pV z8}A{wtPo8&EXJ0`6RK5iN}nL4nb}M85j<R%q+SseagbCQew*+@$`F4&H%am(KDp|> zWCC90jFH6egqh265=9B6cMB!N6M~+Ni{DE~U#=6cPJqAIi_a23`_srG4S?2XM8XI$ z)J#b~#qwnv$R8ABWs}L{#znF=<Q^9R*~8?#pcgVv$QXjSOa@snS6D`d^rC83noX)W zlO%nTWPW*B>Me2go}N?|@$T~;DP`iqn>xwQq?E5AQntDEFsyf++7Cen@2D=qPC6*+ zM=^r(PTGnrRz9Oj(SR=RUbWAWBri#u58Nj=PwPvVm8++vlda|KX+~9nva8h3XUt`b zsTVJA%1Tka@8!r0Qq^B5$V5>wZ}nwR)b(%tGWpe7Fl@|A2R$CsOLPa}mE*qjX|W`& z-HeAaVTz&cByAf-RD1A=J&IiIrhZg~=k46_M--|VGsG<g2L^+Nm;b>CY;TuuVDMjV zme-|^+>4Z(qPM)TkgK4x-zLiWGs3@x%bh=S6NW8zG8w?;7cp%`a?A^vkHsns;Jyy& zYswn^e<?p#KH7iFDpP5>ztKBTsiz+w)2oE<H_wq*Qt97I<yD;T8)48DseR=Bw~AVQ z`gcDoJnK97VuwOWpUPWLg^<39Z=MQ0SL9*XZWp@|xR3<4wdhWpTkJbx{bp~63Z-?l zD~G!jXH?jC1x-(@G!K9EIH^Jy9*?}NVm!>qoKpTa99wxpxo235Zmb+IwAS}RdEZdS zT@|GpLn+T=l+uPO-^?o646A+pM~QeZ35K1eIM+bW>=Y+Vw9si6=Y`n3&AkbV)H9=h zCR-G)s)awR)%#n`>e(q*e>LG}?qU3@@1H583#l?EKbK3ZCQaUIEmzf?%w`s;%uXI3 zR#(ZGn0}V4qB-&I4Zq6n$<(ikDyGjHVAwr)0a#1V3-b?-iMz!uXo$-?F&Cz#&RhOo zd@28z7JFGqT}l1tvZ1}D`m<#LEJvNbw3@Q49<jtKxu~wNRMJdWTUc`GJ*ZZ@bZF?P zn(gBK$r06sMV+O8RR<O?d^xK6ak&bHeO@9e=D&NR`dFLK!Hq5PTK6lPr==Ples5*V z`<NWxzNz|Dv;K30MYd-0XIsC^nhu{O6E!tOwzmowG?urA8uK(RZWs3?Yea3^v)*aQ zZSS7=ss4OxaA`!{VRLBvqPo|101RVaB03ek33SRHD+w&lE<d24QeWMbU|4>yttRLf ze$=i2J*qtIco_Da*LH;AczbPW7|vJMT7%*GZmk{|?mnRv2E#0SEg_&{e{0@{;bk7p z1fXKOHTn@16CZ@`10N#~s2H~d=mAI>i_?LMEs2|gKEA!!CU|C5Vz)q__l4ML2#OaL z18S9x6T?AJd9N4-f|_@V*+5X2ub2r?v72H*5l557fO1W}5(746#a$e<6L9TUxkErd zd4;=++Y6zj8bS?!gl3(9=UlkN|KV;4Ac?=_rp100pX1KYiWC2fJFRR%e1bc+$zA+0 zcW~!@@%!991BT+yxC2LbivQwHn@W=K;AVdOCTYpz2FeC}fDXfwFi)rCpZ_fyACN6` zZiFtL2m>x6jN5}SD-vPZQ-n?W2s;@_3Ij)__@sCry^^w(vYE1y>X177@vd~cGy{fZ z%(Qlb9`ZZQUfw^l5}I|=4hS_z5t?6@71ykDc_k~PSsN%OdqA@)jwth4vn1<_%(P}! zdAiJP&FE%Grb+W;SE)>fCTfsRCPvd@bW<ivGkQ86{Q7j|t1Lqsl$iVh)CREpXjBQm zisAtjMrJ`_0_Cr@puj@;qOK{NN1b$?Rwzcf1ZgM)qb%bY3VJB*90i3PsACm3<VR6E zT3qER=F8ph<lW5g-XhB@nBRF4BQIwDer8?X8s+;bM}gPk5wQHp=tT%pQ9!2(XsOzx z)#O}NtkFT*i7LuyFN<uIeP}22Q{~ra6RfRrH(Dv-rE((rC^1=C%XNz)s`QWRMC(1J zR@bge@k*|)xpxGWxLwnqaw%@Ro`2n}v=^<suC6qKc>%*}VOXG*8iCkoL1E3OSYi1Z z^<-?Jwu-tJHpAkKx;8cnW39dm>w*2D_7rQ3zpYk@Jw_@}vkUr0byfWy#GwnSb_AX2 zomO=UN@g{y?hJ|??@*ZvYMeJ$S-`4oyi%<V20pUZJ^W(`(s_>$7W|+`#UEC<sa1&| z)Z)={!uMMo&{Dv+VI(xa;|p=Bn#1@gf{rE`Z%fwEJdPKqscC#j*kp)nR3)(c_G;)Q zl(Rpmze~uOIH-O-;mX1_^&5E4El-W`#7G#{&ms*$kl{6wztCBuLed_^yZQp8LCxp7 zM@V1I={g@tOK6M^i}VotRHuY=k)WdEK*}c*bas<`X&u^ENh*v-+JVF`eXq555LrX- zwJsBTCl$3w#P^HuwX#Sx+f;42Tn^BeOzI7wFL$V3!Y<|)sF2ci<NefYnpgGD(X36K z^z&&NF5~)sG`^r|eFf?^o}srweM&acyFfid>(}$6Cbe_x?W3CZ`|4hz?jEM;22wUB zKkKScRhLF}<*AFGvveO;8^JKDpAI|?%P({{;Z^I6wqME(C<l6vX8&<P#_8kl48Jjm zPNjwujIcllLpsAIfo2%NkR+8GD$zgFJPhXO_ZgoJsB}tynt>tx<nWUIM>^_RjQ%xx z`m&EclcDp4$H4In=qcF>GCP3(;>mOtAv$>X{;LvcbC21s`M}J*k7`(LY~T0HKEhb8 zZ@{0&=-<A^xUWWc`%;PFMumM&)KVj>zGIA2$G<Y)^&dZehIwgt=C}{D=2^vY8Ro;~ z>f<7Pq%WA`J(q!(<Va_OzO(Z)w!P>s*J;)_RTal5cD?3DYtx}DgK1OJu(FMnssAvy zkF=@Q&{oW-2|UEfzHjny=p4n}q--dSUTcCHvhJfBuMZs@CK_L0e|+X=oH)d{oMs#{ zbnlC?@w<D%z)L#G0eu+vEKZbYp=TjSSoI^unA4{v?|_{sHSjh+JK16W#yoGb!ZX3# ze-a<XW3Dmjl6lkY=cIha1GC|Y?`?5rnG++-Q8Ud6>d?CB)P%+4E7Oh%zvV-w)QRt( zpPK%94y?PE*@6J@T>R%B9TWG%&S$Fid7%~#YGtBtE=(C5vMpa+F>AKCxa5SMvB+Q2 z40~wdyL2So%0hYZL)k~v_Tuf<{iv&p6}=;<m_@H4bClSk*d)pP>O#X3+MK>9`uT|Y z_hsNE1%z+Rf*3~<P_b5A+J>EaZb1IVxYmZ3>*i_wFV3S|4W>`6{@zY;)U~>{?T4GT zs@OJ84Ydl|7ASdSrLwise9Cfj>-MEi%PU(Y>^#e;EzG2lrN9>NQkq5irs5WCF}gJd z;+1lUiiOJp6|;*3_oh)93bakTFE9ltm!l^c`09mr=U~|8oGqx40V%fN%95gOmSDK( zfejOen>1}s!En#NHij_F_OSi}!;?PNmw<|iS%<*z=Ps)PM8(uLcT@ojV*os*GW8jt zVrJ@5AU1|p+XnvmPPGycL&{Rq0C)Rb^(~0398(3+xST*$;0;$WRQ-U8y;TJ<n{EwN zB?uZMs%k>eV>Q(v2%64U9R(`3t@a<!PyH-6@P*X^d2Vnot6_PrOA^&WdHOXP)S`LL znf;>{&r|K<r54AN88E39$%Bn^14mkCjjOryD3v>?+3_4{VyhW(f9=v$)8JklIIm{P zJw2MJmdO2aYF=%DM`Q)3A;fbPlu(yc7>LKsOI7pkR(~YbDCLS!QyihWAwrjAgaN|{ z<3!XSN;PC<sgFpVE_<(jPpY!XN1ZKI)cIKbmK1ToLVZH2Y?MpmkkqxQ9F1IQu8*+h zU76j$TB>QOff72Pb%0M>^N;2q=~{&UUCdu2YnN?=fl3JD@CdVp5tbiA*pz{=b5;}9 zga>T2M6^Uk_h|WR`AtP>O=<o8aaKo32Rv;Z9gD-jCZ9#!=RcwI5!EcqtMeOGt!;!5 z^$?+J7s9~X2;)8?%vRR<iK;5k(Ah>&nr3z0p^Cd)bzY)K17kYVsH)Mkx_eO1rp0vQ zE&Ny7^*Sv<P0_oJ{suw%9q2XzD+3#Jh+Kj}KiW*^vB3p2%Hp#D9c_VT7}TOIf@%zk z(B|<s4U*9&*?$cD(E1fY24-lrW{!a<TCy9h{{_uGIHUg-E%o@0{!etojF|x%1Feo2 zX1alXli@w=I}lUag)J78Gup;l$afmEuzU5qj2*F(mRrWhv0|8ZV;QV4mTtTk%abr+ z^cH)7C}+e9`dwLNR2{U|dekU5Xr`yhNG)jOwwBT1pci8zM!Z<b*%l)&?2|Pa<K*BG z7&bA*gV>YlZG5`mhS>^URpB9OcfuQew%JX*k`>OZ9WU)>ZdQO7#zmNg;JNUFX2uDB zNNQ$>5<XEbo4!i;yX}N&O9K1SThqXVb9X9CbrbrYl1w!c;JLk~k@$i2VzabF;8&tV zNFYjK@qiRBbiqoIB(C_>nnWBoJZP~+a<-DNm?BxZxmnyI>Emu$)RGhkb{5ejKGItY zL*g%L73vRhnSKJrCO%;9L}d}rv+klCiI>J7pv;JW<~>jeq<b6BERypCKzz)F3bfKz zh#D^JW=E&;Dc!MGrVJf7wYftLvixZMmYRwgwH~2{<EYjQss|z1I+<!lHnFy#%F;xv z_fYrJ|FybLdCQ!#B2tFg16B@{2b>pH22_ECI4c}=aq}N*-)dJFJ~2kW4&q1`=z+p( zPR{hh%B{}7+pZh=I7rj6mOt!9=~vK=cAfMy*q3$%bP8dYoj3gyS;0<@?nkq<{YW=q zc-nT;h5B%|p>3N(QMRgW>k}=u0(8?wD_cXx!L2)X(r18;aV}*7o8gLQdWqy>6qtKe zV%@&>GL5k=ub6>WA`Yd@e_i?<qM09piXCj2&+!TlqRatOyZr}d3vHJ@lbOYEw<j>Y z`l{_!nHobQCpMW1lOiWxFk=_TPi*w*Z`;{Fz6`9ITMqjy1bKwB-9&etRAui}Rrls$ zb(?s*KVkb=**Y_Z^qo#Q9~jaLXmENrBpH9-i8Zu`*y&Wk{y@b#on(*Dx1B`UjJ^cN zm+aJ`7mf|=@JR>9G<Mq(mt)yb;5OOG_3kjxmrEQL(3ctxUbM(Blq0RW8sI<v*wn>m z4=2^C(v3CY=D6(IIB~)6fNT0hb?iG=w~6!|7gxCnKT5RA+Qe}>+U3dwZ{JauWX^}7 zeiu2;#Ytu7pPY%sKQ8+wvbJMfdY|0{wp?;S7+BoB^JB*(v472z)%t^H=2gs21QyIs zSZ#QlEp#~+xv4G&dX2jsShSC>#4IgpWYu7<E%H>VU<wx2+fpzt3!}^;%+Uq<5FS0c zkThw44xj(M$UuiLlyC1suPg!YC;0USu=k<2fQmJT*KC|n&x>qd-!gX#J-Jb1ofRmt z8RZ!5X}v}8u=nWLijH7<khd@yc^=+dy5&p{<t^UUMEC8@)!ujR*Ea7B$+{<R)=lcU zt8a!a$-14}DA{sx-@65rC(0U8u^17cVm7hgfQ>Fs-~z3vGx{k|u87cH(EoVk4|?tH z-@ICZ=9PJ6!EjovmnRID;k<wyY+;}L48y(GPl9q83Okt&RBZaB9#An^&sCse4xT#^ z6*E=Z33`2I3m~f4VO9@3nH4h~V55Uf!PBw`Gd%%frV=K=I$+P6q=IpSLngr6AqE;x zK~QCfaT^4+yf==ApdMvoTL`*EFt&oAC%ncf5Hu5Hyahq4cTHmuU(A%r!-OCcF+MJy zauZ|TRmo2#mb|l?yG`tP@0t6UoZ#(nd2C|COAd52G2!)&<Ctjhs%LwcNbv41e`a!+ zXQtW3_+OrDUH6PX@Kg^TH~zvydc4y_mnUyJ-eiF1;>xO-F|RQUo8?G>D6lC;+MPGS z^q_RI6dR#t3_^1PLKiy1fH$UxrSWknQ!eR<tWH4Raxt*qv8mQ{x3p2$5ffNid7#`> zP+D~~z%)SGWop87MY?sx!#q`{5{At?wc<dub(dBiAHnRJR+aQGvnyIvS`G+N0tj6t z5e7OTjH^JHHI1-b3t`iL_H?d+ZR&uZ*@V`)QAu-gt);1A^UK=)A7KkS9S|+HIBszq zJOM!qLH-1bT^74!Jy3s8f3))u{&#VGiL3+X5ytOBm~DlyybNK}48krQ3kU@dR9Q$` zNQ|Daz+2#_S}hM+9$eXBb>0f(Vx@%<0?{54`fmY0s{!;SxdyAZ=qla)Rv*z+OHG96 z5rjc!5XN^Q%pOBnu>)bVHNq|`AZ_5C^=|a#(PnFB%)zNI*0Y$KD}lE0?o?1)tFfRa z+nQmo2<qAnW7FkF?DVnrdSts;te#aDLd+IIY`t9!RxcsVE&{8UL$<?V^(xNWoy6)k zzq31m)#^3|XQ>Ug+nHgV9|zkdW4oq@?Y3~ytIGDtA)t1j@WZcyn35~LN$`gQAKpu0 z)?o}UtpD24Ct=mb-cc>#o4bmmbiy}WpCezwSA3r1j)c#|Vu#g)&B}g<=LxGVUmdO| zyzOy!s7rW#YuJI3@bgKb!!>;1%(A0ALG_cRQ*BZ#Xmj}_(1UgAC6x#<ojXY=#aWkj z;&(%7*Hgqhwxce?#J3(hUHXVi!F4Xp#5uw#mt5lCq;i)~;soWsizV@4n~2LX;;l=0 z&Ktzu+rORXh@)d8&fiGtuVq~P$a~k4T?g_&F0Om19MFICrDh6yVREUON{`%nDT~Kl z+=nSGC$!wuC|e%hZbFpR5JAiz%9}(n%mQVa?1s5R;ZQGNYAM5X0ZcTdueTO+oI+>G zVZ<oco_@!uQHAC_F!|K4>y2)l>J(u4U(rFl#KVD(7vA)&rOPUJoLp;rW)$Xa&{k+q z^6aMX^YHidrXLEC@HC-Ai2<I++CGzqJ-)QPrCE49X?sqe^k{BlGw~jgZJlfp51Y1u z@n0T}biw%mk2?C-je5`VGb9*3xy}R@#yg!EE>h?-&lFKf@(b)8F^=({=uLGP@L@3z zc(i#ZGL3@Ic%NjdC#retF(t_3-ba{+X=Ja(-tP=^ufE>JzFl6Ky^q-AUhcgd&WIO= zDYu~NMPvTn^z-h$oDai(_H5u+`p>b0M0W=Uuz6K=gTAp?CRiMm72~)ND9AqOvFsPi zPQf+%xw0b&1%B#mFLILKKDHGt)OVV##_;m(Wb^hp_$INw44L@avbHCje2=q@7jF2* z5AEBW@r%C;e1f2VI1j+sZ3!nsv?N4;qoKMHIyydW>Jd&FFL2%+e4C@<i3;@O{Ea;r zXv7)C;{$~`H%NB^HaTahzXC=$<qXY$Iu4=FFCd8HK9mz6#*vyR3E0E&T=*TJGI4l| zFYv%KcVNr^S`Y*N3u*q@F{wzw`4Y9uQ8V*;W{xpkbFW=ABd*RDdEN|;UT_c6z{xHU z;x}+R7lMe_u(JyeR1fUs1ugn3Z2kg&pDos9{>#u=EbsjDiO)ed=HnOs4SKY&cMHPi zE**v8XvvLfpf3+LP9JNGi{5Zl&rdL0|7z|*kXdhY1(R+z>`w+nlxzwGiH3@8=Ev;| z`LjvL2@Uys)1Q(S(z|Iz_YWa$%J+$dxNPnjx*Ni`u{`M!{9@zI;`3mq^{vhJ;Fp^h zU>Glos2G6_RLn9d9;jGJ3I?dyg;VyxvptX`2zmyIaUfP3R1=W{uIWbv7KXDWBFtd8 zav}o!N;eGu0K<Ke;a6dJ7$2Su!_R!fEr5zChXM84ejBz2tYD|0-6$~jRRCs5c(^zK z74vZhUYM4Ob1AT)S<WCni^*^TzB=x>lPXZLCyt=rlT01MA&Ao82qKWJ?;U`0T+(o; zhM?Oi4*3u?#_Mnuf@ZxOfueotclv{<nA2n4J_vFY;xFY@b&ThikUHU*z`tKJ!7+~S zA9Idl1m8VZXU71(y1*BXE_`9}I7eeXt?U&?S>B%&iH-+(N18VrHh52W$2$DY8#=h; zu*_@y_>!YCugQ#%;|Q<U>S<>R?>y-BB})eY3&SmA$UEm)EJKm@K&Uz4SSnLte%p~E zQ{=MfSR<1isO;DzlMq+x*ec_n^&QZ*JQ3_sYg%`#mEq}1aHL3o8(4R|D7`WI!11Td zzG)Muvoh!vw#zBm<1p+Jr8NR#7X)n)z5%EA+D<YAr{~%pT9*)_un1j!5e8-=jJtv` z>nFl;XF&I+i-0a&N1a}1+YRJ8ebx3Fb#lgNS5Dn@0aK4wbX{k3?SLKYu>idWS9uE} ze~Zggi(=V!mva`C+RF$nP9Q`dMHqAhVY~*y>`;W|=Mgr2M%ZQVa^8Y6aL(ni#idan zS0#(zQ$4P;mh~$~Ft@F>K|Qj@fOs%Q4kIU!fjNRXA~%i!6Pk2A(0|Z>EYlGFcL|z6 z*75&g_9tY!LIPoP0K%?w$XNs5F|ruhQ933UlRNds&A`oIMcYHjLkRS<baB!k4ikr6 z5wv%2#16}^xZlIJ>0Ni9#a3EvAaqkkh<)Jx8e5srf-t8UVZ~L1%?k*-McwDH)Iprb z4(#>OA0B}?$!T>@Ufjw`*va+K{UD~EN!SlY6Mo|#2<<x=g{LTdJvo8*H`wDPi#N2% z_A<h2xK|;>ts=zNASB`uR>mQ0$wk=R<z;}^9DMKPhWB}#<<*WKneO(sBebu~`En<% z!LYXw3A7LISEO#C0iO&~oZ`CgF_MO%xo;QohwX;n9^$O0hVKvJe2AIv7venOn(rs# z0*T=JhPXiS^ZlDR-x}#VN}TJd^1VrXee1dJJ<{$cQGPo~sWYejYRLhsHv=5<#(_=V zPhEl_zpvDK;XwaKR1c-U0vJ@T<Dr336wV3PpnVh&!VB!CTnqIHq*JaYjs#LESI9Ym zIh1~CG&tr`TV^1d(s`*XP><4adpl5v@^Gv)FobG2+Y|VXCijVj&8-H}nm{}HbI|Aa zqZbQ*!Ftjym6<rdwy#F1!6)08_H`jzZ7JTS!G>);VcfxrZJkN9VBWTKxxTm`ZFJg6 z+<aRjJq<V1M(e$fYilcEap9`lI-Xv{U8Ns={UBJ0{%h@i$i*{NFpPW31eQMpVrGhz zg^DnBRI<WO^u94p56Aa5Iy{LW_ImoXhjsQ2gaw6F^j=H)8J611%zYc?*L%JS3Nz_# zVVH#p^;R)!LpOU1*gHaJdmF~jg>Lo!I|sVv%=z{1@avcHFdSCT9t4(uj!h8V8_CaB zQZ<eWWBqLs6McnM;<z5O&NBDij-s#z!=6P>vR)?rioD4h%M*%hW(`*bL}s$CGFXu( zS?Bu<B2`#5Y*r)}tBsQwDahKKFO7_1k8T7<b=(EEGm6Opy^ENAoFdV(Sa%Le^>Z9+ ze9hD^L36yt`6#}6+{NE2?)La}I3{)<M>?rBW{o45`y*z8bD%0M=F<4j_5(4+;~)FF zV*<wi8uE>i8}H}*iIE)NSP+iEaxQPo#3oJxn;b8;0NP7J{`~YYS^Vt$X|-#KxOpox zbkf?~nu}pd@?1+mW1{)Ie)xw3)cn=N<plZpi@CK4`{tXfeB<BDm$oa#-=06!55-r_ z2M@iD51x0NV8wIIZ7qbw8_w5k@+62Zo`vDWj~l={Nj?cwtUl%LhO>IXDWCOU<|osk z_4BSN8E4nsf)1RLUEhl6N*vngN<5fI*f>YtN_5+(tKv@7*eGaMP29IZ=(i)h-tZm9 z61q1mCQlL4Hslw}@tf<hn>z^fO)y@WmWHTUI#41pvrG^J)F{Y41XQde=P|H8`$#2V z<ZK}eL>?p8(m*URu`^W*hRN}%JTP3fCk3>(_VSd6FnoDu3h>nK;#1;)iak#;1S+PP z3`%OdFd3)|XfL&UwZN#CJOmvg1$+i0WW@p9U|ftH;0#pE*MA<^xLW^cpkfq1;9C*g z{D?rsR{eOvjHf7H;9s?k`+7l8ubeNiAa_!HK0(k^0bg+ldhP3b6N1+I{I4M@=J$#3 z9|-c*5mewE@_iv-C6(kmE})`0==(t607}pICjY$aUElNky+OXdRQ|O1P2W_0)0`q- zZ$7wEz}J9pxTV#XpRb@t!sj!e<E<v2-+Yo!B7GhCxMrUF{^Aq=<Pva@uMLL%vt)qk z`u>(R=R^DI$xciE^mUMZsCB{@Eqe#0;Oi~RbhY;ll5GjB@(q(MjNA5&l#R}g@Qsjl zEMN2ukyUOE@%5M8)AiQZU1o7G)|VhN@z~mTTxNdymLFACeAObLOBR$^fRnZ<==Di! zKjGi+7p0>hv+Ad%W23E#5Oo`&>luWB*AT|N0kqCm@YB^nm1p?r>lil8_!;V`cG>$G z=|~K){epEAM=SkCb-bs3``75)U&#!-uD1(Vm;j51U``Fq;y3@ZfL)eyvj6&DvP9|l z`}bH{Se!+O_C^?Fk1!sKFuMX_`D295d<eV3z*&|9EdReOaijPEOUp}B_XD}DtXCAV zde+mR2h@)t0Xt@i$rWe~{DjGuKOESDDc0={Y{ryXP9ntEAq0I(z=RzLa|97qSR!oB zLfADN*orA1<PLm*VUAu4(sVmK^)=|X+t7+xu#`tTuw!T(8q^>ioQ@z4CyEnQ5W?-p z?brK?{e%4jCUOJ15fJ`&Nf<-cIrkA({Ee^~M%ZnDgK*Gb22K&D`1mM}ila`O2m1y4 zt>8n`LqS^!IZjXq)-nYDTSzpd5dT6^FytbhX`mPK5MN_681fun;r<F?uslNieT2jY zgq2i;E$s-qAB4QbR}TIg@&kY4aZV_fpfp_{rkJ>Qr8~kj*&A5PI5MdFVb4i_2|Wr| zC3Pt63oj%k8is_wBH7tVMI0fidB#KtkW@m*2nin$lBy9>q7k;@5cVWQ2$EE9RYe$+ zyq@fcXeN!#K#_su!Idx3!TCBc9I-<E1woMo)LX)lQHQ9xO8-PPP;HJAqs6I5P9#T{ zQQn+fk7iMxg&m2$LwS~DjF5aa`WEFmH6r>Z<$0S`^cBkUOJ>oRC@*h&M&GCWc`^{g zPdznrDQ1`!vr3J-Q2i71d@s{MtBgsZpA-HOD^HJ5z7xAZmo+Mnt8IH@e<j|at=Bs^ zzPqg~yf;3tttL4?KC`VRcOjn8R!bwthql$wG4UtcPWPUOw{1IpCotZn?dI6+_zJq} zY<q$NL;6z;{^Ob3FdWBX0&5w6hIv|~D&Z8<U8NZB$2??QLNM!n;INd))m!AlP8{s@ zj69yG)SH$<N)+uql{cGsus5ZOMEKsD#5hS<?oD926UKUDS$M*u-jb(dgs;6@uR9X6 znTu;~$)cBmmqa+s1~Z5f53-9y_b2{lTdP_p?`8dKl99sA>UG+Y%EgNEJCwT0QjcP$ z^s-V@B~n^hN%@qNGFC#hbxJZTs$Dh3mle`ylw!v6V~3?^u;Rxbq&Tx4&7DrU#qL~} zKc#sW*yQ9+&McU%euvW_TABKY<Ei@d)COn2X;`}C_@J{yhV?k!-!s#7TrEa6J$Iaz z`Y4@$oSy$X?az2a_4Bm1<5lfbX`|yM{kzgS$B9GsY1!kUoYQHg<6ZMUX^WiX_3;e3 zNf3cgYh3{2GwBcJ-yD<5Se|cJyOE_h?`h_hoie}M#VY6a+_iuU#Pzwj*t6N)b8k+S zXHn(_3e>Ys&2ydB%L<s^btXK^Z0>viwJfo@m0^j@uXC>_8Z&$5s^>psuFRWkSY~}& zbcW%q?;9_{=#a`r&9T!&>;^`?h;(yfm$^@_%zD3TdS2-|Hi##GVVx)5G*@@M5j+@) z^=}2rq`m8(PA3vSt}mULB|ceyc^OB%us$;UotU?NeX@<{wSIOHlk?Zw&y7^#xsB^E zoO=vWu{_Xn#E$2;02Lz@9tJALC;~AW%$^c{pkni-6~Je6C@O^E^yPeY7%p(l2m4Qd z$@>PwXRqY_1;bYg@_;XPFE|ez`P@Da2UN^3544kQ)m%;Z7pTc&`+*k~cOSd~@H?&< z%)m&E1OAMrLL5*fivzJ8K*h+h`oISD#;}2korwW4MsjpC=)=(tMu$NVof`EUsMwz< zIs~z>QJD}l&K1=OL33Ww?hv%jjIBgeEJjcOXkAp0&;p-Bw2$CPsjz5QK{L(SXbZt( zsI+J`flahjG@k%F=t<O9fue+zs22kEM4>3Az~0I$QN{fCTJ53&`AIz!QTqI*w@*fy z@E;gcilXqX&DKYI@_kw3i9OFx0J%_QfDT9Rl?&s$6U8TQCDR_|E)Qv4iSm})LRCiv z$j!OljKax12-+JJB6lG^9<VTbIVwmFTM-J5F=+k}<sx^eJ0Z$ac7E_%RIu!W$Iqi4 z%Z|-BN1v73xjGTITW%JHW39D8e=Pc!P6NMRw4|=2Y+O{IZn*ZnsD9mW3yrADx?!%r zqOR!%2knR&&<%)JiDK(|WG6&D&^=N9AnLKMVY6z~Q(d{P<|vLX_n<)3Z(ZKechSkZ zCeuDKKDzBIFXD#vfWE|OT7uEYSOd!{fx|Im%PBdZ=s#9GI<KSGtVAsN5Tcm~gJ=lj zn-FHR5te^N*ldijt0;QIN_b!)M#@TOv?iv(Dr;&bHrM*_3Oatp2Izjg7Y4NbxE{>9 zz(|~u+hKXP*g-c%y~D8-H(e_fLQE?{tUJO4Q-nDVfO-}22%FC!>{^bcx#<sT#@=!B z8Rf+3x?P(-6ffc)z2bz=@wA8GgaKR`=v(^XiUo-YhjE1pj`1V70)13`Bd*xGJ-!B4 z;`RU`&ITcVAHtlk2rG9XY*9ei?Hyl>D;=zlAI9}PR!-0h7Mk|J3kEN)<Rm7Bf|^Y5 zC-{RJYC*6NQYR=8loU+~d;~s&Si&yCF58{>Klnc$DhPvP5dL=|K1SA+w-B~GMA-cf zc_HYQ5J8!s{J5UbKxmlmNj#O9x-yV_FZmuAc}9^zq&F#u%q8?9DTDN0Nj9mDG;CO& zbeVL<&O7N5iQ>sj8Y7j5+((!wgOGF&A*BXkYZ1a8TGBYF;ubUMGwJ%1W642e)fs^l z{am5d9j6lWK}$^ur-=b;d4u|1I5icb-c<UN>Ow6#PEW0;`kiP?eML3&Qb_%mst|@r z{XtboN=8V2i;zk~*cOKHl2__as^V?jDG93ElPjn4sE=l7X&Bm_RnLr5r=4N=)EHwo z1f@C9pNQ;CyG5^2=A`S>{f#=(FVW@fUuB52eetfyh;4fjzLb&QHkQ1JFi#U9tq&nR z1Yz&-jDohOcT_Xl+dhwlW&ET^&q`$uFoIX_WZyXho=ZkD6U<Y}<Y!(HIi1<f%uuP$ za%CDBw`6Vh{&e`0UD|usXDR1kZ*62~j$dz9>ggQUUSfV#jzcf0>SK;|FNs0QG3g~U zEpl{wb6N5^mc3`6y5tlwd1kkXs(rgZ#glhk26ITVec51CBu9wdE_x_uoE@g>N~~i` znUs)%S+h>UWLZ{=pCWmJ6(030*PCUUrjomt<yJ66{>8$aK1AMNVcP4+ODuGs2l*Mx zg>3*BKJJmbn>F%!DVN6XUNg!!xT^%iq;d|3T9ZRLmqe>`^*9M?yYj?2N~VN-uJL(i z&HOLpjsCF(W8;1?sKWel#dLPTwQ=9VD+L$Ey=(Rq)Q_J$(^ybA?%t0pAdI^XxfGzs zO*u{lapNU(j|yIMyw-jcIZuKpT)w~p@GJ^;&Tk$QFZeirS?yNg=6tjnws^<9go|s* zk+~NEH%br9QDSeDuFbh;;z}Ck+KbvteCICKOqbZsb(}3K(VC-Q4lNOyYaEU!{ykSc zQCxgy&U3!3gnNF+dVQ(YBJg#J_iX?xUb1VW_86^n*M_HhX_?H%A@hK8%=#TyVnxn6 zK1igpZCyUzp3=Ftlr32?ziwB2t3q}?vbLt;=z4HRMETcszbldDv+M46E6Q2x4wFyI z+t$q&<;xY;E^O?o;M)K*hs#G06|3L?71OB%Bk>xUR4_({YN3S!728<_A_Cai>MfvR z_BCK$BGIpE6^2U#X(=#VS5FIq;d7ld8yLR&mIg}yz7_2NP_diTw?M_Ls9>CO>osKv zrhz)P>rfDwbr=jmdsec|!QAd+*+9QEg0fg(j$&07&?$^{Cg>O9&SnBjL>S2g-VXUj z28c1z$Qhu=z)(yFQE%pzbXN#stEU4`cziY84T9#aGC(>T?O9|*#WE}fw?KQT5xLIy zD1A-HTS_Q>QOH7bBAp{7iK<P%A@~&?nBF9KA1jldCRmZMkd78~A=akL3Lc<XrhOK; z*SeH;Um)vJMp})4-kk$!_544^-lT2tPrdd@f6PC%_A)C_z!l`uE&BuXVWi~G^DCwC zDGbY^(kc~nwRfda6{Jz?fCtgiX;k^Op!Bo~`LX!-X~pvAa>CO{@|hJM(~{+#TT;@( z<wbj-w3BilZc)-s$vt`!m-dg`!<qN#Q*z%v#bo8kgSQ+q?R9cNF59{}{Fl;x>S@WY zrg`f1=)|Ul>M<;O(xUYm(NSpxJ!()yTAE&dd}SI*FFAWMtw;}7p^{dv=h$4GM$yyi z-knyZCoq_sc2AG{u}8YCp6>Mh3>&@bRaDldK6vt3B9=X%?eDTO7I4bYusSDqJH62A zk8WtXx3!RE144{2!k~8u<ChR-|3X-yn(kvQ*c_AYZ_U#+kdCuHG$@o_XDvC($q=^= znO4k{vR+#$&3<Z|0ouNpn=*KF!qJT&u$|fNc2T}Hlgn*ZFD2u)+b^r3j9YHM+;$_x zo=2FFk1(eYVMRN_<_Uz|hcfQC{T}qlSaX*eUCSi6XHUyzC3tAA1QB^p9)#f>58N|Q z$L`}+1Y5J6aj-&u)=V(JJ~gW}Sixq0R$8#CyJ}W?uqv(rA>I`sQ3qkAA;K09gx%z< zj9|6F+gY8#?vEX^6@v$+<8q`z@>VFM>tVo-5r+x2V9XXzpbFU#l?i2v5jk%NMFyQY zJ%mDA_Z$kL$fE*b@EwE%8-%1i2rJhRwtPm|b2NuWD7j^lbDPlj_y*A+QDXW5Nh$Hi z%H!NiDOMob5lM~&Ex?8BBD734AR8!IlO@TLhPTLv$%pOg$UDe8Jb#n^kp6@UAWV!v z_}_){5LvfgLD+MX43VK*&&kSU<tN7ER&wi%Ms87V(JF8LmwYe}EAIr&8uVbXG;v{K zUJCVJW#POs>Wky|^V+GGPfX<9pf-4g<&99w!<zFRQp=LABg~aVNWF)!tqS2KV%{Ta z`R#(dPt>bVp5^<}lxHp$9IraI8eUX!x&!oiLl_FcT6WOCi5xCiq(4z!D3ql)8{I7o zrzhC|DLg|z;mt05MpuiFEPP9sP0>Y|7ln|vjF3)6*o!NCN0+;UF4{|X9Lp_=qTiX- zD>i0aUcFZue-^~Xi*EECfuLdu=9EZXF^PFWg;D&GNie=za*}E6C{Z%VJm7n<l&5zw zvZmCzcQo~Bsb}v<{xrgB1%!-C2${Ijlf4gFdZqZ@_fJohjxarEpOqE&*?v;5sJZ+c zSUx-UzYtV9#=a}cUFOQJQ1vc*%|@FvmE+mGPCDhkSW|uu6<MqcQ9mmdS$S!GmAtIP z!jwuLR?=xoB{wUneYNrkE2%H1@*pdjZBQw~Dj!#=3}CIkrcidWCqLb!{(aX0hAYG; zAYhZ(oDtFb%0Nz~+7SvD$HkOHxyL!=Y)wraf8t+AJ2qYwgQazkhorx);u*IpmZN<f zcdpr{Esr~&HKI+AyYvsxCdXZdB58NVEja45598Fi#40=|Xf5{izR4~araCT|0Q<UY z0Xil^8<-za8>%Xq&o_&%#?G6$1f15N`yMb_1I^ut9k01DN6O5ub)NGqS*m$5mr`d` zGc=dnkyCSJF6lB{(=nGg++R~ON0=z9!OfY@V`?7EeOwo-6JGcV!`1T};AT#DZqyws zugTc(RWGXz-ViXy)p@Uvxfa&DuIC5IHkhuP#d|dhul>o^YW!<$v~0LxVSRUfZo{qh z{pZ*X-Rpa<x;Hee@4P3}P_Xvr+0KUewI7RI4bWQ3dSB!I4P`J>9<&(<Y7he|rrH1^ zSsKYrJAsPTH-kA$=sztgFpQmQ1#=qkC)xmsesn1?A|}&%2ZkH{S}kDsLTD@S&aO+f z0_}Ui)w%<QUr4ol04nCz0&MYCOY;jDjG>hn9We#7=Kp}#tli5&Z$>n}ybsLtiz>&1 z84TOyAU23zD!T(zEV&H$R)o8y;284jQZQ$OHdX?ZiBVsY1KvTjF5v<y_IELu^}@MS z0&497f5{67+RQ00K~$`SAPlswh;!^5zj+B&*g>+mBv)8h^K?m^Fh8oI#7*cEI=w_o z=nmGe<bY5SUaR=EkUjBdagWd*%0O|tAge8|*ita1m$&$kpz0lFF_*yV)7s)Vfsr|$ z5?_IP>s95dg22Bl8IuRCviOAJ9{$QAB_%J}zlv5A1GKe@{!w(W&?y3MoS;*S78H4c zW{aj2J|%b;jVs*CnJ*evsI5#W>Q@MDfs0xdG<vFwO69-ZmM`j(pBy_-EHD3Lwx~o! z{>$2d@}mmC-!Jvi#eiIX>17H)MO*s5a<N4+1_yL`i`?~REM<#)^e50$MM3&^gI*Se z>-We1E{fG}$+0d<)X%SID@xIiY}sFQO5eUayC_XxaqwqRkG}Y0PO*``(Tqh2TL1Lw z&2n>tAuvOS*9wd)mVC7OE&z(qx=>!aSl?!+?rPDrjj5FmLQHkhjEyPQp=j2|IKiN3 z!NxG>M9~`??TX~0k2cE9SBo}mB)az&eY4>ij4al*k$Nmy{Lm&~I;~{cW_jgR`J`PG z$mNGy6L|CQko!(SxzZEvUh=CYr`^x%EtVW}pR;x>IqLq#Ee9d)0K$Zq2y?~|R?H)8 z*@Lj#q=d))?I5wl&SU>$zLJ+7!P9o7tDZ+!aw^78z5#9jXs`;XWB$Q`f_KaA2A3)f zm1zcF)qh)hD|pK0RB3ha2lsY_xE~1d41~mVgq0}>TS^gjGfQiN{~3H&`Y`0^<M=X6 zNXm3sc~Ge7${C7AI2zP_PXefY6@L>}gn}#L2>&Y9RX~aR4OYv~CJNbhmB%E?dVDVr zPm~K0M@XneNOD9-QAOCQjIhVNJTg(?R(N@RqRZo%3em*D>7`1kq|+;N)R~l5Fid$& zW`Hr_d~$=(cZwCc3WNk8a+%>q<pXk&-E3tex!|NnWf{3JG#O#yb%bPVgw$OKTR$M| zd0$yhF1q!*@&=jtB#5G$D>dUp)y&(sDqqDZz{4;tnU)M%m_N;5xQu2)vr*QesngVt zuhE2Q!uI=VVDajr!c;hHjrxcBCwULT+)#x7UD_TX>q|W}hz8y6r76-BpM0e?(VAu+ zRFzhhuBO)<r~$p&Y77HJdaFYiY9gZ5NsNQaU#kn~?~InK>*)6#RI5Ab=e@sG57Mh5 zLaXo6OH*<Y=Jg<~5=ThCSACCO+DoavPcOTZUj3HN96NW~l_5FnR-@j|z51%I_-r$H zZ#AS(8-i*Y`u2)6*Nib=tMu3IVfGo1*P1i)9j$6lG5vgvYA-U4BFAdSnDVEN*1lj$ z7l<LO#vx=ZB4kn!vI1+@nHEoD>ztTfv+MOjeRZEK8ttxts8wC(kT3+*!R&uT1?xT7 zgQ}tRee6P$zJ{Z0Hz!O(99z;4-!RPj9If2AkM%r_)~La{S9qmSi*@((BZOz95cYL9 zYO?OK0~@VaQ{(oH6t=<ZwkF#l!B5v)Ebit3%c?se1pd>*InEo=wkAQ&Wi{cZ8cw=t zRkI++%-O%Wp0nHkYzxo$L`*?T*7&&$o)!>4EcR|$8Yk6;B0NiLSso|#e@8e(X_+2R z<(Rhej}OfSxAt+$*N)TUC&$3NyrT;s;?>f$z;{fbRd)Wh+DPlrJi{!tEo>g=5=-AV zFC8#X@0fcR`wv5B?n-70<HB57>3+uMTynhuV|gy^oCafVF6~M>V`?sa_#5N-T*d^Q z(LLunZ{99F_wU-&nbQj(o=kV!7z44i^^N*t#f<6=oO(&S<A#)Z#F@kEv#yjg6YGsZ zT4yQiKJgJ9sCDsdn~v$V)v~|Oxvf2F)Ht_qZRY$$$Dg&CYkVD_*JkcfJN{Xld3L;G zc5P;HUq{wj_&V`i(+2SP&f*Xi>i}b3VzM1zgi9mtToX{Ss`HsZ#eQB004nzKq6ttj zo6aMMigi8(Em^iJ0fw7<I)S%!@pWf64Bt@d1mj{420JN0#j-kcfQp55#sC$Ix=4aS zKe?X3BMRor>+S%(<z_PYe*}KbAoizb(R>W3m`>9qP_f{q44`6iO@cth+8RN$ki5`n z0NU8+1~yQ!#RhwzVwdWHW)0!$+aYMewI0l1TzJ?3)NsqZ8MJwj3qusF>kf-|@pm^E zh^R?08x%x@HRT$(g@2;_>OTv=LMPTw2zOzV>n{kW;KS<Eg^fsd^)^D^sG{|Uh5Fj& z>n4Swdh6=ygpRRn>goh%#|`R!30|4IRsU14XT!4jpb*gN`b~vYkV}eE4*z<slQJw9 zRTr$3p{-jNpcHO#vhJjkGrF(NNl6{6T8C2FpK!fSOYt?)sZK)iQsuk41Bw}~d9@pg z7MH|p|5Dt0d!Y8a!t1d!by*6}U(3|jD12W#*K}PG#FQHFdO-K<dG%=m?zO)R>gC?o zav7%UUaL(o<hLxYO)}hzLDi-ie8Hk>vkVpz;%bQo4|8tR<{ETW3Idk36x5OpBD#Nr z{g$^#wbu-^pLo_e8#v6|t4}j%{dByk!w_g?qmb1G$mOl|V}Y@{k2V?d#dUjaMfFl^ z({0ICGqw4)X>NkGCALY}TeTG1*o4;FTHBDE&e|4R?}`_-XKfu?1Zul%jk+Uiuh=RM zj@EA5YCg`ZtG11p{;U3h?YmX&rp*)KAeRsB5}>E_-u;}QSHlqx0R^*qlt-Svd)+yY zSJr>kkvvx2_aek)BE;(<B#I-flt<WN4Y<;sRG07Zaqw~-+jHMzhkAcc|LM$zvXi@3 zn9UcxCcrx%OTpl6jwb%#dBOLMAt5q~P(y!6xB;p`B7|Y{PyLIKArEDQ!O;lue-IK! z5mpW&Y#Bk={jUC1$nY(phQlH69@jU}Lmj8P8}Ej3uMD(|Mo5CTzc&$#i#5k4dI)7T zEheTajy8EFHW=zP{*^drx34ib@r7qhV`Ab|NI62n7D7@JLJ9$4YXricl*Z)5nOk*@ z=aP0j+0&$*6gRWG*)iFA<xAV~R5A>=dXe7%3$sFA6XtCxC4W<*w#er0Jg(CGAeZZe zQgddm@X7vW?_9~y1%yew2+7q5srCrl<PcsGZ}!QRzOCL|oNNE2q~&1ljhVPsp}gi* zQ~LV?U}4&x(|{)q#-Gj#H@5lFnv~t!j?t=c|<rS`V1y|hBFudS7|f^dh{B3eN* z4q@(Pgfwe}^qmMVEwvWY3UAM~_R+e>q}o)f#Ae>nm8<uyQre%_5Mh`BqIIAJM=_#A zR2c3IcNK1i3B$zr07H%;=Mcc)Vet6qGj=m}NA%KRI-K%1!n}VGRs|#c@6vmp0WqLE z7a1}PnK2H7#-Pn6wdb_wtgfE@b@mqwpYiMS1OLS%vd>tg{Y-M-F_i~ra+%+aSI<zH zFCF8~(3#hL<InUmTcZx1xy7tJ<#UG3EG>vaSbY{@yBI>|-T#ZTyAF%0i64f)v><{3 z(t?6CC<4+Y(%lFMDj?m`h=iyh9U>vUbhC6VEZr>K-LZ=(Sg`M$`}bbY`_KEw^E~Ii z{ajqI?3_8wobSw>nb{m<MR;3O&O$~0aAK}_<+UZsyqlFjjtui()HvdBdDci!EA!%! z)bw}qTH7%^?s>=UD2aaf-S)3)Zg9PJXOmQTNV}@tb9hPn1MgvYS367CZ+K5Tb0QgJ zjtOMt3S@f}e70R^#5JFzJ!+{ve;a9gG+6kj6WoLI%f<v@u>7+z68eGy>Cr`AmV(&P zV#%C>tx<1v&qA?L1=H@rh*4VmvcmC^Q{N{=q$9H*V~UtZMw7B3b9*7HIU$h^MYJP5 zqgF+FqZG?QMQ5YvWA&1LG!YJ0^kfy>gNyQ3IT>yildSyW9Vzx&>6Cg`e7F*>5m@qa zMaS&CWMYNUk)%{&`N$7hnz-B_{-|_hxjOlE>Fja^+#Rx}60-9i<XCHI^K!(BewozD zgX7uq-nDyR4VDD9AIvVV!lp2Ul<{J1_&%03VELpS%GEI#&9CKam@0Fr3J;8zlXt~G zjBJ2Or6=ZA#A)T!@kxq$718lpflC$s@p|p2D!k)$)N<wJ@dnzm^6&A+8bxLC@mq|0 z)e@EghpPak8N>(h%!`q}3iQADt*e?r6#HE50HWBB8c=U7#%snw6q7@MxE5$!3tkh& zRtvgqY2~$GRH7KKb_7JRt=c{uu1BO6wC^WdYa2imbFM81QA`dobqSuH<rmyK2UqMn zu>)B3#SHcd>MI64bMCcbFt12Ty*LESlj|r3Z7GZTA`qus&5E2r6zeJkXBPXn@H5zl zhOCepoaI>oh*HR&0%s7#h6_LqTr(~F0;1SjNjnt9^2ZqqU@*8kGm83V!5TdQ)2D)Q zIt+hMK@;7SG_D|>u0~6#z?bf$g;RkhouNxW0TUh5JMa7*+NGG6`K7cend13QwAvL! z`TVrRZK(VQG~FXz`KdJDR`d$WXcDk1#Xo65U$cOo1KeTY1>BU>YI#09&1@&|U9Qgp zSK(`1-m(Vp87_0JQTPCtjKxcM6BnHecqQj?U_LySvn^T^?!_7Y?F{~mQ@iXNT#}Qj zRUU4}u{$gX-{M$UsxP?7ae)ypcINB`seBez044d+<5ucyIF-o$eTzIw(ceP)d1azX za_GDYQ4#ILyh>44i;TP~QF7;rylN3_AbVb=$aqv_UYSVwH&|Yw$j8#RdATCyErfaV zBC3N6a9@$<i)#4|BBe*o#mu5$6uFR1z80i%{Iv4+HTbSV(EX!4jN((Fi###KY5CAR z3q^!ZVxF~P>5B(>j*8hX<ar*7iGehE{)+FT<nlrk-O@wz!WGR*rt@MI6`IBKCcv_q zQ+R-)--1FuO7Z7mN->u*sQZQMx*(N;X+4wM;rT~;+w5`qr24MHD7cRP+EZ&dp}{TP z9LN`cAYHQHL<Tnlec>bq*Q31PR}IM1W8l{fNJ?7aGzPGyOZYPbnt{Z8n1R(iszAYz z_~4{C-Dm*R%AQwXbh&W*l`GASLgrTk9P$N5mh6we<ri7{D7?s*v@F-F&lj|;dASSe zY76;}4KkV(@*6p1DO<j<C8Aj~-`R3@ptpe3N_-w&C~I|jFj4Z>2GsrHF*ooGwwTGS zpC+})&ke_MSvcV?A`(<6?(V2)SJ3PJMSraz*Bx$o1=7tF^4(9!=yu3&rI4l71#tI* z=HY^Q_n|@ILT3-*1@5AhH>8J@rS)FYpzh-ZgZo&CU$7SK{o;SY_MA<{KEWSEZHxW} z=P3CUB?dPe-YR+)JZz<3WDq>!?gtrk2pRJQGQ$qC%(TcTc(lc;=wtBD!TRExA+HwV zOCE&E9U7K%hk+VgW)gc0?lAvif6$hd=EnZ!dQ<u|4ko5mvJ*$5{IMiC?z)k3iCG-2 zbxDb89D_#>WC$5#Y%FA^B4jypiFzDUD|LxioZOIB$yr?aB6%5pe9~cI#bgqwFXc;F zV1%R`o>fLCSniUQ%gtRbl$9bbQ1&M)MkS%FC+m~3Z&`ZQ``5U#u&hu|k+RUN&`@p2 zxN^v>Cy*7eviDi<TUW{ovfx7(<@DLt7n3V)W}hDsRn_K!_HyOtN^qa3^sMxxE3SM| z`GR|?Ql(Nwf}&EOQb0AOlBtsE8N8CblH69S62B7PtDpi`fqUN$8IOU?wt)Pf|JqQM z^p*6(ot1AZ-!2JNSyWjZxzzO6^n+P!R>;?2*D7bE3O!e~H<E`ZtU4G;DzQ-=*}kKe zT>Z7Z*QCE1-d<w&rMjy9i_eYf=JtpWiq$RcpAroqbG|`VF+jF=R*$r&jbzl^X~!;Y z)@&iWjyCJAqrm+Y;W4HMgCSDJ9?+K~+QzQ(@*s9c*Cp#}sYdJ7<7(wbqfPf~oknf# z7itqnReXJFYexk?4%c>%awY9R<`F_xTR<ZBYLTO?qw%$WMy;3Obva|K$5ss=(O?X= zZeZ0G2CKiaD$77oue?gbJ5wLCvMUu?zqnGTk<h@o688K?gU5=IBWFXy$^*aMhMy~x z;V&AQm;WTEHgYYW!3!X3mLNM-Ajei3uP@K7_%tT2cpYP!xz~(wxW;!_FxR?q5}U>l z*u;Z%;rq}Ojg^pgY5IjF)XZ+S!VH_MH4kIHIz_YyU~B{2T0UcBK2x?#U|3R|TK-|K z7bLY@Vkm1%AW?rH(LRuC3@r`EjhGLuXV|A;*C-H)z`VcbAd1~+1@{7evo<9V#lqS^ zpG)ho9nAW$7;aw%QA`^75=1d0<Q&u&>yQOetg<5#)M~<xd>pQU6SC(e<m4#ih7IKR zd&q4Z2@Y4gd3ze{fH-y)j9@gOV6dCvO`t!;rPSmOR$j?934<s`(s%%(m{4O9h++hd zLLiF8H4K6%cGzGFq8MZS4%p9(qaH-J4vKnduqzmU{d*9_#=y`&?9{4x4T@rQq<6q? zAmZ<0som=n=tmi^)Q8fy@fFoO(&tORtJk7`uX$0=LvLoGUWcRSbMdbmraONZU-yNs zDJHSbgw8KBw2qGMQN^oTH0@41AFy~-vQB~a?aEBOEv@&7ZPOm@Do90*%M+xs&eKGl zTT{jN`Tm>QVD5y6b+ta+L9&9ij@&j{<F#hoDi%StD%`9tk82-s{SL&`(sK1j7b5<0 zC1hA2=DAGDZy~C=7+c#BXim&<L+wk>)n(bbOfDFvt4V+hM6tT6$Br;qt+^-xH5MT$ zrh9*?hFv^T2!kLOd-DVzaaGJxdkR4&rfG46xFRO(@(@8NMjIGigA+ZEx~TarI{wYC z1}j=vimO=@^>6urpcS<mdWmQi^;jIMqY!OBmTD{#TLi5Ssi%oBSRIK%*=<e4Z^d+W z-5RV?sBl;fqq6i<o*D<G@46&4u1Y&EvTD4P=3L&^1Ss_fM%08T)kW3Sd{oLz|63EO z^r2K2XxCg*Gp1xa=zs`TN?d5FT~H=FB58c10@^<H2YQwul^K23+nu$W`u*%X2#kU2 zV-W<CA>PyTnp{I;J&l?YL!FmlH5G;$u5>jBL*>AonkGZJsO6dtL$UPJnm$ARQkI$_ z!@JF9h?|Cw2CxW}q3;4i9fJ|o;giOEV-S%WT3#i9S~+TYlSaJmx8-||h`KwLzaC%K z8e3T^EFy-is`S+mWma9Ud>~!dA>TzqM!$yqW)4~Ej3~D1Y>q^1TWt<p)<#-CS-`KG zvA#UGXi~HRExyJ|H!v>Vu<x!#)7~KL{*_at-rId!WW27&<ALIMotTG{fqCt@N2FyE zq}wE9&~wNb2FPz0kfncXe|SW+T&?5rC?B-1>v==HV9<d7X6ul*S>5|44%gHh91Cg+ zS8zM6RO6T6ea_v6Um>)j#SJe*6qQEmS3_J4-`0N)iMAT6e;bnE{v9${4>INiGNTEy zEVtf2B)%o5zBHt6@UTHDlx3l{(Ju7gp+`&92W3$A@#8?xqB$Z?m$ti^Htsc7O4GNv z0I{$pwzvf4(Z+_jVxz1^>$uj}w;JW*df!MuhPXn;?n7oKL6+Mz%Ea}w>NeWP?GC+f zJdW30eB68`LFlln^)e|DhiiS6^#|NxD6=l;q+43EVcbeBR@nsN&s(l$lc<a|H)fL? zqnbUlZ`l|%t7Ox8ertY`O&^MYj3<W7ii50BY?jNWYh!G-&K4bh)I6V^vDneFoD+0( zuRSww8|)jjSJ?$-e$`br(bcuRudLwy-lkEREAgm}s`9I9f9q;x%(IQw>dH^HUt8lU z!@MqALn_~gu|Os$KxUUhR?4>qSBAF3TGK1jhtJz!m4BAZ+xDxbk3M&}AOygQ*koif zXh(-2L+BqPosrHwX-Ffakt7~c1}US~j^sjenfycEM&7oYL|#E&@p*=XAz>d<+Hvi; z#3IO?9mpzk$aWl(5=l9NMp_^(mald2cJLnIP>v|j>g#+n<^y(J^dEapU(y*eCd(_@ z89v4$IougPic_!dOdDM`yVVIF?Qpo(SutAZTiw|>n*8ZTXZvW(7okq%Xmp+`WOX`Z z2TNz`=;zVy&a=_J<q=f&Sm5!y?nHD9n8lE=8UTZJRj-;dkatb2it(;@ov+@MO6$I} zva3<ht+>+u{6V+VN{XX;cl?UC|E+GsidlGk_sEKB@?`h)iUNEC5^)2v(-U%>up6}^ zu#(lIywZ&!>)l>U!r^+!u$?eiuPio$!ME23>&+L|+kjP-_UQeKWza0?lfxXCoA!Oc zv^r(>^<m-zKKB!1Tt4&lKgQ^##P#cAo))zA8)M{a#~{0IL!u)g*SPxc9OE!q1JAKw z?&!c{D2fdPfha~Y03sK^{vZd4VgZ96Kor{?+yhapdq@>TF|nZ{5XJO|LF+1tbyyQb zv8v%uAc~O;XM;NkFJzAy<RlVuLksdd-q0_wc?7Pzmk#u?`fRSVf%VEaz}jcC0r0eo zBX*z{tWs7QhyiQKJO|XkZ0v)6P~u&F_JclGP+dQ$V{tNlV7xIqt?vbhV&lCBAc}4G zf+u3*?!C{!u9F;n;9h^)H-ra8vF_cw;K@kWTQ+^_z1|GQ1P0#TC59Z{p57jY&(ha> zix?a<=X=8#6f7)zO&I80I(j+jcZ2YHu=J&|Ts<}Pj#-jDZuH!hl07_hYe=5%K)T@3 ztnPC<)77WFymUGzivufkO(2(dc{D&OoqR>NZ=qryq_Wd>ck{G9e9_&^Q!LBTUB(ly z^{+dP$J1h_`vZ@*OHH>U5Bt05ZY}P!nAhF>+^9_PZZhuh3ev6(ZuK^Fmm$~52!GcB z*XnXhj~EvYE8G8%y91=+F9ITSH@{fIZG$dS2?BPf&TYxp!VO(a;-gQry6DB*be?wI z7B70?*L6cY#$~pPOx*3ARu{gwX7mi|T%04r9(5r0ubdFIC^piXi?SCB7+US368p5I z-R&thcHG!6E4~X-Ia2_Cf$k2)f457z%9Tmj7f~rHHy%rNmZ<ztxQcq9;;37W5>&Bx zsgDv-(Q=hTNvKG^Ge^m&ut%q%o~T^=hCw}5J}EOqDJY{``a5@(BL=ro8Oqg*kGij@ z+&l8^8&~}dN^*?89SqjvYw(1IvOB;KpW|hhuVK&Q1ysC|mqJJ9ccbt6lBgR-v#(50 zG)CjDhbShazISaXHlw!a78I{h^|yJHpiyqw4U~jYe2ZD<o{|2b2`by@%R*51Rb%eM zj6T#e5Rv<oEkWJy)wQCe3GH#SO6K_49cIlY65Ul|U8oq_MezED!Ch3xYYEGjkZ!Gz zK`$U<1W~Bh;u$=sp4TE}QmFpdf-Tl4KWp5eQWw{2!v)3ek2Y5iMf+K8K@{s}b_Xq` zK6Q_WG(USkc|>t0^wfJ`MK!yzZ?u%0yVc%g8!~k5zL~Ug=~{a;>s|mE%mEp*0-4bc zS=I{KGTxQ&rf@L7ThNny;eF3r&)GxuevCI59~-z8q6BtXvkLh{>)O{A(#7?-?`kNK z*zMlup^D0eJzb%}Mt6G*L(8pWdW1t;JenaxZb8PDKxVo@mOq1RHSNZPMh<cGybnEH zIP7hG-+!1eNc52mha0>P?HoPuHJ*_6aNuS<2iHRXyLe5pmA<2RPn9Qqw()7kyuBCk z&9Ccw!434ySuZkvER+p0E*UaQ2C{+zvh`1INPNyvdmmZCmBrWn4-z&HH;0~n5y9bx z46;9hT7QuJmCkf9G`o;HaPWF|qj=FkdiJ0y|G<On<!7S(=xnUbT7O(N&P$>{D2MR9 z31oa8WHuLM#Uf-|Rli2|!mv|+Pma_gb^x7Adn7kp4tK`khT&CWVEv6rl{nql@bxMQ z9)_WoDhUbaA)6{GwcA6tt7J^%21lyo?XC=dsZ#b19Q3YI533sVs!~rFhs+Uxtn7kp z4;<8~;vEqftg8xJiX1Aaes)wm`UH`O!;MlQLGN{B8@WlZHqwBc<EbABMGi^wfmswt zwcjIjNQCLr;eBL@J=ZV_3HNCkE=1;hBpuE|<|Hvg<{Cm)^*|zD4M!qlM#+a4k@L$E zBV`?#$9KjqQA1!4znrmLFxnI|7DHb==06s|t2AakW-YlhrZJ|WJ~8%q?6H~5*uAlP z4o}8zjNR}(86z4a`t)oRH;Vfb2AP)(S-l3?VFo#hgMMrI@7TuJ#_>1wDjKxL(NU|Q z1&fYf^<yAICxcDa_R;C9vQnk!oK<Fxc68AS?zslKa%IiY9o?|f<1dHqSg8u{L-()b ze!YPnUdhP64~bBL?97K8=R<d{B&-ZiD6ZbYa7^y5&4Oq!h;0YE4{u|$89b-(vB7*F zrtV@*rG2O5v4WcQQ#RPE<_=R4m`x|dR2iltAb)BYllxh7Y7Y~cQaAMv6Iif24Z{S~ z{(|fhhD7H=u8B@fVbn1#Gq<o{%x|U)iefY1F2HaxdksV}wOK_F#aw1XK@?k@?F3P* zZ4M7aF`+pb5XH3Td_fdrnFGI-Ry8*Tq8RDiK8RuuA$trUCo3Q~gdk5A=ge_tINbCO z6No%>>QrDfW-$-UxA$561orIiSp>03+<%c5L@|+tL(mtywE+5PuC5E}VApN``6KXD zSY`eL81LSm2TxUNOy}TW*XOdi2Vno^)fv!(TYoic0PSkL2%fruyx_C0!eCR`9M^A0 z&So)tFsRS@FxK!K%)MmHkeZr%${3<`b?z?XbBo>CGsZ`*(X(BQc)^sjkqkp|?z5T< zvDt02<P7RnKWDlah&yR#eCXTJ+*9TBysO`)Pw82|i_cHegEq{}Bfe;m%EANO?TX35 zM-=S;W>opO9<t6z^U=r}&OG47X$Q_Q@~*$gm?7kCcWs#7<4p=0obKnfiJhI!=M~Ia znSRIfw{m$}pQjBuJ<Y-McC2^u9rwZt$J7G%Z*1w@5KlcwB|vNl2AdX=NWQ%@MJ~m` zp*XQBUG;c;%2hJx$?}wgq>C=al(poum;O`FC1u>MPU%Uq1XWEbNnFIfo)VLo%DO+r zB~etdH+5UWuf1vtPeO6je<DCUb*Xo9Uwj3_GrJ}MW}eQhDfxj^DwO+a9!({yoN(k% zda2zJQJ8q6&Z($1DXONaS34=LCi^OQQc{iIEpbv>jXr34Qbr9wR&-KEbtkh5*jFJr zDWzJ_HZdu#8Zz<*J+3mgSTw1uDtWX!E3TG~!_B@h0OQ9qiiQU?vD5NK-JA?lLdFFm zW0T^~yc97LekL>qSraYK7A%V=I-iZZ>rM1M>j{>g7=6|lYcw(atSB>KV(D3O`R>H# zv(Pr3iT!7e!vp9P<GO`|$?MM)4skOlCWj!EbE^}O%3tdY8te?^YbnmmX{y(oqApXM zHX%yz$=9|dhV~PGY;~>XCh=@FJp?BSZPkL8C$HEl#UdxK*~(=OOy07UC_kN~w|&$m zG<nySbNCZ_&BlEpWm3zQ`7mhqrab`;H<$P35ezol`=*rEWag(Q6BqvswP%tT{j`MF zRb_{%cU~SwN|Tpft=9dM8(zb2s31d9AmdCRvy>n!^dQ@OAcrd_s=VkH8mCCTRuA20 zvwXnJu6f(gOi*8nLr-YOX3yTsa3N<OzE2Pvo^gJ^qarrl9wu!3U|J;1<8|NEzpz+O z8pu$0$oLzOS?iD$GmvdNkRue6Ywzb4?@qIYl^oX1eg3$D!!5`rfL7&vUV<^5(EQbe z2yWdu%Y+W`;MwMcKdM(}nG+vAW1RVxXkjxvqn7y2OJGJO@%?*8$oNgj>_o^)XUKLN z$PwRZxrDLBlo{tl_z}r`<`>WkUgXcI0lVx}<&4vPTM*7U=H8qy$)%7GoM+B`pt?Ah znyYPcWsW`9#TGp~mix(DW40_eA?zb$!X#vl1!NUHWcx43k<%G;&cPDf>~?PZk=4Rn zJ|Pab^sxFVxVMZ~Ytvs{bgMSwabF~^wwG92NUru#D_Y>K{%C@oAFNKco1A}J4flCH zuTfq3p>|%ex;k+MGWQ8&)f^-;6>`*XE~%P%2|53{`rv42>2WQ1%CoH0F$~uC5OfUD zdoQ(j4Dy^WxpfRkep+Jb=vQ}I9P8*e9b5d^F<?KusN6B^>%B<dG5&F3@k+<U7b3_! z3CQYF$PRVLG0KHc9j}(17R@^E9Lp>>bb+|P;y$hn=3gt1OVJ}&n8qLR`Ys=g-<RT8 zt{<n>;97n^e$@=VtUnHOXkO+XJNFA%zB2ax)6b<JW7uTDrIRr%Totk=9<uWq<XGiW z=~%@I-?H(z?s40y*@PGlw_3hh4rUgluckAQu7<CM^I}##Rz0NJR!vt;HRe{Iu0DP4 zvdX{8@0hmAu*%@?zDmAI9)Y(?uuAY%X9c%{%XflAe1hy;fE+i4T*0lrTYZO7Uca{v zuGl&P3uf)D*JI%f?(0q1&wL-(Td_{k!RsAZ4NcT~H<r&lV0{2f;WW5DhWQ@QxjuuL z|Ln59g6T_HUf;sB7E-V8V4CaLAiInp(Jhc`%Il+;9L(Y-3HAVo+fsp|*wzaW#lCNW z2*v+o3ycEDyxOV;QEXxhJQ1^~+d2VJjBgvv00~sx20g1NrfoG4#VWQfK@=m~b_G#P zaN7+;F-^$HbjXd{kSB<3GF&tcxBrNx3hWeROGgIg#e;c?cuZJ*7>pH*1@TCn7z55g z;}ZsqG+LZtKrh#A6a)HHp~}ajVAj#wV@L25>g_S;ZPn=>fpL~zydy9tWG3zqv{!Zs zb|pX*lRV^sqS(Fy2Oap{5w|9d>%s878HV8_`8&6G1dsTba8egX*O|7oMh_2|z?%O< zBvXdF<Y6q6Qz*-!F_TEb#vwi9MPB&96k~fW?Lj2t+wQmnS;mJ`zxS~W8{1mjP4w9B z!TTr%aGmyTAA+969?hd;nz)@cVMb1c{XY+g9^TtO;{PH0V}Fr<N$2Z+AAiRyw*3nJ z4EK!vcz&<YYx}PJDhY1;YW&o>gZp>+mJm#Pr+nF6)_W+v7n6B=F?>v$3tR7b_D_iS z(s)6ycmJED6-dQcT8*Y_mtW>L=lkt*xe`&A-2>@P`JLTO=}JBC-9_mXOR3#)>31G? zce|x6Lg{wvq$Lv=cj3~vayfS6q;_gVcKxO5P%68YQo$2uyGl~38_t{d68o6=-4BxI zAeBuO3`nI)&6t*OH%UE%b7se0<46>}t*^zREWBf_v25^i$4X<=>J6~PV|d3>BR|w& z=aoie{J)(S8ZJ3aJ7yZ1)!{ov8a$m=JK7qAXyqMc_4#$djjw9@$9g+u>LobbfrPO+ z_~ZeWXSTFjd(<Y+xg>Y~m_8R%-99$c1RGV~d`@MA+zvB?Tcfta%~IavZpWBKhW2hJ zngt{<Y^R#p=frPkni*8HZReRucMNP7nX!!rZI_x|S$nd<W%BCCa);OS5~Px2qXSaO zvZbOe*ekIe;Huosv->QD-pRLDRC%^NXuoUhv@PynXv4m(?;z`$u>H(I{Qc`~3kSgj zukF_k+&NX-&JHZq6x*H-R2}cP-#U<tQ*MXZpRbl|@Y;zVqIa%4P~vchR9>JA9`JiJ z(UI-zc;|3)?Y;DQByPRy>C>)?zmw}L`;2pk*f+=KWP8ZB*UJ+!>^5Y=FUVZ7?P1@Z zYMJd(-|mjsZM1La*xB~9Z`-QNMv?dT!-Aa`zToe27$5cvq|*PvjL!Oi_(L;y!T!UK ztm2n@CLbeJt9HM9Jbre#bM{Hrws$A(lbg5EPSU40VdIdA(U7@8kkzS>9cak$yO66P zn<*c%4i|UnKY>x}BibY|qJQX|R7=->(4BP7!+CJ^i>yTQzUG$*wO4!TU&c+U_Xv}( z+hy&hB+K~7?gk{Qe<*-V5{JyY0$D=<*~tt!ZV0)Wz15NAbHulICAk=+QjiBmP>$%} zH1te|k#ISltb=2?t0donIy_sQa=#KjZtA(u4!^Yb+H1^b^X1qJ&KLXmW$#_SSkhm} zye!BXZ^%wh$nhA+)y|!pd7ek%`?vE8aJXYhgfU2E0O3mi?#LMNiI?_p29Yb-a;Sr7 zSFb%7K`fX(I50$<J3QV0UVFojc)z@s?bG}Hj9RWQ<B)J=$eLe}ooLAMVaU~u-N>5o zqmzTDwV)&)&!Eb{E(<}ZI{N-&PE<Q@@DU0%ASHM73^k>pb9jPUGg~=~K^-{~ABv;? z_{|;s?jjC<eK6B?ExF-fy6YMo2Z;!UL_LN?Q$ns0?eljQ9$Ov8cY#zeUTDx7$B3bq z8SsyPqZfD&k1Nr$QccIN(9;?#$JFSF=Rrq<XtZO)Q8;?SKkY~#Jr(iz=mC26YvK_* zdM>{UvX%xCl?92`g<NAl_%%Lwynb{!k&44%Y1ei@D&N<Z7{oCBYvX)UnAEi{X-<so zTCJu9=J8sg`E?BOTAGvb@%&m`fbwzeT6hHZIA!g9iplZkwa|i?<A}A;+8W5NYmn$9 z$Tj(+z14k;1Lo5@*!Tk5glz)%{32`-gA4Wx_6uJGHV7Lm9f7sO+G!4Bb+9_-;5ivq z!f6A`f#nET!QRH+{v3}b#ge8HWAU(fg-<a!46aTOvdbS5Jq@{L0*S$$@SpI5b;;oF z560y1K@{6P1#KFBu~Q-t#q>|X(=4s-Q!)_6icdiw&4u+8iemDo)F6t{o-%+aR(g6D zM6oNU>>!E>LG~y@PJV=3KZ868|9*_?!hwUG1d20vz_=m~cjXo&h+?FW5($vn;Au11 ztpN1*z=|($USL%Qr~zO$80eLPy{85s+an>z??bMqL7tvK;&A^!G=x&&1y9UyxCaSz zpwGlf&V&Fv&~Nc<0mo$Zfwg+pz(i}%hh%Z`-UG^ogV8&d>uD}H9P>;m7|UT!XmbK; zjP?Qv*RFzdZvHL_bjIQSlru6xsR(;PsfgaC%Ln^{2lA-laDtYPOu^o|{qoDeY6Fm? zM~OBxKsTRvK$Y+bAXD0Hu+Q>NsRppT)f?zOk_6;m0XcoRiv?%<FcXLSZOaGF9*2_) zf>M!>qyu?Zc+CS^7)t7rPr-NGlt5nO&7m0$@=CVgY~^`<xqw&0e}X*=w^PCQpR|_b z0i#+%fTqJQfNaas;63*-^uSWwk6(OJpv@2d#$X%<tPJd?1EXcSk9g{EIK6Vo2(T~R zP4#y0_0wm6fI@a7Ko(zc#q>xb1i>p0Q$Zg~cc_FBSkzn!3>{JeK3fF6B3+)NFJS+? zzn2Q<>>3SFD$lo|R4gdzMZg{#_j$qBFV!Shz)l#}8h5~sZpLOC;Ok5WVPL!;NcUAp zL>$m16}-<YlVT+BNi!&yuQ&$Hfn*E);2ri4Wr2PFI?vpmQ$VRWQA4RX{h)sf)<F00 zYJ*Z+C?y3}D!<nV1N+XXJO|g!ZP^h8Eb`9;W`8CFCZ~d2yL~Q>2fl5BbRH-Nn$52Q zRSwvIf`7fw7#zX5g4J(fP%3Y^=$nB(yl_w}+@vzVT2)33(7S!t@En|5kf@V1FfhOl z==V7k=$(21d{YcY;e%Y8G=cU5LO{!Ta6N-e_rcW*()r_f_Q3BFN+psQN+mLo9>lcB z@4UZ2t#gwCKZ*LT`5er|cQglOGJ49X5v==R3fKnnd<NGrh9`{<vN#;F={{utI^-Pm zN}fGXDq?tkXP%XXw?e6;fi@#>oB^CkIvXD-UFkv6#=vDwB$z2FZe9qCa^?XJzcmBy zM}pG+Z9h#F5=!OUUgK}beo$t=?aj$S?vX<N+C2C9>JOz-JOZUsa)rSiD8~nCaY?W= zc;^z77ATFSL>5<oPn^L!lzP4G0)CCG0e(vhhAal9vGiMGKV-iE<SfWb>9<`_<4V8% zy7B8p0XSpu#1f3<fG3LA8H#~IeBgbWo=byk-t<Y!5{R%c0xmm)tI<ptNDI6d1=4Ni zOKXEH{tVfe0NDr9YUZ0|h1^MjJZJxHSqJh4#;w6z1>ihG3-E~V6pS$w%CG<#wbFpX z7NGp}Yq~H4tpg2#{!!qn_J^l|zhi$yG01y=L?bxg{)j$sKK&6hfsotXkZ1S*gmiO4 zsmy@(7|@tu0BFH~8)ze=2z1c`_p2Eniw0nb3wY<5s6by}a+EbNJN*_AUK|D4NC(-w z1UWqnxwQiMlj3jlBq5Z_)_)~=D}-SZd>zOS^1J0H1I~HNOKSq?ZUOFrTP`l39&I@V z20=#IK;KEH1iBT2d&`!41GtxNx%ZktPJ>#w<-WNOdAfN)u|5c;atc}(Kuv~u;1hlx zppeWnAiLHmkj4UB|5H*IaCN_51Udpwqtt+hX$QdFVo+zl?=*lMec$N;um8R?r2x6H z1^K<;(*MK@O67mz0El8BzaWbJcNJwoodS2bdPs{5NEdKTKz$X5i~{itlzngy2PO2s z>(Ky87l>j~kdtnZ>uAUmaJJ9^b~XM#{OnJU*MeZ=1{`?gQedt0BFHHx3`P<IgI$1f z@;3*EyT}2bG`awuwZ64_`R3(+F9nc-f4BvhJPiN8g8(0&fQW#AfQXm~9K=_Mq2mhK zmH!U1|MwvO@1TGV%KvphZ-NKjgOHGr1pI&fD(Thh|HlUo3A=HHSeCGo0Ph|Q{{|kx z4Ln>Ij2YyL2=BiGI&J8{!zUmlA||;)N_G{zp!PZpACG_lpOAovh>#Hc^ey-~jPM50 z&AS3}#J6-_lH7BndK4U&eTDT&RR^{1IF?QDm3s&&*=-tHI{N$U9GqO-Lc)(lM8(AA zpDHLSDXXaJ=^Gdtfe&r9w6cC}V{2#c@y653+sD^0^nKWekDtOL;u8{+z9fH5NzKX4 zgXb3%78O_5AZqLC8ycHBQC;0Vy?y-y=!wax>6zKN`L*?p&8_X7-M#&j@25Y0o}K^t z{Rhey9*p3BvIYGA&DRZ(FK|T(2uYxP;o*Bj8NWeDbXS1*rkoDROSfD19tB^adJ>mi z)j`TCsEeh3<vvb!n@wo#{t1+||8n-fm$8ultDOC>jQxN4nun1S;DJ9L!3~%U>~CHj z#iCw~^2H<Z3B2yN*_ZF44awXNR5eXA5+`Q7O=yohOkkwFs;@ViQ(c*tsaD+3ski6@ z6Nh_+F6L<Q(?;RCPbxb#6*&9%x;gH*mvJneXXSmYdwklT<u0f!r|WK~AKDG0>UpVa zS!={CCv_qZ!~D!+Hj)3Hs)4!}OUYy>awjD5&hPvhPxc@hsa}&<#&Rw5pU;gG(pR_h z_;9e9e0;(6pk8Vd1>TNenFsbsaze(W^88$QKj;dz^tAe!-;5Ey$EWmrqRhc@FU~kP zT_=7q6=tKj$i=2D#}UnSOiE4fktF?X7hgIjfvDzU-kWtfhxmyi#fpxJ-XaOXXg(JO z<$ySWDqfEt`cXXTu|pndtP&#qMdbF^`>3FF3OkznZkc65S>|BpQ%%A2=xYKWjG5&% zV#~ckQ_Zjv7hHJa<Tk0gZXvFM+A7T~1?E4dbo1ipdWG<~dPJ#ODC~+C+8lKWU(=0H zyd&2pN%-gSO9B4R?UzI0FYXgVKGlcLh>|Zj*cY1d&>D_vmCG_5Y)(4MXstci^TJ`R zKC&Faq+#Bpd`!RWv%)=Q_VibOujk8O7d(IN(;1R8L<gn*8@OnbCSkcA@CG~8pvR@A z;d$NiJe{v~<=>T8T$JUgeTR%P>4Lp<f^WUcg94O`nW(J?zhp9t{t#e4t_#<9#gL$i zlb4E&kLp`#dv+EQzxpe;;9xD+{5~aQh*k7p=Hxf5GUz6cGA>{Htm-)U<40Q~EQ6NQ za{r>*X)9(wEt48bq^TJCup7j4QEi!v&>7z8qDTHVXYaQT>1vS5=!vg8eEn6HW4<I= zk}QGkN1^R+w6%m1liiB{feyh~YO+r+qb^><Quot-_QP#BA^CPv%%JQI8m9*PQ0JNT zQdhCUbPnwKb`UTBm0pwJ%kx2Gem1wj#lG$p(UM9Eq|4Xzj338|BL;2GumV9YG2*Y3 zcV(9r^$ee=^yNq1Au*fKV~F<GCJY|ALVd?$R9!b7?;s+^br`1HE5((9+>Y}mkYltI zx-lTbm|++E$+@Ax-z&TFaa^=5R}4P|S!A5*aHDHaj+qs|TdEkdf4a6DchbDup9!iL zXuRdb^z<<a%9S1x`>1LPg?piyX>fwj3<S|fVg|1aPMyXe{MZdIfxf(1IdTnHY+AH$ z5uSu<bRzn9w%_U<1gyO$CvR5lEMGvXiOl_5Pf#T)$W<(N8)^2VK$Og<F#HaJsC!=a z@~4#Sz6M^+#7W-f&+TAJHcKfF9qI?j0;?cJ8F~Z4Xg@OIl<T?;{ln^}UIJt2klX`} zxQ}3;y$z(r`X&VtYoRDfL^(4dxvTgD%If$>RzU8^lqh3FOy=62%8EB!#BD^%mM~n& zEL9QZ&XvM~{<1^cV@v$8@V5#FTrhj1Rm9C)P;q--LYtJLe@WF>LM}U;C1JVbcvkjj zR?diME-hm!b@d}IP8#jaXwh7jR|%rS4@E{BBGh&7zsyK1nY2RRzLri;q8g$yNT5Ry zZOb7<sS1-%eqIn^V4#`U<46{HbCL5vcKqd&4F8E|N;*1m_wG>GD-4utiDhNCSSED) z*z{!1Vb*qfuQ4Cq;i~;B^}|-7JeOq9!x<&ou{)SBP{|U_vn0wI5gB6pHhPFcx|}}G zK_@A%8LZ9dX%Div{?6venc=~Wr~E(s>t$X|u8zh%mI>=M&SM&H$5(J`qKOdZq3fzr zo&HWv5WU`>_trsS{GUqhlCAhfp2>$yANcDKPm1U(y)5THq+*1BGyjzfM48{kmMr?z zte#ysD4Df1nZE1Ys>H$a*)mr+3jd;(8y#MvV}zdlHI(b664=x3y-#<(i-YxF-brH; z>A=C}?J=l9mz-ZQj?<K3<fchK{=9Ygp(c0oIJshPugH#uN2(==v8Z3ypZ?POu(pVA zbncioJA5Ekj)+e43Tq(?R&Li}@7)I(`r3B<MbqJzuEVsQNuzxO?^?t#m;OeQJY^|6 zZX!e;BI4p|r!tO~34UB8nI;jtp<yG+!W)?s()>Oyy<V>U4%`do)P}aktIW^aW9)x= zCz9JlEzan(rH=hezVY!JSA)Lcs|*V9$&L??xa)pOMEmKFdqlpqeWckP=A3xWWLMhk zZvSYGHs6tU*4rjjH{^cg(UEqw0Haqy&ZB&}?bNFjB(&GiZAKSa0VWST9W03F2h-ki zDGYDRMC{A`EgUWHlBn80STsUQ-#sBpe%~Th=#!?S-T(52=Mz_}*nd?$QcHb0#|~R7 z!Iw9hPH?a;f^wfE>2W)F)nvuhxBcaGHH_~R6EdwWR97e!CR2mY0$7thCVj%4m|EYh zG8+cm!|M4EAPt+G=8q<SveV3T{WOYu=S_naLT)q)@7@nHZHUW{+w^EmkJl=aOwH1_ zx^Var$wz&KEih`6ORB%Hzej_$(Of{CEiTf?<O%Dw&``bB&EjVH?c$8uTLCEi+D$Dt zj#u(-Jel8Ww3C+lBq!poTHB8y$QnmTOPpAZOH#64q}o1Nd{xgfv5^w)O+f9NU0rW> zn=m5$6?*($5=UcyUz(3Fg@)($Jo;FYAk@h5%~knRwPE#|D?K9dLT8Ws8JUOtZG`=J zuBO0VH2#^X-^-w#;7=4(%sbnF+YYZ?%M-5BmIyT$Hs{FC<TjKd^EI1qw)v!#v(Nvi zGCeTKd9?G-`_t?Cl$PdeF1B@{gFNZ_LzNdt!CJMxKSks7i#eC9b@oT8(oiC<0vg$$ zie+ZcT_3YQsXaKqy|vg^AX++Cpd?Q<9)ij)j}RMHYRl8Yqw;-I)xzXc+L)dYIipc@ z*N!Z>+oQ&mac1mgF?;#w<5J<V{G(uPnAwRQ!s=g^-dbdc;PYY?)})R&Lez_hN(vHc ziQWtnlX|CDXxBx8XPU*Thg7E4RIEXE?t(L^)0e}60hL#%RZ5)$Mp!xajC&9kx{35G zghhk~@8iN}3y2HU#6A;pyW9U<j&g$;UX6b%R=Q(Oqf))0fv|EM^|Lc%66=<!kcv|3 z<4FD2a_Py+;yEIqxzanR{A*`|`ubcj;#BsgO+gv!9m+DPhjv$JMKQ8B%2o1Ql1a+# zw9F`e%y1CiLYFz>iwt*cpyTl7Jr;gXxNDM%6<AkZ5rR?pzEqY*v{-VKG0D)w+(tz6 zdezVJmJa5>p}hX+xZab@;7T)PoH&(}^vuJ@%MgFd6)703OAynO>jk^%uMN|ukg~hN zB)1+bz;dgjSIE`pAi|L#bZjzc%~e5Bbf1eZ1`gv%f3xYG_o^i$<m-@Eq<(OvNAzqy zzD+jOB?&><)0BNb{k%Wkd1F_nRDKk?MQcdjLZ>_&2$hBDWr(B2!{~bK2DHo*G4>5o zvZW|V$}e$pYkp)&7g0~11+N-Cl}*S(=8+J(>9lzuBD75<qe)b=ZYs~lBPYji7M-4^ z(%vCuanq@xEXoUttu*-EG|~6_Duw+$Q`ltVp%%-F3H<v5k0}jzB2p-aq`0y^-1(Yc zv@EA6N(`@h^jcpclreKlzgCJ>Z3a=YLUB;n@1JiUD^)vr6E?`ETRyEzSydwYeU|Qz z&NiWe<1Ou}fdYe0RUN-v?5*`=6y|#1@Cq$|fF!!*?94Iwwh^HdjhF7Nt*S#~n85|@ z9f638*B4&`Ic9%lqTGBQ+no=RYj_mg^k`ZsjrH4pJjnT@@5rFtfik4(pXDzP;j=i$ z`zJ~tHsZIDF+USf=jD8IqY{(Oau--BjX>*vL?>stYZliR=1fLjWQ=!ByEBHw^WbZT z&YqLhDR>wd+8j>Vqa+8VaxZy>-sS#yw;g!SwG{cPfWfU-$L!tv7QL4nG8E5#rD=4+ z=i_+gOK%n2?0UE4oY7^Zo&EI$Nu40WP((r}+W#!4|E$1<mHKApn$Sr|ejHwN<eP2@ z52vMw82h4y>7?j~8ZdUTVeUe5N<Fp76Xm1&SWdhr?zDf<<#gfsyl`aSrcN@l7!Q4I z$v6L=O%i;ut(B{h<;1|1xuIN^R_I!Dy}qN$-gH_bxypg;*BxyN60z-QDFG$DQB{dC z(s=PgZMi~~QJ7v3TeOe8+vhC~FW+wbMv6l+#aBwyf{H#QtxBQIBvA;8)kcig0VdUr z@kfu{SFu0Zq|vO{JQxKct<|T1N<#ilBDt>rdP3GPf!l9o<WZ^vfh^ghS(&iAqbF{v zjXKI6A#Ugp?chnK#vOFt{6k8;y@*JPNA?DEVp;U`n$i}kw$h2mD(m0s*&@eC<Kj(X zIayQFoQc;a_2ucdLsYIRhDKi^Qb;oLCX9(;cydzB+7h<>njXr&RH6A?J{UQ}>j^P% zj_Je<*(0@HXIttXYN;mlLl{{~v|wuKkd{61$DLYO<f#VvLRCa;HnT7RU5BX9O+P&F z@g|$PRm@Q^1w>W<k!l&@AF525k`YZrl1fXa%vRxNr*I5DPLrxE-KMgz@)`jFH4D#j z_EuGW#0?cO4q-#;ehM|GJuNbtgb}WmbD_%+c*)H^0_&QIbp5Q;ANi|zqxOEW*X~m2 zH2ml$&w6tt_d<*6*8JD&m5Q70wuC?M^Q?P?Iwn%(<xgYabW6%ctU?hIsbrNfVp%w+ zK&+j>qGv(zZ90<R>EPHKzx0j!k^4LfI&KL%k68zA#M)Li#)RWwwlT8@otZTGncac6 zd|IT|`$^;N@ZaT{*U4-ZlM{JFx-j|AY|?ygVcO98AkC7Dl729ekH(bs|7Np@mz#Lw za{l~n$Df%WrO1bS=6WZ3Ym`B4kAA&vk=Q7?;aW&q-=y_rd#aB`Qfnsi$F4(0`JG2I zMSnQ1xh<&+7rwgKe;0v+32&V<hhE-3NjgjLzjm1>*e!Wq8J2G4B~~#(`5p&Dv}IPv zfmTiBXVWBY!ku50;x{suN>*2*S88Osw1T5&zB3<bksn`7m)s^MmOkqAjB2G^k}ByH zVy5aRWwvE;WIG<^I4SovzgaulKJ=ZO-BNyG%wFYi=I1ZwG0&u>vWpg@#~$!5!SYQj z#}CvcS65FD1uT+rFrqegdyz}Z2A^`PQ=!k_qAFvb>cR{@j)hv7{<7Jy(iVCgD6p`l z5lsC<J~RUs>-RTeUa;}kvdrDGC+;84q?4YPd!z>sE72NQHvACIbZ}2VF-;*#cptf! zf8<8ZPSvr6yld6>nX#>-6@0u*q%tKKO{5z`q&!Mn?1%ZpE6KX{7YDn!|Dv_^y?>X( zIo#uWFa6)<>$wN|DR9mKckSrI-|c51CoePpjCL40H9AHtEgkKgj|h+lZs{kpPQu^H zVbeN}R$cJs>}J&JbtVP;efQZwJB1DhE4Pd3O8qUr+8$PMc`raAx$6%5=h2V>`JxpO zi90rq-DEp;hj_c6E&Q~223d!8_&2MhcM>f0V%LPuV*XsV_g&O;cPNI@PCS=+beo{n zz@^3BUBgJmXJ!g{>>t%F6z!&~N9$d73%~gZ>F^EHFU|_;B=-<UNX7o`^!<jcNawyU zD0^$a$=B0LqU^OM+xHz`f91cs)Ih&!@cK;;r)Ne4!%ke^Sy_>!u<h7K3U|M0KYN}A z@)Ogz1A%Vhi4Z>z^FVgb<5U|fF-Oa5H#y~Ix8Zf4WH<b`OBT&XT{j<G-R0pC{2iu7 zzbv$KA5&GrI{D*5^Xi-D!w9n7dnd#hC}N!ibjym?1igV#hPw07^Rka0ORwVp%k;1i zjLv?-*ZA0P*1pERuT~mvrMdny<^H}|d}XL<vWZkkq$*5qPycmB=hTyheCoGE?z-vB z$Tac$f$*od9=+fi)_==)GD<ijM_fhurJdic+u4Nsd6K7jE4R((Z&D_eYYNJzVl6`G zBB#8a)>me~bT^+Y+;v)tdQ0&|py!c-rM-ZdD=Q0uBJ-zWk7s20rgsWPuC7HHm=y(O zxIHJlgWu@$Z!r0L_)+9cbxxs#$4_|b@%%&mf6KKiMxRb@qPcrT&YT3hCpvHNHm4d& zXgv|1JhgLE>}Dm2o;nzBjr_=fmt)E#JaQ4_U5bO%+k5!$rL?q3QPLTFkVy(Ib1>z6 zt!q$~dRW1WIJev?q%A_EX|Od$JKiMGGFh&(^YLKo|5Mx=sV2ptp_SomQESZg()qon zyvK8=;V%(!7h?={*IeoI3>(=6gLpnunl7jrb{odr-MDY8`%v4P!fv6Vo2=o$OzC?g z9^KLOS1JmR{u0V4xQ5>DZ10f2Hc^IPh#jL76SweaU`}Rev~L#i3oDxl`N^F<tpw+x zjil`y5}7DnOS)*+YZA;4Ovs8oQoTeTP<65FKeQFYPoT|;CFX(=q<W2Kh*2$vMi6iJ za0NB{uw{_Q=`f$!Yqz}c(7raH<@QH=j36NnqwW?L_S-`%<$GAr-<A{Q$FbL7@*f;2 zCjU9^`c0tj3pwow!A4qa%EX$;f8=o&`+4rEMQ)P45cFo^n#HIg@YKQ%WGP@LdrE8* zBCElZ^nTSD8a%M#D?&5Rm!~+d_A`g!$-iBGC?gIFlPBut;h{jBpl<D<GjiR27vdL@ zOk|q8U`|p;R+xNHWC_R>ZehbuI#%FePW*?6=t$mP&6s>~tMW8sDkmN<a!z9jhS4E0 zVvS_Buf)0qBhQK>!x=l`!U+oV36DmH#PzKsoMGE=BXUgzBJam;Pw;7ClgL^nCSM3} zudd#~!BoG}PBrZM6q;xh*jt9Cejy5Ol_%e6l}rfE2uv~^lEA^fNipsOqd&x^vPWAo z7XR*GEIO~~#laQ?S0@4lPljY}N^+1S<oJBBN&nPydq$gCvQX-_rj^C7>pv=HaxPzN zz6^82!EUtR<p$_urAt<&0>VOdKmFF-V80r+4VEa@Tj<0YPlb*D2;j*W#EZ~-M~DC$ zg~EaY<o~h-cziq}g*$lT^Ju(8Geix4@9>f~hVRtuIQU=pH`<HAu)bDgP!?q!i@0>p zu0EmcWd3w+&Tt~6adl4JseIg*O#fm_>KBUZ2g}Uy17v3S<M!(<bcF6pSEEc-qFB>+ z_=K45Wln}j8%pOcH?q$D;g{^ArvFT%WUN+ooVDpTtX5Cg3pWa{>h&-rcz8}+k@)Y> zZuLzO{-*Wlnxdk>bh@!q{}CFVMX&rq_DCl(#!W+ZA$%``+g(vWnK+ELZ~a@Wt6?^I zmn&ECD&w6*7}Ezc5qZNWtJfE!la!Mvv|2UGVp@M`vvWv%jf<d|qAR$gRi?N^Atr1@ z$RZ|oq#K+ekowV*Tz@dc`_47SPDf&GSFs{IQAW@F;Dr7o*}nV~*5(i;(c*uh36qlx zpCnIpDoN_D3FI@R{fbdFR~|L-4?r!R7q(fVv_(HM*>w++Cv>yChJ}tzxCO`hG8Nv* zSq%-b)0FM;q53KlMHqjDitJGKcUB!2-fo^HHM=5ZD?tOL<@A?(bd7mtAzC`ixqmag zvxRPorE$>iX&St87bkl%2h+VayE<lkK59AY_nticmR2q(`f`t{tU|=Kvt#5^Z9y4M zP4ManTMx2*Ar)gnqUnc@q<0{g56*Vy3QCV8g9#mab>qDdmEqcdr>gaU$#!p8@<z1y zm~zl{?^m%*T_@^;$D3|iv;^!S3G~Q13B9MzzU+AcUiqb;(LoKItaqbiX!Ds?e8_At z;&HNOX%cpLqa1J{64toxyT6stL9gNo+*G1kA`IxL@`%K;f(dM>O1)xC?0OWr6-4)B z$-!7`h~V(GnR45!8Hunp1mku(?Jf0reRnPcnjb~Bq^B8)$i@RzsiM`5(CNG@UN<yI z(hWl9o;Mt5%!-fcT6%4|a?3Uoi<5aRuTDgKfYHBd2*T^%PT?4))6u29G<!gm_V6o{ z?F|AK(qYyoVREDFrH(8Vf;!YvTvU11D|TM=-w>&RMGn+Q=^Kuf>e(Bf$Fz5H+B0OL zEl53OKDLR>@NOU$UOM@U7b}w9;CeOCaCwY=_?G97z^o5@yG*+SGx^+{Pun$vpzlA^ zZlZCpcIT&7nZHO?2N1WER<L*cCHZ{i>{A!U{(Zkl`lsh8X<7J7_mAw|X_oIZQsi0x za%ca}Og&zg;Q5?M<`8=OdpvavwsIFaGn#oVfG*F(=eq^1Nslg*7~M-L0xcHgpChx( zfwr6zqP)O+RT_#E96>KzmCMCd_G3!d#V3o`Tg&cSvsG*kw|{KEDO~Z<Wc2KI1*@4| zw5#9*Ay#gO(P-h1Vr~Ax?I#$`6l?i~UmpV%0-Y9>_-hJ28;ND$CG~9v8wLn&Jhw!x znV`3FS`bcs%?)qcJC)#O1(qA9j7f%OKYk=z2>xhWIFI*r=>PGvB0f+gKn}EAF6u)N z_|8s3ja6JRac+T{-3q-rx0TOdy=#6ZK6=D|9!L>#jftGTr_h|FLGw$Ws3@kjCQPd7 zC-weHjYwz1oq5Xe`OTN>QD5!cZhY^5bn*AgPkl*_605TcdA?46JD##@zbx;ja~u_y z8Ln)<rN(Y_$Y3j4SnbyS1{LTeT(D|;iV<)1@?<K{kV&0B&x>q!(`~b0O9!KuM=bxQ z{xH$o3n*XE@$lRbQIB~4Q`liklI+tVN$URRyKx?S8qSJbhjNl{3OMCP{HDmZUQ75= z;b3AX(@Drts^JgCyM@*4yzU+<43Ad}T5XkFzWnwraVyoa8H!=gF^C_VldYitghf@r zZ9my05pb`Upq$aFWE4D}<^Sr8mDw_qx=nK1Qop^4`%+i$aO(80*wRig);LUfepZRm zuFdmcOm`7QRZXmXc1gW0*}GgDU8}gmTfu9^6&vYiq>;a<9?B!Y!L+|<LNX6?Y7myN z9e>8fw%*{d!KJmd|3(kaxvyHir20f)DYao*poLAuWb4kEnq74avW)74snj(S@o-U! zCpG_ee)N@T(NAS_RW?NM8mE9e{^#Z2r?>lApMSNm#}3BOB4fVhE`=UEL;H+)(<#ip z^-yi6oGB~e7K4j2%P(5I4Ah%$7}hg-$QZ)Y7ZWMW@))sIBJJe9|FeVXo%jN2=V@rm znP5d)(StX~@DuVuR#Eqy;?ec5EBFemOb+;?sx!i@mod%@?^+b>7Jq4OPsy*u{kT)R z+azi{_(j8_Z}aS@IsC5$bq9g-71NUv8gnkeAQZP0ksFPPf2X$sy8M}4{2*ykG>QGR z52N_`PzHYvdb`F!{V0ebHAUF?i28UZR)Na?*<3V!;bww?&|evGw>yg)Wj>g$Z>IV) zp0}|T?-3=<yS!f+l0!(W<6n*wSQ6<K?GRq@aP=hp_Ij=*_;AQZF(KXaEse+64;(DQ zk3ElJ$S%t<_G+}iY`VuNy2(^+kjYx5x;Z*f4DW-|q*p~U-zD?Er*SE8bax1aN=pWV z+b@@Z%cL<AA0wT*sQ(ALKt;a<{w>mMWne&9W^1P&yh5ZC_||nRVN>@dZ^ZfhE_aTW zwQ1?+r{;FyfjAW6$G149ggNBX$Ul{Q!T7lo93DmvDz_WQsm)q#q!Mbk1@Y-X4;d%s z;}tnx!<u3CrQATp14xaO;|uuIdrJ4sSm0*|HBE$tvJ{%Nu!p`jf_SHH2bJR$8xk-G z%_c!S@jw!8$))*wijO$yQVzW{NCRQ*%{VsIsGOYjrtUbwrUZqE<Q}x#;BD?`9D`AU z)PNd2z@hFcHNa4(oD5Zw$mv4?k_e*UR~W+q`q14$0-w>ow6X%c4@zK0a!%&vmx@8t zlTI9r(7-W{PkL$Hp0oq#X$U=N0z7g}Dx*F|e+pWa00)|2JOhosl(;y~I?<DkIi(HT zI5i+cBW(cosg=&$0h&j{M}m5Es_||do}!o&HZh8b<25lVPDsG0a=0Ny05D@G9GZpQ zw+2jPb*m&~;B@q;)j-ZV8nnQcIXuCW!R{)g!(hndW|S656!gtX%re1;(0f%Xk7fpQ z78oPHH6pnnkT3wvIfp0Sl_Nb#zyh@90yCTpQfv(C>PPEVOe#j;aZFX%!y`WQt^+)? zjE=P`0;lHf+MMsTyHXbioRClQp|B(B54B1gfq_timu#HotSXJX(4EB5`Sbg9d>d_J zO^4$D0EVGfyS7BN)fGo0qQNotV0^YX>*e+Y*UI0rx5h0)!W#9a#!~uL?eUX?b7v>| z$c}xv9B@T`(q33;`kkfDnX16IRyWZ+7ZAA0$rOWYDIY`lSK$Z8zlIvu?Ee7qT4-&R zq_b&$)2Gfy%PqT{u6t*yu>SBph^|`E<<%dr@P1_+!v`#?zr>fi{JS5&T6U*ltJqrW z8dSc0mGnzA4mrv{OyjudeZ^=bhZwJhKV*N5R$e00SHaWHzD3(Kx^_=1bB)tm^V4_U zLFx`G?i64~L8yzmKQYYm`Qd9yjMl})IO)=yKia62@sm;ko=puNc)8kmq>~7{sYn3R z81sYDqz5L(Q2i-3s0SVBMf9b}??4cgCD)FXHZz^v=A2I)a1A$+$mu{203NvdR0Vk_ zprM?mJDQk$!-@r9P#EHvz^-sXqlF`C^W4%t=FU3MN);HMl;$8*3SBrosr$(}r*YU& zd!9WhNI2Y1X}gIu;y3j;CaExx;8$+eA4-I7@7A8bDFdxN&;ncZrbx`vV;w1W9!)4> zfU5zML0rLtMn`IDpGsC9zgidMZnO+;NjRXAzb-OrM#1C?i03>|FERPrFlmK>J6G#Z z+rK$A9?}OLXc`61d8gA9<0hmk2;67}CqcONr(iZuujx$ffz2;KIG{Bb036Ux2+w*| z=bplo135GUBmOK><kI6OuQZNIjs*nVP;>RBG=zMo@ummC$)@$@fVlnR7$YKp_~*4o za!;)RNuWiYz^|rhfxm{L<nifG34yrqC;|O>G?_t7-cL$tKi;4T*9RPNPdLX)i4XAh zskopBgF2j!-KgN5-n6Wz*P2BPtBMD4!>%YhPaSEXk<A?S6bNGitOD`{DfFpA3=HyV zr8&r;W7K4GKnFP;1t7?&kl}iDphG!hgVLSlkUi>bangdg=QIHb-U!-iMGcZ$nqF~{ zPV3Dk1C)25u4zXUq#A%22YO5p)cktWl{w3EKoPNFf(0nSHDIc+!R<{52W-#-Mmico zIO3IvrTK6+^O|5rdhl!HPukbOUM=y?fuJ{otR%m=vYz5Am4E{%hILFZ1dN4b<a^iG zgaCeSwEqAk0A$9&kC~f=ABp0oR<@^ZUyPLss;pJoKOmdJI-iBC;nRPzFD&ithBGV< zq_O+V#~n%hx>cPwRBLRcE)MPpC;C_E_lSNXd_VB;WY;yDb07yXMBa3V+iK_auaNwA z;{N~){7ltt{2TD+!G_~mypR~CNWi(+yt8di6)~KbI3HYBJSe$J(A514FUD5H={ij( z)cN}4N9GHd8_Ra;1#|ay0Nnko5193@Z`XbS{BY9YOQGQD?$bCaZ8S1UG2Eu{$I#aw zKY_e|05NKQ71b<VM&h#Cy9|9(aQ$nt8Et886W#iaNWX;g-4nx?*PbY{(sYRY+4Xyc zf+WW5Nhtsvezp5UqUbjM6Y%bp;X6hT4vlLSqOceYV;?gNda)+HJN=u!3V4w`O&7%P z8Q8v=VWb8+ZM5sQdz+>hS;`(#IJqmHS-Su-e%W~BZgHCWtg{NK#V5b({{RE^J!~Br zsNPFb4Z|3w?ax}(gGju&UD2jRXhY$>LQ}J6CcPQsDMxu8jBvAiBbpJfYH_v?&MT~6 z2kOe<40s3ljaR?XFDwq@^Dn5Z<CxNJ(UGUr<h7D9A<(XFMq*Q**s8zSx1rf2QZema z)|-2A6dpyqf4pwwQ^3@eIhjKP-mrO%RVJN>^++Cc)=wAS$u&5znFjY9S4nwgaD+;$ zxE{XMWL!x!LJ3eQu9;(`(s3bSmCSn^8D<2>jQUjTZlYlg(%@E%nryb{C5}z3c@(h2 z9OHED^A5GkEJgLchVg-R(?gDIh$U4A)bm{4pv_@*<;jNHdXAMf=Adn#7Nm?;70j0x zXLF3!xLPyj=9|!pm7<lF=cH)5?w-s0*mt`0uG-rBN}DpWsu9;Xub-i5q3B5ZR*GF+ z$^>DE&!-i^i^!ojc*@6BEWxF*>i2#l)8Ubl76a>8*E*aRkuga|Ylj+Up)28m+I!ZN zIvh63y8iY%So)JAgaCdfvsfHGC4Oy1EWy1Q&R@+o_WkBYdsb@0b8rI0rOEUeuKGPw z;eM0}zSeE-NIdyx&FB6DnyYj1Z{fa`xLCnG%MP1k2oKP?6|>LOecE)}{0<70@bT7l zQu&-{(eKF1#@YH-rN4x=3D7wKLG|ldcmDviEs8cQG)TU(&6AICtBn3N$liQ?@f6Ln z$Xi<}AM(x|oc&pk@~r2?725bx`JQb|-vbY~e?|Uht;gVdlAw&S{_YR>R;`DH<g{(f ziiCCEKp(Cv<$M1Ciykz;WA=?|<}sc^FpLrCHYmk&H=ZQExxkWEZQPS9nKSh+O>oxE zYBkF#Uj3K+F~>e8pq=T${;d19eSb*Op=(=>YSP`Yk__v(egm5G?Q7y6g@8V0sMjnw z#1T8^{seG8TKIcY@#c@GGe>o*LkS**bDrajSDb490319eV=_k94K$2)fC%KC1`c|9 z*O?r2X}k6Qyo{d{;%ezmnfJ{902jPBYx}q~yNia$S!77p{{S2=YbI}vl5E9}lW7SZ zcNr!>`yj8(uMmFIklRZ&zLRSV(nFEU61g7d{{XLEU8;W3zAn0Cc&6Brl1Pkg3+>1M z0A8l1VJT~G%$UnDt1TUo`md{eXz?V7M0$c)FFTA8#|X#Ng5Rxp&b#sF!?t^&@fVDz zWsm+@eX3>yJ-oCaAEpg{Pxz1G=BKOAEINh!o@D$WErcWU&2o^~__xK9q<VIrd3wP| z5W?)FbO&}ZkH)wv;$=OK`gt8^?_w%5^ut#DpuQhimbkUK7er?S?aohJlaedPyhZz8 z8#vl84_f(>=L$)}uh*tWu&<u9Pubt&rmRU{5B-WZP(xl!v1L!E-u-LWG_Tmp#P?z| z;w^gC$v*RlV`-cpKu#3@09w*mnaL#C%{(SsLRYC#Kb`*oBlb0vgZ{~(nDiqQjOG5c z5s{O|E3o`LVHrItFbO`wq&~F~0SWh@0Fp=pwH%Jz(H_#jH(FEj&^w0g6HVtd&~hj_ zHA#qTCVF+In0U`hlRSe<yLB)aiGhRKl#`4tC>W$9=71w0oF4TV<l?M%=9H-G-j#rC zc)=~&lWya{>p(de6l4Q}deZ=8DsXz#TaIy46O)RFsLp+90CdA=@S($XJt?vbaB0o~ z1Fs^O5fBeF?nVtauX=Z0^ngzEj0SzF*y4~Jbrirs&lsnII*M*UKQ|uq-N1C934sI= z-jy+(r=>=xH6oCBqyxwUjt`|nl^kORq#ZL*Ns>9|6u_Gq18-jR+-16En;Bv`<25{r zFgEp|2r;yrE^0D3<F!f$JkwkrG2Vm)S)&rh7q~Sb8D6}K3bEpZTyabY*+?Ass2lyG zfOr*ZMcsgTs_dsH9D_g%2LoyKrk-%i#XoDXKGhJ)07wTO^dKTE+qvmZ&PevBw3!*k zGf*HqvzlxR3IJdjb^dj4a|~o;bmpkDWxkavPtF>gU58>|t`1dsuMhpA{tw0Ro8isQ zkrD|t%``Q}ocQIOa`2Pa5&_5iKv%k?>%60M6=jBY`DYlx2i#FBGp7TMo*t}g({^!p zKc63kzAV%}9r&^I4MJA7WSn_&468$P8~lzvIT^>`Yxj@g=Z)>Wf8lFy5GE4yK27XE zgR<p*@fiLY2hP7!>0g+iw}-%o&~-TeGI(OxMW^bLELZ6m$CG$LK5hpAB*6awf#>_e zr2UV6INe(6scWrV5osbVwxXnTPx)nV2mLcWeY0Fi^2*HpTZ%9+%`gzm@XOxny!x-} z%engQkCmtI^r~n|ouq@%f(}6kkU{PU<a<>8{i|lr$CJ4}2>|+1;GTNokwy<aDZz&! zxTqM-+yVz$aXz&Cj9^m=ZtFk*Cj=gpy8#EDYCWY+bDDnPiU5emlaESxJ4Q3jIJVQA z^{CEW{$7*;F4+$yxTj+WG~z;xG3Jbh85GE{g?9}1rYHdOOVH$WG`J*idr&(Ijl*yi z6R~U#n5SjJ?Zr1?ZhKQq5bR?V2f)TT^`TXP812m<I}al@LSvZk;L}(D+;lYk+4dD5 z-fVQBcCe(L)ZEjL9`wQvXef416r+%7K-#$JK)}re*o=3lamRXhY+{-S98ffdo?nW6 zCq9&_!0<;(1|}(RI#LV+gT`niFH?#H#U6y>tCN{Ay8|?=$Fbs=FitT*nk=@^c;=%l zq!3Lrk=m1Rppm#3$fxuiif(aECveRGC<hr7V01lb4Ux1{PBX_^08I1iP9HxVDW@H% z9Wy`=*|hUWR1v#1JYYyY>8&3<c%TM?6m_K>bTn=JY20VpfDv0YAf_r{=Q*cP08U38 z=>R)+_cZ=Lhl+A0IqOUYA{>G1Q-vga)L>`j;}q<ZxMwH%QUR?Rk?twsLW+$`9th^8 z!6%9UPH9LWb*BaA2A327z@+h-e$0Lq7QzT(c&h^>W`Qxd%_kWiwEe!6(ztGWR9F+Z z^MS=Mu+G|%QKT4+OB%!0d`01(4lkMF9bVT@Ki!f+y!{YzX-V62YE&mTXe*mLijZ-d zkxMgSMoH~n3$Omreh<>a4I0klRdN3SEgXm<81I(kkHWla<Kyqd-y7YXGr;!dNhI96 zG`I}Rpmhx~%7gXAL?_PeO<eb|+%bxu#H@X{do7-wZr3`c)HYD4$$8ylAE_1On%~DC zhZ-}q7MD`$(=Ko=ml5Q4^BV*5uMN{a0eoQbox<OEqGZwIa1Wb(Ik~zX-b#~$^*FC; z@bB!m;4M4Ko5a_bz9O12g0AA)+>_V$aq>s8YU`($R-Ugz>F|6L1e2)m_<zAXgIxWl zb<3%~$Ki_zEM3kMgLQJ>?xOLZz}6V>hwT^fApN5D(&;TF!SgjazQ+ht!6H7S<F?xS zt3dFNg?uQUSB5leO({nif)!W)0KWNe*0$vi%vhY0)Sk8J(aEX(y?uYL)cVXGMTVlZ ziatKjKV>~QDox{W5J`O48?Edk`#fH_GQM2?09Vr92k;MtybEgje}Z&)wEqCK;7I5T zO)vd)m9oq|vyW=&4ZQ9@cD18#b$?{MDIS&TsxgE)X{38NdNGT=j<O#O+eK^|{qrkw zN2Nz5i(rtITcU$G3Jr5sI*jsPE8n>)Ppx&|@g<#vjUoDGysGi53479S(Doqdy%MpW z+GK7rvhE!+YG^dgJqBcP_|$sNvu6ZrZD|(O1E{V|^%j0xj8@brRjC`dVjW0D=z3&x z=~l6YLK{Am!{RF|IRJ@EA4>DvOZEOSR_D35atf&|D<_r5n$x>9SlvC-v>qp(=#a`I zUe%Lxa`QPZ+#2TM`((^Y#z6W~Ue6u0Tdyx6wL#uV6>6h`rw8uY8Pvwc*ONEmRYoo! z1PaBvzMm|+%L?Uh{D0v6D%h-Av=>((bF?&yKktFfdBxYot1bJMTd8r{IHQSA{q$L} z_)!c+ILWr|eEvI#s8f82-_Z6;O-g0BU$kYT91&G-u8gx25Zj)ZuN9x;6~jaYrkN7H zd6HKyPv8QN*0HXBDtM}Kh#o6of9ITQ{LW2l{ij7r=^PW{iWcg92LoR^VU>vb8isxG zpWn=oj{Dpw{&n)j=ZZW>e#Nf!Dcl~yLZk8+tQjsOcik+E=cZYS{&}qBokeRDd9}E& z`6KwBR9x%c7`7nYYWC+HL~Z6D$#Yoq{6_GFsq*d8>ge<H1XNx>-XQ*!^Iw{)j(;kT z?LhE=n&7LRRC*)LtHkxCwUO?3-xVNSiybXNJq(f-1L_oiTEUy*uZb~>Zz9+q?nVjx z+co6xaO?87$`9dO<@brSZ8=Q0*O5dA9I)$L^UW%~8$9}%wkB`le<RlJ{D0zmzm{D} zY#&D}{{W!kxw-W#nMiAi!=G0<C-F7&=D+c`!8%%IE75T0_+$NfHRSrY?IET>!b?p* z&nj}hdu316RFCIel`#^Q?9v!qWoNVbpJtt0-7&X{M!1l5Sn}V?isyCT7HD1>gucIh z6{`-BmJcz<`v8;q*T6n4{i!@}s#>;}q}(o>19cXu<#Ff;=k+z@ej)MhpC^WsPl2YF zRl1R0>UlA=C>h(F?j*NA*12bi<=vj%4~20PYuagZ?@#z>&kW0|Nv7CXnPG@!=aN+m z$Fk)9ADvaye`wzf+fTMTV(6+5C5GUCmMinq!CEhi{C}=T;ZFlvHU6VCa!f&C8b=I7 z2a()^wE<u=f=M7_u0EpBe`9}$myHzuC-DuQo~%anh&{_~$MC-k!SxucRTEmXyBm^V zaN1X&FO}W?<Y@SZ_Mg?}6CEN5ZLODq)!*^S{{RZ`&k=lc@jkE~DKD8JlkXsXr=Gx! zAMvlVG(Xte;mwN)JVAYXtjUv~-u;~jJ&H%gdxwTT4E!+gV&lWU9kjP%a$Tbmxjv<w z9Mm^$VvacG`CS!iaB_cg{B`^f$&EAq6VDRJZM1zh`%;MEm7;;%DL?IC0)HCxofr0a z_~YW04%$*_aW+6}`9x2*J=ABP#=lu@tl_l<ZINMLNWek)E(J(cRPHOdnjEjt#=jWZ zf3wk1_1FB5&fgFI#hxXaLnn#6O>GQ&e&w`JBZH4tJ5M$2ng{HK@Yha_8(6r#)uaQT zGGh{F)FN;{I{MEUUYlw*^y@>DXOCZrv2{0{y)^ufFwi~^d^Yf?38DCM&J&P#v|>m6 z-*tL47IxOj<y%0I$J1&kL67(jD$(t<Q^ZWdqQ{e07dgAmO}|n<A}|ABeJSf2Htg|A zRzt-|u}O@Yn;1D?bJ-Aer!^-EIHTqu;=N<%2K66GOaO9w(q!)Ep`(&$0RrH*JJT3u zq%03BO`r(<sc}XRIi(GZ(@cD$a0k6R0~H?ZoC<oAgH|EE@k_=k2P7Qyr{^n?+|mKW zj{T{u%m)KF^rgTwbqCgqfSitd(j0ZiG!dK+N^l#qjxk69fIJbAOk?u&<WrcD&svY> zJepuDV2qw<7$^sEOy9fZrzZgVicBma!5>O#`Fm8I4@zro<C*}8n;m*n*Bg1~J*WXm z`Ka2eFhMlHXe<dFb4!A0agmx;VMqXQPC2J@{6>_JdBr0faqC6Ek9K~BpS1M@G{B;# zTm|Ns4I4L7yKphZN4OKuN|k|cm$$7TAtYe)){}NZ<Fz+y2iw}Dzz42rfgd<D(Vo>Y z$E8M8_7q$OF+Y_wjDbo(;CH5iMKBmfIv$l+ki>ykepAgt=s4IppbEtZ#(2#+6d@<B zc;>9_<Q5c+yZ}Ec0HVO;U~+1#k}{kO0y@?AQmim|s*|HKhQ@!wgJ?1c=GxhA25WZK z<3B4NJ6AGeag$QVJI1_oiVKuYuMp@u4~z6IL&BaVgY7zItqVbLgYRu`;$KEn$UTU! z!B2>O3-KT9&+&Tq!}mp{h6l_u5%ON?^Ya{>a8BQqhi6vf7_Z&cylugd;qlkfyc_nW z_!keye}<1HjR1cb_-Z*WG{P_%<#D=eGRGh5LXDZ=I8)O(%B&MtKF5Lc<%O>B*pJ~< z(fK}){Qmxg-?Kl(7(8p?SiCuLapzuXP^^}+Gj3_@PfmNZB;fbk&3#K5$;dVMCHpq~ zP}F=2;+sn)e<tR}MtgAiQtS>Sw{<-?45<g9;Eam>&G7EOVd8BT&%|0oZnD%P^CJhU z9*-M;w2i_14N8)0Lx+sGepn1#n)qe0(+20BYC=?wl~r3K-lWMR8Kiue@tpBepROtu z%}PikiU5x%K7x&)_2<%@*xR0zFR|%B4ruZ@sFbpwkYgRqOsBV{8&{IXfFNv>&svu} zg~llusp&@220EGma}E!!My`9*%gXI;ql#gSb)Z)pyRke}fQ$vEgc<8n9zL`KAD@$s z^uo)6G0rL$IO#wq9MxQ#3xnI7b*0EXv5Jw70LMd6Wk!8P36F940QAVFWNyi(gOgHK z50paNxTL`bjt4&Up_jb_xZ|8+lO5@;xQwq_KuN~pGe8f=uQd>Cx%Q`SB#(M&$2p(? z{p^EHZj|6@8yj;#75OLWPaJbi=}JKq5g|*S^qKESIp&;jcp`xY3Fe*A2|VJEu*NB% zf_}6Bd(ln{yQgXfMF2DpS~1N$1tNtUiU4{YrxiBgQ5=ks-kJeXmhV6kZUg9P755#d zfl8y&mv1?s2dW(6ml)=q&~&9!miC|s&N2w;R#c9A)I?*FJJjKDGv0tB8%rIcqzHb3 zm#OPZk&GGuL4Zl4J;g53w<e@m@^RjP7`=JxQc~QQEp6K7_GGk*K1<5NHOJJ~m+OBT zz8mOqIZO7{=1<_VUE@FX(XgMbOsXZ+?89aC>pN3}e<Rb%jB`>5pCgZ#8Oh*d>TBeS zzuF7Nekqacz8rXYrE+$LhBm&JBaCibM6LB>ick1b{{XZf#Hdzp7-}n_ThH?pzMY;# zQ;rR-xeJre@fy+;=OuKl>U}N)g7GzVo3j4CN4|K6;)lbZ46{S3YtS{qXE0kIv`vxQ zY<b7yUK`>M+Ivrl-rvI-K_u|9-pDr}aSCMf?nQQ98U2p@0i;B~@RI76`tvVHkgbin zeFPvo5BH6G?}ok|_zS^N`F<Ag?UtLk<((l7BOg|G+)4MY+IfBcDShA9=zUHTf#}oL zrl-WvU4GFY6k+o$EiTf*^R<Zn&9wv2vth{h!Oe8~H|(9R>MpllE%79JZv2@d)6?w} z6aN5RrTKl22EO8AU9%$=J+sa!$^bd)E3z4VDD?inuOsQ`Wwa?SSj6#<4t~$S3p_qj zXVQ+Za-4~^30h(gvJ4>ntJf`TZFKlP%csE=oFk7e2-YRQ_CP;c(G0yhQf=IRT$An1 zbVf0b$nSznM2g{Yz^O1Xil6Ma8UFxOMthzI>seR2wu`4RO-EI<v~V(3Nz^yx)|;&! ztj@J)MP5=%=38X|<E>X=v}dhyvwTJHEPJu48-`!`;|z=s(BlTVtG|ps9)}{+Ou4ut zr<%(cKY%2U%Ch?PB(HOdd7TKWx&EiC!#|cVy=Z%~cwxG}eYyD8sr<s%Nwv2*<8gUN z{C-;Juf8pK*5z>>*tQ?th9pt>oyM?vjVs+NoE12tgf_cAsNEwdKW51FBNc~zJ*A#r z^7;!w{{T%URsOZ{<>!k$L#R1x+xv;Keqd#6VD`Wuew9Hb4A>F%tiQE+egt{dxWfBH z`ljc`o(+rrcC{Sjar=PM^!Ec5&0hRd@U^af$!m3Yj^}J@e>0!bzIkCI9&_}i2uC%9 z^NO#j=2hZ)(&~}y(|lsNC;lbcOcvmDGP6scz-|6@iGT51#y5ZJuF}<U(iqi$Q<Gj` zB6e-SQ@pn8n&GLBsVA#AD(5w4qmwrE4;FZi^s&3uZe-7IHGs#_a4Vl{nPp&Sa^!bz zPwSegaet**kMygU#yb`n6^V7@e+=2FmTQQ@595+WjYr~Z3F2Q?VHs7P$m%@I^cg?S zoQ*L&uV2Fz<oBN&d<AUS8uptPr|*P^{{S7SZayUVWv$li_^#i|a0n2AxPAwk!B$r- z;A`&U{^okQNeSUbed${Pes>G_*Up-s#_t2#L|)oSwK)b(>8BB<J%H<9Abd#p;jC*~ zoa0Z{zq72L3XogA(75aKXC$AkDb&#P@H{nN5c;F^-uG3|bm+vl`h*tVrbz<-05e=% z{{R*~9K_Ov*Dc@4``B&=<I|e_m$tI_i{tyHgF&#={6J*SmeE5js^i*1HXr-yyX5#g z<LxG4r1+U%!_p8KrP1=-f;0DWLHrF$lY1WRP7TA+OWW78?f(D+bMF0n_KfgGlM!n& zZd<n_72;aY?O%I2k{u%6C_($DmT$=7yzfHz4Wvvw-BVm^g&=Vj03O*q;=L<G_*L+` zNRSEa*74MR>DaeEpj3NK=ydY@wwHM`#x-A#{x#RG&8$~5%It6=gdN{ZE=^d{d>8SH z##ntnM8BLlIB8VI27Tnm754{(yhGt%3PP6JUY%x;<gwctZwJ&iGxe`@()@9x>P2Ib z);1s<G2;i)j%%}%8Jxy~wjPRJx}TrgKkS$BTUQA#t$$~vqjoN4a6P~Ry>CJNiM%*~ zOX6*Q?@;6BNC1H|?7(iteX1^ViBy9b>F8=`u2I-Vqvmtab5wl&ekjJzNXwVeTmA{) zdPnTZ@H4{JmpYB!i4DYd(KM3Je=ABOjRslCIK~BjSbR{`G@ppRKl=y6Jqj&9NQu_d zOVjM)3ncrS0%zprN!WriaI1oGmdDk<wkPcaZG9x)2mBv)lUcyS`(ENV`6Regk!z57 zMC&e23BsI=f!_Yf9|HdX;T5o7i(W6a&b6vW4w)RQ^V-|6`KM()C6_#B?xqI>np38v ztoJ_CEX35ya8DnNlXI8D7We+T_Fkv5{0I0YrhFRkTIsSByYUvN7F|;84z2t)@t&eM zhZz1Q%N|Lua1cJ+5xW&4$rf^WCX`Bm{pxUnj)&!V?0sBCSyrm=CP(Cq?mcP#Ug4A4 zq%uZ%&J8?Br>Ab!XDX8+RKU&&q-~kxb5;xE+M+8+e9TM^DawoK%_jg+y*{+Z&H^kP z?i^Fs0Q1tA9aICwCz_|GD6q>7w|FbfPO*ZZp7liBgyaBfL3XHthdJmd1J?fl3NzP= zLO>Wi(c6yo=$=@{!N;Jb#?UdzrP!dKT22Qv0TCdalY^RZ;PKv*0A#-(N?~k(XaQK` zier4dig99caZFL3O$8<(Joc$FaDC~aN$pR^sH;Sfo`h3D#|NcM>CW!e8S6+a0D^ES z+=>n{lSmgMj?@6Bj@hINGJWb+0~}LZ9jUfE2uHU9m*pb{m`MXBfI+F|8be6O-KMWo z?^2xp6&oJ7q);*u%|v=tl6MYj9CqtY<noO<+ni)lE=bKN2a(#0g~n;zO$=aq4h<@U zo@z{~=NP09wEbuh-0kgB01qabPAQwV`_lrzK;2F;Od~z%=>Gs92AR@;9k3Mub)`T^ z=YvX^_3KgRV_^59z#|d}AmWt9O76}{q<@%zDrH@(f^(VxuaS@m#V39`Q_79p@$F4u z*gl=90NFrd8ywRLk@!>DNCKnIYJiLZxZ;$K<Wr>DF@Q2?Va7qA0{{%31t1D@Nsi)? zNmllt1Z53?-Knn{ILeX7txU=a(=r%f3;{qH&l=;NYKy_c5#F~9Amr3uQkChFXf#zB z&aiYKkydSWIW1iZ9jvSlM{j!5dsQRm>(Ew3#f$P4Kpo8nib_Z2$L+iDWxN;TD}RkX z4unCac#eGD2!_<O)xPsL9TMx8AN0^aQy>-Y-?C4}>wQTR!}rp8c3P{1%bW{sK}HAB zXXsB%;Po~2Pl~)Jqj=}S+Mj`ZR}Y<}>k)ZV58^_nbaKXjhDe+TRvdyeUy01VDE*$k zEMIsl#R0KxGQ)6CZAs%eXfC7l3<z=Pa=9f<a@1V1y4d}1Dx7nyx>!1o_q5iJym~)X zv-x*t^d`J~tT4lZJq=GECl%x$2R<Ul@gKp^>NCivRnzuc-zejIWA}5f`!cUzM&qq| z;<3o|sy`pCMpUNh&vaP>2AnCXbI?<<jwm2j!wOEE3J+>10i@*TxasLlUHh=yW}M5x z$68IVfX&4KF2J~Im>l)upx={<lyXG?E<+M{{3${86yKFez{MM=28Ch;Gj=#VX~Ss* zj&VuG;@vpnfJiVilf^E01FbUzox`E;NO&{~!0y0tQK)8bYL^EGbtcxq+dy1?z^63L z+~S>{J;gx7B(`dz2%93Jez`rVxIdLH2YR5mgr1_Bue*+vNZ~L#=8z5E#(~_Bb?Z`f z85I(OI`U{Nap^#X`E$wXN>1e?IL$_SA9_XWK{v3>ZR&GMPfAu4nC5{465Jk?z38HV z5RNH07&PP3m=9_Ikagmu93DqnkDSrSpb1Vo^r-Xc%{w6V>q-XRK>TO{M@&!#PJKOT z!v~*QnNY7i{ip$>Bxe+$7UZ63z!nDs6by<0L69&{H6o^0BZ^Y2+ylv}BaO4P0>|5$ z06?UVrAdweto>(P&^$R0+I&N)+v&0P^P~Zf(R!Nkj}rdS{tVHh3!_`hs!HD~Jg4l? zvmStM%eUaBq0~v+sp#PHoK7S7P;B>gOt;IDeJVTq%{xi7Yt3fv9Xj1PFL5HqKVEC) z>n{@i(SH*OPYP)dqu5E2=a~M-3XgfG21Xw0mD=c^vL2=436oLyqvIEmzVk(546Fxm zZZ0<*d!Q9olUKEmtiW(3Y3o{6{=0{Xe`ueFnhY$~9&W5uAKu_w+YEZiCJ7$u4RDs9 z5<Wb9N1WPxKk)R>S-HWU+Ssb9`kRZ5sz<u1uc7Vi{{Unkg7U;?7FSw~SqnA6ZAR-L zat3!C`vF=PAGRmL7`EGK7CN4!gM~;f!l?QODhK6R%T40`dLLPZ;jFHNmo-SXzJI6a zcy+hzx$zgpWL*43@jO<D#FHJnJ?+Q0?<B-S@LoGtx%gZ5WB5zq@f`R1WSacw01v6i zXH0{fh=vdx*ExCnWOx-Ko>cH|u_SOKIm^JTLX4aNC-bi!y8i%zgXvc=8GJ9`gpdJ{ zZ*G|g^vG0i(zR9X9V2hM{v7&BSd0R@gxB3K)mZz^181gNuAQV>MPqLt0y}utBp-qS zO-8zuksZ4@9l{e|n_9Q+`{R449W=`u4K`d1Y>#mVxZKA)dhM<bU)u}D_vD>RR=WfH zkVp}8-#b-sD{3{>z0|({0Qd-;PHjzV1m*WH)t{^e&gM4~+(scla(vcQ82n8~srbXe zF<UjA)~%<&>%$K<S;ycz*W;$8`$k>rZ|2Wz*Kz~H-AK~^0O&;5Id%I&_>MVoXK8N~ zcsU_(#QPfOuZxtL@;u4sSca_%R`qxP03-Es>*8O-yHg^4zUuAMkRY{k5Bvy#KOEK} z_`~7<04&L4qFziFskoLn$K<4%{GNY~-Y}hf%ZZdRKXeWNu6FO^CyXX$PwfL9<ByP0 zS1_q<&puW0(%Gf*KUyxnHR_lLPSUI_!5w5TF$dc_MR6Lh#ordY8E!m6EaE(Dfntq+ zP{;MJ%qQ{himz1W;^J}sz+=<tR9^o8#Mjs!P0NyVlB^C7u5nyX7bm+ps$nrx`06w7 zom=95ljXE}*1Xp{j&UT?NKepi>GZER)P6DeGQq#l)#qk7C1cy4#NgM-X{Y$6<h*NW z-!3!11FvlJR~Ny4HJ@l(Wsf~`k~!=!DEh;DoUbW`?>Qeq>VF+=))o6DleB}T<G}YK zxZAIcTK)ThAzN#6$=Wi<9ff(&_+jI@8FGa0^alWXR`s93j~HC>aO{ME&kI>A8%Bm6 zD%{BJWBA>oTTHRa_c%NkAP~QYTGn5Ro*lk~OLyWgvcPl1qszzC*9w1UzYtt}vt6hM zf(fjhbM|D^<kMa|H(SfHq(-eFjxf#8vB4k@Oje3%9RC1N!cI!{EO~#$Z`wwC&k@+@ zKMr+QdkZ3lS5zn`m6-QDvH^~I9M{%br^S6YLep%e)-{c@O$<!Y#~5ea%a+LP&#ioy zss6}bEbym?bzc@6`&*l>I@Rt35g{)rkLF;lo-i^%@6xG!E4uKfirFCXUg>U11Ve-O z`T)nbKcz>sYg6d4`3_%Rj9wF1!*|u6PDlGdcv$f^u`EFLcuq+AsN%IPem3|T_9<rm z-(`*f3l@!rN&e`^%zl;3SbQhYwOh5d(e!k<lpGgfh|}Ge@CU7Q_udozn>-B~ufz>h zYFdH~#>-D&4<Eud{{S+1rx~}Y^7XJdNWNIcPF<1Z9xnZ(?4X_C&@65*5kKX$<)T(@ z*g?)K!IR@3k98ZSyYUU(!dn?Pd2j}dDt~o(2k|7=U-56_-@{8gE3Gr(Pl7EpuRk%1 zyR-J2uDB#~wMqJ)rF?{*E7$J~mtH2jmMc+=3;<g_6+juR=C1WWLdf`1Go#P!lD~b= zdGTk*tyL_ImVsv-t1vrfn3*IUv*=IM*UR^wEY&aPdyQLAxV)6HC7xDcljx-FAAkb1 z^~;NU-5^h77{uHRj(F%vuQu|S<b#}dsFV{wM9DHL6lt`hXZW2wy3+YyE0MdeJ?p#h z&Y7%gktOuAG)md>%Vaqo-rk11{{X|fd>1$IrP>)3k@EK>^sjyK7l*FAn>g>aRnlUV z9EHNURUC!%+gvrOax<?JLYschE9P<+m$sT+$CY@-R!_XrzaNfk)jl8mT(R&?$<*P} zbo;4?AHR)cIQGvK7sDNY;b(??PiLxXdVC%ug2yUixNk8Ze+A?mhQQ7RexH0g)4yX+ zi59WDcq2ozpE%nkqJ-m&dsm?fQsq*8PtJIcA4d%@XI6})yQ9H8H~W3~pG3EfVbZK( zP&y<bK>q-~Ffr}d-n%(J;Gxo8k2hHGzMFP>ZjwB>2d_}o_D}pV{{ZaAsoNQ0@D`5A zC?7q%Kn!~k(z)yJ*k|@>nkQKN5dtY3l#$iH40NXykAkV2WcRzJHTQq=N9L!+Z`#kp zzAdl^LGTTRkE;WpwL&)jBrZ38AXm&X{CM#(B(XpM+DeYUT=cKh-;Lj~-|Y9`?}s<K zwuj;Ou+?R_wYRpD?Q-&DkZ)B&aK~mz9fvjY9mnjw@a|~0MsAiuGnJXJe+=TXt9zeU zlxG<urFTwN^IHCA%}Md|#DT+!Ha~0ujy}1q{WJEB@hz&EZV#P<fTWR;?nk|QQT>!W z4<O$a)!Gx#Z^#v%-?CSS(Kg%av!l1LZ_v_uYMJTJF~}yZ$o}v6Ca;120BnB|*xkb( zrD(F*XPEMH^i!TcD)lcL{@INugzn++o}M)AR{0tjrgtvZ>cb5p@ylcG``64qHTV;u z{5;TGUDY*-Bn8B9#1%tLA^s8Hj->il2f=TIekb_v<LJC4qqw)Svy1Il_fjhuZEeB8 z$r#JI`B8J0`Hw|4agFSAPbJE#f3`(h5!JVQXjAw}Y2k|>7ir!v_>l~kdR@H6cr6Jf zuH{DDB$1CkSbv#`<=fN~pVDg&+PA<ur0$bj-9UhVSZyo#0CR!qit_zy{t5l#OYKGP zAo1Of!a~N4VJI=gqY9&JpkR6dR6pT@ekWQF^j{fiGN~kjZ6;Djxbu3~L~!z39u|L! z$@2<|wOmfiMekXE<iC0JBp<X-!#SjiKef(=T;nmGgS~7g$6tmLlA~JPv#C@#2h%;s zuaa*+Vh@fM$IP(TbZPc-8JbATdtjEw>s-_R#(%V2a>&sxjWQFEMxg8X<H<Co%#WT~ z7E?9uVwcU^^GN&7)8hXC!@IaV`1R<LHtD==AP(doT3G%p{4$vgsp6YeQ`2*8$Jae8 z^XgC8H};gaiQ^hppDr>$Tl|uJzjQwe%Krd{Vg02oxu3$qL(mxS5t}}za9V{ab{pYr z1;5^-{{VqR{W`YsuYs;c_`F-EJ~8t7<2>}wHMb72;p>#bc!I|n#zdgk<o(~k585`y zPm{qKn~+D(6xPh6*k)D!Rg!)i{?R&J+p~BlSPU>QJf{Bu&}Aa2$*s`8)VdO1yTwQU z00NKspRfD$^N_mDqY`iclP0W-J2Tf<w*LUW@P8`&biUJmIcfX9w0tM6!!my#+1gAG zKw~YF^!|04`uD_`kDGVl{cuUgEvMa%KBhVx-(fBRsV{=EewJtL0_o8axpiA+2mPZ` zE}Den`$pgJVr%ijFN$9iY~d`{TD)qb<|fMRKpyAI#WGKi9x}6tT+4ZN9BI_Zk}9q} zSf~Jc5^?y_RUYPV!|Y}K*`KjbU}O23{@ZCd<;^`b{{S?q$A4&Z>n1V!SK~~-w4aLZ zRb&3vXBga}Und#HK^?Ql>0QUezmGRpI`YZl{c>wv78Ge_A(*s{7|NywP8jwSMzUsg z_yZkIE=~Ri?m|9KPAM3ikSV7sPC6P<&o$~Foese2Pg;qN4@!`(<BZctAkYLX2|S;| zo(@3t6rD*YttMDD&u`L!qy%Rttpoy~5lTi*X}BFTL3SLu1L;UkdG(}LBZXm_8?G}= zF*F36bJC)~2PdUCpM29u$;VozKoVQ00-S)1(*{Qr{2pmG2@dlPF^(yt86+A(&q`2z zdepN-I1V#PTLfTdJ!y(ZIi(|viU39=bK0UKntK389cj48!Jr2QQ6D^!QDklebnlvW zReFj-K?Gxy(vSyi_NHJHnoMJpP87fZ031>Q#_aJ==|)GjJBgvEuRSTi4CIOd#{!SW zoyllSfIVmjCnvQi2N}+3KD1mcNEl>{VxlB5^`q{Llg$Hx?M1@Fk2o|EeQ`h}6Suu9 zVB&zVgCqmj-jHODRH@H;Qa?&TxOJl91C|{*6<xOu0I6AxG@SBjpd!N_rldGtGf7HS zTzk_22;k?fS8hif8nQ42M&ly`y#OG|&P_Yz#xc^N5p5;2Ql5DRfDEqe5!QlNsK}^U zwx5{vrb^iRzjlBv6Bkoa2*3<;*QRQku^2S-F&qx3r2vr}*62>`b+3wlZ4ZG9@hiap z0Pvq^FnPWr@SFt7k;l4A%`r)7Bjc8Pa!j#~PB*CK>+R6Rqvx$nZ6d`s<p8ki2*^3? zeL)-=iN~2(_A*S~t_u+iMJKBKS5@;r9)Dz?jJF;c*6r=DWG@|@W;xYcCgQ>R?Hw7T zKQf<8<E?(oTTcwo$8m2cnhBL;jz#G4xXQ5liu_3ZsQwYp`#$_uhsB-_fWzU9Y1;2h z2r(QE2l_>q9Xzs2#y{tqZBdBHuh1XaTjI^Xj65@M;cJP!$s>ubEEt@zjepl${bMI8 zJvgp<Y3$Fn<BXo2Xh$`|YY8jA>$?8{KF8Q`zpYFh9+gHpHv#Wf2g)(lto*?;z&PfC z&q|CoSK6MrJt!zlkk~ycKo5F>)!DvYDOJjRq|gJ{1KSk!IO$9-Hs`6ROsp7UfF@!W zfyp%TcP1(#+qtC49MA)~9Evbc-lvw%IHV`705g6#G^@{El^YC@O-Z<MKn^DyQ+E)3 zjWo7K>|&R2b>f-<rPT1X9_A;LOSc}>gCprp62}gE(r^bfFFk3+JN3m;A_WJYw9ut9 zP91oqDtdLG1xx{vO?ExTJ*faFcT-uJzV|c*#G?e#QjCMe052Wsq_1jFC@Q(;fDuR| zG{WRIItqP4$B=PA6K6iuQ%NB7%`S7&fE|NQIU<w-0L@8+_2z&OB8(B%pZ9yvI{-0K zsx!951&^TTGyxLv*R@I;Jl00PuK0Vx_P=TI9;t7pr$8lfy^o@x`HA+g71uv#j}F<& zEIcix+-mo7aT$~}O6UEElr+u%0DRVNs=bd(2b1D)5BE@hyDz-@86z&iVp7EVa%&@7 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ƛ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¥@k_ZM?1x=-}0i>aC6i+2s>lfchL!1`BR4d27h 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	%bw~>JPQa~A#9n|9_4{X-(q|(&Y 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®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	<y_G4!M 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 OO7=f5uSb@AjQ`mfw4|~C literal 0 HcmV?d00001 diff --git a/src/content/community/acknowledgements.md b/src/content/community/acknowledgements.md index c87a9297..aeb0787e 100644 --- a/src/content/community/acknowledgements.md +++ b/src/content/community/acknowledgements.md @@ -16,6 +16,7 @@ We'd like to recognize a few people who have made significant contributions to R * [Andreas Svensson](https://github.com/syranide) * [Alex Krolick](https://github.com/alexkrolick) * [Alexey Pyltsyn](https://github.com/lex111) +* [Andrey Lunyov](https://github.com/alunyov) * [Brandon Dail](https://github.com/aweary) * [Brian Vaughn](https://github.com/bvaughn) * [Caleb Meredith](https://github.com/calebmer) diff --git a/src/content/community/team.md b/src/content/community/team.md index bb28fe88..5f19ccf2 100644 --- a/src/content/community/team.md +++ b/src/content/community/team.md @@ -18,10 +18,6 @@ Current members of the React team are listed in alphabetical order below. Andrew got started with web development by making sites with WordPress, and eventually tricked himself into doing JavaScript. His favorite pastime is karaoke. Andrew is either a Disney villain or a Disney princess, depending on the day. </TeamMember> -<TeamMember name="Andrey Lunyov" permalink="andrey-lunyov" photo="/images/team/andrey-lunyov.jpg" github="alunyov" twitter="alunyov" threads="alunyov" title="Engineer at Meta"> - Andrey started his career as a designer and then gradually transitioned into web development. After joining the React Data team at Meta he worked on adding an incremental JavaScript compiler to Relay, and then later on, worked on removing the same compiler from Relay. Outside of work, Andrey likes to play music and engage in various sports. -</TeamMember> - <TeamMember name="Dan Abramov" permalink="dan-abramov" photo="/images/team/gaearon.jpg" github="gaearon" twitter="dan_abramov2" title="Independent Engineer"> Dan got into programming after he accidentally discovered Visual Basic inside Microsoft PowerPoint. He has found his true calling in turning [Sebastian](#sebastian-markbåge)'s tweets into long-form blog posts. Dan occasionally wins at Fortnite by hiding in a bush until the game ends. </TeamMember> @@ -30,6 +26,10 @@ Current members of the React team are listed in alphabetical order below. Eli got into programming after he got suspended from middle school for hacking. He has been working on React and React Native since 2017. He enjoys eating treats, especially ice cream and apple pie. You can find Eli trying quirky activities like parkour, indoor skydiving, and aerial silks. </TeamMember> +<TeamMember name="Jack Pope" permalink="jack-pope" photo="/images/team/jack-pope.jpg" github="jackpope" personal="jackpope.me" title="Engineer at Meta"> + Shortly after being introduced to AutoHotkey, Jack had written scripts to automate everything he could think of. When reaching limitations there, he dove headfirst into web app development and hasn't looked back. Most recently, Jack worked on the web platform at Instagram before moving to React. His favorite programming language is JSX. +</TeamMember> + <TeamMember name="Jason Bonta" permalink="jason-bonta" photo="/images/team/jasonbonta.jpg" threads="someextent" title="Engineering Manager at Meta"> Jason likes having large volumes of Amazon packages delivered to the office so that he can build forts. Despite literally walling himself off from his team at times and not understanding how for-of loops work, we appreciate him for the unique qualities he brings to his work. </TeamMember> From 6436bd9bf8ab0e61c2d90e91452a3fc2e10afd6c Mon Sep 17 00:00:00 2001 From: Eda <58330360+rivea0@users.noreply.github.com> Date: Fri, 29 Mar 2024 21:58:23 +0300 Subject: [PATCH 226/382] Fix typo in components-and-hooks-must-be-pure.md (#6724) --- .../reference/rules/components-and-hooks-must-be-pure.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/reference/rules/components-and-hooks-must-be-pure.md b/src/content/reference/rules/components-and-hooks-must-be-pure.md index 3112ea03..68600639 100644 --- a/src/content/reference/rules/components-and-hooks-must-be-pure.md +++ b/src/content/reference/rules/components-and-hooks-must-be-pure.md @@ -28,7 +28,7 @@ Concretely, this means that rendering logic can be run multiple times in a way t React is declarative: you tell React _what_ to render, and React will figure out _how_ best to display it to your user. To do this, React has a few phases where it runs your code. You don't need to know about all of these phases to use React well. But at a high level, you should know about what code runs in _render_, and what runs outside of it. -_Rendering_ refers to calculating what the next version of your UI should look like. After rendering, [Effects](/reference/react/useEffect) are _flushed_ (meaning they are run until there are no more left) and may update the calculation if the Effects have impacts on layout. React takes this new calculation and compares it to the calulation used to create the previous version of your UI, then _commits_ just the minimum changes needed to the [DOM](https://developer.mozilla.org/en-US/docs/Web/API/Document_Object_Model) (what your user actually sees) to catch it up to the latest version. +_Rendering_ refers to calculating what the next version of your UI should look like. After rendering, [Effects](/reference/react/useEffect) are _flushed_ (meaning they are run until there are no more left) and may update the calculation if the Effects have impacts on layout. React takes this new calculation and compares it to the calculation used to create the previous version of your UI, then _commits_ just the minimum changes needed to the [DOM](https://developer.mozilla.org/en-US/docs/Web/API/Document_Object_Model) (what your user actually sees) to catch it up to the latest version. <DeepDive> From 307679521bb050565a6a8bdf807f94a919998504 Mon Sep 17 00:00:00 2001 From: Ahsan Moin <123082059+ahmoin@users.noreply.github.com> Date: Fri, 29 Mar 2024 15:03:19 -0400 Subject: [PATCH 227/382] chore: fix typos (#6723) `an text area` -> `a text area` `an discussion` -> `a discussion` --- src/content/learn/editor-setup.md | 2 +- src/content/reference/react-dom/components/textarea.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/content/learn/editor-setup.md b/src/content/learn/editor-setup.md index 94dbbbae..7ad7ee27 100644 --- a/src/content/learn/editor-setup.md +++ b/src/content/learn/editor-setup.md @@ -40,7 +40,7 @@ Code linters find problems in your code as you write, helping you fix them early ### Formatting {/*formatting*/} -The last thing you want to do when sharing your code with another contributor is get into an discussion about [tabs vs spaces](https://www.google.com/search?q=tabs+vs+spaces)! Fortunately, [Prettier](https://prettier.io/) will clean up your code by reformatting it to conform to preset, configurable rules. Run Prettier, and all your tabs will be converted to spaces—and your indentation, quotes, etc will also all be changed to conform to the configuration. In the ideal setup, Prettier will run when you save your file, quickly making these edits for you. +The last thing you want to do when sharing your code with another contributor is get into a discussion about [tabs vs spaces](https://www.google.com/search?q=tabs+vs+spaces)! Fortunately, [Prettier](https://prettier.io/) will clean up your code by reformatting it to conform to preset, configurable rules. Run Prettier, and all your tabs will be converted to spaces—and your indentation, quotes, etc will also all be changed to conform to the configuration. In the ideal setup, Prettier will run when you save your file, quickly making these edits for you. You can install the [Prettier extension in VSCode](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) by following these steps: diff --git a/src/content/reference/react-dom/components/textarea.md b/src/content/reference/react-dom/components/textarea.md index b1ef7147..9bd29fa3 100644 --- a/src/content/reference/react-dom/components/textarea.md +++ b/src/content/reference/react-dom/components/textarea.md @@ -330,7 +330,7 @@ textarea { display: block; margin-top: 5px; margin-bottom: 10px; } <Pitfall> -**If you pass `value` without `onChange`, it will be impossible to type into the text area.** When you control an text area by passing some `value` to it, you *force* it to always have the value you passed. So if you pass a state variable as a `value` but forget to update that state variable synchronously during the `onChange` event handler, React will revert the text area after every keystroke back to the `value` that you specified. +**If you pass `value` without `onChange`, it will be impossible to type into the text area.** When you control a text area by passing some `value` to it, you *force* it to always have the value you passed. So if you pass a state variable as a `value` but forget to update that state variable synchronously during the `onChange` event handler, React will revert the text area after every keystroke back to the `value` that you specified. </Pitfall> From 97489434323b0c4cce78588cd0f48e3808e0eba4 Mon Sep 17 00:00:00 2001 From: Faridul Islam <foridpathan45@gmail.com> Date: Sun, 31 Mar 2024 21:38:56 +0600 Subject: [PATCH 228/382] Update Node.js version in engines into package.json file (^21.0.0) (#6728) Signed-off-by: Faridul Islam <foridpathan45@gmail.com> --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 78775683..d7520178 100644 --- a/package.json +++ b/package.json @@ -97,7 +97,7 @@ "webpack-bundle-analyzer": "^4.5.0" }, "engines": { - "node": "^16.8.0 || ^18.0.0 || ^19.0.0 || ^20.0.0" + "node": "^16.8.0 || ^18.0.0 || ^19.0.0 || ^20.0.0 || ^21.0.0" }, "nextBundleAnalysis": { "budget": null, From 712556c0ec73bfbb687d2777777975b404aa3cb7 Mon Sep 17 00:00:00 2001 From: lauren <poteto@users.noreply.github.com> Date: Tue, 2 Apr 2024 19:55:45 -0400 Subject: [PATCH 229/382] Fix inconsistent link underline on hover (#6731) Noticed this randomly and couldn't unsee it, so here's a quick PR to fix. --- src/components/MDX/TeamMember.tsx | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/components/MDX/TeamMember.tsx b/src/components/MDX/TeamMember.tsx index c9e83ebc..eaf74187 100644 --- a/src/components/MDX/TeamMember.tsx +++ b/src/components/MDX/TeamMember.tsx @@ -68,7 +68,7 @@ export function TeamMember({ <ExternalLink aria-label="React on Twitter" href={`https://twitter.com/${twitter}`} - className="hover:text-primary dark:text-primary-dark flex flex-row items-center"> + className="hover:text-primary hover:underline dark:text-primary-dark flex flex-row items-center"> <IconTwitter className="pe-1" /> {twitter} </ExternalLink> @@ -90,7 +90,7 @@ export function TeamMember({ <ExternalLink aria-label="GitHub Profile" href={`https://github.com/${github}`} - className="hover:text-primary dark:text-primary-dark flex flex-row items-center"> + className="hover:text-primary hover:underline dark:text-primary-dark flex flex-row items-center"> <IconGitHub className="pe-1" /> {github} </ExternalLink> </div> @@ -99,7 +99,7 @@ export function TeamMember({ <ExternalLink aria-label="Personal Site" href={`https://${personal}`} - className="hover:text-primary dark:text-primary-dark flex flex-row items-center"> + className="hover:text-primary hover:underline dark:text-primary-dark flex flex-row items-center"> <IconLink className="pe-1" /> {personal} </ExternalLink> )} From 93177e6ceac8ffb5c2a8f3ed4bd1f80b63097078 Mon Sep 17 00:00:00 2001 From: Siarhei Bobryk <siarhei.bobryk@icloud.com> Date: Sat, 6 Apr 2024 11:35:00 +0200 Subject: [PATCH 230/382] fix(rules-of-react): "everytime" -> "every time" (#6737) --- .../reference/rules/components-and-hooks-must-be-pure.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/content/reference/rules/components-and-hooks-must-be-pure.md b/src/content/reference/rules/components-and-hooks-must-be-pure.md index 68600639..733597c6 100644 --- a/src/content/reference/rules/components-and-hooks-must-be-pure.md +++ b/src/content/reference/rules/components-and-hooks-must-be-pure.md @@ -16,7 +16,7 @@ This reference page covers advanced topics and requires familiarity with the con One of the key concepts that makes React, _React_ is _purity_. A pure component or hook is one that is: -* **Idempotent** – You [always get the same result everytime](/learn/keeping-components-pure#purity-components-as-formulas) you run it with the same inputs – props, state, context for component inputs; and arguments for hook inputs. +* **Idempotent** – You [always get the same result every time](/learn/keeping-components-pure#purity-components-as-formulas) you run it with the same inputs – props, state, context for component inputs; and arguments for hook inputs. * **Has no side effects in render** – Code with side effects should run [**separately from rendering**](#how-does-react-run-your-code). For example as an [event handler](/learn/responding-to-events) – where the user interacts with the UI and causes it to update; or as an [Effect](/reference/react/useEffect) – which runs after render. * **Does not mutate non-local values**: Components and Hooks should [never modify values that aren't created locally](#mutation) in render. @@ -70,7 +70,7 @@ function Dropdown() { ## Components and Hooks must be idempotent {/*components-and-hooks-must-be-idempotent*/} -Components must always return the same output with respect to their inputs – props, state, and context. This is known as _idempotency_. [Idempotency](https://en.wikipedia.org/wiki/Idempotence) is a term popularized in functional programming. It refers to the idea that you [always get the same result everytime](learn/keeping-components-pure) you run that piece of code with the same inputs. +Components must always return the same output with respect to their inputs – props, state, and context. This is known as _idempotency_. [Idempotency](https://en.wikipedia.org/wiki/Idempotence) is a term popularized in functional programming. It refers to the idea that you [always get the same result every time](learn/keeping-components-pure) you run that piece of code with the same inputs. This means that _all_ code that runs [during render](#how-does-react-run-your-code) must also be idempotent in order for this rule to hold. For example, this line of code is not idempotent (and therefore, neither is the component): From a7103d8cc2ee8b10e314aea096538b5057e0ba10 Mon Sep 17 00:00:00 2001 From: Ricky <rickhanlonii@fb.com> Date: Mon, 8 Apr 2024 11:10:52 -0400 Subject: [PATCH 231/382] Add Ruslan to team page (#6738) --- public/images/team/lesiutin.jpg | Bin 0 -> 177817 bytes src/content/community/team.md | 4 ++++ 2 files changed, 4 insertions(+) create mode 100644 public/images/team/lesiutin.jpg diff --git a/public/images/team/lesiutin.jpg b/public/images/team/lesiutin.jpg new file mode 100644 index 0000000000000000000000000000000000000000..edfc942e00e6c742b542090f6e9eca87f8b7d044 GIT binary patch literal 177817 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%0D0^V`oVv&zP*<c;<7% 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ºsR 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 literal 0 HcmV?d00001 diff --git a/src/content/community/team.md b/src/content/community/team.md index 5f19ccf2..5b3eaa93 100644 --- a/src/content/community/team.md +++ b/src/content/community/team.md @@ -66,6 +66,10 @@ Current members of the React team are listed in alphabetical order below. Ricky majored in theoretical math and somehow found himself on the React Native team for a couple years before joining the React team. When he's not programming you can find him snowboarding, biking, climbing, golfing, or closing GitHub issues that do not match the issue template. </TeamMember> +<TeamMember name="Ruslan Lesiutin" permalink="ruslan-lesiutin" photo="/images/team/lesiutin.jpg" github="hoxyq" twitter="ruslanlesiutin" threads="lesiutin" title="Engineer at Meta"> + Ruslan's introduction to UI programming started when he was a kid by manually editing HTML templates for his custom gaming forums. Somehow, he ended up majoring in Computer Science. He enjoys music, games, and memes. Mostly memes. +</TeamMember> + <TeamMember name="Sathya Gunasekaran " permalink="sathya-gunasekaran" photo="/images/team/sathya.jpg" github="gsathya" twitter="_gsathya" threads="gsathya.03" title="Engineer at Meta"> Sathya hated the Dragon Book in school but somehow ended up working on compilers all his career. When he's not compiling React components, he's either drinking coffee or eating yet another Dosa. </TeamMember> From 11a747977e7a7bda9a5961c37f117b3ab61409ab Mon Sep 17 00:00:00 2001 From: Rami Zackary Shamir <rzshamir@icloud.com> Date: Wed, 10 Apr 2024 10:01:08 -0400 Subject: [PATCH 232/382] Fixes #6693: fixes search functionality on iOS devices (#6743) * change isOpen variable in TopNav component to isMenuOpen to differentiate from isOpen props in Search component change setIsOpen to setIsMenuOpen in TopNav component * move initialization of ShowSearch state to top-level of TopNav component organize hook initializations in TopNav component: useState, useRef, useRouter * remove initialYScroll prop from DocSearchModal component to fix search functionality on ios devices --- src/components/Layout/TopNav/TopNav.tsx | 32 ++++++++++++------------- src/components/Search.tsx | 1 - 2 files changed, 16 insertions(+), 17 deletions(-) diff --git a/src/components/Layout/TopNav/TopNav.tsx b/src/components/Layout/TopNav/TopNav.tsx index b6e276ff..440664e4 100644 --- a/src/components/Layout/TopNav/TopNav.tsx +++ b/src/components/Layout/TopNav/TopNav.tsx @@ -142,10 +142,11 @@ export default function TopNav({ breadcrumbs: RouteItem[]; section: 'learn' | 'reference' | 'community' | 'blog' | 'home' | 'unknown'; }) { - const [isOpen, setIsOpen] = useState(false); + const [isMenuOpen, setIsMenuOpen] = useState(false); + const [showSearch, setShowSearch] = useState(false); + const [isScrolled, setIsScrolled] = useState(false); const scrollParentRef = useRef<HTMLDivElement>(null); const {asPath} = useRouter(); - const [isScrolled, setIsScrolled] = useState(false); // HACK. Fix up the data structures instead. if ((routeTree as any).routes.length === 1) { @@ -154,18 +155,18 @@ export default function TopNav({ // While the overlay is open, disable body scroll. useEffect(() => { - if (isOpen) { + if (isMenuOpen) { const preferredScrollParent = scrollParentRef.current!; disableBodyScroll(preferredScrollParent); return () => enableBodyScroll(preferredScrollParent); } else { return undefined; } - }, [isOpen]); + }, [isMenuOpen]); // Close the overlay on any navigation. useEffect(() => { - setIsOpen(false); + setIsMenuOpen(false); }, [asPath]); // Also close the overlay if the window gets resized past mobile layout. @@ -175,7 +176,7 @@ export default function TopNav({ function closeIfNeeded() { if (!media.matches) { - setIsOpen(false); + setIsMenuOpen(false); } } @@ -204,7 +205,6 @@ export default function TopNav({ return () => observer.disconnect(); }, []); - const [showSearch, setShowSearch] = useState(false); const onOpenSearch = useCallback(() => { startTransition(() => { setShowSearch(true); @@ -224,28 +224,28 @@ export default function TopNav({ <div ref={scrollDetectorRef} /> <div className={cn( - isOpen + isMenuOpen ? 'h-screen sticky top-0 lg:bottom-0 lg:h-screen flex flex-col shadow-nav dark:shadow-nav-dark z-20' : 'z-50 sticky top-0' )}> <nav className={cn( 'duration-300 backdrop-filter backdrop-blur-lg backdrop-saturate-200 transition-shadow bg-opacity-90 items-center w-full flex justify-between bg-wash dark:bg-wash-dark dark:bg-opacity-95 px-1.5 lg:pe-5 lg:ps-4 z-50', - {'dark:shadow-nav-dark shadow-nav': isScrolled || isOpen} + {'dark:shadow-nav-dark shadow-nav': isScrolled || isMenuOpen} )}> <div className="flex items-center justify-between w-full h-16 gap-0 sm:gap-3"> <div className="flex flex-row 3xl:flex-1 "> <button type="button" aria-label="Menu" - onClick={() => setIsOpen(!isOpen)} + onClick={() => setIsMenuOpen(!isMenuOpen)} className={cn( 'active:scale-95 transition-transform flex lg:hidden w-12 h-12 rounded-full items-center justify-center hover:bg-primary/5 hover:dark:bg-primary-dark/5 outline-link', { - 'text-link dark:text-link-dark': isOpen, + 'text-link dark:text-link-dark': isMenuOpen, } )}> - {isOpen ? <IconClose /> : <IconHamburger />} + {isMenuOpen ? <IconClose /> : <IconHamburger />} </button> <div className="flex 3xl:flex-1 align-center"> <NextLink @@ -343,14 +343,14 @@ export default function TopNav({ </div> </nav> - {isOpen && ( + {isMenuOpen && ( <div ref={scrollParentRef} className="overflow-y-scroll isolate no-bg-scrollbar lg:w-[342px] grow bg-wash dark:bg-wash-dark"> <aside className={cn( `lg:grow lg:flex flex-col w-full pb-8 lg:pb-0 lg:max-w-custom-xs z-50`, - isOpen ? 'block z-40' : 'hidden lg:block' + isMenuOpen ? 'block z-40' : 'hidden lg:block' )}> <nav role="navigation" @@ -383,10 +383,10 @@ export default function TopNav({ <SidebarRouteTree // Don't share state between the desktop and mobile versions. // This avoids unnecessary animations and visual flicker. - key={isOpen ? 'mobile-overlay' : 'desktop-or-hidden'} + key={isMenuOpen ? 'mobile-overlay' : 'desktop-or-hidden'} routeTree={routeTree} breadcrumbs={breadcrumbs} - isForceExpanded={isOpen} + isForceExpanded={isMenuOpen} /> </Suspense> <div className="h-16" /> diff --git a/src/components/Search.tsx b/src/components/Search.tsx index 8bc47297..cff7f885 100644 --- a/src/components/Search.tsx +++ b/src/components/Search.tsx @@ -110,7 +110,6 @@ export function Search({ createPortal( <DocSearchModal {...options} - initialScrollY={window.scrollY} searchParameters={searchParameters} onClose={onClose} navigator={{ From 342fddb04ff7bdeb7176e74e638f8721508262de Mon Sep 17 00:00:00 2001 From: Soichiro Miki <smiki-tky@umin.ac.jp> Date: Thu, 11 Apr 2024 00:19:19 +0900 Subject: [PATCH 233/382] Revert inappropriate capitalization of "Transition" (#6746) --- src/content/reference/react/Suspense.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/reference/react/Suspense.md b/src/content/reference/react/Suspense.md index abb77a9d..7622aa18 100644 --- a/src/content/reference/react/Suspense.md +++ b/src/content/reference/react/Suspense.md @@ -1741,7 +1741,7 @@ function Router() { // ... ``` -This tells React that the state Transition is not urgent, and it's better to keep showing the previous page instead of hiding any already revealed content. Now clicking the button "waits" for the `Biography` to load: +This tells React that the state transition is not urgent, and it's better to keep showing the previous page instead of hiding any already revealed content. Now clicking the button "waits" for the `Biography` to load: <Sandpack> From db2dc7f9875f00688cd6ffc511abf5849c21952a Mon Sep 17 00:00:00 2001 From: Ricky <rickhanlonii@fb.com> Date: Thu, 11 Apr 2024 08:58:59 -0400 Subject: [PATCH 234/382] Add docs for onCaughtError and onUncaughtError (#6742) * Add docs for onCaughtError and onUncaughtError * Updates from feedback --- src/components/Icon/IconCanary.tsx | 56 +- src/components/MDX/MDXComponents.tsx | 16 + .../reference/react-dom/client/createRoot.md | 817 ++++++++++++++++- .../reference/react-dom/client/hydrateRoot.md | 827 +++++++++++++++++- 4 files changed, 1689 insertions(+), 27 deletions(-) diff --git a/src/components/Icon/IconCanary.tsx b/src/components/Icon/IconCanary.tsx index a7782b14..7f584fed 100644 --- a/src/components/Icon/IconCanary.tsx +++ b/src/components/Icon/IconCanary.tsx @@ -4,29 +4,35 @@ import {memo} from 'react'; -export const IconCanary = memo<JSX.IntrinsicElements['svg'] & {title?: string}>( - function IconCanary({className, title}) { - return ( - <svg - className={className} - width="20px" - height="20px" - viewBox="0 0 20 20" - version="1.1" - xmlns="http://www.w3.org/2000/svg"> - {title && <title>{title}</title>} - <g stroke="none" strokeWidth="1" fill="none" fillRule="evenodd"> - <g - id="noun-labs-1201738-(2)" - transform="translate(2, 0)" - fill="currentColor" - fillRule="nonzero"> - <path - d="M10.2865804,5.55665262 L10.2865804,2.22331605 L10.8591544,2.22331605 C11.0103911,2.22244799 11.1551447,2.16342155 11.2617505,2.05914367 C11.3684534,1.95486857 11.4282767,1.81370176 11.4282767,1.66667106 L11.4282767,0.556642208 C11.4282767,0.40907262 11.3678934,0.26747526 11.2605218,0.16308627 C11.1531503,0.0587028348 11.0074938,0 10.8556998,0 L5.14338868,0 C4.9915947,0 4.84594391,0.0587028348 4.73856664,0.16308627 C4.63119507,0.267469704 4.57081178,0.40907262 4.57081178,0.556642208 L4.57081178,1.66667106 C4.57081178,1.81434899 4.63119507,1.95594912 4.73856664,2.06033811 C4.8459382,2.16472155 4.9915947,2.22331605 5.14338868,2.22331605 L5.71596273,2.22331605 L5.71596273,5.55665262 C5.71596273,8.38665538 2.97295619,9.88999017 0.651686904,15.5566623 C-0.0957823782,17.360053 -2.00560068,20 7.99951567,20 C18.004632,20 16.0948137,17.3600252 15.3507732,15.5566623 C13.0124432,9.88999017 10.2865804,8.38665538 10.2865804,5.55665262 Z M9.89570197,10.709991 C10.0921412,10.709991 10.2805515,10.7858383 10.4193876,10.9209301 C10.5583466,11.0559135 10.6363652,11.2390693 10.6363652,11.4300417 C10.6363652,11.6210141 10.5583466,11.8040698 10.4193876,11.9391533 C10.2805401,12.0741367 10.0921412,12.1499813 9.89570197,12.1499813 C9.6992627,12.1499813 9.51096673,12.074134 9.37201631,11.9391533 C9.23316875,11.8040615 9.15515307,11.6210141 9.15515307,11.4300417 C9.15515307,11.2390693 9.2331716,11.0559024 9.37201631,10.9209301 C9.57264221,10.7258996 9.61239426,10.709991 9.89570197,10.709991 Z M8.98919546,9.04212824 C9.09790709,9.14792278 9.15884755,9.29158681 9.1585213,9.44110085 C9.15829001,9.59073155 9.09678989,9.73407335 8.98763252,9.83954568 C8.87847514,9.945018 8.73069852,10.0039347 8.57678157,10.0033977 C8.42286747,10.0027392 8.27565088,9.94273467 8.16727355,9.83639845 C8.05900765,9.73006224 7.99873866,9.58628988 7.99963013,9.43664806 C8.00052304,9.28788403 8.0620221,9.14542556 8.17051087,9.04048101 C8.27911107,8.93555591 8.42599335,8.87663641 8.57913312,8.87663641 C8.73291864,8.87665585 8.88047525,8.93622535 8.98919546,9.04212824 Z M7.99965585,17.9999981 C4.91377349,17.9999981 3.29882839,17.7332867 2.51364277,17.4999976 C2.37780966,17.4476975 2.26954376,17.3439641 2.21396931,17.2125528 C2.15838628,17.0811499 2.16006066,16.9334692 2.21876871,16.8033858 C2.6144474,15.5921346 3.14916224,14.4280501 3.81316983,13.3333824 C5.980145,9.82337899 8.22941036,13.8867718 10.0980836,13.8867718 C11.9666996,13.8867718 11.4695868,12.1534924 12.1827971,13.3333824 C12.8511505,14.4269112 13.3916656,15.5896902 13.794259,16.8000524 C13.8533022,16.9322137 13.8537479,17.0822749 13.7952635,17.2147751 C13.7368889,17.3472613 13.6248314,17.4504531 13.4856467,17.5000531 C12.6833967,17.7332867 11.0855382,17.9999981 7.99965585,17.9999981 Z" - id="Shape"></path> - </g> - </g> - </svg> - ); +export const IconCanary = memo< + JSX.IntrinsicElements['svg'] & {title?: string; size?: 's' | 'md'} +>(function IconCanary( + {className, title, size} = { + className: undefined, + title: undefined, + size: 'md', } -); +) { + return ( + <svg + className={className} + width={size === 's' ? '12px' : '20px'} + height={size === 's' ? '12px' : '20px'} + viewBox="0 0 20 20" + version="1.1" + xmlns="http://www.w3.org/2000/svg"> + {title && <title>{title}</title>} + <g stroke="none" strokeWidth="1" fill="none" fillRule="evenodd"> + <g + id="noun-labs-1201738-(2)" + transform="translate(2, 0)" + fill="currentColor" + fillRule="nonzero"> + <path + d="M10.2865804,5.55665262 L10.2865804,2.22331605 L10.8591544,2.22331605 C11.0103911,2.22244799 11.1551447,2.16342155 11.2617505,2.05914367 C11.3684534,1.95486857 11.4282767,1.81370176 11.4282767,1.66667106 L11.4282767,0.556642208 C11.4282767,0.40907262 11.3678934,0.26747526 11.2605218,0.16308627 C11.1531503,0.0587028348 11.0074938,0 10.8556998,0 L5.14338868,0 C4.9915947,0 4.84594391,0.0587028348 4.73856664,0.16308627 C4.63119507,0.267469704 4.57081178,0.40907262 4.57081178,0.556642208 L4.57081178,1.66667106 C4.57081178,1.81434899 4.63119507,1.95594912 4.73856664,2.06033811 C4.8459382,2.16472155 4.9915947,2.22331605 5.14338868,2.22331605 L5.71596273,2.22331605 L5.71596273,5.55665262 C5.71596273,8.38665538 2.97295619,9.88999017 0.651686904,15.5566623 C-0.0957823782,17.360053 -2.00560068,20 7.99951567,20 C18.004632,20 16.0948137,17.3600252 15.3507732,15.5566623 C13.0124432,9.88999017 10.2865804,8.38665538 10.2865804,5.55665262 Z M9.89570197,10.709991 C10.0921412,10.709991 10.2805515,10.7858383 10.4193876,10.9209301 C10.5583466,11.0559135 10.6363652,11.2390693 10.6363652,11.4300417 C10.6363652,11.6210141 10.5583466,11.8040698 10.4193876,11.9391533 C10.2805401,12.0741367 10.0921412,12.1499813 9.89570197,12.1499813 C9.6992627,12.1499813 9.51096673,12.074134 9.37201631,11.9391533 C9.23316875,11.8040615 9.15515307,11.6210141 9.15515307,11.4300417 C9.15515307,11.2390693 9.2331716,11.0559024 9.37201631,10.9209301 C9.57264221,10.7258996 9.61239426,10.709991 9.89570197,10.709991 Z M8.98919546,9.04212824 C9.09790709,9.14792278 9.15884755,9.29158681 9.1585213,9.44110085 C9.15829001,9.59073155 9.09678989,9.73407335 8.98763252,9.83954568 C8.87847514,9.945018 8.73069852,10.0039347 8.57678157,10.0033977 C8.42286747,10.0027392 8.27565088,9.94273467 8.16727355,9.83639845 C8.05900765,9.73006224 7.99873866,9.58628988 7.99963013,9.43664806 C8.00052304,9.28788403 8.0620221,9.14542556 8.17051087,9.04048101 C8.27911107,8.93555591 8.42599335,8.87663641 8.57913312,8.87663641 C8.73291864,8.87665585 8.88047525,8.93622535 8.98919546,9.04212824 Z M7.99965585,17.9999981 C4.91377349,17.9999981 3.29882839,17.7332867 2.51364277,17.4999976 C2.37780966,17.4476975 2.26954376,17.3439641 2.21396931,17.2125528 C2.15838628,17.0811499 2.16006066,16.9334692 2.21876871,16.8033858 C2.6144474,15.5921346 3.14916224,14.4280501 3.81316983,13.3333824 C5.980145,9.82337899 8.22941036,13.8867718 10.0980836,13.8867718 C11.9666996,13.8867718 11.4695868,12.1534924 12.1827971,13.3333824 C12.8511505,14.4269112 13.3916656,15.5896902 13.794259,16.8000524 C13.8533022,16.9322137 13.8537479,17.0822749 13.7952635,17.2147751 C13.7368889,17.3472613 13.6248314,17.4504531 13.4856467,17.5000531 C12.6833967,17.7332867 11.0855382,17.9999981 7.99965585,17.9999981 Z" + id="Shape"></path> + </g> + </g> + </svg> + ); +}); diff --git a/src/components/MDX/MDXComponents.tsx b/src/components/MDX/MDXComponents.tsx index 76bf86ea..e42b3b2e 100644 --- a/src/components/MDX/MDXComponents.tsx +++ b/src/components/MDX/MDXComponents.tsx @@ -33,6 +33,7 @@ import type {Toc, TocItem} from './TocContext'; import {TeamMember} from './TeamMember'; import ErrorDecoder from './ErrorDecoder'; +import {IconCanary} from '../Icon/IconCanary'; function CodeStep({children, step}: {children: any; step: number}) { return ( @@ -94,6 +95,20 @@ const Canary = ({children}: {children: React.ReactNode}) => ( <ExpandableCallout type="canary">{children}</ExpandableCallout> ); +const CanaryBadge = ({title}: {title: string}) => ( + <span + title={title} + className={ + 'text-base font-display px-1 py-0.5 font-bold bg-gray-10 dark:bg-gray-60 text-gray-60 dark:text-gray-10 rounded' + }> + <IconCanary + size="s" + className={'inline me-1 mb-0.5 text-sm text-gray-60 dark:text-gray-10'} + /> + Canary only + </span> +); + const Blockquote = ({ children, ...props @@ -430,6 +445,7 @@ export const MDXComponents = { MathI, Note, Canary, + CanaryBadge, PackageImport, ReadBlogPost, Recap, diff --git a/src/content/reference/react-dom/client/createRoot.md b/src/content/reference/react-dom/client/createRoot.md index afddb417..b336b6e5 100644 --- a/src/content/reference/react-dom/client/createRoot.md +++ b/src/content/reference/react-dom/client/createRoot.md @@ -45,7 +45,9 @@ An app fully built with React will usually only have one `createRoot` call for i * **optional** `options`: An object with options for this React root. - * **optional** `onRecoverableError`: Callback called when React automatically recovers from errors. + * <CanaryBadge title="This feature is only available in the Canary channel" /> **optional** `onCaughtError`: Callback called when React catches an error in an Error Boundary. Called with the `error` caught by the Error Boundary, and an `errorInfo` object containing the `componentStack`. + * <CanaryBadge title="This feature is only available in the Canary channel" /> **optional** `onUncaughtError`: Callback called when an error is thrown and not caught by an Error Boundary. Called with the `error` that was thrown, and an `errorInfo` object containing the `componentStack`. + * **optional** `onRecoverableError`: Callback called when React automatically recovers from errors. Called with an `error` React throws, and an `errorInfo` object containing the `componentStack`. Some recoverable errors may include the original error cause as `error.cause`. * **optional** `identifierPrefix`: A string prefix React uses for IDs generated by [`useId`.](/reference/react/useId) Useful to avoid conflicts when using multiple roots on the same page. #### Returns {/*returns*/} @@ -342,6 +344,797 @@ export default function App({counter}) { It is uncommon to call `render` multiple times. Usually, your components will [update state](/reference/react/useState) instead. +### Show a dialog for uncaught errors {/*show-a-dialog-for-uncaught-errors*/} + +<Canary> + +`onUncaughtError` is only available in the latest React Canary release. + +</Canary> + +By default, React will log all uncaught errors to the console. To implement your own error reporting, you can provide the optional `onUncaughtError` root option: + +```js [[1, 6, "onUncaughtError"], [2, 6, "error", 1], [3, 6, "errorInfo"], [4, 10, "componentStack"]] +import { createRoot } from 'react-dom/client'; + +const root = createRoot( + document.getElementById('root'), + { + onUncaughtError: (error, errorInfo) => { + console.error( + 'Uncaught error', + error, + errorInfo.componentStack + ); + } + } +); +root.render(<App />); +``` + +The <CodeStep step={1}>onUncaughtError</CodeStep> option is a function called with two arguments: + +1. The <CodeStep step={2}>error</CodeStep> that was thrown. +2. An <CodeStep step={3}>errorInfo</CodeStep> object that contains the <CodeStep step={4}>componentStack</CodeStep> of the error. + +You can use the `onUncaughtError` root option to display error dialogs: + +<Sandpack> + +```html index.html hidden +<!DOCTYPE html> +<html> +<head> + <title>My app</title> +</head> +<body> +<!-- + Error dialog in raw HTML + since an error in the React app may crash. +--> +<div id="error-dialog" class="hidden"> + <h1 id="error-title" class="text-red"></h1> + <h3> + <pre id="error-message"></pre> + </h3> + <p> + <pre id="error-body"></pre> + </p> + <h4 class="-mb-20">This error occurred at:</h4> + <pre id="error-component-stack" class="nowrap"></pre> + <h4 class="mb-0">Call stack:</h4> + <pre id="error-stack" class="nowrap"></pre> + <div id="error-cause"> + <h4 class="mb-0">Caused by:</h4> + <pre id="error-cause-message"></pre> + <pre id="error-cause-stack" class="nowrap"></pre> + </div> + <button + id="error-close" + class="mb-10" + onclick="document.getElementById('error-dialog').classList.add('hidden')" + > + Close + </button> + <h3 id="error-not-dismissible">This error is not dismissible.</h3> +</div> +<!-- This is the DOM node --> +<div id="root"></div> +</body> +</html> +``` + +```css src/styles.css active +label, button { display: block; margin-bottom: 20px; } +html, body { min-height: 300px; } + +#error-dialog { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + background-color: white; + padding: 15px; + opacity: 0.9; + text-wrap: wrap; + overflow: scroll; +} + +.text-red { + color: red; +} + +.-mb-20 { + margin-bottom: -20px; +} + +.mb-0 { + margin-bottom: 0; +} + +.mb-10 { + margin-bottom: 10px; +} + +pre { + text-wrap: wrap; +} + +pre.nowrap { + text-wrap: nowrap; +} + +.hidden { + display: none; +} +``` + +```js src/reportError.js hidden +function reportError({ title, error, componentStack, dismissable }) { + const errorDialog = document.getElementById("error-dialog"); + const errorTitle = document.getElementById("error-title"); + const errorMessage = document.getElementById("error-message"); + const errorBody = document.getElementById("error-body"); + const errorComponentStack = document.getElementById("error-component-stack"); + const errorStack = document.getElementById("error-stack"); + const errorClose = document.getElementById("error-close"); + const errorCause = document.getElementById("error-cause"); + const errorCauseMessage = document.getElementById("error-cause-message"); + const errorCauseStack = document.getElementById("error-cause-stack"); + const errorNotDismissible = document.getElementById("error-not-dismissible"); + + // Set the title + errorTitle.innerText = title; + + // Display error message and body + const [heading, body] = error.message.split(/\n(.*)/s); + errorMessage.innerText = heading; + if (body) { + errorBody.innerText = body; + } else { + errorBody.innerText = ''; + } + + // Display component stack + errorComponentStack.innerText = componentStack; + + // Display the call stack + // Since we already displayed the message, strip it, and the first Error: line. + errorStack.innerText = error.stack.replace(error.message, '').split(/\n(.*)/s)[1]; + + // Display the cause, if available + if (error.cause) { + errorCauseMessage.innerText = error.cause.message; + errorCauseStack.innerText = error.cause.stack; + errorCause.classList.remove('hidden'); + } else { + errorCause.classList.add('hidden'); + } + // Display the close button, if dismissible + if (dismissable) { + errorNotDismissible.classList.add('hidden'); + errorClose.classList.remove("hidden"); + } else { + errorNotDismissible.classList.remove('hidden'); + errorClose.classList.add("hidden"); + } + + // Show the dialog + errorDialog.classList.remove("hidden"); +} + +export function reportCaughtError({error, cause, componentStack}) { + reportError({ title: "Caught Error", error, componentStack, dismissable: true}); +} + +export function reportUncaughtError({error, cause, componentStack}) { + reportError({ title: "Uncaught Error", error, componentStack, dismissable: false }); +} + +export function reportRecoverableError({error, cause, componentStack}) { + reportError({ title: "Recoverable Error", error, componentStack, dismissable: true }); +} +``` + +```js src/index.js active +import { createRoot } from "react-dom/client"; +import App from "./App.js"; +import {reportUncaughtError} from "./reportError"; +import "./styles.css"; + +const container = document.getElementById("root"); +const root = createRoot(container, { + onUncaughtError: (error, errorInfo) => { + if (error.message !== 'Known error') { + reportUncaughtError({ + error, + componentStack: errorInfo.componentStack + }); + } + } +}); +root.render(<App />); +``` + +```js src/App.js +import { useState } from 'react'; + +export default function App() { + const [throwError, setThrowError] = useState(false); + + if (throwError) { + foo.bar = 'baz'; + } + + return ( + <div> + <span>This error shows the error dialog:</span> + <button onClick={() => setThrowError(true)}> + Throw error + </button> + </div> + ); +} +``` + +```json package.json hidden +{ + "dependencies": { + "react": "canary", + "react-dom": "canary", + "react-scripts": "^5.0.0" + }, + "main": "/index.js" +} +``` + +</Sandpack> + + +### Displaying Error Boundary errors {/*displaying-error-boundary-errors*/} + +<Canary> + +`onCaughtError` is only available in the latest React Canary release. + +</Canary> + +By default, React will log all errors caught by an Error Boundary to `console.error`. To override this behavior, you can provide the optional `onCaughtError` root option to handle errors caught by an [Error Boundary](/reference/react/Component#catching-rendering-errors-with-an-error-boundary): + +```js [[1, 6, "onCaughtError"], [2, 6, "error", 1], [3, 6, "errorInfo"], [4, 10, "componentStack"]] +import { createRoot } from 'react-dom/client'; + +const root = createRoot( + document.getElementById('root'), + { + onCaughtError: (error, errorInfo) => { + console.error( + 'Caught error', + error, + errorInfo.componentStack + ); + } + } +); +root.render(<App />); +``` + +The <CodeStep step={1}>onCaughtError</CodeStep> option is a function called with two arguments: + +1. The <CodeStep step={2}>error</CodeStep> that was caught by the boundary. +2. An <CodeStep step={3}>errorInfo</CodeStep> object that contains the <CodeStep step={4}>componentStack</CodeStep> of the error. + +You can use the `onCaughtError` root option to display error dialogs or filter known errors from logging: + +<Sandpack> + +```html index.html hidden +<!DOCTYPE html> +<html> +<head> + <title>My app</title> +</head> +<body> +<!-- + Error dialog in raw HTML + since an error in the React app may crash. +--> +<div id="error-dialog" class="hidden"> + <h1 id="error-title" class="text-red"></h1> + <h3> + <pre id="error-message"></pre> + </h3> + <p> + <pre id="error-body"></pre> + </p> + <h4 class="-mb-20">This error occurred at:</h4> + <pre id="error-component-stack" class="nowrap"></pre> + <h4 class="mb-0">Call stack:</h4> + <pre id="error-stack" class="nowrap"></pre> + <div id="error-cause"> + <h4 class="mb-0">Caused by:</h4> + <pre id="error-cause-message"></pre> + <pre id="error-cause-stack" class="nowrap"></pre> + </div> + <button + id="error-close" + class="mb-10" + onclick="document.getElementById('error-dialog').classList.add('hidden')" + > + Close + </button> + <h3 id="error-not-dismissible">This error is not dismissible.</h3> +</div> +<!-- This is the DOM node --> +<div id="root"></div> +</body> +</html> +``` + +```css src/styles.css active +label, button { display: block; margin-bottom: 20px; } +html, body { min-height: 300px; } + +#error-dialog { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + background-color: white; + padding: 15px; + opacity: 0.9; + text-wrap: wrap; + overflow: scroll; +} + +.text-red { + color: red; +} + +.-mb-20 { + margin-bottom: -20px; +} + +.mb-0 { + margin-bottom: 0; +} + +.mb-10 { + margin-bottom: 10px; +} + +pre { + text-wrap: wrap; +} + +pre.nowrap { + text-wrap: nowrap; +} + +.hidden { + display: none; +} +``` + +```js src/reportError.js hidden +function reportError({ title, error, componentStack, dismissable }) { + const errorDialog = document.getElementById("error-dialog"); + const errorTitle = document.getElementById("error-title"); + const errorMessage = document.getElementById("error-message"); + const errorBody = document.getElementById("error-body"); + const errorComponentStack = document.getElementById("error-component-stack"); + const errorStack = document.getElementById("error-stack"); + const errorClose = document.getElementById("error-close"); + const errorCause = document.getElementById("error-cause"); + const errorCauseMessage = document.getElementById("error-cause-message"); + const errorCauseStack = document.getElementById("error-cause-stack"); + const errorNotDismissible = document.getElementById("error-not-dismissible"); + + // Set the title + errorTitle.innerText = title; + + // Display error message and body + const [heading, body] = error.message.split(/\n(.*)/s); + errorMessage.innerText = heading; + if (body) { + errorBody.innerText = body; + } else { + errorBody.innerText = ''; + } + + // Display component stack + errorComponentStack.innerText = componentStack; + + // Display the call stack + // Since we already displayed the message, strip it, and the first Error: line. + errorStack.innerText = error.stack.replace(error.message, '').split(/\n(.*)/s)[1]; + + // Display the cause, if available + if (error.cause) { + errorCauseMessage.innerText = error.cause.message; + errorCauseStack.innerText = error.cause.stack; + errorCause.classList.remove('hidden'); + } else { + errorCause.classList.add('hidden'); + } + // Display the close button, if dismissible + if (dismissable) { + errorNotDismissible.classList.add('hidden'); + errorClose.classList.remove("hidden"); + } else { + errorNotDismissible.classList.remove('hidden'); + errorClose.classList.add("hidden"); + } + + // Show the dialog + errorDialog.classList.remove("hidden"); +} + +export function reportCaughtError({error, cause, componentStack}) { + reportError({ title: "Caught Error", error, componentStack, dismissable: true}); +} + +export function reportUncaughtError({error, cause, componentStack}) { + reportError({ title: "Uncaught Error", error, componentStack, dismissable: false }); +} + +export function reportRecoverableError({error, cause, componentStack}) { + reportError({ title: "Recoverable Error", error, componentStack, dismissable: true }); +} +``` + +```js src/index.js active +import { createRoot } from "react-dom/client"; +import App from "./App.js"; +import {reportCaughtError} from "./reportError"; +import "./styles.css"; + +const container = document.getElementById("root"); +const root = createRoot(container, { + onCaughtError: (error, errorInfo) => { + if (error.message !== 'Known error') { + reportCaughtError({ + error, + componentStack: errorInfo.componentStack, + }); + } + } +}); +root.render(<App />); +``` + +```js src/App.js +import { useState } from 'react'; +import { ErrorBoundary } from "react-error-boundary"; + +export default function App() { + const [error, setError] = useState(null); + + function handleUnknown() { + setError("unknown"); + } + + function handleKnown() { + setError("known"); + } + + return ( + <> + <ErrorBoundary + fallbackRender={fallbackRender} + onReset={(details) => { + setError(null); + }} + > + {error != null && <Throw error={error} />} + <span>This error will not show the error dialog:</span> + <button onClick={handleKnown}> + Throw known error + </button> + <span>This error will show the error dialog:</span> + <button onClick={handleUnknown}> + Throw unknown error + </button> + </ErrorBoundary> + + </> + ); +} + +function fallbackRender({ resetErrorBoundary }) { + return ( + <div role="alert"> + <h3>Error Boundary</h3> + <p>Something went wrong.</p> + <button onClick={resetErrorBoundary}>Reset</button> + </div> + ); +} + +function Throw({error}) { + if (error === "known") { + throw new Error('Known error') + } else { + foo.bar = 'baz'; + } +} +``` + +```json package.json hidden +{ + "dependencies": { + "react": "canary", + "react-dom": "canary", + "react-scripts": "^5.0.0", + "react-error-boundary": "4.0.3" + }, + "main": "/index.js" +} +``` + +</Sandpack> + +### Displaying a dialog for recoverable errors {/*displaying-a-dialog-for-recoverable-errors*/} + +React may automatically render a component a second time to attempt to recover from an error thrown in render. If successful, React will log a recoverable error to the console to notify the developer. To override this behavior, you can provide the optional `onRecoverableError` root option: + +```js [[1, 6, "onRecoverableError"], [2, 6, "error", 1], [3, 10, "error.cause"], [4, 6, "errorInfo"], [5, 11, "componentStack"]] +import { createRoot } from 'react-dom/client'; + +const root = createRoot( + document.getElementById('root'), + { + onRecoverableError: (error, errorInfo) => { + console.error( + 'Recoverable error', + error, + error.cause, + errorInfo.componentStack, + ); + } + } +); +root.render(<App />); +``` + +The <CodeStep step={1}>onRecoverableError</CodeStep> option is a function called with two arguments: + +1. The <CodeStep step={2}>error</CodeStep> that React throws. Some errors may include the original cause as <CodeStep step={3}>error.cause</CodeStep>. +2. An <CodeStep step={4}>errorInfo</CodeStep> object that contains the <CodeStep step={5}>componentStack</CodeStep> of the error. + +You can use the `onRecoverableError` root option to display error dialogs: + +<Sandpack> + +```html index.html hidden +<!DOCTYPE html> +<html> +<head> + <title>My app</title> +</head> +<body> +<!-- + Error dialog in raw HTML + since an error in the React app may crash. +--> +<div id="error-dialog" class="hidden"> + <h1 id="error-title" class="text-red"></h1> + <h3> + <pre id="error-message"></pre> + </h3> + <p> + <pre id="error-body"></pre> + </p> + <h4 class="-mb-20">This error occurred at:</h4> + <pre id="error-component-stack" class="nowrap"></pre> + <h4 class="mb-0">Call stack:</h4> + <pre id="error-stack" class="nowrap"></pre> + <div id="error-cause"> + <h4 class="mb-0">Caused by:</h4> + <pre id="error-cause-message"></pre> + <pre id="error-cause-stack" class="nowrap"></pre> + </div> + <button + id="error-close" + class="mb-10" + onclick="document.getElementById('error-dialog').classList.add('hidden')" + > + Close + </button> + <h3 id="error-not-dismissible">This error is not dismissible.</h3> +</div> +<!-- This is the DOM node --> +<div id="root"></div> +</body> +</html> +``` + +```css src/styles.css active +label, button { display: block; margin-bottom: 20px; } +html, body { min-height: 300px; } + +#error-dialog { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + background-color: white; + padding: 15px; + opacity: 0.9; + text-wrap: wrap; + overflow: scroll; +} + +.text-red { + color: red; +} + +.-mb-20 { + margin-bottom: -20px; +} + +.mb-0 { + margin-bottom: 0; +} + +.mb-10 { + margin-bottom: 10px; +} + +pre { + text-wrap: wrap; +} + +pre.nowrap { + text-wrap: nowrap; +} + +.hidden { + display: none; +} +``` + +```js src/reportError.js hidden +function reportError({ title, error, componentStack, dismissable }) { + const errorDialog = document.getElementById("error-dialog"); + const errorTitle = document.getElementById("error-title"); + const errorMessage = document.getElementById("error-message"); + const errorBody = document.getElementById("error-body"); + const errorComponentStack = document.getElementById("error-component-stack"); + const errorStack = document.getElementById("error-stack"); + const errorClose = document.getElementById("error-close"); + const errorCause = document.getElementById("error-cause"); + const errorCauseMessage = document.getElementById("error-cause-message"); + const errorCauseStack = document.getElementById("error-cause-stack"); + const errorNotDismissible = document.getElementById("error-not-dismissible"); + + // Set the title + errorTitle.innerText = title; + + // Display error message and body + const [heading, body] = error.message.split(/\n(.*)/s); + errorMessage.innerText = heading; + if (body) { + errorBody.innerText = body; + } else { + errorBody.innerText = ''; + } + + // Display component stack + errorComponentStack.innerText = componentStack; + + // Display the call stack + // Since we already displayed the message, strip it, and the first Error: line. + errorStack.innerText = error.stack.replace(error.message, '').split(/\n(.*)/s)[1]; + + // Display the cause, if available + if (error.cause) { + errorCauseMessage.innerText = error.cause.message; + errorCauseStack.innerText = error.cause.stack; + errorCause.classList.remove('hidden'); + } else { + errorCause.classList.add('hidden'); + } + // Display the close button, if dismissible + if (dismissable) { + errorNotDismissible.classList.add('hidden'); + errorClose.classList.remove("hidden"); + } else { + errorNotDismissible.classList.remove('hidden'); + errorClose.classList.add("hidden"); + } + + // Show the dialog + errorDialog.classList.remove("hidden"); +} + +export function reportCaughtError({error, cause, componentStack}) { + reportError({ title: "Caught Error", error, componentStack, dismissable: true}); +} + +export function reportUncaughtError({error, cause, componentStack}) { + reportError({ title: "Uncaught Error", error, componentStack, dismissable: false }); +} + +export function reportRecoverableError({error, cause, componentStack}) { + reportError({ title: "Recoverable Error", error, componentStack, dismissable: true }); +} +``` + +```js src/index.js active +import { createRoot } from "react-dom/client"; +import App from "./App.js"; +import {reportRecoverableError} from "./reportError"; +import "./styles.css"; + +const container = document.getElementById("root"); +const root = createRoot(container, { + onRecoverableError: (error, errorInfo) => { + reportRecoverableError({ + error, + cause: error.cause, + componentStack: errorInfo.componentStack, + }); + } +}); +root.render(<App />); +``` + +```js src/App.js +import { useState } from 'react'; +import { ErrorBoundary } from "react-error-boundary"; + +// 🚩 Bug: Never do this. This will force an error. +let errorThrown = false; +export default function App() { + return ( + <> + <ErrorBoundary + fallbackRender={fallbackRender} + > + {!errorThrown && <Throw />} + <p>This component threw an error, but recovered during a second render.</p> + <p>Since it recovered, no Error Boundary was shown, but <code>onRecoverableError</code> was used to show an error dialog.</p> + </ErrorBoundary> + + </> + ); +} + +function fallbackRender() { + return ( + <div role="alert"> + <h3>Error Boundary</h3> + <p>Something went wrong.</p> + </div> + ); +} + +function Throw({error}) { + // Simulate an external value changing during concurrent render. + errorThrown = true; + foo.bar = 'baz'; +} +``` + +```json package.json hidden +{ + "dependencies": { + "react": "canary", + "react-dom": "canary", + "react-scripts": "^5.0.0", + "react-error-boundary": "4.0.3" + }, + "main": "/index.js" +} +``` + +</Sandpack> + + --- ## Troubleshooting {/*troubleshooting*/} @@ -361,6 +1154,28 @@ Until you do that, nothing is displayed. --- +### I'm getting an error: "You passed a second argument to root.render" {/*im-getting-an-error-you-passed-a-second-argument-to-root-render*/} + +A common mistake is to pass the options for `createRoot` to `root.render(...)`: + +<ConsoleBlock level="error"> + +Warning: You passed a second argument to root.render(...) but it only accepts one argument. + +</ConsoleBlock> + +To fix, pass the root options to `createRoot(...)`, not `root.render(...)`: +```js {2,5} +// 🚩 Wrong: root.render only takes one argument. +root.render(App, {onUncaughtError}); + +// ✅ Correct: pass options to createRoot. +const root = createRoot(container, {onUncaughtError}); +root.render(<App />); +``` + +--- + ### I'm getting an error: "Target container is not a DOM element" {/*im-getting-an-error-target-container-is-not-a-dom-element*/} This error means that whatever you're passing to `createRoot` is not a DOM node. diff --git a/src/content/reference/react-dom/client/hydrateRoot.md b/src/content/reference/react-dom/client/hydrateRoot.md index c137cdda..cc30ce22 100644 --- a/src/content/reference/react-dom/client/hydrateRoot.md +++ b/src/content/reference/react-dom/client/hydrateRoot.md @@ -41,7 +41,9 @@ React will attach to the HTML that exists inside the `domNode`, and take over ma * **optional** `options`: An object with options for this React root. - * **optional** `onRecoverableError`: Callback called when React automatically recovers from errors. + * <CanaryBadge title="This feature is only available in the Canary channel" /> **optional** `onCaughtError`: Callback called when React catches an error in an Error Boundary. Called with the `error` caught by the Error Boundary, and an `errorInfo` object containing the `componentStack`. + * <CanaryBadge title="This feature is only available in the Canary channel" /> **optional** `onUncaughtError`: Callback called when an error is thrown and not caught by an Error Boundary. Called with the `error` that was thrown and an `errorInfo` object containing the `componentStack`. + * **optional** `onRecoverableError`: Callback called when React automatically recovers from errors. Called with the `error` React throws, and an `errorInfo` object containing the `componentStack`. Some recoverable errors may include the original error cause as `error.cause`. * **optional** `identifierPrefix`: A string prefix React uses for IDs generated by [`useId`.](/reference/react/useId) Useful to avoid conflicts when using multiple roots on the same page. Must be the same prefix as used on the server. @@ -371,3 +373,826 @@ export default function App({counter}) { </Sandpack> It is uncommon to call [`root.render`](#root-render) on a hydrated root. Usually, you'll [update state](/reference/react/useState) inside one of the components instead. + +### Show a dialog for uncaught errors {/*show-a-dialog-for-uncaught-errors*/} + +<Canary> + +`onUncaughtError` is only available in the latest React Canary release. + +</Canary> + +By default, React will log all uncaught errors to the console. To implement your own error reporting, you can provide the optional `onUncaughtError` root option: + +```js [[1, 7, "onUncaughtError"], [2, 7, "error", 1], [3, 7, "errorInfo"], [4, 11, "componentStack"]] +import { hydrateRoot } from 'react-dom/client'; + +const root = hydrateRoot( + document.getElementById('root'), + <App />, + { + onUncaughtError: (error, errorInfo) => { + console.error( + 'Uncaught error', + error, + errorInfo.componentStack + ); + } + } +); +root.render(<App />); +``` + +The <CodeStep step={1}>onUncaughtError</CodeStep> option is a function called with two arguments: + +1. The <CodeStep step={2}>error</CodeStep> that was thrown. +2. An <CodeStep step={3}>errorInfo</CodeStep> object that contains the <CodeStep step={4}>componentStack</CodeStep> of the error. + +You can use the `onUncaughtError` root option to display error dialogs: + +<Sandpack> + +```html index.html hidden +<!DOCTYPE html> +<html> +<head> + <title>My app</title> +</head> +<body> +<!-- + Error dialog in raw HTML + since an error in the React app may crash. +--> +<div id="error-dialog" class="hidden"> + <h1 id="error-title" class="text-red"></h1> + <h3> + <pre id="error-message"></pre> + </h3> + <p> + <pre id="error-body"></pre> + </p> + <h4 class="-mb-20">This error occurred at:</h4> + <pre id="error-component-stack" class="nowrap"></pre> + <h4 class="mb-0">Call stack:</h4> + <pre id="error-stack" class="nowrap"></pre> + <div id="error-cause"> + <h4 class="mb-0">Caused by:</h4> + <pre id="error-cause-message"></pre> + <pre id="error-cause-stack" class="nowrap"></pre> + </div> + <button + id="error-close" + class="mb-10" + onclick="document.getElementById('error-dialog').classList.add('hidden')" + > + Close + </button> + <h3 id="error-not-dismissible">This error is not dismissible.</h3> +</div> +<!-- + HTML content inside <div id="root">...</div> + was generated from App by react-dom/server. +--> +<div id="root"><div><span>This error shows the error dialog:</span><button>Throw error</button></div></div> +</body> +</html> +``` + +```css src/styles.css active +label, button { display: block; margin-bottom: 20px; } +html, body { min-height: 300px; } + +#error-dialog { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + background-color: white; + padding: 15px; + opacity: 0.9; + text-wrap: wrap; + overflow: scroll; +} + +.text-red { + color: red; +} + +.-mb-20 { + margin-bottom: -20px; +} + +.mb-0 { + margin-bottom: 0; +} + +.mb-10 { + margin-bottom: 10px; +} + +pre { + text-wrap: wrap; +} + +pre.nowrap { + text-wrap: nowrap; +} + +.hidden { + display: none; +} +``` + +```js src/reportError.js hidden +function reportError({ title, error, componentStack, dismissable }) { + const errorDialog = document.getElementById("error-dialog"); + const errorTitle = document.getElementById("error-title"); + const errorMessage = document.getElementById("error-message"); + const errorBody = document.getElementById("error-body"); + const errorComponentStack = document.getElementById("error-component-stack"); + const errorStack = document.getElementById("error-stack"); + const errorClose = document.getElementById("error-close"); + const errorCause = document.getElementById("error-cause"); + const errorCauseMessage = document.getElementById("error-cause-message"); + const errorCauseStack = document.getElementById("error-cause-stack"); + const errorNotDismissible = document.getElementById("error-not-dismissible"); + + // Set the title + errorTitle.innerText = title; + + // Display error message and body + const [heading, body] = error.message.split(/\n(.*)/s); + errorMessage.innerText = heading; + if (body) { + errorBody.innerText = body; + } else { + errorBody.innerText = ''; + } + + // Display component stack + errorComponentStack.innerText = componentStack; + + // Display the call stack + // Since we already displayed the message, strip it, and the first Error: line. + errorStack.innerText = error.stack.replace(error.message, '').split(/\n(.*)/s)[1]; + + // Display the cause, if available + if (error.cause) { + errorCauseMessage.innerText = error.cause.message; + errorCauseStack.innerText = error.cause.stack; + errorCause.classList.remove('hidden'); + } else { + errorCause.classList.add('hidden'); + } + // Display the close button, if dismissible + if (dismissable) { + errorNotDismissible.classList.add('hidden'); + errorClose.classList.remove("hidden"); + } else { + errorNotDismissible.classList.remove('hidden'); + errorClose.classList.add("hidden"); + } + + // Show the dialog + errorDialog.classList.remove("hidden"); +} + +export function reportCaughtError({error, cause, componentStack}) { + reportError({ title: "Caught Error", error, componentStack, dismissable: true}); +} + +export function reportUncaughtError({error, cause, componentStack}) { + reportError({ title: "Uncaught Error", error, componentStack, dismissable: false }); +} + +export function reportRecoverableError({error, cause, componentStack}) { + reportError({ title: "Recoverable Error", error, componentStack, dismissable: true }); +} +``` + +```js src/index.js active +import { hydrateRoot } from "react-dom/client"; +import App from "./App.js"; +import {reportUncaughtError} from "./reportError"; +import "./styles.css"; +import {renderToString} from 'react-dom/server'; + +const container = document.getElementById("root"); +const root = hydrateRoot(container, <App />, { + onUncaughtError: (error, errorInfo) => { + if (error.message !== 'Known error') { + reportUncaughtError({ + error, + componentStack: errorInfo.componentStack + }); + } + } +}); +``` + +```js src/App.js +import { useState } from 'react'; + +export default function App() { + const [throwError, setThrowError] = useState(false); + + if (throwError) { + foo.bar = 'baz'; + } + + return ( + <div> + <span>This error shows the error dialog:</span> + <button onClick={() => setThrowError(true)}> + Throw error + </button> + </div> + ); +} +``` + +```json package.json hidden +{ + "dependencies": { + "react": "canary", + "react-dom": "canary", + "react-scripts": "^5.0.0" + }, + "main": "/index.js" +} +``` + +</Sandpack> + + +### Displaying Error Boundary errors {/*displaying-error-boundary-errors*/} + +<Canary> + +`onCaughtError` is only available in the latest React Canary release. + +</Canary> + +By default, React will log all errors caught by an Error Boundary to `console.error`. To override this behavior, you can provide the optional `onCaughtError` root option for errors caught by an [Error Boundary](/reference/react/Component#catching-rendering-errors-with-an-error-boundary): + +```js [[1, 7, "onCaughtError"], [2, 7, "error", 1], [3, 7, "errorInfo"], [4, 11, "componentStack"]] +import { hydrateRoot } from 'react-dom/client'; + +const root = hydrateRoot( + document.getElementById('root'), + <App />, + { + onCaughtError: (error, errorInfo) => { + console.error( + 'Caught error', + error, + errorInfo.componentStack + ); + } + } +); +root.render(<App />); +``` + +The <CodeStep step={1}>onCaughtError</CodeStep> option is a function called with two arguments: + +1. The <CodeStep step={2}>error</CodeStep> that was caught by the boundary. +2. An <CodeStep step={3}>errorInfo</CodeStep> object that contains the <CodeStep step={4}>componentStack</CodeStep> of the error. + +You can use the `onCaughtError` root option to display error dialogs or filter known errors from logging: + +<Sandpack> + +```html index.html hidden +<!DOCTYPE html> +<html> +<head> + <title>My app</title> +</head> +<body> +<!-- + Error dialog in raw HTML + since an error in the React app may crash. +--> +<div id="error-dialog" class="hidden"> + <h1 id="error-title" class="text-red"></h1> + <h3> + <pre id="error-message"></pre> + </h3> + <p> + <pre id="error-body"></pre> + </p> + <h4 class="-mb-20">This error occurred at:</h4> + <pre id="error-component-stack" class="nowrap"></pre> + <h4 class="mb-0">Call stack:</h4> + <pre id="error-stack" class="nowrap"></pre> + <div id="error-cause"> + <h4 class="mb-0">Caused by:</h4> + <pre id="error-cause-message"></pre> + <pre id="error-cause-stack" class="nowrap"></pre> + </div> + <button + id="error-close" + class="mb-10" + onclick="document.getElementById('error-dialog').classList.add('hidden')" + > + Close + </button> + <h3 id="error-not-dismissible">This error is not dismissible.</h3> +</div> +<!-- + HTML content inside <div id="root">...</div> + was generated from App by react-dom/server. +--> +<div id="root"><span>This error will not show the error dialog:</span><button>Throw known error</button><span>This error will show the error dialog:</span><button>Throw unknown error</button></div> +</body> +</html> +``` + +```css src/styles.css active +label, button { display: block; margin-bottom: 20px; } +html, body { min-height: 300px; } + +#error-dialog { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + background-color: white; + padding: 15px; + opacity: 0.9; + text-wrap: wrap; + overflow: scroll; +} + +.text-red { + color: red; +} + +.-mb-20 { + margin-bottom: -20px; +} + +.mb-0 { + margin-bottom: 0; +} + +.mb-10 { + margin-bottom: 10px; +} + +pre { + text-wrap: wrap; +} + +pre.nowrap { + text-wrap: nowrap; +} + +.hidden { + display: none; +} +``` + +```js src/reportError.js hidden +function reportError({ title, error, componentStack, dismissable }) { + const errorDialog = document.getElementById("error-dialog"); + const errorTitle = document.getElementById("error-title"); + const errorMessage = document.getElementById("error-message"); + const errorBody = document.getElementById("error-body"); + const errorComponentStack = document.getElementById("error-component-stack"); + const errorStack = document.getElementById("error-stack"); + const errorClose = document.getElementById("error-close"); + const errorCause = document.getElementById("error-cause"); + const errorCauseMessage = document.getElementById("error-cause-message"); + const errorCauseStack = document.getElementById("error-cause-stack"); + const errorNotDismissible = document.getElementById("error-not-dismissible"); + + // Set the title + errorTitle.innerText = title; + + // Display error message and body + const [heading, body] = error.message.split(/\n(.*)/s); + errorMessage.innerText = heading; + if (body) { + errorBody.innerText = body; + } else { + errorBody.innerText = ''; + } + + // Display component stack + errorComponentStack.innerText = componentStack; + + // Display the call stack + // Since we already displayed the message, strip it, and the first Error: line. + errorStack.innerText = error.stack.replace(error.message, '').split(/\n(.*)/s)[1]; + + // Display the cause, if available + if (error.cause) { + errorCauseMessage.innerText = error.cause.message; + errorCauseStack.innerText = error.cause.stack; + errorCause.classList.remove('hidden'); + } else { + errorCause.classList.add('hidden'); + } + // Display the close button, if dismissible + if (dismissable) { + errorNotDismissible.classList.add('hidden'); + errorClose.classList.remove("hidden"); + } else { + errorNotDismissible.classList.remove('hidden'); + errorClose.classList.add("hidden"); + } + + // Show the dialog + errorDialog.classList.remove("hidden"); +} + +export function reportCaughtError({error, cause, componentStack}) { + reportError({ title: "Caught Error", error, componentStack, dismissable: true}); +} + +export function reportUncaughtError({error, cause, componentStack}) { + reportError({ title: "Uncaught Error", error, componentStack, dismissable: false }); +} + +export function reportRecoverableError({error, cause, componentStack}) { + reportError({ title: "Recoverable Error", error, componentStack, dismissable: true }); +} +``` + +```js src/index.js active +import { hydrateRoot } from "react-dom/client"; +import App from "./App.js"; +import {reportCaughtError} from "./reportError"; +import "./styles.css"; + +const container = document.getElementById("root"); +const root = hydrateRoot(container, <App />, { + onCaughtError: (error, errorInfo) => { + if (error.message !== 'Known error') { + reportCaughtError({ + error, + componentStack: errorInfo.componentStack + }); + } + } +}); +``` + +```js src/App.js +import { useState } from 'react'; +import { ErrorBoundary } from "react-error-boundary"; + +export default function App() { + const [error, setError] = useState(null); + + function handleUnknown() { + setError("unknown"); + } + + function handleKnown() { + setError("known"); + } + + return ( + <> + <ErrorBoundary + fallbackRender={fallbackRender} + onReset={(details) => { + setError(null); + }} + > + {error != null && <Throw error={error} />} + <span>This error will not show the error dialog:</span> + <button onClick={handleKnown}> + Throw known error + </button> + <span>This error will show the error dialog:</span> + <button onClick={handleUnknown}> + Throw unknown error + </button> + </ErrorBoundary> + + </> + ); +} + +function fallbackRender({ resetErrorBoundary }) { + return ( + <div role="alert"> + <h3>Error Boundary</h3> + <p>Something went wrong.</p> + <button onClick={resetErrorBoundary}>Reset</button> + </div> + ); +} + +function Throw({error}) { + if (error === "known") { + throw new Error('Known error') + } else { + foo.bar = 'baz'; + } +} +``` + +```json package.json hidden +{ + "dependencies": { + "react": "canary", + "react-dom": "canary", + "react-scripts": "^5.0.0", + "react-error-boundary": "4.0.3" + }, + "main": "/index.js" +} +``` + +</Sandpack> + +### Show a dialog for recoverable hydration mismatch errors {/*show-a-dialog-for-recoverable-hydration-mismatch-errors*/} + +When React encounters a hydration mismatch, it will automatically attempt to recover by rendering on the client. By default, React will log hydration mismatch errors to `console.error`. To override this behavior, you can provide the optional `onRecoverableError` root option: + +```js [[1, 7, "onRecoverableError"], [2, 7, "error", 1], [3, 11, "error.cause", 1], [4, 7, "errorInfo"], [5, 12, "componentStack"]] +import { hydrateRoot } from 'react-dom/client'; + +const root = hydrateRoot( + document.getElementById('root'), + <App />, + { + onRecoverableError: (error, errorInfo) => { + console.error( + 'Caught error', + error, + error.cause, + errorInfo.componentStack + ); + } + } +); +``` + +The <CodeStep step={1}>onRecoverableError</CodeStep> option is a function called with two arguments: + +1. The <CodeStep step={2}>error</CodeStep> React throws. Some errors may include the original cause as <CodeStep step={3}>error.cause</CodeStep>. +2. An <CodeStep step={4}>errorInfo</CodeStep> object that contains the <CodeStep step={5}>componentStack</CodeStep> of the error. + +You can use the `onRecoverableError` root option to display error dialogs for hydration mismatches: + +<Sandpack> + +```html index.html hidden +<!DOCTYPE html> +<html> +<head> + <title>My app</title> +</head> +<body> +<!-- + Error dialog in raw HTML + since an error in the React app may crash. +--> +<div id="error-dialog" class="hidden"> + <h1 id="error-title" class="text-red"></h1> + <h3> + <pre id="error-message"></pre> + </h3> + <p> + <pre id="error-body"></pre> + </p> + <h4 class="-mb-20">This error occurred at:</h4> + <pre id="error-component-stack" class="nowrap"></pre> + <h4 class="mb-0">Call stack:</h4> + <pre id="error-stack" class="nowrap"></pre> + <div id="error-cause"> + <h4 class="mb-0">Caused by:</h4> + <pre id="error-cause-message"></pre> + <pre id="error-cause-stack" class="nowrap"></pre> + </div> + <button + id="error-close" + class="mb-10" + onclick="document.getElementById('error-dialog').classList.add('hidden')" + > + Close + </button> + <h3 id="error-not-dismissible">This error is not dismissible.</h3> +</div> +<!-- + HTML content inside <div id="root">...</div> + was generated from App by react-dom/server. +--> +<div id="root"><span>Server</span></div> +</body> +</html> +``` + +```css src/styles.css active +label, button { display: block; margin-bottom: 20px; } +html, body { min-height: 300px; } + +#error-dialog { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + background-color: white; + padding: 15px; + opacity: 0.9; + text-wrap: wrap; + overflow: scroll; +} + +.text-red { + color: red; +} + +.-mb-20 { + margin-bottom: -20px; +} + +.mb-0 { + margin-bottom: 0; +} + +.mb-10 { + margin-bottom: 10px; +} + +pre { + text-wrap: wrap; +} + +pre.nowrap { + text-wrap: nowrap; +} + +.hidden { + display: none; +} +``` + +```js src/reportError.js hidden +function reportError({ title, error, componentStack, dismissable }) { + const errorDialog = document.getElementById("error-dialog"); + const errorTitle = document.getElementById("error-title"); + const errorMessage = document.getElementById("error-message"); + const errorBody = document.getElementById("error-body"); + const errorComponentStack = document.getElementById("error-component-stack"); + const errorStack = document.getElementById("error-stack"); + const errorClose = document.getElementById("error-close"); + const errorCause = document.getElementById("error-cause"); + const errorCauseMessage = document.getElementById("error-cause-message"); + const errorCauseStack = document.getElementById("error-cause-stack"); + const errorNotDismissible = document.getElementById("error-not-dismissible"); + + // Set the title + errorTitle.innerText = title; + + // Display error message and body + const [heading, body] = error.message.split(/\n(.*)/s); + errorMessage.innerText = heading; + if (body) { + errorBody.innerText = body; + } else { + errorBody.innerText = ''; + } + + // Display component stack + errorComponentStack.innerText = componentStack; + + // Display the call stack + // Since we already displayed the message, strip it, and the first Error: line. + errorStack.innerText = error.stack.replace(error.message, '').split(/\n(.*)/s)[1]; + + // Display the cause, if available + if (error.cause) { + errorCauseMessage.innerText = error.cause.message; + errorCauseStack.innerText = error.cause.stack; + errorCause.classList.remove('hidden'); + } else { + errorCause.classList.add('hidden'); + } + // Display the close button, if dismissible + if (dismissable) { + errorNotDismissible.classList.add('hidden'); + errorClose.classList.remove("hidden"); + } else { + errorNotDismissible.classList.remove('hidden'); + errorClose.classList.add("hidden"); + } + + // Show the dialog + errorDialog.classList.remove("hidden"); +} + +export function reportCaughtError({error, cause, componentStack}) { + reportError({ title: "Caught Error", error, componentStack, dismissable: true}); +} + +export function reportUncaughtError({error, cause, componentStack}) { + reportError({ title: "Uncaught Error", error, componentStack, dismissable: false }); +} + +export function reportRecoverableError({error, cause, componentStack}) { + reportError({ title: "Recoverable Error", error, componentStack, dismissable: true }); +} +``` + +```js src/index.js active +import { hydrateRoot } from "react-dom/client"; +import App from "./App.js"; +import {reportRecoverableError} from "./reportError"; +import "./styles.css"; + +const container = document.getElementById("root"); +const root = hydrateRoot(container, <App />, { + onRecoverableError: (error, errorInfo) => { + reportRecoverableError({ + error, + cause: error.cause, + componentStack: errorInfo.componentStack + }); + } +}); +``` + +```js src/App.js +import { useState } from 'react'; +import { ErrorBoundary } from "react-error-boundary"; + +export default function App() { + const [error, setError] = useState(null); + + function handleUnknown() { + setError("unknown"); + } + + function handleKnown() { + setError("known"); + } + + return ( + <span>{typeof window !== 'undefined' ? 'Client' : 'Server'}</span> + ); +} + +function fallbackRender({ resetErrorBoundary }) { + return ( + <div role="alert"> + <h3>Error Boundary</h3> + <p>Something went wrong.</p> + <button onClick={resetErrorBoundary}>Reset</button> + </div> + ); +} + +function Throw({error}) { + if (error === "known") { + throw new Error('Known error') + } else { + foo.bar = 'baz'; + } +} +``` + +```json package.json hidden +{ + "dependencies": { + "react": "canary", + "react-dom": "canary", + "react-scripts": "^5.0.0", + "react-error-boundary": "4.0.3" + }, + "main": "/index.js" +} +``` + +</Sandpack> + +## Troubleshooting {/*troubleshooting*/} + + +### I'm getting an error: "You passed a second argument to root.render" {/*im-getting-an-error-you-passed-a-second-argument-to-root-render*/} + +A common mistake is to pass the options for `hydrateRoot` to `root.render(...)`: + +<ConsoleBlock level="error"> + +Warning: You passed a second argument to root.render(...) but it only accepts one argument. + +</ConsoleBlock> + +To fix, pass the root options to `hydrateRoot(...)`, not `root.render(...)`: +```js {2,5} +// 🚩 Wrong: root.render only takes one argument. +root.render(App, {onUncaughtError}); + +// ✅ Correct: pass options to createRoot. +const root = hydrateRoot(container, <App />, {onUncaughtError}); +``` From 2749eb4dbcf31ec3ab11604aa7ce4bbf7bab11e0 Mon Sep 17 00:00:00 2001 From: Jack Pope <jackpope1@gmail.com> Date: Mon, 15 Apr 2024 10:37:38 -0400 Subject: [PATCH 235/382] Update link to nearestnabors.com (#6754) --- src/components/MDX/MDXComponents.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/MDX/MDXComponents.tsx b/src/components/MDX/MDXComponents.tsx index e42b3b2e..bdfd05a2 100644 --- a/src/components/MDX/MDXComponents.tsx +++ b/src/components/MDX/MDXComponents.tsx @@ -206,7 +206,7 @@ function Recipes(props: any) { function AuthorCredit({ author = 'Rachel Lee Nabors', - authorLink = 'http://rachelnabors.com/', + authorLink = 'https://nearestnabors.com/', }: { author: string; authorLink: string; From 56ca8f1c50626aabc6551af8f61a51f0c836460e Mon Sep 17 00:00:00 2001 From: Jan Kassens <jkassens@meta.com> Date: Mon, 15 Apr 2024 17:26:27 -0400 Subject: [PATCH 236/382] [easy] remove unused ref in ExpandableCallout.tsx (#6755) Note that this component is not actually expandable and the ref got likely unused when that was removed --- src/components/MDX/ExpandableCallout.tsx | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/src/components/MDX/ExpandableCallout.tsx b/src/components/MDX/ExpandableCallout.tsx index c4689802..415d5d86 100644 --- a/src/components/MDX/ExpandableCallout.tsx +++ b/src/components/MDX/ExpandableCallout.tsx @@ -2,7 +2,6 @@ * Copyright (c) Facebook, Inc. and its affiliates. */ -import {useRef} from 'react'; import * as React from 'react'; import cn from 'classnames'; import {IconNote} from '../Icon/IconNote'; @@ -63,7 +62,6 @@ const variantMap = { }; function ExpandableCallout({children, type = 'note'}: ExpandableCalloutProps) { - const contentRef = useRef<HTMLDivElement>(null); const variant = variantMap[type]; return ( @@ -80,9 +78,7 @@ function ExpandableCallout({children, type = 'note'}: ExpandableCalloutProps) { {variant.title} </h3> <div className="relative"> - <div ref={contentRef} className="py-2"> - {children} - </div> + <div className="py-2">{children}</div> </div> </div> ); From c2180a34389a9484c7a542d7a6fb90d7c29b2c57 Mon Sep 17 00:00:00 2001 From: John Wheeler <101359829+wheeler6123@users.noreply.github.com> Date: Wed, 17 Apr 2024 07:57:02 -0600 Subject: [PATCH 237/382] fix issue #6734 (#6735) * in \[errorCode\].tsx, wrapped parsedContent in a div and applied styling of white-space: pre-wrap to preserve whitespace and break on newline chars * updated styling to tailwind class --- src/pages/errors/[errorCode].tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/pages/errors/[errorCode].tsx b/src/pages/errors/[errorCode].tsx index f1a54a3d..519af3b0 100644 --- a/src/pages/errors/[errorCode].tsx +++ b/src/pages/errors/[errorCode].tsx @@ -36,7 +36,7 @@ export default function ErrorDecoderPage({ }} routeTree={sidebarLearn as RouteItem} section="unknown"> - {parsedContent} + <div className="whitespace-pre-line">{parsedContent}</div> {/* <MaxWidth> <P> We highly recommend using the development build locally when debugging From 37a8d646bfab5b11a583e963f3bc0429270c0b36 Mon Sep 17 00:00:00 2001 From: Jan Kassens <jkassens@meta.com> Date: Fri, 19 Apr 2024 15:20:59 -0400 Subject: [PATCH 238/382] Update SocialBanner.tsx (#6763) Tickets are sold out, update the text. --- src/components/SocialBanner.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/SocialBanner.tsx b/src/components/SocialBanner.tsx index 4e1bf8e3..2db62c99 100644 --- a/src/components/SocialBanner.tsx +++ b/src/components/SocialBanner.tsx @@ -7,7 +7,7 @@ import {useRef, useEffect} from 'react'; import cn from 'classnames'; import {ExternalLink} from './ExternalLink'; -const bannerText = 'Join us for React Conf on May 15-16.'; +const bannerText = 'Stream React Conf on May 15-16.'; const bannerLink = 'https://conf.react.dev/'; const bannerLinkText = 'Learn more.'; From 07cbd001f936c22f731e5741e9853ffcdfb3fedd Mon Sep 17 00:00:00 2001 From: Andrew Clark <git@andrewclark.io> Date: Mon, 22 Apr 2024 10:45:08 -0400 Subject: [PATCH 239/382] API docs for useDeferredValue's initialValue (#6747) * API docs for useDeferredValue's initialValue Updates the API docs for `useDeferredValue` to include the `initialValue` option, added in https://github.com/facebook/react/pull/27500. This feature is slated for release in React 19. * Add docs for onCaughtError and onUncaughtError (#6742) * Add docs for onCaughtError and onUncaughtError * Updates from feedback * Add canary info, simplify a bit --------- Co-authored-by: Ricky <rickhanlonii@fb.com> --- src/content/reference/react/useDeferredValue.md | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/content/reference/react/useDeferredValue.md b/src/content/reference/react/useDeferredValue.md index f97bf0a2..6d055f1f 100644 --- a/src/content/reference/react/useDeferredValue.md +++ b/src/content/reference/react/useDeferredValue.md @@ -18,7 +18,7 @@ const deferredValue = useDeferredValue(value) ## Reference {/*reference*/} -### `useDeferredValue(value)` {/*usedeferredvalue*/} +### `useDeferredValue(value, initialValue?)` {/*usedeferredvalue*/} Call `useDeferredValue` at the top level of your component to get a deferred version of that value. @@ -37,13 +37,23 @@ function SearchPage() { #### Parameters {/*parameters*/} * `value`: The value you want to defer. It can have any type. +* <CanaryBadge title="This feature is only available in the Canary channel" /> **optional** `initialValue`: A value to use during the initial render of a component. If this option is omitted, `useDeferredValue` will not defer during the initial render, because there's no previous version of `value` that it can render instead. + #### Returns {/*returns*/} -During the initial render, the returned deferred value will be the same as the value you provided. During updates, React will first attempt a re-render with the old value (so it will return the old value), and then try another re-render in the background with the new value (so it will return the updated value). +- `currentValue`: During the initial render, the returned deferred value will be the same as the value you provided. During updates, React will first attempt a re-render with the old value (so it will return the old value), and then try another re-render in the background with the new value (so it will return the updated value). + +<Canary> + +In the latest React Canary versions, `useDeferredValue` returns the `initialValue` on initial render, and schedules a re-render in the background with the `value` returned. + +</Canary> #### Caveats {/*caveats*/} +- When an update is inside a Transition, `useDeferredValue` always returns the new `value` and does not spawn a deferred render, since the update is already deferred. + - The values you pass to `useDeferredValue` should either be primitive values (like strings and numbers) or objects created outside of rendering. If you create a new object during rendering and immediately pass it to `useDeferredValue`, it will be different on every render, causing unnecessary background re-renders. - When `useDeferredValue` receives a different value (compared with [`Object.is`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is)), in addition to the current render (when it still uses the previous value), it schedules a re-render in the background with the new value. The background re-render is interruptible: if there's another update to the `value`, React will restart the background re-render from scratch. For example, if the user is typing into an input faster than a chart receiving its deferred value can re-render, the chart will only re-render after the user stops typing. From f8afd94cc927a6757c48f4763d8270f81088c065 Mon Sep 17 00:00:00 2001 From: Ricky <rickhanlonii@fb.com> Date: Tue, 23 Apr 2024 22:27:11 -0400 Subject: [PATCH 240/382] Add /link/new-jsx-transform (#6772) --- vercel.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/vercel.json b/vercel.json index 8d610c26..30b8e614 100644 --- a/vercel.json +++ b/vercel.json @@ -19,7 +19,6 @@ "destination": "/learn/rendering-lists#keeping-list-items-in-order-with-key", "permanent": false }, - { "source": "/link/invalid-hook-call", "destination": "/warnings/invalid-hook-call-warning", @@ -149,6 +148,11 @@ "source": "/link/setstate-in-render", "destination": "https://github.com/facebook/react/issues/18178#issuecomment-595846312", "permanent": false + }, + { + "source": "/link/new-jsx-transform", + "destination": "https://legacy.reactjs.org/blog/2020/09/22/introducing-the-new-jsx-transform.html", + "permanent": false } ], "headers": [ From cdd2fdd59fad857f55a820942c5a9e31794dafd8 Mon Sep 17 00:00:00 2001 From: Jack Pope <jackpope1@gmail.com> Date: Wed, 24 Apr 2024 12:54:48 -0400 Subject: [PATCH 241/382] Add documentation for ref cleanup functions (#6770) * Add documentation for ref cleanup functions * Contain changes within canary block --- .../learn/manipulating-the-dom-with-refs.md | 87 ++++++++++++------- .../reference/react-dom/components/common.md | 25 +++++- 2 files changed, 79 insertions(+), 33 deletions(-) diff --git a/src/content/learn/manipulating-the-dom-with-refs.md b/src/content/learn/manipulating-the-dom-with-refs.md index bc9a3eac..2d44d735 100644 --- a/src/content/learn/manipulating-the-dom-with-refs.md +++ b/src/content/learn/manipulating-the-dom-with-refs.md @@ -218,18 +218,19 @@ This example shows how you can use this approach to scroll to an arbitrary node <Sandpack> ```js -import { useRef } from 'react'; +import { useRef, useState } from "react"; export default function CatFriends() { const itemsRef = useRef(null); + const [catList, setCatList] = useState(setupCatList); - function scrollToId(itemId) { + function scrollToCat(cat) { const map = getMap(); - const node = map.get(itemId); + const node = map.get(cat); node.scrollIntoView({ - behavior: 'smooth', - block: 'nearest', - inline: 'center' + behavior: "smooth", + block: "nearest", + inline: "center", }); } @@ -244,34 +245,25 @@ export default function CatFriends() { return ( <> <nav> - <button onClick={() => scrollToId(0)}> - Tom - </button> - <button onClick={() => scrollToId(5)}> - Maru - </button> - <button onClick={() => scrollToId(9)}> - Jellylorum - </button> + <button onClick={() => scrollToCat(catList[0])}>Tom</button> + <button onClick={() => scrollToCat(catList[5])}>Maru</button> + <button onClick={() => scrollToCat(catList[9])}>Jellylorum</button> </nav> <div> <ul> - {catList.map(cat => ( + {catList.map((cat) => ( <li - key={cat.id} + key={cat} ref={(node) => { const map = getMap(); if (node) { - map.set(cat.id, node); + map.set(cat, node); } else { - map.delete(cat.id); + map.delete(cat); } }} > - <img - src={cat.imageUrl} - alt={'Cat #' + cat.id} - /> + <img src={cat} /> </li> ))} </ul> @@ -280,12 +272,13 @@ export default function CatFriends() { ); } -const catList = []; -for (let i = 0; i < 10; i++) { - catList.push({ - id: i, - imageUrl: 'https://placekitten.com/250/200?image=' + i - }); +function setupCatList() { + const catList = []; + for (let i = 0; i < 10; i++) { + catList.push("https://loremflickr.com/320/240/cat?lock=" + i); + } + + return catList; } ``` @@ -316,6 +309,16 @@ li { } ``` +```json package.json hidden +{ + "dependencies": { + "react": "canary", + "react-dom": "canary", + "react-scripts": "^5.0.0" + } +} +``` + </Sandpack> In this example, `itemsRef` doesn't hold a single DOM node. Instead, it holds a [Map](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Map) from item ID to a DOM node. ([Refs can hold any values!](/learn/referencing-values-with-refs)) The [`ref` callback](/reference/react-dom/components/common#ref-callback) on every list item takes care to update the Map: @@ -327,10 +330,10 @@ In this example, `itemsRef` doesn't hold a single DOM node. Instead, it holds a const map = getMap(); if (node) { // Add to the Map - map.set(cat.id, node); + map.set(cat, node); } else { // Remove from the Map - map.delete(cat.id); + map.delete(cat); } }} > @@ -338,6 +341,28 @@ In this example, `itemsRef` doesn't hold a single DOM node. Instead, it holds a This lets you read individual DOM nodes from the Map later. +<Canary> + +This example shows another approach for managing the Map with a `ref` callback cleanup function. + +```js +<li + key={cat.id} + ref={node => { + const map = getMap(); + // Add to the Map + map.set(cat, node); + + return () => { + // Remove from the Map + map.delete(cat); + }; + }} +> +``` + +</Canary> + </DeepDive> ## Accessing another component's DOM nodes {/*accessing-another-components-dom-nodes*/} diff --git a/src/content/reference/react-dom/components/common.md b/src/content/reference/react-dom/components/common.md index 61074273..62ee0813 100644 --- a/src/content/reference/react-dom/components/common.md +++ b/src/content/reference/react-dom/components/common.md @@ -257,11 +257,32 @@ React will also call your `ref` callback whenever you pass a *different* `ref` c #### Parameters {/*ref-callback-parameters*/} -* `node`: A DOM node or `null`. React will pass you the DOM node when the ref gets attached, and `null` when the ref gets detached. Unless you pass the same function reference for the `ref` callback on every render, the callback will get temporarily detached and re-attached during every re-render of the component. +* `node`: A DOM node or `null`. React will pass you the DOM node when the ref gets attached, and `null` when the `ref` gets detached. Unless you pass the same function reference for the `ref` callback on every render, the callback will get temporarily detached and re-attached during every re-render of the component. + +<Canary> #### Returns {/*returns*/} -Do not return anything from the `ref` callback. +* **optional** `cleanup function`: When the `ref` is detached, React will call the cleanup function. If a function is not returned by the `ref` callback, React will call the callback again with `null` as the argument when the `ref` gets detached. + +```js + +<div ref={(node) => { + console.log(node); + + return () => { + console.log('Clean up', node) + } +}}> + +``` + +#### Caveats {/*caveats*/} + +* When Strict Mode is on, React will **run one extra development-only setup+cleanup cycle** before the first real setup. This is a stress-test that ensures that your cleanup logic "mirrors" your setup logic and that it stops or undoes whatever the setup is doing. If this causes a problem, implement the cleanup function. +* When you pass a *different* `ref` callback, React will call the *previous* callback's cleanup function if provided. If not cleanup function is defined, the `ref` callback will be called with `null` as the argument. The *next* function will be called with the DOM node. + +</Canary> --- From 9fb2f0dd12ef0babc9dc30c0eb984e49a94a9a20 Mon Sep 17 00:00:00 2001 From: Jan Kassens <jkassens@meta.com> Date: Wed, 24 Apr 2024 15:58:09 -0400 Subject: [PATCH 242/382] Move `use` to APIs (#6774) --- src/content/reference/react/apis.md | 17 ++++++++++++++++ src/content/reference/react/hooks.md | 18 ----------------- src/content/reference/react/use.md | 30 ++++++++++++++-------------- src/sidebarReference.json | 10 +++++----- 4 files changed, 37 insertions(+), 38 deletions(-) diff --git a/src/content/reference/react/apis.md b/src/content/reference/react/apis.md index 9c143787..4dd1d49e 100644 --- a/src/content/reference/react/apis.md +++ b/src/content/reference/react/apis.md @@ -15,3 +15,20 @@ In addition to [Hooks](/reference/react) and [Components](/reference/react/compo * [`lazy`](/reference/react/lazy) lets you defer loading a component's code until it's rendered for the first time. * [`memo`](/reference/react/memo) lets your component skip re-renders with same props. Used with [`useMemo`](/reference/react/useMemo) and [`useCallback`.](/reference/react/useCallback) * [`startTransition`](/reference/react/startTransition) lets you mark a state update as non-urgent. Similar to [`useTransition`.](/reference/react/useTransition) + +--- + +## Resource APIs {/*resource-apis*/} + +*Resources* can be accessed by a component without having them as part of their state. For example, a component can read a message from a Promise or read styling information from a context. + +To read a value from a resource, use this API: + +* [`use`](/reference/react/use) lets you read the value of a resource like a [Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) or [context](/learn/passing-data-deeply-with-context). +```js +function MessageComponent({ messagePromise }) { + const message = use(messagePromise); + const theme = use(ThemeContext); + // ... +} +``` diff --git a/src/content/reference/react/hooks.md b/src/content/reference/react/hooks.md index cec71ce8..650a1c38 100644 --- a/src/content/reference/react/hooks.md +++ b/src/content/reference/react/hooks.md @@ -106,24 +106,6 @@ To prioritize rendering, use one of these Hooks: --- -## Resource Hooks {/*resource-hooks*/} - -*Resources* can be accessed by a component without having them as part of their state. For example, a component can read a message from a Promise or read styling information from a context. - -To read a value from a resource, use this Hook: - -- [`use`](/reference/react/use) lets you read the value of a resource like a [Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) or [context](/learn/passing-data-deeply-with-context). - -```js -function MessageComponent({ messagePromise }) { - const message = use(messagePromise); - const theme = use(ThemeContext); - // ... -} -``` - ---- - ## Other Hooks {/*other-hooks*/} These Hooks are mostly useful to library authors and aren't commonly used in the application code. diff --git a/src/content/reference/react/use.md b/src/content/reference/react/use.md index c3c8c92d..824fae32 100644 --- a/src/content/reference/react/use.md +++ b/src/content/reference/react/use.md @@ -5,13 +5,13 @@ canary: true <Canary> -The `use` Hook is currently only available in React's Canary and experimental channels. Learn more about [React's release channels here](/community/versioning-policy#all-release-channels). +The `use` API is currently only available in React's Canary and experimental channels. Learn more about [React's release channels here](/community/versioning-policy#all-release-channels). </Canary> <Intro> -`use` is a React Hook that lets you read the value of a resource like a [Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) or [context](/learn/passing-data-deeply-with-context). +`use` is a React API that lets you read the value of a resource like a [Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) or [context](/learn/passing-data-deeply-with-context). ```js const value = use(resource); @@ -38,9 +38,9 @@ function MessageComponent({ messagePromise }) { // ... ``` -Unlike all other React Hooks, `use` can be called within loops and conditional statements like `if`. Like other React Hooks, the function that calls `use` must be a Component or Hook. +Unlike React Hooks, `use` can be called within loops and conditional statements like `if`. Like React Hooks, the function that calls `use` must be a Component or Hook. -When called with a Promise, the `use` Hook integrates with [`Suspense`](/reference/react/Suspense) and [error boundaries](/reference/react/Component#catching-rendering-errors-with-an-error-boundary). The component calling `use` *suspends* while the Promise passed to `use` is pending. If the component that calls `use` is wrapped in a Suspense boundary, the fallback will be displayed. Once the Promise is resolved, the Suspense fallback is replaced by the rendered components using the data returned by the `use` Hook. If the Promise passed to `use` is rejected, the fallback of the nearest Error Boundary will be displayed. +When called with a Promise, the `use` API integrates with [`Suspense`](/reference/react/Suspense) and [error boundaries](/reference/react/Component#catching-rendering-errors-with-an-error-boundary). The component calling `use` *suspends* while the Promise passed to `use` is pending. If the component that calls `use` is wrapped in a Suspense boundary, the fallback will be displayed. Once the Promise is resolved, the Suspense fallback is replaced by the rendered components using the data returned by the `use` API. If the Promise passed to `use` is rejected, the fallback of the nearest Error Boundary will be displayed. [See more examples below.](#usage) @@ -50,11 +50,11 @@ When called with a Promise, the `use` Hook integrates with [`Suspense`](/referen #### Returns {/*returns*/} -The `use` Hook returns the value that was read from the resource like the resolved value of a [Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) or [context](/learn/passing-data-deeply-with-context). +The `use` API returns the value that was read from the resource like the resolved value of a [Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) or [context](/learn/passing-data-deeply-with-context). #### Caveats {/*caveats*/} -* The `use` Hook must be called inside a Component or a Hook. +* The `use` API must be called inside a Component or a Hook. * When fetching data in a [Server Component](/reference/react/use-server), prefer `async` and `await` over `use`. `async` and `await` pick up rendering from the point where `await` was invoked, whereas `use` re-renders the component after the data is resolved. * Prefer creating Promises in [Server Components](/reference/react/use-server) and passing them to [Client Components](/reference/react/use-client) over creating Promises in Client Components. Promises created in Client Components are recreated on every render. Promises passed from a Server Component to a Client Component are stable across re-renders. [See this example](#streaming-data-from-server-to-client). @@ -230,7 +230,7 @@ export default function App() { } ``` -The <CodeStep step={2}>Client Component</CodeStep> then takes <CodeStep step={4}>the Promise it received as a prop</CodeStep> and passes it to the <CodeStep step={5}>`use`</CodeStep> Hook. This allows the <CodeStep step={2}>Client Component</CodeStep> to read the value from <CodeStep step={4}>the Promise</CodeStep> that was initially created by the Server Component. +The <CodeStep step={2}>Client Component</CodeStep> then takes <CodeStep step={4}>the Promise it received as a prop</CodeStep> and passes it to the <CodeStep step={5}>`use`</CodeStep> API. This allows the <CodeStep step={2}>Client Component</CodeStep> to read the value from <CodeStep step={4}>the Promise</CodeStep> that was initially created by the Server Component. ```js [[2, 6, "Message"], [4, 6, "messagePromise"], [4, 7, "messagePromise"], [5, 7, "use"]] // message.js @@ -243,7 +243,7 @@ export function Message({ messagePromise }) { return <p>Here is the message: {messageContent}</p>; } ``` -Because <CodeStep step={2}>`Message`</CodeStep> is wrapped in <CodeStep step={3}>[`Suspense`](/reference/react/Suspense)</CodeStep>, the fallback will be displayed until the Promise is resolved. When the Promise is resolved, the value will be read by the <CodeStep step={5}>`use`</CodeStep> Hook and the <CodeStep step={2}>`Message`</CodeStep> component will replace the Suspense fallback. +Because <CodeStep step={2}>`Message`</CodeStep> is wrapped in <CodeStep step={3}>[`Suspense`](/reference/react/Suspense)</CodeStep>, the fallback will be displayed until the Promise is resolved. When the Promise is resolved, the value will be read by the <CodeStep step={5}>`use`</CodeStep> API and the <CodeStep step={2}>`Message`</CodeStep> component will replace the Suspense fallback. <Sandpack> @@ -293,7 +293,7 @@ export default function App() { ```js src/index.js hidden // TODO: update to import from stable // react instead of canary once the `use` -// Hook is in a stable release of React +// API is in a stable release of React import React, { StrictMode } from 'react'; import { createRoot } from 'react-dom/client'; import './styles.css'; @@ -334,7 +334,7 @@ When passing a Promise from a Server Component to a Client Component, its resolv #### Should I resolve a Promise in a Server or Client Component? {/*resolve-promise-in-server-or-client-component*/} -A Promise can be passed from a Server Component to a Client Component and resolved in the Client Component with the `use` Hook. You can also resolve the Promise in a Server Component with `await` and pass the required data to the Client Component as a prop. +A Promise can be passed from a Server Component to a Client Component and resolved in the Client Component with the `use` API. You can also resolve the Promise in a Server Component with `await` and pass the required data to the Client Component as a prop. ```js export default async function App() { @@ -360,7 +360,7 @@ In some cases a Promise passed to `use` could be rejected. You can handle reject #### Displaying an error to users with an error boundary {/*displaying-an-error-to-users-with-error-boundary*/} -If you'd like to display an error to your users when a Promise is rejected, you can use an [error boundary](/reference/react/Component#catching-rendering-errors-with-an-error-boundary). To use an error boundary, wrap the component where you are calling the `use` Hook in an error boundary. If the Promise passed to `use` is rejected the fallback for the error boundary will be displayed. +If you'd like to display an error to your users when a Promise is rejected, you can use an [error boundary](/reference/react/Component#catching-rendering-errors-with-an-error-boundary). To use an error boundary, wrap the component where you are calling the `use` API in an error boundary. If the Promise passed to `use` is rejected the fallback for the error boundary will be displayed. <Sandpack> @@ -413,7 +413,7 @@ export default function App() { ```js src/index.js hidden // TODO: update to import from stable // react instead of canary once the `use` -// Hook is in a stable release of React +// API is in a stable release of React import React, { StrictMode } from 'react'; import { createRoot } from 'react-dom/client'; import './styles.css'; @@ -474,9 +474,9 @@ To use the Promise's <CodeStep step={1}>`catch`</CodeStep> method, call <CodeSte ### "Suspense Exception: This is not a real error!" {/*suspense-exception-error*/} -You are either calling `use` outside of a React component or Hook function, or calling `use` in a try–catch block. If you are calling `use` inside a try–catch block, wrap your component in an error boundary, or call the Promise's `catch` to catch the error and resolve the Promise with another value. [See these examples](#dealing-with-rejected-promises). +You are either calling `use` outside of a React Component or Hook function, or calling `use` in a try–catch block. If you are calling `use` inside a try–catch block, wrap your component in an error boundary, or call the Promise's `catch` to catch the error and resolve the Promise with another value. [See these examples](#dealing-with-rejected-promises). -If you are calling `use` outside a React component or Hook function, move the `use` call to a React component or Hook function. +If you are calling `use` outside a React Component or Hook function, move the `use` call to a React Component or Hook function. ```jsx function MessageComponent({messagePromise}) { @@ -486,7 +486,7 @@ function MessageComponent({messagePromise}) { // ... ``` -Instead, call `use` outside any component closures, where the function that calls `use` is a component or Hook. +Instead, call `use` outside any component closures, where the function that calls `use` is a Component or Hook. ```jsx function MessageComponent({messagePromise}) { diff --git a/src/sidebarReference.json b/src/sidebarReference.json index 2b13649f..0edf3979 100644 --- a/src/sidebarReference.json +++ b/src/sidebarReference.json @@ -14,11 +14,6 @@ "title": "Hooks", "path": "/reference/react/hooks", "routes": [ - { - "title": "use", - "path": "/reference/react/use", - "canary": true - }, { "title": "useCallback", "path": "/reference/react/useCallback" @@ -137,6 +132,11 @@ "title": "startTransition", "path": "/reference/react/startTransition" }, + { + "title": "use", + "path": "/reference/react/use", + "canary": true + }, { "title": "experimental_taintObjectReference", "path": "/reference/react/experimental_taintObjectReference", From 4f5501088ef55dbab633fab6b8ace09edfd9cc6d Mon Sep 17 00:00:00 2001 From: Jan Kassens <jkassens@meta.com> Date: Thu, 25 Apr 2024 13:59:37 -0400 Subject: [PATCH 243/382] Rename useFormState to useActionState (#6776) * move useFormState api * add redirect * use React DOM as the name --- ...t-we-have-been-working-on-february-2024.md | 4 +- .../reference/react-dom/components/form.md | 12 ++--- .../reference/react-dom/hooks/index.md | 4 +- src/content/reference/react/hooks.md | 1 + src/content/reference/react/use-server.md | 8 +-- .../useActionState.md} | 54 ++++++++++--------- src/sidebarReference.json | 10 ++-- vercel.json | 5 ++ 8 files changed, 53 insertions(+), 45 deletions(-) rename src/content/reference/{react-dom/hooks/useFormState.md => react/useActionState.md} (72%) diff --git a/src/content/blog/2024/02/15/react-labs-what-we-have-been-working-on-february-2024.md b/src/content/blog/2024/02/15/react-labs-what-we-have-been-working-on-february-2024.md index 03fc85c3..04aff7af 100644 --- a/src/content/blog/2024/02/15/react-labs-what-we-have-been-working-on-february-2024.md +++ b/src/content/blog/2024/02/15/react-labs-what-we-have-been-working-on-february-2024.md @@ -52,7 +52,7 @@ We refer to this broader collection of features as simply "Actions". Actions all </form> ``` -The `action` function can operate synchronously or asynchronously. You can define them on the client side using standard JavaScript or on the server with the [`'use server'`](/reference/react/use-server) directive. When using an action, React will manage the life cycle of the data submission for you, providing hooks like [`useFormStatus`](/reference/react-dom/hooks/useFormStatus), and [`useFormState`](/reference/react-dom/hooks/useFormState) to access the current state and response of the form action. +The `action` function can operate synchronously or asynchronously. You can define them on the client side using standard JavaScript or on the server with the [`'use server'`](/reference/react/use-server) directive. When using an action, React will manage the life cycle of the data submission for you, providing hooks like [`useFormStatus`](/reference/react-dom/hooks/useFormStatus), and [`useActionState`](/reference/react/useActionState) to access the current state and response of the form action. By default, Actions are submitted within a [transition](/reference/react/useTransition), keeping the current page interactive while the action is processing. Since Actions support async functions, we've also added the ability to use `async/await` in transitions. This allows you to show pending UI with the `isPending` state of a transition when an async request like `fetch` starts, and show the pending UI all the way through the update being applied. @@ -78,7 +78,7 @@ React Server Components, Asset Loading, Document Metadata, and Actions have all - **Asset Loading**: we integrated Suspense with the loading lifecycle of resources such as stylesheets, fonts, and scripts so that React takes them into account to determine whether the content in elements like [`<style>`](/reference/react-dom/components/style), [`<link>`](/reference/react-dom/components/link), and [`<script>`](/reference/react-dom/components/script) are ready to be displayed. We’ve also added new [Resource Loading APIs](/reference/react-dom#resource-preloading-apis) like `preload` and `preinit` to provide greater control for when a resource should load and initialize. -- **Actions**: As shared above, we've added Actions to manage sending data from the client to the server. You can add `action` to elements like [`<form/>`](/reference/react-dom/components/form), access the status with [`useFormStatus`](/reference/react-dom/hooks/useFormStatus), handle the result with [`useFormState`](/reference/react-dom/hooks/useFormState), and optimistically update the UI with [`useOptimistic`](/reference/react/useOptimistic). +- **Actions**: As shared above, we've added Actions to manage sending data from the client to the server. You can add `action` to elements like [`<form/>`](/reference/react-dom/components/form), access the status with [`useFormStatus`](/reference/react-dom/hooks/useFormStatus), handle the result with [`useActionState`](/reference/react/useActionState), and optimistically update the UI with [`useOptimistic`](/reference/react/useOptimistic). Since all of these features work together, it’s difficult to release them in the Stable channel individually. Releasing Actions without the complementary hooks for accessing form states would limit the practical usability of Actions. Introducing React Server Components without integrating Server Actions would complicate modifying data on the server. diff --git a/src/content/reference/react-dom/components/form.md b/src/content/reference/react-dom/components/form.md index 4b7d5d8a..4f7fc967 100644 --- a/src/content/reference/react-dom/components/form.md +++ b/src/content/reference/react-dom/components/form.md @@ -324,14 +324,14 @@ Displaying a form submission error message before the JavaScript bundle loads fo 1. `<form>` be rendered by a [Server Component](/reference/react/use-client) 1. the function passed to the `<form>`'s `action` prop be a [Server Action](/reference/react/use-server) -1. the `useFormState` Hook be used to display the error message +1. the `useActionState` Hook be used to display the error message -`useFormState` takes two parameters: a [Server Action](/reference/react/use-server) and an initial state. `useFormState` returns two values, a state variable and an action. The action returned by `useFormState` should be passed to the `action` prop of the form. The state variable returned by `useFormState` can be used to displayed an error message. The value returned by the [Server Action](/reference/react/use-server) passed to `useFormState` will be used to update the state variable. +`useActionState` takes two parameters: a [Server Action](/reference/react/use-server) and an initial state. `useActionState` returns two values, a state variable and an action. The action returned by `useActionState` should be passed to the `action` prop of the form. The state variable returned by `useActionState` can be used to displayed an error message. The value returned by the [Server Action](/reference/react/use-server) passed to `useActionState` will be used to update the state variable. <Sandpack> ```js src/App.js -import { useFormState } from "react-dom"; +import { useActionState } from "react"; import { signUpNewUser } from "./api"; export default function Page() { @@ -345,12 +345,12 @@ export default function Page() { return err.toString(); } } - const [message, formAction] = useFormState(signup, null); + const [message, signupAction] = useActionState(signup, null); return ( <> <h1>Signup for my newsletter</h1> <p>Signup with the same email twice to see an error</p> - <form action={formAction} id="signup-form"> + <form action={signupAction} id="signup-form"> <label htmlFor="email">Email: </label> <input name="email" id="email" placeholder="react@example.com" /> <button>Sign up</button> @@ -386,7 +386,7 @@ export async function signUpNewUser(newEmail) { </Sandpack> -Learn more about updating state from a form action with the [`useFormState`](/reference/react-dom/hooks/useFormState) docs +Learn more about updating state from a form action with the [`useActionState`](/reference/react/hooks/useActionState) docs ### Handling multiple submission types {/*handling-multiple-submission-types*/} diff --git a/src/content/reference/react-dom/hooks/index.md b/src/content/reference/react-dom/hooks/index.md index 937de808..681488b5 100644 --- a/src/content/reference/react-dom/hooks/index.md +++ b/src/content/reference/react-dom/hooks/index.md @@ -21,14 +21,13 @@ Form Hooks are currently only available in React's canary and experimental chann *Forms* let you create interactive controls for submitting information. To manage forms in your components, use one of these Hooks: * [`useFormStatus`](/reference/react-dom/hooks/useFormStatus) allows you to make updates to the UI based on the status of the a form. -* [`useFormState`](/reference/react-dom/hooks/useFormState) allows you to manage state inside a form. ```js function Form({ action }) { async function increment(n) { return n + 1; } - const [count, incrementFormAction] = useFormState(increment, 0); + const [count, incrementFormAction] = useActionState(increment, 0); return ( <form action={action}> <button formAction={incrementFormAction}>Count: {count}</button> @@ -46,4 +45,3 @@ function Button() { ); } ``` - diff --git a/src/content/reference/react/hooks.md b/src/content/reference/react/hooks.md index 650a1c38..6dea3a0f 100644 --- a/src/content/reference/react/hooks.md +++ b/src/content/reference/react/hooks.md @@ -113,6 +113,7 @@ These Hooks are mostly useful to library authors and aren't commonly used in the - [`useDebugValue`](/reference/react/useDebugValue) lets you customize the label React DevTools displays for your custom Hook. - [`useId`](/reference/react/useId) lets a component associate a unique ID with itself. Typically used with accessibility APIs. - [`useSyncExternalStore`](/reference/react/useSyncExternalStore) lets a component subscribe to an external store. +* [`useActionState`](/reference/react/useActionState) allows you to manage state of actions. --- diff --git a/src/content/reference/react/use-server.md b/src/content/reference/react/use-server.md index 3c93564f..892e5290 100644 --- a/src/content/reference/react/use-server.md +++ b/src/content/reference/react/use-server.md @@ -133,7 +133,7 @@ By passing a Server Action to the form `action`, React can [progressively enhanc In the username request form, there might be the chance that a username is not available. `requestUsername` should tell us if it fails or not. -To update the UI based on the result of a Server Action while supporting progressive enhancement, use [`useFormState`](/reference/react-dom/hooks/useFormState). +To update the UI based on the result of a Server Action while supporting progressive enhancement, use [`useActionState`](/reference/react/useActionState). ```js // requestUsername.js @@ -153,11 +153,11 @@ export default async function requestUsername(formData) { // UsernameForm.js 'use client'; -import { useFormState } from 'react-dom'; +import { useActionState } from 'react'; import requestUsername from './requestUsername'; function UsernameForm() { - const [returnValue, action] = useFormState(requestUsername, 'n/a'); + const [returnValue, action] = useActionState(requestUsername, 'n/a'); return ( <> @@ -171,7 +171,7 @@ function UsernameForm() { } ``` -Note that like most Hooks, `useFormState` can only be called in <CodeStep step={1}>[client code](/reference/react/use-client)</CodeStep>. +Note that like most Hooks, `useActionState` can only be called in <CodeStep step={1}>[client code](/reference/react/use-client)</CodeStep>. ### Calling a Server Action outside of `<form>` {/*calling-a-server-action-outside-of-form*/} diff --git a/src/content/reference/react-dom/hooks/useFormState.md b/src/content/reference/react/useActionState.md similarity index 72% rename from src/content/reference/react-dom/hooks/useFormState.md rename to src/content/reference/react/useActionState.md index e2a8d539..306663c1 100644 --- a/src/content/reference/react-dom/hooks/useFormState.md +++ b/src/content/reference/react/useActionState.md @@ -1,20 +1,26 @@ --- -title: useFormState +title: useActionState canary: true --- <Canary> -The `useFormState` Hook is currently only available in React's Canary and experimental channels. Learn more about [release channels here](/community/versioning-policy#all-release-channels). In addition, you need to use a framework that supports [React Server Components](/reference/react/use-client) to get the full benefit of `useFormState`. +The `useActionState` Hook is currently only available in React's Canary and experimental channels. Learn more about [release channels here](/community/versioning-policy#all-release-channels). In addition, you need to use a framework that supports [React Server Components](/reference/react/use-client) to get the full benefit of `useActionState`. </Canary> +<Note> + +In earlier React Canary versions, this API was part of React DOM and called `useFormState`. + +</Note> + <Intro> -`useFormState` is a Hook that allows you to update state based on the result of a form action. +`useActionState` is a Hook that allows you to update state based on the result of a form action. ```js -const [state, formAction] = useFormState(fn, initialState, permalink?); +const [state, formAction] = useActionState(fn, initialState, permalink?); ``` </Intro> @@ -25,21 +31,21 @@ const [state, formAction] = useFormState(fn, initialState, permalink?); ## Reference {/*reference*/} -### `useFormState(action, initialState, permalink?)` {/*useformstate*/} +### `useActionState(action, initialState, permalink?)` {/*useactionstate*/} {/* TODO T164397693: link to actions documentation once it exists */} -Call `useFormState` at the top level of your component to create component state that is updated [when a form action is invoked](/reference/react-dom/components/form). You pass `useFormState` an existing form action function as well as an initial state, and it returns a new action that you use in your form, along with the latest form state. The latest form state is also passed to the function that you provided. +Call `useActionState` at the top level of your component to create component state that is updated [when a form action is invoked](/reference/react-dom/components/form). You pass `useActionState` an existing form action function as well as an initial state, and it returns a new action that you use in your form, along with the latest form state. The latest form state is also passed to the function that you provided. ```js -import { useFormState } from "react-dom"; +import { useActionState } from "react"; async function increment(previousState, formData) { return previousState + 1; } function StatefulForm({}) { - const [state, formAction] = useFormState(increment, 0); + const [state, formAction] = useActionState(increment, 0); return ( <form> {state} @@ -51,7 +57,7 @@ function StatefulForm({}) { The form state is the value returned by the action when the form was last submitted. If the form has not yet been submitted, it is the initial state that you pass. -If used with a Server Action, `useFormState` allows the server's response from submitting the form to be shown even before hydration has completed. +If used with a Server Action, `useActionState` allows the server's response from submitting the form to be shown even before hydration has completed. [See more examples below.](#usage) @@ -65,15 +71,15 @@ If used with a Server Action, `useFormState` allows the server's response from s #### Returns {/*returns*/} -`useFormState` returns an array with exactly two values: +`useActionState` returns an array with exactly two values: 1. The current state. During the first render, it will match the `initialState` you have passed. After the action is invoked, it will match the value returned by the action. 2. A new action that you can pass as the `action` prop to your `form` component or `formAction` prop to any `button` component within the form. #### Caveats {/*caveats*/} -* When used with a framework that supports React Server Components, `useFormState` lets you make forms interactive before JavaScript has executed on the client. When used without Server Components, it is equivalent to component local state. -* The function passed to `useFormState` receives an extra argument, the previous or initial state, as its first argument. This makes its signature different than if it were used directly as a form action without using `useFormState`. +* When used with a framework that supports React Server Components, `useActionState` lets you make forms interactive before JavaScript has executed on the client. When used without Server Components, it is equivalent to component local state. +* The function passed to `useActionState` receives an extra argument, the previous or initial state, as its first argument. This makes its signature different than if it were used directly as a form action without using `useActionState`. --- @@ -81,14 +87,14 @@ If used with a Server Action, `useFormState` allows the server's response from s ### Using information returned by a form action {/*using-information-returned-by-a-form-action*/} -Call `useFormState` at the top level of your component to access the return value of an action from the last time a form was submitted. +Call `useActionState` at the top level of your component to access the return value of an action from the last time a form was submitted. ```js [[1, 5, "state"], [2, 5, "formAction"], [3, 5, "action"], [4, 5, "null"], [2, 8, "formAction"]] -import { useFormState } from 'react-dom'; +import { useActionState } from 'react'; import { action } from './actions.js'; function MyComponent() { - const [state, formAction] = useFormState(action, null); + const [state, formAction] = useActionState(action, null); // ... return ( <form action={formAction}> @@ -98,14 +104,14 @@ function MyComponent() { } ``` -`useFormState` returns an array with exactly two items: +`useActionState` returns an array with exactly two items: 1. The <CodeStep step={1}>current state</CodeStep> of the form, which is initially set to the <CodeStep step={4}>initial state</CodeStep> you provided, and after the form is submitted is set to the return value of the <CodeStep step={3}>action</CodeStep> you provided. 2. A <CodeStep step={2}>new action</CodeStep> that you pass to `<form>` as its `action` prop. When the form is submitted, the <CodeStep step={3}>action</CodeStep> function that you provided will be called. Its return value will become the new <CodeStep step={1}>current state</CodeStep> of the form. -The <CodeStep step={3}>action</CodeStep> that you provide will also receive a new first argument, namely the <CodeStep step={1}>current state</CodeStep> of the form. The first time the form is submitted, this will be the <CodeStep step={4}>initial state</CodeStep> you provided, while with subsequent submissions, it will be the return value from the last time the action was called. The rest of the arguments are the same as if `useFormState` had not been used. +The <CodeStep step={3}>action</CodeStep> that you provide will also receive a new first argument, namely the <CodeStep step={1}>current state</CodeStep> of the form. The first time the form is submitted, this will be the <CodeStep step={4}>initial state</CodeStep> you provided, while with subsequent submissions, it will be the return value from the last time the action was called. The rest of the arguments are the same as if `useActionState` had not been used. ```js [[3, 1, "action"], [1, 1, "currentState"]] function action(currentState, formData) { @@ -118,17 +124,16 @@ function action(currentState, formData) { #### Display form errors {/*display-form-errors*/} -To display messages such as an error message or toast that's returned by a Server Action, wrap the action in a call to `useFormState`. +To display messages such as an error message or toast that's returned by a Server Action, wrap the action in a call to `useActionState`. <Sandpack> ```js src/App.js -import { useState } from "react"; -import { useFormState } from "react-dom"; +import { useActionState, useState } from "react"; import { addToCart } from "./actions.js"; function AddToCartForm({itemID, itemTitle}) { - const [message, formAction] = useFormState(addToCart, null); + const [message, formAction] = useActionState(addToCart, null); return ( <form action={formAction}> <h2>{itemTitle}</h2> @@ -196,12 +201,11 @@ The return value from a Server Action can be any serializable value. For example <Sandpack> ```js src/App.js -import { useState } from "react"; -import { useFormState } from "react-dom"; +import { useActionState, useState } from "react"; import { addToCart } from "./actions.js"; function AddToCartForm({itemID, itemTitle}) { - const [formState, formAction] = useFormState(addToCart, {}); + const [formState, formAction] = useActionState(addToCart, {}); return ( <form action={formAction}> <h2>{itemTitle}</h2> @@ -283,7 +287,7 @@ form button { ### My action can no longer read the submitted form data {/*my-action-can-no-longer-read-the-submitted-form-data*/} -When you wrap an action with `useFormState`, it gets an extra argument *as its first argument*. The submitted form data is therefore its *second* argument instead of its first as it would usually be. The new first argument that gets added is the current state of the form. +When you wrap an action with `useActionState`, it gets an extra argument *as its first argument*. The submitted form data is therefore its *second* argument instead of its first as it would usually be. The new first argument that gets added is the current state of the form. ```js function action(currentState, formData) { diff --git a/src/sidebarReference.json b/src/sidebarReference.json index 0edf3979..1f4e25ab 100644 --- a/src/sidebarReference.json +++ b/src/sidebarReference.json @@ -14,6 +14,11 @@ "title": "Hooks", "path": "/reference/react/hooks", "routes": [ + { + "title": "useActionState", + "path": "/reference/react/useActionState", + "canary": true + }, { "title": "useCallback", "path": "/reference/react/useCallback" @@ -174,11 +179,6 @@ "title": "Hooks", "path": "/reference/react-dom/hooks", "routes": [ - { - "title": "useFormState", - "path": "/reference/react-dom/hooks/useFormState", - "canary": true - }, { "title": "useFormStatus", "path": "/reference/react-dom/hooks/useFormStatus", diff --git a/vercel.json b/vercel.json index 30b8e614..7183e4a0 100644 --- a/vercel.json +++ b/vercel.json @@ -9,6 +9,11 @@ "destination": "/reference/react", "permanent": true }, + { + "source": "/reference/react-dom/hooks/useFormState", + "destination": "/reference/react/useActionState", + "permanent": true + }, { "source": "/learn/meet-the-team", "destination": "/community/team", From 191852ad463d586f73d3a6a398a1402cce636358 Mon Sep 17 00:00:00 2001 From: Ricky <rickhanlonii@fb.com> Date: Thu, 25 Apr 2024 15:40:09 -0400 Subject: [PATCH 244/382] Add blog posts for React 19 Beta (#6778) * Blog posts for React 19 * Feedback * Feedback * Update src/content/blog/2024/04/25/react-19.md Co-authored-by: Josh Story <josh.c.story@gmail.com> * Update src/content/blog/2024/04/25/react-19.md Co-authored-by: Josh Story <josh.c.story@gmail.com> * Update src/content/blog/2024/04/25/react-19.md Co-authored-by: Josh Story <josh.c.story@gmail.com> * Update src/content/blog/2024/04/25/react-19.md Co-authored-by: Josh Story <josh.c.story@gmail.com> * Update src/content/blog/2024/04/25/react-19.md Co-authored-by: Josh Story <josh.c.story@gmail.com> * Update src/content/blog/2024/04/25/react-19.md Co-authored-by: Josh Story <josh.c.story@gmail.com> * Update src/content/blog/2024/04/25/react-19.md Co-authored-by: Josh Story <josh.c.story@gmail.com> * Update src/content/blog/2024/04/25/react-19.md Co-authored-by: Josh Story <josh.c.story@gmail.com> * Update src/content/blog/2024/04/25/react-19.md Co-authored-by: Josh Story <josh.c.story@gmail.com> * Update src/content/blog/2024/04/25/react-19.md Co-authored-by: Josh Story <josh.c.story@gmail.com> * Update src/content/blog/2024/04/25/react-19.md Co-authored-by: Josh Story <josh.c.story@gmail.com> * Update src/content/blog/2024/04/25/react-19.md Co-authored-by: Josh Story <josh.c.story@gmail.com> * Update src/content/blog/2024/04/25/react-19.md Co-authored-by: Josh Story <josh.c.story@gmail.com> * Update src/content/blog/2024/04/25/react-19.md Co-authored-by: Josh Story <josh.c.story@gmail.com> * Update src/content/blog/2024/04/25/react-19.md Co-authored-by: Josh Story <josh.c.story@gmail.com> * Update src/content/blog/2024/04/25/react-19.md Co-authored-by: Noah Lemen <noah.lemen@gmail.com> * Update src/content/blog/2024/04/25/react-19.md Co-authored-by: Matt Carroll <7158882+mattcarrollcode@users.noreply.github.com> * Update src/content/blog/2024/04/25/react-19.md Co-authored-by: Matt Carroll <7158882+mattcarrollcode@users.noreply.github.com> * Update src/content/blog/2024/04/25/react-19.md Co-authored-by: Noah Lemen <noah.lemen@gmail.com> * Update src/content/blog/2024/04/25/react-19.md Co-authored-by: Noah Lemen <noah.lemen@gmail.com> * Update src/content/blog/2024/04/25/react-19.md Co-authored-by: Noah Lemen <noah.lemen@gmail.com> * Update src/content/blog/2024/04/25/react-19.md Co-authored-by: Noah Lemen <noah.lemen@gmail.com> * Update src/content/blog/2024/04/25/react-19.md * Update src/content/blog/2024/04/25/react-19.md Co-authored-by: Matt Carroll <7158882+mattcarrollcode@users.noreply.github.com> * Thanks * Apply suggestions from code review Co-authored-by: Matt Carroll <7158882+mattcarrollcode@users.noreply.github.com> Co-authored-by: Sebastian Silbermann <silbermann.sebastian@gmail.com> * Feedback * nit * Issue link --------- Co-authored-by: Josh Story <josh.c.story@gmail.com> Co-authored-by: Noah Lemen <noah.lemen@gmail.com> Co-authored-by: Matt Carroll <7158882+mattcarrollcode@users.noreply.github.com> Co-authored-by: Sebastian Silbermann <silbermann.sebastian@gmail.com> --- src/components/MDX/ConsoleBlock.tsx | 81 +- src/components/MDX/MDXComponents.tsx | 4 +- .../blog/2024/04/25/react-19-upgrade-guide.md | 655 +++++++++++++++ src/content/blog/2024/04/25/react-19.md | 768 ++++++++++++++++++ src/content/blog/index.md | 12 + .../reference/{react => rsc}/directives.md | 2 +- src/content/reference/rsc/server-actions.md | 213 +++++ .../reference/rsc/server-components.md | 297 +++++++ .../reference/{react => rsc}/use-client.md | 0 .../reference/{react => rsc}/use-server.md | 0 src/sidebarBlog.json | 14 + src/sidebarReference.json | 64 +- src/styles/index.css | 11 + 13 files changed, 2092 insertions(+), 29 deletions(-) create mode 100644 src/content/blog/2024/04/25/react-19-upgrade-guide.md create mode 100644 src/content/blog/2024/04/25/react-19.md rename src/content/reference/{react => rsc}/directives.md (92%) create mode 100644 src/content/reference/rsc/server-actions.md create mode 100644 src/content/reference/rsc/server-components.md rename src/content/reference/{react => rsc}/use-client.md (100%) rename src/content/reference/{react => rsc}/use-server.md (100%) diff --git a/src/components/MDX/ConsoleBlock.tsx b/src/components/MDX/ConsoleBlock.tsx index 5683d6dc..6e704b41 100644 --- a/src/components/MDX/ConsoleBlock.tsx +++ b/src/components/MDX/ConsoleBlock.tsx @@ -15,6 +15,10 @@ interface ConsoleBlockProps { children: React.ReactNode; } +interface ConsoleBlockMultiProps { + children: React.ReactNode; +} + const Box = ({ width = '60px', height = '17px', @@ -29,7 +33,7 @@ const Box = ({ <div className={className} style={{width, height, ...customStyles}}></div> ); -function ConsoleBlock({level = 'error', children}: ConsoleBlockProps) { +export function ConsoleBlock({level = 'error', children}: ConsoleBlockProps) { let message: React.ReactNode | null; if (typeof children === 'string') { message = children; @@ -38,7 +42,10 @@ function ConsoleBlock({level = 'error', children}: ConsoleBlockProps) { } return ( - <div className="mb-4 text-secondary" translate="no" dir="ltr"> + <div + className="console-block mb-4 text-secondary bg-wash dark:bg-wash-dark rounded-lg" + translate="no" + dir="ltr"> <div className="flex w-full rounded-t-lg bg-gray-200 dark:bg-gray-80"> <div className="px-4 py-2 border-gray-300 dark:border-gray-90 border-r"> <Box className="bg-gray-300 dark:bg-gray-70" width="15px" /> @@ -73,4 +80,72 @@ function ConsoleBlock({level = 'error', children}: ConsoleBlockProps) { ); } -export default ConsoleBlock; +export function ConsoleBlockMulti({children}: ConsoleBlockMultiProps) { + return ( + <div + className="console-block mb-4 text-secondary bg-wash dark:bg-wash-dark rounded-lg" + translate="no" + dir="ltr"> + <div className="flex w-full rounded-t-lg bg-gray-200 dark:bg-gray-80"> + <div className="px-4 py-2 border-gray-300 dark:border-gray-90 border-r"> + <Box className="bg-gray-300 dark:bg-gray-70" width="15px" /> + </div> + <div className="flex text-sm px-4"> + <div className="border-b-2 border-gray-300 dark:border-gray-90 text-tertiary dark:text-tertiary-dark"> + Console + </div> + <div className="px-4 py-2 flex"> + <Box className="me-2 bg-gray-300 dark:bg-gray-70" /> + <Box className="me-2 hidden md:block bg-gray-300 dark:bg-gray-70" /> + <Box className="hidden md:block bg-gray-300 dark:bg-gray-70" /> + </div> + </div> + </div> + <div className="grid grid-cols-1 divide-y divide-gray-300 dark:divide-gray-70 text-base"> + {children} + </div> + </div> + ); +} + +export function ConsoleLogLine({children, level}: ConsoleBlockProps) { + let message: React.ReactNode | null; + if (typeof children === 'string') { + message = children; + } else if (isValidElement(children)) { + message = children.props.children; + } else if (Array.isArray(children)) { + message = children.reduce((result, child) => { + if (typeof child === 'string') { + result += child; + } else if (isValidElement(child)) { + // @ts-ignore + result += child.props.children; + } + return result; + }, ''); + } + + return ( + <div + className={cn( + 'ps-4 pe-2 pt-1 pb-2 grid grid-cols-[18px_auto] font-mono rounded-b-md', + { + 'bg-red-30 text-red-50 dark:text-red-30 bg-opacity-5': + level === 'error', + 'bg-yellow-5 text-yellow-50': level === 'warning', + 'bg-gray-5 text-secondary dark:text-secondary-dark': level === 'info', + } + )}> + {level === 'error' && ( + <IconError className="self-start mt-1.5 text-[.7rem] w-6" /> + )} + {level === 'warning' && ( + <IconWarning className="self-start mt-1 text-[.65rem] w-6" /> + )} + <div className="px-2 pt-1 whitespace-break-spaces text-code leading-tight"> + {message} + </div> + </div> + ); +} diff --git a/src/components/MDX/MDXComponents.tsx b/src/components/MDX/MDXComponents.tsx index bdfd05a2..a89edf9c 100644 --- a/src/components/MDX/MDXComponents.tsx +++ b/src/components/MDX/MDXComponents.tsx @@ -8,7 +8,7 @@ import cn from 'classnames'; import CodeBlock from './CodeBlock'; import {CodeDiagram} from './CodeDiagram'; -import ConsoleBlock from './ConsoleBlock'; +import {ConsoleBlock, ConsoleLogLine, ConsoleBlockMulti} from './ConsoleBlock'; import ExpandableCallout from './ExpandableCallout'; import ExpandableExample from './ExpandableExample'; import {H1, H2, H3, H4, H5} from './Heading'; @@ -420,6 +420,8 @@ export const MDXComponents = { pre: CodeBlock, CodeDiagram, ConsoleBlock, + ConsoleBlockMulti, + ConsoleLogLine, DeepDive: (props: { children: React.ReactNode; title: string; diff --git a/src/content/blog/2024/04/25/react-19-upgrade-guide.md b/src/content/blog/2024/04/25/react-19-upgrade-guide.md new file mode 100644 index 00000000..5e1b410b --- /dev/null +++ b/src/content/blog/2024/04/25/react-19-upgrade-guide.md @@ -0,0 +1,655 @@ +--- +title: "React 19 Beta Upgrade Guide" +--- + +April 25, 2024 by [Ricky Hanlon](https://twitter.com/rickhanlonii) + +--- + +<Note> + +This beta release is for libraries to prepare for React 19. App developers should upgrade to 18.3.0 and wait for React 19 stable as we work with libraries and make changes based on feedback. + +</Note> + + +<Intro> + +The improvements added to React 19 require some breaking changes, but we've worked to make the upgrade as smooth as possible and we don't expect the changes to impact most apps. + +To help make the upgrade easier, today we are also publishing React 18.3. + +</Intro> + +<Note> + +#### React 18.3 has also been published {/*react-18-3*/} + +To help make the upgrade to React 19 easier, we've published a `react@18.3` release that is identical to 18.2 but adds warnings for deprecated APIs and other changes that are needed for React 19. + +We recommend upgrading to React 18.3 first to help identify any issues before upgrading to React 19. + +For a list of changes in 18.3 see the [Release Notes](https://github.com/facebook/react/blob/main/CHANGELOG.md). + +</Note> + +In this post, we will guide you through the steps for upgrading libraries to React 19 beta: + +- [Installing](#installing) +- [Breaking Changes](#breaking-changes) +- [New Deprecations](#new-deprecations) +- [Notable Changes](#notable-changes) +- [TypeScript Changes](#typescript-changes) +- [Changelog](#changelog) + +If you'd like to help us test React 19, follow the steps in this upgrade guide and [report any issues](https://github.com/facebook/react/issues/new?assignees=&labels=React+19&projects=&template=19.md&title=%5BReact+19%5D) you encounter. For a list of new features added to React 19 beta, see the [React 19 release post](/blog/2024/04/25/react-19). + +--- +## Installing {/*installing*/} + +<Note> + +#### New JSX Transform is now required {/*new-jsx-transform-is-now-required*/} + +We introduced a [new JSX transform](https://legacy.reactjs.org/blog/2020/09/22/introducing-the-new-jsx-transform.html) in 2020 to improve bundle size and use JSX without importing React. In React 19, we're adding additional improvements like using ref as a prop and JSX speed improvements that require the new transform. + +If the new transform is not enabled, you will see this warning: + +<ConsoleBlockMulti> + +<ConsoleLogLine level="error"> + +Your app (or one of its dependencies) is using an outdated JSX transform. Update to the modern JSX transform for faster performance: https://react.dev/link/new-jsx-transform + +</ConsoleLogLine> + +</ConsoleBlockMulti> + + +We expect most apps will not be affected since the transform is enabled in most environments already. For manual instructions on how to upgrade, please see the [announcement post](https://legacy.reactjs.org/blog/2020/09/22/introducing-the-new-jsx-transform.html). + +</Note> + + +To install the latest version of React and React DOM: + +```bash +npm install react@beta react-dom@beta +``` + +If you're using TypeScript, you also need to update the types. Once React 19 is released as stable, you can install the types as usual from `@types/react` and `@types/react-dom`. During the beta period, the types are available in different packages which need to be enforced in your `package.json`: + +```json +{ + "dependencies": { + "@types/react": "npm:types-react@alpha", + "@types/react-dom": "npm:types-react-dom@alpha" + }, + "overrides": { + "@types/react": "npm:types-react@alpha", + "@types/react-dom": "npm:types-react-dom@alpha" + } +} +``` + +We're also including a codemod for the most common replacements. See [Removed TypeScript Types](#removed-deprecated-typescript-types) below. + + +## Breaking Changes {/*breaking-changes*/} + +### Errors in render are not re-thrown {/*errors-in-render-are-not-re-thrown*/} + +In previous versions of React, errors thrown during render were caught and rethrown. In DEV, we would also log to `console.error`, resulting in duplicate error logs. + +In React 19, we've [improved how errors are handled](/blog/2024/04/25/react-19#error-handling) to reduce duplication by not re-throwing: + +- **Uncaught Errors**: Errors that are not caught by an Error Boundary are reported to `window.reportError`. +- **Caught Errors**: Errors that are caught by an Error Boundary are reported to `console.error`. + +This change should not impact most apps, but if your production error reporting relies on errors being re-thrown, you may need to update your error handling. To support this, we've added new methods to `createRoot` and `hydrateRoot` for custom error handling: + +```js [[1, 2, "onUncaughtError"], [2, 5, "onCaughtError"]] +const root = createRoot(container, { + onUncaughtError: (error, errorInfo) => { + // ... log error report + }, + onCaughtError: (error, errorInfo) => { + // ... log error report + } +}); +``` + +For more info, see the docs for [`createRoot`](https://react.dev/reference/react-dom/client/createRoot) and [`hydrateRoot`](https://react.dev/reference/react-dom/client/hydrateRoot). + + +### Removed deprecated React APIs {/*removed-deprecated-react-apis*/} + +#### Removed: `propTypes` and `defaultProps` for functions {/*removed-proptypes-and-defaultprops*/} +`PropTypes` were deprecated in [April 2017 (v15.5.0)](https://legacy.reactjs.org/blog/2017/04/07/react-v15.5.0.html#new-deprecation-warnings). + +In React 19, we're removing the `propType` checks from the React package, and using them will be silently ignored. If you're using `propTypes`, we recommend migrating to TypeScript or another type-checking solution. + +We're also removing `defaultProps` from function components in place of ES6 default parameters. Class components will continue to support `defaultProps` since there is no ES6 alternative. + +```js +// Before +import PropTypes from 'prop-types'; + +function Heading({text}) { + return <h1>{text}</h1>; +} +Heading.propTypes = { + text: PropTypes.string, +}; +Heading.defaultProps = { + text: 'Hello, world!', +}; +``` +```ts +// After +interface Props { + text?: string; +} +function Heading({text = 'Hello, world!'}: Props) { + return <h1>{text}</h1>; +} +``` + +#### Removed: Legacy Context using `contextTypes` and `getChildContext` {/*removed-removing-legacy-context*/} + +Legacy Context was deprecated in [October 2018 (v16.6.0)](https://legacy.reactjs.org/blog/2018/10/23/react-v-16-6.html). + +Legacy Context was only available in class components using the APIs `contextTypes` and `getChildContext`, and was replaced with `contextType` due to subtle bugs that were easy to miss. In React 19, we're removing Legacy Context to make React slightly smaller and faster. + +If you're still using Legacy Context in class components, you'll need to migrate to the new `contextType` API: + +```js +// Before +import PropTypes from 'prop-types'; + +class Parent extends React.Component { + static childContextTypes = { + foo: PropTypes.string.isRequired, + }; + + getChildContext() { + return { foo: 'bar' }; + } + + render() { + return <Child />; + } +} + +class Child extends React.Component { + static contextTypes = { + foo: PropTypes.string.isRequired, + }; + + render() { + return <div>{this.context.foo}</div>; + } +} +``` + +```js +// After +const FooContext = React.createContext(); + +class Parent extends React.Component { + render() { + return ( + <FooContext value='bar'> + <Child /> + </FooContext> + ); + } +} + +class Child extends React.Component { + static contextType = FooContext; + + render() { + return <div>{this.context}</div>; + } +} +``` + +#### Removed: string refs {/*removed-string-refs*/} +String refs were deprecated in [March, 2018 (v16.3.0)](https://legacy.reactjs.org/blog/2018/03/27/update-on-async-rendering.html). + +Class components supported string refs before being replaced by ref callbacks due to [multiple downsides](https://github.com/facebook/react/issues/1373). In React 19, we're removing string refs to make React simpler and easier to understand. + +If you're still using string refs in class components, you'll need to migrate to ref callbacks: + +```js +// Before +class MyComponent extends React.Component { + componentDidMount() { + this.refs.input.focus(); + } + + render() { + return <input ref='input' />; + } +} +``` + +```js +// After +class MyComponent extends React.Component { + componentDidMount() { + this.input.focus(); + } + + render() { + return <input ref={input => this.input = input} />; + } +} +``` + +<Note> + +To help with the migration, we will be publishing a [react-codemod](https://github.com/reactjs/react-codemod/#string-refs) to automatically replace string refs with `ref` callbacks. Follow [this PR](https://github.com/reactjs/react-codemod/pull/309) for updates and to try it out. + +</Note> + +#### Removed: Module pattern factories {/*removed-module-pattern-factories*/} +Module pattern factories were deprecated in [August 2019 (v16.9.0)](https://legacy.reactjs.org/blog/2019/08/08/react-v16.9.0.html#deprecating-module-pattern-factories). + +This pattern was rarely used and supporting it causes React to be slightly larger and slower than necessary. In React 19, we're removing support for module pattern factories, and you'll need to migrate to regular functions: + +```js +// Before +function FactoryComponent() { + return { render() { return <div />; } } +} +``` + +```js +// After +function FactoryComponent() { + return <div />; +} +``` + +#### Removed: `React.createFactory` {/*removed-createfactory*/} +`createFactory` was deprecated in [February 2020 (v16.13.0)](https://legacy.reactjs.org/blog/2020/02/26/react-v16.13.0.html#deprecating-createfactory). + +Using `createFactory` was common before broad support for JSX, but it's rarely used today and can be replaced with JSX. In React 19, we're removing `createFactory` and you'll need to migrate to JSX: + +```js +// Before +import { createFactory } from 'react'; + +const button = createFactory('button'); +``` + +```js +// After +const button = <button />; +``` + +#### Removed: `react-test-renderer/shallow` {/*removed-react-test-renderer-shallow*/} + +In React 18, we updated `react-test-renderer/shallow` to re-export [react-shallow-renderer](https://github.com/enzymejs/react-shallow-renderer). In React 19, we're removing `react-test-render/shallow` to prefer installing the package directly: + +```bash +npm install react-shallow-renderer --save-dev +``` +```diff +- import ShallowRenderer from 'react-test-renderer/shallow'; ++ import ShallowRenderer from 'react-shallow-renderer'; +``` + +<Note> + +##### Please reconsider shallow rendering {/*please-reconsider-shallow-rendering*/} + +Shallow rendering depends on React internals and can block you from future upgrades. We recommend migrating your tests to [@testing-library/react](https://testing-library.com/docs/react-testing-library/intro/) or [@testing-library/react-native](https://callstack.github.io/react-native-testing-library/docs/getting-started). + +</Note> + +### Removed deprecated React DOM APIs {/*removed-deprecated-react-dom-apis*/} + +#### Removed: `react-dom/test-utils` {/*removed-react-dom-test-utils*/} + +We've moved `act` from `react-dom/test-utils` to the `react` package: + +<ConsoleBlockMulti> + +<ConsoleLogLine level="error"> + +`ReactDOMTestUtils.act` is deprecated in favor of `React.act`. Import `act` from `react` instead of `react-dom/test-utils`. See https://react.dev/warnings/react-dom-test-utils for more info. + +</ConsoleLogLine> + +</ConsoleBlockMulti> + +To fix this warning, you can import `act` from `react`: + +```diff +- import {act} from 'react-dom/test-utils' ++ import {act} from 'react'; +``` + +All other `test-utils` functions have been removed. These utilities were uncommon, and made it too easy to depend on low level implementation details of your components and React. In React 19, these functions will error when called and their exports will be removed in a future version. + +See the [warning page](https://react.dev/warnings/react-dom-test-utils) to for alternatives. + +#### Removed: `ReactDOM.render` {/*removed-reactdom-render*/} + +`ReactDOM.render` was deprecated in [March 2022 (v18.0.0)](https://react.dev/blog/2022/03/08/react-18-upgrade-guide). In React 19, we're removing `ReactDOM.render` and you'll need to migrate to using [`ReactDOM.createRoot`](https://react.dev/reference/react-dom/client/createRoot): + +```js +// Before +import {render} from 'react-dom'; +render(<App />, document.getElementById('root')); + +// After +import {createRoot} from 'react-dom/client'; +const root = createRoot(document.getElementById('root')); +root.render(<App />); +``` + +#### Removed: `ReactDOM.hydrate` {/*removed-reactdom-hydrate*/} + +`ReactDOM.hydrate` was deprecated in [March 2022 (v18.0.0)](https://react.dev/blog/2022/03/08/react-18-upgrade-guide). In React 19, we're removing `ReactDOM.hydrate` you'll need to migrate to using [`ReactDOM.hydrateRoot`](https://react.dev/reference/react-dom/client/hydrateRoot), + +```js +// Before +import {hydrate} from 'react-dom'; +hydrate(<App />, document.getElementById('root')); + +// After +import {hydrateRoot} from 'react-dom/client'; +hydrate(document.getElementById('root'), <App />); +``` + + +#### Removed: `unmountComponentAtNode` {/*removed-unmountcomponentatnode*/} + +`ReactDOM.unmountComponentAtNode` was deprecated in [March 2022 (v18.0.0)](https://react.dev/blog/2022/03/08/react-18-upgrade-guide). In React 19, you'll need to migrate to using `root.unmount()`. + + +```js +// Before +unmountComponentAtNode(document.getElementById('root')); + +// After +root.unmount(); +``` + +For more see `root.unmount()` for [`createRoot`](https://react.dev/reference/react-dom/client/createRoot#root-unmount) and [`hydrateRoot`](https://react.dev/reference/react-dom/client/hydrateRoot#root-unmount). + + +#### Removed: `ReactDOM.findDOMNode` {/*removed-reactdom-finddomnode*/} +`ReactDOM.findDOMNode` was [deprecated in October 2018 (v16.6.0)](https://legacy.reactjs.org/blog/2018/10/23/react-v-16-6.html#deprecations-in-strictmode). + +We're removing `findDOMNode` because it was a legacy escape hatch that was slow to execute, fragile to refactoring, only returned the first child, and broke abstraction levels (see more [here](https://legacy.reactjs.org/docs/strict-mode.html#warning-about-deprecated-finddomnode-usage)). You can replace `ReactDOM.findDOMNode` with [DOM refs](/learn/manipulating-the-dom-with-refs): + +```js +// Before +import {findDOMNode} from 'react-dom'; + +function AutoselectingInput() { + useEffect(() => { + const input = findDOMNode(this); + input.select() + }, []); + + return <input defaultValue="Hello" />; +} +``` + +```js +// After +function AutoselectingInput() { + const ref = useRef(null); + useEffect(() => { + ref.current.select(); + }, []); + + return <input ref={ref} defaultValue="Hello" /> +} +``` + +## New Deprecations {/*new-deprecations*/} + +### Deprecated: `element.ref` {/*deprecated-element-ref*/} + +React 19 supports [`ref` as a prop](/blog/2024/04/25/react-19#ref-as-a-prop), so we're deprecating the `element.ref` in place of `element.props.ref`. + +Accessing `element.ref` will warn: + +<ConsoleBlockMulti> + +<ConsoleLogLine level="error"> + +Accessing element.ref is no longer supported. ref is now a regular prop. It will be removed from the JSX Element type in a future release. + +</ConsoleLogLine> + +</ConsoleBlockMulti> + +### Deprecated: `react-test-renderer` {/*deprecated-react-test-renderer*/} + +We are deprecating `react-test-renderer` because it implements its own renderer environment that doesn't match the environment users use, promotes testing implementation details, and relies on introspection of React's internals. + +The test renderer was created before there were more viable testing strategies available like [React Testing Library](https://testing-library.com), and we now recommend using a modern testing library instead. + +In React 19, `react-test-renderer` logs a deprecation warning, and has switched to concurrent rendering. We recommend migrating your tests to [@testing-library/react](https://testing-library.com/docs/react-testing-library/intro/) or [@testing-library/react-native](https://callstack.github.io/react-native-testing-library/docs/getting-started) for a modern and well supported testing experience. + +## Notable Changes {/*notable-changes*/} + +### StrictMode changes {/*strict-mode-improvements*/} + +React 19 includes several fixes and improvements to Strict Mode. + +When double rendering in Strict Mode in development, `useMemo` and `useCallback` will reuse the memoized results from the first render during the second render. Components that are already Strict Mode compatible should not notice a difference in behavior. + +As with all Strict Mode behaviors, these features are designed to proactively surface bugs in your components during development so you can fix them before they are shipped to production. For example, during development, Strict Mode will double-invoke ref callback functions on initial mount, to simulate what happens when a mounted component is replaced by a Suspense fallback. + +### UMD builds removed {/*umd-builds-removed*/} + +UMD was widely used in the past as a convenient way to load React without a build step. Now, there are modern alternatives for loading modules as scripts in HTML documents. Starting with React 19, React will no longer produce UMD builds to reduce the complexity of its testing and release process. + +To load React 19 with a script tag, we recommend using an ESM-based CDN such as [esm.sh](https://esm.sh/). + +```html +<script type="module"> + import React from "https://esm.sh/react@19/?dev" + import ReactDOMClient from "https://esm.sh/react-dom@19/client?dev" + ... +</script> +``` + +### Libraries depending on React internals may block upgrades {/*libraries-depending-on-react-internals-may-block-upgrades*/} + +This release includes changes to React internals that may impact libraries that ignore our pleas to not use internals like `SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED`. These changes are necessary to land improvements in React 19, and will not break libraries that follow our guidelines. + +Based on our [Versioning Policy](https://react.dev/community/versioning-policy#what-counts-as-a-breaking-change), these updates are not listed as breaking changes, and we are not including docs for how to upgrade them. The recommendation is to remove any code that depends on internals. + +To reflect the impact of using internals, we have renamed the `SECRET_INTERNALS` suffix to: + +`_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE` + +In the future we will more aggressively block accessing internals from React to discourage usage and ensure users are not blocked from upgrading. + +## TypeScript Changes {/*typescript-changes*/} + +### Removed deprecated TypeScript types {/*removed-deprecated-typescript-types*/} + +We've cleaned up the TypeScript types based on the removed APIs in React 19. Some of the removed have types been moved to more relevant packages, and others are no longer needed to describe React's behavior. + +<Note> +We've published [`types-react-codemod`](https://github.com/eps1lon/types-react-codemod/) to migrate most type related breaking changes: + +```bash +npx types-react-codemod@latest preset-19 ./path-to-app +``` + +If you have a lot of unsound access to `element.props`, you can run this additional codemod: + +```bash +npx types-react-codemod@latest react-element-default-any-props ./path-to-your-react-ts-files +``` + +</Note> + +Check out [`types-react-codemod`](https://github.com/eps1lon/types-react-codemod/) for a list of supported replacements. If you feel a codemod is missing, it can be tracked in the [list of missing React 19 codemods](https://github.com/eps1lon/types-react-codemod/issues?q=is%3Aissue+is%3Aopen+sort%3Aupdated-desc+label%3A%22React+19%22+label%3Aenhancement). + + +### `ref` cleanups required {/*ref-cleanup-required*/} + +_This change is included in the `react-19` codemod preset as [`no-implicit-ref-callback-return +`](https://github.com/eps1lon/types-react-codemod/#no-implicit-ref-callback-return)._ + +Due to the introduction of ref cleanup functions, returning anything else from a ref callback will now be rejected by TypeScript. The fix is usually to stop using implicit returns: + +```diff [[1, 1, "("], [1, 1, ")"], [2, 2, "{", 15], [2, 2, "}", 1]] +- <div ref={current => (instance = current)} /> ++ <div ref={current => {instance = current}} /> +``` + +The original code returned the instance of the `HTMLDivElement` and TypeScript wouldn't know if this was supposed to be a cleanup function or not. + +### `useRef` requires an argument {/*useref-requires-argument*/} + +_This change is included in the `react-19` codemod preset as [`refobject-defaults`](https://github.com/eps1lon/types-react-codemod/#refobject-defaults)._ + +A long-time complaint of how TypeScript and React work has been `useRef`. We've changed the types so that `useRef` now requires an argument. This significantly simplifies its type signature. It'll now behave more like `createContext`. + +```ts +// @ts-expect-error: Expected 1 argument but saw none +useRef(); +// Passes +useRef(undefined); +// @ts-expect-error: Expected 1 argument but saw none +createContext(); +// Passes +createContext(undefined); +``` + +This now also means that all refs are mutable. You'll no longer hit the issue where you can't mutate a ref because you initialised it with `null`: + +```ts +const ref = useRef<number>(null); + +// Cannot assign to 'current' because it is a read-only property +ref.current = 1; +``` + +`MutableRef` is now deprecated in favor of a single `RefObject` type which `useRef` will always return: + +```ts +interface RefObject<T> { + current: T +} + +declare function useRef<T>: RefObject<T> +``` + +`useRef` still has a convenience overload for `useRef<T>(null)` that automatically returns `RefObject<T | null>`. To ease migration due to the required argument for `useRef`, a convenience overload for `useRef(undefined)` was added that automatically returns `RefObject<T | undefined>`. + +Check out [[RFC] Make all refs mutable](https://github.com/DefinitelyTyped/DefinitelyTyped/pull/64772) for prior discussions about this change. + +### Changes to the `ReactElement` TypeScript type {/*changes-to-the-reactelement-typescript-type*/} + +_This change is included in the [`react-element-default-any-props`](https://github.com/eps1lon/types-react-codemod#react-element-default-any-props) codemod._ + +The `props` of React elements now default to `unknown` instead of `any` if the element is typed as `ReactElement`. This does not affect you if you pass a type argument to `ReactElement`: + +```ts +type Example2 = ReactElement<{ id: string }>["props"]; +// ^? { id: string } +``` + +But if you relied on the default, you now have to handle `unknown`: + +```ts +type Example = ReactElement["props"]; +// ^? Before, was 'any', now 'unknown' +``` + +You should only need it if you have a lot of legacy code relying on unsound access of element props. Element introspection only exists as an escape hatch, and you should make it explicit that your props access is unsound via an explicit `any`. + +### The JSX Namespace in TypeScript {/*the-jsx-namespace-in-typescript*/} +This change is included in the `react-19` codemod preset as [`scoped-jsx`](https://github.com/eps1lon/types-react-codemod#scoped-jsx) + +A long-time request is to remove the global `JSX` namespace from our types in favor of `React.JSX`. This helps prevent pollution of global types which prevents conflicts between different UI libraries that leverage JSX. + +You'll now need to wrap module augmentation of the JSX namespace in `declare module "....": + +```diff +// global.d.ts ++ declare module "react" { + namespace JSX { + interface IntrinsicElements { + "my-element": { + myElementProps: string; + }; + } + } ++ } +``` + +The exact module specifier depends on the JSX runtime you specified in the `compilerOptions` of your `tsconfig.json`: + +- For `"jsx": "react-jsx"` it would be `react/jsx-runtime`. +- For `"jsx": "react-jsxdev"` it would be `react/jsx-dev-runtime`. +- For `"jsx": "react"` and `"jsx": "preserve"` it would be `react`. + +### Better `useReducer` typings {/*better-usereducer-typings*/} + +`useReducer` now has improved type inference thanks to [@mfp22](https://github.com/mfp22). + +However, this required a breaking change where `useReducer` doesn't accept the full reducer type as a type parameter but instead either needs none (and rely on contextual typing) or needs both the state and action type. + +The new best practice is _not_ to pass type arguments to `useReducer`. +```diff +- useReducer<React.Reducer<State, Action>>(reducer) ++ useReducer(reducer) +``` +This may not work in edge cases where you can explicitly type the state and action, by passing in the `Action` in a tuple: +```diff +- useReducer<React.Reducer<State, Action>>(reducer) ++ useReducer<State, [Action]>(reducer) +``` +If you define the reducer inline, we encourage to annotate the function parameters instead: +```diff +- useReducer<React.Reducer<State, Action>>((state, action) => state) ++ useReducer((state: State, action: Action) => state) +``` +This is also what you'd also have to do if you move the reducer outside of the `useReducer` call: + +```ts +const reducer = (state: State, action: Action) => state; +``` + +## Changlog {/*changelog*/} + +### Other Breaking Changes {/*other-breaking-changes*/} + +- **react-dom**: Error for javascript URLs in src/href [#26507](https://github.com/facebook/react/pull/26507) +- **react-dom**: Remove `errorInfo.digest` from `onRecoverableError` [#28222](https://github.com/facebook/react/pull/28222) +- **react-dom**: Remove `unstable_flushControlled` [#26397](https://github.com/facebook/react/pull/26397) +- **react-dom**: Remove `unstable_createEventHandle` [#28271](https://github.com/facebook/react/pull/28271) +- **react-dom**: Remove `unstable_renderSubtreeIntoContainer` [#28271](https://github.com/facebook/react/pull/28271) +- **react-dom**: Remove `unstable_runWithPrioirty` [#28271](https://github.com/facebook/react/pull/28271) +- **react-is**: Remove deprecated methods from `react-is` [28224](https://github.com/facebook/react/pull/28224) + +### Other Notable Changes {/*other-notable-changes*/} + +- **react**: Batch sync, default and continuous lanes [#25700](https://github.com/facebook/react/pull/25700) +- **react**: Don't prerender siblings of suspended component [#26380](https://github.com/facebook/react/pull/26380) +- **react**: Detect infinite update loops caused by render phase updates [#26625](https://github.com/facebook/react/pull/26625) +- **react-dom**: Transitions in popstate are now synchronous [#26025](https://github.com/facebook/react/pull/26025) +- **react-dom**: Remove layout effect warning during SSR [#26395](https://github.com/facebook/react/pull/26395) +- **react-dom**: Warn and don’t set empty string for src/href (except anchor tags) [#28124](https://github.com/facebook/react/pull/28124) + +We'll publish the full changelog with the stable release of React 19. + +--- + +Thanks to [Andrew Clark](https://twitter.com/acdlite), [Eli White](https://twitter.com/Eli_White), [Jack Pope](https://github.com/jackpope), [Jan Kassens](https://github.com/kassens), [Josh Story](https://twitter.com/joshcstory), [Matt Carroll](https://twitter.com/mattcarrollcode), [Noah Lemen](https://twitter.com/noahlemen), [Sophie Alpert](https://twitter.com/sophiebits), and [Sebastian Silbermann](https://twitter.com/sebsilbermann) for reviewing and editing this post. diff --git a/src/content/blog/2024/04/25/react-19.md b/src/content/blog/2024/04/25/react-19.md new file mode 100644 index 00000000..4431b5bf --- /dev/null +++ b/src/content/blog/2024/04/25/react-19.md @@ -0,0 +1,768 @@ +--- +title: "React 19 Beta" +--- + +April 25, 2024 by [The React Team](/community/team) + +--- + +<Note> + +This beta release is for libraries to prepare for React 19. App developers should upgrade to 18.3.0 and wait for React 19 stable as we work with libraries and make changes based on feedback. + +</Note> + +<Intro> + +React 19 Beta is now available on npm! + +</Intro> + +In our [React 19 Beta Upgrade Guide](/blog/2024/04/25/react-19-upgrade-guide), we shared step-by-step instructions for upgrading your app to React 19 Beta. In this post, we'll give an overview of the new features in React 19, and how you can adopt them. + +- [What's new in React 19](#whats-new-in-react-19) +- [Improvements in React 19](#improvements-in-react-19) +- [How to Upgrade](#how-to-upgrade) + +For a list of breaking changes, see the [Upgrade Guide](/blog/2024/04/25/react-19-upgrade-guide). + +--- + +## What's new in React 19 {/*whats-new-in-react-19*/} + +### Actions {/*actions*/} + +A common use case in React apps is to perform a data mutation and then update state in response. For example, when a user submits a form to change their name, you will make an API request, and then handle the response. In the past, you would need to handle pending states, errors, optimistic updates, and sequential requests manually. + +For example, you could handle the pending and error state in `useState`: + +```js +// Before Actions +function UpdateName({}) { + const [name, setName] = useState(""); + const [error, setError] = useState(null); + const [isPending, setIsPending] = useState(false); + + const handleSubmit = async () => { + setIsPending(true); + const error = await updateName(name); + setIsPending(false); + if (error) { + setError(error); + return; + } + redirect("/path"); + }; + + return ( + <div> + <input value={name} onChange={(event) => setName(event.target.value)} /> + <button onClick={handleSubmit} disabled={isPending}> + Update + </button> + {error && <p>{error}</p>} + </div> + ); +} +``` + +In React 19, we're adding support for using async functions in transitions to handle pending states, errors, forms, and optimistic updates automatically. + +For example, you can use `useTransition` to handle the pending state for you: + +```js +// Using pending state from Actions +function UpdateName({}) { + const [name, setName] = useState(""); + const [error, setError] = useState(null); + const [isPending, startTransition] = useTransition(); + + const handleSubmit = async () => { + startTransition(async () => { + const error = await updateName(name); + if (error) { + setError(error); + return; + } + redirect("/path"); + }) + }; + + return ( + <div> + <input value={name} onChange={(event) => setName(event.target.value)} /> + <button onClick={handleSubmit} disabled={isPending}> + Update + </button> + {error && <p>{error}</p>} + </div> + ); +} +``` + +The async transition will immediately set the `isPending` state to true, make the async request(s), and switch `isPending` to false after any transitions. This allows you to keep the current UI responsive and interactive while the data is changing. + +<Note> + +#### By convention, functions that use async transitions are called "Actions". {/*by-convention-functions-that-use-async-transitions-are-called-actions*/} + +Actions automatically manage submitting data for you: + +- **Pending state**: Actions provide a pending state that starts at the beginning of a request and automatically resets when the final state update is committed. +- **Optimistic updates**: Actions support the new [`useOptimistic`](#new-feature-optimistic-updates) hook so you can show users instant feedback while the requests are submitting. +- **Error handling**: Actions provide error handling so you can and display Error Boundaries when a request fails, and revert optimistic updates to their original value automatically. +- **Forms**: `<form>` elements now support passing functions to the `action` and `formAction` props. Passing functions to the `action` props use Actions by default and reset the form automatically after submission. + +</Note> + +Building on top of Actions, we're also introducing [`<form>` Actions](#form-actions) to manage forms automatically, [`useOptimistic`](#new-hook-optimistic-updates) to manage optimistic updates, and new hooks [`useActionState`](#new-hook-useactionstate), [`useFormStatus`](#new-hook-useformstatus) hooks to support the common cases for Actions and Forms. + +In React 19, the above example can be simplified to: + +```js +// Using <form> Actions and useActionState +function ChangeName({ name, setName }) { + const [error, submitAction, isPending] = useActionState( + async (previousState, formData) => { + const error = await updateName(formData.get("name")); + if (error) { + return error; + } + redirect("/path"); + } + ); + + return ( + <form action={submitAction}> + <input type="text" name="name" /> + <button type="submit" disabled={isPending}>Update</button> + {error && <p>{error}</p>} + </form> + ); +} +``` + +In the next section, we'll break down each of the new Action features in React 19. + +### New Hook: `useActionState` {/*new-hook-useactionstate*/} + +To make the common cases easier for Actions, we've added a new hook called `useActionState`: + +```js +const [error, submitAction, isPending] = useActionState(async (previousState, newName) => { + const {error} = await updateName(newName); + if (!error) { + // You can return any result of the action. + // Here, we return only the error. + return error; + } + + // handle success +}); +``` + +`useActionState` accepts a function (the "Action"), and returns a wrapped Action to call. This works because Actions compose. When the wrapped Action is called, `useActionState` will return the last result of the Action as `data`, and the pending state of the Action as `pending`. + +<Note> + +`React.useActionState` was previously called `ReactDOM.useFormState` in the Canary releases, but we've renamed it and deprecated `useFormState`. + +See [#28491](https://github.com/facebook/react/pull/28491) for more info. + +</Note> + +For more information, see the docs for [`useActionState`](/reference/react/useActionState). + +### `<form>` Actions {/*form-actions*/} + +Actions are also integrated with React 19's new `<form>` features. We've added support for passing functions as the `action` and `formAction` props of `<form>`, `<input>`, and `<button>` elements to automatically submit forms with Actions: + +```js [[1,1,"actionFunction"]] +<form action={actionFunction}> +``` + +When a `<form>` Action succeeds, React will automatically reset the form for uncontrolled components. If you need to reset the `<form>` manually, you can call the new `requestFormReset` React DOM API. + +For more information, see the docs for [`<form>`](/reference/react-dom/components/form), [`<input>`](/reference/react-dom/components/input), and [`<button>`](/reference/react-dom/components/button). + +### New Hook: `useFormStatus` {/*new-hook-useformstatus*/} + +In design systems, it's common to write design components that need access to information about the `<form>` they're in, without drilling props down to the component. This can be done via Context, but to make the common case easier, we've added a new hook `useFormStatus`: + +```js [[1, 2, "pending"], [1, 3, "pending"]] +function DesignButton() { + const {pending} = useFormStatus(); + return <button type="submit" disabled={pending} /> +} +``` + +`useFormStatus` reads the status of the parent `<form>` as if the form was a Context provider. + +For more information, see the docs for [`useFormStatus`](/reference/react-dom/hooks/useFormStatus). + +### New Hook: `useOptimistic` {/*new-hook-optimistic-updates*/} + +Another common UI pattern when performing a data mutation is to show the final state optimistically while the async request is underway. In React 19, we're adding a new hook called `useOptimistic` to make this easier: + +```js {2,6,13,19} +function ChangeName({currentName, onUpdateName}) { + const [optimisticName, setOptimisticName] = useOptimistic(currentName); + + const submitAction = async formData => { + const newName = formData.get("name"); + setOptimisticName(newName); + await updateName(newName); + onUpdateName(updatedName); + }; + + return ( + <form action={submitAction}> + <p>Your name is: {optimisticName}</p> + <p> + <label>Change Name:</label> + <input + type="text" + name="name" + disabled={currentName !== optimisticName} + /> + </p> + </form> + ); +} +``` + +The `useOptimistic` hook will immediately render the `optimisticName` while the `updateName` request is in progress. When the update finishes or errors, React will automatically switch back to the `currentName` value. + +For more information, see the docs for [`useOptimistic`](/reference/react/useOptimistic). + +### New API: `use` {/*new-feature-use*/} + +In React 19 we're introducing a new API to read resources in render: `use`. + +For example, you can read a promise with `use`, and React will Suspend until the promise resolves: + +```js {1,6} +import {use} from 'react'; + +function Comments({commentsPromise}) { + // NOTE: this will resume the promise from the server. + // It will suspend until the data is available. + const comments = use(commentsPromise); + return comments.map(commment => <p>{comment}</p>); +} +``` + +<Note> + +#### `use` does not support promises created in render. {/*use-does-not-support-promises-created-in-render*/} + +If you try to pass a promise created in render to `use`, React will warn: + +<ConsoleBlockMulti> + +<ConsoleLogLine level="error"> + +A component was suspended by an uncached promise. Creating promises inside a Client Component or hook is not yet supported, except via a Suspense-compatible library or framework. + +</ConsoleLogLine> + +</ConsoleBlockMulti> + +To fix, you need to pass a promise from a suspense powered library or framework that supports caching for promises. In the future we plan to ship features to make it easier to cache promises in render. + +</Note> + +You can also read context with `use`, allowing you to react Context conditionally: + +```js {1,8,10} +import {use} from 'react'; +import LightThemeContext from './LightThemeContext' +import DarkThemeContext from './ThemeContext' + +function ThemedPage({theme, children}) { + let theme; + if (theme === 'dark') { + theme = use(DarkThemeContext); + } else { + theme = use(LightThemeContext); + } + return ( + <Page theme={theme}> + {children} + </Page> + ); +} +``` + +The `use` API can only be called in render, similar to hooks. Unlike hooks, `use` can be called conditionally. In the future we plan to support more ways to consume resources in render with `use`. + +For more information, see the docs for [`use`](/reference/react/use). + + +## React Server Components {/*react-server-components*/} + +### Server Components {/*server-components*/} + +Server Components are a new option that allows rendering components ahead of time, before bundling, in an environment separate from your client application or SSR server. This separate environment is the "server" in React Server Components. Server Components can run once at build time on your CI server, or they can be run for each request using a web server. + +React 19 includes all of the React Server Components features included from the Canary channel. This means libraries that ship with Server Components can now target React 19 as a peer dependency with a `react-server` [export condition](https://github.com/reactjs/rfcs/blob/main/text/0227-server-module-conventions.md#react-server-conditional-exports) for use in frameworks that support the [Full-stack React Architecture](/learn/start-a-new-react-project#which-features-make-up-the-react-teams-full-stack-architecture-vision). + + +<Note> + +#### How do I build support for Server Components? {/*how-do-i-build-support-for-server-components*/} + +Bundler and framework support for React Server Components can be built on React 19, but the underlying APIs will not follow semver and may break between minors in React 19.x. + +To support React Server Components, we recommend pinning to a specific React version, or using the Canary release. We will continue working with bundlers and frameworks to stablize support for React Server Components in future versions. + +</Note> + + +For more, see the docs for [React Server Components](/reference/rsc/server-components). + +### Server Actions {/*server-actions*/} + +Server Actions allow Client Components to call async functions executed on the server. + +When a Server Action is defined with the `"use server"` directive, your framework will automatically create a reference to the server function, and pass that reference to the Client Component. When that function is called on the client, React will send a request to the server to execute the function, and return the result. + +<Note> + +#### There is no directive for Server Components. {/*there-is-no-directive-for-server-components*/} + +A common misunderstanding is that Server Components are denoted by `"use server"`, but there is no directive for Server Components. The `"use server"` directive is used for Server Actions. + +For more info, see the docs for [Directives](/reference/rsc/directives). + +</Note> + +Server Actions can be created in Server Components and passed as props to Client Components, or they can be imported and used in Client Components. + +For more, see the docs for [React Server Actions](/reference/rsc/server-actions). + +## Improvements in React 19 {/*improvements-in-react-19*/} + +### `ref` as a prop {/*ref-as-a-prop*/} + +Starting in React 19, you can now access `ref` as a prop for function components: + +```js [[1, 1, "ref"], [1, 2, "ref", 45], [1, 6, "ref", 14]] +function MyInput({placeholder, ref}) { + return <input placeholder={placeholder} ref={ref} /> +} + +//... +<MyInput ref={ref} /> +``` + +New function components will no longer need `forwardRef`, and we will be publishing a codemod to automatically update your components to use the new `ref` prop. In future versions we will deprecate and remove `forwardRef`. + +<Note> + +`refs` passed to classes are not passed as props since they reference the component instance. + +</Note> + +### Diffs for Hydration Errors {/*diffs-for-hydration-errors*/} + +We also improved error reporting for hydration errors. For example, instead of logging multiple errors in DEV without any information about the mismatch: + +<ConsoleBlockMulti> + +<ConsoleLogLine level="error"> + +Warning: Text content did not match. Server: "Server" Client: "Client" +{' '}at span +{' '}at App + +</ConsoleLogLine> + +<ConsoleLogLine level="error"> + +Warning: An error occurred during hydration. The server HTML was replaced with client content in \<div\>. + +</ConsoleLogLine> + +<ConsoleLogLine level="error"> + +Warning: Text content did not match. Server: "Server" Client: "Client" +{' '}at span +{' '}at App + +</ConsoleLogLine> + +<ConsoleLogLine level="error"> + +Warning: An error occurred during hydration. The server HTML was replaced with client content in \<div\>. + +</ConsoleLogLine> + +<ConsoleLogLine level="error"> + +Uncaught Error: Text content does not match server-rendered HTML. +{' '}at checkForUnmatchedText +{' '}... + +</ConsoleLogLine> + +</ConsoleBlockMulti> + +We now log a single message with a diff of the mismatch: + + +<ConsoleBlockMulti> + +<ConsoleLogLine level="error"> + +Uncaught Error: Hydration failed because the server rendered HTML didn't match the client. As a result this tree will be regenerated on the client. This can happen if an SSR-ed Client Component used:{'\n'} +\- A server/client branch `if (typeof window !== 'undefined')`. +\- Variable input such as `Date.now()` or `Math.random()` which changes each time it's called. +\- Date formatting in a user's locale which doesn't match the server. +\- External changing data without sending a snapshot of it along with the HTML. +\- Invalid HTML tag nesting.{'\n'} +It can also happen if the client has a browser extension installed which messes with the HTML before React loaded.{'\n'} +https://react.dev/link/hydration-mismatch {'\n'} +{' '}\<App\> +{' '}\<span\> +{'+ '}Client +{'- '}Server{'\n'} +{' '}at throwOnHydrationMismatch +{' '}... + +</ConsoleLogLine> + +</ConsoleBlockMulti> + +### `<Context>` as a provider {/*context-as-a-provider*/} + +In React 19, you can render `<Context>` as a provider instead of `<Context.Provider>`: + + +```js {5,7} +const ThemeContext = createContext(''); + +function App({children}) { + return ( + <ThemeContext value="dark"> + {children} + </ThemeContext> + ); +} +``` + +New Context providers can use `<Context>` and we will be publishing a codemod to convert existing providers. In future versions we will deprecate `<Context.Provider>`. + +### Cleanup functions for refs {/*cleanup-functions-for-refs*/} + +We now support returning a cleanup function from `ref` callbacks: + +```js {7-11} +<input + ref={(ref) => { + // ref created + + // NEW: return a cleanup function to reset + // the ref when element is removed from DOM. + return () => { + // ref cleanup + }; + }} +/> +``` + +When the component unmounts, React will call the cleanup function returned from the `ref` callback. This works for DOM refs, refs to class components, and `useImperativeHandle`. + +<Note> + +Previously, React would call `ref` functions with `null` when unmounting the component. If your `ref` returns a cleanup function, React will now skip this step. + +In future versions, we will deprecate calling refs with `null` when unmounting components. + +</Note> + +Due to the introduction of ref cleanup functions, returning anything else from a `ref` callback will now be rejected by TypeScript. + +The fix is usually to stop using implicit returns, for example: + +```diff +-<div ref={current => (instance = current)} /> ++<div ref={current => {instance = current}} /> +``` + +The original code returned the instance of the `HTMLDivElement` and TypeScript wouldn't know if this was _supposed_ to be a cleanup function or if you didn't want to return a cleanup function. + +You can codemod this pattern with [`no-implicit-ref-callback-return +`](https://github.com/eps1lon/types-react-codemod/#no-implicit-ref-callback-return). + +### `useDeferredValue` inital value {/*use-deferred-value-initial-value*/} + +We've added an `initalValue` option to `useDeferredValue`: + +```js [[1, 1, "deferredValue"], [1, 4, "deferredValue"], [2, 4, "''"]] +function Search({deferredValue}) { + // On inital render the value is ''. + // Then a re-render is scheduled with the deferredValue. + const value = useDeferredValue(deferredValue, ''); + + return ( + <Results query={value} /> + ); +} +```` + +When <CodeStep step={2}>initialValue</CodeStep> is provided, `useDeferredValue` will return it as `value` for the initial render of the component, and scheduled a re-render in the background with the <CodeStep step={1}>deferredValue</CodeStep> returned. + +For more, see [`useDeferredValue`](/reference/react/useDeferredValue). + +### Support for Document Metadata {/*support-for-metadata-tags*/} + +In HTML, document metadata tags like `<title>`, `<link>`, and `<meta>` are reserved for placement in the `<head>` section of the document. In React, the component that decides what metadata is appropriate for the app may be very far from the place where you render the `<head>` or React does not render the `<head>` at all. In the past, these elements would need to be inserted manually in an effect, or by libraries like [`react-helmet`](https://github.com/nfl/react-helmet), and required careful handling when server rendering a React application. + +In React 19, we're adding support for rendering document metadata tags in components natively: + +```js {5,6} +function BlogPost({post}) { + return ( + <article> + <h1>{post.title}</h1> + <title>{post.title}</title> + <meta name="author" content="Josh" /> + <link rel="author" href="https://twitter.com/joshcstory/" /> + <meta name="keywords" content={post.keywords} /> + <p> + Eee equals em-see-squared... + </p> + </article> + ); +} +``` + +When React renders this component, it will see the `<title>` `<link>` and `<meta>` tags, and automatically hoist them to the `<head>` section of document. By supporting these metadata tags natively, we're able to ensure they work with client-only apps, streaming SSR, and Server Components. + +<Note> + +#### You may still want a Metadata library {/*you-may-still-want-a-metadata-library*/} + +For simple use cases rendering Document Metadata as tags may be suitable, but libraries can offer more powerful features like overriding generic metadata with specific metadata based on the current route. So these feature make it easier for frameworks and libraries like [`react-helmet`](github.com/nfl/react-helmet) to support metadata tags, rather than replace them. + +</Note> + +For more info, see the docs for [`<title>`](/reference/react-dom/components/title), [`<link>`](/reference/react-dom/components/link), and [`<meta>`](/reference/react-dom/components/meta). + +### Support for stylesheets {/*support-for-stylesheets*/} + +Stylesheets, both externally linked (`<link rel="stylesheet" href="...">`) and inline (`<style>...</style>`), require careful positioning in the DOM due to style precedence rules. Building a stylesheet capability that allows for composability within components is hard, so users often end up either loading all of their styles far from the components that may depend on them, or they use a style library which encapsulates this complexity. + +In React 19, we're addressing this complexity and providing even deeper integration into Concurrent Rendering on the Client and Streaming Rendering on the Server with built in support for stylesheets. If you tell React the `precedence` of your stylesheet it will manage the insertion order of the stylesheet in the DOM and ensure that the stylesheet (if external) is loaded before revealing content that depends on those style rules. + +```js +function ComponentOne() { + return ( + <Suspense fallback="loading..."> + <link rel="stylesheet" href="foo" precedence="default" /> + <link rel="stylesheet" href="bar" precedence="high" /> + <article class="foo-class bar-class"> + High from ComponentOne + </article> + </Suspense> + ) +} + +function ComponentTwo() { + return ( + <div> + Hi from ComponentTwo + <link rel="stylesheet" href="baz" precedence="default" /> <-- will be inserted between foo & bar + </div> + ) +} +``` + +During Server Side Rendering React will include the stylesheet in the `<head>`, which ensures that the browser will not paint until it has loaded. If the stylesheet is discovered late after we've already started streaming, React will ensure that the stylesheet is inserted into the `<head>` on the client before revealing the content of a Suspense boundary that depends on that stylesheet. + +During Client Side Rendering React will wait for newly rendered stylesheets to load before committing the render. + +If you render this component from multiple places within your application React will only include the stylesheet once in the document: +```js +function App() { + return <> + <ComponentOne /> + ... + <ComponentOne /> // won't lead to a duplicate stylesheet link in the DOM + </> +} +``` + +For users accustomed to loading stylesheets manually this is an opportunity to locate those stylesheets alongside the components that depend on them allowing for better local reasoning and an easier time ensuring you only load the stylesheets that you actually depend on. + +style libraries and style integrations with bundlers can also adopt this new capability so even if you don't directly render your own stylesheets, you can still benefit as your tools are upgraded to use this feature. + +For more details, read the docs for [`<link>`](/reference/react-dom/components/link) and [`<style>`](/reference/react-dom/components/style). + +### Support for async scripts {/*support-for-async-scripts*/} + +In HTML normal scripts (`<script src="...">`) and deferred scripts (`<script defer="" src="...">`) load in document order which makes rendering these kinds of scripts deep within your component tree challenging. Async scripts (`<script async="" src="...">`) however will load in arbitrary order. + +In React 19 we've included better support for async scripts by allowing you to render them anywhere in your component tree, inside the components that actually depend on the script, without having to manage relocating and deduplicating script instances. + +```js +function MyComponent() { + return ( + <div> + <script async={true} src="..." /> + Hello World + </div> + ) +} + +function App() { + <html> + <body> + <MyComponent> + ... + <MyComponent> // won't lead to duplicate script in the DOM + </body> + </html> +} +``` + +In all rendering environments async scripts will be deduplicated so that React will only load and execute the script once even if it is rendered by multiple different components. + +In Server Side Rendering async scripts will be included in the `<head>` and prioritized behind more critical resources that block paint such as stylesheets, fonts, and image preloads. + +For more details, read the docs for [`<script>`](/reference/react-dom/components/script). + +### Support for preloading Resources {/*support-for-preloading-resources*/} + +During initial document load and on client side updates, telling the Browser about resources that it will likely need to load as early as possible can have a dramatic effect on page performance. + +React 19 includes a number of new APIs for loading and preloading Browser resources to make it as easy as possible to build great experiences that aren't held back by inefficient resource loading. + +```js +import { prefetchDNS, preconnect, preload, preinit } from 'react-dom' +function MyComponent() { + preinit('https://.../path/to/some/script.js', {as: 'script' }) // loads and executes this script eagerly + preload('https://.../path/to/font.woff', { as: 'font' }) // preloads this font + preload('https://.../path/to/stylesheet.css', { as: 'style' }) // preloads this stylesheet + prefetchDNS('https://...') // when you may not actually request anything from this host + preconnect('https://...') // when you will request something but aren't sure what +} +``` +```html +<!-- the above would resul in the following DOM/HTML --> +<html> + <head> + <!-- links/scripts are prioritized by their utility to early loading, not call order --> + <link rel="prefetch-dns" href="https://..."> + <link rel="preconnect" href="https://..."> + <link rel="preload" as="font" href="https://.../path/to/font.woff"> + <link rel="preload" as="style" href="https://.../path/to/stylesheet.css"> + <script async="" src="https://.../path/to/some/script.js"></script> + </head> + <body> + ... + </body> +</html> +``` + +These APIs can be used to make initial page loads optimized for instance by moving discovery of additional resources like fonts out of stylesheet loading + +These APIs can be used to make client updates faster for instance by prefetching a list of resources used by an anticipated navigation and then eagerly preloading those resources on click or even on hover. + +For more details see [Resource Preloading APIs](/reference/react-dom#resource-preloading-apis). + +### Compatability with third-party scripts and extensions {/*compatability-with-third-party-scripts-and-extensions*/} + +We've improved hydration to account for third-party scripts and browser extensions. + +When hydrating, if an element that renders on the client doesn't match the element found in the HTML from the server, React will force a client re-render to fix up the content. Previously, if an element was inserted by third-party scripts or browser extensions, it would trigger a mismatch error and client render. + +In React 19 unexpected tags in the `<head>` and `<body>` will be skipped over, avoiding the mismatch errors. If React needs to re-render the entire document due to an unrelated hydration mismatch, it will leave in place stylesheets inserted by third-party scripts and browser extensions. + +### Better Error Reporting {/*error-handling*/} + +We improved error handling in React 19 to remove duplication and provide options for handling caught and uncaught errors. For example, when there's an error in render caught by an Error Boundary, previously React would throw the error twice (once for the original error, then again after failing to automatically recover), and then call `console.error` with info about where the error occurred. + +This resulted in three errors for every caught error: + +<ConsoleBlockMulti> + +<ConsoleLogLine level="error"> + +Uncaught Error: hit +{' '}at Throws +{' '}at renderWithHooks +{' '}... + +</ConsoleLogLine> + +<ConsoleLogLine level="error"> + +Uncaught Error: hit<span className="ms-2 text-gray-30">{' <--'} Duplicate</span> +{' '}at Throws +{' '}at renderWithHooks +{' '}... + +</ConsoleLogLine> + +<ConsoleLogLine level="error"> + +The above error occurred in the Throws component: +{' '}at Throws +{' '}at ErrorBoundary +{' '}at App{'\n'} +React will try to recreate this component tree from scratch using the error boundary you provided, ErrorBoundary. + +</ConsoleLogLine> + +</ConsoleBlockMulti> + +In React 19, we log a single error with all the error information included: + +<ConsoleBlockMulti> + +<ConsoleLogLine level="error"> + +Error: hit +{' '}at Throws +{' '}at renderWithHooks +{' '}...{'\n'} +The above error occurred in the Throws component: +{' '}at Throws +{' '}at ErrorBoundary +{' '}at App{'\n'} +React will try to recreate this component tree from scratch using the error boundary you provided, ErrorBoundary. +{' '}at ErrorBoundary +{' '}at App + +</ConsoleLogLine> + +</ConsoleBlockMulti> + +Additionally, we've added two new root options to complement `onRecoverableError`: + +- `onCaughtError`: called when React catches an error in an Error Boundary. +- `onUncaughtError`: called when an error is thrown and not caught by an Error Boundary. +- `onRecoverableError`: called when an error is thrown and automatically recovered. + +For more info and examples, see the docs for [`createRoot`](/reference/react-dom/client/createRoot) and [`hydrateRoot`](/reference/react-dom/client/hydrateRoot). + +### Custom Element Support {/*support-for-web-components*/} + +Custom Elements have been part of the web platform for a long while now, however using them with React has been impractical because React has always treated unrecognized props as attributes rather than properties. + +React 19 adds support for custom elements and passes all tests on [Custom Elements Everywhere](https://custom-elements-everywhere.com/). + +During Server Side Rendering props passed to a custom element will render as attributes if their type is a `"string"`, `"number"`, or the value is `true`. Props with type `"object"`, `"symbol"`, `"function"`, or value `false` will be omitted. + +During Client Side Rendering props that match a property on the Custom Element instance will be assigned as properties, otherwise they will be assigned as attributes. + +Thanks to [Joey Arhar](https://github.com/josepharhar) for driving the design and implementation of Custom Element support in React. + + +#### How to Upgrade {/*how-to-upgrade*/} +See the [React 19 Upgrade Guide](/blog/2024/04/25/react-19-upgrade-guide) for step-by-step instructions and a full list of breaking and notable changes. + + + diff --git a/src/content/blog/index.md b/src/content/blog/index.md index 409f3370..24555902 100644 --- a/src/content/blog/index.md +++ b/src/content/blog/index.md @@ -10,6 +10,18 @@ This blog is the official source for the updates from the React team. Anything i <div className="sm:-mx-5 flex flex-col gap-5 mt-12"> +<BlogCard title="React 19 Beta " date="April 25, 2024" url="/blog/2024/04/25/react-19"> + +In the React 19 Beta Upgrade Guide, we shared step-by-step instructions for upgrading your app to React 19 Beta. In this post, we'll give an overview of the new features in React 19, and how you can adopt them. + +</BlogCard> + +<BlogCard title="React 19 Beta Upgrade Guide" date="April 25, 2024" url="/blog/2024/04/25/react-19-upgrade-guide"> + +The improvements added to React 19 require some breaking changes, but we've worked to make the upgrade as smooth as possible and we don't expect the changes to impact most apps. In this post, we will guide you through the steps for upgrading libraries to React 19 beta. + +</BlogCard> + <BlogCard title="React Labs: What We've Been Working On – February 2024" date="February 15, 2024" url="/blog/2024/02/15/react-labs-what-we-have-been-working-on-february-2024"> In React Labs posts, we write about projects in active research and development. Since our last update, we've made significant progress on React Compiler, new features, and React 19, and we'd like to share what we learned. diff --git a/src/content/reference/react/directives.md b/src/content/reference/rsc/directives.md similarity index 92% rename from src/content/reference/react/directives.md rename to src/content/reference/rsc/directives.md index 4854310b..7b8d9444 100644 --- a/src/content/reference/react/directives.md +++ b/src/content/reference/rsc/directives.md @@ -20,4 +20,4 @@ Directives provide instructions to [bundlers compatible with React Server Compon ## Source code directives {/*source-code-directives*/} * [`'use client'`](/reference/react/use-client) lets you mark what code runs on the client. -* [`'use server'`](/reference/react/use-server) marks server-side functions that can be called from client-side code. \ No newline at end of file +* [`'use server'`](/reference/react/use-server) marks server-side functions that can be called from client-side code. diff --git a/src/content/reference/rsc/server-actions.md b/src/content/reference/rsc/server-actions.md new file mode 100644 index 00000000..6edf50ef --- /dev/null +++ b/src/content/reference/rsc/server-actions.md @@ -0,0 +1,213 @@ +--- +title: Server Actions +canary: true +--- + +<Intro> + +Server Actions allow Client Components to call async functions executed on the server. + +</Intro> + +<InlineToc /> + +<Note> + +#### How do I build support for Server Actions? {/*how-do-i-build-support-for-server-components*/} + +Bundler and framework support for Server Actins can be built on React 19, but the underlying APIs will not follow semver and may break between minors in React 19.x. + +To support Server Actions, we recommend pinning to a specific React version, or using the Canary release. We will continue working with bundlers and frameworks to stablize support for React Server Components in future versions. + +</Note> + +When a Server Action is defined with the `"use server"` directive, your framework will automatically create a reference to the server function, and pass that reference to the Client Component. When that function is called on the client, React will send a request to the server to execute the function, and return the result. + +Server Actions can be created in Server Components and passed as props to Client Components, or they can be imported and used in Client Components. + +### Creating a Server Action from a Server Component {/*creating-a-server-action-from-a-server-component*/} + +Server Components can define Server Actions with the `"use server"` directive: + +```js [[2, 7, "'use server'"], [1, 5, "createNoteAction"], [1, 12, "createNoteAction"]] +// Server Component +import Button from './Button'; + +function EmptyNote () { + async function createNoteAction() { + // Server Action + 'use server'; + + await db.notes.create(); + } + + return <Button onClick={createNoteAction}/>; +} +``` + +When React renders the `EmptyNote` Server Component, it will create a reference to the `createNoteAction` function, and pass that reference to the `Button` Client Component. When the button is clicked, React will send a request to the server to execute the `createNoteAction` function with the reference provided: + +```js {5} +"use client"; + +export default function Button({onClick}) { + console.log(onClick); + // {$$typeof: Symbol.for("react.server.reference"), $$id: 'createNoteAction'} + return <button onClick={onClick}>Create Empty Note</button> +} +``` + +For more, see the docs for [`"use server"`](/reference/react/use-server). + + +### Importing Server Actions from Client Components {/*importing-server-actions-from-client-components*/} + +Client Components can import Server Actions from files that use the `"use server"` directive: + +```js [[1, 3, "createNoteAction"]] +"use server"; + +export async function createNoteAction() { + await db.notes.create(); +} + +``` + +When the bundler builds the `EmptyNote` Client Component, it will create a reference to the `createNoteAction` function in the bundle. When the `button` is clicked, React will send a request to the server to execute the `createNoteAction` function using the reference provided: + +```js [[1, 2, "createNoteAction"], [1, 5, "createNoteAction"], [1, 7, "createNoteAction"]] +"use client"; +import {createNoteAction} from './actions'; + +function EmptyNote() { + console.log(createNoteAction); + // {$$typeof: Symbol.for("react.server.reference"), $$id: 'createNoteAction'} + <button onClick={createNoteAction} /> +} +``` + +For more, see the docs for [`"use server"`](/reference/react/use-server). + +### Composing Server Actions with Actions {/*composing-server-actions-with-actions*/} + +Server Actions can be composed with Actions on the client: + +```js [[1, 3, "updateName"]] +"use server"; + +export async function updateName(name) { + if (!name) { + return {error: 'Name is required'}; + } + await db.users.updateName(name); +} +``` + +```js [[1, 3, "updateName"], [1, 13, "updateName"], [2, 11, "submitAction"], [2, 23, "submitAction"]] +"use client"; + +import {updateName} from './actions'; + +function UpdateName() { + const [name, setName] = useState(''); + const [error, setError] = useState(null); + + const [isPending, startTransition] = useTransition(); + + const submitAction = async () => { + startTransition(async () => { + const {error} = await updateName(name); + if (!error) { + setError(error); + } else { + setName(''); + } + }) + } + + return ( + <form action={submitAction}> + <input type="text" name="name" disabled={isPending}/> + {state.error && <span>Failed: {state.error}</span>} + </form> + ) +} +``` + +This allows you to access the `isPending` state of the Server Action by wrapping it in an Action on the client. + +For more, see the docs for [Calling a Server Action outside of `<form>`](/reference/react/use-server#calling-a-server-action-outside-of-form) + +### Form Actions with Server Actions {/*form-actions-with-server-actions*/} + +Server Actions work with the new Form features in React 19. + +You can pass a Server Action to a Form to automatically submit the form to the server: + + +```js [[1, 3, "updateName"], [1, 7, "updateName"]] +"use client"; + +import {updateName} from './actions'; + +function UpdateName() { + return ( + <form action={updateName}> + <input type="text" name="name" /> + </form> + ) +} +``` + +When the Form submission succeeds, React will automatically reset the form. You can add `useActionState` to access the pending state, last response, or to support progressive enhancement. + +For more, see the docs for [Server Actions in Forms](/reference/react/use-server#server-actions-in-forms). + +### Server Actions with `useActionState` {/*server-actions-with-use-action-state*/} + +You can compose Server Actions with `useActionState` for the common case where you just need access to the action pending state and last returned response: + +```js [[1, 3, "updateName"], [1, 6, "updateName"], [2, 6, "submitAction"], [2, 9, "submitAction"]] +"use client"; + +import {updateName} from './actions'; + +function UpdateName() { + const [submitAction, state, isPending] = useActionState(updateName); + + return ( + <form action={submitAction}> + <input type="text" name="name" disabled={isPending}/> + {state.error && <span>Failed: {state.error}</span>} + </form> + ); +} +``` + +When using `useActionState` with Server Actions, React will also automatically replay form submissions entered before hydration finishes. This means users can interact with your app even before the app has hydrated. + +For more, see the docs for [`useActionState`](/reference/react-dom/hooks/useFormState). + +### Progressive enhancement with `useActionState` {/*progressive-enhancement-with-useactionstate*/} + +Server Actions also support progressive enhancement with the second argument of `useActionState`. + +```js [[1, 3, "updateName"], [1, 6, "updateName"], [2, 6, "/name/update"], [3, 6, "submitAction"], [3, 9, "submitAction"]] +"use client"; + +import {updateName} from './actions'; + +function UpdateName() { + const [submitAction] = useActionState(updateName, `/name/update`); + + return ( + <form action={submitAction}> + ... + </form> + ); +} +``` + +When the <CodeStep step={2}>permalink</CodeStep> is provided to `useActionState`, React will redirect to the provided URL if the form is submitted before the JavaScript bundle loads. + +For more, see the docs for [`useActionState`](/reference/react-dom/hooks/useFormState). diff --git a/src/content/reference/rsc/server-components.md b/src/content/reference/rsc/server-components.md new file mode 100644 index 00000000..d9698240 --- /dev/null +++ b/src/content/reference/rsc/server-components.md @@ -0,0 +1,297 @@ +--- +title: React Server Components +canary: true +--- + +<Intro> + +Server Components are a new type of Component that renders ahead of time, before bundling, in an environment separate from your client app or SSR server. + +</Intro> + +This separate environment is the "server" in React Server Components. Server Components can run once at build time on your CI server, or they can be run for each request using a web server. + +<InlineToc /> + +<Note> + +#### How do I build support for Server Components? {/*how-do-i-build-support-for-server-components*/} + +Bundler and framework support for React Server Components can be built on React 19, but the underlying APIs will not follow semver and may break between minors in React 19.x. + +To support React Server Components, we recommend pinning to a specific React version, or using the Canary release. We will continue working with bundlers and frameworks to stablize support for React Server Components in future versions. + +</Note> + +### Server Components without a Server {/*server-components-without-a-server*/} +Server components can run at build time to read from the filesystem or fetch static content, so a web server is not required. For example, you may want to read static data from a content management system. + +Without Server Components, it's common to fetch static data on the client with an Effect: +```js +// bundle.js +import marked from 'marked'; // 35.9K (11.2K gzipped) +import sanitizeHtml from 'sanitize-html'; // 206K (63.3K gzipped) + +function Page({page}) { + const [content, setContent] = useState(''); + // NOTE: loads *after* first page render. + useEffect(() => { + fetch(`/api/content/${page}`).then((data) => { + setContent(data.content); + }); + }, [page]); + + return <div>{sanitizeHtml(marked(content))}</div>; +} +``` +```js +// api.js +app.get(`/api/content/:page`, async (req, res) => { + const page = req.params.page; + const content = await file.readFile(`${page}.md`); + res.send({content}); +}); +``` + +This pattern means users need to download and parse an additional 75K (gzipped) of libraries, and wait for a second request to fetch the data after the page loads, just to render static content that will not change for the lifetime of the page. + +With Server Components, you can render these components once at build time: + +```js +import marked from 'marked'; // Not included in bundle +import sanitizeHtml from 'sanitize-html'; // Not included in bundle + +async function Page({page}) { + // NOTE: loads *during* render, when the app is built. + const content = await file.readFile(`${page}.md`); + + return <div>{sanitizeHtml(marked(content))}</div>; +} +``` + +The rendered output can then be server-side rendered (SSR) to HTML and uploaded to a CDN. When the app loads, the client will not see the original `Page` component, or the expensive libraries for rendering the markdown. The client will only see the rendered output: + +```js +<div><!-- html for markdown --></div> +``` + +This means the content is visible during first page load, and the bundle does not include the expensive libraries needed to render the static content. + +<Note> + +You may notice that the Server Component above is an async function: + +```js +async function Page({page}) { + //... +} +``` + +Async Components are a new feature of Server Components that allow you to `await` in render. + +See [Async components with Server Components](#async-components-with-server-components) below. + +</Note> + +### Server Components with a Server {/*server-components-with-a-server*/} +Server Components can also run on a web server during a request for a page, letting you access your data layer without having to build an API. They are rendered before your application is bundled, and can pass data and JSX as props to Client Components. + +Without Server Components, it's common to fetch dynamic data on the client in an Effect: + +```js +// bundle.js +function Note({id}) { + const [note, setNote] = useState(''); + // NOTE: loads *after* first render. + useEffect(() => { + fetch(`/api/notes/${id}`).then(data => { + setNote(data.note); + }); + }, [id]); + + return ( + <div> + <Author id={note.authorId} /> + <p>{note}</p> + </div> + ); +} + +function Author({id}) { + const [author, setAuthor] = useState(''); + // NOTE: loads *after* Note renders. + // Causing an expensive client-server waterfall. + useEffect(() => { + fetch(`/api/authors/${id}`).then(data => { + setAuthor(data.author); + }); + }, [id]); + + return <span>By: {author.name}</span>; +} +``` +```js +// api +import db from './database'; + +app.get(`/api/notes/:id`, async (req, res) => { + const note = await db.notes.get(id); + res.send({note}); +}); + +app.get(`/api/authors/:id`, async (req, res) => { + const author = await db.authors.get(id); + res.send({author}); +}); +``` + +With Server Components, you can read the data and render it in the component: + +```js +import db from './database'; + +async function Note({id}) { + // NOTE: loads *during* render. + const note = await db.notes.get(id); + return ( + <div> + <Author id={note.authorId} /> + <p>{note}</p> + </div> + ); +} + +async function Author({id}) { + // NOTE: loads *after* Node, + // but is fast if data is co-located. + const author = await db.authors.get(id); + return <span>By: {author.name}</span>; +} +``` + +The bundler then combines the data, rendered Server Components and dynamic Client Components into a bundle. Optionally, that bundle can then be server-side rendered (SSR) to create the initial HTML for the page. When the page loads, the browser does not see the original `Note` and `Author` components; only the rendered output is sent to the client: + +```js +<div> + <span>By: The React Team</span> + <p>React 19 Beta is...</p> +</div> +``` + +Server Components can be made dynamic by re-fetching them from a server, where they can access the data and render again. This new application architecture combines the simple “request/response” mental model of server-centric Multi-Page Apps with the seamless interactivity of client-centric Single-Page Apps, giving you the best of both worlds. + +### Adding interactivity to Server Components {/*adding-interactivity-to-server-components*/} + +Server Components are not sent to the browser, so they cannot use interactive APIs like `useState`. To add interactivity to Server Components, you can compose them with Client Component using the `"use client"` directive. + +<Note> + +#### There is no directive for Server Components. {/*there-is-no-directive-for-server-components*/} + +A common misunderstanding is that Server Components are denoted by `"use server"`, but there is no directive for Server Components. The `"use server"` directive is used for Server Actions. + +For more info, see the docs for [Directives](/reference/rsc/directives). + +</Note> + + +In the following example, the `Notes` Server Component imports an `Expandable` Client Component that uses state to toggle its `expanded` state: +```js +// Server Component +import Exapandable from './Expandable'; + +async function Notes() { + const notes = await db.notes.getAll(); + return ( + <div> + {notes.map(note => ( + <Expandable key={note.id}> + <p note={note} /> + </Expandable> + ))} + </div> + ) +} +``` +```js +// Client Component +"use client" + +export default function Expandable({children}) { + const [expanded, setExpanded] = useState(false); + return ( + <div> + <button + onClick={() => setExpanded(!expanded)} + > + Toggle + </button> + {expanded && children} + </div> + ) +} +``` + +This works by first rendering `Notes` as a Server Component, and then instructing the bundler to create a bundle for the Client Component `Expandable`. In the browser, the Client Components will see output of the Server Components passed as props: + +```js +<head> + <!-- the bundle for Client Components --> + <script src="bundle.js" /> +</head> +<body> + <div> + <Expandable key={1}> + <p>this is the first note</p> + </Expandable> + <Expandable key={2}> + <p>this is the second note</p> + </Expandable> + <!--...--> + </div> +</body> +``` + +### Async components with Server Components {/*async-components-with-server-components*/} + +Server Components introduce a new way to write Components using async/await. When you `await` in an async component, React will suspend and wait for the promise to resolve before resuming rendering. This works across server/client boundaries with streaming support for Suspense. + +You can even create a promise on the server, and await it on the client: + +```js +// Server Component +import db from './database'; + +async function Page({id}) { + // Will suspend the Server Component. + const note = await db.notes.get(id); + + // NOTE: not awaited, will start here and await on the client. + const commentsPromise = db.comments.get(note.id); + return ( + <div> + {note} + <Suspense fallback={<p>Loading Comments...</p>}> + <Comments commentsPromise={commentsPromise} /> + </Suspense> + </div> + ); +} +``` + +```js +// Client Component +"use client"; +import {use} from 'react'; + +function Comments({commentsPromise}) { + // NOTE: this will resume the promise from the server. + // It will suspend until the data is available. + const comments = use(commentsPromise); + return comments.map(commment => <p>{comment}</p>); +} +``` + +The `note` content is important data for the page to render, so we `await` it on the server. The comments are below the fold and lower-priority, so we start the promise on the server, and wait for it on the client with the `use` API. This will Suspend on the client, without blocking the `note` content from rendering. + +Since async components are [not supported on the client](#why-cant-i-use-async-components-on-the-client), we await the promise with `use`. diff --git a/src/content/reference/react/use-client.md b/src/content/reference/rsc/use-client.md similarity index 100% rename from src/content/reference/react/use-client.md rename to src/content/reference/rsc/use-client.md diff --git a/src/content/reference/react/use-server.md b/src/content/reference/rsc/use-server.md similarity index 100% rename from src/content/reference/react/use-server.md rename to src/content/reference/rsc/use-server.md diff --git a/src/sidebarBlog.json b/src/sidebarBlog.json index f90d23ef..97838b5c 100644 --- a/src/sidebarBlog.json +++ b/src/sidebarBlog.json @@ -11,6 +11,20 @@ "path": "/blog", "skipBreadcrumb": true, "routes": [ + { + "title": "React 19 Beta", + "titleForHomepage": "React 19 Beta", + "icon": "blog", + "date": "April 25, 2024", + "path": "/blog/2024/04/25/react-19" + }, + { + "title": "React 19 Beta Upgrade Guide", + "titleForHomepage": "React 19 Beta Upgrade Guide", + "icon": "blog", + "date": "April 25, 2024", + "path": "/blog/2024/04/25/react-19-upgrade-guide" + }, { "title": "React Labs: What We've Been Working On – February 2024", "titleForHomepage": "React Labs: February 2024", diff --git a/src/sidebarReference.json b/src/sidebarReference.json index 1f4e25ab..11459b70 100644 --- a/src/sidebarReference.json +++ b/src/sidebarReference.json @@ -154,23 +154,6 @@ } ] }, - { - "title": "Directives", - "path": "/reference/react/directives", - "canary": true, - "routes": [ - { - "title": "'use client'", - "path": "/reference/react/use-client", - "canary": true - }, - { - "title": "'use server'", - "path": "/reference/react/use-server", - "canary": true - } - ] - }, { "hasSectionHeader": true, "sectionHeader": "react-dom@18.2.0" @@ -356,19 +339,52 @@ }, { "title": "Overview", - "path": "/reference/rules" + "path": "/reference/rules", + "routes": [ + { + "title": "Components and Hooks must be pure", + "path": "/reference/rules/components-and-hooks-must-be-pure" + }, + { + "title": "React calls Components and Hooks", + "path": "/reference/rules/react-calls-components-and-hooks" + }, + { + "title": "Rules of Hooks", + "path": "/reference/rules/rules-of-hooks" + } + ] }, { - "title": "Components and Hooks must be pure", - "path": "/reference/rules/components-and-hooks-must-be-pure" + "hasSectionHeader": true, + "sectionHeader": "React Server Components" }, { - "title": "React calls Components and Hooks", - "path": "/reference/rules/react-calls-components-and-hooks" + "title": "Server Components", + "path": "/reference/rsc/server-components", + "canary": true }, { - "title": "Rules of Hooks", - "path": "/reference/rules/rules-of-hooks" + "title": "Server Actions", + "path": "/reference/rsc/server-actions", + "canary": true + }, + { + "title": "Directives", + "path": "/reference/rsc/directives", + "canary": true, + "routes": [ + { + "title": "'use client'", + "path": "/reference/rsc/use-client", + "canary": true + }, + { + "title": "'use server'", + "path": "/reference/rsc/use-server", + "canary": true + } + ] }, { "hasSectionHeader": true, diff --git a/src/styles/index.css b/src/styles/index.css index cfd82dc0..d05d08b2 100644 --- a/src/styles/index.css +++ b/src/styles/index.css @@ -559,6 +559,17 @@ background: none !important; padding: 2px !important; } + +.dark .console-block code { + background: rgba(235 236 240 / 0.05) !important; + color: rgba(208, 125, 119) !important; +} + +.console-block code { + background: rgba(235 236 240 / 0.95) !important; + color: rgb(166, 66, 58) !important; +} + html.dark .code-step * { color: inherit !important; } From 412b733fb1ba9d81c4b62db590907157e84dcb0c Mon Sep 17 00:00:00 2001 From: Ricky <rickhanlonii@fb.com> Date: Thu, 25 Apr 2024 16:46:08 -0400 Subject: [PATCH 245/382] Blog post nits (#6779) * Typos in React 19 * Headings --- .../blog/2024/04/25/react-19-upgrade-guide.md | 32 ++++----- src/content/blog/2024/04/25/react-19.md | 70 +++++++++---------- 2 files changed, 48 insertions(+), 54 deletions(-) diff --git a/src/content/blog/2024/04/25/react-19-upgrade-guide.md b/src/content/blog/2024/04/25/react-19-upgrade-guide.md index 5e1b410b..33a9d7c5 100644 --- a/src/content/blog/2024/04/25/react-19-upgrade-guide.md +++ b/src/content/blog/2024/04/25/react-19-upgrade-guide.md @@ -36,10 +36,10 @@ For a list of changes in 18.3 see the [Release Notes](https://github.com/faceboo In this post, we will guide you through the steps for upgrading libraries to React 19 beta: - [Installing](#installing) -- [Breaking Changes](#breaking-changes) -- [New Deprecations](#new-deprecations) -- [Notable Changes](#notable-changes) -- [TypeScript Changes](#typescript-changes) +- [Breaking changes](#breaking-changes) +- [New deprecations](#new-deprecations) +- [Notable changes](#notable-changes) +- [TypeScript changes](#typescript-changes) - [Changelog](#changelog) If you'd like to help us test React 19, follow the steps in this upgrade guide and [report any issues](https://github.com/facebook/react/issues/new?assignees=&labels=React+19&projects=&template=19.md&title=%5BReact+19%5D) you encounter. For a list of new features added to React 19 beta, see the [React 19 release post](/blog/2024/04/25/react-19). @@ -92,10 +92,10 @@ If you're using TypeScript, you also need to update the types. Once React 19 is } ``` -We're also including a codemod for the most common replacements. See [Removed TypeScript Types](#removed-deprecated-typescript-types) below. +We're also including a codemod for the most common replacements. See [TypeScript changes](#typescript-changes) below. -## Breaking Changes {/*breaking-changes*/} +## Breaking changes {/*breaking-changes*/} ### Errors in render are not re-thrown {/*errors-in-render-are-not-re-thrown*/} @@ -163,7 +163,7 @@ Legacy Context was only available in class components using the APIs `contextTyp If you're still using Legacy Context in class components, you'll need to migrate to the new `contextType` API: -```js +```js {5-11,19-21} // Before import PropTypes from 'prop-types'; @@ -192,7 +192,7 @@ class Child extends React.Component { } ``` -```js +```js {2,7,9,15} // After const FooContext = React.createContext(); @@ -222,7 +222,7 @@ Class components supported string refs before being replaced by ref callbacks du If you're still using string refs in class components, you'll need to migrate to ref callbacks: -```js +```js {4,8} // Before class MyComponent extends React.Component { componentDidMount() { @@ -235,7 +235,7 @@ class MyComponent extends React.Component { } ``` -```js +```js {4,8} // After class MyComponent extends React.Component { componentDidMount() { @@ -414,7 +414,7 @@ function AutoselectingInput() { } ``` -## New Deprecations {/*new-deprecations*/} +## New deprecations {/*new-deprecations*/} ### Deprecated: `element.ref` {/*deprecated-element-ref*/} @@ -440,7 +440,7 @@ The test renderer was created before there were more viable testing strategies a In React 19, `react-test-renderer` logs a deprecation warning, and has switched to concurrent rendering. We recommend migrating your tests to [@testing-library/react](https://testing-library.com/docs/react-testing-library/intro/) or [@testing-library/react-native](https://callstack.github.io/react-native-testing-library/docs/getting-started) for a modern and well supported testing experience. -## Notable Changes {/*notable-changes*/} +## Notable changes {/*notable-changes*/} ### StrictMode changes {/*strict-mode-improvements*/} @@ -476,7 +476,7 @@ To reflect the impact of using internals, we have renamed the `SECRET_INTERNALS` In the future we will more aggressively block accessing internals from React to discourage usage and ensure users are not blocked from upgrading. -## TypeScript Changes {/*typescript-changes*/} +## TypeScript changes {/*typescript-changes*/} ### Removed deprecated TypeScript types {/*removed-deprecated-typescript-types*/} @@ -574,7 +574,7 @@ type Example = ReactElement["props"]; You should only need it if you have a lot of legacy code relying on unsound access of element props. Element introspection only exists as an escape hatch, and you should make it explicit that your props access is unsound via an explicit `any`. -### The JSX Namespace in TypeScript {/*the-jsx-namespace-in-typescript*/} +### The JSX namespace in TypeScript {/*the-jsx-namespace-in-typescript*/} This change is included in the `react-19` codemod preset as [`scoped-jsx`](https://github.com/eps1lon/types-react-codemod#scoped-jsx) A long-time request is to remove the global `JSX` namespace from our types in favor of `React.JSX`. This helps prevent pollution of global types which prevents conflicts between different UI libraries that leverage JSX. @@ -629,7 +629,7 @@ const reducer = (state: State, action: Action) => state; ## Changlog {/*changelog*/} -### Other Breaking Changes {/*other-breaking-changes*/} +### Other breaking changes {/*other-breaking-changes*/} - **react-dom**: Error for javascript URLs in src/href [#26507](https://github.com/facebook/react/pull/26507) - **react-dom**: Remove `errorInfo.digest` from `onRecoverableError` [#28222](https://github.com/facebook/react/pull/28222) @@ -639,7 +639,7 @@ const reducer = (state: State, action: Action) => state; - **react-dom**: Remove `unstable_runWithPrioirty` [#28271](https://github.com/facebook/react/pull/28271) - **react-is**: Remove deprecated methods from `react-is` [28224](https://github.com/facebook/react/pull/28224) -### Other Notable Changes {/*other-notable-changes*/} +### Other notable changes {/*other-notable-changes*/} - **react**: Batch sync, default and continuous lanes [#25700](https://github.com/facebook/react/pull/25700) - **react**: Don't prerender siblings of suspended component [#26380](https://github.com/facebook/react/pull/26380) diff --git a/src/content/blog/2024/04/25/react-19.md b/src/content/blog/2024/04/25/react-19.md index 4431b5bf..53df19d1 100644 --- a/src/content/blog/2024/04/25/react-19.md +++ b/src/content/blog/2024/04/25/react-19.md @@ -22,7 +22,7 @@ In our [React 19 Beta Upgrade Guide](/blog/2024/04/25/react-19-upgrade-guide), w - [What's new in React 19](#whats-new-in-react-19) - [Improvements in React 19](#improvements-in-react-19) -- [How to Upgrade](#how-to-upgrade) +- [How to upgrade](#how-to-upgrade) For a list of breaking changes, see the [Upgrade Guide](/blog/2024/04/25/react-19-upgrade-guide). @@ -115,7 +115,7 @@ Actions automatically manage submitting data for you: </Note> -Building on top of Actions, we're also introducing [`<form>` Actions](#form-actions) to manage forms automatically, [`useOptimistic`](#new-hook-optimistic-updates) to manage optimistic updates, and new hooks [`useActionState`](#new-hook-useactionstate), [`useFormStatus`](#new-hook-useformstatus) hooks to support the common cases for Actions and Forms. +Building on top of Actions, we're also introducing [`<form>` Actions](#form-actions) to manage forms automatically, [`useOptimistic`](#new-hook-optimistic-updates) to manage optimistic updates, and new hooks [`useActionState`](#new-hook-useactionstate), [`useFormStatus`](#new-hook-useformstatus) to support the common cases for Actions and Forms. In React 19, the above example can be simplified to: @@ -144,7 +144,7 @@ function ChangeName({ name, setName }) { In the next section, we'll break down each of the new Action features in React 19. -### New Hook: `useActionState` {/*new-hook-useactionstate*/} +### New hook: `useActionState` {/*new-hook-useactionstate*/} To make the common cases easier for Actions, we've added a new hook called `useActionState`: @@ -185,7 +185,7 @@ When a `<form>` Action succeeds, React will automatically reset the form for unc For more information, see the docs for [`<form>`](/reference/react-dom/components/form), [`<input>`](/reference/react-dom/components/input), and [`<button>`](/reference/react-dom/components/button). -### New Hook: `useFormStatus` {/*new-hook-useformstatus*/} +### New hook: `useFormStatus` {/*new-hook-useformstatus*/} In design systems, it's common to write design components that need access to information about the `<form>` they're in, without drilling props down to the component. This can be done via Context, but to make the common case easier, we've added a new hook `useFormStatus`: @@ -200,7 +200,7 @@ function DesignButton() { For more information, see the docs for [`useFormStatus`](/reference/react-dom/hooks/useFormStatus). -### New Hook: `useOptimistic` {/*new-hook-optimistic-updates*/} +### New hook: `useOptimistic` {/*new-hook-optimistic-updates*/} Another common UI pattern when performing a data mutation is to show the final state optimistically while the async request is underway. In React 19, we're adding a new hook called `useOptimistic` to make this easier: @@ -272,7 +272,7 @@ To fix, you need to pass a promise from a suspense powered library or framework </Note> -You can also read context with `use`, allowing you to react Context conditionally: +You can also read context with `use`, allowing you to read Context conditionally: ```js {1,8,10} import {use} from 'react'; @@ -364,7 +364,7 @@ New function components will no longer need `forwardRef`, and we will be publish </Note> -### Diffs for Hydration Errors {/*diffs-for-hydration-errors*/} +### Diffs for hydration errors {/*diffs-for-hydration-errors*/} We also improved error reporting for hydration errors. For example, instead of logging multiple errors in DEV without any information about the mismatch: @@ -457,7 +457,7 @@ New Context providers can use `<Context>` and we will be publishing a codemod to We now support returning a cleanup function from `ref` callbacks: -```js {7-11} +```js {7-9} <input ref={(ref) => { // ref created @@ -481,13 +481,11 @@ In future versions, we will deprecate calling refs with `null` when unmounting c </Note> -Due to the introduction of ref cleanup functions, returning anything else from a `ref` callback will now be rejected by TypeScript. +Due to the introduction of ref cleanup functions, returning anything else from a `ref` callback will now be rejected by TypeScript. The fix is usually to stop using implicit returns, for example: -The fix is usually to stop using implicit returns, for example: - -```diff --<div ref={current => (instance = current)} /> -+<div ref={current => {instance = current}} /> +```diff [[1, 1, "("], [1, 1, ")"], [2, 2, "{", 15], [2, 2, "}", 1]] +- <div ref={current => (instance = current)} /> ++ <div ref={current => {instance = current}} /> ``` The original code returned the instance of the `HTMLDivElement` and TypeScript wouldn't know if this was _supposed_ to be a cleanup function or if you didn't want to return a cleanup function. @@ -495,7 +493,7 @@ The original code returned the instance of the `HTMLDivElement` and TypeScript w You can codemod this pattern with [`no-implicit-ref-callback-return `](https://github.com/eps1lon/types-react-codemod/#no-implicit-ref-callback-return). -### `useDeferredValue` inital value {/*use-deferred-value-initial-value*/} +### `useDeferredValue` initial value {/*use-deferred-value-initial-value*/} We've added an `initalValue` option to `useDeferredValue`: @@ -521,7 +519,7 @@ In HTML, document metadata tags like `<title>`, `<link>`, and `<meta>` are reser In React 19, we're adding support for rendering document metadata tags in components natively: -```js {5,6} +```js {5-8} function BlogPost({post}) { return ( <article> @@ -556,14 +554,14 @@ Stylesheets, both externally linked (`<link rel="stylesheet" href="...">`) and i In React 19, we're addressing this complexity and providing even deeper integration into Concurrent Rendering on the Client and Streaming Rendering on the Server with built in support for stylesheets. If you tell React the `precedence` of your stylesheet it will manage the insertion order of the stylesheet in the DOM and ensure that the stylesheet (if external) is loaded before revealing content that depends on those style rules. -```js +```js {4,5,17} function ComponentOne() { return ( <Suspense fallback="loading..."> <link rel="stylesheet" href="foo" precedence="default" /> <link rel="stylesheet" href="bar" precedence="high" /> <article class="foo-class bar-class"> - High from ComponentOne + {...} </article> </Suspense> ) @@ -572,7 +570,7 @@ function ComponentOne() { function ComponentTwo() { return ( <div> - Hi from ComponentTwo + <p>{...}</p> <link rel="stylesheet" href="baz" precedence="default" /> <-- will be inserted between foo & bar </div> ) @@ -581,10 +579,9 @@ function ComponentTwo() { During Server Side Rendering React will include the stylesheet in the `<head>`, which ensures that the browser will not paint until it has loaded. If the stylesheet is discovered late after we've already started streaming, React will ensure that the stylesheet is inserted into the `<head>` on the client before revealing the content of a Suspense boundary that depends on that stylesheet. -During Client Side Rendering React will wait for newly rendered stylesheets to load before committing the render. +During Client Side Rendering React will wait for newly rendered stylesheets to load before committing the render. If you render this component from multiple places within your application React will only include the stylesheet once in the document: -If you render this component from multiple places within your application React will only include the stylesheet once in the document: -```js +```js {5} function App() { return <> <ComponentOne /> @@ -596,7 +593,7 @@ function App() { For users accustomed to loading stylesheets manually this is an opportunity to locate those stylesheets alongside the components that depend on them allowing for better local reasoning and an easier time ensuring you only load the stylesheets that you actually depend on. -style libraries and style integrations with bundlers can also adopt this new capability so even if you don't directly render your own stylesheets, you can still benefit as your tools are upgraded to use this feature. +Style libraries and style integrations with bundlers can also adopt this new capability so even if you don't directly render your own stylesheets, you can still benefit as your tools are upgraded to use this feature. For more details, read the docs for [`<link>`](/reference/react-dom/components/link) and [`<style>`](/reference/react-dom/components/style). @@ -606,7 +603,7 @@ In HTML normal scripts (`<script src="...">`) and deferred scripts (`<script def In React 19 we've included better support for async scripts by allowing you to render them anywhere in your component tree, inside the components that actually depend on the script, without having to manage relocating and deduplicating script instances. -```js +```js {4,15} function MyComponent() { return ( <div> @@ -627,9 +624,9 @@ function App() { } ``` -In all rendering environments async scripts will be deduplicated so that React will only load and execute the script once even if it is rendered by multiple different components. +In all rendering environments, async scripts will be deduplicated so that React will only load and execute the script once even if it is rendered by multiple different components. -In Server Side Rendering async scripts will be included in the `<head>` and prioritized behind more critical resources that block paint such as stylesheets, fonts, and image preloads. +In Server Side Rendering, async scripts will be included in the `<head>` and prioritized behind more critical resources that block paint such as stylesheets, fonts, and image preloads. For more details, read the docs for [`<script>`](/reference/react-dom/components/script). @@ -666,9 +663,7 @@ function MyComponent() { </html> ``` -These APIs can be used to make initial page loads optimized for instance by moving discovery of additional resources like fonts out of stylesheet loading - -These APIs can be used to make client updates faster for instance by prefetching a list of resources used by an anticipated navigation and then eagerly preloading those resources on click or even on hover. +These APIs can be used to optimize initial page loads by moving discovery of additional resources like fonts out of stylesheet loading. They can also make client updates faster by prefetching a list of resources used by an anticipated navigation and then eagerly preloading those resources on click or even on hover. For more details see [Resource Preloading APIs](/reference/react-dom#resource-preloading-apis). @@ -678,9 +673,9 @@ We've improved hydration to account for third-party scripts and browser extensio When hydrating, if an element that renders on the client doesn't match the element found in the HTML from the server, React will force a client re-render to fix up the content. Previously, if an element was inserted by third-party scripts or browser extensions, it would trigger a mismatch error and client render. -In React 19 unexpected tags in the `<head>` and `<body>` will be skipped over, avoiding the mismatch errors. If React needs to re-render the entire document due to an unrelated hydration mismatch, it will leave in place stylesheets inserted by third-party scripts and browser extensions. +In React 19, unexpected tags in the `<head>` and `<body>` will be skipped over, avoiding the mismatch errors. If React needs to re-render the entire document due to an unrelated hydration mismatch, it will leave in place stylesheets inserted by third-party scripts and browser extensions. -### Better Error Reporting {/*error-handling*/} +### Better error reporting {/*error-handling*/} We improved error handling in React 19 to remove duplication and provide options for handling caught and uncaught errors. For example, when there's an error in render caught by an Error Boundary, previously React would throw the error twice (once for the original error, then again after failing to automatically recover), and then call `console.error` with info about where the error occurred. @@ -748,20 +743,19 @@ Additionally, we've added two new root options to complement `onRecoverableError For more info and examples, see the docs for [`createRoot`](/reference/react-dom/client/createRoot) and [`hydrateRoot`](/reference/react-dom/client/hydrateRoot). -### Custom Element Support {/*support-for-web-components*/} - -Custom Elements have been part of the web platform for a long while now, however using them with React has been impractical because React has always treated unrecognized props as attributes rather than properties. +### Support for Custom Elements {/*support-for-custom-elements*/} -React 19 adds support for custom elements and passes all tests on [Custom Elements Everywhere](https://custom-elements-everywhere.com/). +React 19 adds full support for custom elements and passes all tests on [Custom Elements Everywhere](https://custom-elements-everywhere.com/). -During Server Side Rendering props passed to a custom element will render as attributes if their type is a `"string"`, `"number"`, or the value is `true`. Props with type `"object"`, `"symbol"`, `"function"`, or value `false` will be omitted. +In past versions, using Custom Elements in React has been difficult because React treated unrecognized props as attributes rather than properties. In React 19, we've added support for properties that works on the client and during SSR with the following strategy: -During Client Side Rendering props that match a property on the Custom Element instance will be assigned as properties, otherwise they will be assigned as attributes. +- **Server Side Rendering**: props passed to a custom element will render as attributes if their type is a primitive value like `string`, `number`, or the value is `true`. Props with non-primitive types like `object`, `symbol`, `function`, or value `false` will be omitted. +- **Client Side Rendering**: props that match a property on the Custom Element instance will be assigned as properties, otherwise they will be assigned as attributes. Thanks to [Joey Arhar](https://github.com/josepharhar) for driving the design and implementation of Custom Element support in React. -#### How to Upgrade {/*how-to-upgrade*/} +#### How to upgrade {/*how-to-upgrade*/} See the [React 19 Upgrade Guide](/blog/2024/04/25/react-19-upgrade-guide) for step-by-step instructions and a full list of breaking and notable changes. From c8a316aec5744a134c3c0dbe187e08797c2d7f03 Mon Sep 17 00:00:00 2001 From: Rick Hanlon <rickhanlonii@fb.com> Date: Thu, 25 Apr 2024 16:47:25 -0400 Subject: [PATCH 246/382] Blog typo --- src/content/blog/2024/04/25/react-19-upgrade-guide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/blog/2024/04/25/react-19-upgrade-guide.md b/src/content/blog/2024/04/25/react-19-upgrade-guide.md index 33a9d7c5..83ba1937 100644 --- a/src/content/blog/2024/04/25/react-19-upgrade-guide.md +++ b/src/content/blog/2024/04/25/react-19-upgrade-guide.md @@ -363,7 +363,7 @@ hydrate(<App />, document.getElementById('root')); // After import {hydrateRoot} from 'react-dom/client'; -hydrate(document.getElementById('root'), <App />); +hydrateRoot(document.getElementById('root'), <App />); ``` From 0078b50894ca5bd7ca1986c75fcaed9a1d293ba8 Mon Sep 17 00:00:00 2001 From: Fran Zekan <zekan.fran369@gmail.com> Date: Thu, 25 Apr 2024 23:10:45 +0200 Subject: [PATCH 247/382] React19 blog post typos (#6780) --- src/content/blog/2024/04/25/react-19.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/content/blog/2024/04/25/react-19.md b/src/content/blog/2024/04/25/react-19.md index 53df19d1..471fb387 100644 --- a/src/content/blog/2024/04/25/react-19.md +++ b/src/content/blog/2024/04/25/react-19.md @@ -248,7 +248,7 @@ function Comments({commentsPromise}) { // NOTE: this will resume the promise from the server. // It will suspend until the data is available. const comments = use(commentsPromise); - return comments.map(commment => <p>{comment}</p>); + return comments.map(comment => <p>{comment}</p>); } ``` @@ -314,7 +314,7 @@ React 19 includes all of the React Server Components features included from the Bundler and framework support for React Server Components can be built on React 19, but the underlying APIs will not follow semver and may break between minors in React 19.x. -To support React Server Components, we recommend pinning to a specific React version, or using the Canary release. We will continue working with bundlers and frameworks to stablize support for React Server Components in future versions. +To support React Server Components, we recommend pinning to a specific React version, or using the Canary release. We will continue working with bundlers and frameworks to stabilize support for React Server Components in future versions. </Note> @@ -495,11 +495,11 @@ You can codemod this pattern with [`no-implicit-ref-callback-return ### `useDeferredValue` initial value {/*use-deferred-value-initial-value*/} -We've added an `initalValue` option to `useDeferredValue`: +We've added an `initialValue` option to `useDeferredValue`: ```js [[1, 1, "deferredValue"], [1, 4, "deferredValue"], [2, 4, "''"]] function Search({deferredValue}) { - // On inital render the value is ''. + // On initial render the value is ''. // Then a re-render is scheduled with the deferredValue. const value = useDeferredValue(deferredValue, ''); @@ -647,7 +647,7 @@ function MyComponent() { } ``` ```html -<!-- the above would resul in the following DOM/HTML --> +<!-- the above would result in the following DOM/HTML --> <html> <head> <!-- links/scripts are prioritized by their utility to early loading, not call order --> @@ -667,7 +667,7 @@ These APIs can be used to optimize initial page loads by moving discovery of add For more details see [Resource Preloading APIs](/reference/react-dom#resource-preloading-apis). -### Compatability with third-party scripts and extensions {/*compatability-with-third-party-scripts-and-extensions*/} +### Compatibility with third-party scripts and extensions {/*compatibility-with-third-party-scripts-and-extensions*/} We've improved hydration to account for third-party scripts and browser extensions. From 317dcf371a0ab68de27fc846da3137d14d224f4e Mon Sep 17 00:00:00 2001 From: Josh Story <josh.c.story@gmail.com> Date: Thu, 25 Apr 2024 14:11:45 -0700 Subject: [PATCH 248/382] Fix code example in React-19 `useOptimistic` section (#6781) should assign the result of updateName Co-authored-by: Tim Neutkens <tim@timneutkens.nl> --- src/content/blog/2024/04/25/react-19.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/blog/2024/04/25/react-19.md b/src/content/blog/2024/04/25/react-19.md index 471fb387..d5c5b615 100644 --- a/src/content/blog/2024/04/25/react-19.md +++ b/src/content/blog/2024/04/25/react-19.md @@ -211,7 +211,7 @@ function ChangeName({currentName, onUpdateName}) { const submitAction = async formData => { const newName = formData.get("name"); setOptimisticName(newName); - await updateName(newName); + const updatedName = await updateName(newName); onUpdateName(updatedName); }; From 9afcbf6a0c533c8c8df68b5e37d2bfd667942ef8 Mon Sep 17 00:00:00 2001 From: Fran Zekan <zekan.fran369@gmail.com> Date: Thu, 25 Apr 2024 23:12:08 +0200 Subject: [PATCH 249/382] [React19-blog]: Make use(context) example easier to understand (#6783) * Make use(Context) example easier to understand * Update src/content/blog/2024/04/25/react-19.md Co-authored-by: Ricky <rickhanlonii@gmail.com> * Update src/content/blog/2024/04/25/react-19.md Co-authored-by: Ricky <rickhanlonii@gmail.com> * Update src/content/blog/2024/04/25/react-19.md Co-authored-by: Ricky <rickhanlonii@gmail.com> * Update src/content/blog/2024/04/25/react-19.md Co-authored-by: Ricky <rickhanlonii@gmail.com> --------- Co-authored-by: Ricky <rickhanlonii@gmail.com> --- src/content/blog/2024/04/25/react-19.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/content/blog/2024/04/25/react-19.md b/src/content/blog/2024/04/25/react-19.md index d5c5b615..f6b63687 100644 --- a/src/content/blog/2024/04/25/react-19.md +++ b/src/content/blog/2024/04/25/react-19.md @@ -280,14 +280,14 @@ import LightThemeContext from './LightThemeContext' import DarkThemeContext from './ThemeContext' function ThemedPage({theme, children}) { - let theme; + let currentTheme; if (theme === 'dark') { - theme = use(DarkThemeContext); + currentTheme = use(DarkThemeContext); } else { - theme = use(LightThemeContext); + currentTheme = use(LightThemeContext); } return ( - <Page theme={theme}> + <Page theme={currentTheme}> {children} </Page> ); From 9aa8e8275c53b147b7f60908f66d9ee955a75b60 Mon Sep 17 00:00:00 2001 From: Josh Story <story@hey.com> Date: Thu, 25 Apr 2024 14:25:52 -0700 Subject: [PATCH 250/382] refines the messaging to clarify that Server Components the feature is stable but the packages you work with as a framework and bundler will approach API stability (#6782) --- src/content/blog/2024/04/25/react-19.md | 4 ++-- src/content/reference/rsc/server-actions.md | 6 +++--- src/content/reference/rsc/server-components.md | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/content/blog/2024/04/25/react-19.md b/src/content/blog/2024/04/25/react-19.md index f6b63687..53717119 100644 --- a/src/content/blog/2024/04/25/react-19.md +++ b/src/content/blog/2024/04/25/react-19.md @@ -312,9 +312,9 @@ React 19 includes all of the React Server Components features included from the #### How do I build support for Server Components? {/*how-do-i-build-support-for-server-components*/} -Bundler and framework support for React Server Components can be built on React 19, but the underlying APIs will not follow semver and may break between minors in React 19.x. +While React Server Components in React 19 are stable and will not break between major versions, the underlying APIs used to implement a React Server Components bundler or framework do not follow semver and may break between minors in React 19.x. -To support React Server Components, we recommend pinning to a specific React version, or using the Canary release. We will continue working with bundlers and frameworks to stabilize support for React Server Components in future versions. +To support React Server Components as a bundler or framework, we recommend pinning to a specific React version, or using the Canary release. We will continue working with bundlers and frameworks to stabilize the APIs used to implement React Server Components in the future. </Note> diff --git a/src/content/reference/rsc/server-actions.md b/src/content/reference/rsc/server-actions.md index 6edf50ef..d5304cd9 100644 --- a/src/content/reference/rsc/server-actions.md +++ b/src/content/reference/rsc/server-actions.md @@ -13,11 +13,11 @@ Server Actions allow Client Components to call async functions executed on the s <Note> -#### How do I build support for Server Actions? {/*how-do-i-build-support-for-server-components*/} +#### How do I build support for Server Actions? {/*how-do-i-build-support-for-server-actions*/} -Bundler and framework support for Server Actins can be built on React 19, but the underlying APIs will not follow semver and may break between minors in React 19.x. +While Server Actions in React 19 are stable and will not break between major versions, the underlying APIs used to implement Server Actions in a React Server Components bundler or framework do not follow semver and may break between minors in React 19.x. -To support Server Actions, we recommend pinning to a specific React version, or using the Canary release. We will continue working with bundlers and frameworks to stablize support for React Server Components in future versions. +To support Server Actions as a bundler or framework, we recommend pinning to a specific React version, or using the Canary release. We will continue working with bundlers and frameworks to stabilize the APIs used to implement Server Actions in the future. </Note> diff --git a/src/content/reference/rsc/server-components.md b/src/content/reference/rsc/server-components.md index d9698240..d130104a 100644 --- a/src/content/reference/rsc/server-components.md +++ b/src/content/reference/rsc/server-components.md @@ -17,9 +17,9 @@ This separate environment is the "server" in React Server Components. Server Com #### How do I build support for Server Components? {/*how-do-i-build-support-for-server-components*/} -Bundler and framework support for React Server Components can be built on React 19, but the underlying APIs will not follow semver and may break between minors in React 19.x. +While React Server Components in React 19 are stable and will not break between major versions, the underlying APIs used to implement a React Server Components bundler or framework do not follow semver and may break between minors in React 19.x. -To support React Server Components, we recommend pinning to a specific React version, or using the Canary release. We will continue working with bundlers and frameworks to stablize support for React Server Components in future versions. +To support React Server Components as a bundler or framework, we recommend pinning to a specific React version, or using the Canary release. We will continue working with bundlers and frameworks to stabilize the APIs used to implement React Server Components in the future. </Note> From cdd0964752ed5d3cb493979ec9b345fd10859346 Mon Sep 17 00:00:00 2001 From: Josh Story <story@hey.com> Date: Thu, 25 Apr 2024 14:46:47 -0700 Subject: [PATCH 251/382] Fix react-helmet link (#6786) --- src/content/blog/2024/04/25/react-19.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/blog/2024/04/25/react-19.md b/src/content/blog/2024/04/25/react-19.md index 53717119..cd7fb24b 100644 --- a/src/content/blog/2024/04/25/react-19.md +++ b/src/content/blog/2024/04/25/react-19.md @@ -542,7 +542,7 @@ When React renders this component, it will see the `<title>` `<link>` and `<meta #### You may still want a Metadata library {/*you-may-still-want-a-metadata-library*/} -For simple use cases rendering Document Metadata as tags may be suitable, but libraries can offer more powerful features like overriding generic metadata with specific metadata based on the current route. So these feature make it easier for frameworks and libraries like [`react-helmet`](github.com/nfl/react-helmet) to support metadata tags, rather than replace them. +For simple use cases rendering Document Metadata as tags may be suitable, but libraries can offer more powerful features like overriding generic metadata with specific metadata based on the current route. So these feature make it easier for frameworks and libraries like [`react-helmet`](https://github.com/nfl/react-helmet) to support metadata tags, rather than replace them. </Note> From 526d7b42b2880429aa92da721fcd24632c546eb8 Mon Sep 17 00:00:00 2001 From: Ricky <rickhanlonii@fb.com> Date: Thu, 25 Apr 2024 17:48:46 -0400 Subject: [PATCH 252/382] Clarify React DOM APIs in React 19 Post (#6785) --- src/content/blog/2024/04/25/react-19.md | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/content/blog/2024/04/25/react-19.md b/src/content/blog/2024/04/25/react-19.md index cd7fb24b..ce53bca0 100644 --- a/src/content/blog/2024/04/25/react-19.md +++ b/src/content/blog/2024/04/25/react-19.md @@ -115,7 +115,7 @@ Actions automatically manage submitting data for you: </Note> -Building on top of Actions, we're also introducing [`<form>` Actions](#form-actions) to manage forms automatically, [`useOptimistic`](#new-hook-optimistic-updates) to manage optimistic updates, and new hooks [`useActionState`](#new-hook-useactionstate), [`useFormStatus`](#new-hook-useformstatus) to support the common cases for Actions and Forms. +Building on top of Actions, React 19 introduces [`useOptimistic`](#new-hook-optimistic-updates) to manage optimistic updates, and a new hook [`React.useActionState`](#new-hook-useactionstate) to handle common cases for Actions. In `react-dom` we're adding [`<form>` Actions](#form-actions) to manage forms automatically and [`useFormStatus`](#new-hook-useformstatus) to support the common cases for Actions in forms. In React 19, the above example can be simplified to: @@ -173,9 +173,9 @@ See [#28491](https://github.com/facebook/react/pull/28491) for more info. For more information, see the docs for [`useActionState`](/reference/react/useActionState). -### `<form>` Actions {/*form-actions*/} +### React DOM: `<form>` Actions {/*form-actions*/} -Actions are also integrated with React 19's new `<form>` features. We've added support for passing functions as the `action` and `formAction` props of `<form>`, `<input>`, and `<button>` elements to automatically submit forms with Actions: +Actions are also integrated with React 19's new `<form>` features for `react-dom`. We've added support for passing functions as the `action` and `formAction` props of `<form>`, `<input>`, and `<button>` elements to automatically submit forms with Actions: ```js [[1,1,"actionFunction"]] <form action={actionFunction}> @@ -183,13 +183,15 @@ Actions are also integrated with React 19's new `<form>` features. We've added s When a `<form>` Action succeeds, React will automatically reset the form for uncontrolled components. If you need to reset the `<form>` manually, you can call the new `requestFormReset` React DOM API. -For more information, see the docs for [`<form>`](/reference/react-dom/components/form), [`<input>`](/reference/react-dom/components/input), and [`<button>`](/reference/react-dom/components/button). +For more information, see the `react-dom` docs for [`<form>`](/reference/react-dom/components/form), [`<input>`](/reference/react-dom/components/input), and [`<button>`](/reference/react-dom/components/button). -### New hook: `useFormStatus` {/*new-hook-useformstatus*/} +### React DOM: New hook: `useFormStatus` {/*new-hook-useformstatus*/} In design systems, it's common to write design components that need access to information about the `<form>` they're in, without drilling props down to the component. This can be done via Context, but to make the common case easier, we've added a new hook `useFormStatus`: -```js [[1, 2, "pending"], [1, 3, "pending"]] +```js [[1, 4, "pending"], [1, 5, "pending"]] +import {useFormStatus} from 'react-dom'; + function DesignButton() { const {pending} = useFormStatus(); return <button type="submit" disabled={pending} /> @@ -198,7 +200,7 @@ function DesignButton() { `useFormStatus` reads the status of the parent `<form>` as if the form was a Context provider. -For more information, see the docs for [`useFormStatus`](/reference/react-dom/hooks/useFormStatus). +For more information, see the `react-dom` docs for [`useFormStatus`](/reference/react-dom/hooks/useFormStatus). ### New hook: `useOptimistic` {/*new-hook-optimistic-updates*/} @@ -366,7 +368,7 @@ New function components will no longer need `forwardRef`, and we will be publish ### Diffs for hydration errors {/*diffs-for-hydration-errors*/} -We also improved error reporting for hydration errors. For example, instead of logging multiple errors in DEV without any information about the mismatch: +We also improved error reporting for hydration errors in `react-dom`. For example, instead of logging multiple errors in DEV without any information about the mismatch: <ConsoleBlockMulti> From 64beb657a2c3c0b102862509ebb8cf599f7cafd5 Mon Sep 17 00:00:00 2001 From: Josh Story <story@hey.com> Date: Thu, 25 Apr 2024 14:49:06 -0700 Subject: [PATCH 253/382] Resources -> resources (#6787) --- src/content/blog/2024/04/25/react-19.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/blog/2024/04/25/react-19.md b/src/content/blog/2024/04/25/react-19.md index ce53bca0..f0e18d0f 100644 --- a/src/content/blog/2024/04/25/react-19.md +++ b/src/content/blog/2024/04/25/react-19.md @@ -632,7 +632,7 @@ In Server Side Rendering, async scripts will be included in the `<head>` and pri For more details, read the docs for [`<script>`](/reference/react-dom/components/script). -### Support for preloading Resources {/*support-for-preloading-resources*/} +### Support for preloading resources {/*support-for-preloading-resources*/} During initial document load and on client side updates, telling the Browser about resources that it will likely need to load as early as possible can have a dramatic effect on page performance. From 8cbed3e23fda46b6261792b891fb86d79f2b5949 Mon Sep 17 00:00:00 2001 From: Dominic Zhu <44078427+dom-zhu@users.noreply.github.com> Date: Fri, 26 Apr 2024 08:54:28 +1000 Subject: [PATCH 254/382] Fix typos (#6788) Co-authored-by: Dom Zhu <dominic.zhu@uq.net.au> --- src/content/blog/2024/04/25/react-19.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/content/blog/2024/04/25/react-19.md b/src/content/blog/2024/04/25/react-19.md index f0e18d0f..dbcc9f14 100644 --- a/src/content/blog/2024/04/25/react-19.md +++ b/src/content/blog/2024/04/25/react-19.md @@ -110,7 +110,7 @@ Actions automatically manage submitting data for you: - **Pending state**: Actions provide a pending state that starts at the beginning of a request and automatically resets when the final state update is committed. - **Optimistic updates**: Actions support the new [`useOptimistic`](#new-feature-optimistic-updates) hook so you can show users instant feedback while the requests are submitting. -- **Error handling**: Actions provide error handling so you can and display Error Boundaries when a request fails, and revert optimistic updates to their original value automatically. +- **Error handling**: Actions provide error handling so you can display Error Boundaries when a request fails, and revert optimistic updates to their original value automatically. - **Forms**: `<form>` elements now support passing functions to the `action` and `formAction` props. Passing functions to the `action` props use Actions by default and reset the form automatically after submission. </Note> @@ -511,7 +511,7 @@ function Search({deferredValue}) { } ```` -When <CodeStep step={2}>initialValue</CodeStep> is provided, `useDeferredValue` will return it as `value` for the initial render of the component, and scheduled a re-render in the background with the <CodeStep step={1}>deferredValue</CodeStep> returned. +When <CodeStep step={2}>initialValue</CodeStep> is provided, `useDeferredValue` will return it as `value` for the initial render of the component, and schedules a re-render in the background with the <CodeStep step={1}>deferredValue</CodeStep> returned. For more, see [`useDeferredValue`](/reference/react/useDeferredValue). From e09ff1c480db1de6a4cd54f374c1dc32984b7518 Mon Sep 17 00:00:00 2001 From: Ricky <rickhanlonii@fb.com> Date: Thu, 25 Apr 2024 20:18:11 -0400 Subject: [PATCH 255/382] Better use(Context) example in 19 blog (#6789) --- src/content/blog/2024/04/25/react-19.md | 28 ++++++++++++------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/src/content/blog/2024/04/25/react-19.md b/src/content/blog/2024/04/25/react-19.md index dbcc9f14..52a8e1ec 100644 --- a/src/content/blog/2024/04/25/react-19.md +++ b/src/content/blog/2024/04/25/react-19.md @@ -274,24 +274,24 @@ To fix, you need to pass a promise from a suspense powered library or framework </Note> -You can also read context with `use`, allowing you to read Context conditionally: +You can also read context with `use`, allowing you to read Context conditionally such as after early returns: -```js {1,8,10} +```js {1,11} import {use} from 'react'; -import LightThemeContext from './LightThemeContext' -import DarkThemeContext from './ThemeContext' - -function ThemedPage({theme, children}) { - let currentTheme; - if (theme === 'dark') { - currentTheme = use(DarkThemeContext); - } else { - currentTheme = use(LightThemeContext); - } +import ThemeContext from './ThemeContext' + +function Heading({children}) { + if (children == null) { + return null; + } + + // This would not work with useContext + // because of the early return. + const theme = use(ThemeContext); return ( - <Page theme={currentTheme}> + <h1 style={{color: theme.color}}> {children} - </Page> + </h1> ); } ``` From e45ac5552c13fc50832624b7deb0c6f631d461bf Mon Sep 17 00:00:00 2001 From: Ricky <rickhanlonii@fb.com> Date: Thu, 25 Apr 2024 22:01:32 -0400 Subject: [PATCH 256/382] Better use(Promise) example in 19 blog (#6790) * Better use(Promise) example in 19 blog * Better use(Promise) example in 19 blog --- src/content/blog/2024/04/25/react-19.md | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/src/content/blog/2024/04/25/react-19.md b/src/content/blog/2024/04/25/react-19.md index 52a8e1ec..21784ca2 100644 --- a/src/content/blog/2024/04/25/react-19.md +++ b/src/content/blog/2024/04/25/react-19.md @@ -243,14 +243,23 @@ In React 19 we're introducing a new API to read resources in render: `use`. For example, you can read a promise with `use`, and React will Suspend until the promise resolves: -```js {1,6} +```js {1,5} import {use} from 'react'; function Comments({commentsPromise}) { - // NOTE: this will resume the promise from the server. - // It will suspend until the data is available. + // `use` will suspend until the promise resolves. const comments = use(commentsPromise); - return comments.map(comment => <p>{comment}</p>); + return comments.map(comment => <p key={comment.id}>{comment}</p>); +} + +function Page({commentsPromise}) { + // When `use` suspends in Comments, + // this Suspense boundary will be shown. + return ( + <Suspense fallback={<div>Loading...</div>}> + <Comments commentsPromise={commentsPromise} /> + </Suspense> + ) } ``` From 057f35cc4d8c02dd2eb8d2dd1efa3935ee645f9a Mon Sep 17 00:00:00 2001 From: Srikanth Kandi <87417638+srikanth-kandi@users.noreply.github.com> Date: Fri, 26 Apr 2024 15:06:22 +0530 Subject: [PATCH 257/382] Replaced all instances of /react to /rsc (#6797) --- ...-labs-what-we-have-been-working-on-february-2024.md | 4 ++-- src/content/reference/react-dom/components/form.md | 10 +++++----- .../reference/react/experimental_taintUniqueValue.md | 2 +- src/content/reference/react/index.md | 2 +- src/content/reference/react/use.md | 4 ++-- src/content/reference/react/useActionState.md | 4 ++-- src/content/reference/rsc/directives.md | 4 ++-- src/content/reference/rsc/server-actions.md | 8 ++++---- src/content/reference/rsc/use-client.md | 4 ++-- src/content/reference/rsc/use-server.md | 6 +++--- 10 files changed, 24 insertions(+), 24 deletions(-) diff --git a/src/content/blog/2024/02/15/react-labs-what-we-have-been-working-on-february-2024.md b/src/content/blog/2024/02/15/react-labs-what-we-have-been-working-on-february-2024.md index 04aff7af..2c28e933 100644 --- a/src/content/blog/2024/02/15/react-labs-what-we-have-been-working-on-february-2024.md +++ b/src/content/blog/2024/02/15/react-labs-what-we-have-been-working-on-february-2024.md @@ -52,7 +52,7 @@ We refer to this broader collection of features as simply "Actions". Actions all </form> ``` -The `action` function can operate synchronously or asynchronously. You can define them on the client side using standard JavaScript or on the server with the [`'use server'`](/reference/react/use-server) directive. When using an action, React will manage the life cycle of the data submission for you, providing hooks like [`useFormStatus`](/reference/react-dom/hooks/useFormStatus), and [`useActionState`](/reference/react/useActionState) to access the current state and response of the form action. +The `action` function can operate synchronously or asynchronously. You can define them on the client side using standard JavaScript or on the server with the [`'use server'`](/reference/rsc/use-server) directive. When using an action, React will manage the life cycle of the data submission for you, providing hooks like [`useFormStatus`](/reference/react-dom/hooks/useFormStatus), and [`useActionState`](/reference/react/useActionState) to access the current state and response of the form action. By default, Actions are submitted within a [transition](/reference/react/useTransition), keeping the current page interactive while the action is processing. Since Actions support async functions, we've also added the ability to use `async/await` in transitions. This allows you to show pending UI with the `isPending` state of a transition when an async request like `fetch` starts, and show the pending UI all the way through the update being applied. @@ -72,7 +72,7 @@ Canaries are a change to the way we develop React. Previously, features would be React Server Components, Asset Loading, Document Metadata, and Actions have all landed in the React Canary, and we've added docs for these features on react.dev: -- **Directives**: [`"use client"`](/reference/react/use-client) and [`"use server"`](/reference/react/use-server) are bundler features designed for full-stack React frameworks. They mark the "split points" between the two environments: `"use client"` instructs the bundler to generate a `<script>` tag (like [Astro Islands](https://docs.astro.build/en/concepts/islands/#creating-an-island)), while `"use server"` tells the bundler to generate a POST endpoint (like [tRPC Mutations](https://trpc.io/docs/concepts)). Together, they let you write reusable components that compose client-side interactivity with the related server-side logic. +- **Directives**: [`"use client"`](/reference/rsc/use-client) and [`"use server"`](/reference/rsc/use-server) are bundler features designed for full-stack React frameworks. They mark the "split points" between the two environments: `"use client"` instructs the bundler to generate a `<script>` tag (like [Astro Islands](https://docs.astro.build/en/concepts/islands/#creating-an-island)), while `"use server"` tells the bundler to generate a POST endpoint (like [tRPC Mutations](https://trpc.io/docs/concepts)). Together, they let you write reusable components that compose client-side interactivity with the related server-side logic. - **Document Metadata**: we added built-in support for rendering [`<title>`](/reference/react-dom/components/title), [`<meta>`](/reference/react-dom/components/meta), and metadata [`<link>`](/reference/react-dom/components/link) tags anywhere in your component tree. These work the same way in all environments, including fully client-side code, SSR, and RSC. This provides built-in support for features pioneered by libraries like [React Helmet](https://github.com/nfl/react-helmet). diff --git a/src/content/reference/react-dom/components/form.md b/src/content/reference/react-dom/components/form.md index 4f7fc967..afdddc74 100644 --- a/src/content/reference/react-dom/components/form.md +++ b/src/content/reference/react-dom/components/form.md @@ -93,7 +93,7 @@ export default function Search() { ### Handle form submission with a Server Action {/*handle-form-submission-with-a-server-action*/} -Render a `<form>` with an input and submit button. Pass a Server Action (a function marked with [`'use server'`](/reference/react/use-server)) to the `action` prop of form to run the function when the form is submitted. +Render a `<form>` with an input and submit button. Pass a Server Action (a function marked with [`'use server'`](/reference/rsc/use-server)) to the `action` prop of form to run the function when the form is submitted. Passing a Server Action to `<form action>` allow users to submit forms without JavaScript enabled or before the code has loaded. This is beneficial to users who have a slow connection, device, or have JavaScript disabled and is similar to the way forms work when a URL is passed to the `action` prop. @@ -137,7 +137,7 @@ function AddToCart({productId}) { } ``` -When `<form>` is rendered by a [Server Component](/reference/react/use-client), and a [Server Action](/reference/react/use-server) is passed to the `<form>`'s `action` prop, the form is [progressively enhanced](https://developer.mozilla.org/en-US/docs/Glossary/Progressive_Enhancement). +When `<form>` is rendered by a [Server Component](/reference/rsc/use-client), and a [Server Action](/reference/rsc/use-server) is passed to the `<form>`'s `action` prop, the form is [progressively enhanced](https://developer.mozilla.org/en-US/docs/Glossary/Progressive_Enhancement). ### Display a pending state during form submission {/*display-a-pending-state-during-form-submission*/} To display a pending state when a form is being submitted, you can call the `useFormStatus` Hook in a component rendered in a `<form>` and read the `pending` property returned. @@ -322,11 +322,11 @@ export default function Search() { Displaying a form submission error message before the JavaScript bundle loads for progressive enhancement requires that: -1. `<form>` be rendered by a [Server Component](/reference/react/use-client) -1. the function passed to the `<form>`'s `action` prop be a [Server Action](/reference/react/use-server) +1. `<form>` be rendered by a [Server Component](/reference/rsc/use-client) +1. the function passed to the `<form>`'s `action` prop be a [Server Action](/reference/rsc/use-server) 1. the `useActionState` Hook be used to display the error message -`useActionState` takes two parameters: a [Server Action](/reference/react/use-server) and an initial state. `useActionState` returns two values, a state variable and an action. The action returned by `useActionState` should be passed to the `action` prop of the form. The state variable returned by `useActionState` can be used to displayed an error message. The value returned by the [Server Action](/reference/react/use-server) passed to `useActionState` will be used to update the state variable. +`useActionState` takes two parameters: a [Server Action](/reference/rsc/use-server) and an initial state. `useActionState` returns two values, a state variable and an action. The action returned by `useActionState` should be passed to the `action` prop of the form. The state variable returned by `useActionState` can be used to displayed an error message. The value returned by the [Server Action](/reference/rsc/use-server) passed to `useActionState` will be used to update the state variable. <Sandpack> diff --git a/src/content/reference/react/experimental_taintUniqueValue.md b/src/content/reference/react/experimental_taintUniqueValue.md index 12978758..09d277eb 100644 --- a/src/content/reference/react/experimental_taintUniqueValue.md +++ b/src/content/reference/react/experimental_taintUniqueValue.md @@ -14,7 +14,7 @@ You can try it by upgrading React packages to the most recent experimental versi Experimental versions of React may contain bugs. Don't use them in production. -This API is only available inside [React Server Components](/reference/react/use-client). +This API is only available inside [React Server Components](/reference/rsc/use-client). </Wip> diff --git a/src/content/reference/react/index.md b/src/content/reference/react/index.md index 71090332..5663af39 100644 --- a/src/content/reference/react/index.md +++ b/src/content/reference/react/index.md @@ -17,7 +17,7 @@ Programmatic React features: * [Hooks](/reference/react/hooks) - Use different React features from your components. * [Components](/reference/react/components) - Documents built-in components that you can use in your JSX. * [APIs](/reference/react/apis) - APIs that are useful for defining components. -* [Directives](/reference/react/directives) - Provide instructions to bundlers compatible with React Server Components. +* [Directives](/reference/rsc/directives) - Provide instructions to bundlers compatible with React Server Components. ## React DOM {/*react-dom*/} diff --git a/src/content/reference/react/use.md b/src/content/reference/react/use.md index 824fae32..b7a6fc70 100644 --- a/src/content/reference/react/use.md +++ b/src/content/reference/react/use.md @@ -55,8 +55,8 @@ The `use` API returns the value that was read from the resource like the resolve #### Caveats {/*caveats*/} * The `use` API must be called inside a Component or a Hook. -* When fetching data in a [Server Component](/reference/react/use-server), prefer `async` and `await` over `use`. `async` and `await` pick up rendering from the point where `await` was invoked, whereas `use` re-renders the component after the data is resolved. -* Prefer creating Promises in [Server Components](/reference/react/use-server) and passing them to [Client Components](/reference/react/use-client) over creating Promises in Client Components. Promises created in Client Components are recreated on every render. Promises passed from a Server Component to a Client Component are stable across re-renders. [See this example](#streaming-data-from-server-to-client). +* When fetching data in a [Server Component](/reference/rsc/use-server), prefer `async` and `await` over `use`. `async` and `await` pick up rendering from the point where `await` was invoked, whereas `use` re-renders the component after the data is resolved. +* Prefer creating Promises in [Server Components](/reference/rsc/use-server) and passing them to [Client Components](/reference/rsc/use-client) over creating Promises in Client Components. Promises created in Client Components are recreated on every render. Promises passed from a Server Component to a Client Component are stable across re-renders. [See this example](#streaming-data-from-server-to-client). --- diff --git a/src/content/reference/react/useActionState.md b/src/content/reference/react/useActionState.md index 306663c1..6f5924e3 100644 --- a/src/content/reference/react/useActionState.md +++ b/src/content/reference/react/useActionState.md @@ -5,7 +5,7 @@ canary: true <Canary> -The `useActionState` Hook is currently only available in React's Canary and experimental channels. Learn more about [release channels here](/community/versioning-policy#all-release-channels). In addition, you need to use a framework that supports [React Server Components](/reference/react/use-client) to get the full benefit of `useActionState`. +The `useActionState` Hook is currently only available in React's Canary and experimental channels. Learn more about [release channels here](/community/versioning-policy#all-release-channels). In addition, you need to use a framework that supports [React Server Components](/reference/rsc/use-client) to get the full benefit of `useActionState`. </Canary> @@ -65,7 +65,7 @@ If used with a Server Action, `useActionState` allows the server's response from * `fn`: The function to be called when the form is submitted or button pressed. When the function is called, it will receive the previous state of the form (initially the `initialState` that you pass, subsequently its previous return value) as its initial argument, followed by the arguments that a form action normally receives. * `initialState`: The value you want the state to be initially. It can be any serializable value. This argument is ignored after the action is first invoked. -* **optional** `permalink`: A string containing the unique page URL that this form modifies. For use on pages with dynamic content (eg: feeds) in conjunction with progressive enhancement: if `fn` is a [server action](/reference/react/use-server) and the form is submitted before the JavaScript bundle loads, the browser will navigate to the specified permalink URL, rather than the current page's URL. Ensure that the same form component is rendered on the destination page (including the same action `fn` and `permalink`) so that React knows how to pass the state through. Once the form has been hydrated, this parameter has no effect. +* **optional** `permalink`: A string containing the unique page URL that this form modifies. For use on pages with dynamic content (eg: feeds) in conjunction with progressive enhancement: if `fn` is a [server action](/reference/rsc/use-server) and the form is submitted before the JavaScript bundle loads, the browser will navigate to the specified permalink URL, rather than the current page's URL. Ensure that the same form component is rendered on the destination page (including the same action `fn` and `permalink`) so that React knows how to pass the state through. Once the form has been hydrated, this parameter has no effect. {/* TODO T164397693: link to serializable values docs once it exists */} diff --git a/src/content/reference/rsc/directives.md b/src/content/reference/rsc/directives.md index 7b8d9444..0157ba4d 100644 --- a/src/content/reference/rsc/directives.md +++ b/src/content/reference/rsc/directives.md @@ -19,5 +19,5 @@ Directives provide instructions to [bundlers compatible with React Server Compon ## Source code directives {/*source-code-directives*/} -* [`'use client'`](/reference/react/use-client) lets you mark what code runs on the client. -* [`'use server'`](/reference/react/use-server) marks server-side functions that can be called from client-side code. +* [`'use client'`](/reference/rsc/use-client) lets you mark what code runs on the client. +* [`'use server'`](/reference/rsc/use-server) marks server-side functions that can be called from client-side code. diff --git a/src/content/reference/rsc/server-actions.md b/src/content/reference/rsc/server-actions.md index d5304cd9..f958c4ce 100644 --- a/src/content/reference/rsc/server-actions.md +++ b/src/content/reference/rsc/server-actions.md @@ -57,7 +57,7 @@ export default function Button({onClick}) { } ``` -For more, see the docs for [`"use server"`](/reference/react/use-server). +For more, see the docs for [`"use server"`](/reference/rsc/use-server). ### Importing Server Actions from Client Components {/*importing-server-actions-from-client-components*/} @@ -86,7 +86,7 @@ function EmptyNote() { } ``` -For more, see the docs for [`"use server"`](/reference/react/use-server). +For more, see the docs for [`"use server"`](/reference/rsc/use-server). ### Composing Server Actions with Actions {/*composing-server-actions-with-actions*/} @@ -136,7 +136,7 @@ function UpdateName() { This allows you to access the `isPending` state of the Server Action by wrapping it in an Action on the client. -For more, see the docs for [Calling a Server Action outside of `<form>`](/reference/react/use-server#calling-a-server-action-outside-of-form) +For more, see the docs for [Calling a Server Action outside of `<form>`](/reference/rsc/use-server#calling-a-server-action-outside-of-form) ### Form Actions with Server Actions {/*form-actions-with-server-actions*/} @@ -161,7 +161,7 @@ function UpdateName() { When the Form submission succeeds, React will automatically reset the form. You can add `useActionState` to access the pending state, last response, or to support progressive enhancement. -For more, see the docs for [Server Actions in Forms](/reference/react/use-server#server-actions-in-forms). +For more, see the docs for [Server Actions in Forms](/reference/rsc/use-server#server-actions-in-forms). ### Server Actions with `useActionState` {/*server-actions-with-use-action-state*/} diff --git a/src/content/reference/rsc/use-client.md b/src/content/reference/rsc/use-client.md index 07c2e989..513578df 100644 --- a/src/content/reference/rsc/use-client.md +++ b/src/content/reference/rsc/use-client.md @@ -269,12 +269,12 @@ Serializable props include: * [TypedArray](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/TypedArray) and [ArrayBuffer](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer) * [Date](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date) * Plain [objects](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object): those created with [object initializers](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Object_initializer), with serializable properties -* Functions that are [Server Actions](/reference/react/use-server) +* Functions that are [Server Actions](/reference/rsc/use-server) * Client or Server Component elements (JSX) * [Promises](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) Notably, these are not supported: -* [Functions](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function) that are not exported from client-marked modules or marked with [`'use server'`](/reference/react/use-server) +* [Functions](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function) that are not exported from client-marked modules or marked with [`'use server'`](/reference/rsc/use-server) * [Classes](https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Objects/Classes_in_JavaScript) * Objects that are instances of any class (other than the built-ins mentioned) or objects with [a null prototype](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object#null-prototype_objects) * Symbols not registered globally, ex. `Symbol('my new symbol')` diff --git a/src/content/reference/rsc/use-server.md b/src/content/reference/rsc/use-server.md index 892e5290..27ff876b 100644 --- a/src/content/reference/rsc/use-server.md +++ b/src/content/reference/rsc/use-server.md @@ -41,7 +41,7 @@ Instead of individually marking functions with `'use server'`, you can add the d #### Caveats {/*caveats*/} * `'use server'` must be at the very beginning of their function or module; above any other code including imports (comments above directives are OK). They must be written with single or double quotes, not backticks. * `'use server'` can only be used in server-side files. The resulting Server Actions can be passed to Client Components through props. See supported [types for serialization](#serializable-parameters-and-return-values). -* To import a Server Action from [client code](/reference/react/use-client), the directive must be used on a module level. +* To import a Server Action from [client code](/reference/rsc/use-client), the directive must be used on a module level. * Because the underlying network calls are always asynchronous, `'use server'` can only be used on async functions. * Always treat arguments to Server Actions as untrusted input and authorize any mutations. See [security considerations](#security). * Server Actions should be called in a [Transition](/reference/react/useTransition). Server Actions passed to [`<form action>`](/reference/react-dom/components/form#props) or [`formAction`](/reference/react-dom/components/input#props) will automatically be called in a transition. @@ -95,7 +95,7 @@ Notably, these are not supported: * Symbols not registered globally, ex. `Symbol('my new symbol')` -Supported serializable return values are the same as [serializable props](/reference/react/use-client#passing-props-from-server-to-client-components) for a boundary Client Component. +Supported serializable return values are the same as [serializable props](/reference/rsc/use-client#passing-props-from-server-to-client-components) for a boundary Client Component. ## Usage {/*usage*/} @@ -171,7 +171,7 @@ function UsernameForm() { } ``` -Note that like most Hooks, `useActionState` can only be called in <CodeStep step={1}>[client code](/reference/react/use-client)</CodeStep>. +Note that like most Hooks, `useActionState` can only be called in <CodeStep step={1}>[client code](/reference/rsc/use-client)</CodeStep>. ### Calling a Server Action outside of `<form>` {/*calling-a-server-action-outside-of-form*/} From f66402862d7eb84f594431342049c5637a128c36 Mon Sep 17 00:00:00 2001 From: Christian Martinez <36577457+christianbmartinez@users.noreply.github.com> Date: Fri, 26 Apr 2024 03:38:18 -0600 Subject: [PATCH 258/382] Updated react-19.md (#6796) --- src/content/blog/2024/04/25/react-19.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/blog/2024/04/25/react-19.md b/src/content/blog/2024/04/25/react-19.md index 21784ca2..f0d6d26d 100644 --- a/src/content/blog/2024/04/25/react-19.md +++ b/src/content/blog/2024/04/25/react-19.md @@ -553,7 +553,7 @@ When React renders this component, it will see the `<title>` `<link>` and `<meta #### You may still want a Metadata library {/*you-may-still-want-a-metadata-library*/} -For simple use cases rendering Document Metadata as tags may be suitable, but libraries can offer more powerful features like overriding generic metadata with specific metadata based on the current route. So these feature make it easier for frameworks and libraries like [`react-helmet`](https://github.com/nfl/react-helmet) to support metadata tags, rather than replace them. +For simple use cases, rendering Document Metadata as tags may be suitable, but libraries can offer more powerful features like overriding generic metadata with specific metadata based on the current route. These features make it easier for frameworks and libraries like [`react-helmet`](https://github.com/nfl/react-helmet) to support metadata tags, rather than replace them. </Note> From cf53cb5d527197dafb0baad1913c390cf919b1d0 Mon Sep 17 00:00:00 2001 From: Ricky <rickhanlonii@fb.com> Date: Fri, 26 Apr 2024 11:56:47 -0400 Subject: [PATCH 259/382] Add rss feed (#6803) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Add rss feed * Add rss feed * rss readers don't like å characters --- .gitignore | 3 + package.json | 5 +- scripts/generateRss.js | 6 ++ ...a-fetching-with-react-server-components.md | 3 + .../blog/2021/06/08/the-plan-for-react-18.md | 3 + .../blog/2021/12/17/react-conf-2021-recap.md | 3 + .../blog/2022/03/08/react-18-upgrade-guide.md | 3 + src/content/blog/2022/03/29/react-v18.md | 3 + ...-what-we-have-been-working-on-june-2022.md | 3 + .../blog/2023/03/16/introducing-react-dev.md | 3 + ...what-we-have-been-working-on-march-2023.md | 3 + src/content/blog/2023/05/03/react-canaries.md | 3 + ...t-we-have-been-working-on-february-2024.md | 3 + .../blog/2024/04/25/react-19-upgrade-guide.md | 3 + src/content/blog/2024/04/25/react-19.md | 3 + src/pages/[[...markdownPath]].js | 2 + src/utils/rss.js | 82 +++++++++++++++++++ 17 files changed, 132 insertions(+), 2 deletions(-) create mode 100644 scripts/generateRss.js create mode 100644 src/utils/rss.js diff --git a/.gitignore b/.gitignore index d8bec488..7bf71dbc 100644 --- a/.gitignore +++ b/.gitignore @@ -36,3 +36,6 @@ yarn-error.log* # external fonts public/fonts/**/Optimistic_*.woff2 + +# rss +public/rss.xml diff --git a/package.json b/package.json index d7520178..ddbe9250 100644 --- a/package.json +++ b/package.json @@ -15,11 +15,12 @@ "prettier:diff": "yarn nit:source", "lint-heading-ids": "node scripts/headingIdLinter.js", "fix-headings": "node scripts/headingIdLinter.js --fix", - "ci-check": "npm-run-all prettier:diff --parallel lint tsc lint-heading-ids", + "ci-check": "npm-run-all prettier:diff --parallel lint tsc lint-heading-ids rss", "tsc": "tsc --noEmit", "start": "next start", "postinstall": "patch-package && (is-ci || husky install .husky)", - "check-all": "npm-run-all prettier lint:fix tsc" + "check-all": "npm-run-all prettier lint:fix tsc rss", + "rss": "node scripts/generateRss.js" }, "dependencies": { "@codesandbox/sandpack-react": "2.13.5", diff --git a/scripts/generateRss.js b/scripts/generateRss.js new file mode 100644 index 00000000..e0f3d556 --- /dev/null +++ b/scripts/generateRss.js @@ -0,0 +1,6 @@ +/* + * Copyright (c) Facebook, Inc. and its affiliates. + */ +const {generateRssFeed} = require('../src/utils/rss'); + +generateRssFeed(); diff --git a/src/content/blog/2020/12/21/data-fetching-with-react-server-components.md b/src/content/blog/2020/12/21/data-fetching-with-react-server-components.md index 948096c0..b3885349 100644 --- a/src/content/blog/2020/12/21/data-fetching-with-react-server-components.md +++ b/src/content/blog/2020/12/21/data-fetching-with-react-server-components.md @@ -1,5 +1,8 @@ --- title: "Introducing Zero-Bundle-Size React Server Components" +author: Dan Abramov, Lauren Tan, Joseph Savona, and Sebastian Markbage +date: 2020/12/21 +description: 2020 has been a long year. As it comes to an end we wanted to share a special Holiday Update on our research into zero-bundle-size React Server Components. --- December 21, 2020 by [Dan Abramov](https://twitter.com/dan_abramov), [Lauren Tan](https://twitter.com/potetotes), [Joseph Savona](https://twitter.com/en_JS), and [Sebastian Markbåge](https://twitter.com/sebmarkbage) diff --git a/src/content/blog/2021/06/08/the-plan-for-react-18.md b/src/content/blog/2021/06/08/the-plan-for-react-18.md index 0bf744c1..42843cc4 100644 --- a/src/content/blog/2021/06/08/the-plan-for-react-18.md +++ b/src/content/blog/2021/06/08/the-plan-for-react-18.md @@ -1,5 +1,8 @@ --- title: "The Plan for React 18" +author: Andrew Clark, Brian Vaughn, Christine Abernathy, Dan Abramov, Rachel Nabors, Rick Hanlon, Sebastian Markbage, and Seth Webster +date: 2021/06/08 +description: The React team is excited to share a few updates. We’ve started work on the React 18 release, which will be our next major version. We’ve created a Working Group to prepare the community for gradual adoption of new features in React 18. We’ve published a React 18 Alpha so that library authors can try it and provide feedback... --- June 8, 2021 by [Andrew Clark](https://twitter.com/acdlite), [Brian Vaughn](https://github.com/bvaughn), [Christine Abernathy](https://twitter.com/abernathyca), [Dan Abramov](https://twitter.com/dan_abramov), [Rachel Nabors](https://twitter.com/rachelnabors), [Rick Hanlon](https://twitter.com/rickhanlonii), [Sebastian Markbåge](https://twitter.com/sebmarkbage), and [Seth Webster](https://twitter.com/sethwebster) diff --git a/src/content/blog/2021/12/17/react-conf-2021-recap.md b/src/content/blog/2021/12/17/react-conf-2021-recap.md index 89e407af..1806c757 100644 --- a/src/content/blog/2021/12/17/react-conf-2021-recap.md +++ b/src/content/blog/2021/12/17/react-conf-2021-recap.md @@ -1,5 +1,8 @@ --- title: "React Conf 2021 Recap" +author: Jesslyn Tannady and Rick Hanlon +date: 2021/12/17 +description: Last week we hosted our 6th React Conf. In previous years, we've used the React Conf stage to deliver industry changing announcements such as React Native and React Hooks. This year, we shared our multi-platform vision for React, starting with the release of React 18 and gradual adoption of concurrent features. --- December 17, 2021 by [Jesslyn Tannady](https://twitter.com/jtannady) and [Rick Hanlon](https://twitter.com/rickhanlonii) diff --git a/src/content/blog/2022/03/08/react-18-upgrade-guide.md b/src/content/blog/2022/03/08/react-18-upgrade-guide.md index 66da896e..9d34dfaa 100644 --- a/src/content/blog/2022/03/08/react-18-upgrade-guide.md +++ b/src/content/blog/2022/03/08/react-18-upgrade-guide.md @@ -1,5 +1,8 @@ --- title: "How to Upgrade to React 18" +author: Rick Hanlon +date: 2022/03/08 +description: As we shared in the release post, React 18 introduces features powered by our new concurrent renderer, with a gradual adoption strategy for existing applications. In this post, we will guide you through the steps for upgrading to React 18. --- March 08, 2022 by [Rick Hanlon](https://twitter.com/rickhanlonii) diff --git a/src/content/blog/2022/03/29/react-v18.md b/src/content/blog/2022/03/29/react-v18.md index 743404c1..27899fdd 100644 --- a/src/content/blog/2022/03/29/react-v18.md +++ b/src/content/blog/2022/03/29/react-v18.md @@ -1,5 +1,8 @@ --- title: "React v18.0" +author: The React Team +date: 2022/03/08 +description: React 18 is now available on npm! In our last post, we shared step-by-step instructions for upgrading your app to React 18. In this post, we'll give an overview of what's new in React 18, and what it means for the future. --- March 29, 2022 by [The React Team](/community/team) diff --git a/src/content/blog/2022/06/15/react-labs-what-we-have-been-working-on-june-2022.md b/src/content/blog/2022/06/15/react-labs-what-we-have-been-working-on-june-2022.md index 5e8456ea..00b76baf 100644 --- a/src/content/blog/2022/06/15/react-labs-what-we-have-been-working-on-june-2022.md +++ b/src/content/blog/2022/06/15/react-labs-what-we-have-been-working-on-june-2022.md @@ -1,5 +1,8 @@ --- title: "React Labs: What We've Been Working On – June 2022" +author: Andrew Clark, Dan Abramov, Jan Kassens, Joseph Savona, Josh Story, Lauren Tan, Luna Ruan, Mengdi Chen, Rick Hanlon, Robert Zhang, Sathya Gunasekaran, Sebastian Markbage, and Xuan Huang +date: 2022/06/15 +description: React 18 was years in the making, and with it brought valuable lessons for the React team. Its release was the result of many years of research and exploring many paths. Some of those paths were successful; many more were dead-ends that led to new insights. One lesson we’ve learned is that it’s frustrating for the community to wait for new features without having insight into these paths that we’re exploring. --- June 15, 2022 by [Andrew Clark](https://twitter.com/acdlite), [Dan Abramov](https://twitter.com/dan_abramov), [Jan Kassens](https://twitter.com/kassens), [Joseph Savona](https://twitter.com/en_JS), [Josh Story](https://twitter.com/joshcstory), [Lauren Tan](https://twitter.com/potetotes), [Luna Ruan](https://twitter.com/lunaruan), [Mengdi Chen](https://twitter.com/mengdi_en), [Rick Hanlon](https://twitter.com/rickhanlonii), [Robert Zhang](https://twitter.com/jiaxuanzhang01), [Sathya Gunasekaran](https://twitter.com/_gsathya), [Sebastian Markbåge](https://twitter.com/sebmarkbage), and [Xuan Huang](https://twitter.com/Huxpro) diff --git a/src/content/blog/2023/03/16/introducing-react-dev.md b/src/content/blog/2023/03/16/introducing-react-dev.md index 4ce209d7..42fd96ac 100644 --- a/src/content/blog/2023/03/16/introducing-react-dev.md +++ b/src/content/blog/2023/03/16/introducing-react-dev.md @@ -1,5 +1,8 @@ --- title: "Introducing react.dev" +author: Dan Abramov and Rachel Nabors +date: 2023/03/16 +description: Today we are thrilled to launch react.dev, the new home for React and its documentation. In this post, we would like to give you a tour of the new site. --- March 16, 2023 by [Dan Abramov](https://twitter.com/dan_abramov) and [Rachel Nabors](https://twitter.com/rachelnabors) diff --git a/src/content/blog/2023/03/22/react-labs-what-we-have-been-working-on-march-2023.md b/src/content/blog/2023/03/22/react-labs-what-we-have-been-working-on-march-2023.md index 1f6b911e..aeb677f3 100644 --- a/src/content/blog/2023/03/22/react-labs-what-we-have-been-working-on-march-2023.md +++ b/src/content/blog/2023/03/22/react-labs-what-we-have-been-working-on-march-2023.md @@ -1,5 +1,8 @@ --- title: "React Labs: What We've Been Working On – March 2023" +author: Joseph Savona, Josh Story, Lauren Tan, Mengdi Chen, Samuel Susla, Sathya Gunasekaran, Sebastian Markbage, and Andrew Clark +date: 2023/03/22 +description: In React Labs posts, we write about projects in active research and development. We've made significant progress on them since our last update, and we'd like to share what we learned. --- March 22, 2023 by [Joseph Savona](https://twitter.com/en_JS), [Josh Story](https://twitter.com/joshcstory), [Lauren Tan](https://twitter.com/potetotes), [Mengdi Chen](https://twitter.com/mengdi_en), [Samuel Susla](https://twitter.com/SamuelSusla), [Sathya Gunasekaran](https://twitter.com/_gsathya), [Sebastian Markbåge](https://twitter.com/sebmarkbage), and [Andrew Clark](https://twitter.com/acdlite) diff --git a/src/content/blog/2023/05/03/react-canaries.md b/src/content/blog/2023/05/03/react-canaries.md index 81da3fd0..19d9960b 100644 --- a/src/content/blog/2023/05/03/react-canaries.md +++ b/src/content/blog/2023/05/03/react-canaries.md @@ -1,5 +1,8 @@ --- title: "React Canaries: Enabling Incremental Feature Rollout Outside Meta" +author: Dan Abramov, Sophie Alpert, Rick Hanlon, Sebastian Markbage, and Andrew Clark +date: 2023/05/03 +description: We'd like to offer the React community an option to adopt individual new features as soon as their design is close to final, before they're released in a stable version--similar to how Meta has long used bleeding-edge versions of React internally. We are introducing a new officially supported [Canary release channel](/community/versioning-policy#canary-channel). It lets curated setups like frameworks decouple adoption of individual React features from the React release schedule. --- May 3, 2023 by [Dan Abramov](https://twitter.com/dan_abramov), [Sophie Alpert](https://twitter.com/sophiebits), [Rick Hanlon](https://twitter.com/rickhanlonii), [Sebastian Markbåge](https://twitter.com/sebmarkbage), and [Andrew Clark](https://twitter.com/acdlite) diff --git a/src/content/blog/2024/02/15/react-labs-what-we-have-been-working-on-february-2024.md b/src/content/blog/2024/02/15/react-labs-what-we-have-been-working-on-february-2024.md index 2c28e933..fee21f4e 100644 --- a/src/content/blog/2024/02/15/react-labs-what-we-have-been-working-on-february-2024.md +++ b/src/content/blog/2024/02/15/react-labs-what-we-have-been-working-on-february-2024.md @@ -1,5 +1,8 @@ --- title: "React Labs: What We've Been Working On – February 2024" +author: Joseph Savona, Ricky Hanlon, Andrew Clark, Matt Carroll, and Dan Abramov +date: 2024/02/15 +description: In React Labs posts, we write about projects in active research and development. We’ve made significant progress since our last update, and we’d like to share our progress. --- February 15, 2024 by [Joseph Savona](https://twitter.com/en_JS), [Ricky Hanlon](https://twitter.com/rickhanlonii), [Andrew Clark](https://twitter.com/acdlite), [Matt Carroll](https://twitter.com/mattcarrollcode), and [Dan Abramov](https://twitter.com/dan_abramov). diff --git a/src/content/blog/2024/04/25/react-19-upgrade-guide.md b/src/content/blog/2024/04/25/react-19-upgrade-guide.md index 83ba1937..3d8958b3 100644 --- a/src/content/blog/2024/04/25/react-19-upgrade-guide.md +++ b/src/content/blog/2024/04/25/react-19-upgrade-guide.md @@ -1,5 +1,8 @@ --- title: "React 19 Beta Upgrade Guide" +author: Ricky Hanlon +date: 2024/04/25 +description: The improvements added to React 19 require some breaking changes, but we've worked to make the upgrade as smooth as possible and we don't expect the changes to impact most apps. In this post, we will guide you through the steps for upgrading libraries to React 19 beta. --- April 25, 2024 by [Ricky Hanlon](https://twitter.com/rickhanlonii) diff --git a/src/content/blog/2024/04/25/react-19.md b/src/content/blog/2024/04/25/react-19.md index f0d6d26d..4a6782cc 100644 --- a/src/content/blog/2024/04/25/react-19.md +++ b/src/content/blog/2024/04/25/react-19.md @@ -1,5 +1,8 @@ --- title: "React 19 Beta" +author: The React Team +date: 2024/04/25 +description: React 19 Beta is now available on npm! In this post, we'll give an overview of the new features in React 19, and how you can adopt them. --- April 25, 2024 by [The React Team](/community/team) diff --git a/src/pages/[[...markdownPath]].js b/src/pages/[[...markdownPath]].js index 76532361..79f7970a 100644 --- a/src/pages/[[...markdownPath]].js +++ b/src/pages/[[...markdownPath]].js @@ -12,6 +12,7 @@ import sidebarCommunity from '../sidebarCommunity.json'; import sidebarBlog from '../sidebarBlog.json'; import {MDXComponents} from 'components/MDX/MDXComponents'; import compileMDX from 'utils/compileMDX'; +import {generateRssFeed} from '../utils/rss'; export default function Layout({content, toc, meta}) { const parsedContent = useMemo( () => JSON.parse(content, reviveNodeOnClient), @@ -96,6 +97,7 @@ function reviveNodeOnClient(key, val) { // Put MDX output into JSON for client. export async function getStaticProps(context) { + generateRssFeed(); const fs = require('fs'); const rootDir = process.cwd() + '/src/content/'; diff --git a/src/utils/rss.js b/src/utils/rss.js new file mode 100644 index 00000000..c6fb8241 --- /dev/null +++ b/src/utils/rss.js @@ -0,0 +1,82 @@ +/* + * Copyright (c) Facebook, Inc. and its affiliates. + */ +const Feed = require('rss'); +const fs = require('fs'); +const path = require('path'); +const matter = require('gray-matter'); + +const getAllFiles = function (dirPath, arrayOfFiles) { + const files = fs.readdirSync(dirPath); + + arrayOfFiles = arrayOfFiles || []; + + files.forEach(function (file) { + if (fs.statSync(dirPath + '/' + file).isDirectory()) { + arrayOfFiles = getAllFiles(dirPath + '/' + file, arrayOfFiles); + } else { + arrayOfFiles.push(path.join(dirPath, '/', file)); + } + }); + + return arrayOfFiles; +}; + +exports.generateRssFeed = function () { + const feed = new Feed({ + title: 'React Blog', + description: + 'This blog is the official source for the updates from the React team. Anything important, including release notes or deprecation notices, will be posted here first.', + feed_url: 'https://react.dev/rss.xml', + site_url: 'https://react.dev/', + language: 'en', + favicon: 'https://react.dev/favicon.ico', + pubDate: new Date(), + generator: 'react.dev rss module', + }); + + const dirPath = path.join(process.cwd(), 'src/content/blog'); + const filesByOldest = getAllFiles(dirPath); + const files = filesByOldest.reverse(); + + for (const filePath of files) { + const id = filePath.split('/').slice(-1).join(''); + if (id !== 'index.md') { + const content = fs.readFileSync(filePath, 'utf-8'); + const {data} = matter(content); + const slug = filePath.split('/').slice(-4).join('/').replace('.md', ''); + + if (data.title == null || data.title.trim() === '') { + throw new Error( + `${id}: Blog posts must include a title in the metadata, for RSS feeds` + ); + } + if (data.author == null || data.author.trim() === '') { + throw new Error( + `${id}: Blog posts must include an author in the metadata, for RSS feeds` + ); + } + if (data.date == null || data.date.trim() === '') { + throw new Error( + `${id}: Blog posts must include a date in the metadata, for RSS feeds` + ); + } + if (data.description == null || data.description.trim() === '') { + throw new Error( + `${id}: Blog posts must include a description in the metadata, for RSS feeds` + ); + } + + feed.item({ + id, + title: data.title, + author: data.author || '', + date: new Date(data.date), + url: `https://react.dev/blog/${slug}`, + description: data.description, + }); + } + } + + fs.writeFileSync('./public/rss.xml', feed.xml({indent: true})); +}; From bc1020a84df801744f0ae5613817a251d8ac5afd Mon Sep 17 00:00:00 2001 From: Lauren Tan <poteto@users.noreply.github.com> Date: Fri, 26 Apr 2024 15:28:51 -0400 Subject: [PATCH 260/382] Update me --- public/images/team/lauren.jpg | Bin 150227 -> 178981 bytes src/content/community/team.md | 4 ++-- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/public/images/team/lauren.jpg b/public/images/team/lauren.jpg index 1485cf8ff5f410c9920bbbc51e83529f5c411c94..cb08b97254a1fafae8511290e642430b20fc6cab 100644 GIT binary patch literal 178981 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 !BXd}7%g;$HvpAl9<y$<? zo>JlsT6PWe);F(poph0n%$eQFx(zw<k-Ez3Vqo1FC<V}DAaKy5PG%;bw~Ac`Vllmz zn3w`3R&7?uk3bXoVWXZCwZWr>Q{3ks>c&CM9g^AX6^)7A(>66xL(81ri5n62D_@or zAoKx6Vsj}dYSv>33j!-UnjO_vVhdK$O1A_RG&Sak2_(fAz*Z4lganQqQB-*WybyuJ z4i-YyxHw%QxkX_(`#OsYKk3A8wu=YZb@qp_+N;V64m|kVUBFuL*j*1HYkUoG=!|R) zYAj)6Ok5)?L%meBJ`LSDLP)=oip_`!cPmK_l7}co1uc=Vdn$`Dg)jxa9vZU5&=t*n zDvfPcx963XCoK#sNWG5Zg=-wMw5u6vqV`E$)r~f@0Iq4EpnFj(Uutdya)J`6FCjaM ztf-}PyQ-Y-Qxd9|s)|`(MQ6x=romQDZL2f>o>5eX64PrVowSm)ayzWg;G0<(GMwUU zu5{(|NE+Lv)tR;kRL2WgK2+6WbWLLjC1G|sk^Kp^*mNFeRP4uVdnu`oRC;@21@0E& zpuzKA2?RIny9O=XCk$&_z)d7&W(-j@5EA(ylR<6(xDiRChy>bW6gWctL2PC_V{Hbj zKmgi;$wLbpc614ctFo{G?45y%>S0*Mp31o~z&om`Y2b8HPC_O*^Fjy)xm+z%4UV?~ zL@!40XfAeaMecY3SyIQ%yjzSI#ykb(8`XUe#aP?%2(DVbc~n=cit%}7R*kj+3F1A9 zSdFl#IOT25DxIZ{u)5KY)nGf_tz6l;h!uW~GlQPa#YIuyX-QN_T63e@l0$vfFBR1h zQ3$ZoB`uG2rdkVkGQw6G;Rs(%qKlhi!j+|tXmeF0Z7S9jNDfddO|??t)iJh|)DTcU zr0fJZ5Ri&;wlawCV7N&KRdfcV+OTO-QP{dnU=sz-x-HLt>G7+v<#s$H2FypxT-x(` zoW^Gey|`Y_KwyVWXKlbPUHo+A(}?Z{&_7ZU@KG%!+VZ-TsnBqMJd{F<8S;;zU5?s< zl^Jb2R;+6BfLa&FO&kS*$9`zFxxlrSuw$L`x!%P^Y<J48aZFYdWED<9CWWYh6}6lx zWiu+2b!{t9a`WA9uIZWwm1?;MnUl)3{5FEDt7@ul7~-wqDl%Q@D^Pj7yYtPJW@{@< zB&ucw*<Y1*pzr<~;JWh1Pp1-1?!U4YPa~T6P``7KaR466ZXnm++;PgQA<q%GeKpls zK&u2SdW@yGl5aoL(5S7R5QzSQSN{O@W$e4&SR9g9C&RJ29V!-AByRoJNItsS=@DyU z2fBYHRUDnlwX-UQ82r#Em;*-z0VjJ**Y0UHr~#jK5%U5x(hn+yYs!LhO%(${?h-yb zJa$D`B_O6U0v1=b?e|fya~sGiBS30rv_}yjtgWBmq{+!7wSlNKVZr5Yd41jf7l76> z4EnqGAEc1I!>4mFrajsh&NC!Gs-490U13g|<;B#dFUWJAY&OF4M42)k?!cAX)}7_C z$Nfu&!%T7RROM+b$sy;Wcq4X3OJf|BTRkmvmdzv3_e@7E=(fSNnKwC%Y3R@hSQV4J z%QM`16T+^7uqi;53JXjjDgdI0AV8HY{HfIhkDjQW2ME;!5CEVm1rS1jD3n7`LBa?q z5E@HL8&LrY#srN{4`nLGhy}TNjUp;wUT+PAyanrYsOf=l>FVL%(jyDI5L}Hhl)Eu- z7oNQlbYqpMeJY4T(!s(&@bFdPQxdc;k%f(R?x^<RAmKI8RT9upkW>SW-H=x)*voNT zOotqq2;6psyFPbH^4R)(Eb-&G@Hiz(-!V%dWl#%lCOZM>tcM6Ulh5UAWMRDm%UX?K z04D{bx|?`VMSXZz6HDec=q3XCrff_G`m09Ord5Un!Ho!#6=le)5V7v6vU{m&0$h`E z_ff@CNgdIwIeJGw<soucA%a|e)EtC_(MlYKEZRNLEeSWG9*cq)paB5nP{an12-1Wg z7ibWrD4=EpOF`n0ZwcB_MT`Toxvc>!Iw&nvHQxa{8j+z|)kX0u+e5m_#}KZJl8m%4 zE1E*i$0u#7E>6S8DH@y*fVYICrUgSmL0PgA?xkg4MN^O?)e<{}c_C+!6+_)?JdRH* zsmnXuveYBoR#!U8x$aaImWpX6)aWdr1_db_9_k_>;T@@fOd5&}Z6*OTTAi&$2DB9I zjXZF?^b1rve6RQYkoJt?D;~+&j^A~*Ju*Yq!nA2`9oCVJxWI%&ObwzIr(w*_g=UgB zwcMgH<-!YXtCZopa6MOUSe)h><#J_V+-YZ19$#IA$&VlaT@~`V*|K*F?!LvH5OXBI zV!lbLN3&3SE4f~;6?r`IOin4uRkzUUP4z}dU7lgB(4@qd$jQFRqBPP9&i??e$6|xG zofvdtU^=WXrv<wbU)10ho}jEvZ9IabOwLvGD)}2uRXB312I#JV!OfzmAsF4Y$S(R# zC+%u*_Siv&g%uhhq6tBXo;LJK!ht0eRAHj6oxYn?gd4FXES0Y9YqZHXytpnLEw+W< z(b&i0z0W++Sgl4Vo9F6u-bUr_uz!~ji1cV)J3xzesBfb7?~ab<bSux~cIBa`fn2K_ z-BkmCXDQkbvh%tX;*e`iCU_(wIBG0o$#LG+t*|zl7CD*>{{UjPu@uuE<vZXkm>_!3 zy0bCFMtfQqZKwfITB?$_1!|^GbU{_iCfMC+#~>;*JuD!tL5dT;S022ptGQL<H-g}- z<dsod!o{5Ju$8t>ZkIDrbwpOVWx{K>WE=Ndbw<_$zRM&YsmWV4XAj}d`!3wE)9G!d ziawH-LDX3w{3os59tx~A*VeD9(~>!@BCd+(Yd`#xh4S;YZ<&RsgJAbqa~Niu77kAN znrRj3u;TJ@qmR290=Uuah_7UQD`+iXPvr_q(yR_t21W=(MtTJ8AwcR>DTsiSG1c8& z=3i9D+*KgX0k4$-H)}&$3Fx6~eU%i68+?mJ(ns8XWJ?+kMFau;Q3gLH-9S|q!ug%k zgztrsw}o3_0fqNO@Pjt2_@Tg++o(CU_g^uU=2@QZ%inmgn6$vqd9~mkJh&X?iq|hU zuF730W$+5-5x@&Zd(4wK+M$iIwaG~C!D^!(IO4Y|B4K>MEjfOlN3y8MRdh*C;FVaw zbR`5$AQq7V3Lt=}5JYf*Zc!Hmw1B9kQYZzZXb^$|q85Szf(eiio*`~kf~<h@R$ArL z)7!pQh3j<K{ULd6A-5&3W2Z8h3iI^!@a^frb)gm2bF}u*wb6vxTpi?Uj4K&oEJ0gK zQIkX|T9K*3++@li#Oi<rm0o0<8?n7gxUhy=&RAaH=W|LCm5|l@m2@$<9zwmK4uaD+ zap(eLXuzxpv8kwgA{4j|g3zaTOeiQ^sDVVg%9cIRQ3N-Xh00pEV&D=NB1lyiEVVg8 z;;Sx9O0Uds!fRNCDZh0L*U%&`ko0N&kin9`;3~zA#Wv}``ffjkTc(k}R8JpuKS|2L z$5d>4s)Vd?<k3#uuIQSW0oBnnWJpCK+6!7O4^L{4Q#Hw~nLwdI6u}UY5P{lAR)SSK zz7>JrC@g7Kv;{*`waSeQS4LJ~<zru6cvTwN%6p|ma$iMocJF0bJ4q_Q3ayIPpn<Lk zfKO7HuCYk%P*+5BDIT5Po{E<_1!SrvD)%gso~jW<$AyfOXO(=;S=_Mc6}+T!XO&qh zDNB;tg+QVR3dRJj3Baz3rWge6X+2SE3fF~<?1=+F;Tlr}E^(%US6dTIaT}zizZ(WP z8aT4IGPckP<2uO(3mN?(YHTfN-~{cYY<sH8u^MfGGEz}U=7QdfCPp({wU;WMdZ>;j zOm2+v(QxNJT*u{ltf<=NmF4v~wqya*mCpTYIT=mgzL&~;K+T$)h#l9~vWCYwqq_Nj zir5*cyXDK#;;%oNIC(q(KuZxjYSxU#gA+*Tv&B@sPZ8KTS=@h_MQCC5Dl!{V5~?~{ zJHsT{ev+nKUR=f9iph%d%5dzunLBcE1Dn;Om6qci%me}r@UuO%EnF<K?5iWpX&u#x zRaylKEU-~km9R<KT2@vXD@12-<z=G|da92P_D+@P9QvbFv@03NN`m}%(52GT=5u2$ z2ZhOu?L01qC5EilqrKtix8;|PtJZSX07~;d7xYRCm!*@|;Y-Wgyo*B!Wrb@U{JT(B zmq;}2^pLnVDP(B~?)4)6LMtez<Z>3q*5!{M)hR1ls;@YYEl3(fKq~W33h3HH0r*e{ z1MaJk8dfE7L?d`ubqPw`xwDP)Qm{M$&5Q)-v{Mp3)nu-B3yZ6}Ye==&chhTutGeAw ze6r@iYE`#X+x$5FipK!v)~!a4oL62_{CzA$!O$PwDULfLm5&>J(elrFT5)G|MTWzT zS5By4!0e4xjz9M-C-Qg+-bmt!Q$TTcZd-{bXk$_<wiy2aV1FsYWWI@*;yTi@IYrRp z?z$qj#{U3foG|>WnBYPng>e+Og$XL_XzCLUuILrPoVfcG;$Arl!W-<P8rOrxqLs6> z1bpC7F}I~sUnF$8L1y-r+A+9$g;9yXQ%$7ur0h`_%tMbHrIobM(5P>kT}sw9#zDT& zd5;{-80N+Zq5)nTR)3d{SU9!mJX0&OGhExfye}QD&t`%8MHS7s^SM9fDBdHqkGDvk zW3nz5<281h7<0>tOt){8m7@iPn67%oA-58#6}zfbNlLW9D1iv7fTD;XEkytn=z!WA zz7VpG)DXBJMf5_H1p6uqHWho56cC`I4M1v?Q7zhltD*{(dj}vXTIJr+SPO>>*x*M^ z0eNo^M`SNwf;bDw+uOsbiNk4hAqyTmR`|sLxjROvhYHpURmM41v#Q);tZ1XrLJD%; zR1GJp(;&vC0*@%QG78?}cpVXA6NdaN7}^La3|2G&*&5@74XUDnC?JX`6%|f#MZ={j zZ2J@gmRpc*BaQS#l#K>MwVtB0tzg=WYveS>AH6Py9++K5U|PEP@WT-F0DlUxdyXzP zi;*`kAO*e+1}1X)E2!CkZ8TDilGf)eTU14+Vve!3T+KfmU!lLUxug!M-%an;Ya=^Z z+k*lAf%_!L(=goHbYX8{EpJOn!=1`xS!;(shjCvSEvA*j$?*H)CDA>^1?=T%q83Ra zX<@QfF}Z8QOBDF-sTynSpdgM)^?5L{@fH@2ok(7PKTmXiwqFWkO!Pg%pGvKg2NF6E ztsI0yD3l_qA}AuGLe%Y5qR>!Y*L<c`CTqS>TGuN8E()d*?yX@|Uk3|I2MZ${w8rig zh`E7S)|8Qzdlf-oPD+3x8}Onjda2D?9u-9umPL+LwotLk+bSeum1dBu<}|WC%EO@^ zRd!R9g+)YAOpKj@JZ=1-#baB!)X(gS(TN$E;<_&W91LSXV6T<W!Hh=Ui>m{JRZCjf zKyN&v*&FPs-Uqsc*U(a|t=>J<a4R7;I?+h?klHV=xkYR*Jvd9|EMKT&IP)4$-A~mu ztUIJ>KLur4ogoeARc?Bvvc2B{0`&xy+^;>aaQ3_o>$fAoZQZU$w%f+v^0L&9Hb`rU zKI`T_H;-<j;yPOTQFi!Cm(F}?&SRHv3(w}Cjtum0+Cs$-(zVJq<54RfDctH_$AN1; zpp!6i3T}^6EL$yDgvND>U0h;(vch<!$b*2o7*boPsal3H(Rf(RvFm<VERcngc2Ttz zRD#8YSXRbtQB}B6RxlK-iOC9$D6IubwxnaNshU(&X`q56Bnkp7Idrj}HZFH{uOEQg zQnkz2=uD_u_2^<7m<Z)@bPx_0C$L>CNxeaf$=km!gGithaP<U02We7oOOLYR+Pdee z5;%qw%~j5Q1r(TEm;KhDJ1p3OnPa-qyVxqKGWn69E7|^7<z$$jJ-6<)I8fn0EPJJp zgweBibzH5dbwpPqwy>-b`lhw7E={o&lNXyRjRbJ3a<uXlMwN`!QX6eAH>y77A$lB} zV|uSOn0HR)(lDwsO<FUk>2E5k0g1Bh+GG3hx^wiuA6PK4*G_QzaFy`w7RQnIMedN+ z+Cj!myp^XWS;UNEoZ-{i9}4>MrkTRL$vXSenR0D`+xh{@>S*}!!-ErA-mTs6uQ3_` z712Q3>1y#CJ-=d^khk4*#8kpUaOGfzx+oz)8sOyLVv)=vfQ=efDgF^?*f>?$9Cu6~ zeU%W|7Lc|6>d`AU^TGmVccl<m>J)mQ_igADE^g&qvNQu^AZ%$H>LetZQr1Z7JS2zw zyS1B8n(?G-UCz`V6Ih#eRPXjSyhf<~&Uqzztxe~9z&}#)`n##yLd0o`9$uPLx#6lp zo(Av9X!%=Z(wV+Sp57~PTz8Ur6uO$MwHsl-rE*`uQ<bG0l9#%GqPD;&qMcPhQK-;F zaDhoE0q&TE6$7Gy$`XPCQrSfSP(sw9Hsu3?0o6beN=hOi6j4AxR>13URRXQYAIu9i zzFxn>jU)~!di(}b^1dAw1ut2PzzfUU-NUDj0^b`}9ALT-mC4b3V#2;Qs^bdQtwvW; zl%o?Zp=mGy0;54d;3!=|5KuMTAXbz~QounJsBQ?7t0=HblBf!Ul^TdjtdP;ylw^=F zd!vnxWp?@b9?LC`G!LBj4P8t~BggCsRIrA99TkQ5(HXz3Zj_z}37IGyEMi0%ArJK$ zA1iXR=;*cA(K|`L7C2-N7Sf(cOl;q2rZ)n3wAnHS#>4JbNb_Ko;jDi&tJU*hW*9D! zqMkdgO3j$<M`51nSV1Jx=f$sJev8a(jdAu42x4mZlSX$+#=81<O=Z4v09j_D-WELF zR~gv?7D&_3@S1$E8Y-zZVH^vVJdinSsapJ|_EbIL=aq)zjhli9bK&6pEV$C0rIHU& zU76cWAQjEX$F>(Yhj*nLAt^~d$sv?D?RQmTy2Xebh$$^V<w&y84oZtu7PO;DSS>I# zjVxeSHNj>MD!^45qgrC6lO1Y_Sy84gR)$x)&cR(3%mq<<Qzc+2sG<?!QA<%Aa;bPx zS!QbH&i%a?PHu&B@&M<Bf;rL~D=XHCMHQXJMwOJiQ7RxIydt1VT&W?!C!*bm&;|bh zQpX*BR=69{{fGBiYh5@A0c?%otS)na9^|hxsra8y(qblQKzQs|&-Kso4^hvN@n8Vf z`-ReTTrGWjJ72)UX);Q}NBrS=Eo1yl!+@4S9`CWW^3w)pV~g^qt=&O-w+|mriy${4 z&2=70E2QDd`DA*`pYbARw3b3!`CNRD80xuh{!wuJq|~xBXfexT@|@y7WOV-k(dOf{ zLPKS)iuy)B($xpWTFh?xi;u}r_{Up6_o`-Kza7N50<f6FtR55A9`)SA{{RtnD2CZ> z!|c1dcletV>6tKyhq)`~nHa&n2w5K&&8g`L-F?$e@g^3bUQD6H{HwJIgwPg_N5c3n zHhxx}F8ChqJ6iVo2aQflU#H9Zk9CW~uRceiVLM*i;@5-mnIEkj@k`kLs5|L(hc6f7 zY7;TbJ~@@ICEi|hCD$6s1GdVvN^OB=Xr}_bv*YKqKZe?DfpCNgxQZ|41Vs#5BXMmw zd#s@PO4Pw{5~W#PS=wfROI?D-_HSa_fpcP*+sWZ$a4nI+Mwm~eqT#qJByS~F-Z(0< zs_UwO83!mTi(^bxEW7HiX|STjjW*R->Y1D*lhUG%Sz57<(gm!e)Y}U94XoCq-1vBt zfDNr|f0viXb;<D5j`F;#U2M2r1xo8)UY+@N+77|WX+3OJ;>aY%4j#$(0MfYD)kkG6 zMF!Guma6AFh#zGX@C~smKtK;bM07=FeLEp(bA=GIH=LDonot<sO-kWslAVBUNaTpe zpHu=^S{ollR$Ggt4Ib+DG=a*{hLtbt!nN*b>D5r~5;Du0NsRKm+^2NqceMx9ZeD$- zbj5aaSpEeor)d5V^X}5Cm*@p*k`i=6e(PM1rN4VGbWS9DD&H-2Ylq=zGPK<|TCB(j zCDgR$=W24r<PaTY_Rtrh#`Hqg6LioQo5_kfb8*@l4(SIA)ri{eysdJS8XkHS%yWkp zRm_Q;5LJz14;A@aMNE`~%CWN#Wd2lO5R^vV%7$*&dm`2Y(N(aIq^TRcuc+D!8xV0! zVJ%fUZtX;5`h8rKP;_MRwN_vtau$YUu=Nz9r)fk`aol<mv%VeuKf39)?JVY&P~K17 z27e{ZhlehHsyvJb$WJGQ*2p1@;c>iF{{SyZcQjP1A2Zfxb7gT0%jY=BHzj%vQQOJ2 z=Oy(_q*`XXYb|Keq4Q^Rk6~*pyb4?N{{ZCTx=w{!k(*F{{D)U76N<U^=Q-ahl0~Z` zT2P`k5DQEQ7NyrkIv}(l2)L=p2~-f30)ZYq)eCfmrXV3m2yjYNAxl7|My3_rLV#Kb zB9Q?^Qn;XvTCoMWWeZ*(1T0qhdv6Sei0rRTjn#RN4*ei6Q;OB(?e5{!#tVD_W5jQy z6~7+4tVc$MiUD04Rcz|6U{#ZVjUo|R3Wx~OG=M1dN>>#^q$Ltk6j(NqP0A^)L`x)r zqJl@s?5k^R+ltFre0CQ*bNVfTz;M-_jst|IVBQvWajZxJQ#c<{rG?Xh-D1tvaq(JR zJiBRFmdNZoCWY8kX6HmP++8bLN4tXg=DXv_qqy*0xcjdum#*rXfF;rvx8Sa`isO8- z^qh|!W9i$Yz2tivUVByl01>h>V{>6)X#1}Y%y}nqwwIIMmdG^n@&ma0t@^oNC3Io& zUZTr;W`FLJCtcLF2wcZWFX6>qg`?@u$c>pfE@=L$UY=~f3uyu-Hb+VC>06vR``vk6 zFH_VZxZL?j`6X!nEvuQXIUdpZUD-9i3%#Y#M)32~cMBQu9+M30FO9M{<;m#Z`Z>~S z+O9l}nbW+H*=l!>^(Fuw&OYl7yRT{aGc@D1t#7reaOS|xCMy=R>Q3I1PX7QA97q`} z)#?5u#mtY<C=T`{FPLR$QBibP!soveHwcGg$Xod<H<wx4?s4R`>?d`kd25(xuajw> zEzQGoS(CW8+^=h-c$*tGFgK0f*UI5}vD#T(JebR0xN-JHvhEdV8APL!v+^IpO1Raz zGgS<6Jp!?=Ta}f;Gg58`qAH=Ic~-ZMs-P9EMLmSgC;*wQP+J4m*hQ{;1vzxF`XJL9 z)W)hI0cl}c7B#BC(2E+JF%d(W6;Eo?_NtuT7FC93u5L(OOn|xhEm>+uDt6MtAzQLm z2|)@fvgAi8Rg9n!5h>$@;iQe-k&T7mxYY$$MmlKRcpl|>pB8w*m<)bCF%N%E4@F;# zyhJf$b~Y(H{lfW{UQ_0s&XwiPJ=b1%*PFj4He_YZn>m{{XKlWOraH4R+qV&|KO`<} z8}f1^h#nl^59g}%elqaxHie52jr*SFwa4?-dL)tLz1Ie9M<M(d*V$DFbg~h4<Lp%( zUcE<zaBwmv56Z}n5;^q}w<fV`&*bAf9#Y9Zua$nAlP)ep9LEqWUn`~K5dqa4ahx35 z9EHcdtg*t)YFE{?YzVb|Ig_~Aa>tqBgXX)*27-U^mnhGP`ga}MLE(F;Vhv#-yq|Eh zjmr5Jp`}lZTpkY}3y?<NskQfCS=O-Qng>5<{g=<PaM;-%NT7Nst|r)|u|n2K1E7>X zGejQB>ERJLxvnY*#Er6SrAY5-nyik2tu{yto8oyNKEiIoqXuW=x~qgWT%jj4x${3= zt^9IJxFD*^u!|(B$3^ImC0!Y~%`2k;&>Qwt<G5`j;ads*T`H36A>fd<V)~<SS!ERU zrwsO4s~dF5-3C({dN`)l8?zv|3JxlVA1-D(x)ssXV-w*=D?-aoRHJ}ZE(<}YLtVnp z*;!JN+_fTdl9gl!RcjSVfkj?}#f2k0B03cmB5<l#VgM!<cqM1rK~^%u+sca`uTPWo z*$|eV9KC+188(zEw-IZ?>8>*DC!LGd$swN_0K@c;RWCPD+m*Ug-4rFSTfja`k5!Pz zwiXfHYK+?hdoC5!@r!3gL2b$v?KQ&A+cG=hWmo(q-9bj1Mb)sN%Z}@rYJ0r}QHs&# zJMOeN4u}vuZBoHZ=71GNq%f6W=f9k_pb|wak+_-N@K(WI>q4h8g_5ayx_1iUW|7{W zipb{W>XK6&xX_z<T}@NyE1Ls(U0GQ_(7Ozd{5<lw`8-Cw7CS4$l9II+y-6);<dt6U zSM?wET0c)2;5e6icS+?wHkWyB_PXwlM8Sv7)gy4}8%e*L>b)ZYptyb>aGxe=V;07< zX>jRx$OU%6b9p@$`AW1G4yrOoD#W05P9D?EkKJrIk;kfS#EuHDdrxqnb5BGTwa48t z+Tf~dfkd8AKbAJvbz9;gSU4661^bmnW)runS29k?jFrWxBq$U)><4m<m)1I_l0xbQ zp)2-=^!%WvNgX7cd8Ow60K^H)F&M_Ww>FomfUuA&mEwGHGbPS!MZkt0mZezm`kR{` z87Jy+;d%CQ>s_6GVYo&+aJc;foRu7R6|M4yz!*EMaoIf;vLZ!Ka11LjHd9FC7#89o zL?PWm6=e|u(4^HtPzgh7l%=2qS3;MfYf6F(MMWu8LV}7SiE329rRstyK~1S_q6sMx zK>-D9#90~^>;?<6vs>ru*7$A9*Wv}_d^bzjVUSw9oxQw#bnyXo4vVJ?S3d|YjB5_7 z+SO|UNW!(K%Ep99KorWrw2C1bR3bvGdPN0ENlrqnqfn(IoSdcFqe_TMTs_p1fa<eL zC}`w`mZI0q#|s`#Y<TgLBdhLLA6eI+!E3!hpKD(})_hHsn)e3CTGi8@HP62+k6EvH z&MbDhkn-<>ye6Zq=4uiW`5YVVYo7hmxVhw$@>RI88RP;my%U)u$Jch%nDH4MXP=eY z!^I9|x`0oMgxFX&Rs5}Zv6)>_1Gns_vd&M5<YLD6mWl(q^LcutlI1wWOImtSUF~_N z7Yw(huNrNxJgvt&anjS{$<%WTW0lwUS+$rZ#m#&ZJ<cunD$OT3*mJr@j%jApvYnTj z>7U7R)1KO<HkUTTjeXXgFBkQhO^cJt%^7hd4g&NZ8O3{Ke6X|3A-7|))QPT6uZHbE zP?H?<w5<5@IvJYw5;^Qvy;4`@=gA}Nxb<0`7;i-}sb4|RTKw!5$SuaXS|`DKPpzDN zlK%jP2hM}aaJp*uGT_HFbXWlko#o$}`PQSQ#Um}PrNe#>Mk9=nJ<YFW@AWJ%CFQlk z;^bpIak9bVqT|!Q6;6TTd14|Av+OLdWsNj*MY)7KcTQJ>)HJxuH?W<}=D=F~F{!&5 z!yac7$5Obx5?8ljba&h<7;RSw^P>f)g?usX;Hwy>YOz4Tjdoj%#12lxp{d#xRqagB zg932Upk@JUZaT!pt_wz_bRr8(Z5>u<7Pv*CG)5J`aI0XTt&fnaD%{mXqPi_^94aJg z&1yOGi?z?lX`;Gw1%_tzwTDRKWjAfw=F7?UU7WUB<x10i5t`3R&7Ud5M_{ZBrrNkF z4KH|OdM;0j^<k#t`7k==c<j5fxtLmfxeu!X#jlv<WWP|<-z<){2O0~fG0ybo=VD|& zH%}v6;_EkE7nPK4bHVBg`k-SnH2ES71lJ4Z+P*8X^5kh1%Jg#bcXf^;_B=U;-F6Dm zsAptmxu$ts^3WT}wL@B3k-+;cID=YU@UO&Sl2F?t<fUiXYsF=|a1@%ks_Fh|GFh$= z>e3deSgM!MI0+1U@9=4d&T;G))g0Dx*9GAJ0K#2A$-t6g2(x0xRqkeZ9QI1rE<Upx zMmvL7gw`;h6c2d|+vm-_#iye3UM9){2S(M#*QRm!`TX09oI3K86~(e`JcYL=63|?+ zv<=o1S@m?`iH_{D>aaDfvC7em{wY(cHNqloB3bz37OH{jt_>#bR_4=6?<>nqh6Alz z5!&Jwd{<XRY$n`MA!j3UY%~1Cvky{8$z#C^E2Es<tZRq3T})Hw>DxzTgCT|ZVasQR zqz-Y3{lQVu$#bd1Dvt$f&5O&*aQQ1Vtx_{lv{iC8ie@<(M+;1-Q56+MkscFtRkW)| zA!SgbA12U2o|2<aLE-bc#ixbo^w+tP7CV*^!Cp5=l(uj|UegL@7#qmkNM3&3d3J<X z18bT|3$~KS_F7@|z&(``FgO>ts`EO<hKp<};sBQ**Y0X86i+HNfLC=1J4zuEM$&?u zd)`&=G*vk1<Z=daNh80M@3Mu~5@Z4~$+ckTVskV2wWy0V(Pq=WrxLXisHRqhmm|{B zw7jf2ZWMW4IgWM2)SqUpXNjdgY276zhyc~mh)k1o7p0K-eiwhs7nq-yv*fQ;of&V0 zfjnDCSC+bZ&pCi@2lA(yOlF^9QUEdZS*QL?FCoXFS6rPR3diN?ZLT*t&MUYJTHAQz z<#Y5F25In$?Q5eb20AOGLhXsyL?6l@rfa^EQicQYfMExMe|19~VmqbsUOm;UbBFbQ z>iFkxM+C%Urvz=sy5G7db!bQ+VLTMUj6LmbbwkW2u?1~7?WJGoeo$xgC~_2R%_E|^ zOncxY{W(1XBDcvI=aiF5(-7q}xJLVg9f%7+L0oRAWN<vSw!Uwz<^H2nmFJc8x!T-Z zIbL}Mq%W1o-Pv-y^s=*Bk29@2yD7zCCfc=X&ug+xEWmKJ5{v~jy%lWh!jn3ODvAn# z&_NZZQ4(k%5qhW$w<b}eXi8jy5|+@SQvj#{T7jsA5JfEleh>&EJAn!zRDe<UL<B+w z03{0ukd~1JDk=mMvfYWpI;<=l^0mP0;4D{8Uc<vhdkj8{#`s}-JW<hkdV6?v@fSul z&BZID5F9RUjZERH#wy1|>_KP=kZNT_3Iz}fppdI@RuqmzR6<9!SmmBcHlt9I-rfr5 zWaLW=2o_ei&OO4%kt<6{D=v}eH9r&NViG)oUnP01Q^mPcu!zRrvh<qBh3$2;6ZT$H zD*^Ho<*)_5am&4V%-pH+oLw`I?y|M6bGQWl7o&cOOfQ(U4{KQqVThKownFqvBh7fO zVTs^-F0PW+V}m1_EmYVfnDE{{%WQa3Y^2g~zZH+pnz{w*wCp&cikdn1UVluD&`IhP zy)FdJaihYEmC5mT7X3Nz9hc4=32|?GUuM*C8<~M5b!7BkCe?9WiJJB}RXKF!$F^AQ zqR2ta1?!=U408&3ud=@rK%X}tMT;W_?uEryHVClHjV@^b`!4r|vW}mRD3EmyZz(k| z4(b{_Vr-YO&9CVzp6r6=(BjpU$jduP$$1^zPz<(muMJ=aapfaHmQfP{B%aDOBj}&u zRy{;yrSumvg7f|az-AVcxx$I}UFmXS1DA{Ysa<*ExjL*3c(uUGXlbMFyLyInX4=|6 zWx>jk?|rqFyxmu~$Hh#jSa9qCYs}{1$r1CT^pICleC&V>VTAlrM!H$zEs{F?E^kk( zx8Uti%@~6q+n245Axq_O=DSPG4=o@ssQ7+w*I_nKfUI%u9J6mlS!oM%qg1_s4i?;I zv$PVdV4|I|gu*b5Eri+REB0`!g^OcZz*3Q%H)&VI5=z6_S&l1$vgsRPD}FH)u*B7~ z9axpEoP~UC;a3n^m^kRP<y97}^0jW-v&z*e&2wd9!!uV-VZy;PYp)BNymIoGxl^;$ zyK^$vK6rWPP-0^_wW=I)_fbM9`R9ew#)vQ%4rnb#9xMDp%sBY%#bc<O4gq*37UT7G zlD)5rv^@P|SuTWn6-@93L%EcT`>v9+k<8F@ATBI>hd$+UymO>R=M0Qj2U+9}SFy+N zJD~Lk^0$u*hcGr%xP6xWnY>5Ce5W*efk;@s;gjH830QZ4->_V_{{V&f(gN&v5&r;) ztL))?Z<J%cHZ<-Qv_m6J(4f7(U-)a5&!NpfWr%nSG;j(1mDK+LI`Xne2;-HfMAN0z z^CM$hZN68ihrlxje>v_0?7dEhq+@8!0gVoSxe9wM@$1m&cyZ}^TyYK#-csdeF|2U0 z`>d1Zxz-JUdMpyK$^B#Ox!&FQ@RL6&vNVPsSDDX+@@_J6yRydKm&(OF4v^C4uJep} ze2j8hTT2UYYWOSGzX+4`+N|l$>$ijOwJV+F=3|7g@CvU`VK5SXm#&XUX>HdlpR4Jm zn9nsry_Tm=Jx7RCO0~${rj}`f^iPi`QC2&Ea=IbvD>FEH)e!2m=M}iwDS8V`{vPBi z+M>FUOXgvgrPHN!8O$M9q_=!?H`pN?w&Vfa6`I^`)|wkEZ~p*L<#Xj>+iR(*v&_bY z>jRifKVXooO*>qza1LhS%B1ntJ1j8!EikPF=DpH1Du}I!@TyM2vZpA=$wIhBGet#p zygLt@s5Pgd3({l%0K(;ly!uxU!jyB`S6)Z?`Hx`g!%L5DyuF4joAFg}AE~bQS+sdh z(8nH&RHJNx!=m!nXrgP4+;sO&#~M#NcQGUm2h#4LMvUYnu^MudBmAPI35m-O-B?KT zDK0x{zQ_@|{BWpqSJhXTe7tfBur!x+D=w`4xXuc}mrEtV$F-HE&E;38fXs4fSY2fX zd5Y&|I+#~VM$+VJE~VFpI^)WBOs!&|b0X3L=*&|f{%n8v!uB2@8$2k`7n6#gkl(mo z%fz4$4E_R={;i*mz_zt!)PMPMJ^1-r`RJ&~XPqo@^|ysw-j4;MI2g}ng`xb8i6H`% zm5$$G#=h&bAk@Gl*zffw{$S^Vfs_Fa$Nea8Kj}ZRA^k{)I1Z>bP)DgjBRVP{d%e)} zpVO2#F*{3r!XQT>JyVAz4F{q?!Vgpy$m{A>Y02oqt}QO%XOWI$`9aU|Eaoi^R+CR( zHOY8xJdY-guXW>jc49HTo)^z`SB7E`I*_qik1>#UO5%OWjsE~Fl9k+&Q0HweM5o24 zNUO?l^C@45-W*m*jmYI^(5fgDTVTK-iX)Dw1CI#+Oj4jKB~er|RS81TQ4zv{8&Cig zMMMZ(hV<pA7K8v42|%==MN|@_LW%?hYQ`K|%0krv;0225%hz~d5(g{UVjn<WFT$=~ z(-eAFlef2zj=mz@3zt6_5Y@jOVbQgY6s=;SHFFde0-dJP028n(7z992A{7#qZfdwG zx8V$Aa8ykdt*?zz=9(grV}q9i?3Oy04>j3VS_!4>rN;*NT->ZXv$bW?JaeOP=0aSu zWXj0fKrcg^jO#6mF>46YB#_(Me`RG{k25TD<k`Av&UD?jdX?-Sq?WdWYw)tkf=3j! zI%fFZdIouYTDL&<P$UJl+Hv+#nrq1b1;1uJaExOg$O}|Z5z7f$@br>a*5PdE71fe4 z#VpYP9c6j{02AoLHHKJQ>lR20)w(wmL7&+(arfBU)oOIdUO8VQ8cv}ZC(9rOZY%R} z-@T2KbA5qdUxyMVF~QKa);qOZ29Kw`w=7M+fVJ-9{!#LL{bN_uVe)2aECRV{Sn;%c z=>@YH=j_$?)@YhLMY;e7$XoGobjW}Z;<SLC?Ee6qd}9y7dX``R0MopF3iMtd@GJ4B z6J)fVy(}-L86a<_EOs~Sm@($PAO)M-r#?439|}_#iaKjRuVr&|M!0`6$v(w&W7^)- ztn)){V)b38GC6I~ahfdcC2507#$!qHnttJHXS=zyTR1PE1uRCk$29nV5=n#1O&^3` z;cQ0>YXJK$$e=Aeat5=K7O{)hPcfh1d_1`KZ5FlYxB~(=Leax$F0=9p1T?A|4&r^( z#(!#=+g+AdHExt{3ptD7XpG^9va&eH>aLCgPb)x$8dnG&%R>dFWOS`yS!xmOMmDD{ zQK4nHz7n;>7Fb0skn*fc8?otYj4UxfYTu4+b&o$t?sy8RK&7CL>W7WjX<~C+`C1kn zhFa;&&Z`{k;I38a<;-(Jrbxl;tZ;Xjt=JsSi3d1D3;7FlAbDLCZjP1s^{|RoMmnlt zX@%w68~3Gja|iO^0<(^UDkKq(mZ~b9^#1@!3pBGgZ5jnvkX{LJHUj5l%<bIprnk&( znnKZcVFu<jdRj<WW6Itr{{VCYXxJ)FoAq=CVI63y&P${uGXDT|ke)iL@ZQkdG_SH= zRm<l01yCUK4UktwlEmP509B2a7K-B5btK0j_=lsKPsj?hrAx_aE4ta^?gB|NV;lgo zy5N5cecPH(;WKp8+*jRo<(;SLStXq8MEziw1~&Fo$pc8`zp~W#mv=#}+=7g3aPG?% zxrOFpyf@gc)Di9Ms?LlSy`*(%Ryp+_6U<?cA<Qc?+ihKM5#yLON4KCWmf`6u*UkKR z`;1^y_*!CAJZ&pXVxlE<am5b$%8ECVZ4^e$3E{HJ4|b)Q!MTOqttONRo!=m*$fvxK z!iycb_Q|8gFbkI(w?^Ucy4o?1CrbT0&(URZ1NKPf`w|pY61KXeiNk3HXq*GhEYuc| zs1lf^?u>~=f{;Wat?YnNlv;pUSnhaC?bHA~+n1oshso8X*~PhejRC}EhqtI9dWoIp z<u*WUmkV5bb>-E^CL-7NE1@I9m<Z<9S)*^1+9={U7VUAWUTW<cTIv8ERdTYN9K?A& zigu0Btf)2Hm^n)@I|@dF9E2W;=WyCWDWNwKSnRx}#{U2$aF#PtI?+~*!|83VR<I;} zHN&dvwo2}~dYtjQDWTn*wGpcwp}5Qy&2p=kgKbuWO#mv1<;aR;<-D3)O-<gHF1+vR zEpas`h0~Wh=ChJkmi-o}ja|{Jbs_Lud5t}-de0PsJU!1s#pZOTZpvrfdT$t=z8z=& z3R&j<wSGIT?uILT%}yrq=o^ZSHFrt$L+0n?NC2i(WA3`gC!vH>dLZ-9377~JmR9uI zS4IGJ+s`SIhPaMMKPiwZh>(>P3sq&LD^NSVkrkWwNK5_I)qO%!L!yeS%#pp+Ge|wv zhL2?nK?o8&xra~?eDX-~XZt1%1ENZzN)IvPOrJH)gpOFgf37*rjiT4A@h(7@QFRsL zyh8hUXG$wETy+RV26DPG(G@ZW5_*M!#>qbGT+XOKSk;9969gKIR+u|N4=KAU$^|L~ z6jVhKN`QcYY9Lp25I_`AloSyaIv{OL1qA>q7X?JHrwIx>N&;vl34=-Mr$iB75n0N* z6`I#CUEx*jaMy|Op<dq)qVjh4aq-lE&|9%h^jzp@*Hyn8)7fFsx;F)IDu~<<WouL- z_5|Tp(o?jetN{=ZX-v|Jc7(tn#MY=%)C@rORsf#D4F3S83Yl=4<+-X5iM7dgoe;WU zB~|(+52z2>b==iNjNQ=|TI1y6u=Hx>%YxEL4gSm1z93d<F`MkBH?KANAWubWFxh<< zVB&-ZAof;Kk{oac0c(d9hw1@X$V*d(A9cA|u^EE^>Kd3~Mg1%Y07piY?cUynT~E*$ zQ9FuC-93V92hy$u^}+{!-l?gSxw>l$8XNAf$H8n(^tXjm-uf18Lo~8_T4*P<F>Bcb zL>D{zC6_16J7NNoY+&X`l9Tlj#wb;+-kOndWQXf5A7qUzXVh(ApHSz8L$X}q)lX*q zYpLe7{5942QM0l>IJL=ar?FSZx%`ziZ!VLv#Q+Jl8!2$^vqJ-}`mON5JFUv+aUo%F zwQCqv@WvVy(Zg#@Gl*J3Q;a&&-XT!O!XpDCuAvgusKym#sx=u=YPrk_HmtfxS2;!? zh*@tMVGCR#VTsFZ1!^%{V*$%%Ge}sWD_l=qW6#q;RlF-$+ZL6<Y06d^!o?_EDVnj& zz`0kaisj0|xR4Z#a6-OTs+cIOx?&hX<w)V$v^A-=_FIm1nZPXa#no<fU@BbA%CO~3 z!9-H#<iOWo3%vM;JS>vq-Oy6UPHW7|j`osRR(DG@TpKIDCO+PwWSbSPJr_K5ojLL5 zSf_t<(c}vv(@lmA?F$>R-owSLw%#S@hbHs6>bby3-*p7e9Jmspk<}A?s^2>2w<P;1 z=D77y8%*CSm&mi*k3x$<a;%-UR>&B$#>KlGsLIC1sK}3U+}7As&d*6IviU!c@jRT? z$z8gyD%O`Tq<@Gwf=o{~xeZ@8iObW){CPaFo?6_U&Zty#Z*f()`YCpgH388AiTYBN zQL9gJZ2tg)i|m&ll~yyhg5`T09>-dZH)vCccV9xN&0_{Zb9xm{5iQ&;TJKZ2P*})D zMmY@Xxxutt2<TSqDgOXZIo<T%?y}GRYupC}s}iViOWiq2t0<#Xq!CuLq5&505Cuhb zd_N$MB$sp{dN|*=Ev)O%uQQ~z+g&IY8oM}o22DaQvg6!z<?EebH1;5MO!kQ6y5NO; ztZVSv;nsqoj}k^f>Ns9n?X3+Wud;R!(@QK)vRiyDA+*jvb%j@xPIZNwadD&7YTI3U zs*6CJ01`B4w?@uN5qji2tMeKg4Y#VR9SogiSd(uX#$og(DJ3P%*hmGWyFsaKz=%KH z-KjK4gNz1Y^adlO1tg_J8l;pKDFI1E-*?}(Js)=*_j6z8b)LVobOX-RmL^m&0E!jz zdRZOPBx7}*rMb-B*ZX2r7a8wW4tuBVf~xx1X<oc$3*q5VON7SODWTSi;TJvs+@rGs z_a<@~tNpTk)>Ka>tM~#X%w88%Ctq?%;ir%4m9wtW$4PmTK@ncx@Bm<j$+r!G=Y8f; zNu3#m$R2UV^<epxC-QyEa)!0%V`SOySE0lq&Cx5^4^$#$J}!Kw-^Erd1o+N-B<v=6 zw0}oY=->X;<MTGCtHix#A#PA2Z`)ZH8VsQ}O?b5}QSzSsvh#65kxH4LFoB>ksA%TQ zgo2H%o4Lb9IR~xlCX9*;fD=+;rp4Q4x$~Laiaez&J)WUsV&-Nrfk~wXfDArYQDP1z zC1lP>jZQ}ly6;tqv%<B9xwVPK%lmX0>o-!WeE#EAyBA-r<c@E&@wqQ3SDNt^nyx*$ z#Xt@Lf2q=eL8Y!DAs^$&_{5?5vB~O|#&IetbU7#$BXuAENDm{Arx&D=t6ew&32WnP zDTcR_>hSmH!OT{YP*(*8ey0EU%uOh6wfyjDWWZ+Yn3rKKATcV*6lx1+@PJC<tcM1l zTYr1_!x}oMHP?%K%oQr1@#--<n@`7JQ-Aw#SNjG{S%cj)E9zKP#I3m;vFNTVA^3%? z8__04pX_7O%1aTgF(9JOOEIWCK!-Oe+Ulw@yw)L9(E--P%}oHtCH_YM$#*6u<k&LW z|Dx>(6}Eq|TeT^q>GO3Dc8?D8!{KDP|3gu!X|?PXCx%1*lYjl&9`_W`aJSH<=+K+Z zq-*56EYn{Z<V!HOXEAMIG7<hig4){7rTgulhmeY=8CSes!ah1}Xdyq@ICpx$_i$`Q zQkO>t-5+7I+t?M$=Z>)tef9!;&lRbUTZht#!h{V+&pLQYeppI>1L<*HBSs$&_JKq8 z+}W=5eHf~xYX#DuFccy37ac3SHPmuzNYoC3jB4vX0nsx!dCZu(mu7Ih5maq(n$z41 z3T{)4GWYaQO<tqmIAWy+scX0<Z#>NXqB;OLP{!+SFDo3J=VD`AZpo!Z8kMfH;n{}m z6O00MR<nMMS`V_@2ParmEOy;KU0-y)9~!1OY?X{kXLMO_6<?^YH&bH|)ZHgw*z{6P zIqrZm_uH>IPRiGlMRkkX1Ur_TrB57=N@+(QH;+>WSviY4WyP*IHuycJ9x&e^GI0Eo z%~x_xxZ=!$8ha@XS7Htqsn}K=K^*AjckjI{rW#{@$)r7WmN$ND!VsN_a_73Wut+<@ zWw35NvUlKfi&4ZoNyQWKLjR>KH`E?3BgB`GJIgePGn?X|Z?+$~ZDf01J@&OyG9r4& z0cZCow}EkAe^9oyG0k0ilob{ZjsN!XS7^n9Z+nI2-ZQQHF&~A}elwxv0||Kr*y7Cu z2kUWBX>t5%i?%!@l8m)juAmiQ^KPQqp7H0p$*kw1%6nE{G|GBQjKyI*F^%O2ZC6f4 zAs%ksWGYp|<gO38z-I?4i5P0VEoYT`IVt%VqBPIee6I)71d+Tm(1IF;W6q})-8dX? z_&bsyd7MJ`#ZBia-6s5krKw+!Z7Xsqm6SI1q<Tc?_Lx7E&>DHfqvsMsM&gpTDOHRJ zYA-gK+h1AVPlp=>*Guz<Y;v(V7iw6@btDju@u0Zn9Na!{A5>EM^{_nCP1y~3(8R<< z^|tszj$t|A*h@a$=b%g0dPSh%MB#b7<{ctb+O1Db#lE;u@R9AL#GGky!CDoxt5&+5 zyYrbJ?!F6=o>l2?0K4$%PauEdAX$0@=UH|UKe4y$R+J>T4g4QL_j5&25%59K^BqMA z3PrQdUsrSY7TA^=57Tcq)<vXZW6U$qIi`Y_KiX(O9zgt5ad;jY_n&buoAlz<pz0d` zD)}D)UyVSA7^(N!AKwnvyWUR!E^`rBaZN?qeY4B2Pw!{dc9?sIA5P0tcqsUde-8d2 z92L|v;oKd2s)ms+>R7M6Q52K^SQ;5~c%n_fKSp*+KV-R;GvELEe*~FDSI>zS)lS<P z+Ybm(UuNE8A5uDa!Cw5fdgbsnTn<(K#pi8RG*)OeoPwi6Fh_AqFL66HLzKOKUBP}M zXybKT-lM-07kzxms#*o%$PkFpu4H0DQ>JO&D^XwQhx)!_lJ6w}CMd*d7&K~)9m9GB zT@My(;DJtcfi;xd2PJ|v#x8YrNsLGs9BF{uG2k*FO>z{EYv{Fpzi5^&&9Pfs8WG0q z?jSz{m1j;PWA#uikxNltpEi4&u3NKp9%j_^b)trS0}vE*<<IS|Q3M;6LeMV40N>=* zV+=rC!rmIS-}Pp>AoAZ{7y=fRO-DyHbbE6EQ|@`qXLW?-;rdEdAsHYJ!1e7bUHm2W z{CqCTr$dzyOa}62l3L|4#WyTmA?+)<m#|0%58!@<>gR`?ugPcHz6oYaK$+=b_~L2~ zYKqk;bc_=wA8jruP&eQbpt51;PQXqt{`wp_&98ualaCE>vCluy);`F+QFFDTgXZ4b z7<aIVM5iylh)a)mKUXqK6{gTv0@<T)Rhp&K<Kasxv<fWr7a<4j?N7dzKj!5e{z7<M z??4cQEMk%e)H@Id0-;b&;!C7$a(8?<ClnU41#@<=3_#i>ZdtJ@fnZ|s^?EuF^z?md z(xR=Gj2F@oSbK(JyC6+`$77m1+X-TcQ`t0k22K-ayovGmfa+-L4plnx<d7peA?tYF zMRFpx6oX$4s761Hp>L^no2NA&?CJ?n_ez>u1f|u}%KmO>Vpz@-*{LIn_J-S<H&1-< zJG?OejW%r2UWGbDJ7qa_pN(^x7t2_1ES3!Tg>f;jB06%S<zS3NDvW-pr<6hPVlqiC zn`=|>KDI8EP90o7r!r8r5TRmxTg#7=5y{vxKIk3%AuH#H(av#``N&{_wwR>3P)+{M zOz(m3JCe`&6vsKpd22dCfQ;i_OnZ$mF9I~Fw~}%*mwmE>y_nWLV1x*`7-#Lj<NDUK zY}co>!>k_GwH4VC6zRVAcw6LAijbcAe}R39U3bnqgWu%>N%8|sck3sYA1hXvT>7bu z;>$-D7@UL;hCdy|6^m=<m?(pC`dp=+(HYmvR)bjtXtwF7>(NvzCXQmw14H<7lS6;F z@-oG!dU9EuEU_n`Y#t;6*n`<;H`ssJBIh{F1pp-3BPj>sulrA>@kZW!hlx<!WCr?# zu4J_3rwj2j@!<e86V--HSTA027&OvkBrM>&0jA07k|eG-NS}!0bT$eH$Bnysl;%ub zHJQQ$nuY1vKnCTu8Xx;xXS(2=0#OagE92y(W@Ppm7KrAu_7hW{*q!G@Lltni8|PEn z-Cz)7+`ul=pZG>ZR>Lql9CMkQU^h1>jIu9^YFDrw7kuP<r6XPSk!`FytYFXI-c{7< z&hI~-D9=D-gc5a8z9MiOZ1sU`pwDi*<lD&JQMpT61F_Io@v8&s#!KOJkihG^vp@ev ze9!*|9=??NVbi<szODkA8&DM=+;Zs;g+UwsE{DF=`a*KFwU0iVH~n`=7)cH6(@hHu zIA~8P=nU9HKDN@*g=ucjPjpPN8vy&ahP<W9ec)YFComXs<RFNmwW?zlWGF)eQVNKf zPvm{lM#%e3JzL;O$CeZ7`rL}<X~~qR==M#hr|?0qG-Ggt=;Ixk*l)MyKWgu;tGBI8 zH~joU@G#5Bf~2;ox7qI)F>do>4@OCxQ@uh6t!e>N^|x*9X7iHD3vdTEWBPGdv#2UC zx~!IlPdUi}!#$H+LgU!;ha2V?gC04qj>CnLC>yy4b0DCV5?<j&h=ydbuyO_xH2AfA z?LuOl1o4~>+w=W#xP!FjDmy~W`(5xIo|x#UXw5ph<s`H{(et$1sozp0*<E^?&7o|o z1HHnd?z!bexh`xaZlMMFm_BaORA;Q<9B<k=q=?$;;qU#(G=uk*tVaZjPpq-mOOJTG zUa!|&tw5sLgl0JqwX?O|lHuBfCbS5NRf(XB5*~op!A!OBfI101v&^1ZEIf^zNHwTs z!R5t*C14oD(9g4nwttqJGtAf<E$GNOb^xeXarbqjOcJ)~zklU~d7I8;)&#jPJDu2; zv8SiWQ3f1^asmXwBOK!iT~3eVS<~fkjX(NmnJe&DHUFXvD?nS5?`(jk7~xY}x4ybC zTPLN#S$Zxvn#Yd*;{O;c{d=FZGX(hDGc;soIJ)!TCe22E<bspr;~VNZ#=rCzi<>j| z(nxT;{xTzrCZI?OLE6JRfm?>>gI%zH2=|CZQZe`ohQZ#?<+Fx+iRQ2_<L$<<&u93E zUzhQfD_q8L4gv<GBol+@o}$o_Y7FN&sg0=@?ZeHQjI|Bkxv~Mi$qRt*nt!nlPnbl` z_YQeuPMrM_9Vf64bF#>st#re83htTT91E4ZOsfUi;pN7s4<#psg(;Gi-(sE!zsM5f z*)UXY<(Nr=aKN||HRVY3&=${4DJ*Bwbid0|g>l+hd~)m1L^mhJ#7Nd^<}{OVy&i(U z2Sj5IA*<=r@iuPBbPz5hPLe8Dzp5!UHp^<i%^rc<tb`RYqNCilNRZ5XO9Q)}j@0Ji z-yZ1t1XSqnY5()H&@Q)69S$818Fs_xdMlIrfrOZW@R)k2J!9*z{5NG)?m|1MD|oZU ze`It>%nSZo#K=NUBWD*t`rKXrloa3NT;9*T_(}K;Ga0QXu;N*#u8|;I-MBGMSwkab z_1kSQq+r(LbzZ`+vlh*Y7YQIp612Bm;-|o#kJ$Q-ji}z1^!;)V$FPV(x6h?f?&yo= zfOgkYYWLSSmIcx2ev=a2(lwLmf0uLLkG$#d6}g5>uA$19B)>s&sYUdTn`-~NAMueJ z1u3d<*sQjyUZ21T%N}YgPc&boSQ7G4UY-Jk`~%m**J$vfwKy~PNB8i#@B6T>bCS8= zc9iU{-nYq4yi`~!l^Y9QvWjkzm*!=#)Mb$5weA$bmB6IHC;5tW66B@dj$UT3a~zs7 zHd2(2Pu7sB^Xy2<F2MXkHe{#%CM?9fN5$amGH=E5mx|L;*Ngxt@3EEK?Ws%V@u&;; z&+cP7B7_j*iKko)nPXEzw#agee7yX#JyC(Ehcb**3?%qFXxX1@qZ(J<ba?uDcpwnd zq_UF*pO9}Q42t$VW2@<|byAQz!vK-oGyAm1b!&&<cp5TIYN^`1`3>toMDe-qB0$hi z(CozBx8xR3ivz(19aGOFs(GuYa~>Q2>$#Wb+}L)g@0N3QS7`B^M|P;?cYyA4@s8b+ z7Ja-`3|Xl#e>wkM#whuKr;pzhbaLPK#NCM4hh9Y)i!alYfh;I%5G2>fa49E)xoNcA zqIERNa@4fCgA^*zQ*Ii~8Y9`Uoe~QTBEgi9>yKo7j!P<WrhHc4Pe9UOMI%dME1j<n z^7N_phcRMLbc7cN*U~aNtFzr~wq%_%96vxAGDn_UG>NZ06n0)9uNX61HZXl#P}viQ zmUUbG(xK#gkgfR*fI=0q?F<+OK7ShYAx=)XYiI8E`M+-KpEPGo)AGW64z0-Fq&%IV z$@Q@N;Pb^%XaFx=*9=1onTYS~OlpIN1fz8F%&3`>y&gj|#;l$c<rxC5Z2bgo!V@VQ zp6aFvk;nlX%IJ^DoBg#bkE=`=(!f|1jvs|^oi9ml%75Pg@(JJ?;V&POLRlUXv?g0H zV2QcRSc*xig-v$jSsy$4QWO$E^)VNUv;i>bJ?ml#<K`0QbP*ZG*HQ4OMo;6Qxz4E{ z`ua@`v~g?X2l*tvX*?b*RW5F*h-5>Q`AicnBN+wqYv}Wr6KG@p1wN6jQyM{7mt3Xl z;ACYoxh}HaNB1;N=-DIdcVlhx#*<tv%~qktp0F$Xb-0M%5V`|QFJA?e2<uD!vgm0l zb`O2z8gKOw^#H2wN#N7*s6l+zf|H&RjQC=}6}0#L#FY>ZM$FY6E-RYzUSfEWyPoya zAXJ8y&>YB36Xg&MYx=<?fdzaXg~s+7J=m^*d4uB~(CWFMZQ=}p$dsgLG+H9rn5@Mr zS{5iMRmEklO%sC!*9dE?LOL+IT@y8NZ1>k|ub|V1=M=t9uHWZOt0xIYXMNtWkcZ$J zAo$$ORL1n`y7h}1C?t>XXg*|>khImkw^8C>Rd`6m2Z23K)8Sf>Cb$i=2T&&?pKv{p z_Cez^(CV{~_f|RmVwxRj3ToVG4q`*?YE2fZ$WgQ;RFOF^2Hs<mk6I<W^{lK^KyPTQ zJo4HKp=Pp)A}}jq&BEr&6|S9_UZq5b0F#)nM0o|}2R`_9we?#Tw1>CNq3YgRqo_vi z$Jay|#)vnMJSaEoufBWUayDG_Fb^r?B`*doCmK&fonOid8IaA5dP2lu@Cz)&GLLfe z>0i`9k-hd<Kj(YQENATr9oC(YP2h{vw-(x`b0sH=7QH{rw16f2So;dg_tf$Xlk*A3 zcRE&r)~vQ}sV&l(T?NAl40CT1R(IWa6N*f8WqqCGO5s__ZfLb5B#-OL#HAK@|Hhr? zW9R{k1#w9IR*0uy(XXO2(+~0Q?OZ?^fy*DM15rh0A^*to&KAozmK5-t^Ocr9v*yud z>pq3*hbrk4c-=LfAi4YRn{1aEzHn>qtf`#ygkP39u_*hX6b0HBOJp2IT%3W4@Uu*X z?c+0yP&i2pxq5TDXFA<z=Ace^q~KnFebNMX%K(B#$iRaq=C#Y(0_SIqGigH*BGgfs zc7;Cfv7_3$j4$%N(2Bw;AZdSJ=8XzZ3*i?P%9Dw^&rP7J@+pR&_o^p_juJG%qC~X{ z4Vl^R+<o`29^Ow7+WS}pKK_*}fU2EBe&vC39wN#=O4d&S(USC2_F;6f2LVV&lL^>o z-P)wG0vG@dCZ;Wal8j8Ik9^Zy#tAISMW*cdBP%KexxKsjhFT`=))W})J*>VjFoZNS z$pjP*v4R6lEHeAdL}=A#gaezK)M;b3#&s&}?pgrn^IcXEUxs~2CN6)<_*MCOQ$k4% zMc7R>wTJBAjhp#_3RyrQCVG#Mq^sb6#pLTd8|E30-taYGJsVbs9uYsMtg0Q!5S5E` z1bYfUY%g&Ig;=p+onlT3(*9HH4{XNncl%#Eh}}1q{dnRXov_TYaf{m(v9N=_1?7%e zcD|Q2ECQJTM+lKS5FzVPEXxsWbZ)VH@K$q~42pzPz8J(b+CC4!x`lHbN(7<YfeonB zd=_xC(;;N+4o2kmWj(o*-%Z_YPon`LX}l~z^1w1hx1N5$?Wx_cS~j4-HC5V2omCsa z6JI%$C_svWEEOGMOA_6hq#-8^)#6@zfCk))Ijpo#i0T}YbG0t9jS%?0GM!J2F%PmH z<$C0*0})D6O=98|G54gX7;M;+#1tdk4KtuZapBm#=9&6Nb6m4Ya@FB7aix%~V4EP5 zq%!@3{?=wpf-tSHx&<pDKL#fTMfalfw7(;ogvIOYAqVUlUNQkIe<5gLX+3Crd=2>X zKMM1&jRJmkTX^#1J8eei*yDC-p}FKf1hn3ib!4u4@Z*fy;*?+V!q6ZjL21uyFhQ8~ zJwJsI7)aJ?EP<xv1S9iYB*2f<=}8Ec;|yC3D=WEmfshVK<FiIsuhAQDnCW9~v29Z? zTTf_Ow$ukqn*H{-ZGBY*c%0}%FuE`PpP*XD6M_3iLIwZ9>)U^driCx-KnPI~7zzUg z4nlJNM<D+6U(TCISIif5z0E%r{RQS%IjL4N!dB%>Ge!rx1TzryyG4~nRWv7-2Uv~W zV$XFq!b;-%qzB?nQb1MovwwJMW8~kTGL}egGf9q?8$+bHSCB)ey>lwi2c2y!@8? zkDXLZm=U?AF$HB%o>xz|G@V!ZSzAvQCx|o$l<^|P{`D{LS<m7sE5F5WG6!*43)Igv zGzS?ZiPDTvLr(Bw5xcLL37BS8vx=zBk-vm+&w#Wj_%rWbD3J){Uw5G1LbQst=HW@> zm1FEY>m5B_r(NB|Uc%X<S0Zs~K7oMN?rA|TY+7AsX7{wK=P5L$PHw4V66H_cfxV-w z(!NrPcbL93JbW*<wzVHxaD(VQ@YDoea8M@fud6^;I>VUWj{O{V2sUmxEMph(JslM` zIBYq5^>0O#J;@~TMW4ba80&zcTwvA+lt@7muEV_4auk0O0{?ks$PSN+eYuci!-i%Z z5U3dxBox}c00b2=B6A4H6ckN>q?!El0cF6^z$S(OtvwjwXuyk~0c+t^p<9F=jcoi6 zsZQYOVS?H$rXQJK9O|?ey^pCK^ZCU*9carx1mo}@!3n2+{2CuZssAt=AHh79hv!(y zxO{gzH#hL#^-nwBu>ZaG26HZ_HQ2w|x|e;|Fk-kWV#Pz6f0F3-xuIlP8G_PHnBk+x zL0YsJSkS^q<x~6=R<1%zsGLj?1Ln>rp&_C2RNhuCrR|z%Z$f$T6pqf<Id=Zod1fEx z*P%MkMQ9)Y=Rh*pr&-y>7Ze}XnN}EKr$`15ve!GHd-L$<xu9rXOegYE=eBI1Ct%CJ z4bd+3($xHd`HSj~v&EF$hI_6o8);kG*D#F#SLaBMXvvf6m|S0d#UtO(U60i6aw^R4 zTS_YY$01|pp3n+Zs#r-2$*H`8;&D)lHP?BrLYTpW>3+}prOrloqI%&>eD;ss^RSzF zHylT;jwc&~OxT+38E|~L6>9&jSdQfVMxFRcbfv$Ts{?*yKuCzyxK*Vi#3v*fTXVKx zbM>y8=#N+)NIQ*Ojjbkn#sq-XU(|@IafP=@tJv#0bs>_FNxhZfXkb+a#SqGwaWxl9 zngJU?_~IXSLiDn1p*nUOOD3nVjGQ%;J(XnzAEd?5O*emGd9?_Ou9aI6e6#0T#FQu4 z$$@Eh?tb>l!I}7dT-BKLvWAhbkpq*0vT<#N86Owd(?++?YPrbFMo1nsmO{B%OZ(Gi zW}64?e+~%{^N}U)g=mk6|A6I8gP*}-Bmth<ALrVlxh2$bY?tO0klTr)N7xEPGi<~i zxbE8=@+MjLS10$XPDFz^7kQOMavL5HrmzHU<nx>2?w!aJ@k(wFRu;n+yg-o0Jcv!N z`*P`+8V{dKfvQ>7Q<<wRriMYTrNb-SO18`>YuR`l!4Rf<P6t^|UM-*FsInXx)m;*9 z8`J?Iq)t|V53viU`wM-O{|$LK(N&N%kJpWQUg=!>-PLa_<Gq9<3I8MDWVl#Qwr*tI zzx#glWd1Sj>ZjI@{5<3ZHdwwUbxr#;tFB-u3-RtAqf(5tTO}8R*V5-$YA#f%U1H+E zU|6M^X1h(=%7bpKxf$azBfNAIIpsx)QyFvDQg+2VmEFTi8D(~#ywFitTDRtRIvwWj zW)8V2dPv>N@I(EjcDCrtl$4CN)!0hcofxK<G!AKVrNKCM*<UQJn(|h2%UP|T<^UBs zBn?uytf9|%9|b^5ro6wDA*3=76|w0F+e+pwoB0ix#U{-7M@u}Ep4U@Ns+YleLf(BH zJNpXhL^NX+E5F@po$k`q$0{c5-}y05t+ZizPgr9nD^yvN+2$979}&+2D}<&=+B+Y8 z&wl@ghKGOo?I)>=ZlCYw+upnt3Iv5@q_JK6D)02((H{2DPwV(y&aqd-51gfji;J#{ z42`z{FRm}oDvOTm7RFd$?F~1u!(B>N-ak@{Tj94il|^9L-YkK_<6J|w8I6BTZ99yF zGpoX`Epl8mA{6hV!%<OFOq{W{+7;e%AG+Odx{cD;=Ut<%n7vhVZnh-KW-3z^i{wj_ z%frg{`O(#X4ryQt3b4!>L|4beXA!Mso3d%>i)-mWSnJ;;8!@4=77M&%o_5-ig)q~& zMLv&}yV<wzUosV-%9}e&P4$#GU!rwb!;4*TFU@M%uPxUyo@IME8&?%~$qk4G3qINi zNO#Ok8>g4j1!=!#D@K_k9RZx23r4gfBoFa*?=;cMF5oC523i|sZea9H6aypjNPoYy z&Oo@0(KJ|{TZe_M*B+#9L+!YADN{JUN^#n2I7U(l==u9k;ic>{(Re834HC&R-#PbP zMLLO2yUpIOBM_RPU|j#!m(Tx~pnH(=L9?U09C}$KQoQS5Q_1PqMZI~A@K7r@^Yb05 z@WhEA@!6gjX~-uh818=r`DYzEX<bos;UdzZ4K-g5+76x^=aV>9Wf&$BuGr4+3YB~a ztbS=a<MW><s49JLXx^doi)WDU#zm)T#oKfoWOYczZUniiIyll`Dp5Z$(SJ(YUY#=q zm1DyJF-PhTPwS{mC6YB#b|Cvg^^j|NFJVNp@$l9{h5I1qT%`>1v!Ugn!h9s^`3nX$ zx|HWv#xb1KfrhgDwz|5>`LnhfCctK_PGVES>9~$MWc-9xoBg5yVb~>BnS^GR(addK z*#j$Qonq`ZmS?#_e`t_)#~APGvyW~_W(2BzJ4WFIFbSemK&H4TZf!z6*xCr+I)lbR zYaKR)2=+kZbqs)j2;Jz2g;hGkWMaA@Y!k@cs*=C-AFG_Xo&rrvjmeDDTAM8gTbd7- zy3FiNEb|qd=mdLk+0CI|4yC2F6o3idEz+Ls)ZeYW*V2$g9=E(+jpArOEe=e_m@!km zslEm4k4Z}dViEtx6Z7<#j~;IRL^0#?un-W;yLpjpJ{q1Ujx*>IIzN5|?46`~vtt5u z8ozkgd=I9Yx3y#$I>Oi-nXd>cylFS2H!0Fz(_W5UWFKSBdFGP{2N3m&>`{hS8PZ`P zOniRm0>JluTxw$cr%&L<!v7H@51ubiR5JEe{e$*3=PRuCS;|!X*!p$9d{uCy_G%oi zt>8LTYkYX2I_x<NWn0aTskE@hxrl^Y8rhAS`6Vk(u9iA6HZhR;>E;az#7L`53?qzO zL?sp|d*)SJdYV`$Bg%vh-?MngHCqX+i#P~T?Os{+vXQy|B3ju%_;x%P!P9r&?RlWq z_z9>crXDg~6;9`d9tu<HDhbF;DWvi7RH4ZfMn+4SY6r@bc%BWIMLdm~ujx~jX<Kqo zrPT-xYt&L=QkSCEsj?@a>iBh0!CmcVWJBdCBAlRh$gL$PHXzPl5}%n_M4pxedWkbJ zx>oO4dM&X?qIw77ul)(7AuBzyqFwZF>+rU*y#c9d=0ItT5D#DYglvhhIf0R6FY25k zul|jj+kYmk=N|mkB~lY$Re!@Cm)&U+V`*y5hLK7ktTOqGr+fM}q@JW_z&fX>KiS-Y z8k`h<CZaD|um6K%g3YVMR#}t!0XkZ>nLQ;6miOF^2ufKg?HgOu|J?LyCD<YEc$=YV zMvZ~@U!Dyz=@SCpU(&ochE{Yse~fSB-R-$M1&3;ppGhu#v_26V*M9K9VI*?9M^!Nn zX@U0wyo<5@+9Kss^i^%&;$dFASau$5+*?SJ`NbP=!NMbQrl>hp;9jT;ce3_co1CR% z(6%&?R-4HtSkj%bjx&Se{^}B!#3|_$p}lWEs1i(uD%6Tv^i5YR-+N;_<TvtmSnIgM z$>BkL)33z}Ph3#tw!MVuGp!<?g`*q6=cEnXO0{nTv;OM-U|XCsE)cXxMUAV9fC(_1 z8p>!+VncNjHBQ=NJkc(R(<z>woIBYdZVN!89~^2T5xWs~EV{40Ol6uLOt1R$K&F^f z8pl3bF*4u434dq>>>cv=bP9L%8Lg}~B|1$}35Hu`_{8oJ_#i6nW?Z@sE)jYi)2m;T zGsKA8#)OA^=6K!G#rU1skVg(9?PAKCxM#&I`+o;7n@IOIqb5W^MfJY#HaC)<2U)u* z>0?)AitGanm<BJxQXkihbJuwn-F{yWi)8VfkqmpF7SNL$E%}k9SCMt$P;x3*JOe-3 z4W&jx9UT1wQ|2-Gp?k<mmvdBL{V`;TK_d+^16Pp-x8PD6Xi+&V2e_mP-!l45%xXT5 zuRA<dqE3G>xd;DU?H}H|CglFcOM79WtOg#piK%vTLYWB`{zMr$f}{N8`Va-mMSgll zw2oDz)A$tm`&ra(h3BpLaDN;q=`>~@OreiPk&F|)(RXq0Kdi|oG@txu+-GFTx%k~Q zP_G&)n2)*tiAr<RJi9#h>mTofr=c{PXFOszq%%dli%q0n<t+4cbE|(eKutd++MpG? zF*WOHV_L;%`7Rm@5Or(mGtBu>`_=YBckj$M1SURrYcI3a4S$1{^5G6C-k7pWO<fc} zzv!yZ+ml9_&)K6n8tfB0E%){7fAt~SgghdWU-Q8qQJiA3e&{gD9KI8nsGPib*XO2y zVDX|xv}jB@;B6uY`*+Ws+0FLp8=geq?D_5xQm;^f#a3@7p9h+$q2B3Tw0P|?R5c>L z+?ezD`CMt{en_T>!W|}z2`X=g*EXn($Nob&^(yU={K=$-pBj-AWwn_>ybQJY_yD^& zNM<&})KoBuXRe-Q&*&Pys`8(r<3Az!JHv}UkNLrySKFo9*|yA5YTcs5k$E*qcct#X zO{N7wT`xlD>5};ZLg%|@AJ31$f|0VC^kzJ$fOP8QM4NYQa_ob^MK8amWIp(}9Ca$r zFB-YeOO0!635_sZ9_vgN50V1LGxYZS&RBRu*z*iT-F-_Qh8a)l-P6hU-0UuGj+)<^ zT|Lr7bbwtpd#%vVe^V-kEA6*O>y)YeZctbFn}#aI{NflL+8toE2Mio{Xg}MfTqnq8 zUL&q>!D~P+{-AGNp|Xvz+jeEv*4Poq<cq=ms_@sGcw9uD9-z4H!<$(to=8S4sx$^T zpS=2-Uis?EsGmD)3C*ZBxaTJKpWLGe6h0rN6YMzrOa4UNRFeaNeoy#e+>>J>VIDW% z_q+iHka@R=V3vHc)HL_&jyQI}s@D*QUws5^O=MgGT3wn$yWg;`IP#uUEuE!WJB3Jw z8$hk#d#B7&s-NXZN{%dJ=dCAc1GAa3d*xAasHfIS33@L_lsDION<O}k%W%Xg*1Y1_ z8IyGEWw6blY6&@LB`ei}OR+M|hJTe*#BOq$oldG%)Brxe9wMD=6K7ssPQkrBEr_2Y zi&34KwO<f~=5H$luo%0;hW)!O8V{f1R{ux_3zB4k<0Q|8Rb2<Bjt!=mFcQt9R~nj2 zost+PNk=-4q-;YbrA56@AwT++2PyDX0amRSJ$Y$0zii#f5U9fDolV|6hPUF&thx0; zC$CQxC*R85G;eg8xqc3>rvZ)%?ztW=W?N$`?XbGL%ZpqV4j2-8q=PEKihd3;X_kxX zJTWZ^{#X-MMw1ZJ%>cnP>V^<v0#nt8+xo|$^&E6ne!1?JR~hEfIV)el4Wg;E?&Cl1 zyg!D#8@#-g(VrkN`@8(M4t4y!H+4GcCw`l~u7TUlpYkQ_{Zr{h!JCYqAA5YIW@`A| zOIXQ4FA*Heaj!JlCIRy%Y@?q{gNIm(EI40(j~~x_ke<RPM`yJ?0EDA1pR3Wx#F+J0 zSTW_CD@w0h&(4N<Q-1GIBLBGKAoP;Azuvi%IK_GA)4|iwP{PVa`-D)?pzZsK3HH2q z^SgWvcvIE)sW7%@7Knq1eOo!aU<geMPNPILVe;z<H9s$GeG_CsSE%U*ssWp;NT&R{ zx!<)yD<EwwDhPsiZ4>=htSR-?6f7ofEQ_gC_S&$RBtFsvG+S0YgOR)CLpla<B4-<M z`CymkQY;x5|MQbt{-2nl339rmK$EF6dRH(L0fr%M)gy-&1$}!_=WA%jD+pS2{GoT- zs(}lu@0nBnqw-lDS_zYdIhwQmL$J$uCmZDa^EET)3qVjXO3t&~ACbRiRJgxV*G_Gx zcnPD+2z)(Hz-a!iB8h$aad%<<k!;W(%nN0CGEwoO?FfB$s%LkW9U;pMH8Dzo6&xFP zl$7$A$4V0y;<wYJYKJ-0V^$A5gQ<BA@@~|F<JQ4^eEut9nSjyOjF<-ZjPCTbDHL+W zRG|fG&P^5Tpssh(boT*#heg`IdOHd?*}pTp-^HP<G^Puj0<JL;>sB}sY{OHggcT)_ zY_{C_<OR-QSoCdLu#`?OBiTxDz?7;hi~Qg_Y=#Mk)<j!N^oE~J?kHsFjat0DNXmsU zXV@rcGB*J=C+>E3xpgEhIH2x^2mZd(ymGfp?hzn?0i(x+srJk}A)vvuz)KAzFn(O9 zu1i@5u5c(bQNR(6w_2jcCbK7d>%7NbRp*fz=0Ec#jTiR&F9R=*C7Ik6cDZn7#P7X6 z?JngjnqG8xHj~-)MD#zU#{%O)iLghD(i}NyTYnjgr>&bBb36$kg(5cfV}YHKIcA0_ zba7^e9GE-?*Dd2KBf+OE<SKQmV6c{!u8WJvD;r$aps^ZBy`g*y6}ERPB4qcQ&`G-y zW0+6}o9ow$0cvI7H3#iH@{9gYqME>6_WKR(=8ClYmq$NBd|ti<N-Lw0Y+b>=^GOjt zkH?X=o=jeN%*VVm<ZN%RZAA|os(a(fDQU(6(#w`AhEa%%tOEL=?#htZPg@^Q<r4{P zm%17`_9l%Qq#iNq-hV`b^3vIECc+z5;|AHBi54)e-Y*ooJS0x4F%KO4TAey2%OWuA zhZ*Rs<gLTcH8fpn+1)IaMU`Cs{Z$9sGKS&WZ9gJFl#|fqqVNvMu>TPdk95#~SQlK2 zkozT<Clol2bXGw4&W2j&H>{IE+US&`_g-zb&M9F$@?$UMQ}CT~s6NGa-$uIxN`)o- zR`!>IK2IOoN9&JUL=^sM^#8b|eM7NB+<Mj`Ioq`^|MGBV`)fMc_TrK$;j~@ii#ok} z(3T2kh20|gbz<Q2whwbMDlKi7<YgrbUn{A*fqa{c@p@70s6LnMafY>=BJb{GWk4J& zf)u@~k_+GJF@0(!L(mwWxpW-767d0<`QeGOj)d;$b4|eZ7d&v~DTcda%C|Kg`?lam z+-jEPwkwurDe<j}`RkT$Em;bnU1r0RBx0D`9CtEjR8)Q$njqOipN4_Lh?qujrj}j> zn1rX_0BAMn%e>^Tkz(&2r-<z?VgP{RQ1hOnh^q|vYizq!yZgoaPCvk)mQ-IbeN_hi zb9~xY=xjeh`l9Er-<9uLa{-NTw@%X3>?M-@DD`j79Fcxix^-~HqpA^3E0Gs375_lj zm1uE}hL%4rJx_V5=mI+O3eWoN&)!`#u~$ug{XWWJ{jl>rXw*%Xw`q(o;r3a-b%xrw z=%9z+UuA!H<mZ?2{8bbqpMBVid-*e-6%bJ<<cc!ddW=7LRu1VUHL=a@{<)L>vNr*g zhvXX`3S{^)DlY<GmC|egCNTJzdp)X>Z77%4kbW^7{Ztne4f(Q2DHvPFC@IM(w}7!n zrD^WD*uROvxcT7o#rh2Tg0Wc$GJY!9>5I7}zn3N;g*kp=2<t^j6(R}Je@MnlrMjq5 zl>HNb@00Hj!w89J>uTv(F?feP3C^tZ?^N#P0>|jq_tF_h)!OXh6*P=qlF^%9+mh;A zq+W8vCCm%qq-%Z!wSZ~`T4s42yz9lWFUzs>dHqs^dzZeiFZxQ`aykjouiN#H<c%Mm zNC>T$e!CG262+)J)J@?~da6Npv8g-!m!#r1@P;aicGlqy>y~8WXqqfEtQGROYMgbz z{@bXHX&ZCQZ_X2Wj-dE}v0u_%cem8U@BI~*dNs2eHS&Js&HY4`dI~A@v<hkIec3#S zcD*$*<><wgN2)d{c8e%xW#33>iFyalw8&vTOXS^`@tNOG=R8}jFetb{UHC?#5Vhl_ z1<IHq#j1Q|u9P_65{aV9@2A}_7?0%9V}p~%Pc#yiN>jWPzjSkMS<$3bmcoz+PdPgY z7OM%Yu7vWBt7hV{Mw6IDkP9@Q!8hLBRC}LG8VsOU-o&!Nh4tBzd+3V%DrL-o6yp;0 zwq;n7Cn;F@;i?}Lz}|0Q_Mdm=m0_a6)(9QGvQs0Nvq487N6O@FqTKj=O~?^~=|8D3 z`_~GliRZXisG4@MP|lc+;lKVDmKkpy#vCWIRl~ZMf{P@IvMB_~M65gSA|sKCai|Sh zc9g?8h_gZfJgk(f3#V6Uul-Ep91upL+If-1K%lM}Z*xr71bwvVSR1M!etc?*_5H`X zl_(bJ7lp?{v#FJ?SqXb19)*~FIggRAJ_(-4G2aq0DZ(^$nzdb8W?Qs;s3dI^*p#<f zk~IdOsaSXL<p10V{nMyLt4`cC-0%RBYCDeTTMcV`>dwQ)`U79HetS?XH-qt&(}9^% z<J=*49s%a(GU0tkurg!7kiJf2w?KAbKgO@wEU=$gayb(>V3SS&{C@cBtxT#5|FSNJ zjq{2tD6ehHdF=7TCYHl>y?zBJoRpdMx#yoh&aTcrSe)&RHy@9Vi*@Ns8K@LVaNEy& zQKr0V08=bcKvX#DGEFc>SSAYC1l-%j^{|*YnzqR;+>6T1GV^a8srUbnfV5~22a*^L zP4UQ)5F9`57+sPJD^pP*r0DmWx7CcIrieGyI0*$VNevuSPfD?CAK&TE;G2~M_gZ|f zbuBVwb(I_gX%+=7>0c?Oy=VKG^Eo1oQ@-$EzZI%j>W#+Wu@aeGmFC-nWTLLeMonaf zQA8-qG_rEoe~-v8Y(cPQ9NW(=%FpbEaLn`H5i)$IWEvMID*v1;zRGnr`fne96QCF4 z;2{4`G26f@vw7a=t)eP9<&oao0xo|Uq~GIi#}uJDQbG2?a<hx9fK>WQa1PcZISFh; z07i2e!i>}j;#3J~%J{(ghLEIkBYHy3vWJ{;VER^CTB@X4jX2|mLTiIJVl6Fv#I38N zMtxzC4-N7Sn3X8%2eLV&N%4o=HF{rrN&c)?%3F+rb^O*^u`4_xvX?_*>xB5Ss=TTS zn-}wE)Kzi7!#&9xKD4tq@x2XaOAKhf6MFq;W#Afk-8Y!-v{_$gpRvvMN{QNsZS@yY zuBSem`f=dNUP^$7eO}sl+>W#F+_IN@qS0Y9<)Ytv=@B1^j#C?}PsUa5xwnIz5PL+c zPzNKCPK@$HVw1Q5uzvJvX|_a-8;BX+AW=t(N&_z-m$8M2AZ$L|)kPmrFQZV4#vgY; z8#tqvA%i)Xj2kCnC<9|l$zbDUJiSw9D2N}%Hn=`8W&mY^;{|oo{p!0O)n?`xuDO*F zgrjvyHZt3cfT|Di@iJQ7w(^C{CNPE#D@@ihXO`J4?&uKV)-t!))Fx=7kSks{|A@Fs z7;2u%CtknfU+p!{Hd6jcmpQzC`_I#)Hxd!h6c}y1cw`RamxDJG-YpCJe~7E)Oep4g zxIMg@8maNp+c2D!V}3xh?G@9wdT-jb`Rei;uY-aqUdU8+#QRQHSXb3wc&ZCUd&85@ zb`*M%x#&q?Z?Yr?q-gT7zh1oBUilb}Y@z99-m-li;2ZNzB&hY{qSrz_#j+-ab~Tr- zIe|}-5;>UO)n4X#B+4ea%%lw_EvPrc2hF6}v-k>NMS1&4m|HhHj1fJDI)?2#>LJiw zg{j|ty<6_4(|!?mk#c$v&4xeM;&HdW2xs_3Y3H9+`2FG6yowPHB_;jX+^SS_!!PVc zufsSVR%!jt42Cm=lc-}z%y#tQ0m`%KCJI7)kAPeNshBiiB56zzFWaTT40ZRUR>)q> z3N-0Sz#+U#%|p4gu62w`ef@$ABAF4orL87$O*<05l9M&+IC*y7!#OY_Qob(|)+pe0 z4)eP5fxk;8Se+!0Yw+-Y7C+uH_}fuNK8n0J&$*H}_a58Fpgs&}z*ix<HPTRn>972J z%Gy=Q2@Ov}+9KLcTNFoC8+lL#FFxB~(cLw79t1BZv*+I%bFI&k1o75LpfKWZ_Z62s z)ff2OlET)T+(lN0bT7VJhuP?L*Ex`$4`|%Sv98p#TpFb7owGbH0VyB4MzWA!Z;SU$ zS(6Q&-*s1L{kCM9<t4xq#eGiJ5=_rjiP5J96#w-@Q{EG&b>%jw=ie)3{r96SYsu+x z;Clpq_I}rek63#Kod5MdIYQ2N#Ja{(JNsT>sTpi&ilrAD-6xzRPZ+wVCt^;=cD6LT z=hZD*V?xvgec27WZxDeJF16s;383}gQ5VLY1rq1SEmdXRrn%HLv(`VRvJRUslENsg zhe?m*`N?9!FqJ1(f}DHQPuB$qh+O19q(^+1Yoe~hSyK+)h??#ckbe>)UF|6suul^S ztnCloIN$KU_|M^@qbIj*smqVG&DJfCJ`S%SqB{3gbHHU5Dq!y2a$2B5riKx~p}~mI z5S*k8Ovd*}qN9n8G{{JZjh?{OfnanLeU-RwoOzmHvY|@Vsl<Ksn}m-<PBCX1m6z6U z2Mt6}_4sAY_~iUfqi4!6<zo=cX|RkiV5U`lap%Wni1|Z!Yh+e}QhYGVijn1`j21~~ zS~y$cPr|Sjo~95>PbB5JbT~<$d!A8-M(!%$GCw|4L2!*v*!nHy29uWb;V>eBp^&dU z+IH5Bi<Ec_4FGfF%Z005w1LgF%up7%t=UX+Tiq($Qy(+YK2Ku!0tiktZmxn`){w@C zln}G*deR%I5MW%=<-nHJo4KRi09`F<v?U#~KDIcM-w#ehVd7_uuI1TNrBP<6RIjYo z-mEp=RZ%7ZaF!XVkOWjgLB=$ZIYZjWXwP^%*vKMZogTw5ep9&Ttg8oGtzS)86mI~# z*$ofWrNFKXoSa*JLq7cna_Y}%HbB(qYb1MYxrkT!n=JG`WvuPT3G3+ER#i&XXt}Xe z#!b1|ENs=it^-BtMS$3BJwEPvse9OLNrDGF4Kbh8DU26D5OVqnpRn30XNm#sWXL4P z4_)@`Yz#eyWA`WC!k2Vfq5Fil%#_J6zg?inifweBTEVn<QJ~4fZOFI(oZmK)@-oz# zaMXW&I}CLo56|<aB?=s{_Qex`eno7&j9)>#i^3+Ew>b*;>?s*LQ=1ra$!TuW8a$(< zpv}u+jvCeZZ;{c*2ts1W9fN7%j6|i{iW2flbt7NOMRZIHXolBgIRfJMqYeNEA%UM9 ziXI~(mlYZRVV`+KQXtFIW}OIU;)~8ZZ=|Wb#3<RRq2&*I#$H>FvF_Wp?HszB>d_AB z2YYUIU@n4wj-T68x>DUhzKrj|X*pRD58IQ>Tt*M>G5##-+}%E{3MZ6g8_r`s!mGNZ z@l{z-I9md<J*fMnCf9%woob6-#N5nvX7hyJTjguyuH6vf%4d;lE3Isnu5Ponr{nvt ztz_2aTWcr2s&M&9=5eI7F%!o71dfJvT5NspQokrBTtraU$q<ulBprvyD*P_W7`(p7 zI_=4bF7PjqYc%ED3;h$kXJV`!$%|z$&T2x9FXocoz42>vxA`9dprGPC5KGa%4PRaR zaLZe>89)DVZ{t49S1rbb%=2FjO&Bym@>|2(yR4w6Ulc|MuX`r+;^F2Rjh>PGGyd9# z<c6&`<ZKGDb%G^Omci4BG9uKA)XvObKfHB~#9J68n!0bizUM53(EvX#W$M@`-3ms( z+|zd>VCAgZglHb&Z=xa+@CVGxesJUS8O%+O`93Pt<W71{_jH5)vEn(E&iG{Z^o*-- z3omW|sa!+XG@YaV*6ioD$<K<_>61ks=Gi7;IQxmk629(4$E?Z9+YwF*ULORcxa|=) zmxiD#0sgIwQdZ|oQdUg{M{(2RA?RRw6?zR~8gP_;3?~{4NCuQE)72=)5r}+?`}(Lz zW1+JIxLor>{DS4zDWlxm^isLszZWQpk@FASNmIloKDu%Y1Z^dWzFm*BR(xQDjdRT( zaYuGNWB$ejpPY`F91;1o%B1u}vF_2KynDXQCxJ4)um_Kb^2sfyoVbU2sJ2|@cH2q5 zO7G0>up)QN#Ex&Q$YUn;%=<NnHwmOQz~pT#TAq;V$|>E2Et&zb*1E#l<|=7OHI`8M zL~s?ZB4<?F#+afF<XT9!5qwfFBUvU9Z78<~f(Zsgkm+1NLsdh=oXU73poQuTA0ati zo}bl3q6&ctWYFkZHKV1Oq;k$Ux)zP0uR3U`k}9j7o`^SN$#dh!s+b`YiMokbbDGV* z6VQ2S%zVkSdnHEPXJf)ZWW*(MewMGTFqq#Rk7>0M4$yW0KCW5KIxdUKxisvag-P>5 zMoEm!M<h8bbRCA3*EI2#x3~e!7I3C*JHDi0&vV4B6IB<j6;%ub)^vtfaZzymP#dI% zx7oF^5Z)T`Smq01c-LRU@r8H0IKg1v@I~?)p?6~qS>K>k`Z?6#dh=iGC8nr_?}WI( zORF>k9(PKH-N5^|B4n({?U!9Qe)81~nNE}bxilWt;rMFGa^|+vH#~cRK?TK77UODi zWj=Ye7;IQuv3leTr_>%93DhKxgky{!5EIi11IL*({Zi{ba(F*6ugu2u3^g8;y8K0W z<&AfI!(q$3R(x~HZp1LP0hd+&^zF$B!=Z`l#7kDGtRFtust>X>xA)hrQQ>p=OqD<3 zR_6nr--&|f-!FLGquZq~>Sm;LYNDQBt3UNff4%WrRLN*nPTZtuAD=kzy5(}3|7y!m zb`A0&^4ngGKJ+ENggb(=$}QydoaEr%uKue(QJM)B_5>A=js{;!as04B&*`RObMN+S zL~5OaeP=yNcI@+He)5w=uM2BXij?#$8@D+W+A`M77qmdx7w0Ljbj%TdD2e@gt}%b| zPzTm$U%txDSlb&0-A(<$^~fx_?a%uEu6EhPd=<>Nvoa5VOrp-3B7~a3{VH+vyXT%N zgugu^49F|$sE7*I(7%^NhJx^t2b0t&aiBs2d%)vOa}x7}X|*ocQDXxcI6|aHeEti? zI{Tp~);xQyiA~nmUHqB#c(9@MXdb(!F2|&h`)H^3BjUH(!e$kjZHcb;oRg#jO5MzB zzm;@W{~7OWb@P9~|9$K6c~jw5LE5J81lJ5YCSLOMoPVXb{I+6@+z)T?-BpZ_GI@~D z)4c=S9Hjbn3gbP2`XoOCAO*Ri1XFM!dG^|VqgXB0%O5AZa;|0FGGb&v(9|u?Br%G> zx8<ZtWouo}@?^yS$%Z#CM@ohGd%VHrY-al%i+{DRKYn=?+IQH}EmIDM8c@QqbSMo` z6k`D~EtfKl27o+X1^+f7$6GsziD``h=w$rXj|8ua8xa$#8>-M~5EIl2UFsYE<<pb2 z{?@;`#%k6@g$~c|%ZTS;o1M6or<2L1;Fh!eX4m(6%iy6F53xB_4dDW6|H9|`HsVA6 zZz5$A^kho*%A>CICft)`YdwxGO^uAF2d1)`Zyf5oL^~%wrMahJB^04%0Uf0;fgemi zCvq?`y}z-vA~JT;w5VVQ<(ad2n^-Rc^~!)ps@~|$?f33^_OxRSX%vM~^87Z2G_?AF zoLc$<3<>^&O&R$dc}X3>rq(CP4^eAq1`ITTM>7DVVB~Rzx+3%R479BHV?+g5lWih1 zt_m*i6m;t-)HK@T5JXVcxGg-Gsdv#`v_}+wB2dmu%Lu?~6ANmuG9~~SV=T}Z=0f0m zmCu5P;)3+t?`zRpy2cNe$r)I(%-!nx+boTNe$P@*eaYhDPm!N&xzbwEpUq>7O``Vf z?J54{!2#$kds_vQJ4a+ct;E;Y51b=j0XsAsBcfr}^h>>P(m5XnC(YBtqEC0v4dAH= zWJM%Po4YpTNU_ac^;_~{d`bX+e&KgV<jyECu@n}NQ=6-MSXKAnCL^F867@$O%Y1au zb%fqDK{nJSM^%a#&vn7c7}VAaPR+mW8teZC6%>hlnOJ_BCtw)5ssgD<shx0LGEF(> zFb{7B^h(u8dVNQq6{c3}C;HFe{z+eizIPN{U3F7_27NrlRJRQU`WS06M1dLh%tGwy z|LTs15Yneo#H1S4a=-fxcT{o&fMvlcv<T&|M=+W`=ho6(#vlL*$>MNQ+c8-=y4l@W z4w*nC-kPgD^UTcDrnf+rr;ydLV<qs4jeiOayattQDG$YGu_kKKG`rV~aM0%6dBu-b zBp-jbr`tUEogQKxKJ=5utug6RR4M+*$%huXXT|ftpDgOTFQ<g57RU1;)TcbQuK454 z)!Brb|FiU!QB6PY+oJ@Abor&ErIBu>MuQAC8kCgo1{DS)M#t#x9Ni(^-5}j9jhN4V z&-tId*f@um+x@xj>%KywbZgbUT4Z#5k=JXwNr>*K5h0rN!r4!3ECejPV5<2M-@#q* z6G!wsiIJ1XzUv26rI{?>vsMEOyTERge67<kEpw3s_6-WHDd(c$-Cv79d8hOp1;7v7 zb3G*dW8{8)@Z#rY++eBp7k4k{v;W1^yl*SLs^De`(AyK67>()rB<C2HXIqEY7!h=e z!ZCbqL8tdRz^K~K;VU}9WNc=)EZ%s@$PSiCJT{8*Z#2n!JJTZ2I2dC1b%*?SEqp#q zGQeVJ86+Ln)<~1&*;RQH<hYU56(=~f+hQjgG>pPRyNU^pKJ2qO){Em(CH;Utw`3|U zz~mH7r9mx3S#3?te_qJpi9nwgj#eIYDGeNYj=xxoF>J%CJR+zUT+=&D7hf-eHH<hq zt|CX=-Ip$<v2H3-xalbVn^Jh3rQ_$_Ta}TQ+6_sq;6YXP{-|V}7V15nqH;30btj)& zeyQ!lYGA4nu8VKNQ+ny|4rOC2QQz=1XQ<S=wNrrtN!^2$D@M`G2?hy_7eYx2mZiYM z)~1o8&_>S~ZBjWkISRZ`5{mL<CO{D>7$6&^$Q&em!TF85(EE7P2x?2oGoMp;;`x@^ zYI~l|&G(6W$=r8~%qFaDFc38sJcS$bi*oG8-t2VB@bbp4wBWZ}z+11O#m@KS7>;`H z`krPIHa5Ti-S4PMRGYYJ3A`*Rt$LTu#I`TCDi(e-^~QrR$D|EVS+{8{L`SU5my=HS z>7u6I?)$9;(P@VP$j{}umEQ`FDDcj=2qt01eSatMHMRj-1?h9DIOM6AApw<DGjc@Y z1r-EwCKH0FwQ)#+TzFb!L1~OuI^lqrJdR=<K|ll-MOj%$l97%RCP$_{J&8V3{w&yf zY&jDeR2B{FiO24#R?=%C(ZOY2G%(1AUTU{NB{3jo5&pIf?m9^mPpVdrn)V<##xzJZ zo(LcERv;l3INVUQQ`AN{bdH?<9Pkd5WAaEUJ2%}?buC#xLE|49=KTxBlddJBhRb+S zdmyv%Dsm}_EqKvROWo))->vgTGZA^4D9#noB&{_&Ve6xv-T?FG!(x*e>sn<M3~5tc z`v*vBW+3~Hy@7i3#`xjJ$%NG-kB_f{+iX<YId~MS{11|Ef~DMKdNGJF)9~ZitCOb8 zd5>XwLm`EBO8qnLa+3t9IAb-dOI5?AKP&+ad|E&sn_RD9A;RBe>9@&iscC1?yQYgy zgVWZt+!K*wzNNfAI;gfyh9SBz@q1%qDQ|QxuH^GRe+f^wTlIH*P1UYv;f~{`OR6P& zK7AwSS9_}1j~mMTdj9~g84xRGZFQ5=&=&e{?NudWuM13&p#cRt%w&}wtr`_>P-qug zMT+t>Wc39`KM|YASh869a#teRUMK3OqN{AZybkP@{84;0Zzevr=BQnx+*n&5P0=xN zR>U_ecCH*c4{idtzgxgvXx=3-dCHWISwONn8;TH)ruqdwT#o`_)9~amkq(w=%i-!o zO0(IAmJ#TRa40f>O$m8k9|)id=mJpd(QP5Js9x7Q8)|FvWxLvri6qY{zWgS4R94q# z;#<$~x}%gvKK_t?rO!4}{{TOu>fmSd<^jaSbSS>)dE!XH7n{XrDeZgD6hD#=5D^}m zbs4{SkGHYT|901#?vr&aN`2Xq%#u~p=>~JsURZJa<-uaeWjUev>WAFoK_y%<#`o=C zA=Y(q_Wer4gg8A+k;c=b5c!+qLF8wSQu0-68oagrBnbnhBZKpXk;7F*U5T<RJrg6b z?+!}uNsyWNoz%SVLNsETh0Kt~_<CKv7Zt_E5g+mj1nj2?hox^iH#YZfI*iWHUz<mQ zh^eTrM393{_a<9`r}j>#^9C~SMO10%e;vB$Q!Lk3)cD54POZKTJgu^Ld#>E?D{7_& z`o%!&vfT0zVpoRv2u;<A^Uma?=cs-^KQ^6X`uip8FEsixYs&*;-^3L$6jfv};Ip`D zv0?U_zjW<#5qNZdJSxtkQP5;_jCqy?j82ag#V?{#JUyip5Qz2c9$dmdx@v5(I~f~~ zz1b4--E%vTJ>*xtCw-93{<?72r*=y2?2v$e2$0dLX;+@Yb%iDhOFqW*fT_w-o`sRy zbCrK&7bBsbzVG)Vd#u;5O_)=DUc5weIKw?~%D?`YSZ9CB5TN~eiE=1;?f5jd1)Xxi zyv3<f5K+r3sLbJy_IsCu<Qa8Yx#|%d6j1bS4G+l02*ZW|DHXv01YVvja}Wmt4+!Ld zF~cI5IGACW@c+NYVMZd>6AW}n5D-%EyIBmad58{k6vMBc^o~N()*8QvGmOBfKEv>r zBGs?p_fC?U*Nq_y{4YK3zhA!}cA;EaM2SofxqqWg#kC1aXMqOWVNh~Xg<^B6F$ZC& z6u>HMl69H{v6|@1;H283$sh_0911qfxrn?V^baS&BQZ}0DU?X5O%P9{VtRv|DyZNm zl2vJV`pT6q$Z-#J&=E~1i|p2y)R>_XJ7twjGJQq#?Fg$C^0~UOedk>{hPPTjU(so; zudeCG$dmVFb=fL^mJCILXDg@v7SG+g^NRgZ7b`W~i>+!8$@2AsNOApaMfqW)t!cc> zPu$t)T!oFFammuZxEZ!d$d;{KXj_s-xkT=J+f9ztUyb>q$y81z+N{IalaSqS%gCu) zmD41TuM07jf&7*^jzLjHmM#m#D=3%BL?G^$_7^8Yym{Ifx(R7N^HgwbB2n~^5r$kf zwc6`_z$Xy?jo}||7C9L;ePPTfw+c>zG(X)MBJS7Oby%L^r#^Q|`iV6AC@-XnN6sh0 zS64;5HbQQ8FX3gwjm8}Z<eYo}o*$EeMXs8tB;nO(!ilXf-}TMMnHl~Urp_YLk=x$R zbNJ<+_E$}=eOrBts0}`yXvS$>ix{I+c+!(;Y0Tc&yU%;4wFe<1u5T@x`Xzjz+nrL` z!m*h0DrWVZDlX9B^4NxdfSP3seBSXI#3$}4^Uk(E`UL|&<@>47fuo4(3R<)$LcEww z0$7>>tSG0e)ABXSxul{)=Lj91>Rgypbq)n~C?GEFUGh}T-Wg^I;%1t*#?mjRFB}Q& ziz6ckrDNBRUb-i>-`_G2eLo#?9S3LKYyaVBZm!n*fB}+W;~G)gvFDNsDza0pPtRf` z684p4)|R8~gH!MV@M>=g2!YTz(2l5IdMvHnj;GM6^odaqfXV8L2^YG$kV2}i=O<{d zm2a8~{64<;!?9VDnLSorZC_-o^xAW%OcHVYL;3d>V-81#;VsSdFMVjQHA*Y=x{>vb zbjU)NVf6PO;s+m%4^zHUfPTjCP!k!+83ytSy^KConXy0p#iq3F6U>NGYu8J+V7$Yy zvU{!N^9jeExS^2;jiJVK$=e%wTl?TXhFQHtc7EI9yzKqemBPj&O&K4bB|`VB(w}Xp zDe4Mk{a9BKQ85>L`lNf%zEgsLY~%XL=)o6!I38gBl`M>F`BU|fXnkTcSAGW!lZO^~ zDa89Xs#3~PWxGqdPW{to>cT5UxjBuWPXv=ApDWDzduE^Qv@0yYbN=!ZUAsyr=bS{S zfUwjj&dUb^@&PSI${AF8(MrzNNXVu8bXj{N-TXfQTV)Bh0J!{iXFXwK7Wr*x*u_em zi^}x9BAw<HuR-5Tzt59dX<D^Y^EwV!KRzEF#;VcqYcj(4YFma8p$OCe?%My7TMTFr zv2MLOrQEQ?bz29Z5UCo6oy}dZRxwFHFfx(6RVR3rOq_L*g8{z_i0~su(I>U&Rl_*K z&U@h&s#=Czc$EIY9}S#B)V4h0z~Lt1Zm22Lw1%+!icY`iS~$+C3h_ru{-(XZCpvQ* z9(U%kH(~SE6J?O)SZVFmwdJL1%98df+8+jTqcu<~tMK=PPaY=(%lnr^rDOv0adhO< zakTT*bdsSsX!RAo99h9LH3S5kSsSl{y1)t#&15kbVAyjM;1wX4nK39x!RW=40-dC# z^NN!cSb(04yc{}=%=YJ;8WM!Q!rcu!RdsJ@3AZo;!&2L?*nN3DK^p+GFZ}%a;ia?J zxg(}8)?0tnG|dfr)v&BqpL5NWMOUs>JttA5AQ55C<H&=^D#b%JFqr^gZNXrrP>wB- z0;eq%S`ntL9XjSMXUK`}?2sp64o07?IxE(p^&%gU-;5U_gYSGXta90tG<gk8=s)T@ zvl1m7mMiVMWNJS@-G0lRkd9J*NgMpuYp>pGJ^H-v8Pk51p#m3ASab(%H*l*WV7QK^ zDxJksPrfRvT(iZ!v>zO9Nvc0~Z;<Bbs4wR+Y_};L+RvHQjTT*6_|3nyu6dtbI>^Hs zd`4gH(YVg^Gp-1S$Jx(@D?~l*uD;5fV%E$2PioD49f$zy!MLO^^5Q3^%EayGZf}s6 zELD@gsj-TsoTo)9nKY(Vfu0LL<kF@d7uOR9tMA_bW4IxULeAoh4}2%Um%t;O8y#XN zbiF;14`xL*)bc~ifB5d15}>ooPiXqb<<V_}!-)p_!YZGOEsgeOi~dsQ_044?83}D` z>hIEW=!Pwy9lqajm^b<L4^ZI#w7DF7m%B=&Y|)((D1nYKp8q>8st?ciz_*m|&W(Qe zv!oO7r4(*<B+hr3U-&sko*2Wp#1=Ig?>4+@<N7_YL8Lc?EHLTVyvE<yc;|Pj=;Yt= zt(_B6xfdl^Ka5O6v3y^yy3FpL{Vg4@Z&YP^Q~QPKxf8cXhy(nN=Z~~TpJ)^v$|gJL zaNo&8GLZ9l`PW|oyEXC`Jtmu<$2RoUVpf)x0A11s3!8|nW87q8IfuogZigD$V!LX3 zqvq4-8{w)#h^T9eMc<3oe}LU*ANpoY90~WETw+byZ}f+RvXAz=!Lvh);GuU~&?}`Q z7<c=rx!s~-lqv5}=jXQ$sJL)9^%rz<W+_a4qa~JMO5&y*=_6)lsIEk-p$$PkIVOK; zZ7fMXt*mJk0N<vRto`AEU0-B5P6@Q@V?46>(y$n8xG&A;ZP{aP{K|{(O{oB3{@8*t zEi~7o8P@qF!iLfD(JbnXHqRr$(3wzrJsv&c-gj^G0Obdcsn6Hg#JrQX0ON5iVsIUj ztRRXA7`a(%XLu=M4wkA^deSmv^9o>a40MkrkcZ9)Vksj(`TneF`y^VjpH8v{T(Rf0 zcs&WQw&Nc3{rpj(5?xUkmH%F0v3cL-Wcnio2TG>HUD9dSAzs*(VXktjZdb+Z9Zs=v z3T}4yTNKfmQ0|fai#Z8*FVFjQ*$9FDIr)9t@Vh74FU14M#cKws+|qQzKfLFyFW3fW z-%J+B@GVUdaOZku*LXUYdhgf{xjnzvJ21|m+m)&c&Jh!+CrYNA8Ch0v;6c55`dA<y zD&#@T1+{nEgC}Qx0p<N65Q?4C<bjX7-u%$T=&)e?RWvSw71!QC8^LR<5YVdfu%P8t zDTd2HY3RHfyMKVVSyk-d$Rk>!reuB7_VQd!Ps-D}$j2<=P(K&+3wimQ`(<hoF0t2+ zl}ny*0Q^pd>@BxOOkpdIW%HB$tI*gt$p?D3noO=<HXgwu8_t7HA|By_D3tg%W2yKB zMOeuaTKe0j>E!@38TaVXKfNHlnppQV{p}XJ8RyZ{48~t^>f(hQH^Xq|_#EI)()<cj zO+g-4Vd8vgk&-ytj)jGhIHpmboftlYwGLC-CLPK@24-3jx*ojeu22Rv$ZSnG{QOJ$ z{PChzGZ5`yrSWTGnAsUQ;I^QrAX-&;`Z`uuM84EFHIhMGlu3{sSDyaXWLV6yZbPL; z05x_ZWJPpjhwh`d`LL3OZ@OOI`E=+fqglg-8g-{y8*urtH{zI~l9t!rM)_5z>*z_* zM-|I47tYR6@ebr@`S-uy?v$YSlyr7D718|#5wUP=c^@zZRl1@P30@u?kj|B#SVB)C zhslM5Uh3oJFxk82%Kq<gNdlq(W6LROqhY2ZP+L=l0xuYZNlKPnOe$+UkDR-@w5$`# zR0@e8NRuov=ZTm0X0j}=n~y?1Y)HDX61rZtx7L`^_O{2J3K%U*jy)KBH)A+_6Gv@X zN4kTKNgRy+Wxv!Xvt&_?zv!f~pujFi36T$FOvBd35Cmc?V5T$M6k+ETAj*T(H-sP{ zPJCc}d=W?(=7Ts+%2Q;8TjZQL`fy8EZ<j5&yQ2`--2!2%0$MZn9sDlI^A~;lr{V>+ zS;NAls@zq%aY=S<H+F{A8KP0<m%I*3B88QjbOQhbiG1~@svo{&d*rge`T3C{>=KN% zL0v-Smcv{0YL8|F>GeJSloxL5>ay=&UBwo;-UPO+5WUyxNu98Dy=?pWx2n2+SfOA% znB+g!Wv^L}LPwmN?jVB9Qv28Yhuz{TcRqTzKeTd6ae`XlZFMn?deW}|i(Ogp981x* zpJ5!HT4p|2v=a+!J-p3bHtz*m`D|ihXVY0m{-P+Rmkl?vIt*5JMZ+3-tAYS2RI}Zc z5Qx4X%cy^QZ*J&nA&V1oPv}~@e1!M1JAu~d2uv{LU=(1Q2DsFdI=Vl(_N$df3nBNu zdw_DH>PKkLW9j5MUd%}1l;`1ef83isxLhl)6?5Tg>6Z<nDj;#yUlNe4;oT(^e<QQg z`6s2CSW7^j!HCz(OPuBhx%p3X07j3F`}e?>W#9^co=gV0>agbmQbg>#BEt-fc2!KC zEF9f0T?i_6#tx5M>te?Bhm=zqY!IQz7Ab2IhF+t;vnBPnK+uT@N&S>s+V1h5FHsVL zPv^ZyPPnLUv8Zq1hwFOVzG91hGRDlGT%i9635Nw4k4^2(?_F)Cd7cxixY4KT(*PND zZ1<kqI`|sZrCWP+Ih?rd-p7VX0Y2<F499r{Vdy{q9N%t0;)4!DeRTT@<gLu7Dg6(* zXbTjl>xd;=)xabo(5OhTPT%4>soAhhUntaQ<1f%B&`At7)hHL|GxLCCwZ>EZuvn(m zO>!juR71->zVDG*a80G0O8S9&(&)jBftVjH!fC9sH8s&Ln*}MVAp~yrtvCiaIYqUF zNc?$Z(I7<@TbqJHI}dMwxIRXIr|-mMd$YejSv31(f!XI%?<XME(a6#lhzYFQ1+m9q zsVW_g^S#mUaq3Bm3O%J=w<7RI$E~ui9k4d)ed8QVdBjA%XP~Y8+?k1M@UN#tCfW2C zO6GjXT9Qw~`snUe?Y;JP<X2jzntqR$3z+p(erW>npHnH~J?S)@tfK4j4>S)NF3<O7 zZRZDE1{gjZQ+dy(g?rLd*$=i6V)Rs)4J$YG+NY<?=!8AR!;wmoD|nFhsJ7z}1`9vS z?wo-F6}~rP&ws+RtL%16@p(dVdFB$`0hs-23y;PCMGUC9)nXCPpwFs9w6VU_`%jk8 zYS%$m8Xw%iJY|NY5gi6b9HAE`_yqI6&6#MAB1^N^`Af`eg|HY}?`pC>)J;u=?3|r2 zIu2VZTlcr0;C-(wD6y!jHz^-6u`HB+<@p=cNe5^X?>jWL0Y)RCQEba1IF+WpE@2;? z+>L+(^nTL6s{b+*qU9t15k18CTuXT0X}v1-!lA0fkaC1ovOV?_{z=X6HKy}BZQQ{; z!N-lK)O5Ns)ZcIjj*j!lINj|s$(v^S>k;DvZ3~@c1)euwIHssOZgIXu5X(dVGddzN z!KGuXCEUWXbChiwhz~!>TzGp0`ETF$TMr|Osuk@x5w1e#=nC9_TK?=baZX_88ffl3 zPqWiQWLU`{G4&jN`NQn3Zc^ZskAqo*j>m@~?x6#5i78#=X?<oR&~g!%uZnk=VtyEE zQVIEhmm#%QscnnU!JPQ{b;#P)dEH&vOPc^njBcq_GFWwF&45;}(Oo;a0K;)C8DUH~ zMQGy}Gc$sN@;Q<Mefhyrd`_W8&WOhWk(CGH0MV#i2Y^7JL3$n@CW0}KQ_ZRj6F*{y z3sAtp$dMNzw{ewH;O0RyewWx?41XO!<5KaX$o)kQ-6r0{d#$US0zo&Lx$oLo<z_DY z{2#+>CIWc$tFLJZ;$r_sl}4WtjMwNokXNKt+gGKrV=xLwxEC2<B5+7SiWnLZ_%NUd zI!!kZ3I=mo5w6Xsd-XXm93$4_;dWRX%*?4gH#p_JALA)`>;=>&Ck^*QsXPxn@o*qN zmMp7kq;e4wJFYi(D<xeM1gp~kUuiy3B~Ax)iI={g_0Ma+?w20K>2V)IRt+OjM<+8+ zE}^Y0ZDwhrt*%h@aO{?@!UyAQfvu3w(y^tx6Te$0jMZ^_jiqtRrD&xiH?^)LxSc-- zV+DIc-V(%nRz<5S)^1^Yn#z=j{{tM=G?}Z-%$_#Qg@H|ww_gc;<3&lSj7?j8m{aq8 zB3-wgQXBuuPqZHV6*CKAmt_u!q*PDOKN56oqou9(+t3}HofsaBGl?BUvjT-bOEE81 zbi71d5F<aW-cc^vA=FF)17Wfovvz2M7I$OKtI8Veyw)n32%>b<1E)n6(P`G`8kVX| zpS=gYO59CGuKOTGV-G*vHCY=tHm!4}bU={eAx_`-Zh^goZ^Emuyq|TbJePe{)$J8V z7U%i;(e>=BnFh5>pz^fFY28~May@igAlE1x<)WKcXI%__!ckC*DhIu<+1p{7EayS- z>()!JSZb;H*}dxkDM_<xcv9@k!?5f1xt$;1%);+-O9s4;q}}D3cCPD6Y%vn0-#d*P zyBWUZ!<l+)iu$&-i^iCIOB{8NLY~?0tP8|5dV7v*R)}Sjfv0u;pNIlIBIM`%5k__Y zDYC|Nq;x9z!=~Dv=;`z}a8?JRYzc@ca0XmEYC*EDak(49PMTL)*qn3&Y<_tNl%m?W zP<xebn?tt8k$YikxvC~F{c_H@Pg!F7(~Y6qpVX{HHlE<`P2VEW@({lm_b*bc&6lkv zeUuH-Xzuu(P9=u_{_nuQs0BKtwXTj5d27W8wzfSF)jl*;6Iz<Qj1Q3AD}W52sF09A zbdnVnRb-hV20RpV(3N+dOw%qpcu>!X%6#)1hU?ibh`~gUV)0RRjor@Cf953&cD_p< z*8bn0C0Zo5F;;n>_0QVzIHdg<v|bR%8v0Ml$ky!Gn)jH_$#DVC8y~magr06B?f7Eg zr@F5Br6*fgFt?c$EuW0f17s(DH0phirqTt2%_zS4DZXa>WNed?@GF{tm#Simo>m`_ zS?G#wZZ>Ag)9T@$yjgG!D`5!~{SO7Yiw<d{5sB*C|4z1H4Im~SbX(@CcwJxbAHGKr zpHz#Qs!>*hx!y9?(o#JJl?0gb``Y5*_4Do^YSSIR3$I5;f>Kh%^gn<*4aG28gOto7 zy47dmt~k8v<KZc6^tqtta)9#g6#@{*Pq32~+Ft2vcJhb2i~nuHHzeTaSRuy@+FriO zS2ybx6NcB4*j^fu{a|wb?9up01aofad4T61DO7G`+S~JiJfbQl%U<Wb4?d>+r09aE zd7VEIroXk`DBG%C&EZpp6#LX`^ZWyxMiqLPDrB04lZ!DeVEhAEJ?!E~&m8D1wU-e= zGwE1(_mgI^{4TLz=}E1^Fh|;pS;zxb&^su=?N}TlEIeaktUr1bI{l_b?%7!Nyq|)# zX~iE|PwnTABP&@f*ulNUhtlAbFQDgqe+xAEL85XFCNq+;#eV!R-rTw|7jPD38dfVK zub*dH5H=lHAD;O0lSz&{Adl#3I8~C}xAVbKjxC)cw{=w~jg*-p--^Um*!$xnd2UU( zK6;HoV!q%}r4s)TNzb<z#E3qOPtK+2I~wXACXmjaPfaBBgdz=#<w($$Qs4*VYeh^7 z&<GbE`ft2~h&;T!0!$baHkx3TBb8G`zsaHr6bulBHd-u*O^S`a;cLJE6kN<CTH{}L zcvV+cVPaA+*#o~T+fw);Cw7c9tZsefZ10TwBF#M#C#3JxQeD0Ohcfh!mXN`bfA`ta zp6X2}mGvhE=V5nFF`|k?%BkT5=jd{>!Q&<t-6lICpfz+>i$oB?3}a5FSdy7hv{Qrv z^J@`s^Z~2@CvlC(Jy~*?6M;=M60}|JtIxHGThF6o5Z~Nh4PZRPLMLQf1>n{n9rO^W znp!L>&a4=D9+jqLFn=>#r?wPgNEJ2kZAxtzUawm0#Q~yv;_BmSA-EeNTUV$-gschZ zB~l~J(G~R-Syx1o>U5{CI$>!;0N8eqeVH4=pN_e1px_Jc@FywaCu{f3VatvwhyQ^c z_wPn1$bixGtgyj?biUfJW!irLG0Icp-5<)@xCb8=169}^6m8n*moYW;$UktEgk^5X zoMrz5q$n@E7Fy-wrtfs0U8vTYwD#auJ_u}~mEvL#s~ZX*>pcC>h4PTH#)skS{wKUs z0aH=g&x71e&xlX|o*lK`9tdY942}7@*Na}WByFVs15gHNY-qxSwEmtEW$wOspc>oz zP(#mB&*nre^{7PWqlAC-sJrnk_s3?x*uZRE_;`Ki_4PB|eeb0<YtoRLC`$(_7Z>H1 z*ZrCmM;dr7VmEC!vQPBwKH|B^&LDrTarIQG`Q^PUkA8CF#w+p{<0<*19<9JbS&C)< zqh=cX_tXSc=N}rnDJ|nPNME;9oY<}W%4!g0KEaZ|Yj<WC!jzvsdXloAcl%3inBcEt zu1F)vTbx|wE7?AB$dyIaM$;gH4{5E~gw{aRAbN&l`=@037@qE?eY=O^hOE_cV+*V( zsT#IjjoOh=r?*}wLL1|e+`SHd4BlYs5B%?9rE{Fq0yx)_75UYNyoo4I<7Ckho5B`Z zI-wWGX~ljm9GLX8c)(y~&Q(%OoY%5>7!>4iDyE-$D<d{o-%L7P>%bz9ruY^-{SI-U zj0Fz^ywfiI5J6h%3_LUQf>F~gVD67_v5k*4u~}WJb_r9--bM=FqyY@Q3NKTZTh`fn z;@kp0!EW0t`q+}%La%@ge6%e?Ty30nyF}Ro+<P7xNdlW=f~DSvLoRs-p7~zGBPJ;% z!{DabA-36IJ0o}i)+RSx;n`}`J9Q)3a$>Hkk?G=#(?vM$w@9q|L5USxAEUx}soV{# zv~VqA2Z%AYtnv-C3a6T-LVeBmI8Ew6ktYjhzscuvy!iB^500P4+{?6s<)H&TWqOcz zDjn{a@v5?PJy)aKa9&p@-$d6-SfNAx`sIa}(Y>H#)<N%;iSVe^F9{zjDmwkt7H3Gf zHhYRjslkrJCnp2J>{Eb`L5$col!z+20ZdZf<B~_QIy@uKV_Yn><9yBk4{#=gogoDH z@T$FIFw=NvJ+2;2BgJ_wNxV)NVY$kXj`kN;eft9{WxQGbtR;uq$=#mZ5`2hg)Fj$8 zp^@3>>v^%U9%>yyLhFrbFG@1}iO+6tgCjIHZ0RLyju^um$a4?5wOh*r5w`|G+>t|c zyB9~rbDhnNSeDBQzU*dWPH@se$Z6WkTHOydJSu&>u`K7EEm1w6Yrp>kgp<qP{Y?2B zz+yWzY!y80@Eu`>`%3$BzNpei<bKm{Dss<lbZIAVjda^@${{yX8SuA5FXR}~Sx6;4 z6nwxOY)8XH3tB5saN+)7`yzj#jtpN%L~A-P*=OAusB8=jRKg9veAvO8AVa#^u?Mw3 zK*hNxvC*RH#t~);jMs{sTpaSjXo`%IRJI@jO#_pV6d)M!X5?gH=zAR+Cc|(j<gj&; zi_y%6oE$|l1$w|HGXl|Q8Bb$Vo?ad>hdBS?0`_LmcDm}$FR_YbatMEGeVx+U7%o<3 z_Sm~tn?lTXiAMUl<KxRa7k6}iZ_w%$^~+ZAx!<T*;mT2lj-O|*O9`a;^o{1l-NruX z2$!Ip1~6>|BXb<XG2;hx>JxsvAOZ(i;3cPskJfO3uvNCxF)I?2ggMnXF=g`g4y$pR z7Y&`fAj@x=0oNlYomHO;Qu6|MZ88|QeU;6mhLbaZO&KwBcM{?jk;TJfq2b1Ie^Sgg zr4t((auA}u8qXFee2@jWz*5FT*d?VSTBNxcP6||K@qW-+4k(zT+Xf;^D~OygIX#(U zsguTv>Pi`dX9c>VLGU77U6HR8&6;@FPP(H~ayuVsQaB?BP$w!l1C&;zNpEE+ZwF?M z^mjD$^o0dzSb<a--t#!6K`(jOd499dU}?tch-7A4o5(A9F_y=SDL3W$Lt;{@RzJc6 z4faJBO!c2r`SY6TD)=+^Ho8}2xNc$!*|*tQA{QtV#~q|FGE57Rt+zf~duGUJ>%<YW zLI(P30;<$#mX9pR6?j%q<>8aR-B4^Auro@D%E^iO61d=JxH*`iR2?g$XNcL_K6Ia= z>^5r5Zt%*`{<Za6TSh+7PhpAehVRxdsmVokOpM+UnAD7HpEbM?Fgq*gWEl;Nb(2xM zGvl7-_k(v~-iFtiP16N_=T)4<(?Mq@yU7<qnqDAyH8inlNa&I=UaKK6CBRCd@_3h+ zkm2}b#^fwE3~>NQsfVUm+$ljrS)Xxn!zDFKs*`Ek`=jmiGg+Rcy=ej&>i7NieugpK z`+Sxv4x9A7*wqGtejc?U>ztp-&rbY^%rh!0oj&$7Kf#{XpbcW)bbf%_TAoeYXfog0 z&Z(19@pfgY7EpzNp-bHY&kBo`^IL9pbu*t;!&$R@yqKNIW3}d2RI1It*e7Xs?OZHK z#)H4nauZjC<AG3n$!218kmX30%En2)eV$5Ofr;xiq=0bOuW&~0`szeldU+KiON)Y~ z>|QdCB4R*TEMlsQ!a9j_UtoM(!-aEv!Cve6uv_s#!TrQ;$JNn0iND6stL$2Bx(Ygl z;<d)G3(GfZ#|anGbi+dLZt32XpprwQfZ3!ldZy&+<nJe|zQ2B6P^g_U@<=>8!a8tF z*zDHBrC)ttpI|ycwP5mKc$4j}-@X`YPZ?P)co2M3MgND73l4u3J+wt=rH?M7aT>IZ zi6P*RrtRoY3T%X*?ev#|78gv5?P|OTzV34=a~yf#{esViFyn}h5yyW~Ra<?b>8!|r zjx#)ryT^u8VZn3ALKLqudXAG@DJeeJ8eP88AEy^fieq)Q<4eE%v<xu%>1?JT;QBFp z{~v%i>(laNQ}c6Mg~)wODm`hGE4$@bFFzFZY08bYDp7J8)H(?vXT$HPW_3mfp@x`j zo|XIq{8hPW8&g{p->YbNc_NcYtP7nH7^WY<X1e-z-(CX`Uhcf9aoFrJnwQi5TQOuy z+9yl?53o^eUsVt+8v)@|<bdEsP=G<QU=Su|5D5D@41)p#1Oza0{qLy8!HAw&|3ixC zHU>Nx2M03(TbomkMjKtsP!K_&*Tv2I!%x%0RDOwd-Br#2U3y<tQ+3?7$3h=R)L?ej z700ioKi<hw@#KzYcKPP)I88TPEW}}OOZ?}XH_b9cJS`gz<|dAYcAoj4cNRU6b3+3P zNFFb^rCyo=&=qP<vQLE221AJ!a3Q?dL}^^}m}U0z2|z{=DM*&2Xq%lEq^pK~7mP=# zMkHHeUkf?RZz}TCORxh#tTF)G@<#{ejV(bPS~h!qB`R{qg{Aa+WBcY*Fxx7v=-A4o z$>`;lf<voq23sDPKtHbmdeUbZHA$owGF1L7Fbe-t?Q<{q2Y`ot3A<=al^rj3$QWr` z@A^FlW?Cy*R1A^mtcnE6!M~z+ui}Gx<|0O9kA&)b=VE3+!NbpFdmXKvTC86sAtyyO z9wt)}gN*daON|O|bR-)0FT8Tf8Mf(4Dt>zheb<@gsdm9Iw+i)wj<caV78DK*tm9J| zv;&KLRA!zupXII^(*3$o(H9@FEB5w`rmrTGcCVbjduY!3TiHO82LRwKzkEBozZC7g z44Uiz=w7!o{ITG)XVwJUx4jZm_ohmQlDMfv<z5l>L!UB3Ct_4!ALXsy^K9uP%g-e1 zgcyW4neZr03_)z$C*fHn9Mv|hOnDjL_<pCh!OOeJ_+$z^+lw{Rs@reE{|5jkKgOms zu*{9BuLiINUZT>olK+s^YJ(tZAOyz%Q`gK#ox(}V7YMklFIYAxR6dv_SPf7RbeiY+ z&1L=)X*UQsP@EIzE2eZLbqv7jJ@5*)Bmf*A=+)3#j)aLK)@<h-m!33&|6s_Vv)x<M z6H=_+Uh06@m*EWt<`{`$g@~h;#MIp{@3nhI{wN`O*I&EFLYP|Frq0w;cMPNIGHKg( zJnzfBMa6@w*ZF1Q6n}gr47uC$x#t-B;Nxb$V!?tF_ESVZY?d)u{EAvc^`IF*mGD`X z@4<lGNv3JmCE_vyYlU%gz(cs@<g#&C>p&YINOg~wdmxq6E0-kGGeMIUw|{3??C1Rf zD@U(fQ(3K0I<O-a+B3rjjtR)B>KbVDG*sfX+qRVO>jcXUA9zd4UerNRW}LLtg>kW7 z%uMs{jd74@+oSjfOVXb(VtKuFcIqRM?jv~R)xq6!r6+$&49Xs^k{ivn*;X-(7?})8 z4BxXxU5-<|m;V5j1c9Y<@;!ZT^%g>!>9q|WpvM=t?&o*v0zAQXS9hXx_ub4!-|H%0 zA(XxotB);@5WJ1B`-#2d|KwV20oId;>E%>&a(KUOf7ah#5rq<zWTYkkTAT-0Sf}q5 z4f^utIPL4WxepQe`pT|Xx6_+5u#bMSV7G4$=N?=dYxKp6R-7IhW<xqs#PDUvJ;kn0 zu}?11n@B3kOlXLRknn?ye(iNg+T*s;{AfV-FCuE#HBU^6jd<%S04JlaKkWkj7@hLl zuU>7Q;XnnXJbf&(!^^|P&s?;lr%PPg9iCoTocba|)mi9!%>%a)(fqH3vW9X%{$Ux% z+yQy+=b(b8;DjxSWDCmC<WBp<Coldu%=xN7zCKA7p+bzGIl`&8f^7st<RzEoMR0K- z^3kk{oMc`)HjW}G9%e)`35Zk<Lr&3_5r{@$Bw$$>ww-JN0LI0PHlY<D6?O6u%-XWN zvJrSXToZPt*wq1q?%h#4pCDH9Gken;fve~ewyblz9=^O*KZ%t)-;PfqG}`*=G-lMu zIS<7;nA&$s^_xyT%j4;lv!Q!e_x|Tm8qST;d%6%DDD7AP6q#27%pT1+09!CIa!|8J z@lqOSn(I=*V6xzin=)%msx(HMQk8`ZX=aMhqE~A7IM!u=bW8-k33>iXMKRHNzO9Op z6REBFbNh629DD6rhR7K8SjCl|2ZL8Vxbf6^fpQ-cX^*MgzU6XHs>2R%cs~ZZFr3Xv zGR?ph)1rN>1x}8}ZV&FN9D)goMRVq7cxvW1C5<erZa_?Z?IlEc@w*dbFG}enfAh3R zMXj7_k2^@j+W%BDZ3w#=OzA3A^?(o&NEu3C&HqXABX4z$`c9Qj+p1H38>B1rOn1Gq zaGp-HbIsyQqoq*mAI9Vft2u8|@!CTAl!$GI0B#A_?^6eZFx3{ExuHQvPh0Mc9x3jO z#Wn`B&h{9FUfW@t-Gl^G7%R6HRinkQoJ&lHGO)}tuLcvQ#6b~PK-oy3R=kd5XcNB- zN>S!@kEh~{^P-GnS^)0uzx9Ygm3TJMR#xoncc<+HB6H7*+#8CYJ8bUF25t@f7dt-T z)`5Xe?4UY&uAwYYx^RE{*xEMbcB*Rj^(8-XW&x4}KZ82|;I(W)z8tv-m-iJ3=Y9bR z2OI#BEqup8TOTY70b#<dDrC2L#d!s725^P1${qCe`(H;kg}shLa)T=e+}fr8I=TW| zB;SfDz&A{mxjUVWyix>0U_*s<6LbBnf6oZp{v&-_Q*?f{Fz4iE;ltfHlJkRM_AYA2 zO=WHOjo#O2nK-z+Epbr$s@#*G?5(C~=htvHUSZ(<nq^hu&LkiGu(LyTta@FP6rjQK z3r{Np{C(_2UBZU!5~(t*RZ?(DIcLecscsUjxIfxQjO}<9-i!Vv0h3@X>F$#pni7#j z8*&PUjSzF<3X+&2St?`4HR5RP_*l4@uQ%{<B-SfJgO>K+6_H=2{?}8<#xx-X=AL$_ zclQ2fkVnx|y=3Y~xuMsqK`=W#%o+jNyKMhSXJ%7|+mOo6pouyPE%a=UDSc0!T0c%} zN%#Ov`Ga9M$=Hs>cE!9gy7<oucY%sy&|2)WdEy^H7dDJr!-Fx+6`NxDHD&3scxl$S z{$>0AA(6r6Lq~=O!3X=Ze#(x-t@^>;{|Ex#rhLkDFwHow^-cT-IDh!~53t7ll@Hn; zXSKeVAzR-aua*^?55e`AVFV~Lnh;x%$j@GqZ~-raWf!)rzP-3St#xSk-6Yly8TCck zbQm~-$r~tRIv%+P?ayz8uxJBGx`@gXj!xT?i&h*SZm-qHr&+eL%$!H}4y?=i%Yq2` z%(;upI!A8oQ$;*;UlgDr9ndDu`120LJ|~o^$el`=cP+|WZAOv`Rwtt}qa?9o56`Pz zE5NCnTqV=tvVMlt&9bzN`{-J2POH4Zu0pLLN*N;UrPUbp%Jz<xYX}&D$4nUk<Ur)% z{LeiDLlkfzA{aqj96-n*7y5L<$b_wp2gJ(@Vn*+h=oeb<$x((LS&U#g3iR%X-rmp$ z7a=-JUsshl?P4=$nc;8|vg7c+2ZR62FZSa$0{i=(C^;<=53L>&u{*w<S$oGn+E*UL zZ{Vm`b2}fbzF$)7z50z3SZ#~bZ$L)I>ernXM~(4%u{ppZqMQ^X3h)%sP|)B7#X=>~ zlb*;}*hhSr;)UXCZ5p+FIdh*e{XEjT%QAUwxl<e(^mrvH26D!OI6<-6*qEHH?)t(B zJ({x=O8W9;0wnqhp|Q3c3#b5e`IUpiE>r>`B02O*Q3h!vaNeBum+S>BZT+$?Exi62 zd+v#`^jE9E__XeOWNmYIav!4<@ADV|i`Ja`G$q^*5f+_FX-cFr$$0a4i<9<Fl?Ia) ziuOZFRnOmyE0U706ygkrP0P2ZT>~Uphr@RqEunIjcJjO?|MlrCl7gjtA>*?~_ZksX z0uyS(+$rV6=$KSiLWdLwcZt=S^}Tayaz5FmuJ2yYP_d9q%WsS0L%zeh;;lpMFLkRZ zYv|UdKlu+QUGwFgPb`aGR0&hl4+^cTM`ih4CRIFo2;BO2C}JD-MN|voqC3{*Vc35X zn<!;LviWip=;zLJSj2-YDF%mLBgcaAbAAsWQ$R<~v$!u2`Q1^e_;*gGxftknMS3T1 z_rdDHZZ7oKy^MuO&mKOrgL#=u_Ty_DnIf)UE3AWoalqmC8&<5vI_t7q11m`}(ha}g z%_&+treo)J%IK)W5rd|(eswckXzQ@{8c(-L-z2|F@hY;kj^L<ux)hgae9PDGua&0P z9frq6x2bpHL=drjwT}#yW9bDF{+_nCaHWRVJ6eMEZ(ZSzCrj;g-!KO*XR)J4q%|Nf z0ZXyU?}m(nS4nm$?9sh9Q8gLoL%ryEoGo<Bm(6VLITfdM+BX$ozQS{-9fKQM(zif^ zHU3ro6z?88d%>HhsjUp1w#`_wu5a~OpVcfDHzvJh{Peos2Jdcge&QFv!^Ab*r#$bZ znryxFHMsmMGTtN=Qe1>`c?&15ke7Ek;WJa#e<P3YX4rWB4?s~pvNMD*<qREDTUmRT znTBB&{=zAmUkc`PSffgyH25uy>zjesbq8qF#gaB<4q(t!^AGSb^IZOd?yQ276RWm~ z<_#D#_`nWn8Sm7XFsTQI&VNsJyUNonDl_;rpNB7-?06O8yRI1|vlzwD5x;KA!nXb` z^Pn*>2W`il^00*Y;QHT~9MN8!nn<8StQP-B^KG`z?9zx6+V6~cw_@_cX*_P!o7)E5 zRSitq(?7gemyD<8xhE*HD6V8dHCJj(ArdP2Jfve-p~5)ny$%`d&3NncR<U}{6@08b zYasai!u0`6R8r}}A%l(wT479U#)2y1TSmASj)h=yRD5Gt)<N7l@96znYdWZ_=EYjo zjeoYZTwg~izw~51#g*NRuP-$x8hct`7s@LrO9AAlWCQ~lDH%g`3W6a@uwaNHsT?+5 z9>SJWmrV`;29Z#pB{v|z|E+!n|GU$o6_zkY1R6x;1#y7ERFsMoy3hWQ{t`@W@Be%V z>;4q9yB<9Du;$o2J9hhIxw?b8WGxZ9H(fUg+V0%*1HfB|K8nI_WZb*xbhuaUCtyw+ zOCz~AF=7IzL&%u8C;hsU|4f$I`JSNcz=Cm5F(bOUB#R=LMB8ZL-1QOCSW2MMydX<K zilZoxgINqxv_oGi6y?ZZJT&U6@gN*h40#f4Qu)Q#c+fV)0v^~+?j=3}Rd%^L*l@rz z(!LQ+08M~CD{}7?;Tz{bJe18;J6cN_UX@h|2pOQP93TddtCTt7pQ$=+{fx{9S?U+5 zIOz(xcB1NM>7*-JqK&?Oz<6QpLCJ4qIt*2Sg-9pYYXtD>{^k*EPd2emo_#YOm(Kp! zx>dycH0NYqIJSE*+Dg^Z9uw$s|2%A%{J<>_<FxzTE}`67n8#Mf3^C}m)1xXP{ilH` zXrtE*FLC$XSMJ5VgPohluR-@Dwnxe1GdFqY?w+7LOfE(a4z$`eEx7_lD$5Q8Am~Z) z@@8tHO}R3tvXm}en^N}jEJ$~8m)Sg}fma*gxi4j~x>Wo;9vAC|zUWnv*vjl`mBn3j zDEZHnY2o|LF?Lhdft^3XtqhEo*%hM7v~0cpVnLn{za9;n+8BWBe^c2mx`9r5qN8zv z2Eacy^ldnk1Z?Sf#s{(J?d7yqzv(ImG;p{j(qqPZadX6yXZoFBKjP+ODELt;DdPb} zlpgjobS0Mfj(i*%?Mp0-LsEvwpZxOE&X33cRWEyezsj-RaCY8R?I@#!+!i<3`{*~P zwx#uY>|r~PmQ=ke3N7Z07i7jflHF^Y;+lp%Sz|OdjBMM6ehXPoQKMAFcHxSV`{tHC zZSCuY)pvB7_=Rc9x@^+#IA&k!67{oa2aLO<*0twQ#dqnzohU{5y;F!JT#Jvshr4%B zNhxIG6R`@W3{%Tr<amqLyXZ5|TpYvKn7H0eTDX;dk9szk78G`VdxhDI&EmgUN;W!U z2l2ZEq;kryRBU)k^O=|OjXaw-)#F?bPMCKpLv|i61G4l3MN>bUly!%rqm(KQ=1RMx z6bmNZ>(BbfX9QzzUbNrzmyRprJ8dB9_Pw7aa*Z18Efla)j}+mq5=rINN;4G8T0*G- z!J?e`II+CP)H&Bhp*wp+^Pss^hC5y#JHIc~nuj)fJ#$zV7{fQk`Y8+Rfy?0@kT!`| z3;pj2s?)ZAM@H<sQVa2x1}OI>7zjQQp>{lQwc7{b*R6l4nf|7_wkvUNsqWgca*c2) zzDwH-s8IS{OG~a?Kl$R>Sck}Z5S2F>FUW4#jp!q{jiL*mW#msi9=u#p1zR#2m!Niu zdSaP#7g-8}L#sqn`&6=1BLbhsit9A`50#`@Fg0bbV$Vi;IlZ0J(<-ZM3f*!!JM26P zIf!heHnV&%1&|VR4vk)5%;@k9OmyTC1cw5Qfu1lp6taw5%*g+JR74y2v^mh3!Av;V zMHF~>kzg<;`oAfiIsdwvbzuB5*wl{;i3IVR!oCgLp~k}#W!`YzrM)AL;3c%fg^$kF z6TGh*^ucn(l;mfNdoSWFeUOdj!#{1H+mJCAXT}T{&1csv`?^pj$LvG|x~xxf)iwG8 zOLcW)OEPHdX}JS3#=R<M7T-x$jesV*B7T26udSHU80d}E?kP)74&VxcS(TOG<>5VQ zkZ|JZxWl+=^MI2TP9QFN-3vL)IqX+DNF8lC33~uXkvuY#vk3~3r>HK%qNIq|Z9;7E z8q?WU(2^RlgvVkoK9lgFXczwxL?mBzDRH%v>TO(r?l$9f>zhfd`)`r(1F(lf-^-GQ zcn8C{>Q3=RA*C&tYigZKBN=K*IYIRi85mpNFxFsXl|KH=BuE%pZ^7x-@Um^40T&v! zZ#kVb?=X3m5#srqlRfG5yyL%H7~PlRtQzExWkYW>@NmqqgZNwS8oIN%q|Vr9`N_X0 z%Gvx_$-IB_WY3dNVh8&_#bqz9aWTWnVl<LpaRng=K>(nzd(dfmJ~n!p4k|+vgP?qD z2!z0l(NM1n%h{l*^>ka27Axm_d^-(yU{>ZiR5PdnV`%Y5VC}O%AP>)k&kbh_dwZ}M zePcfXkz5S7CYi13pm=|s(^2!fq>W0EvRwz)dqzH%cgQzA;@pczLu{cioErWzvC-Tw z^~)kTh3JyEQ8BSre9sdNU4foQf`;sf^=#hxT0>iUYRp$oZVZE-e<h}Cink}&hO7`1 zu~yhV#r;>C@6#jXq=n(@@y;P%pogbYechyoS9<Hd56$bfvU{wZd{qih-ujXPHk~4k z^-5ZOm|tc3&f3dkN-D8;@>%9{bi`+yJ|L&1`D_}!hvZMm9U@WWwbeI+?gDfKBl=T# zuEn`{LAUmgQWKx}CYnyJzmI-+v-62ChSV;<yQhXQzhP?9*6h1rX6WpLne$mG*If%n z)G1x1;ISg-bD$%IvZs)PwbB0Z(LRYRRj!9&7_NJH76Il{(`Q}T$QXJ@-oEw>EPKWP z)Uty~7gL7?MSJOqS?p&CJwL0pzfmtEMpI?SP;XQ8MmYy9muR%&q&}^De=v@gbV)eq zynas)w){hf&}ojdDl7%oTN83kMiq4iFXF(<Fihug8H$Se-yHKc?RlxDzo{#ec3;U@ zf}dgi%<1)greaD|9PjcJEAne@vXX8Wrz5k2oArW%{;ElvHYDP>!WAd0NMGE2?4{Sp zsLkqIZdC6HL3X*a4$$}@gZ$Y!t>3n%;cEZz234v=F~gZ1O?_OI+X~l?U835~8x<CF zRQ?N)(h+ePx;L6&z>t{MWzG*0bTrDoH_dSp5DFhaKSD+xQ@c=9z;U<8{5`je5%sX` zzKd~lTPyxo)m5xcJ{tyOE$*sZ^}1bpRE2C{c?u{7_9#>iFPRj=%%Kwz6afa5ag<Tu zVRCT<apZ%sFA;d5XdXKPhyx<Qmd7h#Mld1}9B9hN6TQ<=$Wm}|1Z#65@JfdN0VFC{ z?K<~@uR5Jyzj5%p>`KZ0tDw)Y@!LrN&B^cd`twREjpH?}x;Aft8Z?pzc9$s+>P`<k zG96u0$BV8q?cJ2?_s><#j5nOa)KB%^@;w2SZkEAdQzaR*;W*b?L68Ssh==J-Hj0~@ z-hN32Vn?JXp+lEN2`Udk%8drg*}B(K%5tt9fL*mIsySd4_#6r592#YWz#b%3sKT>y zl_m<E8J(nOg(}7JNpnHW@ghJyl6<_16U;5RgHh}vR0Xf8qGu5RV(-bbXo}WadXGV= z%krv}+lG(RM;n^<qiKOJl;=4CI2-SS1N59C<xheG(o!jbB?^d{@EsKq;q=u?(@C8+ z{N7VB-k-t*@TUM#e3U%J)gsP=q8x@N>fh^)-6wu5s~56SZ-TqlqZg*Cd(-DnEmF49 zeC(dRF@do^jd)c>tJ@enh9t}8YfWap8(&oJ-%5|N<i6tb2{4_eJ{<;6d&o)A=;!*G zO-Tf9@f*DaH&NI}6{2m8+N>nlqsox6h|T|jOm;l9t&v270>F%bfI-FB$`EXXk>_Em zdSCu}^-tY*SsZ*`^Qn1GS*EdcI)Qo@fsm>p+vK(&Pkc8cC9wHlbfAxS<Myh+d-X!L zuT)~etCq_ax33wKUFEo))1J30I!k957Fqe;(riodiMGMJNglkgGEBpy>+NXl5hb#$ z$ZOL6R{Tlsgq?|CR(A{a5ow)W`?P-QH+n?yb>1g8)gt?y-xvHw_vfUUfQgU=%_Q|s z6wfB@IO+6$=Zv4(n3&X<hku;cZJ??t-MQ~Jtm`m0^KiTIeHnbZ^<>a#URF?C-)qT@ z(3(#)LcQJ!xBkRxR5r@Y|JyT=<OigHIh9)3T7E~xW&{V38r~aytN|h!%<ru;+>;K8 zCV6~W0tVN#@?-5Rr>v|Y$9e;6L`+^bGQ^<;#G@Og)RhZU>k3z`X3ry@y-_pm0{5;A z{emByJ#@G?ykna|P*qO8$-k_g|MOykr4{lqSLg5>{>v%qu@06+DH>vJN~q0PGsdCT z{CUgtLXBL>JmWrZKr6&j%u&v$OJFG6qTw|6@1odB<r%DOQPWQ7H%=LH*7a3riJ(8F zy*hMKZ~ijK{1UZ8#=$ssNTXtDWZQv&c7<Z=i$T+WtbNu%Q$QW&+=FWL&!W+e2T0A= zE#zsZDQCDsF4`|M|F->RZFZGGS|RVl|0C(z<C*&Zzsu$_(Z)u(HTT(ElKZt`LqvuR zb4j7xa~HZWgvm7{w_@&d7jm!2J#rUO?jcD?_ddVV_xI2FgTMAT=e*DB^}J#btsAY6 z-9+(^Zn9<$2{Q+E58f9BQhFbeM9dnu8p=$ZoX8}dgjZ>zS^PiDzT9I`JD(XVb$`O& zVrtvzv{x2EGJtueIP<}UhC=3VHoa~s#CcVHck*g_`RSMbSi_5v4C`qphSJ#9BlgB; z7ZIRm@`S57C6SL-_40_R4t=#LtoA=WzeSnlZA%5wuYkvNGbuTOw|b`I?AH9=FOf)Z z*kdc-j~LVt0Orgdn{<iOTD={tZ?S<VK=D`v2uXFo4g-hHzwN0o0Sg$?z`z;AlJGxc z0~5gjSg*ub=)k%KvqaGo5TGH#CH5c5zv|q}|6|ISS!)<LG&t6}{KEifp8M^W#B#+a zB-RemA*ZMs;aVP@-pNGTZ`BCgjrim`C@g>xad#G^O>os0RBpSsme|?$iCewQGqdz@ zooVR0;zpZs9uQyiHf^Z2KP}!|M-+&c@uo4Ad(-gCbm2-K3kX;519tSO^|v&9(PCAu zKG#|Fn_+r?aeFH#bIA)E^2=p(F?!jTwYh@7%*zEqbU_+)c!3${`e|9a(m1lbZ1XuW zc%B~2=Zf8I22e#_Sfc!fJOk3**71)EGMaH|LCOl`ZB_9co4asHk@!`nY}lghU&XQO z6eY!Gg%e&L*}VB?Dvg{tlQ|{8=ZIW&n2-$%?x;r5oxIAmG8Zedu=LnQJDqAx-cRf_ zx4IvWyF)&yDOIYKr-1O>Uv-GJ8b_Dq4w00<uD=$Jex_Jb)rbGG+79RtDzq)9--TuL z=W;zuEeOB0<Q7<>-ZrMwx=<4PS^c@G07LI~DORSWB7w>ghvT5h{*%Ay!%A5|g{WAT zYq4OIWd)t?LP?P0sw{<aVzOo?r;-(JYaJYE5ds$fMj)>7MUO=mjJD7g9A%FD08JCg zusRGgw(~w$L@k?ml<}a~O3(3(V!f14T=biBN_{~(Xa8eDjhxmM-N5JU&Z~>Au-|JT zbp{fDG`VfK$p?w}sqrH&Cwvjgi{DggMyj>uDtH&ieV_UU;&SdvzL9O5W^kZ~d~t{W zdcmo(GwyRK`PG5S$OCDl!nb>khHD3l;mm<SB|e{cncqlFx*r7Md6`#2o}Jp*3(nph zjO^-})BdK-_~6>r(A5+XMVf=Ys~VkZ5}6(6)rg+J#WM!)`!4NQZLQ|FQy70tB$h4) z9<=BEepSx=rtVVO@}SePvxV)Ap@5zC{XPeQDbqJEZV1dsurw6UPV5<MTj@THBcG0+ zs&G&>7P;?b&abElW^@@XNjTh|%PzmU?UMe}C}ml$t@f+@*$6xKo`Fo?kC2kN_NNvf z#Jh>?dE}!|zmRVZ%XRoO<1D^CneM)(T|Ckt!iM`C&(cY`UrNsWzV4+9q7HZe!pQgA z%fqa_cp~D|DSDQRRS!Rj*aWqjI@0>!qk$)-6S1&c2<tzWm}^y+*dKq%yZHI}OP(T$ zk^J-X;kP|Ee!Rt7+X<A;UEchj@~n&v$P`ljbyylU3KWG^HCDd2g-pjrV%U6;ck>r& zi}xBete1p-5*)60`ZNX&5c4!+&)+;IC#<wG9S#Kl!m944;I65c20abb%{Eqvdr>ws zFPvnbdmd<hOTr4%UsIO@JXDv0-^>nBIP}T|#e&57znD4hDFl&w2f){=Z+L_JZ3FM! zQtB&f)Hg8jh<)V^xFkn*8$RTmQFy;CQgcn^gW0wSFDCGBJ0z<%#g#Oj*z=F52h=cL z5U_q2SoY#kg*a6j2a?4jpyEKOosEq?4ETJaiu75L2>?qEaQHw30;muO3jjh>uoR#U zoBB_QMB%FM8=Lufw0CM|L*;n!KPKAF{!Ld~o_DFjp<=#q9yj3GPzO?S)!0$Laee<s zt~)1&b56H0DmY!YuM0+SIJq*qih{nBtoX&v3h4OBG0XZ^v1r?P7EDyAt24&QX)QBW z15!079&EVFA@_@&jfrfVU3S6^z}Tb<E78;l922hQA(G-Tf+T<I=3)B&`lrC+z=l#- zX(>Mq=VyzKzhc`|{lacQo|}+o@uXq8Hu-rKcof%cB{J;))uu1;R$ZK{GsnebjF0C_ zPl|llaC9-Xy<Ax89i2YgRVcOzwl~9{xZEZiQK8GSE@}7eUYvTodI~ArC-xLzkVlk_ z7gq2hbb7QINlBAGsM%%*mBG(YinktP<T7qC-lIn)-;24ssT}&UWn<7*kzZ|JpXF|} z6|x$2JM}r&mW`^~T9Vu4n5z62=~dJB@{i7?ua8b*HVcv-`Ou!d6pZ=Gt$!fEJF*fa zx;HYv_VC9Yi<bCycmg5B9|RouaA^Xzf(qy-IDp%O46|-WGf`2oFf0e2sgQsN=*e5+ zYt7G?U0!-dI`Z!_TUl*Pl`DFef4T;K?_N+m5}qc13aQOq^9^!|!w09R+~oN@O;4Sj z2eP($SAr<d7W0U-sGgPfI%I5yynEY7CS{MrGiz<ws!KY}EEgui*B$BY=&LO0ovSZG zAg$<JfYsI*TKD;p_<9$(IuInG&cu;RlWRR&t$aee{v~aM!^Qj{Xe5)4=tmB1o|RBw z!Uz!D7BQ@JzO2RWI=t+cf73ZJWcXFYsM?hW_e6XBJeY3`<h?rTocQ5v+Z*0(^T=LD zqs|yb7arr+N)B8U8jy(<*^lK-6#r0v@uYhnUDHO3++tK(J9PT$^!pZeA!pCW4yi*< zqXA#Jas@b(o+)K9%Is{{)Pr|#45AZ88?(B^m8FY>B4sY~>&3)AUnD_RDKBU{W8BS? zv7h3K-++hjtxsPFyJ~PS=dn{ie#SjXV*1dGfaIx?7;U9jz4fl7<BjQ?bM9{^^0u8c z5@&)V(Zfy65|q7FqI2X8vqAPwzyFxr{W$|2I@k#N2DlpG^gh%{jyKFw@@L%`JaO14 z>P`mJnRJ=UCIX-47;aZsPMkjA6tK8^{tZgUKGXd1W8I$)S6}xWy6vU!>C893aUD^) zpIA48$#4BsIyw&hk7+`~`UbHmU*%5WFU`upToJxj+k3t@Wzq*tHw((r!herDM+9@7 z+OoYQl|R^)>M79kQFsTVI2ATwd#ZlJ%{AE1#y;h?*Q{L#jl_2|TsJFA{gqVp9=$zR zr?1n8=U4Ti>T5oeWwyz(i=X<Vlau1-D%~j;PVlkZ2*Yq|9<Y262sN3ZYy0pvFI~dt zD`eEW6Gd;@f>M?lnb8Jx2#`5KFKTZV4^8qkO<=~uY`{R08y>g-$S@8G2*#;Mcn%Zc ze}M2mW{RW8l!FT7ll)I2B*p@_1RilqzsZ~+MFMp}EPPa~yLnqoC$9HtIbd4%bJZ8& z7e3bxt3_<Z%Gs}9o4VpFPaN*cis#2q#Em?Fz3~i224<;>aEw+x<TuH0QX1iwW0{u2 zS5_hjS1TuKY|2I~uav7)o%*@cbc%Q>Hr85oc(cuof3n6cs&E=WY9M2i)jYsX)sSKn z$4WD5p}9IXHUP%>eoY%Mu(IjcoD2_Hki6mMXP*mPHVCynVk3G#x2ioGW{70rd|gY3 z%Z^cYytIuUP8a-QC}zeXbCFuFm&r#S`-U7qPCE1M5pMwD&5j==6^J>!H}pLttiGDP zV+6f!&rQ0lI9z%_b9hvFi%PyaaAA&?W&4}4p3#oTwO8NgmObw<j~JC+4POqqtn+2F zNiw`|;O-f4*e!=uj-%b{c%fP=?U2igkFLAD`XQ<27+GhV8XrHpE-?vBL@8S6Xctm5 zp#&JnhWIaD4@NM>|GOmw#Q*LLGXf6W15+w;rd)$PeLnchLr@Dl*Mr3EyIgH$PhQ<` z3*4T|uAFq9(|3Mhx3Xzq?BDSH&ZP~0T8q+0|8GEB_Ni5cLllq0u#;7Ja-F|WG}&%^ zD9LF$rAqp4(MCDFzN#VWF?W}otPo2b8>#<O?G`CV$ow6Dy7a(Nyn0o5a~*`Br{uZA zVkfj|I78riX0Ba#FWrpm^qc+;*)PNL<@DZFZdjx7CRV?8q;YG0GduRO=;4d{Nco^y zsoWpM>Z|KX_4>}e7Lkn&hI?Cq4d2U+bk^6NQX-fdzTeR3IfTbI6P&sS&Zpv&kc$oz z-dha?HFq|t&E-#t{ryM1X}+>5iOcB4+d3upTO-!~U=>`o;-1)syuOT)^WEz(;&15L z4%JZ-$jLQ#o@|{+wFfFaL_}VFlRJ8^XpQM?y>QI+xIB5v^l)+i=`~;q|J*oKuI{7# zI%G4{>p^MtH+KiI!U_|8Pe4%i6U!VI{yQ}LqCjb{3zQ<@Cn2JuQRKSBQz7W&IKZeP z+!<B7o`S;goBO^EmV5F^q>2|<4hDK+1y|&M$Jt|(V|p9}NC|5U@L+%&uDNueh+E*; z=HvXC^8KT=LivM%^{U;wRh5qCg<jc5vuR)W>k}pW+wSmm`N-t_nT~7~`JW>(7Xwm8 z!B^_*$LTaJX5TZmt;EbR0Z+mG!vP!N#m%WDL&n<czgM`%uRUR`Tvzs4vURp&7*Ar& z5%)x`*qQj0dZ<%p-_#;oBWs+mr%hcZY&96|-27EzuU~hQUV3@e;G0gthX9P3ML*0b zqIxf<+V!fpVQTy0)+@UgpLZhVW{V%|jicncAT8IjI-YIV+$n7xJ!^oa#@Z1PC<?kU z0YxdwwM3G|*m*4Rz=IhDu-VKA7&8-~b><KUo>eFch;qi`5n!|%i~z5Q#p3^=!TKP5 z1RMr3$fR<B231WPW+z#WG(NSL_Dl+Pu^~6JAD36fU*gTS5KSsb85R*R7LKqL{KRhs z&f<%rk6a8?%WrbkmAh{s*7VgfCDt3~XSW(SBRCQO>?u7JS8SEw%MvD_9p-uSqM;}p z2;R-KN6p4MjMu!ic>|$7pLCefc5K!b7NwTErcZD)t&@Ef26+06GNOAcm4PUx1R~iE z7?eB$dj_Dj-cy8z6p~6>L!&{R+hdH$xNt$L4Z94_4<ea0bCKcwK&99$rgf*-u?j+N z_d4zp8PN#Tp0L$me6un*iW}yNO%(o1j2vjU`j07-So$B6tl5mz5Z45M+YbHc-X)sh z#t%#Kx9ZOsHAKlJ%80}ucv2*qyLU+X5DQr29yrCA4g|S|9h&@_>|Isle-Y0|@4I;} zvMz7O{_w-aZJ7X>g}LH^zB-xgVXZ8m_IqZfw3n2dALzs8q6w@$pgNm}`wm{fm^g@{ zLKr|uI1JcOf#3(KI2gh#WCLaah$lJ~1xWznJh3n=@|nnU-H0<MqmJ83!^;Gn<9kzf zd;>qt#k+zB_-#+pX2Op+9VP-B@xGCfAx<X@q+iN)n*imq;4vPdj_UTuay)xAz`C>h zK!x4a@4JcYEqnuKl!|OH(tq&2#%&ee<>>UNt<fNx#+A13PaZzHt)N3Lc2iW+zOq$4 z>;eR|^w>MJjf!1xx=3$SzH$*4mvJ|w)+j4jt#MQcd-6K*)}?bsni~k|w<_+b;uZUy zq=q<Y9@_$F*}`$-fUl$=hUXe4uwikM8B?BGu6;`7_u#>o=x)41zCz1{GfvH15w(A- zV_jiS_*X86y0;UKHjU0PSD{O`FwO}(2({U7p46?-4!vNd_08s$*@v(fq<#SsKWw+_ za;&R-)U)=3q=oOkc}li=OE-O{-Ner-R$jWl)WBB#Gd3D1F7~=^G}n08o<%gIO+L1& z90ETS-*nDm<L_ZP{OJ=}3Q{y3_GZ!>ndr^7NrZ&Kt9+Qi*JcGT7jLM)6K~;RsnYG( zzwWU&aJR7mt-G$4pz{@_I@{YYaL}wRDr00Qy?*zC2$A*lTx9EaVg}2q+}H1>1J)KF zcniL0_;IU$Tah?r$PrN21M17{z7y8;-k?qI+|AG@aVeKzB4bYZq2X5S%)jasAD{oI zgU`V@wVtJRKW8en6(HW({npZ*CRl-(xbO~83=Qq90&(k`lQOIy=!P%Y>5(=NHBx|2 zI8zvg7_vb?);i1(oE?0taw?xYosM(})^svvIX+-yh<wjT`Dj%do}ocV+z=ApEE3#W z=UJ{&7YHM^V!lY6yxE;d62@)4n_RiY(ljDBp8@d%Z2pioH-)r-BdUW^vpPOTTKiPb zoG75S5xO$^vu_UDKnt!_2#~TNt-(3*=sSZ9(`a5O*#%&l7?7*!s{7G^I>xdTrf-8Y zfc($d1~`JDSSmC0Aq!O;;G3u%VmPD?2gGKG00zs#Apj~Y4(OUW>H`bS1r+RS0{1+* zxjODI+;kK{A-0uHV|hEj?rcm(xA0eh!-%U<<T_W6TH>sNmn7(vhji&ZS{tLQsZLDR z3p$P{O%eSlca^qFsF)LMOHy$s&!K9#Nnk_AT2Fmf0;gcUc!C8B=QuWzsRD-W1{9nR z*&Dm3At&NR;~~#vKRIk0yxlG1xqas9y;ZIKr|rn9U~cs4lg3LlZ|C$kFGUgVbvN3J zy`A$->RYU;-Kfbgw&Gz+ZoI$CeG*g?^$3Uj1SCg1z3H>{s~`5AuQPRC3f_91nG#Xh zC7X^2UFV{SUbPk%>>N5sd$wWeCi+p$!i{j!dQx!m2Y<Lbw{P1@@%rTI=EsJCUJ>{3 z^KkF^YvSS$Zp;Vgf6R8i7*XT!@*z1=<fBi<$sgHqvz?b|`HpYQ9=?y;EE~MFr;y(F z@;757{%V&_fT-T@rh`}8k_zb?FMlzH8nYRg+Uo<4zS1d@h3QZf90z<4(8vT-ArRGs zg(8><V0{PzY6&u+{<~p#D1k#9j)YqhD#~scbUZqJyKS_&m#e7AY-3&F_JD=+FvnYD zn&^uYnmTPQp*H>Bj5XDJDW`c3N*A^3w3}*EusjN4HV)5Df6}F-x3;y^@OXOX8e29p znrxXwpZh)7vCLL&d`fvok`uo&z2TcS$81(31+@!r#%ly77M<B)&3tK(JZP-H^H^-O z9qgl`B}X;pk=H2|o6rsl2RlgU3&q>Gij5)}@r$D4#vxd-+V<tbGwWT?k97H{{#KX* z#)`29tH)CX_*Exm383+HB%rWM+KKvhR8BKMT{afB^Qq_K=$vZW@LWCA*ZQ$Mb|YS7 za<#M3OnwXEYjJsfpJ=QSxO#hdeEiAt<%p^mr6s*zRl43$MtVHII|~W><vf;({3Cl$ zN9}k8IEAyq^Ey<kyz$`s5eEg16AtH#0(^0CvS{s$%zcg~>h_k)>2R+0y?h0|7}4d` zh`2Y-kAx#gVUZHX^GcS8GBcx$SB3$SON-DNF1>18gwKJk(L#fO-;JN9H`I`m%(^s# zxOtP!=*gMu0zc{xxRQ&7TbJ!s^hhq_dtMoCY;0+F8}!HDrZx@tIyxO+)}0!9Tj8!< zse||=oo2YQTS*Rg<yPeR7;nVg9-JasNz#n&%pfet;%wED>UrOXct2#~JpC1828>05 zLe0bRDUAJ_#BSQ@#pS6B&nnK|wNkF<r|_=w29hHth{C#;Vf*enn$5!>W;7H%S8rK; ze^u)O`lWbAnalL!=&YQ?ck@)SE58_fJ@+vepWbUXdAG?`@~}qF;geea!BFVX(K9M( zhskxlEB&^Vdy9;y75p_P(XBE=hHZh-(?!Z#LN`#O@o+%$neem-XSxCmC;E6e4rGZZ z02%o(1RVPhJ^^4{VBrxL;{e$(15YWSMu9`&Fb=>m0VUut;-aPGM!hOs^^uO!Q0F{Y z%XsHzib8ft-!jD6?@_IjFtMh_K45khJT%KsOV&Y=V+;mec+(0@@fd^VL?%)_YO)_g zPA}3Xkif3O46o3_u2OB&$~X-)SFUxlRZq1m?W75Ce8_^fte7~B1F6tL-xsVGJn=Rr zrkhR2KvLO^MRa)@LLoLKiL_pebM=qBJ<i)I&%<98#G;Vt2Je-o;iEAR;iPB{?3ixP zpo0^{m~}6)=DJk(wn)~*c(uc&HdBX#q?+q$?dUUEhm$i7R+;7(&WWC{3=BCD550{8 z_=7ni%>i0#U#*ehyKPNOYHep*l)}r-Hvg{!%o7nB;houEUfuu;VncAXUpDaYCL(}Z zL0^^tR~!LEWX2Kz4UYj8Ee?nqV<9M1Ar(k(ODLqG!SXnm5y<8$RTt6$>(|WtMuc5> zu?~GQd2nogH;2{vq)XHA3kCT{g>l0Z(tNJ`8V9n$UkX|^<HD;ZMuj!Q)ESeI^^DzH zHP0q}YRiA5v#VYywO=-taNiDYS1ebmyU{b0bLMf<0O7(>n^|G-jde<b<`+Mg^zIeK zhprwx>yb4+H*$m?Mk2B}VykcY{e0?AeOe`l9Ak&HUbz48-QD2zPv^nVCrq2~LvWYm zRZO2PGfGnWp2jhy#W!Dni`NKX%g@DfLz_l)CfJ{PdaUI+>R#j*iG9O0p%W#*O5DUx zD%%x8z6{w6^t9`lmiSB+FJ+8rLA#E1)lZ#_TWvy(94rVt2|rl=I3EDK+B(<X8IIPZ z$Xp$Y8|?sso%(0}ZPn(7HcXp5O@2hw*S@3n3OQcb5y0ulX}R_`=!=k|d>893ofk&0 z8(;}Uv7WxVHxuUuKm71^vHyycoIH4Q_ooFpA)-V7`O|VS<+y!0bT2ANGFJZ?P<`<_ zYZ+W~(qnViYKRu;_;#IoCK#_LHUztQV^CPjQ*iQ*K-P@K8*!IouIAP9J&jYn#gDHa zJIebmud}KDBtIeFN3-gKwW}*1-ZmYW*q$f77!5OO)7g(oxrEEGz2fzvkCN>bP43y8 z=f4lTt637Tb7n86ZegMM8lQ-s16c!1D1VuHD5z0qvU0P!A~7u`>5Z4#!DdIsJAu4u zdifhf&m00nT`^IQPi?jB%7Tn_Xf|zV{3zO00S6mhxL+KUimn(8LVYzXhsY*n(BLS9 zGC0Mm%nQnBtVTChU!!xx0ijcHf+fL}3cS4(aR3{IP*D{eg)mDz3l&ZO2aYC`0*@xb z5{fH~Dx?CETOgCllc^Am2D>7>24?|Eo}VgTHNF}!6aMMMeixi;bZTa#6fzI9yRzbw zP)l4;gs_!z_6#Rjr8WX@SD}oDCFm1G<(dpLhQ&Xc(#)vOsi-3Jsbct=kS^7nOcoF} z&PkRW=<`f{eJtWcveZQ=kh+LxNuz05MRS;}Z;)202E-eISFPX>+R!AF((FLXOkV-} zp}QG9Fm8P(Nij!*nyvfcB69*7wPV(lmCZ+{@8#ysxj&zsivTX!#qoJh#Y*9P;H8a! zK`dfmI1W(w5rKIKVF`SE3(>%&4^U7@%L*t;JQ@e!$NyqnIAZx4<v661@yf&Lc^n$0 zu9fd0nDV0aQ|CBjD7NMOH+dA+XlsIh9;kj=CV$nsRWsPvHH~$QNa>tiGLUXpRO-T# zTrPBob_3C7ee$2pL_zoD;$QA1C8wlR`_(&`>A@*-@lC&~M10k>A{q0r$los}r$vyT zYI#H;uT~|7cy1V2|BQ8enihdJZ!3E(2L7Rxc)G0<VJKDHy!Oo&XSO2nMlwrDLa`NF z{wRS<Bmxae@m#o(va{K#SrMCY_Ai;?DZkR^0V2>V-+IK!gt>ocRt{3cerfJRd{7=; zKhwTFB6+p(Y?TM839a4DpL&P1+NI`MkuA`Z9^tq#Jtj$Q9$<XZ6XGm9`@X#c34a(f zKCxFjC`!x9d9e#mxO;Az*?~IR=WNw(`EvIfyL#3m4|%1bj>enCORV}LG$Zzg*%9Qi zbD}Vr44m1sni`8NMGM4m^Y@9`COdN{cMG2BNYS3-K8jQ81q0c`oa1+!rchB;S@|e` z_7KNu4PISi27|<whV3r6^U<38u9i3~-%E*k<$dn7>ay_pAEA)n-<%^=`!B|KJa(VS zxS?$`E%of<0_QQ;{R6YbJ0y%tp$?K+7j{B*2}}Odh0iq1H`brw!P}le-FvW4;R?Xl zR3R6TmPW6cz${rQEgfX(vk!Q~b9D(p-uLl!`lavmvN7>f%AUl4bD|e(CBI_w9z*@t z<-<XV&(PHr=W*fl?t~Aesjdka;p%dQSvMvPA;-mjwnqZ?b`9w*lhyU%#7u+g+=2G| z$P!BgZZC(aP@h*r#`JJMT^8U>%Lv$1w~EtSpd|wvC<>q`fSDa=jzDr$PzzCjHlv~x z1p@;QC>*HKgRsz}f$uK?2mME508^t&K>^Wof!~|3I57n8GCETMUT?ZS6=Tcj0T+e; zjQAcx=SO@IRC%)2=EdD@u;xVHtYRrsb|Q}2vpoQI+cFP}m(`Hxa02IKvlf~uAIS&7 zjslg(-%DPAM>ozwS`aR%;tLeOxJJoALBvIHg=IuM5OX9eOE5J61(;Z;WyTWSLQIIU z=s|2Hq&}7kSxl=kF);u!vlM^~?lDT?GvUH=hoUgy-Qt;mb8S+gjoCt&9Zbo!wjc$b zMuEZ{f7Q6HmCfxz=5x%5`44C`Dgk&gfvF=J2dGuZfOlLT*i9h+j;DXhTX8Xv0R@?Z zMl%)S#7s`wxMHQR6X8~qS83oZ5om2yRgoLt?>u$0R9LYSZG8B5c+4Bm>lN=+KLu~= z)H}%dSB$dAcJ_yf5tB7?VG<FO<Im5DFWf2pP}|sY&U_!TVNbbJ_SikfBK?)L%-1Jo zj$!b*H`Q00dJa!3J)_^#TFjOzY0~YoZhpJmy#rYb@K~rhZ;mz&tYKSgB84*@+eB^V zavAo;nT^fe5{GL~^~nFU@fW&Dh?$tNVO*DLXr~@#bllN*`u(I)z~1?0keI^;ttp4$ z&yJf2JpQuek?Ov3vx@I-D_ObCpV|C$w}p@~?wlqq{9`BJ-z%d$k=olfxf;_Z+^vO@ z72)p`T%6czXtHw>=8u^F2HCgut(NzVlz6&AUVS&n4&F)CB#*P>42>HjMc{=M1}_%n za=Q%6+;l=*<%5Nd8$WoDDvlpwmw({JKd-qitW6Z~LYKqYx`#h2zgaNW`c8~<_6_j@ zPjl*};})*N_JHb%A6m{A3tk56eTZXE=?nX<V6&Or_P%@L)t1k})4|V}i%N5f5g#5` z2Kk;^8G`f<ElVbruv`kvw?wgjWy)<YatxYdgf=%_2)aFv3Ev?sV80pCV{=QHlk-ZL zBf@j9jIZ5~5{4YMaxbO5ZgtLkxvrGnoUhVQ9%r0A;<0#%3q^lNe3Ef_xN2o-m|Au# zKvIahveA-^*g0H-O*xF1MJj4m8n@uPy;X;UtT69pE^t)`;VLLaL?-EytZL7Cs!i?1 zOgalh*35(|{sj**R4y_FtW6AHlKpr315)o;7?ctX0%l&|DF+mqIKZ(0GKh+Wb1(}3 z8RV$qQQ}a%fq0|xaJ8Vt42Cc{RnS68>+;M0^NDM4`%iZH<m2aDucu~u+gRpL+bhks z)T%BhxI+sVt;5av)s+-~sK-T^#q?38v?l@2=r4ivSI}9IsOdooVzTM;f+AL+{b2kd zQcQ!Bz?L3tV=0XT!%ARy76LZbV1Xl(5oKVN146(VJ-p~r;H{JNx3saEY+!+LUdUb8 zNfuu%6EClRa74~;yvWe}Au=bS*uHC_;aFWX<0Ta+1BV>`oO9nQ7qQKs9X{GWINoT6 zvtX+I!Ek~N0H53a8v){&fSx=cO86hPZUd$Kle`!G)5_CxAeN{oD>M?yd;hj2M;xmZ zFeo5-H6XnsM4!Nh@``T+r}HP>llxDf1c!WkD1B1EY^Z+?RJ5y#kI2__pxxt6UJh&v z5s`Az+ccRk)`8tpND|pps<SKh`_6STpr-@;>%#qGNAHqg!<bxVGp-o&=HuW;*XH5^ zJc7*q8&SS{5{=#c3t&m}#-bx_8r~w%n0s_XJ8nr*3atIT)b$R{tWP_3J#E@Z*Zlpk zSb(@Fy`5Y<*7rI#u-%Bna}%f&2_F3wXNf5)Hjo~5HMKIX9RSy>FHmY0Up2M*B-ebm zf5=)|Z(HzAOT+xhceBi%6vV>mOY5<xqv-7skry%*T$vTQo|e3H=8AXkKD}KZA9IC2 zn}^Xe$(wiVv}iie8A{^(n9Wkip;=Lddwy)Q!{e5F$68}k=5Ay3Gud<Eou0;llL*TG zR8v7ylvrorrFlaswT==+aPy9*2<?i<(?=tTt3zs@3ZTb8$th4vGAGC0k^T6~lZ1E( z^6snjmwyFgUSH>HxUb8>V=qFgo4y>xmb&F(?~$QZ>nktPBlauODkfIz7_V#$?%zfO z#gnm|`tr<EHHAq&OFVFqOWX$MRPEMu=geMa@QJ1TxL!(F;Yj^>YybSn`9>!{%iljz zefusiuMW#CFpQ3BA=CTnXyG2`5&~^Ky7RrTf?mnnklIJY=2si;V~OwVCFODcr9~5# z%XOL7G(X@yv&5qiwO%DuG8W$wjYC*k$#7n>Va7v=C;nE#q;OF2Wr`FOaF_znHVV$0 zNdN)IJ9ZFcQv!qFaRAQEA%+FA`{`6L5%6+hf$VBL6awZ*d_z-)B#FptGmajrVw>ue z%jRz@;>&Yyg8jF*SKhz8U3=dwht<S4u3NxvBcS$6WfX>tAOzN39Wj`=@Z3^Wn@rDS z(UyULuq7vesOpEPaxa%O84h8LAj7MnqDt_gq*pys%oGndi1k%P2~wlz_oiWZkQJR- zUy0Ka#D}CbrC3<ei1tmTcIhmY7osi-0x8%uvO&!tisnZ1ju<{N;*4Wy3-_+dXtSrj z3_Pbr+YEVd!#PhT$=QLZF6;bA)cFmI7+aasBYy%Mpr<U+5GoP|#?q+?30M$89}m<O z!_Y`TlF0=8cxH}L&Ri-)8ifSnU1L#zQUPX(5ky?E>nS{UZVeRJv~6!B@JVv2)pX3k zrZF%1>tf*Js{@Tu-$2lkv3ZQ7F!y4uQEFa$arlRgFz5cERHvT9cTT0=2n_DNIIa3F zyluhlrSedidrM2_L4B3oPPkR1JQ%|>89SzpwY1`FZ*ueWG&$T^G45<dW6oPC>Y#T^ z9%g+b3NH~CCr6l8^dgf=t;8;p-38@n^ZQeZn7a**p|zjyVNV8>YI$du=De)lSMfuS z&I)JnaAK046yKW^G#$m%TGhP__dauH1XJo6fM!dGn2R(Fqhnj`_CN<6KXH*)-ks!e z(zsqWY3xQFu8lTo5*>Mx$XpmtyyAX@RZGPo=7h!MlBoi1e}rbpWce#|q7swm9-S|Z zWvH~(Y!M^%b>JH>Si*wg2scjTuekN!w#ucm0avS_Pa^BerL(L2mk&Ba3)g71J35vW zwj?yUR(MRI;6t72UAHE6E{JH!LbAG1mY{~tLFt2WRD#}?Sof9ySjf22GArf^$Se7_ z6TF4FV@2636&o}AT_^lzo1g#k6H2Rn#%Zab)R1kJ)xle6sT)?SleP~Fo_7tI6uxhV z{VZ_aVLr%%s)sj%xtb9c7w>+N_fDM*|87n2xntIH-oKVN=hpnYwMEI{_~AaOmkga( zA7-s&@^;XL?E^}s)|6)UIG5K`3^C=m!`1#R&nxI06p9+9f<qh-%|%0jPmv`u4xm5( z*I7v5fWzRx`$a`TK{f<SsBD@gmTH*;430QvgF?$#(7)nO=8L?sqj=w`%PqvMhLd6= zuda$b0dEJ~bTwU@dUn$6UYHU8_uMuu??hJGd=y0ha%6aJp{d_WwXpnz1ijb$VYR1? z(W+L}8vZQDq&#OOOH=}9lvO5FnnRo#8s}<twjBG3v&Tq=<1{qNC=(=Y%HpnXkWOGJ zB_S;*$($`EB{pI#d{Wq0NijPs!Z9|5lY=xVWQj45jUqr}AvU_?1BO4&YU7c6(MP#X zx{~>5Ey>f#eojKAie2LDzAbI${HSxe;=Q(TU&EaIE*+h2qqFn`h1VJtRAw9C#DK%} z;W#WRi3kORJ%u@_ivVX2)rVn$dPgAI4cPV|?3UtMNO~!Xj;i3T&?*zdRz9?fB}(AV zS@~2vRgWYp)wHhb@M~UQyKGmK*1x>DZ(BJT^j62g$)R0Q@c}IHSPK*U`@sncwZL4n z^=nZFXOLFSi9y~2t!g`EH4=+?nQyO#>b6epsgE_U!uN8oRwX`fQ_0t+(PUh`>dlPN zy(C@@be!kvHbIGPsA)I6Q3D8GX)c?I$<|y_lFgg2;T|Nu@I}_)S7xI{cbso3S{L;_ z5lUYQ+OBmH>x;coh+zN;xootdiCQs&C<&>H_whaT8Y5+?x|bxVB-C~kS!Z@1q@<>` z5?*a~C^X>T<yM=}+&t&uq!W;`Z8+7G8Pyai&6a&#nRVFRF5uWw<5xuzm#zBcYoCOa zy8OhSo@UxH7_IoZf9@1`@t^jiC?L567Mh72=K%dB2>(WYvki9Bsk_=KJlWQ;6F9$= zE<NsZ1gg7{{XkSta<cV7bBTW^Ph<<eUi)452U>3J-Pdl<nS0>jD;5Q_HcQh2iwD`6 z7k0G@6RpXhSSVjpuK6jU>PNi1sLRA_+PDX*`9G8Wsb4c5B(JnQ|9l}tGdzb=p>(U$ zQUv6Wy)^z@xbtnoB2+&zqNwF>MsZvU#G~&Vm7>q5Pp_OE^wTBJGJyiyB915v<B=G| zhmGY7A{J9hRA`9BW>|w5Md%p|$c95!u_PD|CuRauO~t>!DZuOwEc|$R5Jv@^nF&DW zfME#ag#sc|fgl)h1RM<pU`=5-leFnWGy>-d6omdSz^YKpVhd#H#90oszCBw0ZvQ@R z<4wl`W+Yb#sQrCQJz9utsa<5B@{Xf)+^k*Zsfvqm4K^J|z-r{}eBR<w<K&#mN<2Tp zgUI#`(l4rMqbq9)GC)~HNi(a>z>DmrnJ$h;Q?3EugF^oV6F!h(tQBbZo<0=N?O)Bx zWEtknDCB@!(P;)$D!o}&Rn~;X7K89J1d`+yiK#YSU@JrxzVxG9Db96puXR42HaCPx z&8#+7RQU-xX#0<8leVM$y0A{Z;IG$L|AQZ=ZSdfk7jOaqg+NeIg}~Pdc$c8S#>Iih zQvMmRnQ=DQQe{ia5UeGxurO3`hn}9st*HuzS5lb7ry&j|DF%UWw=B5{#3Ni_ai&*A zD8lEGycz;M3)_1_POkM1yrM&34qP0-i;3`mUzbzUg3nuWI&@W{-#jrJQEeWh3*62T z_vjVT?`{9$6GTr7Z2umfx5YO+;MhDGVPX!$>+EgSue~<RX!=1hVs)w2c$0x`b|{sE zR-ZR0ef}sxhPj0uBkG!%_#BA;pT}0`<O76|mjvjtRkO|WYOiLox3k$#r+SS}Tx*Y8 z{UY>CD)}2`(Y2wbpF0fB512;8bDg}fCZGvhwX<98DFq1g`p{ax^wOIDnC^vhVN4_g zn|0TQ-cBvKxf(w#wcGM6dRF1#zY^y5#@lnZP3szp_A8;Ls!W{w=S?6d`Bu=@i?e~% zD!(eowj@#_CR05&d5sauA2Td&?KDJmYv@1Cq)Rqv%6b%MOH;nme=Gi{ftYJ#D$ibq zt!Df^XzdLi#=2D6`Mh;;jfG=tqx?<lm`9sUK?j|+cg3o@RwH@Wn){=q4fJHgcLySJ z_4vK|4IHOlTxv}ZPD}5|v?mS`NVt9GrQs;b$m)v=3)@VLQ<<p($D)J9w~gH_-9@WP zSB|xuE{o(t-Gmi9KJRwif%$rk2HY4|U*Oh5KOADLs~mYJaK&ysu`HO{Fvt9Cds!`6 zO%bl~XtpNT`Kncm=f-%BZ3%FZ(k=j%Y@y1fZ^l>-+x)bt)20LBHQLnb+WQln&V{H? z4Z{_<6i7d{!^|0|y`};Aa6KqGwea7g_5Zdv5FQUB0F5R9>P>)(N8u50%L)n-;>IXS z`-e3E1Z4t%%284O<W?vE02t)DiK!_y+i0~~j~joE5z+ELzKMf!I8|G9zDv|wJ{3`C zO!bc2th1H>A}_}!XXbdD-@$G?ACzn{1Ai|4_BIQ%9fC#AAj0hE5nqfKN*aP<kxl0S zW<%t~@hFbi697LNMK2@(qZl5b;{Zo3@Bsq?_kju(BozU*!BA_4d#VBxDmQG1wUBc0 zig0^(j7^eo#eI9@xZ$C__8hUGbHqePC+ttt!_&{mM+-6cCOc=ZD`KX4N8X}23OjVR zfV6`sR4J+gU{E+s0q_-gzo^ppqr&xjGa+<9CNEBr!WjU6<tQwq_NN)6n}O^B7{>s< zv#_zuQ(s8L8cy`{!UxeVal!-(sLiej@!9rx^ltdArxP1h3L8F`F&fiVjb8-6Y~m-b zCXU7Z9SJ`7u%<lgafr<q)!s;6tN!07(vA;Eqp$DBpM7f!#eJ{bUB4y&CVb^xc5SFC z<_T!k=)mAfYRK3X9{#Dz?ylzqdFCE?pQ_pvqI}roosAOE@9(P(4KS(xL{h>;h|3eI zECe3*?iw7|$}brnI~yAL{jOhdZcc`Cel&Y*kv19>&zUna8UL-jqVFr8V`R0ez^KDb zqASI`6;qmiU)#(qQ6#P;c4C=4Vlhkgz9~`R#5BCq=%EykmyAy?%Qk83Ir{RYXZAW* zJ@36-GRSa4_WHNKBPK=Qa+eL+`^>ky#w~^V-gEIci3V3^8BKo3@@Hx^-Bu3xThP3i zQu*cue$;bU!{n^7X2{gmN&gy6#L~0&GUng$%3|5mOyNMvZH$0OvWzG94j$;>-282r zdG0Hx@POY5503_Y|Hi1GojF7C0-dpLt|6`*&9CH5#t0nOq*)yHYqGkf!igcr5Y9!N zEM<1@q{&Sd+FzU+^^du5tdBn{zfL}SciP)!@~|=g9Trv(K$RXm0!7J_hAR~d?}Q{4 zFAekHUOyGGk1wwzjkwY5B-#g?Q$EngUtAj=?8STX)$^E~$+Rn0Dteyb0sa6iYM8o8 z3oaAyY+ggR_n3g(iWI90#}-7lc?UNp99=gpu*gcI%*3?9fO3`Q8HGks=vE08z!(JI zqX1yy|K!i&C}8ctS>iwj%y70$OJsCL87C10NR?2?oFM~oak&2f7(O^0YXhL-*J^&= zoo@ShC(F;&zGi=K#ndHJC)l~;QhG-J97|`l<zCTzNN^&LWCv&c9?Ried3IT{SF(FT z978XOrz$rebe{x<k6MhUVFW3}GLIhwI2alQ2%PwkENEFuX4FL}76t(g0%2-{ECmz# zAOZ;JwzS@0!qO?g5s?r_fS0n+>`CZh$YNzg*GKJf%dc648SjYEb1{!)I~*6wzB<Vo zO9eGX))+b8wcP96v-^tJYGxjCJkhX&ndl4exC;2=cMs_Rd<ej&6gmW%7;}RTVYd~5 zMp0AX6c+f74S}h|2FOOjYtsp0HV|=oA_TSms$4uH&AcPi>}I_$OH*2nXA6Y^dE=Vl za6oo)Oam8QgAyXmtm=PK!YG<M{NyOMWm--Bjm8$`uS^=cz9g~%<oRai7O~dl?d|yB zd+lEhL4gG&sr4TZ7@oymvuXb^wR6q4T(dPi9EPd%tj^^<o3|Bdp4Gk^!q9!v6e>d> zA-FzuJy&soZ#0{y5dE0SblC8?<F73SDSd9M<i_U-a(}pD{W3WsPNnZu&Yt(Hpyc>Z z6E{L%n+??MKDl(lUa4SRbzmC<4|H>R=H0)^^Cz>Ow&1riD4FV>q%?b+v_ss#rbe>9 zRMoo2e~Y24-uTML;K~eJ3ZHVCjmTXt<<Q{R|CkIpom0$5gB<m%-kK$^aP&IRFkLZ# z|FB{1dO0TB;=u}QOv?oSO=hxGdU`7{9ts(rB!AZbJUn%OGiud5WT$?9-Fr(rIust4 z&*vFb#^X(Xt`)*g*Vrg3&if_a#S<lY%1S_mt=){PsFf+)E;vvm3iSs!?!fH+yUzH$ zXv7^ezj1U~d%M$b`ZZS*4{+a7ynB%=w$whkQESmdh065x;%xLzxX!WegR^RNjR|5U zluOK{*+I71tdwqgO_*Oe78;>76O+CZ8GhvqI%mU2BV(j<%2mzlR|sh!?X_I;OHt3D zuWfmvTyYVJ+-nPe(!$FNN)|S|p65CoIGO8&?6sv}#QR%egC^m`&mDB{KPJt+^j6ky z>S>ppGpnhj6y~~i;Wk-sEZ%P0M^HT8jjN_4s`9PVNfhO{iKimzRCu@P$DN3(^TtU@ zLT?;|WM^JW&xxvKV7D~Dp&`E77Cmt>q6R-k1z7$*`zbdQxRLhjPGm{)+iE!1?O^lb z=gV-`={**4)~4(lXmfOn<N07oIf)#0(LQ!XUAhu>sWzzQ##kihQJ&+6Ha{`mFkETi zlte4is)B*QJb;%lqG)jbVkAWh4@|Hyz-|s`WDS5m0>A(P8~^~eM`r>U2z?QNZYXrg z1j3#Gog37kkkAL#2Xt>y|BeC}fYd-KVyxgN7Xf>ytJhKq({=F<Ins{^VNbbnhvMY7 zKzdzgt)GNR#7Ecc=3gfD28VNWZ7n_9$NU4g^+UzEM(VX$CC0ojTw#I=(0dCSn}UY> zwM-XYu1I?I7aMW*;69<sJumH7dHENLsY<4=#H8%JwBe{=k(kG0VI0vt(EtyLHw0?M zfDnj6OS~+QC=0T|f%vQvV7Ma+$kZT^LZS0&k`1aEvVo;5&if4ikHZq$lu?ZpZ-3zw zl25umyWSPEoGcV#CX;nO@Q_rj`XK~1<9{$974{?|&oSqrNT`6b^PT)K5MoN*lc?~e zCkg^6a0-DrB~c#-SfRx5Zq2P{8fArj3iED&icFEffBtcWz}Dd7!g1#IC7k`wN+`uI z4#et@EF5<jmgMh9H+hAbp4vvE^y>CXtb9JX6g$kjHkuMhrq9`q1K(}epL2UT$lH&t zC+lxj-Lr-vlRS-Xw)|Y%i2sGAT++d~W-J)C+4sfnqV1+HbMkoV3Panq&3S2Ea{gsY zM;maTevTbTMN^C`y{R?mwyC8@8UbP~)Nu<rN2t%KmA^JMXj0KFb3?RG*?CiY{>60= zRm@RTa(RCv-=6$?>1b!ep7lHPVl_dhe<v)&U)#x7O*c!a(n0!qL!J962dPF&&SNXZ z&9g%5foW-nE;h-3cTCZFuvcwL=Fxv7k8GYQ<ex@8<@xAieX952ifzx}tm;_kGWR1$ zy{GF7e(paHl=m9>Po->X*SSAId>P%+(Y(%YTfLtr^jq(0gyu@{_2kmhYU$UFFN!a| z(lNqcHJX?5eteFf>n^{-&sxNSD2K({E9;TpNJ=r+tIzaQ&JzZNQXdZ7Ueq8BXbZpP z@kI1bc_|*{yaJEH-rsG!<<Dx=`?}G7T`~%svdvo15k+R#<;Bdd)GPC=Y4&daywpY# zsE33hkK{K<S5q8ADQeF=KG31Kt5<jekRclp!U8P@_-E8@!$ubKmKBFCno)&N$n6J4 zOJj|b71uP!LRxw5x@}rK--jc=0sWQE--PB*tIkpXr1K{-3)2UDw-DlhRJy3=FI-^( z%l3>z(;lV+@i_YR9zXDfnVTZbx1+FrSy$lZXlvjH<^zHJFA^7jaJzV3&ps8<4Hp(} zD;O7QPVe&^N*ukeu=K;OkJp>d>Y{v59?Zu&fcU!w=Y6|g<_Yc;wPL!nor|gCfNI1; zBdVAs8i<@{TEEuUc*@jqsCoK&9~ATa3`?GE+VQ==F}QfQ?9Z=1vyPk&Fxt!wdE`mj zh2ijw5i^gVZ}wJ0uy*OxC9C7;nLfK8y{$5P45|1^?D!7{^SwWl8pcjGJlw)^Q-kQ9 ziaLz@PxC)nR>g_37aY<vO*de$3<Tc853G58xbB87DUH+AlYD%Z_tZz?nZ_a;G!U%w zKjMI1k?_CS7A-CX0@|JRnM(mf7ChE~qfiX(R&fexkc|6h%VNot-leeuzO8?%XTm>@ zMVgZUK|kjol}vv)-Uu!Szdcv1_JmB^4j4G3eC*LR*HOUf=sv?dNzqc&4cnOX5w~k; zy&SBPb~T8evyswhJbyWbn+NgZRL{*JcTT3|Bl}?cM4FgXhH}z!ZLIs%0lDB4x;xYf zE{=AzD#qmEjN`3blK4Xm7~Rv*Y*O5$!NvI;E8{6TSP#clundY%6z?WngrY1#!$1gG z6p%;5%&-F3BCkv;HEscr>j0Be0`N<ttup&$^&M#Lb{qCOVvKx7VB1bcLgk2>>Gan; zF&M=nF7Qz6Oyl<Gc&)ST-Nxx_t(x?q(vj?E^C5vh0+<6gL5NvRTa2W2R>)JO%#GyG z)brSJ`hE6C1oA~-34y{1VC$cLu`+odL4h2^D)fkrpVfmmMf3J&*$gi*)e|6eDmsBq z1%Vw}0|rE9Za+Bt#Z=CKN%G_prfY&}4i##tQXWZOnfA9yxB-rThLb2)?JW=HJbx8o zJs^}TIyE;hhBziQ|Go0$#pi=6$)+qC!g}V-<gQfhI<zY2M*8r5j#o;aY?+*k+9jy+ z#F-Z)RvTk6OT>M&U1N1v^-?e~-R05F3zzrq91X3(R_H<?M#|1_FN6Pm&y>m~GgD6C z6b34xtL|jg&ch5Q`jh$z(xI8gbj{7Fth`S^j`BR$1r`0xY&CU^-QQS5k`V0~O6j>K zAjeTnj}3fxT=XEExjzAA(lhD!&bZY?KDlKl4Amj@BkIZf3Tt7_PvVt-M{uk`3qrR< zcf8i_@K;I73=jEjK3%1La@jfcggcgrX<6g0n?p=$`hDSJhZZU*#7=r5hY1|F^6tfS z+iuNh%Hqw|Lmi(&phNn1`W+gwm~ZS|_XC?&jn}u%k$wp33-g5vc(%1^OlWp=4lZg4 z8H}lxrRa2eKUMvE%=g4Hq^X-dCYUu`lHoF4668Cfx)jYg-?+8XC%n=4N^Mu?a(jm0 zr{2tq?w^z2V&QLhVl^|`YTqY6ZGGY?Btd?6lQT~&NLSUBzPs5dTwebvglX-rOVd*{ zS<eyK@iTn6+Bf5QOOkD3X#J;;^Q>3hHiqX;RM^8rSj}U8kXZh7wjxY2KmErf_jsN> zL<R@l-4<g;v@D>0(R}U{>i@Dbm>5abpVt-?e#=G^HsI<T{NVJBYt-xTKc)c-?^2#F z%2DHbxWC3AYwmm3o`b`+)3*j1R%TbZ+E^J0o2JKIDU00IDfgG27CCV$m2Zh>K5iV| z+GO{BxPM9C@kl@CODoUsZ|3|9%eH^JXrJ6BMXFP*BGo;cgU+5?9MI4g^S)EuG<hQP z!Z))GzONdp!EEXIMr(<xAwLll9ue^}N0aJLkte_DkGMHpkjUI)`T2N0WFTI7q;h<A z8IwNTeiGs~cNp{VeWd<y|3GBGhEm4^N7xI2KR`e5X|4<6-*~vfodKiQA6Aio@aX5~ zzP(|8Ms#bBbmDrntEOhaEuca8O_kX%!}O@1K4h^sYE`LDG8)WIW4*Hx86=k*s+?24 z{r!#$kjgl4DX{f{oBOL@kJNe>;vuVNSHF`zixq>voaO1RrFK5!F+9mGpYlyCq$!k( zmZP?*ag5O`rk*-nHwYCyN;sU4aI+hj(g=J3z$Y6Kc1`b9G+#@?#v`lhgFW7+3Gc}7 zopdi2y~8bSzpCiLx>s*HfIS%CF*wfMGdo*U5qh*MkdkG4@q<omrt9rrlH4+BO}mQ< z(^N5|pK)aYhQ-Hb80-yvWE{d~55!O|ED$5R{1bx!j!D`-+ztvNm{ufI(8Yn&4>&o| zG`AW_1e8tWXnYYKi^tubh5%aQL~CRPpe+Ftpmd;!3Rt&B`8`48!iL@(_@MW{w;nqW z=RmrzrEavhF7P{~ItuxEN9~N;S_>xnDmb5hU;gqxrfW>LX5hKYAw3-jy9OqE%{`=3 zrt_!mf>q?_<*Msh|M;^1nw%cEyVvmgb;g$$t}lN5`paLIVme}$l(671!`Mv2$GDb5 z?iDk=aqhX<!2!s^Rc&Tmh$NMYp3p*gQW}Jd#U)c5ZXIi2No4~TLIk`C7*_!>hKXJX zAd>(t0{jRmEN_`CjDzS$(zIIV_-b!K^wW2k^~}nS%XNp{^I{s`ZL_~E^4Y9LT?afg z{Mm`pkh{FTzgmBhWow-)@WVQIR#Wpw%}S8zj)gi)Tk3M{V(VAPSY^f&#&vKRGZtov zMlewmqG~+57$sj0c<UsP<<e1i(O2(I_3(hwhqKM)M1EB;ws9{ZrvLN<jMJ4ly&0f8 zHvD`Rb-@L~1~=z7RmTG8)1i9;eQ|<>5$i|zlAZPa!&Zc)v86+g@`S(tUKLy3L4KYK zTGlRF$gv1+%_5BY%E9XNbVD61E@p$n$IMt%AiHJuKK5MuTDx)0vls|402D1x+sD*V zUFG%YM@i1wQ7uDr8=R}$^ogr&R#pdtHUv}5MJAP8^-sUf1XIP(EBp7>ZowP6TT!iq zhCxD&<G_1syc1u_<VktGk3!~OZSi6*{yQhZ*ZNDn-z|@C0!0_+KCK-1b2@Gn*ci5U zCt-8OZhGHldUS_nGzqh4D5)6N@Kme?^;u`G=UQ9I)NA?m+B+9D7Cfmsj$4g@adr{R zf2Q3-^+ZMSyHieF?N0MtS-`aa+b%XT3S2bHeGoZ$KQZ;)hwcICq{PA}t6v`cyzf5% z^{IbfzRUmPob<usXNgFsp_WjBs}BD0lu>2K(Zj%NeybuItcJ7~FX^K%*14ps{*R-x zd}z9D!!Qlfouj*ZfQ*usR+^Ec8%9clbc1wvNJuwGcQ;a_TS5>J^xgA**q7fQa9{VX z`#6s?{M5rSZjFBnAiC`+cYTJ)#94vH#FMZM(D=(xpGe3OfRL6s`GwP&?{}m2o%`7g zyVO&L0+mt3jM6tGNkxG8A0D4TmBU1T7SZXSP_?e>Htfvsxun+(O>ws|m*ojGGH29! zsn13kfcS>?K>WK*>gI0b%Pmb60M5^^A7Xv*6gJe*kpe>G6jnVw7qIbL6=j$REil?} zdX4ckkH3*tk1nV>#sA4c;qjW)N!fqES~!|S2o>a>+J!Z@ge>_zcg8$C8Bmw)A37#A z>Z=8~5kk!Cs!I~4CF+yQ^}Zji)3v_#MCq!8Qb>KFcQ_AyZJz6dLJkFdj8GJ%@I#I) zRgV-9ziv><pe*#!qOmhm#Tqo@9d=`EN|Bwtpd<sz&4Cp9ln`hni(&x#?wG@vgSo>? zqf{ocZK78&7j0-)tz+`L%XopQ$t}DTN*bw(HLiK**&)AUFEqiTJ|!IAJ`4G`{}3<) zl(AC?E#lBXMmcQNPmIN;i%<IdQ~YF-gT^ht0=;#($+>MEa$Y{tQWw9nyyYc(1-VPU z)X`r1($)nQkTIxb+4x!VcduO;y^05fQf`IBFhljJ@$!FGi*6rZk=@KY6sYHO*_EYI zivB=5M~UCWvp4b#Fhc*nA?qf)larOcJ7&1=KD9qvifo2DICm)a=>TtuZwsyV%OWS} zB*fB*8om4kcQ;(k6C_bGTLp_g7)nK_9$aLa6YAJskEfQr0vnsxF1F-C%9OKs;`zC! zz69@g)uY6mUi3KESDrmR50Ss)l8x9J(eFCQ7S~_A6{{<9h0Q_zg^AbIqT`04G^=*k zWO(cebitGXyxb*|N<v{Q<u4$8vn7yV4AeDuRno?4{T4#4g!fgS<u6$cM39laECuul z85QfvI1}6VSv9N4YBmyEdWcSFEPL{s*N#HMK(DS8>``pJJ#Jn(RbxcbSpn?qwaVY! z`(6TlU7#R=MHkyg^>#x7et-g2l#|i;&3|RHZh76d1TZpwjNt~fiNCpZPPf5_Q7MA1 z&hR>6XMY*#7c`;)g8NVDhVW*D<`h{Unt@*J0kg-3zM=^9{nj=bJKy$}tc_#gW+&bo zuBi+ExZL#vuTzmmerYN?P1^8uu|p5$Y5E2wF!jiuOx<YMDRn9ipbC3<sLSgg0(4-U zk$lXnncxcZA_zBu6*kEun*jJsVM29g$8=S+ouN3ip<WPHJse$bC44O^{JlHxs&~js zX1|p*6jN6u^|o~qEBm+bKu2A`^5cAeEMlPa7E{UG;Ck<g*yY+vcL%Jj_{VKWqqr}V zYpXr+4+o_}4asw)&A54`kDu$XRFg@Fbr9f>Zt&YJJX)=Z84SmF;qL*(EH-py@-YZS zS|r3qb7k_C445JRO^g4}ICxqCGp6|e8xJ|n_ZqY-3!mVm(7RZ&WB%IQh+m$Z73dJQ zp!cfr^#qq_8#^C5-&t<h2GDT<f4vp|eaf}p!_)f)F><$#G>@v`de<qE|H0+Z>zhXL z>ni2t<kvSw3?Lp4o<o<<iJmd1q|?7du1H5>4r-i9cgBoJ4F%}nx7NNp6vFn!;(rK3 zLF*)yoJdvGBWd!r@5qck;l~o&ASLM&yeC5W$QDWur%yC9Ip8>FaAk26W)vzCQZXh2 z1Ka<BM-q0`q(ViG7;lbTZHy1Z!we{#LJ!Sdos%g_CvgqxUUk;`g?b+Xeaoh%Xi{gb zAi@K=?hTg09#$^Q=3`i;&^nLrS}^xpDtXT%0Lj#Z{rO~pYT>*tiD5(Wk7cK^YJ{9d z>N(Dlg-~B#?>8ifAcY!ct;$%49aOW-S;~(N9wN56DzS9eF-PS5>W$f`O`t`9<cz8P z4u?>zrd6<l^n=i1W${t-$m$<Yc)4#RDx+0a4vk``uIui{G4I4A68pk#E%qY19~$pO zrE@S4yw>D2O5H2oWr~Vwou&1T!CSQD<lyE~0zTonGA$A)Z98;{b3Y}-?tm*^s0R1R zprJ!ondEjmT$kL?&Ir&YPdtRYm?rElC>GN+ssjznbacm5gf4MAplH=GhK9y8wiF4z zFDeZ;<A5k0JsRTx9iteMFGdMRt^nX|sweR7p+ALytRIuBLuUxQW_`LKUh#v#v2#{J zjKD_a_p?$89$xVRHlI$^kw{J|TtFPkp)z(@gSqSLzz%MiBuIhHo$`qCo)qzQg}>Iz zW9qk@;gu=(BK0`qKLnk%#E&Tf)5&$XXIMruzP7?P7E1Ppcpx~R5=a_Xk1q)&x7~)# zr6U*(9LG;mvmM!bmo>wNy=h%MFMhGp1=8VzK>4*-ix+yc7AYd6SvCl6E-23~)xRlu z0L)ztmV(c+leS_*0gGvMb4XW}0gIs<dp-XUunNNRxYlJ!RSn?G!NI2>&z||Fh7-~? zsnRgD<F-aEs>(H&A8l8qTKI3aZSN*};xg>Gt#(w{V~XOv14{Oix#RQ-iLUBATM9e6 zf4_ea`;Imzo&VAKAy`pD$Ly26g3}W!Sc3aFEkkoA7M)_9Fo_b~=qwQ5Ywg7@^U-pQ zYU8KU+8<iFkkMJ1NrL`Z2Cm>^vNn?PcYjb9zIkqNj7#npuja7kq$S2<7b}c+9`OQ| z4r{v}(XtUPbPXB`ND-V>r_)+@jvLAr+7gO-p3djBlibw7Z~guuC;-+0z}D|L-tW<a zF$$Xi9s83(H*|j~rBlR2_=j>@331%k?T1nvRk5Q=XYg8`vo+Yu_Td7T3A{Ed>!=q% zu7NRH#j_hZHzW6e2<Z2|w}ypovZ^nIPbRBn@&QnRa4iICO3t*54=nh*TeHxDoyr5u zN=}S_d8hQs>m}yXyIpkt=L;1}0g>@D_`)q^&QQf<;b`^GU(EThN6M8gC6r=$)!#=| z-o#QwI(g&$&0#INh{`T+I<|+Xt~7&fx9|nfuk7xEWO~+s!H|2lHB6&=*u+=T6 zxD%=GoNmWYHV#W)B6&rM+E|C_pCmbl^SRnXAWX@H4QYQvM}=blA!M(-_{YUFsyOhQ zjZO@R5U-26J-PFR4UYM&sd<(x%S?rmCgR7%TNqd_GuV;Gi(YvFoajteSAI_HWTcj- zWB2$OE$&Z``to<Otr^aVql*gVknOCq<dvR^HOM_!W2alXj>C<S@xI4J;>!OJ29{H` zuDv6z$79vu0~~vz?MRkBC>z!ftv;c<6{X!H1<$74o+XP&qKnNnik2ks{tCWq#Yt$H z_v^ccpLCyEt70DP@t;!A#BOYcj;68q&T{5jBcC&}S820$K??nVwe=c-ZlIT0)3l?J zQ&%b7yonzAh`}eXf@IEy(!W$0atJF5b3b)L#$Q9L@AFy0hT;}HSxys1CKk)LPg{kW zh3>{0W%k#7e_sFoFuKsp{gF(2)`9;v&aEZ9Y#Jf)qsuqWpvZ2ueW~4>!4f+@*$_S` zLxQzvibOC|$Zt+k+DGqXAtKA;89qwDPXV?)pX29TF$p|*h;V4YoA#Zmg7@Qr*2In; zjZe<bqt3_9i#9F(%-7o)Rp*pI-BSL8e6*hVEX2y+xW;n{sKI!im;4QUAVFAqgiq9T zj*z;Y1I&5u&90MY@-U6gUzE4$te??n3fByQQ;ht*4_DszLeQ=R#1BHZG_=F>iDCEX z2bPicsbg|xz=vOmEqCLF&6i|kTK&U`e8L@fjasn)E*3E?B|DZ*f`yoSL+h|IdDu<d zm?~uiyy#l=MbcM9-*;>7!<p5|hVMM>8*~5pSb<^l!|!YNnB3w~EQxZ{`cEd3@s;NG z?MFW3^p-zZV-&9-(hMiRniL;2_EfoS9y6`%ekMt)l;Wg@VgOKoi3;6BhvA)D#<J2) z4C2bwvW_>XLv2@=f8KU0CJLAEM&~6!L>Kh#7+g^#{seDgoM0FX(x`|g0^=`>Wqt-M z+WSt=gx9SxdYB1@ywcHElVYc~bQxJ>2X5Bjk+tuT%o9X1rCjNH`X4WwYj!H2+<aH4 zuV7;_FRbPOc}kbFLZf8}5abGr3)!;ZBe3v98%`$6{NImjbWc|ZD&&3sqM%--jatdD zgfFKJAN-i81n3RY@I^d))c;2@|0e;Ft^)|=_iK~PX$Dmq`PD2ZlsoYAu-aWE4Iegl zP0^~HCp8$<!Auh<`3100jY6Crw8w5$z|su^gCz@)_f%mhBC9KNpLX8C!QVQpC(hXe zp*P<QR|)q?x_%p9;L=&$45!U>x}S{bo|uqHB=p9rs#k-zsIi2fj3~beWgxV!{Wh?( zv24s<H_nY>lgiJF;nep3rHiVHK1Tx6yig}`B9&3c=aXZ86UrV6UxmWa8+<s)Q^`SB zY{miKhr$<qDF2}m#4-pRZ7j_6Yy=Y(B#@ZOVge3}G$fLIdrq0Frm?6|3BNio%|b_> z&qdHXL_`X=3KwRxydn=9K+Q*Cj|6A`+TA*5l}~jwCDq5{)REk`!;gna`9h`cS~fb% zLqo)6V5FLGMmaW4X;kf_ba9wA$~#PsiSK7@ES_k3(1|#N=E^x-`BGhxkhW?$O!ym; z0e-Re2@UJB$>64IlKV1ZiQNVA=)02l!_ASn0rP<iwr&CV2(fQ;P<ux^xlfKN1Ejq; zM4s!b>5<^64W#1W%BVLX2=0WHA+4qhnsf=pUr-*{3|PNtDa@hD%U(54B_*7d5f85f z?;h0Im%(SaXU!4MsU1D$0^veK4n`E)-1};BF;R|YLv5XOoyXeTNb;<nuq|s`T>(9T zF!1i;5^DC6^PT=r`3U5Zja}}y2^q=JoQ9W6MqT9#fh*PdIAZzA!_yv(_<-xj6QS3| z0~;wux-J%PHAX}7@6v_nX5W4k6*j4Rwn^#@gRdAK;AObI;jqo9gtWucEF4GF?P97i z$>0AF<Zl<{dyOFCo3{Q1R`Uy%8Ok2DlY;wXtANE`3@s}^aILo>9`mIcg__;=5w3Tj zZmraiPe*-PXPn}jkmByqB#i?e(yXk+G{9^D4?eQA^O0Cd{ev+V>AvN6eRn$gt`5ns z^$FF1_51U?_U)=s!zdR7vBmq+ZP#u61)m>UF0usxZ_!crSw($Z-_RvZ$@Cp!vclY5 zulcufUn1Wy;)xH+&K%wEJ+ma1^(y5#JH{P1xayDv<JBjx@$yEO%Zl&wCSS28yOS9h zM_6FwIhNm??f)rU8Xf0U>8|Z#+NgE}IEF!+?ui{;PKds*Zy4e|@my}%d2svH(DZb2 z#Ajt|?~L5I9XW&b!#}?Tiu=)yZJk~Cyv7UyL8Bi$Hjt?~3%<x^aT*X6m7|-c|Ewxm z^EAl-VxP8<GgIKW+|sP_-;l|f_^llTPA2ArryUJr&-WT7mm4%Zl6^<)hC2O2a7ioG ztF@!F4vczgc>~@Idk2UjH$0Mxp~;qTgbptpPnL>xGVWw#C8vtUfm%|2#D*YUmZGfd z<Ih%(xw;=DH@X3Z;<&g2k9x`luHFh=v$<zbciJtkty6>M#o7SZk-&hSk+a=|?hgdo zj!Vraa_yO-O;%IV1idvoi;JCu8GF=vis5Sl`+~SOxYnaX0<wYs5R^FQhAW2)_srCQ zDaRBlkVNJhszEM7fF()bM4pj;ES64SSw$a%wK^37TK<?aRi5A2sj;Gw%zocxeoNW+ zS58*7v6&3IWKtE2MvXPDWS_o~4JLG4CqWjFvSb7{l+9MkU9X`A92b{cBibY-eM%wb zz~n$n)j{<&hJI&p%c@_@cO&s^JvHwb;_`(IG)w?BMA%$;juaVSj4bjQ9pW30rScH5 zv}@=N9p@W!L$5E*F!;l3@~XhCq6^_KbN%6-EO|SJP>3vT2l!P;mhYwBu!pY9<m+~N zYtfCF0)K~DUHTJq(QE<hPfknDNvp9IK&RzVfVJE<G~$*6Bj#w+N<BPJZ#--HFP18j zJ07PhE26vhm~d%3ekf7P6YAy1VrhiRuw?O&mQ`8^-V=7D3b4s}n$Nd43lA+*x9Rps zx<uaQ^It0zTE?)Z4=1xj1!(^C#-Abdeli@)3q3l*;fk|qh}(oECxABoA*e_*iRyjd zt#tIwGkTG}!Oolq*^L0e5$I1ZO2=)RGzcb518)mgJPdAx{K>NbIJgiK<?Y{u>c`?$ zG?U?#0^|yEL+@YT68cXmS>iwGdShDQOCz^<8v4^$QHy9y=16|~bv)Wi0l1kAadQ$f z)l`(?s1yCmGT+oFP`+fjs6a4~7B^+-GXq_F(<a$pj95SLBfR>o)1)BDy)fI+ToAlB zNdIMyaSpf)wSLlo)e|2N<AMo$Qn1T|S1nz41br@iYrCP_8Sm8~kKUihJ#HGElr9oj zpQ9mBO!G%ych;?R_K$~N8N?XIopqVQ8vtVruKW_Elu!-Eu-EjsEp;5J_qQxu1WNla zBV#hq$tYZ=Unp3QyF9>xXvv)9Fx))sW6_42Tx*1tiQRM7YmDP{i`9GVc&8`md8hv; zM*_I)i=~x2VOvcL8*LQ$hNGp{Cs53qhEr%&n!iLKE>hCLjlS;L@NKLC$Vf8st4dnk zAYUwth{9uo)sdpm%L}h?`li1V1I6C*-q;e8kC}P&k4&nSaRA9+x@ug8GUw(g=X0WZ z4?%Vxi}$Qxxm#NX88Ud)>Py!=c<n6vjf|Z`JWaaqM;2f-B_hJxm@t$!`!3x>H^#r1 zRUUD4=<9s){}38=@LR?|B!9vzWYET>!?Ux{zNK=P3xy~A=$ii{|KKALeiM+<;g@E) zNS2<4)9*1cC`j~j@RhI@Vfh<4_KgXD_hMs+36YbQL249~W3q4L4-hlZzvzK)KSUs; zUDG~ySlKwYxI5vqO9fqY5eaV^o{XvG8nL<b!v-TWjtFk`1UYH^4Km$J{Qa^4B5qC+ zq>L`|^{2CgZ~b1jZd4LR(S@|0uvWyC1~Y+9WNcAXL@Kaxx1H_~4@Hx&vknGR8H1l> z^-)q}sM<0xg>X=9BAA?2C98(Kj>XOQ*uEndbd<%c>{s#7I1A=Z<+7J>J-3NOyiPPC zpHlZ9P#FnRD>pudVh0ehFIdDERDU6qZNI3U8cbvbrx^3F?C%0UCx5C<WG#fREq5f+ z$*9xcuT%Ax6?5b2*<FqejfJ|xx+YMXlW!cT_EX5xHK<CGJn@Jdti{#K?CsEt<3&8G z9JZXRcj<{{jt%2Q-q~_)==v;AxoI0N<Z@(x42}B6ki?>+9wYaz((FIcG;uXj$QL*@ zUs=dTXGK^X$`;b8nTGhj7!~PD0(-QMXrUr;bgp7&%@;(ZA~wPhK-H&~;SaZQjbkF7 z;F@FVWtF=7+3^zV5PJQzp*%<u_mgmY4X+{8;)|#L<fppN@h}UYgW3_WZ&s@!s{V6& z_Yv9zUb{h*F*seAbC`HO2NOi6Tb7BbT4LKA8db;^6RXrPgNwtsj^@Gsj$Vc>L0f{0 zq43mL>wOvt2BJ2HS!f;-eexSb)tD#}%qS9m&n`E>@At(F1QSuo6Y!WUoV6s@`Y$yr z2ftOpBj1!H@cKJh^m3hI%orxNSYzXNpV>&iXpzXF^0C{p6?OuBXE#Qk6RrH*N~8Z+ zwvX+n4!^GG5-y$!UrzkARUZ@0qS~SuaoxClRUG4_4iuRvf9p;;^}(3QUwE)m>YlSF zk;`zK$Mm%%-Mo5aZqql{S9l2%_7Qf8EMgqXpoWKJw>v^RmHY+x2VcB=dI{<#kQ0&< zJf%94M3KxTr#vb%+c~M0PdqfoG?Wi`H32&wb!QIdynLJAcqVLxoFq<qjG_bmBZr)} zwdv=@dJ?~z$X_@c9V9q->4XBdBmPdF{6$_A2)g)db9Spfdg)O0`EOQXm**-<f%Bx$ z;Su9}i)wdAR$@Ge{6hR7+r|it-uRnb-%yqOB9&Hf5|5hlhpnFNPY)WZ1PLh~&`o>8 zqQVb^9T(5zJIkep2HK>HAf|U}`!_u=e;Cz#*OJ8rxU?AK1PB<xqgv3e#KyDTgD7%~ z<T}gHeuoa2kE)uD&g_I>VEFL$?dmuIPU7_j@@<a-T8E%(c@75~EtiC{EB)Z^Z<!r) zYq|KenY!*&?fUG@iAd-;Db5Gj$@AC7>&f!)Btl1=RR<HX6kwm@4D)7^#>1nWAGU;| zB4JC%B8EEyPZaQ-G=lpcBC+UiowK?`)*=4CkrGq4#Y9@R{8EJ|P{>aB*I#^RqME~% z@^ldbmN--QS6`@bwgSYyUWIT^Obv`DQi@U}vRgK!3keB*vK4PX{Zm(Sp6%f+W$FcO z6C@vfX+LB&3($nB|1_%_n>V-SU!t2#_$aADLxpX|AJ4cv{v5gf$#i)a5^Xu1E^0*e z&@vOy+)!vtxeNV!o)I4%{t>dTh(gI86$+s*n(-S9lm0{K^L6jbAoz*8ZdX7xbJxp} zxwIEg*<U(e)zK4Ecy`OT2bUcD@^X`fi-t9_ADM&bpuZr7Bk?n2R{qKr=A2V}AX9$$ z4(jeddNscNGh&UYqj}?WwfexGhH`L~G3+si8t6dDdOKAQwPXsu{I11~igDZYm^zf% zKINQIa(YZ-0~#1Rv`o50`t2JKUHAD~$IvFm^Fo4pXNax_5OL)g7uS$%s?e;vD{)b; zwwEa&Bp6muKEsfp7?Ke$GhKX!8a@qL71BfJ0hN!wxTwaRiz=84J>GQ`)slFPj60o9 zbBImf=*7Fb{@~;nIx?Fi+Flt!`HWUj{WI*wKGztcx8k<<*9(X(6RK;5k%MK;dmxI| z-m~;JKg9E}Kay8yMhf=L0=flQD}ksa0@gRAQ37=n36*AX;mmA*3?NJpl=5(4j@AM3 z9}UFB&SF&yiYoNzh_ePKqe+6mRmc`l-@{Uz)=#+M4mT>rtJJtAwYZ|r1l|4-zVRCv z2by1xi%uF&f(HHNi_XM4QX}l@#Vx$kSID=(NxO53ho7WyeLUB;sj}957Y0F&C>q%# zJxxjMWqqe8xMPVTiM5CS5Z1G9`HDxwZ|1Gi-_P}*mKe*>oR6GQtWPgAl-)Iy#L~5A z$Wriw;#*`Jc6m!Jjt<XUWlJ17nfUBky>^&uU7<3U;Cbr2dA-ULEnDBIR~kX%2yfpc zxj+6m#IRPzQ*XeWRz>j0tAe=$isLwcldFeZ0T&V%-mmAL*9@g|yc?df1ZIChh@DoS z6W>+II8NPhen8B<@66&YNUGY}Hkn$3Vg`c!I1i-9iG}X?w+Ez4Fe*o)OMCf$+~2d9 zn5D1h|7hhfbG-Vakb}!L!8!FAd-L&Smc=WI&ezTITe}cxGTl#4NKwmdP-3GI%s-Dg z^8$B_N?l=3*>*oY|8>#fZH~|wzsKeP_QLy9Q^suYYI8Tz!u%*=kuSIEyGs*O*cJC^ ziVbPUUc70W)rTh1_JTmHAm>W8q?61OMseA{-xdO7*S@wW!&@da4I=i;0b5!;^w90S zPrt9e0<%&)bk*)#R{T5-LiBKE<5Fk7<ELp~;ib*EywkD$En}CK;3}?T`5;&J=D%wB zD3V%RsL~aQ^w&aH2ovjb&TwUe3?O+KW$DXT0*YlhgL^iZI;V`bmYmH!JZj27SImZS z5*k(<!=8x9CihDQ1)liED1MV9SGj>f_g?@Ao*g40!i|1sCIJj??ex&y*ZP9VWU96L zpdIcdR)rkttZgscNg+@UEg@^@Q<6YB^V!k*%a|9I!U*x&7mV<t^Po3^y+paW3G4v4 zvlTl<!!&-yHcCm5vFh^%s;STnDAS1~HcmRPG(L=$L-yZ|WaeQc4{!Mzy`UEff+IEW za$z(eZoiE=tXvTtgUc&DB2FN9Q&hkmxXB+SN{po_``b7kS@6TWhmDoRTcDt}!;KPa zHVTyiP0kDVu$TXHejyfp1iRrnjUq1M68d*rvLMd6!Bi~49hwAvkEv*?qn?Csr}Y_O zf3uG-y33=9J2gToyyT9=?nPP}6b5|FnLufRw=*c6{v99Qz8PfxA^;3t*9SHW;f?;* zx0i@ofC>o6!a{W+>CYw$6ip8re1VMXiB)m}=91}S<mZr{HqVzdko+F_gu24qmdo<z zq<OmS=67tj<-c!9hG$k<B5VMo=u#v#1e5V?9^nT&rQ#()N2<{+O<Ic;p}MWu?hjI@ z_qTX0H1CJT$`W*+l6w-o>BLH%X|cMZgkEjr2bX@WANWJq!>9aW!E-qH4rK-}93HRU zL>vZY)1yQdV^5UK-ul}(LIzh3f2vMSXFWqjpvKD=-a>6=cH~bRgAG(^&*p7D4x>E3 zvEkLue;Bh$G42w0B;^G9Z2cIvw`N^Fky+U+w1~$!0e#dl!MV!U2LuP-PjathO|~l$ z&UV@3&*nacYtnf?sba=_BVMW6jB>}SmDZ6Ni{#)!B~A}^hu66=SJ_i~ax<6MN4{GK zEvuxNQ?WG+Nl6KDe|La7{9&&o_bW76YaE~F{d>BUFJJ25p9v1N;h(GgA}8prJdrx? zXs90y%Y#s%N8YIVlLg6>>0+cEzRXrB9folN6AenODi@7?X_b=&RY<Z*1{lA>+k~85 z05v}X$ksg*EMp_*)##MAX)x#M8s<@P&XvLJ%k#D#^x+lm<t9}`#2_shBld3?m}TYi z#6^7C_}Vh^DD3ZDK68e@gDXg);7Tf_aCib$Q%hcR##QK@4l$hKm;cX}3BNEBz+H7Z zTJTIW!+%gLJk`P>yp^PdOb3TGvf$TuqE-XSff1$M0mpE|5cHyJy*STAbQ|U5lBqdn z*p2e!`yYE!L`OcW5*?IHW@7ZAEWVE1dw<*=>zT6PmEkm_9SO85*|wog@ea$6LFhX3 zjd_x?xa|IZ`;NUC-9*FA#@!kO4x)x!4dxO1c09kNCa8MU&$zar3#(r;h7Cuwg01Wc zyWdf+q|AGe)lM#%=CDYzq!D+lQ?O1?c%(mcyh@)+^LVyTR@i4(MBeb1%&W{Wj`NyX zt#=)8hY7Mu@%ZMY97iHOA-`IEzW-t0qbQfEzEtE@2AUqqD!T1tN%3B#L!SQ>kKsec zI9PP6e$r^rF(T4_#d{q3wsOh$q+7nqE)!wD7rTZc8`)4oZb#*+(}Z$%@t&H&uEkDj zFX0X#dbvUMH$B^gmQ`ac!ytvUm&*(QJ{CS08Sw=CdNdgw_&HC{8^Nte%C0}Rsz%>M zVi`$1WHI=*Ts1k;qK{ZdIMEDh`qL8nU<~i$wB~QG8!F)RS{U1~4OByX#1iV|arUYu zO)cIJEa%RUl+7_hA6U<+w9CAN=pQ}j8BMB%Je`G|e)5ijkC)p5&X=u_IvS-r<dD4+ zKmTg!9P~i~5%!BoJaJ1$9Io2gbGdtj1c`x@PBw#76s<ulDwfBWtMC;u2Zs!zm44#N z*+EBx62yxF=9FgsvY$tcKb(@={p!-2h<9Nv*L(X@qsqiq-?Iz>*h5JH$n`X3Q_Br} z<u`8@OP84!yUT&5bZ8^1t=a#%d}jgN9g2j23&FV41N=)|@;|M@e|*<%5=N$P2AXu{ znqNQBr`3%<kF6&*vMNnL!HPUQ2zqO!3d+s3jI3I@7C>8pu>G_rCvK<C5EsU>WdDE+ zMfF81FGj2JS?Hv`H<{AeR#&hs<`eCI9XDV{f5EgeNoyG@V9(-^Vp%$+V$YqNmNA!; z;$vMH4;3}3P?pbjL`&Um!qsPdMb^H?u;f&tf(o0nkeSg4#FhsBvi=z}1VZN?J#b>$ z@byu{o{e3x9xTqf&tYvuzE`ZIr;uPRB5~sWlQk%F8(?YpIkA8Nqg822e=457j_efh zaMo;P?<=~;r8^nVLt*C;GP^EFv5~d?mxRXVec}+Mkbs4J2pR+zTsAjI1#ygX!!4xQ zD*GXgfb6BmYO>hey`_uoe__W*&Ckn|E)f@Ub*|R8?w8qe;SV0S@XPGS@pbK&ouZNt z8*aw})RV#8y$;W<vPZ+tAbmGUHhxQ_$*ogdmRB7w_7B{Pjl~0tWs&c^BsJ1BdolE< z8$0Tb4BZL?PHM7egx<PD@m*gRB~ToCMCj+xh0ot~d`?jTqpOn;?xC5*RUXFDat(;= z&#b;*M_|aK`uS|1_xsTO*IKt0ZX23lv*OfdmHzSMmm^h^Q9>j2KBWysbw$tgzQp1) zF<-)S{mk{=j{*%*UpnSKj{j6g`-dPwibrgpUE;5>1tbU6_y>>laW|rOB91X8CY*bD z`08ig*b^SZl=vZBP^!3N{Hvm(8S%*Xz>Yww8`9*OGvCgYimYg2R+rP=G1uD-4Khf@ zp?+Ll|ALS)^_@?UZghJ>q<>O(=eS#w8VH|il=z!nX6Mv8Wnfm>F1a~`Da91XH`Yqy z9YIx>tJit*n9Zf8$iOYaqASJ9quYzUX8aP_Jh!oPDw(8#s#l?s0}J34>!m561oJa) z{<drv6_7e*N|kFz{LWVY<}c@Pg>0=%eCSc9{yxuyokK{%$C)4An%zQW!%KUPUR}mG zrf=0$v<i6id~XlNOiZMzMjMYoqD0GGpZ=6EK~o5`el{v&em&HcBdMb>rUA@f8?o&4 zVNts78;LVaNNcLXly&4TLSq;ZRq;@m)yPrA5Nui7<aXv_)yMJzG%!S7nylo53BPC> zT2b9IvMx`=(ZGvW4oM8*92@-f4rYK`s9ZdetUcJ_g;Ve*LK(R8=06EeA>7#^Lx4#a zTnVo)R9^|hN_11!sd4IOFT|*Gdf%X_CltJ(QXQgQyCKOwH5*Iv*~M?raKZjbJ|Wpl z9b0wr!0}t7#dz-Mx0dbwlup_`6t^Z3bu$P3{irQi&!)0Lg8=ig|3?~yB1X#{mW5Rh zY%@B%#Lgg^BZ!s5&|Xj~Ikt<)cLTc^G{qO3Db}U)jm4i`6&Ib^xLloACIwMU9@fA( zpFwm`KIcK5I=lG-z}PPbPM&U`FFgY7el2*~G9s=ui~|I4^PMzVFLZT&-meL|du~Y) zB2bi^qLB-X4E&B*US37t(u38C<7yBb$fpYVJ~l*T8n@XY)d)NzsL?jwZ4)oM=e~ZR zmcM&1m_rp;>$Y~B5ey4*FbR_%U$I&iQ0Kwr5pthcL&zVbk_+Qb==Lzs6VzDRN{bhI zS{&QbAhjXjOW1f^b8t$K{Ms@<abqHxxA&^>X5V};g*<pmP6!_Vs`qQD(3q!R5PIpZ z=?F54KkB3C?-t9T<M9kw&HabaluZhX@4w**49XJUd=cUQJjWD_*O{69D;w|BUy7zA zqXN=vEZ_@C0XctfPYK*)EVr#49iB+lN~Lt-U(Aij)Td<FvVP~7gA`hVMr}mN=IW8P zpP)o90BK^h^V^tk$Z0DQ_tkzh)rz3SIKv%_VfFnG(MKvq89>#eD&;oNI3Jkzbv6x~ zXEMy1Ms||_5XuEq=#2V(;9d?)OvH<oiiKGT{~UB9G8<a}HTwSQX&V5G7K$29UN;Us zlJ6dl5;2ybwo{5MIbD&N4rUD+E=E}10MR=?tjzeLBmi#)bAG?!s9i5RPxkHb<qfp7 z@e<5tPi{PGLqhI2dvDB$PNqL+oEF2&C2>LDL_lOh+fs|N6+Se3{WJU;N;4I&ZY%<{ zqh@Y(s_{D3=N2~hDeNRCP=v+dEz0H)-E|)ys30@-iMs29XYPlS%?L^VA>cIlXX~AQ z%Mn_~f12TOu!vEA<51a5r0si>N~AcE2WuR<F#F*Vp%_5tr>Apt&$Vt^!GA3@nM`n( zzmjxncuduZF75J%r!}(v=-5J$if&BwL)6PSQ_9vGK*uySwM~P5`{r4*J$Y@&_x+y6 zcbC(64*e*tA+!z>x(=WhPb1+T&@7jxU5&r!nrq(*IqqrxuHxTQ{~mE7N)WhKKIIHo z(#YA+P3loTJl9}R6twE`eXU`d(_LuXbpz!m#5=DBSGZ&6l;#+w6Q4asv&rrTCkIrb zJc1X$KXkR^8Z4lDz6Uf5ARj5LqD5_9vxO>m3O^dQpqY1yK8(<h2PBP%Cc(TRYpa&V zQ136Y3mrLXOaaXv5)QYqU%kH=9;%B8T(zdp7dZjGs;WC>P`Vg_!pYS74%Pl4aH<2b zSQp#{XJlo~?3nO<8LJPmGq-02Se<R2lU8~Tan5;jF_?&{cqd|O;oDwzz`gEXSoFiC zJtdEOO$W<49j>wvdZ!-Y0^*q(im9!;j@86eoPQL}$TafWaT`=N+c7a*U6yGya6IR5 zEU0Xgc3n4MmyC%AhO;`i<4oEks9Nv=`Vvh+1#xrOz8g-Mn6bMgSE>5QING_Ig)r)& zA%GaoITRQKfn*zba+6_l*;NcJ?IkBAtwvIpj~~@aI7rSPTL+<<rR`{5>B$O``Y=Lr zzk{E-5pH>pVIMZRK5|k4{q&hy+aTV~-v1DCzlv2|0<y$94RS>ce|5aYJ8{3+pGqrK zb@(am@lt(Xk9T0ZkuGTY58-f!W#Gzjl?Ps4Zgg*BVyHk1nUyb?+}zzx@5zYU>nGfu zjz@Mg&umv(rTy3e2zdbasHl!mmVEma?LRjb*6$b0Bka!^CrUwXI^k!CHAbz+-q1B3 zMAq_2)dG?`%C>QL!k=GQ2a3NvPD`7N7OJT{%pc+|s`zyYRcroj0QdpmiO8mW+#yO_ z{`I<2tzf2ah!tOLEN5!<l@;(NOCh%1?SUh%9fe4&*2horzO7i!=7)6Hx@NOf*<TW7 zXZm*`BqWyF7)Zq&449a731?{n+EH-qu8;+7jtxZ?p3W_Vj~Gl$w$CK^@Q3*SOM$ij zuTA^EK|}7p$9T>E^8EN(i162WY`9%b%b1(WWa*cl*oL!Z643=>{T7tq!*F_6$2Q+; z)3$L|rKI^}FqaET4A^T{+_BXrRy<y`I#tM2UVvvM-NyQ@Ab$QkjIURU6F<sE#@+IW zilDL7?PK%veO9wknVZUXQsGUMdi+D9gPr*ZtT5|AlL|S<w>rXi!ru<`lYhLS^ZRgd zn22XJ1bdFoM2*mgLjK@)qn}me*klQY)jI%N6ZaySKLz1F`q6k1?BNkozZE<qKquUj zh`!L}?=bbwP@9=tVM@?@zlP$(XStJc(3OMOeP=w({muM9mLgqw9|GY<W|7hg2+|3t zukakZ20M?2dN=$`OT@t!u=(-XKfXJFb@AcQZp>PtB8s06Y81^gus25Im4Qy(dXzV~ zwbS^6OO)ItYu#!7fEyBEWI2LZ+OdnYxQPG|HFlEptr(sT#kR4#9h-D0IFCR0q*#?- z%n`}*$e9u6ZXEY`kH?FpJHYK&zi~?EgI;&EnA7>lw8mNe`*1pHZHBRo8~4`TEJaG& zY|;KA5GT7uE0vZ=D-}sfiVnM-0$w5ixOI%l!y2+O_WET7N)e8N>-cd3uQX0kxZd{M z36EOhB($YJLf|$_i09Tz2q^tP%lE8Q=#4zQvp6wbb8bU5w6>uRq*mi{_RF_C7@}G) zIsfxEMjHC9)T=69@NVBxOX%llM&!ip4_qEQz;Ak;XW7KcNhVEzQ$vItc>25BD^vE@ z2P_D9r9U+ljcH-OX;P}fPl-#|&k%3gv|qpZVy$$pk!7h7yh(=BsIUvRU|v=u@l>b+ z19tFF59|m7>uGdn7CW-s1j4xV+X$r?i(qayLjCcuwSNdPXAK9~I~?St4#4SSLY%eJ zQL8ih@eHiNEKNZ=t8N)5xAIRaQTNV&5Cdw>=kFTtFE$k*r*o$lgHhw>+`iE4%ToSY zx==qd;z1MH5&b91KmhqV`K{t%2E<%_blnH~ss=^Z^!dZJfmXDah-aw*bXK6lM)Pr- zd?HA04xme3?0|i8tSUf{W==s9G?)r$3>q91)aQ>fuULF#qN0AT#g~Eq%pW_^yR?@q zX+9RY;ot`0n7f{DU$8BP!yLJIiT4i*2+y(vI*#@d*lCGTa4QmPpgZfIa(VI0VbgI! zqU$^bVZ3RapPhK(zndPV2Ut5wh>LY<jyQ`yEV^UKD}0|nr}AaGFPmSf7@ccyy=ieg z0)nd`v6B!PXjtC4xZ3@$sU?jFyxOBF(|5t1wknpDP-KKLJa=sJaMmdw;dEd(D4K?C zWO~S%CjXHc@kmKZ<-`F(?H%$^h&j8Th-r>T6NERIV#{BiT)|3Gk%`p-Pe7V)c?$nT zJMf`ZOB4WfD~d2kZ$=#ki#zb92m5N7@-5ubhG(x&8g8|j#iDrAVzF56IaXQX{OCE{ z^upXy_hp{WRyJ8p`Hg>8i28@i+wv=U8OsEwe_?afJL??RAJ=K*qYu)Sz&pElOjk^0 zGH~y>oP2qbmgb$3RlpoI;ZAuHCVOz19J`F>1#G<3%<h{LCm#FZ;e_yu=DX-9>FOC0 zIc*&R8MuXh8MvWUN1tE@5^s#rEW`+>*ut;;EM6Rng2_flPfQHI1)~tiY0F@S5Ef$a z1}n&JF<&_ZFmB0++?ou`&wA3?1|$@)%Szx;_Zv9r8(wq0S8{XMkdTCJpVJweVn=l8 zh9}r^LxYQbUgsI6Y`U<;X6zta>UOSmT<a~uFG>wi#>A)eho?k`zn?yw*siS`9yOs6 zm4*2?W>U0AU~blXr6pHAR*c`FgtF5TZG&wEfbP0R7Bdkb2|-Mj5yLwQ|FA0NPc_~3 zunmR0GP`v&T`AgoiW&z)uaxs20r9;2xpyqOoQFRCq!eyJnzqNcosU1A1-%Z&pEV?k zN;|?w?HJ${z_vhbnkMxX*os?&&<mK)B6`~+Kd)}{=!%<1LiW?fdXfF7tR;#>qRdm~ z7#ld|{P_aKbx*9WI74b6dpohr%<_2r3sVNKhm-S$D|+ZLO@=f=?X^M$qtLX5Bsimw zL+P}>=*0KS+8;Eun%(i()URe^7i_mbgg%6h8<B5r&A7I~iP+N@ol=Y0u;`@I{fU_& zpL9U3o{Nwuoky>ph{`f;@hQ=9qw7=C0hE7}>K(B8Irr)%Kf0UyNQQlMYQzIcESJA6 z`xj^jy|N8DYf19BaSd%o@64+d;ixUp!nNus@8Wj1w(XpWc%gQoef+qs)~(no{qu?X zA3}AVYWlfGy3;#EG!wym*8s^7Jpwq}OO*JaOd1`ZTGH;&7?&CY>G&DV_Pe^srl4_! zUTB((Q6WA_zFLNhVnIG(eN8277X=ARV$7IsS}nq#ywn=h75Df@ePv8!oo=3(BTBja zv|%_Ji#}_o@HW>-1Ku?6DG=!_{#A&gY?;r!`Q;d3EQ|T^**}SG4TP_#=@;hDRo8UR zsComQAJ4(MzPsMQDo$63OkhJoUl9-60v6MyY7Z>t2_;UXP*ASpE?lqh(UhO$zhzEw zq}G!(=G9L7cKnUd3W6$G?~n;oFKg)p*AEhmr^P_8m3_wf$ixns5wLn<O6zP+6UtIt z{~_paI%%~Wv^-vYnV5ey8kNSV^Gmad6cDcT<O(2FB{Nfa!lHrm{Oa4~QTxaFx|y!V zmFCv(pQuT#fhzkEK9BT8ts4(r2Y%HcD)`EC1|{`)jA3?>#R0E8)3h^uRRYn#Zt2GF zFjcbvOT&+fJsWsQ7fK`F9<m+IAxw+)=s+%<GG$c2`Nrl&26gn+6#391Rx?#^JXMOK zz1QEj*HO)!*Kx{9c<O|$)^O^rUX<{W`LX&Mt0j~0l-nJaBuA7kLm%1Rq4MsL()c=y zH9cPH<S&&YkJkLpxP9y(DnWk(*pY~K>OX|&$hD;SG*;bY<0zw?2v?7qc&39s9^env zdZsHBSFpJFMSCFfl5uKr9Jqjk+DPqoV{YdRX=4@d-oJ1)tmbfLobO&gf2u|~PQi7s zIq9-6bz@Y+b9pv_D=rsrDX+^4iaZ!~wm7i+II6W=xQw#4F#7D@=Ibs!Z+=)-ijF+K z_r%#$Nh_t0$X?UVFcIfeXDEH|-W317VeKON3E45Fl?+&OyQ`>m)oKnKuC$x=aJsc2 zrDSGul8Al)Un=VQUZ2b^?&FT<+rFBYEFgSCJkeDnGhX6vVPjfq5TFl~Ws{ix3;vw# zq8<bL3hz>^+PAW_Cm2N>bag2yqF>VGmi@4FV<G@^#0y`LD3r>fio&W{`xQ^iV@$;& zt>DprAUf}ZlG0?U7|qkcf@|#n@wwmo&gq778#qB&cLN$k9=NfaLY*2*0g|@1wd)=S znKkX(Wkb4!pSQ>uz`14*d57P-?4E;NRP6qa-)9;XL?)Y8Fk*+HxFd)d0g(cJyLa^B z#m`(5r<#w+vO3lwZpA8fzF|_USr@|xDG9YRkBtUXxR=)s0P&K4Z7+0E(uC9W6wOx3 z^M}tXJw%AQjmm2TkFaFH9D5EMt*!acM{btGS5O0@552+sH_h>ijL3B35&okW5Lp9@ z>3|xY+CVCB01Lw<*IUKNF%kZ<(p%+?od?$IPDwmJT-A2NQa9{q7PlyntD%HYi^V?V z$j2@P<3TK0?g7+Vd-+w$f!Vi@*#2>CX4t_JXOd7dh(G@HTUd}q1*~P%G0QM07Plb# z_jt<s!@$_zEJRP?=@<7N-8|%(wnS1e1n(^AjnO$bDZu9>hq~Rcx1{1c-T{6N)cdcz z!729h<G!;Q=F#=Cmc<x}k>Wvkh}pnN4v0<k<o7CIHCp`jBp^rwW4DFK8lOWAuDE@j zL_Q9$TBl`i${qEpt=%a|2IG|#zI=6a<7-h9@v6nj`*I4JPo@yZ3JZp6ICZC4SHT|a z-fjvi9+9&auPPeppOdJlHbHjnGCTO~*4G>1O`RzN+l*O-Nn)oPs|u<V9$R><1T*nZ z^0x>Gg%r|l`L9p<o=%)J#vgGF?qtg$IZVJg+Gcc|(qBRWof}<}b~{y|ERl(meu6}; z!vY<=&Q9J%71OW^EBkn4RR|W4<~ADv{;vojZFX|K^jr(x?4l8$OJmx!EJv{R!Y#>@ z!>BMk-+X)kw7ta|ivOWQ_pC&1pN_3$wQNO!&_pGu5<7d#))jawALLq8c0(o1<%D4c zNuMq2*^dAgknSmwwrA7iBv%4_$z}Nqp#@Aoq8Y}E{<wGPi)FVu$LA$yQAFZeM~bxG znGq-!BIE}wKsx<FyfASTRxO8_5kY6ze6z*?a@CRGJ-L%*2@98Qdly?MtR2Z{-esvN z@n(%NmDf*Qu=R?nS}j*J?A8~|CU{RF49{}SD<@(T`ug&9ihH)lNZF%$->b2bi4U!f zszuKX<@T!f3$o9D6mfFd?&}P!1DR+p3#*RwA4UsY?|Trmo{0UZ{(C;>1MRPKY=83o zAVvM{8(FJ@i$}p<t=9}2WQAA`Q;s*P9}$=mnfL8B5xG(F9Vw4H*LM@~tq$z|A(X9R znP#B;Ll|pa4jJtKUHl%8Xm3k6ZY)v1KYDu9ZxE}ErliV5O2^ze@NyGZCG-zVQ(EbP zN~P_T2X{6_SaF=>20X<qu{zc*`}tD*Lk^|N_BdcQ=$lf4mmIglCR~2AMC+-WFYSgp zT#9s5kW@e6l)1_ENj^NqA?~K1u2$ge48;<U|BGBa0?5mKUlc@0YxN1cAvTiH?0f3$ zP&TmRaBoumhwI;+Eq5p-$|^xCA$aLa4P8e=yB^A2&{Z|3_U!h;{!Xy2PWv=RRAF;4 zJmJfL2{%Sy!mV#~F@^AA&8V{f+^2B=8e1{^If=~@MH_C4k|+6(=aJLYf_oa__9kLD z2nMIW<?%^~wPXln-b;>Az(1%G$+N6F0~R!!``;v&O`|U^Z)R)ikC!Ih%I29akxp|G zD(6#<3PdvZIC{U-ZWGT8F8cqTeO8;P;2$m<Sv4Bk$X#0$q+x|fDyIBgh9rm`#L}+Y z7!55n3NlXwU4!t%c^L06Y_Xq?!`Ho1qt?b&WZ{C9+d|vT-?WwR;BG&SWqUTXxrUuO z6$RE;iI`ty>h;MTY0-~<IGaoHBDvWd_ckPD93+}zeCwm-dC!Y`x?rIpX<}V&K7noK z7qvDTVku%Hgx+4PBT6_}kVx+Zkur#8N+6UT6#@b&ohZ>m{WdNi69V3X-QvY>_9Oia zj(f8yVe=)4l{A4`bMQNy6I|2c21-B@Ezfxw4*`DqQ=L37Fmx=U$rY%WMZ}2fkgb1C z7vpxq+o8RC#y`n=a#M6mi>1atT#ApCW0b9glGH3k<Lhd&MoH&Oqi+tuaB!qNSIEeX z)hIv)8vM!yjwf@r9=xGE>KROh1pH#cM@O~GkhUDmsUDQnl~iE-LA9UMPPm})D`mUj z40ZdgL-5AER1l^?s{M%a7C27M#E0q11odwZoGgh38f~7IdpM5xp^~9>EYNV5`Xv-l zuX51h*pYuqP}e0bXjD!-6L5zlh5GarZJM@jD3jFrPsKr*;vEWl;(cARSJ6A$J81^{ z8V_OCN3-!X3JOeprPIu}?c-L%vp9ARvdXZ+9AYP@6ytZGTt}{{2q|0zGVw{L_GI(; zKSa|tjYl&VHHiz6qt7gu4hPr-ohnGuXLP}DF5Xth@C!}TK`bZ3qs4D_UfPD^u+)h9 z-0+wP%&1(f+O)n1A^}{OLq02FOz_%4QIX{cvEpy-G+oVy7S+Ex`MXD8SL!buxy#xG zQ=y22Y2)b}!4{aNRvM{FtStY=wcL&;ii4G)Q8*jNG~bCHFzXEOgY6zWr?Szowa|JQ zh3a|n{1f*VjC7<?b<1#7JBua|o8r)YYe(sXr|4UHM?r2+Eu-nmw`JCrqN7-Z>?k!e z(K#yoYZKh!ovF*tv7&pAez{ZjQ4KZYTSvkLQ%G5(Z7fS$4pM+za4y%DF6dQ{mlj_| zd_5j;As&X}$5<?e?B;E1)*i@rgNx?aIEsC_WWMM^OP%sI-*`?`)br5o#i-Fg5oSO> zC&QMv5Li~{wiQ4*e>o=g<u5~+=Jj9QoU*-6)&n&RLE&VyzCur;<%)#!>?YfdK_ToK z<rclbK3)F5bt3t4=3OOmqN`mlx81XGAe9=24%Jkx<OTlPznT)9JBQ#Gt~F1+?`{Ha zdyXYD+Y84CTshR?8>4mhVQ-~)r~P+zM@b_zX@AMpgZ6t>`g-VY=f7hrar_kzH)XBf zG{cOV|5~D_cXyEn57Z}|5Ee=srV&@dQ<fwsaPorzlPyXp3V90^iG6(;XDGjFpH6tF z`pd_JcOM8aKhQO@f<VoL6iXrVY)I)5(?X(+{S-d{&0s}CgHcN`88f1o*Wcol1m`4F zN>L8hU19uSww!9iLpn@U;xf&d_gZWpFhXPKqAH1{-@{D{_6|X?Y@>UF!w-nJTad-8 zmj0J+2fv3qM-s1~Upnvi8-|zL3!eXQDXP9$8UIAx+ds5Vr1<#6WofN~T!rX*>h;1f zW}1=w94c#oJdLdDl~!&s#rO;w7icj3`!Sl>2c8uSob(DQcviFmwWodotaQ~Hh(G-< zPK*$m;yMvVx3PNS4Mnhs!n*_8I<=&DH7gRU75hH{FCT=sq0StOSgk*@!6yfP*&5Ou zF+aP+I`gYQ*<lv0d?5aMt6*gIHd9W?2)E*NUzXOEnO~&qD9IkpC&}M8v8TrKWpDO8 z9C=)p&gsxzQs=FVX;Dup!TLnj)?$}5(oL*t4{QiQ%U3NYse6hrW$Wec6w9%!??V{h zDCfw7ME-DPgF<@I#wMr7x--l9M<^wWv{(MT%6t1ul@3iK<4VAfHta@u46?o^m*0K; zhQvO84CI9)gqa69e6y(-8|Xj;Vn3X|29pHr3bX@D)kWe|HGrcVegCc|{2%J!Rfqb> zkh3+5xHr1R%qheVZM6|!)F~ghR-a?Uf5<mNX-PQEhf6rdyR?7|kYbh_3Br1}X^M9y zX#XLrk^flIWQ9=L@j#^Q-QibKDb~0C{*JBPV{?x~pPf@<ppgz;#I=jm@$s;L_tvUZ z=_6ySWL+MgTMilyXo6FN!V`5;(TCpB2pXwRTQV|G6e18RDy*Gal30lBDW=gzHqyt3 z;-ja?dAF2!1M~rY)j~%HBJZdAb2y|{rB@<U=Q|J37mjF(|9;#(dwY~zET0_7^fsM1 z-mw=vRfP<ktMFSpw3*8b+c)MF;Sp8GRp%Vs%kWwlrwsb)<cz^HF+6zVu>QO;vUE+u zXxX6e;c}|WmK=D_8+F$g;gEcl<6M;CCJVCO-wnq4k2@`4l%m*>%fjjRXgyAG>+qZ8 zDVV0s@12Bi9+aai{>RZ-hBf`ZZ5*VfBqT=;K_#Sfl(e)#P5~Lnq!}p<(lKDt4N}tG z9UC1}8UzL-q(P*A&;HN5z1UvtIJWzHUFUtCpYuNdc)axE1YzRjwN;a_U6R~_{81Q5 zP4diV;Rh-;e@P^|T&R5_TU<v2_Zpx~f&;NN7%8UCrIk(8E;E0tl-{NgV;Bd2gY@Qb zlKwASXLmOrr+f2YK}*oFqx13XhX7x;xN3%t&jyIseR_RM1;@&4Z->6A6?d!tsy%i$ z!HIYqv_8e$e)TkVLR<wm<$tBc73ql8O2wEU68Y03VAiLM>M@!^c$E~^6XYwM>5k#r zQ2g(WJ=Z>6on6Kp=EoE8>b*MK-gE&UoR06B2(h^BY~2r?`iKEgvdvHH@?24}TjcUL zGgBJyZTbD9CR<E#c=0Jcv|N}u?IWS1uV$C8g`xejop*Ohv`*m0i_s+c3O{s5DqC~I zBU##xuC(P#kjkwhK*2$aX|5lbGi7q@MN3`#=TiCC_)o>?SMFttNJ!%lj2G!*x@)cP z+O`6oQ>*T$WA@|Er5H%*{boi!xN`bx-KKeRjyE0<naeBgI`m=9i$o?LSwiybq;Kz% zU2Ah%f_k>4v+ol#KuOSps-W#O(KRq)6S9iOu5Gd{Gm!XGrq9fgqw{f82BxvoNI)g} z))bRo?E+K!t&uX<Ev5V-Ty)-#ARF+cGU>q?{dCf^J|*)$@5c8ULefh=K4QjW*T@j` zc(^d9FIyMR%7NJxDLSDdpxC!H5^?Wnd0>X0{~z9V8@f^@3V{)Lx&-_<CLM>e!UPYB z-}-(#!9{iobB1B7%jrCkL%<wi!0h3&vf?jf-Ok3xX6kpotn62XU!}%i8pSxulEF>T z*Ebn%Zhr-plop+qU74%MPOtqB=M--h&?W3dxr{<@=#QDr@Yn#jWa<xHDgFU8M3LLG zP8#>oofzV|H<XPf@jDdt#eWc1g945*@^OMtS1L%;AJA>yIddYk?Sg-(1h-)2jZioV zy1#CYU`SA|4&w;lcLbidyb;w=(eMr1kAZsJaNNxT1fMftdP~NWkciQaIdItFX6XBt z2fwaW3k3OIupzEY4MzxEyNXj}`pWNKwn$9Vl+a2c3wz@L6{lIIdUl&Z8yofq;1^OG z(lxi!q5O+pPU!>DF!jU0<$yoaIH?Z&UTr?Mxld9gUYwQdTX4^TF1UJK0Oe_$FA#h7 zV%TND5f*hGd<<5sdtOb}8y1`|jbW^3gTsm;sVGqBSzq&j+a}h!9}y$|dKbZp!cjZS zHP?SlomTd_=l1Y;mLBm!!N4S8vQK8~Fpv~sh9t2QaHad97GNlX70MbRcu{-9Puy|q zQv)+CY_gSzc;q0}cnFi%2t7J%Tz|RZtCz|)VUHbPPy6s}KjD0PUf}AHZu~AxyHG?7 zO2v)hIs0@fePMF$@5|MvQ}PiRi|w3wpOMtE7daQXtZS@>%4JufDlFcTsnfwmxUsO{ z9hp}eS6Gi0jl+3F#ciz*9O|SJH0u0@U2f&ett|Uy6{#iGXNd1?mAn`U_Dd(NdS<f| z*0!x6_}JcG(<q-cUl$r{>PWY|@mUwl2qHz8My$2m(UC8269?;cM@D@Qm$tRt+3ha% z4WhC(qeT2p$g!BxFVZcwO2ZC}(i}Obs)gpebbU#-%4Adxr6XZ~D%wz@Lm01UZvOX? zz7zjH1IMw66b6V&Vi%Y}(Jp#Woc&8hA20!%RWsYmOw4?gc9crJ99GT?6$SqMaJdoB zm_5EUNH_eTExO9c0bqA>e%aB?w2*MIq*a5Jxi$D#ZbomT#akw+{^7?oJUvcq?Torq zwnAi95sNwfVcRO#7%14YuDVTtH4*7t3)0vMTlN#`YTdMq42HPjg3~Ra?&}zTjT^(8 ziipP%2KQ_{&YqH{-t&7z@k^E=F~Is5IM74>M9O`Nfkb_qMz`Fh>ekEruP(XX46Mej zhRHmHmnw_IpP&l+yN$)uXnBmT{9rJ-aJUeHI$q@Q^LT$OQvB<zHtlkC5<ReB&FNtu zMcjU@HWT>pcvb3nQ`B0@&>la7B3ywYEus{EG`OmKJ3weKNgbJS0}M>LqV@{Bom=Lb z;fzs34fZ9TYS7=rIy<KP2Kh#lZ>);tXclG&Phb0$n8dO(9jq8>WQ{r}sn5(kz$c`7 zo+^SI^M(cexSOpx5`9jX-BtV>wfQ`qm4kKBLJtU&KF<x^Z)SFwVWw!aH5dJ4nIT^t z72j>Lqa;78mBvKA^wz<3;nOFoL(+A#_rKz6am2E>%%P!P;?q?3gSNn=N?*O-*FU0{ zA*I|Q6(Nz|9xLOZ-MEwop0en}p#S0Ua6Ny$%D6@GtsyB6?u*0dJ^Fz&DF)%3inw&q z|Edmg#bW;tm5R(OAZ=%7K)a8tEm#cx6)9;VW#cjG@!O71gxmiE<2?67h(jYIV2gMI z6hnGdB7Y`KOvjPZ;{|f>wk-7}r`Df*i_2DX3hJq-46>3D>UYHyjG5G`u<_@i5*lP` zV+8+9CFK1|E>bHIC3`Z8MA50U`_;)4UML`OMsrg8R<jRfp$hyR*&@l?Zyf_kx)q%s zoFt8GLz*-ib4@%~ax&U}SQ!4g)yl_0(b>|YbXy_3a%9ut$QIU`^#k?J1KZ}&62y8p zm3PU&qw!*jjtUML46lP5SNtQj=&ls+b$8Qs<4Z5&ct@gX2y}9OtdtLy&7)CG)DznC z!M>+fZ-*nfa8$ti^zen#8^uz&XtufT<0=I)E)mG*>cq>ML^+)xk*x`ymIi!{yO6QZ z>Zb0x{Dwb)8Gd{kv6vRd&M^v}zm%l9`I!E6F;`Z4h_FmG#8Q3s0_I(KBiM3cZ8P=> z&AwmZ{T`RqFBTa$U_^ITg(n9MpFrf62zxhc!ky>wc1YJ^jQ>_6Rk$6c#Ps1L@&!ye z%BOVzGW-4?t($ivXN9avsRM4~`LD2w`nI=lo*`5Q31P!UJ(7*FXaZeR|2=)%7K&W_ zXWc>4S_Q39bECfT0;ju2Xl2b!#=?N<ad9DXBFL%i3318XW`ic|E}N$9M%oEzcjNS5 zOPzX@<UAe?x|(sMTW=(;O*6o}cp(0H=sovqz;R&l%?-)J=lbjlROtdR1*SCYz8%c3 zW=T%PWEvghjLS}lL6D>OfcbUE1JP|zre6;oBzp5y7V)Z(XL?sAA&@GC%qj%h(P7uz znk1>`*w?8`7}H+#Yru(@4%idh2zPi%3pfR1<DZ__zx>5agMjnIhE=A22T1~(%n9dL zzhtyaGI;K$4Nm6rJp%YQyNUf|vv5kb`_b5P(dHmP#zxogH$O4k68th$-zY@s&s^P) z_bSh!)=r)|v)Impm-C-s|J)rJB%>JQLXBEZMk|@k;YC)Mjcx`#2<k!6ARw+ufTR2Q z@OGvmIFwWSX@>ObZ*;<5l9EEAk~HP=Az`#ZVu|95%W%!1{+~g2(qg(4ViNJm{h_VD zP>;vmxg42jwZ20rQo9*UmbU8T|HB(6nNRc$d;fUjq~=y`BPug7Sin_39PcmV7Zd3` z^9DrA`C+GX<f&*ju~ibO&47Ibf=3}$GR{e!=mfo>$UXjjh6gp>P@?%Bl=yMzHk3+d zOu<@1AthMJ;Cv3)wy~1~>^U(GI}?@g;~Nr1eO0C-wfg%743K3vw&-X2;(c5Q@wCcL z>M`Y226Ybp*5b>d2E1OkV`etAyifWlyk(tb4xqFK_W($Kn(uMGwl}HPpYGO=5h|+M zXi|xzKwzR&{L*?nr?%&K+M~(0_2=qcC2G?%Iho^qHyx^+u<<?cB*v!y@Mu9sZsz~t zeL5e@m1JVZ+US5uvNjHSgL0%l2%cSfNxjS!Ga62A`@@bMB-9ava#DdYUYDk})tN&Y zhCjDaCk*-g8`2w+lDs4&iIz@3R^E?bFX3_;XiiVQFg9<~X@YP6>h1rOSzZ8y0s!-m z28Pc*I(^WFJgMoB)@WY&si8=ooGiBOlQ<q%1siRu`NBf2B#)p;J`@6ce>k3H3XC6C z37^5+f_`&9mF1%GI?ZqpZ6Ue;Q58A!Fz+$zFSW<w?|%{ff1fkX-jVk|>U#`MPE*1; zxL4ld+#OC=q}($sWKYHW5j@^?{kkxo@><l*a{@21nbhn~L!0x5LOXbQPN<kDU3C1G zdD0NxQ0**%ve4VuLHo(DgeyU->q06;xB8SX`hBdqKxCRv-c%mR4CO!VDgGimQMB*t zvY*~WZ=Z9i>OZU_CG_RQ#r4z(aa;#dpjt>AucI+(>-WcxYb#sK*rAi0@Wg4Me7gK^ z4adr$$K`?*Vtum=E<@DuDWyNR&fLKI?;?MnM0tULtQJC^_x!XPu%qT^uw;xq+<vc< zI^@#;T-J7bQ;vnq5~l__E-c#l3G!GJXvFW!t7}CG#V~2k-kkoLupX^9yJAKWrizvQ zhc|6b*OBFep^(GkHz`&)1B};AxFH|KP))6KN52|xDkRSp$nVH8cB9F0aq+&*aygzS zml^|KdQ)i~0N|$!QhzAolN72bZO)FV^*us$;u$d3FO{vEn45F5-kmH9UWcb{A^~Yn z;E4rVWZk7sisuCX$hkY7cFf`any*d>Jg<Up|HBiGQ2299z3v;yD>N#76a$19s?W1u zNIzP|ciFhwtfKxZx;cS%M+1YX2qTOY?4^0`$;juhbdeHXlj6=UH2wJAfS7*_@A|ch z<g16q#(hoZ|8)#@hNn|lPTjV{+nU~sEJ#ax$5TOY>AtKbZ|lXi&&c^>|CBg#Y9N71 zilBO+s3`}K<)4Spizi>>dlCX|5I}B~=rM2^p=_1hCQMtI5@vQhgY_!s`#SJz;Zkk! zyGuXdML5))u3xRSry&J#Nm#-1Ar&61c)Xl6`8J-1s>|Znhu-e%;@MNN!qMr|6951> zUN-*+<YQCOb`$9Cw;VgRYYTA-0L3rRS5<49{=QSC{qp)D=v|o>f?hTtXSZ<VjL<P& zQAH)7Byg)-f87guZJWBeCmO3EtRPI@RiM6cQ}vtQRv}fame1BmmG+YcU)n;UbtGp7 zp<INqxRF2K1GbkA7q)aDlL6sDPR`$W=D{T2EQYoxAEn{M`P|rzZ8SNH9`+cII7|OC zxS~QQn_I`z?r5n{)ATx4KDe0M-)N}4@ijXWTKuZPkjJo1CUiyU%4D0a@qCurYU=sc zoET81VmMy2&h`7U>T9Vv4m^+ny>zv^dNqsfo{6ldKn5<+<(vIlr7<tuUwKxeBxht? z?uEg4@5uO1;s5YnZOqJnHaJl!uW*+FKmO4AW2={nK5;`0ah)_DYC>Sf;w#%l{jQqD z!B3jy5(DFe=($?Cz?uj=y${z)k?UXzJo1h4^h)2zZ!&{DptzyE_Tx<Ow0q|(+qEr- z8e<yklOYwqwm&FPP^RurD!)E?QI(Pm*v`k4L!Jdt#_n+iLUp=3Qc8H_b{L@duj>u) z!<s|*q2$P#Yp;Q6q1_kTxI`hLT=^kv#3r+iC^MUFRM#j&dbCJE=Ckw%c4^wyQAPRr zH*m(YyO8tP099e1%R~*_PD|3pN7GA^k8%F@L8Jd9szVA<x`y16lQjl4N%zJDwGiAz zF&;*5Kx-g-U$WYYW7(cTGQqn7Lp_T^ZGdL9(rvYKfwfA><!epb9M0SDHc46j#VZ~~ zg}J*_MZ?S&jIVM4jO|yg>_!?1YiQ<5B>F(v{udjdg~{YPwuCGvVCQ#x;efwJx8h+a zl|ph<XyG^m`TO`ek^NyWg&HtkQkTr#95w3;1Jti229R>vp=kX$te=&i$h~%wGog7j zLP3E+ot2krY$Rd89M}RC-@6gyrBwHJ<xT-;<>7GR;`jtA-sc|Jih#GkQk47ce&TlH zlr40^`lJM=jaREjNL`-uSnSjA^>RK?MU+k40q>s;UjK<-;)SuDu&8Z2$Ca}Hj9lwM zL@8ZBAL`G7+lfR}hc<5UvyK!4W;OBQgB!PE@mB&2)HgRN=omBhbu}gOC!s=l7LDxz zihKHX;}v_}m+3XoLmOs!*H_$7uQY%X;YDNp>#+gUoSSQ%LWjkhtX`-59#G&InaQno zu}?-**5x)N?XubdEuGjMgZZawjv-MC+wkXqArQ&TJ1r0qB29ePRw>)0PQM?Z&L6H_ zt8E*>ElJ{FkDrguSJ*3K0jcDD+8#OL1*G`6_!OosN_Y8|ct%AP*r~8G%1_ss0tv&f z;7Ov&xVDvohYj5{%?5*_s_5=tVnqrmf6tfN-YvFY#)z%C#7cK5&CE5-`#8pvV#?Z$ z2Z<%crRVEyoKP=BNm&U@c3Cj)0YriB*YQO^pe&>;o{0F{tSFY>JgDcw+rIa7#Brip zoM;PBVmGfkI$OmXkQf-#IOGXeD2hr1oemS~QH!*ZPV{^+PwC*bwd&{FD_lW*!`AyU zyNXO+Tt2KcS2Q0O8$t_fv&L`xINSLu7YGH*m(smjtM0Fu^ol4(i}6MPc~xrR_TdXG z&)U0h51T(iV{-&L925m6hNNX#pA;QFfcKcxovoC1Gg2|-es#@3CTY3HE};)5U3<-* zcmk>fnK7)2YzHtm7QoDU^GS<2d_RdCh^{>aZ>xgRYZtcMR~oTl1pnS^^i0PdsDNt6 zqk(krC)G>VUi%tbZ_2Dx2*P;*eLk7`DeAKSq_V%y1zuOwbo244PxM3^Y!BmyRqpBu zUANre8r)pjRUVo&r0EHapNZ6M#vMd;M2kwHk3C`9)zvCg$z_|pVf1clNs6zzyv`3j z8171`0^XTi>W&V?yhX4m{@R@^8Cdn}lC+rQoLg`>AxX^4Oim0<AfTZ5l;K0+0{nF$ z8EEtP12qB>mZ%V*a$=3N@;zDZS8Z8p0h}li)g}#L09C%CB067Ns0cLIOPrUheBEzj z1=+cHhP-6Dv~$$zRJ#889W(e*kO_;=?$&gVCa+pc8p5d0%<!E9F#p~aem>Sh<e-4b zCk-N#zM7j0c5D7o44vxml;PSH-u%a7bL^FC2aW_MKg|ZCLfOkoTa<-8!T3qO)11Mm zebTy40L!N&;6T`_t=3v<cJF;2{_V7Kvk<-<#9dUp?rHz}8Eb3h6J-8jYyB0=J~Pu1 z6;3V9LTV(Sm0BK=$m`w+6{o{NEo-tTr`&0wJuZ|hR^1@8LepO40PM^yjhU{<UKEU0 zOHq6DCAxg;RlHL`fNg$EDHJV?u~CuACe~C)XOZ5dirHqD>i2EH4g;V2)~!jCcv;k1 z=*QJrkKKZnbAMVY7}CoK0o{ez;ygI`!+z`>_lBm1@~Vr|lCEN3Vp=B|JkQSVQq27H z*$xI_DoeYZjccc*H=ZxOO%`$i5Lw>1-h;K7`X_lENsAA9p~hD0kWW_nAmKK{xaKi$ zfJj7e`^Ehq2VrY<NL)|7m*O`I*6(qrB1L0159|w;m~4TWK+m+*J|sG-@DA)-Dedfg z&i0Z*w;Cq_$hlT-RKf2aMz7V|K{t9q6>jy8IkSx;GqX6(Rk5pJbq)jO;p=ax$HmGI zqQBu9^$Iw-LvT2br={;`4DtR4cT}TS!F5wc;~*WlM$<f85zo^+T(uQxUNjyK<VhMv zuS)pVka`aXX`nYFIyHVRC`Ek<tj{h}+onnzcoU(x;+9AfO_JZ3$(kb9#e9s_h&-cW zr%v4_fS~p$?e_HhY7?w_&LXeO6~sO*@ItH`?{tsewq~eT=N2h)?q2C5Jyq3767&VV z45;snjwpwVnvA>6l8iQn2)??ib)XKz2ZL&DKAZf_utlsbi0hQq!?q&~f|egK%m>c@ zQ_(#RDA|Y=7zPF*%hm?BhlWxP+*J=8e2EOJG**1}vpRH^)2#w<;&i6##H1DsZ*f+( z1yec4zvvA!`gtpBnL`nmFt$^G5Uybx!*gfrF}VZ7#B&K$et3V9dK+SznHndS=kDvh zyjpk|p1LNGZP8CLD;}p-eFky=@HWv9>fE~Dm0hM^d?{x%i0sQ?+|Bq}b@sI`3P9G% z@j_vHhEbMc{6&9&;DA%&4@?}R2}*R+IxCauu!Po3X3r>bJFu^l(bOqj$el_cN$Wis zt<;#My{=sR0DJk4Ogj6AZ_H&#EG9ff^RiIL{=J8ixGDXYn~E<HQNj&@^!3{Pp)4SQ zaOR@02nTrbKq@hbi^GkejE~D+TEcxDv-odmGD7E;ES@fcWq(NUaota9>fM@;yRY?Q z_%~=NW6$o0X4h5hj<gHLW#&b)9GH0`QzJC3p9~IU@+{=<xA?sI1OG|E$DDQ?MW7mP z<-8*pU+~2|?pEkfhY8&<$?j{4FlX7Gx4CeX9li;xo}NO^xH~H91SrsNFyO604`IvB zt5-X%TdkL0s>rQIki)&FtGC4px2Q#PN5R4-?Tf{#U+4R|b060S<HR?#Fp%^&igu?* zvt)<5EDzc$UDvF4)2N)B-Z1n09)(5V$AaGYcjDm%@)sf~>aoKcAY&wXw~82mSZA{_ zf605PyZbfib-PdkL}d5ORx9HoLE9>Ox;5VUF*v3igH|aaPYn^X0K~>kLLNoOGl7v2 z^+|IKv)Js$KAkz6CQVy7pHo&3c2gYywvn76kc@bs?SuD@w@S`LMn-sO9{X)e5^qlH znTvgqNBr|3HUZOrCg*XV{f0Jsv!ib1<DSH_TLTtY*qZ;)3njab@)9Qs%qNTr)D3BK z!4^5l^(pMyyL%fEKv8H%r=oG6pIc`a*tAkGG3<`t#S)kl6USmy$nXI?Pp5t&mWCnB zv3xS!aCWi&`6owV8rQ(j+}eGZwkTkaYy5DI%KPY__V;vQ_p7hMJ<E~v_UtkMC1=Cd z6@VsNnVV&wcM7GtgVgr+X1iaap@^z3!w}n@xKI6s={uP9?zPaHW0B*6pXLa$;>1cy z_dHs5vvu`BsSvs3?bFS<^Vaw9lD*@x{n@N6f9b(L!BzE*-<QCQ)f6FqX`bT@>~EG$ zTk2C=#2+vzH^D=PtBj?F3bi0kXGNhLhC?pGBX%;C4>G5YWzSz%_;dt59%l!zXhffz z)N-OI!|GpRhosowd+OdK{_<*k+9Af9wLIJy%$rLds=0hf%DuasiDyjTG%6=vih<N= zd~++Y1`2umWyUCkhftjuUxCNp^ye_9FdeU<0;0+$yrcjUo0?=tOq|j*KjWhwpTZf% z*qv#$g`$!-F<TAJqJaV=b2U5lpT}laV&cL=Hm;gN_Jgfms|^TB@y_M@R(@Q18Rp`` z-QLNQXjKu$h#|t>HCn|Kr}EIb1+fO5od$60IW~f_Cyhy^#QlBT{VYkF=;@o6+$+p$ z1gcYS+i0!MK5jJ|wTnVe<y4qykF3-AlAoNi9F8l@ww$EbVtgXA;j9igMDxlMX7K9_ ze7*C+MV6=RM)S{}y~QQ<BA@=i;cudGC8xMF#(t!dii)++${ud9z^B3m{k|zH%lTkh z44&cGVDMFl=Sn4yU$Xf(=w2xZp>+CYR4Hh+$Baf?QmXT?nTq9S2g0+i;O7D0eY_kG z=?!;bFkiuRVuMU2^gf|Hb|vW%rO@)m7w!g~%MAzD!99AwssArGb)-`Ye_pv=4Oss< zszSK_PV>1HF<+9BmyM>roTPLk=Q{*mz5&-^IdI`Qj_v$3`T?$zKuKxL7|+JPfn9da zM#U)Wlfw(gV{FRY$f%)%(lEb@ZZNp$Cktx|j?brAWjK`9F9%)(7Cm<(bDxmcQrJ_= z>j5>xP}tcH6Kj~+_PopA2lB}ZN;LEGFL$8v_?0zNYb&A6d_P`mXuJzPwx<X&84wb! z3D1$HJio^zgY|#o-qXj2N8Rdy8=iiSPkQE;S$$4-tA951l5C#HF+L1_tBv@IZGIik ztjww%nnp>W5&nCm-)TUF6|nJgW|!Oq$zq3XYv4%GRJ7S;jmZpvB(@1E@P;=Ae~<qn z{;+-*-|Bc3UQ$mC?lc#f-qIqNV0v({nb9~ie!>@dc5-?mLB@WPEOiSkq>M<(V3Xqw z;O?f{MN&_o#qfo^(k}K{&G7vn1)iQZ+qGP$__e^cBr5HBQ(j80p3bn$Xxwuq#!1i9 zj+eheiGGJ+qQ+fWbB2=k{;>r@7L6eDALtPryq_pv%RH%l&$4~3*!oQ3LqDHy&ZG%V z`;*KMGvsBJu2z37@D{hR8ymJ_V<Tc)TRr3-Vcc@-c2L#|_6g1mvlU=RmaR=%wWKu( z4!1CMNCexhAHiJ4KdbdvdDaHCU2gq;#$?{mT=>rbQ$qiP71@SpXod<Q)5obsiIrG= zGiF!r8B8UjY9*GX#b;*KKiGVe2|932?y2tN7@4lvP<%Q{zy+7IV<WG{q@A&TU!K8# zj0EN;PtFAD-#YV26vYiWJw?8NMOAjN-j(ARXEE%lxOMr_&#{*HNBZo;7~e$|jJU4F zvLVS@mBrV;x*9J?UT|A8rY&?d%kF-yyHfZM@4707UA2AjNvzyo%4M=A1sP{fcd2Q| zZ;C?u+s@N_f`wF8m`Fla&V2yo%<l`Z!_;3_V(`!ES$4sEcFQZ3X$ju{2n9>1*esqM zq{p5?C>%4zSMvW38iU;GFU|F3^`bolV(a<MWTJWJs1oGzF9_f+?WXm^q2B|FS}yld zC>LVVxQ@<cae_NlDa64bckAM;o+Pjk2H_f8qAOgae6$+mUih*zrCXGu7f$j+dWpss zTklH2uyGoAyKZS4w6Fi<iY3-<Tzu?n?Xkg=0mfik6yD>NaMF+A>O(Bx1^g_6mV|#a zO{lhcl0zB*<qJ8n{#Dp%L4dXmbbg-0nG%Xcn&(NI9-o)454pEtRdY|Mab5{+_FnQF z2hlLv0Oj`wK#|<OIx$mbE3b5ZvyY2w<V~T0pYNuRSB=zbvjK?O%W<TjOWZzHk_PK1 z5EUL_LD`u^EC;m|X}FxI=4QY=hRPmDc)^q88HPF`cKQ%kvbMf6er5%;2PUvjsh_T` z=GyFbD8siu^<5S@n9R?Rg0KH3uqZPwM(ua}iz<xDSf$q;KK0wVxT@klva_s5?=t>} zm*!gxWUybI6fAjCo7y}(m;0tU*uMoY;G+F1V?s!>J}!z^aSxb;XS0lh6sMdjUn<TE zSq?kMhMw^R&q(Z_=0`pt3f7bK53<uLwzTQb7H>Tb_&&~`<vCAD1)%lMMm-e&si?~k z_$L<o^gI61W`q*p88Rn`tq|@Z-Z2JpWaWQ$N*BLP{IR7aw80$w-aqX8upYC=wCE|f zkP1kDgWe$KeK6jWqa<H}yQ=Ko0ADWJCI%OisWczZgf}(20Q9$19nfO#V+TU&Yl<U5 z>X5`kE6U{dMf@w`c0neV`g-xQ6$;8hm|!gl-m~6q>wBD%{!D^Gg({{5dU+Tv5T#0a zx(PbS+nAbO3LPmYc{PeYK3z#oCw{}e@SfS)?xBlM{ar}3pC_hW2%4S@Sip}(rs(x9 zU1H{QUTpD2)S3cCIg>=WiR!}j_c*Xd8-Y6=|KWvMX0HOqf7yPU1ocM**=e^tnm!u7 zAFYIkWky=ZJonN?AX>ww8(K3Xc&M$MIqGH@_2)_udWo$srHdy}sptFfs_`2${@U}T zQnaE)V%cOgRt+A6%Hk#(taGAuTa$hF6gBD*>$4Wu&(6ruZI8dW?rXpQ$4uDG<Up19 zaQ;Yet-GAanB(!}7WMKQ>Ihubvuw^nGowV3=D`x?zQm(u+MUw3QkJ2e;saCS^|vnH z6;3(Tl#j6;5?Qy?+jaZdW>VhPKp?58z5@49ia6WA6v=;hlQx6Lt1<9f9-Gh95ZS_r zZ#%uEqcN2Q5tiPKF7D!EDUwpUiIGUX6aLzDAwqThJk0xX_yPniq1C8k;`*1uFs^jd zC#Z4!{MZx!ilFSu?2`zss5OnO=1TWu{EIiH97P>}m%7&>Nq(16J^dA9k!FiY(4hQ@ zzBv!xqxe0lfYRB`W+2Ivqrow_15LL_)2p2eX_z+aChn;s>tLiMFdw(X!}qI&u9u^6 zZe-Ux+V1ZyG3z~B`C8Mn!emV7Fi}ZMfrf=gCbc&6;s<aVS49dV&H#4&hvt~o`rh&G zi|gma6*O1s({64&b5<61DRD+)+xFGgSEl&33etXQ=~kO0;TcUi8Y9E&cN%Z*czmvH zHD%o^1+#NZV1B4!Jkwo&qxrLiL}Ee%S&DGHxn5z*e9sT+e-73Bhz!R^T<j+8vt~87 zYwP5T`^T5`rsolNv!#le#f>4P7z9_44<y3G@ge5W=bzDMS}V2kUUpxeGYVoU&0dI9 zkTf8{{`lPo&S_X+RF?oKffI>xh)ZeeE<s;B5%FlPRREbRUk#`LB8KUheTi?VoYw*d ztpb4SKe<K~Tr-*?emVXnF+3Pvx&;4+N3w~!<9qt~Y?)mf=m2j@@}i=a=Wm+}PEX_w zx~(9g6Dr4!AuVXs+07=JQPt!8U+s?FTU%dh)?2%bg>oH5ZL&2?t42^~az5UNxtZM# zXERd@Sc8Y1Q&>1*|KUZ_8oy8;N@abSu&vGdDe*?9qFH>j1s~mbTotXz&pF7h&9b{C zfS2&T7l3~-ysqZZH=G2PImRX*dF_s>jxm1PrNWe$Z+$v;ko|tomLq5)GT~pN^-&4O z!;n~Uif~tXHeFkES=$hvQ|I|-Ss)1_(I%w&#W@Q#=9Cz3MS1$$(lL-NE09Zh5;qw{ zU4ygFXflu^ko6_<<v&!M_s<MB-pgHfC3h=4#f&mjxtoflzIpGC|DdIQ`m<A^WG%%! zT2-~;FY`w>6_zP5^{<cD=i-@zrs>zVo{8lzj}-9Msot_tgANHg1qP8r68<mF-Slpw ztyg)(bt4Q50_6i36*XqX#K-(P{5~Bx`LSz<y$||Ba@c7cQ$x7uX;c{hUMLfhSVu+~ zmm&mjtR^BANUU6D1(W2A4D{<`nPP@Z3^9#K`bVn#ehL<V$)%^(HnwvQq}$CJrKPqe zH)(*{cY5{1+(@=C92udDF$5_Sv0FRI_UoQ|A)A@Xo|^qfbvHSey^a	vj2%$-0va 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 Aq5uE@ literal 150227 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�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 diff --git a/src/content/community/team.md b/src/content/community/team.md index 5b3eaa93..060e9c84 100644 --- a/src/content/community/team.md +++ b/src/content/community/team.md @@ -43,11 +43,11 @@ Current members of the React team are listed in alphabetical order below. </TeamMember> <TeamMember name="Lauren Tan" permalink="lauren-tan" photo="/images/team/lauren.jpg" github="poteto" twitter="potetotes" threads="potetotes" personal="no.lol" title="Engineer at Meta"> - Lauren’s programming career peaked when she first discovered the `<marquee>` tag. She’s been chasing that high ever since. When she’s not adding bugs into React, she enjoys dropping cheeky memes in chat, and playing all too many video games with her partner, and her dog Zelda. + Lauren's programming career peaked when she first discovered the `<marquee>` tag. She’s been chasing that high ever since. She studied Finance instead of CS in college, so she learned to code using Excel instead of Java. Lauren enjoys dropping cheeky memes in chat, playing video games with her partner, and petting her dog Zelda. </TeamMember> <TeamMember name="Luna Wei" permalink="luna-wei" photo="/images/team/luna-wei.jpg" github="lunaleaps" twitter="lunaleaps" threads="lunaleaps" title="Engineer at Meta"> - Luna first learnt the fundamentals of python at the age of 6 from her father. Since then, she has been unstoppable. Luna aspires to be a gen z, and the road to success is paved with environmental advocacy, urban gardening and lots of quality time with her Voo-Doo’d (as pictured). + Luna first learnt the fundamentals of python at the age of 6 from her father. Since then, she has been unstoppable. Luna aspires to be a gen z, and the road to success is paved with environmental advocacy, urban gardening and lots of quality time with her Voo-Doo’d (as pictured). </TeamMember> <TeamMember name="Matt Carroll" permalink="matt-carroll" photo="/images/team/matt-carroll.png" github="mattcarrollcode" twitter="mattcarrollcode" threads="mattcarrollcode" title="Developer Advocate at Meta"> From 845a28165d0a2f5c553c570f76fe327e3bc76f99 Mon Sep 17 00:00:00 2001 From: Sebastian Silbermann <silbermann.sebastian@gmail.com> Date: Fri, 26 Apr 2024 21:34:29 +0200 Subject: [PATCH 261/382] Add redirects for moved rsc pages (#6800) --- vercel.json | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/vercel.json b/vercel.json index 7183e4a0..957c2502 100644 --- a/vercel.json +++ b/vercel.json @@ -158,6 +158,21 @@ "source": "/link/new-jsx-transform", "destination": "https://legacy.reactjs.org/blog/2020/09/22/introducing-the-new-jsx-transform.html", "permanent": false + }, + { + "source": "/reference/react/directives", + "destination": "/reference/rsc/directives", + "permanent": true + }, + { + "source": "/reference/react/use-client", + "destination": "/reference/rsc/use-client", + "permanent": true + }, + { + "source": "/reference/react/use-server", + "destination": "/reference/rsc/use-server", + "permanent": true } ], "headers": [ From 807001cd9bb8a8a76317cb9678e5d3a4f01f9432 Mon Sep 17 00:00:00 2001 From: Chia June <ChiaJune@users.noreply.github.com> Date: Sat, 27 Apr 2024 03:35:27 +0800 Subject: [PATCH 262/382] chore: fix typo (#6791) `Changlog` -> `Changelog` --- src/content/blog/2024/04/25/react-19-upgrade-guide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/blog/2024/04/25/react-19-upgrade-guide.md b/src/content/blog/2024/04/25/react-19-upgrade-guide.md index 3d8958b3..78fca5e2 100644 --- a/src/content/blog/2024/04/25/react-19-upgrade-guide.md +++ b/src/content/blog/2024/04/25/react-19-upgrade-guide.md @@ -630,7 +630,7 @@ This is also what you'd also have to do if you move the reducer outside of the ` const reducer = (state: State, action: Action) => state; ``` -## Changlog {/*changelog*/} +## Changelog {/*changelog*/} ### Other breaking changes {/*other-breaking-changes*/} From 537bd05e560ea14ad0ad43835a6128d52b2c1d7c Mon Sep 17 00:00:00 2001 From: Shubhdeep Chhabra <chhabrashubhdeep@gmail.com> Date: Sat, 27 Apr 2024 01:10:06 +0530 Subject: [PATCH 263/382] to make examples consistent. (#6793) --- src/content/blog/2024/04/25/react-19.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/content/blog/2024/04/25/react-19.md b/src/content/blog/2024/04/25/react-19.md index 4a6782cc..8d6749c4 100644 --- a/src/content/blog/2024/04/25/react-19.md +++ b/src/content/blog/2024/04/25/react-19.md @@ -153,8 +153,8 @@ To make the common cases easier for Actions, we've added a new hook called `useA ```js const [error, submitAction, isPending] = useActionState(async (previousState, newName) => { - const {error} = await updateName(newName); - if (!error) { + const error = await updateName(newName); + if (error) { // You can return any result of the action. // Here, we return only the error. return error; From 8c1c6e30143f13ce458fb8e56dced90a9309e5e2 Mon Sep 17 00:00:00 2001 From: Ricky <rickhanlonii@fb.com> Date: Fri, 26 Apr 2024 16:05:27 -0400 Subject: [PATCH 264/382] Add meta task for rss auto-discovery (#6805) --- src/components/Layout/Page.tsx | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/components/Layout/Page.tsx b/src/components/Layout/Page.tsx index ee3c899d..be30cce7 100644 --- a/src/components/Layout/Page.tsx +++ b/src/components/Layout/Page.tsx @@ -21,6 +21,7 @@ import type {RouteItem} from 'components/Layout/getRouteMeta'; import {HomeContent} from './HomeContent'; import {TopNav} from './TopNav'; import cn from 'classnames'; +import Head from 'next/head'; import(/* webpackPrefetch: true */ '../MDX/CodeBlock/CodeBlock'); @@ -117,6 +118,16 @@ export function Page({children, toc, routeTree, meta, section}: PageProps) { image={`/images/og-` + section + '.png'} searchOrder={searchOrder} /> + {(isHomePage || isBlogIndex) && ( + <Head> + <link + rel="alternate" + type="application/rss+xml" + title="React Blog RSS Feed" + href="/rss.xml" + /> + </Head> + )} <SocialBanner /> <TopNav section={section} From 01edd5c1070c2c563f86ee508cff3e8cca6a36c3 Mon Sep 17 00:00:00 2001 From: Sebastian Silbermann <silbermann.sebastian@gmail.com> Date: Fri, 26 Apr 2024 22:40:56 +0200 Subject: [PATCH 265/382] Upgrade guide should recommend installing types `@beta` (#6806) --- src/content/blog/2024/04/25/react-19-upgrade-guide.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/content/blog/2024/04/25/react-19-upgrade-guide.md b/src/content/blog/2024/04/25/react-19-upgrade-guide.md index 78fca5e2..84ef768c 100644 --- a/src/content/blog/2024/04/25/react-19-upgrade-guide.md +++ b/src/content/blog/2024/04/25/react-19-upgrade-guide.md @@ -85,12 +85,12 @@ If you're using TypeScript, you also need to update the types. Once React 19 is ```json { "dependencies": { - "@types/react": "npm:types-react@alpha", - "@types/react-dom": "npm:types-react-dom@alpha" + "@types/react": "npm:types-react@beta", + "@types/react-dom": "npm:types-react-dom@beta" }, "overrides": { - "@types/react": "npm:types-react@alpha", - "@types/react-dom": "npm:types-react-dom@alpha" + "@types/react": "npm:types-react@beta", + "@types/react-dom": "npm:types-react-dom@beta" } } ``` From 9c53b48a92008f5030815137380d86bbb0a198d8 Mon Sep 17 00:00:00 2001 From: LongYinan <lynweklm@gmail.com> Date: Mon, 29 Apr 2024 17:53:04 +0800 Subject: [PATCH 266/382] Remove useless async (#6809) --- src/content/blog/2024/04/25/react-19.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/blog/2024/04/25/react-19.md b/src/content/blog/2024/04/25/react-19.md index 8d6749c4..42490bcb 100644 --- a/src/content/blog/2024/04/25/react-19.md +++ b/src/content/blog/2024/04/25/react-19.md @@ -80,7 +80,7 @@ function UpdateName({}) { const [error, setError] = useState(null); const [isPending, startTransition] = useTransition(); - const handleSubmit = async () => { + const handleSubmit = () => { startTransition(async () => { const error = await updateName(name); if (error) { From 3981ffea502ee10ee03dc4f7438703d8c936da68 Mon Sep 17 00:00:00 2001 From: Ricky <rickhanlonii@fb.com> Date: Mon, 29 Apr 2024 22:01:52 -0400 Subject: [PATCH 267/382] Add versions page and nav version (#6814) * Add versions page and nav version * Move version to siteConfig.js * Fix typo * Set to 18.3.1, use siteConfig in reference sidebar * Redirect 18.react.dev to react.dev for now * Fix stray bullet --- .../Layout/Sidebar/SidebarRouteTree.tsx | 9 +- src/components/Layout/TopNav/TopNav.tsx | 10 +- src/content/community/versioning-policy.md | 2 + src/content/versions.md | 282 ++++++++++++++++++ src/sidebarReference.json | 4 +- src/siteConfig.js | 1 + vercel.json | 44 +++ 7 files changed, 347 insertions(+), 5 deletions(-) create mode 100644 src/content/versions.md diff --git a/src/components/Layout/Sidebar/SidebarRouteTree.tsx b/src/components/Layout/Sidebar/SidebarRouteTree.tsx index a9fa575b..3f058073 100644 --- a/src/components/Layout/Sidebar/SidebarRouteTree.tsx +++ b/src/components/Layout/Sidebar/SidebarRouteTree.tsx @@ -10,6 +10,7 @@ import {SidebarLink} from './SidebarLink'; import {useCollapse} from 'react-collapsed'; import usePendingRoute from 'hooks/usePendingRoute'; import type {RouteItem} from 'components/Layout/getRouteMeta'; +import {siteConfig} from 'siteConfig'; interface SidebarRouteTreeProps { isForceExpanded: boolean; @@ -150,8 +151,12 @@ export function SidebarRouteTree({ ); } if (hasSectionHeader) { + let sectionHeaderText = + sectionHeader != null + ? sectionHeader.replace('{{version}}', siteConfig.version) + : ''; return ( - <Fragment key={`${sectionHeader}-${level}-separator`}> + <Fragment key={`${sectionHeaderText}-${level}-separator`}> {index !== 0 && ( <li role="separator" @@ -163,7 +168,7 @@ export function SidebarRouteTree({ 'mb-1 text-sm font-bold ms-5 text-tertiary dark:text-tertiary-dark', index !== 0 && 'mt-2' )}> - {sectionHeader} + {sectionHeaderText} </h3> </Fragment> ); diff --git a/src/components/Layout/TopNav/TopNav.tsx b/src/components/Layout/TopNav/TopNav.tsx index 440664e4..021c735f 100644 --- a/src/components/Layout/TopNav/TopNav.tsx +++ b/src/components/Layout/TopNav/TopNav.tsx @@ -24,6 +24,7 @@ import {Logo} from '../../Logo'; import {Feedback} from '../Feedback'; import {SidebarRouteTree} from '../Sidebar'; import type {RouteItem} from '../getRouteMeta'; +import {siteConfig} from 'siteConfig'; declare global { interface Window { @@ -247,7 +248,7 @@ export default function TopNav({ )}> {isMenuOpen ? <IconClose /> : <IconHamburger />} </button> - <div className="flex 3xl:flex-1 align-center"> + <div className="f"> <NextLink href="/" className={`active:scale-95 overflow-hidden transition-transform relative items-center text-primary dark:text-primary-dark p-1 whitespace-nowrap outline-link rounded-full 3xl:rounded-xl inline-flex text-lg font-normal gap-2`}> @@ -259,6 +260,13 @@ export default function TopNav({ <span className="sr-only 3xl:not-sr-only">React</span> </NextLink> </div> + <div className="flex flex-column justify-center items-center"> + <NextLink + href="/versions" + className=" flex py-2 flex-column justify-center items-center text-gray-50 dark:text-gray-30 hover:text-link hover:dark:text-link-dark hover:underline text-sm ms-1 cursor-pointer"> + v{siteConfig.version} + </NextLink> + </div> </div> <div className="items-center justify-center flex-1 hidden w-full md:flex 3xl:w-auto 3xl:shrink-0 3xl:justify-center"> <button diff --git a/src/content/community/versioning-policy.md b/src/content/community/versioning-policy.md index fad926c5..7aa71efd 100644 --- a/src/content/community/versioning-policy.md +++ b/src/content/community/versioning-policy.md @@ -8,6 +8,8 @@ All stable builds of React go through a high level of testing and follow semanti </Intro> +For a list of previous releases, see the [Versions](/versions) page. + ## Stable releases {/*stable-releases*/} Stable React releases (also known as "Latest" release channel) follow [semantic versioning (semver)](https://semver.org/) principles. diff --git a/src/content/versions.md b/src/content/versions.md new file mode 100644 index 00000000..fe0dac55 --- /dev/null +++ b/src/content/versions.md @@ -0,0 +1,282 @@ +--- +title: React Versions +--- + +<Intro> + +The React docs at [react.dev](https://react.dev) provide documentation for the latest version of React. + +</Intro> + +We aim to keep the docs updated within major versions, and do not publish versions for each minor or patch version. When a new major is released, we archive the docs for the previous version as `x.react.dev`. See our [versioning policy](/community/versioning-policy) for more info. + +You can find an archive of previous major versions below. +## Future versions {/*future-versions*/} + +- [19.react.dev](https://19.react.dev) {/*docs-19*/} + +## Previous versions {/*previous-versions*/} + +- [18.react.dev](https://18.react.dev) {/*docs-18*/} +- [17.react.dev](https://17.react.dev) {/*docs-17*/} +- [16.react.dev](https://16.react.dev) {/*docs-16*/} +- [15.react.dev](https://15.react.dev) {/*docs-15*/} + +<Note> + +#### Legacy Docs {/*legacy-docs*/} + +In 2023, we [launched our new docs](/blog/2023/03/16/introducing-react-dev) for React 18 as [react.dev](https://react.dev). The legacy React 18 docs are available at [legacy.reactjs.org](https://legacy.reactjs.org). Versions 17 and below are hosted on legacy sites. + +For versions older than React 15, see [15.react.dev](https://15.react.dev). + +</Note> + +## Changelog {/*changelog*/} + +### React 18 {/*react-18*/} + +**Blog Posts** +- [React v18.0](/blog/2022/03/29/react-v18) +- [How to Upgrade to React 18](/blog/2022/03/08/react-18-upgrade-guide) +- [The Plan for React 18](/blog/2021/06/08/the-plan-for-react-18) + +**Talks** +- [React 18 Keynote](https://www.youtube.com/watch?v=FZ0cG47msEk) +- [React 18 for app developers](https://www.youtube.com/watch?v=ytudH8je5ko) +- [Streaming Server Rendering with Suspense](https://www.youtube.com/watch?v=pj5N-Khihgc) +- [React without memo](https://www.youtube.com/watch?v=lGEMwh32soc) +- [React Docs Keynote](https://www.youtube.com/watch?v=mneDaMYOKP8) +- [React Developer Tooling](https://www.youtube.com/watch?v=oxDfrke8rZg) +- [The first React Working Group](https://www.youtube.com/watch?v=qn7gRClrC9U) +- [React 18 for External Store Libraries](https://www.youtube.com/watch?v=oPfSC5bQPR8) + +**Releases** +- [v18.3.1 (April, 2024)](https://github.com/facebook/react/blob/main/CHANGELOG.md#1831-april-26-2024) +- [v18.3.0 (April, 2024)](https://github.com/facebook/react/blob/main/CHANGELOG.md#1830-april-25-2024) +- [v18.2.0 (June, 2022)](https://github.com/facebook/react/blob/main/CHANGELOG.md#1820-june-14-2022) +- [v18.1.0 (April, 2022)](https://github.com/facebook/react/blob/main/CHANGELOG.md#1810-april-26-2022) +- [v18.0.0 (March 2022)](https://github.com/facebook/react/blob/main/CHANGELOG.md#1800-march-29-2022) + +### React 17 {/*react-17*/} + +**Blog Posts** +- [React v17.0](https://legacy.reactjs.org/blog/2020/10/20/react-v17.html) +- [Introducing the New JSX Transform](https://legacy.reactjs.org/blog/2020/09/22/introducing-the-new-jsx-transform.html) +- [React v17.0 Release Candidate: No New Features](https://legacy.reactjs.org/blog/2020/08/10/react-v17-rc.html) + +**Releases** +- [v17.0.2 (March 2021)](https://github.com/facebook/react/blob/main/CHANGELOG.md#1702-march-22-2021) +- [v17.0.1 (October 2020)](https://github.com/facebook/react/blob/main/CHANGELOG.md#1701-october-22-2020) +- [v17.0.0 (October 2020)](https://github.com/facebook/react/blob/main/CHANGELOG.md#1700-october-20-2020) + +### React 16 {/*react-16*/} + +**Blog Posts** +- [React v16.0](https://legacy.reactjs.org/blog/2017/09/26/react-v16.0.html) +- [DOM Attributes in React 16](https://legacy.reactjs.org/blog/2017/09/08/dom-attributes-in-react-16.html) +- [Error Handling in React 16](https://legacy.reactjs.org/blog/2017/07/26/error-handling-in-react-16.html) +- [React v16.2.0: Improved Support for Fragments](https://legacy.reactjs.org/blog/2017/11/28/react-v16.2.0-fragment-support.html) +- [React v16.4.0: Pointer Events](https://legacy.reactjs.org/blog/2018/05/23/react-v-16-4.html) +- [React v16.4.2: Server-side vulnerability fix](https://legacy.reactjs.org/blog/2018/08/01/react-v-16-4-2.html) +- [React v16.6.0: lazy, memo and contextType](https://legacy.reactjs.org/blog/2018/10/23/react-v-16-6.html) +- [React v16.7: No, This Is Not the One With Hooks](https://legacy.reactjs.org/blog/2018/12/19/react-v-16-7.html) +- [React v16.8: The One With Hooks](https://legacy.reactjs.org/blog/2019/02/06/react-v16.8.0.html) +- [React v16.9.0 and the Roadmap Update](https://legacy.reactjs.org/blog/2019/08/08/react-v16.9.0.html) +- [React v16.13.0](https://legacy.reactjs.org/blog/2020/02/26/react-v16.13.0.html) + +**Releases** +- [v16.14.0 (October 2020)](https://github.com/facebook/react/blob/main/CHANGELOG.md#16140-october-14-2020) +- [v16.13.1 (March 2020)](https://github.com/facebook/react/blob/main/CHANGELOG.md#16131-march-19-2020) +- [v16.13.0 (February 2020)](https://github.com/facebook/react/blob/main/CHANGELOG.md#16130-february-26-2020) +- [v16.12.0 (November 2019)](https://github.com/facebook/react/blob/main/CHANGELOG.md#16120-november-14-2019) +- [v16.11.0 (October 2019)](https://github.com/facebook/react/blob/main/CHANGELOG.md#16110-october-22-2019) +- [v16.10.2 (October 2019)](https://github.com/facebook/react/blob/main/CHANGELOG.md#16102-october-3-2019) +- [v16.10.1 (September 2019)](https://github.com/facebook/react/blob/main/CHANGELOG.md#16101-september-28-2019) +- [v16.10.0 (September 2019)](https://github.com/facebook/react/blob/main/CHANGELOG.md#16100-september-27-2019) +- [v16.9.0 (August 2019)](https://github.com/facebook/react/blob/main/CHANGELOG.md#1690-august-8-2019) +- [v16.8.6 (March 2019)](https://github.com/facebook/react/blob/main/CHANGELOG.md#1686-march-27-2019) +- [v16.8.5 (March 2019)](https://github.com/facebook/react/blob/main/CHANGELOG.md#1685-march-22-2019) +- [v16.8.4 (March 2019)](https://github.com/facebook/react/blob/main/CHANGELOG.md#1684-march-5-2019) +- [v16.8.3 (February 2019)](https://github.com/facebook/react/blob/main/CHANGELOG.md#1683-february-21-2019) +- [v16.8.2 (February 2019)](https://github.com/facebook/react/blob/main/CHANGELOG.md#1682-february-14-2019) +- [v16.8.1 (February 2019)](https://github.com/facebook/react/blob/main/CHANGELOG.md#1681-february-6-2019) +- [v16.8.0 (February 2019)](https://github.com/facebook/react/blob/main/CHANGELOG.md#1680-february-6-2019) +- [v16.7.0 (December 2018)](https://github.com/facebook/react/blob/main/CHANGELOG.md#1670-december-19-2018) +- [v16.6.3 (November 2018)](https://github.com/facebook/react/blob/main/CHANGELOG.md#1663-november-12-2018) +- [v16.6.2 (November 2018)](https://github.com/facebook/react/blob/main/CHANGELOG.md#1662-november-12-2018) +- [v16.6.1 (November 2018)](https://github.com/facebook/react/blob/main/CHANGELOG.md#1661-november-6-2018) +- [v16.6.0 (October 2018)](https://github.com/facebook/react/blob/main/CHANGELOG.md#1660-october-23-2018) +- [v16.5.2 (September 2018)](https://github.com/facebook/react/blob/main/CHANGELOG.md#1652-september-18-2018) +- [v16.5.1 (September 2018)](https://github.com/facebook/react/blob/main/CHANGELOG.md#1651-september-13-2018) +- [v16.5.0 (September 2018)](https://github.com/facebook/react/blob/main/CHANGELOG.md#1650-september-5-2018) +- [v16.4.2 (August 2018)](https://github.com/facebook/react/blob/main/CHANGELOG.md#1642-august-1-2018) +- [v16.4.1 (June 2018)](https://github.com/facebook/react/blob/main/CHANGELOG.md#1641-june-13-2018) +- [v16.4.0 (May 2018)](https://github.com/facebook/react/blob/main/CHANGELOG.md#1640-may-23-2018) +- [v16.3.3 (August 2018)](https://github.com/facebook/react/blob/main/CHANGELOG.md#1633-august-1-2018) +- [v16.3.2 (April 2018)](https://github.com/facebook/react/blob/main/CHANGELOG.md#1632-april-16-2018) +- [v16.3.1 (April 2018)](https://github.com/facebook/react/blob/main/CHANGELOG.md#1631-april-3-2018) +- [v16.3.0 (March 2018)](https://github.com/facebook/react/blob/main/CHANGELOG.md#1630-march-29-2018) +- [v16.2.1 (August 2018)](https://github.com/facebook/react/blob/main/CHANGELOG.md#1621-august-1-2018) +- [v16.2.0 (November 2017)](https://github.com/facebook/react/blob/main/CHANGELOG.md#1620-november-28-2017) +- [v16.1.2 (August 2018)](https://github.com/facebook/react/blob/main/CHANGELOG.md#1612-august-1-2018) +- [v16.1.1 (November 2017)](https://github.com/facebook/react/blob/main/CHANGELOG.md#1611-november-13-2017) +- [v16.1.0 (November 2017)](https://github.com/facebook/react/blob/main/CHANGELOG.md#1610-november-9-2017) +- [v16.0.1 (August 2018)](https://github.com/facebook/react/blob/main/CHANGELOG.md#1601-august-1-2018) +- [v16.0 (September 2017)](https://github.com/facebook/react/blob/main/CHANGELOG.md#1600-september-26-2017) + +### React 15 {/*react-15*/} + +**Blog Posts** +- [React v15.0](https://legacy.reactjs.org/blog/2016/04/07/react-v15.html) +- [React v15.0 Release Candidate 2](https://legacy.reactjs.org/blog/2016/03/16/react-v15-rc2.html) +- [React v15.0 Release Candidate](https://legacy.reactjs.org/blog/2016/03/07/react-v15-rc1.html) +- [New Versioning Scheme](https://legacy.reactjs.org/blog/2016/02/19/new-versioning-scheme.html) +- [Discontinuing IE 8 Support in React DOM](https://legacy.reactjs.org/blog/2016/01/12/discontinuing-ie8-support.html) +- [Introducing React's Error Code System](https://legacy.reactjs.org/blog/2016/07/11/introducing-reacts-error-code-system.html) +- [React v15.0.1](https://legacy.reactjs.org/blog/2016/04/08/react-v15.0.1.html) +- [React v15.4.0](https://legacy.reactjs.org/blog/2016/11/16/react-v15.4.0.html) +- [React v15.5.0](https://legacy.reactjs.org/blog/2017/04/07/react-v15.5.0.html) +- [React v15.6.0](https://legacy.reactjs.org/blog/2017/06/13/react-v15.6.0.html) +- [React v15.6.2](https://legacy.reactjs.org/blog/2017/09/25/react-v15.6.2.html) + +**Releases** +- [v15.7.0 (October 2017)](https://github.com/facebook/react/blob/main/CHANGELOG.md#1570-october-14-2020) +- [v15.6.2 (September 2017)](https://github.com/facebook/react/blob/main/CHANGELOG.md#1562-september-25-2017) +- [v15.6.1 (June 2017)](https://github.com/facebook/react/blob/main/CHANGELOG.md#1561-june-14-2017) +- [v15.6.0 (June 2017)](https://github.com/facebook/react/blob/main/CHANGELOG.md#1560-june-13-2017) +- [v15.5.4 (April 2017)](https://github.com/facebook/react/blob/main/CHANGELOG.md#1554-april-11-2017) +- [v15.5.3 (April 2017)](https://github.com/facebook/react/blob/main/CHANGELOG.md#1553-april-7-2017) +- [v15.5.2 (April 2017)](https://github.com/facebook/react/blob/main/CHANGELOG.md#1552-april-7-2017) +- [v15.5.1 (April 2017)](https://github.com/facebook/react/blob/main/CHANGELOG.md#1551-april-7-2017) +- [v15.5.0 (April 2017)](https://github.com/facebook/react/blob/main/CHANGELOG.md#1550-april-7-2017) +- [v15.4.2 (January 2016)](https://github.com/facebook/react/blob/main/CHANGELOG.md#1542-january-6-2017) +- [v15.4.1 (November 2016)](https://github.com/facebook/react/blob/main/CHANGELOG.md#1541-november-22-2016) +- [v15.4.0 (November 2016)](https://github.com/facebook/react/blob/main/CHANGELOG.md#1540-november-16-2016) +- [v15.3.2 (September 2016)](https://github.com/facebook/react/blob/main/CHANGELOG.md#1532-september-19-2016) +- [v15.3.1 (August 2016)](https://github.com/facebook/react/blob/main/CHANGELOG.md#1531-august-19-2016) +- [v15.3.0 (July 2016)](https://github.com/facebook/react/blob/main/CHANGELOG.md#1530-july-29-2016) +- [v15.2.1 (July 2016)](https://github.com/facebook/react/blob/main/CHANGELOG.md#1521-july-8-2016) +- [v15.2.0 (July 2016)](https://github.com/facebook/react/blob/main/CHANGELOG.md#1520-july-1-2016) +- [v15.1.0 (May 2016)](https://github.com/facebook/react/blob/main/CHANGELOG.md#1510-may-20-2016) +- [v15.0.2 (April 2016)](https://github.com/facebook/react/blob/main/CHANGELOG.md#1502-april-29-2016) +- [v15.0.1 (April 2016)](https://github.com/facebook/react/blob/main/CHANGELOG.md#1501-april-8-2016) +- [v15.0.0 (April 2016)](https://github.com/facebook/react/blob/main/CHANGELOG.md#1500-april-7-2016) + +### React 0.14 {/*react-14*/} + +**Blog Posts** +- [React v0.14](https://legacy.reactjs.org/blog/2015/10/07/react-v0.14.html) +- [React v0.14 Release Candidate](https://legacy.reactjs.org/blog/2015/09/10/react-v0.14-rc1.html) +- [React v0.14 Beta 1](https://legacy.reactjs.org/blog/2015/07/03/react-v0.14-beta-1.html) +- [New React Developer Tools](https://legacy.reactjs.org/blog/2015/09/02/new-react-developer-tools.html) +- [New React Devtools Beta](https://legacy.reactjs.org/blog/2015/08/03/new-react-devtools-beta.html) +- [React v0.14.1](https://legacy.reactjs.org/blog/2015/10/28/react-v0.14.1.html) +- [React v0.14.2](https://legacy.reactjs.org/blog/2015/11/02/react-v0.14.2.html) +- [React v0.14.3](https://legacy.reactjs.org/blog/2015/11/18/react-v0.14.3.html) +- [React v0.14.4](https://legacy.reactjs.org/blog/2015/12/29/react-v0.14.4.html) +- [React v0.14.8](https://legacy.reactjs.org/blog/2016/03/29/react-v0.14.8.html) + +**Releases** +- [v0.14.10 (October 2020)](https://github.com/facebook/react/blob/main/CHANGELOG.md#01410-october-14-2020) +- [v0.14.8 (March 2016)](https://github.com/facebook/react/blob/main/CHANGELOG.md#0148-march-29-2016) +- [v0.14.7 (January 2016)](https://github.com/facebook/react/blob/main/CHANGELOG.md#0147-january-28-2016) +- [v0.14.6 (January 2016)](https://github.com/facebook/react/blob/main/CHANGELOG.md#0146-january-6-2016) +- [v0.14.5 (December 2015)](https://github.com/facebook/react/blob/main/CHANGELOG.md#0145-december-29-2015) +- [v0.14.4 (December 2015)](https://github.com/facebook/react/blob/main/CHANGELOG.md#0144-december-29-2015) +- [v0.14.3 (November 2015)](https://github.com/facebook/react/blob/main/CHANGELOG.md#0143-november-18-2015) +- [v0.14.2 (November 2015)](https://github.com/facebook/react/blob/main/CHANGELOG.md#0142-november-2-2015) +- [v0.14.1 (October 2015)](https://github.com/facebook/react/blob/main/CHANGELOG.md#0141-october-28-2015) +- [v0.14.0 (October 2015)](https://github.com/facebook/react/blob/main/CHANGELOG.md#0140-october-7-2015) + +### React 0.13 {/*react-13*/} + +**Blog Posts** +- [React Native v0.4](https://legacy.reactjs.org/blog/2015/04/17/react-native-v0.4.html) +- [React v0.13](https://legacy.reactjs.org/blog/2015/03/10/react-v0.13.html) +- [React v0.13 RC2](https://legacy.reactjs.org/blog/2015/03/03/react-v0.13-rc2.html) +- [React v0.13 RC](https://legacy.reactjs.org/blog/2015/02/24/react-v0.13-rc1.html) +- [React v0.13.0 Beta 1](https://legacy.reactjs.org/blog/2015/01/27/react-v0.13.0-beta-1.html) +- [Streamlining React Elements](https://legacy.reactjs.org/blog/2015/02/24/streamlining-react-elements.html) +- [Introducing Relay and GraphQL](https://legacy.reactjs.org/blog/2015/02/20/introducing-relay-and-graphql.html) +- [Introducing React Native](https://legacy.reactjs.org/blog/2015/03/26/introducing-react-native.html) +- [React v0.13.1](https://legacy.reactjs.org/blog/2015/03/16/react-v0.13.1.html) +- [React v0.13.2](https://legacy.reactjs.org/blog/2015/04/18/react-v0.13.2.html) +- [React v0.13.3](https://legacy.reactjs.org/blog/2015/05/08/react-v0.13.3.html) + +**Releases** +- [v0.13.3 (May 2015)](https://github.com/facebook/react/blob/main/CHANGELOG.md#0133-may-8-2015) +- [v0.13.2 (April 2015)](https://github.com/facebook/react/blob/main/CHANGELOG.md#0132-april-18-2015) +- [v0.13.1 (March 2015)](https://github.com/facebook/react/blob/main/CHANGELOG.md#0131-march-16-2015) +- [v0.13.0 (March 2015)](https://github.com/facebook/react/blob/main/CHANGELOG.md#0130-march-10-2015) + +### React 0.12 {/*react-12*/} + +**Blog Posts** +- [React v0.12](https://legacy.reactjs.org/blog/2014/10/28/react-v0.12.html) +- [React v0.12 RC](https://legacy.reactjs.org/blog/2014/10/16/react-v0.12-rc1.html) +- [Introducing React Elements](https://legacy.reactjs.org/blog/2014/10/14/introducing-react-elements.html) +- [React v0.12.2](https://legacy.reactjs.org/blog/2014/12/18/react-v0.12.2.html) + +**Releases** +- [v0.12.2 (December 2014)](https://github.com/facebook/react/blob/main/CHANGELOG.md#0122-december-18-2014) +- [v0.12.1 (November 2014)](https://github.com/facebook/react/blob/main/CHANGELOG.md#0121-november-18-2014) +- [v0.12.0 (October 2014)](https://github.com/facebook/react/blob/main/CHANGELOG.md#0120-october-28-2014) + +### React 0.11 {/*react-11*/} + +**Blog Posts** +- [React v0.11](https://legacy.reactjs.org/blog/2014/07/17/react-v0.11.html) +- [React v0.11 RC](https://legacy.reactjs.org/blog/2014/07/13/react-v0.11-rc1.html) +- [One Year of Open-Source React](https://legacy.reactjs.org/blog/2014/05/29/one-year-of-open-source-react.html) +- [The Road to 1.0](https://legacy.reactjs.org/blog/2014/03/28/the-road-to-1.0.html) +- [React v0.11.1](https://legacy.reactjs.org/blog/2014/07/25/react-v0.11.1.html) +- [React v0.11.2](https://legacy.reactjs.org/blog/2014/09/16/react-v0.11.2.html) +- [Introducing the JSX Specificaion](https://legacy.reactjs.org/blog/2014/09/03/introducing-the-jsx-specification.html) + +**Releases** +- [v0.11.2 (September 2014)](https://github.com/facebook/react/blob/main/CHANGELOG.md#0112-september-16-2014) +- [v0.11.1 (July 2014)](https://github.com/facebook/react/blob/main/CHANGELOG.md#0111-july-24-2014) +- [v0.11.0 (July 2014)](https://github.com/facebook/react/blob/main/CHANGELOG.md#0110-july-17-2014) + +### React 0.10 and below {/*react-10-and-below*/} + +**Blog Posts** +- [React v0.10](https://legacy.reactjs.org/blog/2014/03/21/react-v0.10.html) +- [React v0.10 RC](https://legacy.reactjs.org/blog/2014/03/19/react-v0.10-rc1.html) +- [React v0.9](https://legacy.reactjs.org/blog/2014/02/20/react-v0.9.html) +- [React v0.9 RC](https://legacy.reactjs.org/blog/2014/02/16/react-v0.9-rc1.html) +- [React Chrome Developer Tools](https://legacy.reactjs.org/blog/2014/01/02/react-chrome-developer-tools.html) +- [React v0.8](https://legacy.reactjs.org/blog/2013/12/19/react-v0.8.0.html) +- [React v0.5.2, v0.4.2](https://legacy.reactjs.org/blog/2013/12/18/react-v0.5.2-v0.4.2.html) +- [React v0.5.1](https://legacy.reactjs.org/blog/2013/10/29/react-v0-5-1.html) +- [React v0.5](https://legacy.reactjs.org/blog/2013/10/16/react-v0.5.0.html) +- [React v0.4.1](https://legacy.reactjs.org/blog/2013/07/26/react-v0-4-1.html) +- [React v0.4.0](https://legacy.reactjs.org/blog/2013/07/17/react-v0-4-0.html) +- [New in React v0.4: Prop Validation and Default Values](https://legacy.reactjs.org/blog/2013/07/11/react-v0-4-prop-validation-and-default-values.html) +- [New in React v0.4: Autobind by Default](https://legacy.reactjs.org/blog/2013/07/02/react-v0-4-autobind-by-default.html) +- [React v0.3.3](https://legacy.reactjs.org/blog/2013/07/02/react-v0-4-autobind-by-default.html) + +**Releases** +- [v0.10.0 (March 2014)](https://github.com/facebook/react/blob/main/CHANGELOG.md#0100-march-21-2014) +- [v0.9.0 (February 2014)](https://github.com/facebook/react/blob/main/CHANGELOG.md#090-february-20-2014) +- [v0.8.0 (December 2013)](https://github.com/facebook/react/blob/main/CHANGELOG.md#080-december-19-2013) +- [v0.5.2 (December 2013)](https://github.com/facebook/react/blob/main/CHANGELOG.md#052-042-december-18-2013) +- [v0.5.1 (October 2013)](https://github.com/facebook/react/blob/main/CHANGELOG.md#051-october-29-2013) +- [v0.5.0 (October 2013)](https://github.com/facebook/react/blob/main/CHANGELOG.md#050-october-16-2013) +- [v0.4.1 (July 2013)](https://github.com/facebook/react/blob/main/CHANGELOG.md#041-july-26-2013) +- [v0.4.0 (July 2013)](https://github.com/facebook/react/blob/main/CHANGELOG.md#040-july-17-2013) +- [v0.3.3 (June 2013)](https://github.com/facebook/react/blob/main/CHANGELOG.md#033-june-20-2013) +- [v0.3.2 (May 2013)](https://github.com/facebook/react/blob/main/CHANGELOG.md#032-may-31-2013) +- [v0.3.1 (May 2013)](https://github.com/facebook/react/blob/main/CHANGELOG.md#031-may-30-2013) +- [v0.3.0 (May 2013)](https://github.com/facebook/react/blob/main/CHANGELOG.md#031-may-30-2013) + +### Initial Commit {/*initial-commit*/} + +React was open-sourced on May 29, 2013. The initial commit is: [`75897c`: Initial public release](https://github.com/facebook/react/commit/75897c2dcd1dd3a6ca46284dd37e13d22b4b16b4) + +See the first blog post: [Why did we build React?](https://legacy.reactjs.org/blog/2013/06/05/why-react.html) + +React was open sourced at Facebook Seattle in 2013: + +<iframe width="560" height="315" src="https://www.youtube.com/embed/XxVg_s8xAms?si=466vSJrnXTn05j9A" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe> diff --git a/src/sidebarReference.json b/src/sidebarReference.json index 11459b70..7076e76f 100644 --- a/src/sidebarReference.json +++ b/src/sidebarReference.json @@ -4,7 +4,7 @@ "routes": [ { "hasSectionHeader": true, - "sectionHeader": "react@18.2.0" + "sectionHeader": "react@{{version}}" }, { "title": "Overview", @@ -156,7 +156,7 @@ }, { "hasSectionHeader": true, - "sectionHeader": "react-dom@18.2.0" + "sectionHeader": "react-dom@{{version}}" }, { "title": "Hooks", diff --git a/src/siteConfig.js b/src/siteConfig.js index 0ada6b93..6d37e10f 100644 --- a/src/siteConfig.js +++ b/src/siteConfig.js @@ -3,6 +3,7 @@ */ exports.siteConfig = { + version: '18.3.1', // -------------------------------------- // Translations should replace these lines: languageCode: 'en', diff --git a/vercel.json b/vercel.json index 957c2502..509d72b4 100644 --- a/vercel.json +++ b/vercel.json @@ -4,6 +4,50 @@ }, "trailingSlash": false, "redirects": [ + { + "source": "/", + "has": [ + { + "type": "host", + "value": "18.react.dev" + } + ], + "permanent": false, + "destination": "https://react.dev/" + }, + { + "source": "/", + "has": [ + { + "type": "host", + "value": "17.react.dev" + } + ], + "permanent": true, + "destination": "https://17.reactjs.org/" + }, + { + "source": "/", + "has": [ + { + "type": "host", + "value": "16.react.dev" + } + ], + "permanent": true, + "destination": "https://17.reactjs.org/" + }, + { + "source": "/", + "has": [ + { + "type": "host", + "value": "15.react.dev" + } + ], + "permanent": true, + "destination": "https://react-legacy.netlify.app/" + }, { "source": "/reference", "destination": "/reference/react", From 86d306f6cefbc2fd8e542df3b5959e86384129b9 Mon Sep 17 00:00:00 2001 From: Ricky <rickhanlonii@fb.com> Date: Mon, 29 Apr 2024 22:27:44 -0400 Subject: [PATCH 268/382] rm new redirects (#6816) --- vercel.json | 44 -------------------------------------------- 1 file changed, 44 deletions(-) diff --git a/vercel.json b/vercel.json index 509d72b4..957c2502 100644 --- a/vercel.json +++ b/vercel.json @@ -4,50 +4,6 @@ }, "trailingSlash": false, "redirects": [ - { - "source": "/", - "has": [ - { - "type": "host", - "value": "18.react.dev" - } - ], - "permanent": false, - "destination": "https://react.dev/" - }, - { - "source": "/", - "has": [ - { - "type": "host", - "value": "17.react.dev" - } - ], - "permanent": true, - "destination": "https://17.reactjs.org/" - }, - { - "source": "/", - "has": [ - { - "type": "host", - "value": "16.react.dev" - } - ], - "permanent": true, - "destination": "https://17.reactjs.org/" - }, - { - "source": "/", - "has": [ - { - "type": "host", - "value": "15.react.dev" - } - ], - "permanent": true, - "destination": "https://react-legacy.netlify.app/" - }, { "source": "/reference", "destination": "/reference/react", From 6d0aca18d59c0adaa7eae2e49e02ec174c47b037 Mon Sep 17 00:00:00 2001 From: E <2061889+bozoputer@users.noreply.github.com> Date: Mon, 29 Apr 2024 22:42:35 -0400 Subject: [PATCH 269/382] Fix punctuation. (#6815) * Update typescript.md Fix punctuation. * Update src/content/learn/typescript.md --------- Co-authored-by: Ricky <rickhanlonii@gmail.com> --- src/content/learn/typescript.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/learn/typescript.md b/src/content/learn/typescript.md index 6f49c765..7edf8eb6 100644 --- a/src/content/learn/typescript.md +++ b/src/content/learn/typescript.md @@ -137,7 +137,7 @@ The [`useState` Hook](/reference/react/useState) will re-use the value passed in const [enabled, setEnabled] = useState(false); ``` -Will assign the type of `boolean` to `enabled`, and `setEnabled` will be a function accepting either a `boolean` argument, or a function that returns a `boolean`. If you want to explicitly provide a type for the state, you can do so by providing a type argument to the `useState` call: +This will assign the type of `boolean` to `enabled`, and `setEnabled` will be a function accepting either a `boolean` argument, or a function that returns a `boolean`. If you want to explicitly provide a type for the state, you can do so by providing a type argument to the `useState` call: ```ts // Explicitly set the type to "boolean" From e538800cfecd4be204ebf52f0df4c1d658fc74e9 Mon Sep 17 00:00:00 2001 From: Strek <ssharishkumar@gmail.com> Date: Tue, 30 Apr 2024 08:21:14 +0530 Subject: [PATCH 270/382] Update react-19.md (#6813) --- src/content/blog/2024/04/25/react-19.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/blog/2024/04/25/react-19.md b/src/content/blog/2024/04/25/react-19.md index 42490bcb..f8559d31 100644 --- a/src/content/blog/2024/04/25/react-19.md +++ b/src/content/blog/2024/04/25/react-19.md @@ -186,7 +186,7 @@ Actions are also integrated with React 19's new `<form>` features for `react-dom When a `<form>` Action succeeds, React will automatically reset the form for uncontrolled components. If you need to reset the `<form>` manually, you can call the new `requestFormReset` React DOM API. -For more information, see the `react-dom` docs for [`<form>`](/reference/react-dom/components/form), [`<input>`](/reference/react-dom/components/input), and [`<button>`](/reference/react-dom/components/button). +For more information, see the `react-dom` docs for [`<form>`](/reference/react-dom/components/form), [`<input>`](/reference/react-dom/components/input), and `<button>`. ### React DOM: New hook: `useFormStatus` {/*new-hook-useformstatus*/} From 1df378ffa193718c9878729f8fdb09dcec535195 Mon Sep 17 00:00:00 2001 From: Ricky <rickhanlonii@fb.com> Date: Tue, 30 Apr 2024 01:05:08 -0400 Subject: [PATCH 271/382] uwu (#6817) --- public/images/uwu.png | Bin 0 -> 52594 bytes src/components/Layout/Footer.tsx | 8 ++++++ src/components/Layout/HomeContent.js | 16 +++++++++-- src/components/Layout/TopNav/TopNav.tsx | 29 +++++++++++++------- src/pages/_document.tsx | 35 ++++++++++++++++++++++++ src/styles/index.css | 16 +++++++++++ 6 files changed, 91 insertions(+), 13 deletions(-) create mode 100644 public/images/uwu.png diff --git a/public/images/uwu.png b/public/images/uwu.png new file mode 100644 index 0000000000000000000000000000000000000000..2a419435309f34f3d9ffa40d0074fbebb1265423 GIT binary patch literal 52594 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 ZA{qW7-)!<2)M3CMSt&)yQgMT?{|83q->(1w literal 0 HcmV?d00001 diff --git a/src/components/Layout/Footer.tsx b/src/components/Layout/Footer.tsx index 26bdf671..274f7322 100644 --- a/src/components/Layout/Footer.tsx +++ b/src/components/Layout/Footer.tsx @@ -285,6 +285,14 @@ export function Footer() { dir="ltr"> ©{new Date().getFullYear()} </div> + <div className="uwu-visible text-xs"> + Logo by + <ExternalLink + className="ms-1" + href="https://twitter.com/sawaratsuki1004"> + @sawaratsuki1004 + </ExternalLink> + </div> </div> <div className="flex flex-col"> <FooterLink href="/learn" isHeader={true}> diff --git a/src/components/Layout/HomeContent.js b/src/components/Layout/HomeContent.js index e1fab6d7..6ae0cf35 100644 --- a/src/components/Layout/HomeContent.js +++ b/src/components/Layout/HomeContent.js @@ -26,6 +26,7 @@ import Link from 'components/MDX/Link'; import CodeBlock from 'components/MDX/CodeBlock'; import {ExternalLink} from 'components/ExternalLink'; import sidebarBlog from '../../sidebarBlog.json'; +import * as React from 'react'; function Section({children, background = null}) { return ( @@ -115,12 +116,15 @@ export function HomeContent() { <> <div className="ps-0"> <div className="mx-5 mt-12 lg:mt-24 mb-20 lg:mb-32 flex flex-col justify-center"> + <div className="uwu-visible flex justify-center"> + <img className="uwu-visible h-24 lg:h-40" src="/images/uwu.png" /> + </div> <Logo className={cn( - 'mt-4 mb-3 text-link dark:text-link-dark w-24 lg:w-28 self-center text-sm me-0 flex origin-center transition-all ease-in-out' + 'uwu-hidden mt-4 mb-3 text-link dark:text-link-dark w-24 lg:w-28 self-center text-sm me-0 flex origin-center transition-all ease-in-out' )} /> - <h1 className="text-5xl font-display lg:text-6xl self-center flex font-semibold leading-snug text-primary dark:text-primary-dark"> + <h1 className="uwu-hidden text-5xl font-display lg:text-6xl self-center flex font-semibold leading-snug text-primary dark:text-primary-dark"> React </h1> <p className="text-4xl font-display max-w-lg md:max-w-full py-1 text-center text-secondary dark:text-primary-dark leading-snug self-center"> @@ -489,7 +493,13 @@ export function HomeContent() { </div> <div className="mt-20 px-5 lg:px-0 mb-6 max-w-4xl text-center text-opacity-80"> - <Logo className="text-link dark:text-link-dark w-24 lg:w-28 mb-10 lg:mb-8 mt-12 h-auto mx-auto self-start" /> + <div className="uwu-visible flex justify-center"> + <img + className="uwu-visible mb-10 lg:mb-8 h-24 lg:h-32" + src="/images/uwu.png" + /> + </div> + <Logo className="uwu-hidden text-link dark:text-link-dark w-24 lg:w-28 mb-10 lg:mb-8 mt-12 h-auto mx-auto self-start" /> <Header> Welcome to the <br className="hidden lg:inline" /> React community diff --git a/src/components/Layout/TopNav/TopNav.tsx b/src/components/Layout/TopNav/TopNav.tsx index 021c735f..7139d8e1 100644 --- a/src/components/Layout/TopNav/TopNav.tsx +++ b/src/components/Layout/TopNav/TopNav.tsx @@ -249,16 +249,25 @@ export default function TopNav({ {isMenuOpen ? <IconClose /> : <IconHamburger />} </button> <div className="f"> - <NextLink - href="/" - className={`active:scale-95 overflow-hidden transition-transform relative items-center text-primary dark:text-primary-dark p-1 whitespace-nowrap outline-link rounded-full 3xl:rounded-xl inline-flex text-lg font-normal gap-2`}> - <Logo - className={cn( - 'text-sm me-0 w-10 h-10 text-link dark:text-link-dark flex origin-center transition-all ease-in-out' - )} - /> - <span className="sr-only 3xl:not-sr-only">React</span> - </NextLink> + <div className="uwu-visible"> + <NextLink + href="/" + className={`active:scale-95 mt-0.5 overflow-hidden transition-transform relative items-center justify-center text-primary dark:text-primary-dark p-1 whitespace-nowrap outline-link rounded-full 3xl:rounded-xl inline-flex text-lg font-normal gap-2`}> + <img className="h-8" src="/images/uwu.png" /> + </NextLink> + </div> + <div className="uwu-hidden"> + <NextLink + href="/" + className={`active:scale-95 overflow-hidden transition-transform relative items-center text-primary dark:text-primary-dark p-1 whitespace-nowrap outline-link rounded-full 3xl:rounded-xl inline-flex text-lg font-normal gap-2`}> + <Logo + className={cn( + 'text-sm me-0 w-10 h-10 text-link dark:text-link-dark flex origin-center transition-all ease-in-out' + )} + /> + <span className="sr-only 3xl:not-sr-only">React</span> + </NextLink> + </div> </div> <div className="flex flex-column justify-center items-center"> <NextLink diff --git a/src/pages/_document.tsx b/src/pages/_document.tsx index 823ca0b7..b9186776 100644 --- a/src/pages/_document.tsx +++ b/src/pages/_document.tsx @@ -19,6 +19,41 @@ const MyDocument = () => { }} /> <body className="font-text font-medium antialiased text-lg bg-wash dark:bg-wash-dark text-secondary dark:text-secondary-dark leading-base"> + <script + dangerouslySetInnerHTML={{ + __html: ` + (function () { + try { + var preferredUwu; + try { + preferredUwu = localStorage.getItem('uwu'); + } catch (err) { } + + const isUwuValue = window.location + && window.location.search + && window.location.search.match(/uwu=(true|false)/); + + if (isUwuValue) { + const isUwu = isUwuValue[1] === 'true'; + if (isUwu) { + try { + localStorage.setItem('uwu', true); + } catch (err) { } + document.documentElement.classList.add('uwu'); + console.log('uwu mode enabled. logo credits to @sawaratsuki1004 via https://github.com/SAWARATSUKI/ServiceLogos'); + } else { + try { + localStorage.removeItem('uwu', false); + } catch (err) { } + } + } else if (preferredUwu) { + document.documentElement.classList.add('uwu'); + } + } catch (err) { } + })(); + `, + }} + /> <script dangerouslySetInnerHTML={{ __html: ` diff --git a/src/styles/index.css b/src/styles/index.css index d05d08b2..27f0a997 100644 --- a/src/styles/index.css +++ b/src/styles/index.css @@ -737,3 +737,19 @@ ol.mdx-illustration-block { transition-delay: 1s; pointer-events: none; } + +.uwu-visible { + display: none; +} +.uwu-hidden { + display: flex; +} + +.uwu { + .uwu-visible { + display: flex; + } + .uwu-hidden { + display: none; + } +} From 3dd67d142049a18a002f521cc570508557c0a0fa Mon Sep 17 00:00:00 2001 From: Sebastian Silbermann <silbermann.sebastian@gmail.com> Date: Tue, 30 Apr 2024 08:57:48 +0200 Subject: [PATCH 272/382] Fix type issues with `useActionState` docs (#6798) --- src/content/blog/2024/04/25/react-19.md | 28 +++++++++++++-------- src/content/reference/rsc/server-actions.md | 6 ++--- src/content/reference/rsc/use-server.md | 4 +-- 3 files changed, 22 insertions(+), 16 deletions(-) diff --git a/src/content/blog/2024/04/25/react-19.md b/src/content/blog/2024/04/25/react-19.md index f8559d31..0670eaa8 100644 --- a/src/content/blog/2024/04/25/react-19.md +++ b/src/content/blog/2024/04/25/react-19.md @@ -132,7 +132,9 @@ function ChangeName({ name, setName }) { return error; } redirect("/path"); - } + return null; + }, + null, ); return ( @@ -152,16 +154,20 @@ In the next section, we'll break down each of the new Action features in React 1 To make the common cases easier for Actions, we've added a new hook called `useActionState`: ```js -const [error, submitAction, isPending] = useActionState(async (previousState, newName) => { - const error = await updateName(newName); - if (error) { - // You can return any result of the action. - // Here, we return only the error. - return error; - } - - // handle success -}); +const [error, submitAction, isPending] = useActionState( + async (previousState, newName) => { + const error = await updateName(newName); + if (error) { + // You can return any result of the action. + // Here, we return only the error. + return error; + } + + // handle success + return null; + }, + null, +); ``` `useActionState` accepts a function (the "Action"), and returns a wrapped Action to call. This works because Actions compose. When the wrapped Action is called, `useActionState` will return the last result of the Action as `data`, and the pending state of the Action as `pending`. diff --git a/src/content/reference/rsc/server-actions.md b/src/content/reference/rsc/server-actions.md index f958c4ce..cdabf5ad 100644 --- a/src/content/reference/rsc/server-actions.md +++ b/src/content/reference/rsc/server-actions.md @@ -173,7 +173,7 @@ You can compose Server Actions with `useActionState` for the common case where y import {updateName} from './actions'; function UpdateName() { - const [submitAction, state, isPending] = useActionState(updateName); + const [submitAction, state, isPending] = useActionState(updateName, {error: null}); return ( <form action={submitAction}> @@ -190,7 +190,7 @@ For more, see the docs for [`useActionState`](/reference/react-dom/hooks/useForm ### Progressive enhancement with `useActionState` {/*progressive-enhancement-with-useactionstate*/} -Server Actions also support progressive enhancement with the second argument of `useActionState`. +Server Actions also support progressive enhancement with the third argument of `useActionState`. ```js [[1, 3, "updateName"], [1, 6, "updateName"], [2, 6, "/name/update"], [3, 6, "submitAction"], [3, 9, "submitAction"]] "use client"; @@ -198,7 +198,7 @@ Server Actions also support progressive enhancement with the second argument of import {updateName} from './actions'; function UpdateName() { - const [submitAction] = useActionState(updateName, `/name/update`); + const [, submitAction] = useActionState(updateName, null, `/name/update`); return ( <form action={submitAction}> diff --git a/src/content/reference/rsc/use-server.md b/src/content/reference/rsc/use-server.md index 27ff876b..8f3a0095 100644 --- a/src/content/reference/rsc/use-server.md +++ b/src/content/reference/rsc/use-server.md @@ -157,7 +157,7 @@ import { useActionState } from 'react'; import requestUsername from './requestUsername'; function UsernameForm() { - const [returnValue, action] = useActionState(requestUsername, 'n/a'); + const [state, action] = useActionState(requestUsername, null, 'n/a'); return ( <> @@ -165,7 +165,7 @@ function UsernameForm() { <input type="text" name="username" /> <button type="submit">Request</button> </form> - <p>Last submission request returned: {returnValue}</p> + <p>Last submission request returned: {state}</p> </> ); } From 6f5ee38ed944ede7d8f69a5f792fa33e992bbd07 Mon Sep 17 00:00:00 2001 From: Rick Hanlon <rickhanlonii@fb.com> Date: Tue, 30 Apr 2024 09:52:50 -0400 Subject: [PATCH 273/382] uwu - add alt and instructions for turning off --- src/components/Layout/HomeContent.js | 9 ++++++++- src/components/Layout/TopNav/TopNav.tsx | 7 ++++++- src/pages/_document.tsx | 3 ++- 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/src/components/Layout/HomeContent.js b/src/components/Layout/HomeContent.js index 6ae0cf35..edf790d3 100644 --- a/src/components/Layout/HomeContent.js +++ b/src/components/Layout/HomeContent.js @@ -117,7 +117,12 @@ export function HomeContent() { <div className="ps-0"> <div className="mx-5 mt-12 lg:mt-24 mb-20 lg:mb-32 flex flex-col justify-center"> <div className="uwu-visible flex justify-center"> - <img className="uwu-visible h-24 lg:h-40" src="/images/uwu.png" /> + <img + alt="logo by @sawaratsuki1004" + title="logo by @sawaratsuki1004" + className="uwu-visible h-24 lg:h-40" + src="/images/uwu.png" + /> </div> <Logo className={cn( @@ -495,6 +500,8 @@ export function HomeContent() { <div className="mt-20 px-5 lg:px-0 mb-6 max-w-4xl text-center text-opacity-80"> <div className="uwu-visible flex justify-center"> <img + alt="logo by @sawaratsuki1004" + title="logo by @sawaratsuki1004" className="uwu-visible mb-10 lg:mb-8 h-24 lg:h-32" src="/images/uwu.png" /> diff --git a/src/components/Layout/TopNav/TopNav.tsx b/src/components/Layout/TopNav/TopNav.tsx index 7139d8e1..fcc1069e 100644 --- a/src/components/Layout/TopNav/TopNav.tsx +++ b/src/components/Layout/TopNav/TopNav.tsx @@ -253,7 +253,12 @@ export default function TopNav({ <NextLink href="/" className={`active:scale-95 mt-0.5 overflow-hidden transition-transform relative items-center justify-center text-primary dark:text-primary-dark p-1 whitespace-nowrap outline-link rounded-full 3xl:rounded-xl inline-flex text-lg font-normal gap-2`}> - <img className="h-8" src="/images/uwu.png" /> + <img + alt="logo by @sawaratsuki1004" + title="logo by @sawaratsuki1004" + className="h-8" + src="/images/uwu.png" + /> </NextLink> </div> <div className="uwu-hidden"> diff --git a/src/pages/_document.tsx b/src/pages/_document.tsx index b9186776..c6512be8 100644 --- a/src/pages/_document.tsx +++ b/src/pages/_document.tsx @@ -40,7 +40,8 @@ const MyDocument = () => { localStorage.setItem('uwu', true); } catch (err) { } document.documentElement.classList.add('uwu'); - console.log('uwu mode enabled. logo credits to @sawaratsuki1004 via https://github.com/SAWARATSUKI/ServiceLogos'); + console.log('uwu mode enabled. turn off with ?uwu=false') + console.log('logo credit to @sawaratsuki1004 via https://github.com/SAWARATSUKI/ServiceLogos'); } else { try { localStorage.removeItem('uwu', false); From 74697fb4f1fc542c302089cfc0a176510db35e33 Mon Sep 17 00:00:00 2001 From: Ricky <rickhanlonii@fb.com> Date: Tue, 30 Apr 2024 17:57:02 -0400 Subject: [PATCH 274/382] fix uwu flicker (#6820) * Try next/image * Fix styles.css * rm unneeded styles * priority=true * tweaks * Static height * tweak * priority --- src/components/Layout/HomeContent.js | 7 +++++-- src/components/Layout/TopNav/TopNav.tsx | 12 +++++++----- src/styles/index.css | 13 ++++++------- 3 files changed, 18 insertions(+), 14 deletions(-) diff --git a/src/components/Layout/HomeContent.js b/src/components/Layout/HomeContent.js index edf790d3..6416d672 100644 --- a/src/components/Layout/HomeContent.js +++ b/src/components/Layout/HomeContent.js @@ -27,6 +27,7 @@ import CodeBlock from 'components/MDX/CodeBlock'; import {ExternalLink} from 'components/ExternalLink'; import sidebarBlog from '../../sidebarBlog.json'; import * as React from 'react'; +import Image from 'next/image'; function Section({children, background = null}) { return ( @@ -117,10 +118,12 @@ export function HomeContent() { <div className="ps-0"> <div className="mx-5 mt-12 lg:mt-24 mb-20 lg:mb-32 flex flex-col justify-center"> <div className="uwu-visible flex justify-center"> - <img + <Image alt="logo by @sawaratsuki1004" title="logo by @sawaratsuki1004" - className="uwu-visible h-24 lg:h-40" + loading="eager" + width={313} + height={160} src="/images/uwu.png" /> </div> diff --git a/src/components/Layout/TopNav/TopNav.tsx b/src/components/Layout/TopNav/TopNav.tsx index fcc1069e..06f2dd80 100644 --- a/src/components/Layout/TopNav/TopNav.tsx +++ b/src/components/Layout/TopNav/TopNav.tsx @@ -10,6 +10,7 @@ import { startTransition, Suspense, } from 'react'; +import Image from 'next/image'; import * as React from 'react'; import cn from 'classnames'; import NextLink from 'next/link'; @@ -249,14 +250,15 @@ export default function TopNav({ {isMenuOpen ? <IconClose /> : <IconHamburger />} </button> <div className="f"> - <div className="uwu-visible"> - <NextLink - href="/" - className={`active:scale-95 mt-0.5 overflow-hidden transition-transform relative items-center justify-center text-primary dark:text-primary-dark p-1 whitespace-nowrap outline-link rounded-full 3xl:rounded-xl inline-flex text-lg font-normal gap-2`}> - <img + <div className="uwu-visible flex items-center justify-center h-full"> + <NextLink href="/"> + <Image alt="logo by @sawaratsuki1004" title="logo by @sawaratsuki1004" className="h-8" + priority + width={63} + height={32} src="/images/uwu.png" /> </NextLink> diff --git a/src/styles/index.css b/src/styles/index.css index 27f0a997..c8254c10 100644 --- a/src/styles/index.css +++ b/src/styles/index.css @@ -745,11 +745,10 @@ ol.mdx-illustration-block { display: flex; } -.uwu { - .uwu-visible { - display: flex; - } - .uwu-hidden { - display: none; - } +.uwu .uwu-visible { + display: flex; +} + +.uwu .uwu-hidden { + display: none; } From 7062b8dab1b1ac0307ddf115781adde2aba148ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mehdi=20KHALIL=C2=A0EL=C2=A0OUADGHIRI?= <44614556+mootookoi@users.noreply.github.com> Date: Wed, 1 May 2024 14:13:29 +0100 Subject: [PATCH 275/382] Update server-components.md - typo (#6823) Typo Node => Note --- src/content/reference/rsc/server-components.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/reference/rsc/server-components.md b/src/content/reference/rsc/server-components.md index d130104a..78767faa 100644 --- a/src/content/reference/rsc/server-components.md +++ b/src/content/reference/rsc/server-components.md @@ -162,7 +162,7 @@ async function Note({id}) { } async function Author({id}) { - // NOTE: loads *after* Node, + // NOTE: loads *after* Note, // but is fast if data is co-located. const author = await db.authors.get(id); return <span>By: {author.name}</span>; From bdb0d2628c1c390bc16af2703b3d0f191c1b6acb Mon Sep 17 00:00:00 2001 From: Ricky <rickhanlonii@fb.com> Date: Wed, 1 May 2024 11:29:20 -0400 Subject: [PATCH 276/382] add uww toggle (#6824) --- src/components/Layout/Footer.tsx | 16 +++++++ src/pages/_document.tsx | 72 +++++++++++++++++++++----------- 2 files changed, 63 insertions(+), 25 deletions(-) diff --git a/src/components/Layout/Footer.tsx b/src/components/Layout/Footer.tsx index 274f7322..5bcf9df9 100644 --- a/src/components/Layout/Footer.tsx +++ b/src/components/Layout/Footer.tsx @@ -285,6 +285,22 @@ export function Footer() { dir="ltr"> ©{new Date().getFullYear()} </div> + <div + className="uwu-visible text-xs cursor-pointer hover:text-link hover:dark:text-link-dark hover:underline" + onClick={() => { + // @ts-ignore + window.__setUwu(false); + }}> + no uwu plz + </div> + <div + className="uwu-hidden text-xs cursor-pointer hover:text-link hover:dark:text-link-dark hover:underline" + onClick={() => { + // @ts-ignore + window.__setUwu(true); + }}> + uwu? + </div> <div className="uwu-visible text-xs"> Logo by <ExternalLink diff --git a/src/pages/_document.tsx b/src/pages/_document.tsx index c6512be8..21e6e34a 100644 --- a/src/pages/_document.tsx +++ b/src/pages/_document.tsx @@ -22,37 +22,59 @@ const MyDocument = () => { <script dangerouslySetInnerHTML={{ __html: ` - (function () { - try { - var preferredUwu; + (function () { + try { + let logShown = false; + function setUwu(isUwu) { try { - preferredUwu = localStorage.getItem('uwu'); - } catch (err) { } - - const isUwuValue = window.location - && window.location.search - && window.location.search.match(/uwu=(true|false)/); - - if (isUwuValue) { - const isUwu = isUwuValue[1] === 'true'; if (isUwu) { - try { - localStorage.setItem('uwu', true); - } catch (err) { } + localStorage.setItem('uwu', true); document.documentElement.classList.add('uwu'); - console.log('uwu mode enabled. turn off with ?uwu=false') - console.log('logo credit to @sawaratsuki1004 via https://github.com/SAWARATSUKI/ServiceLogos'); + if (!logShown) { + console.log('uwu mode! turn off with ?uwu=0'); + console.log('logo credit to @sawaratsuki1004 via https://github.com/SAWARATSUKI/ServiceLogos'); + logShown = true; + } } else { - try { - localStorage.removeItem('uwu', false); - } catch (err) { } + localStorage.removeItem('uwu'); + document.documentElement.classList.remove('uwu'); + console.log('uwu mode off. turn on with ?uwu'); } - } else if (preferredUwu) { - document.documentElement.classList.add('uwu'); + } catch (err) { } + } + window.__setUwu = setUwu; + function checkQueryParam() { + const params = new URLSearchParams(window.location.search); + const value = params.get('uwu'); + switch(value) { + case '': + case 'true': + case '1': + return true; + case 'false': + case '0': + return false; + default: + return null; } - } catch (err) { } - })(); - `, + } + function checkLocalStorage() { + try { + return localStorage.getItem('uwu') === 'true'; + } catch (err) { + return false; + } + } + const uwuQueryParam = checkQueryParam(); + console.log('uwuQueryParam', uwuQueryParam); + if (uwuQueryParam != null) { + setUwu(uwuQueryParam); + } else if (checkLocalStorage()) { + document.documentElement.classList.add('uwu'); + } + } catch (err) { } + })(); + `, }} /> <script From 0dbd67ae1e8bbf6ae9a11577d9652dac2a91fce6 Mon Sep 17 00:00:00 2001 From: Matt Zabriskie <mzabriskie@apple.com> Date: Wed, 1 May 2024 10:05:13 -0600 Subject: [PATCH 277/382] Add React Rally 2024 to conferences (#6819) --- src/content/community/conferences.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/content/community/conferences.md b/src/content/community/conferences.md index a28d6084..5c391ea1 100644 --- a/src/content/community/conferences.md +++ b/src/content/community/conferences.md @@ -75,6 +75,11 @@ July 25, 2024. In-person in Berlin, Germany + remote (hybrid event) [Website](https://thegeekconf.com) - [Twitter](https://twitter.com/thegeekconf) +### React Rally 2024 🐙 {/*react-rally-2024*/} +August 12-13, 2024. Park City, UT, USA + +[Website](https://reactrally.com) - [Twitter](https://twitter.com/ReactRally) - [YouTube](https://www.youtube.com/channel/UCXBhQ05nu3L1abBUGeQ0ahw) + ### React Universe Conf 2024 {/*react-universe-conf-2024*/} September 5-6, 2024. Wrocław, Poland. From 9e1f5cd590fd066e72dda9022237bee30b499951 Mon Sep 17 00:00:00 2001 From: Soichiro Miki <smiki-tky@umin.ac.jp> Date: Thu, 2 May 2024 01:31:18 +0900 Subject: [PATCH 278/382] Add "Languages" navigation and article (#6382) * Add new article "Translations" * Add "languages" button in TopNav * Add link to English (main) site * Split deployedTranslations into multiple lines * Fix build error regarding types * Address some review comments - deployedTranslations => finishedTranslations - showTranslated => progress - English fixes * Update src/content/community/translations.md Co-authored-by: Ricky <rickhanlonii@gmail.com> * Update src/content/community/translations.md --------- Co-authored-by: Ricky <rickhanlonii@gmail.com> --- src/components/Layout/Page.tsx | 17 ++++++++++-- src/components/Layout/TopNav/TopNav.tsx | 21 +++++++++++++++ src/components/MDX/LanguagesContext.tsx | 14 ++++++++++ src/components/MDX/MDXComponents.tsx | 35 +++++++++++++++++++++++++ src/components/Seo.tsx | 16 +++-------- src/content/community/translations.md | 35 +++++++++++++++++++++++++ src/pages/[[...markdownPath]].js | 13 ++++++--- src/sidebarCommunity.json | 4 +++ src/utils/compileMDX.ts | 14 +++++++++- src/utils/finishedTranslations.ts | 15 +++++++++++ 10 files changed, 166 insertions(+), 18 deletions(-) create mode 100644 src/components/MDX/LanguagesContext.tsx create mode 100644 src/content/community/translations.md create mode 100644 src/utils/finishedTranslations.ts diff --git a/src/components/Layout/Page.tsx b/src/components/Layout/Page.tsx index be30cce7..2274e45e 100644 --- a/src/components/Layout/Page.tsx +++ b/src/components/Layout/Page.tsx @@ -16,6 +16,7 @@ import {IconNavArrow} from 'components/Icon/IconNavArrow'; import PageHeading from 'components/PageHeading'; import {getRouteMeta} from './getRouteMeta'; import {TocContext} from '../MDX/TocContext'; +import {Languages, LanguagesContext} from '../MDX/LanguagesContext'; import type {TocItem} from 'components/MDX/TocContext'; import type {RouteItem} from 'components/Layout/getRouteMeta'; import {HomeContent} from './HomeContent'; @@ -36,9 +37,17 @@ interface PageProps { description?: string; }; section: 'learn' | 'reference' | 'community' | 'blog' | 'home' | 'unknown'; + languages?: Languages | null; } -export function Page({children, toc, routeTree, meta, section}: PageProps) { +export function Page({ + children, + toc, + routeTree, + meta, + section, + languages = null, +}: PageProps) { const {asPath} = useRouter(); const cleanedPath = asPath.split(/[\?\#]/)[0]; const {route, nextRoute, prevRoute, breadcrumbs, order} = getRouteMeta( @@ -75,7 +84,11 @@ export function Page({children, toc, routeTree, meta, section}: PageProps) { 'max-w-7xl mx-auto', section === 'blog' && 'lg:flex lg:flex-col lg:items-center' )}> - <TocContext.Provider value={toc}>{children}</TocContext.Provider> + <TocContext.Provider value={toc}> + <LanguagesContext.Provider value={languages}> + {children} + </LanguagesContext.Provider> + </TocContext.Provider> </div> {!isBlogIndex && ( <DocsPageFooter diff --git a/src/components/Layout/TopNav/TopNav.tsx b/src/components/Layout/TopNav/TopNav.tsx index 06f2dd80..545bf5a8 100644 --- a/src/components/Layout/TopNav/TopNav.tsx +++ b/src/components/Layout/TopNav/TopNav.tsx @@ -79,6 +79,19 @@ const lightIcon = ( </svg> ); +const languageIcon = ( + <svg + xmlns="http://www.w3.org/2000/svg" + width="24" + height="24" + viewBox="0 0 24 24"> + <path + fill="currentColor" + d=" M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z " + /> + </svg> +); + const githubIcon = ( <svg xmlns="http://www.w3.org/2000/svg" @@ -352,6 +365,14 @@ export default function TopNav({ {lightIcon} </button> </div> + <div className="flex"> + <Link + href="/community/translations" + aria-label="Translations" + className="active:scale-95 transition-transform flex w-12 h-12 rounded-full items-center justify-center hover:bg-primary/5 hover:dark:bg-primary-dark/5 outline-link"> + {languageIcon} + </Link> + </div> <div className="flex"> <Link href="https://github.com/facebook/react/releases" diff --git a/src/components/MDX/LanguagesContext.tsx b/src/components/MDX/LanguagesContext.tsx new file mode 100644 index 00000000..776a11c0 --- /dev/null +++ b/src/components/MDX/LanguagesContext.tsx @@ -0,0 +1,14 @@ +/* + * Copyright (c) Facebook, Inc. and its affiliates. + */ + +import {createContext} from 'react'; + +export type LanguageItem = { + code: string; + name: string; + enName: string; +}; +export type Languages = Array<LanguageItem>; + +export const LanguagesContext = createContext<Languages | null>(null); diff --git a/src/components/MDX/MDXComponents.tsx b/src/components/MDX/MDXComponents.tsx index a89edf9c..6f99121f 100644 --- a/src/components/MDX/MDXComponents.tsx +++ b/src/components/MDX/MDXComponents.tsx @@ -31,6 +31,8 @@ import ButtonLink from 'components/ButtonLink'; import {TocContext} from './TocContext'; import type {Toc, TocItem} from './TocContext'; import {TeamMember} from './TeamMember'; +import {LanguagesContext} from './LanguagesContext'; +import {finishedTranslations} from 'utils/finishedTranslations'; import ErrorDecoder from './ErrorDecoder'; import {IconCanary} from '../Icon/IconCanary'; @@ -380,6 +382,38 @@ function InlineTocItem({items}: {items: Array<NestedTocNode>}) { ); } +type TranslationProgress = 'complete' | 'in-progress'; + +function LanguageList({progress}: {progress: TranslationProgress}) { + const allLanguages = React.useContext(LanguagesContext) ?? []; + const languages = allLanguages + .filter( + ({code}) => + code !== 'en' && + (progress === 'complete' + ? finishedTranslations.includes(code) + : !finishedTranslations.includes(code)) + ) + .sort((a, b) => a.enName.localeCompare(b.enName)); + return ( + <UL> + {languages.map(({code, name, enName}) => { + return ( + <LI key={code}> + <Link href={`https://${code}.react.dev/`}> + {enName} ({name}) + </Link>{' '} + —{' '} + <Link href={`https://github.com/reactjs/${code}.react.dev`}> + Contribute + </Link> + </LI> + ); + })} + </UL> + ); +} + function YouTubeIframe(props: any) { return ( <div className="relative h-0 overflow-hidden pt-[56.25%]"> @@ -442,6 +476,7 @@ export const MDXComponents = { IllustrationBlock, Intro, InlineToc, + LanguageList, LearnMore, Math, MathI, diff --git a/src/components/Seo.tsx b/src/components/Seo.tsx index dfc4f610..62808574 100644 --- a/src/components/Seo.tsx +++ b/src/components/Seo.tsx @@ -6,6 +6,7 @@ import * as React from 'react'; import Head from 'next/head'; import {withRouter, Router} from 'next/router'; import {siteConfig} from '../siteConfig'; +import {finishedTranslations} from 'utils/finishedTranslations'; export interface SeoProps { title: string; @@ -18,17 +19,8 @@ export interface SeoProps { searchOrder?: number; } -const deployedTranslations = [ - 'en', - 'zh-hans', - 'es', - 'fr', - 'ja', - 'tr', - // We'll add more languages when they have enough content. - // Please DO NOT edit this list without a discussion in the reactjs/react.dev repo. - // It must be the same between all translations. -]; +// If you are a maintainer of a language fork, +// deployedTranslations has been moved to src/utils/finishedTranslations.ts. function getDomain(languageCode: string): string { const subdomain = languageCode === 'en' ? '' : languageCode + '.'; @@ -71,7 +63,7 @@ export const Seo = withRouter( href={canonicalUrl.replace(siteDomain, getDomain('en'))} hrefLang="x-default" /> - {deployedTranslations.map((languageCode) => ( + {finishedTranslations.map((languageCode) => ( <link key={'alt-' + languageCode} rel="alternate" diff --git a/src/content/community/translations.md b/src/content/community/translations.md new file mode 100644 index 00000000..4c07e6a1 --- /dev/null +++ b/src/content/community/translations.md @@ -0,0 +1,35 @@ +--- +title: Translations +--- + +<Intro> + +React docs are translated by the global community into many languages all over the world. + +</Intro> + +## Source site {/*main-site*/} + +All translations are provided from the canonical source docs: + +- [English](https://react.dev/) — [Contribute](https://github.com/reactjs/react.dev/) + +## Full translations {/*full-translations*/} + +{/* If you are a language maintainer and want to add your language here, finish the "Core" translations and edit `deployedTranslations` under `src/utils`. */} + +<LanguageList progress="complete" /> + +## In-progress translations {/*in-progress-translations*/} + +For the progress of each translation, see: [Is React Translated Yet?](https://translations.react.dev/) + +<LanguageList progress="in-progress" /> + +## How to contribute {/*how-to-contribute*/} + +You can contribute to the translation efforts! + +The community conducts the translation work for the React docs on each language-specific fork of react.dev. Typical translation work involves directly translating a Markdown file and creating a pull request. Click the "contribute" link above to the GitHub repository for your language, and follow the instructions there to help with the translation effort. + +If you want to start a new translation for your language, visit: [translations.react.dev](https://github.com/reactjs/translations.react.dev) \ No newline at end of file diff --git a/src/pages/[[...markdownPath]].js b/src/pages/[[...markdownPath]].js index 79f7970a..63fcfcc8 100644 --- a/src/pages/[[...markdownPath]].js +++ b/src/pages/[[...markdownPath]].js @@ -13,7 +13,8 @@ import sidebarBlog from '../sidebarBlog.json'; import {MDXComponents} from 'components/MDX/MDXComponents'; import compileMDX from 'utils/compileMDX'; import {generateRssFeed} from '../utils/rss'; -export default function Layout({content, toc, meta}) { + +export default function Layout({content, toc, meta, languages}) { const parsedContent = useMemo( () => JSON.parse(content, reviveNodeOnClient), [content] @@ -40,7 +41,12 @@ export default function Layout({content, toc, meta}) { break; } return ( - <Page toc={parsedToc} routeTree={routeTree} meta={meta} section={section}> + <Page + toc={parsedToc} + routeTree={routeTree} + meta={meta} + section={section} + languages={languages}> {parsedContent} </Page> ); @@ -110,12 +116,13 @@ export async function getStaticProps(context) { mdx = fs.readFileSync(rootDir + path + '/index.md', 'utf8'); } - const {toc, content, meta} = await compileMDX(mdx, path, {}); + const {toc, content, meta, languages} = await compileMDX(mdx, path, {}); return { props: { toc, content, meta, + languages, }, }; } diff --git a/src/sidebarCommunity.json b/src/sidebarCommunity.json index 6b3e4eca..ac8a172d 100644 --- a/src/sidebarCommunity.json +++ b/src/sidebarCommunity.json @@ -31,6 +31,10 @@ "title": "Docs Contributors", "path": "/community/docs-contributors" }, + { + "title": "Translations", + "path": "/community/translations" + }, { "title": "Acknowledgements", "path": "/community/acknowledgements" diff --git a/src/utils/compileMDX.ts b/src/utils/compileMDX.ts index 5f54d12b..4c5ee15b 100644 --- a/src/utils/compileMDX.ts +++ b/src/utils/compileMDX.ts @@ -1,8 +1,9 @@ +import {LanguageItem} from 'components/MDX/LanguagesContext'; import {MDXComponents} from 'components/MDX/MDXComponents'; // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // ~~~~ IMPORTANT: BUMP THIS IF YOU CHANGE ANY CODE BELOW ~~~ -const DISK_CACHE_BREAKER = 8; +const DISK_CACHE_BREAKER = 9; // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ export default async function compileMDX( @@ -124,10 +125,21 @@ export default async function compileMDX( const fm = require('gray-matter'); const meta = fm(mdx).data; + // Load the list of translated languages conditionally. + let languages: Array<LanguageItem> | null = null; + if (typeof path === 'string' && path.endsWith('/translations')) { + languages = await ( + await fetch( + 'https://raw.githubusercontent.com/reactjs/translations.react.dev/main/langs/langs.json' + ) + ).json(); // { code: string; name: string; enName: string}[] + } + const output = { content: JSON.stringify(children, stringifyNodeOnServer), toc: JSON.stringify(toc, stringifyNodeOnServer), meta, + languages, }; // Serialize a server React tree node to JSON. diff --git a/src/utils/finishedTranslations.ts b/src/utils/finishedTranslations.ts new file mode 100644 index 00000000..b2aceb17 --- /dev/null +++ b/src/utils/finishedTranslations.ts @@ -0,0 +1,15 @@ +// This is a list of languages with enough translated content. +// Add more languages here when they have enough content. +// Please DO NOT edit this list without a discussion in the reactjs/react.dev repo. +// It must be the same between all translations. +// This will also affect the 'Translations' article. + +// prettier-ignore +export const finishedTranslations = [ + 'en', + 'zh-hans', + 'es', + 'fr', + 'ja', + 'tr' +]; From a2f8ff3cfd9348dc69ea3347a6b9e836f0ebc134 Mon Sep 17 00:00:00 2001 From: Ricky <rickhanlonii@fb.com> Date: Wed, 1 May 2024 15:23:53 -0400 Subject: [PATCH 279/382] fix brand colors (#6826) --- colors.js | 4 +- public/android-chrome-192x192.png | Bin 0 -> 6000 bytes public/android-chrome-384x384.png | Bin 0 -> 28930 bytes public/android-chrome-512x512.png | Bin 0 -> 71292 bytes public/apple-touch-icon.png | Bin 0 -> 5670 bytes public/browserconfig.xml | 9 ++++ public/favicon-16x16.png | Bin 0 -> 872 bytes public/favicon-32x32.png | Bin 0 -> 1674 bytes public/favicon.ico | Bin 4286 -> 15086 bytes public/favicon_old.ico | Bin 0 -> 15406 bytes public/mstile-150x150.png | Bin 0 -> 6156 bytes public/safari-pinned-tab.svg | 60 ++++++++++++++++++++++++ public/site.webmanifest | 19 ++++++++ src/components/ButtonLink.tsx | 3 +- src/components/Layout/HomeContent.js | 6 +-- src/components/Layout/TopNav/TopNav.tsx | 2 +- src/pages/_document.tsx | 21 +++++++++ src/styles/index.css | 2 +- src/styles/sandpack.css | 4 +- 19 files changed, 121 insertions(+), 9 deletions(-) create mode 100644 public/android-chrome-192x192.png create mode 100644 public/android-chrome-384x384.png create mode 100644 public/android-chrome-512x512.png create mode 100644 public/apple-touch-icon.png create mode 100644 public/browserconfig.xml create mode 100644 public/favicon-16x16.png create mode 100644 public/favicon-32x32.png create mode 100644 public/favicon_old.ico create mode 100644 public/mstile-150x150.png create mode 100644 public/safari-pinned-tab.svg create mode 100644 public/site.webmanifest diff --git a/colors.js b/colors.js index acf8214e..872f33ca 100644 --- a/colors.js +++ b/colors.js @@ -11,7 +11,7 @@ module.exports = { tertiary: '#5E687E', // gray-50 'tertiary-dark': '#99A1B3', // gray-30 link: '#087EA4', // blue-50 - 'link-dark': '#149ECA', // blue-40 + 'link-dark': '#58C4DC', // blue-40 syntax: '#EBECF0', // gray-10 wash: '#FFFFFF', 'wash-dark': '#23272F', // gray-90 @@ -23,6 +23,8 @@ module.exports = { 'border-dark': '#343A46', // gray-80 'secondary-button': '#EBECF0', // gray-10 'secondary-button-dark': '#404756', // gray-70 + brand: '#087EA4', // blue-40 + 'brand-dark': '#58C4DC', // blue-40 // Gray 'gray-95': '#16181D', diff --git a/public/android-chrome-192x192.png b/public/android-chrome-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..5de701e1348fd295d2ffe83e069f6e51fd546877 GIT binary patch literal 6000 zcmZ{IWmFUn@a@tKN=WEWnx)yLc4?N5Wm#BC$)%+mq`SLQy1PrdJCzV=C6rJQ5Cs1G zKfUwLdGEu_otZQD-1#t{ZWI!sNJ2<Q2mk;`l$GQ(pRoUb10U-tTVUo2Jpr~AObrGA zG$s)JL*qR43}#B2Y5;&Y8vqa(3IN<bjRFq=0Cx}oaBKnqh-Lx+)K0lw8sY!|<}ebj zCC?1xV`c}l@r!Xuselk~1@tV03~Yo9Z3J}9LF)S4GH{@v1PhlSP)HJlG!WE(#|9Q< zW(RSI$O;+T$%bXXi`q4tC$+m5b^2Fz2iJ9nzUcI?Xn$NnwN9y5^(m&5OL|5K=$bKe zfH_3vWWv(9U~nn#81?D_z2Oa=z7=H6pj>pWkfAL*1jY`92^rbR#pJ11_e*(4b4jZL z1ti3sgESgO5f!~sJ~2Fsnk<|GQa-WjmAxAEBVtYgKml<cd8Be?weH{=s&!f}DhH(Y zhJ{N&cVJB^ql#Nj9js}rUe&MFF(((9&8MQnr>YCqG~!2@Nc+WcN+@zlC`tRpquOSW z^~1bMTB!C}sHGb#9~5fkuG9A!SvSn9sL2kIR>^J9Xc`wbap0Ck@N1(*?S19r@)Z(` zd6iI#$)!5IpX6gdh}wGdYoWPi)OZv$gpKWGBeOLc$5e9a*@dN~{S#y(vP7&sS$QF> zd=L>EFWK-+4yX(ZCqI{zvRX-}e9Q+fX%$gBA5KXnRQn7cTn|zHkzd;sUeu<LRKm(5 ztlhmNpkpTH=#Q)&5_1Yf)((m}_yL8aB;3Pb!KqqZ3$Wl6an}&dmMM5)n`ZL_#KM&w zDg!ZhVdW80O0Ptebt|P+uy6|@DtaW}M+u`H1>agpdPPCZT%Z<iTAlMyD-X5OF4YfB z!lq7w`qs)B)f{5-DtV2(%32UpC!nCDa(1n1UZY}4nQ~^0a#k&;xPq8tfP`D9Qd*_B zOR!>UxpvR8X43?`xI-bKkXJ=p)ZPyklq?gH3Pu`&H4J4!(!eNVHjs#vZ=80|Czb3v z>3~FdK`SgUNj1M&HX;*Z=FBOkpjyzPkWj=0Q<d-thXp3f#}x>^u@rX+k_k;0v3bv@ z_C~F^L&Vxc<eitKSEPJ=0f&ejkYDWa@e#|YB<$(YF-%nz<$m;iW$Soq@Z6Nu<na!1 zFvx)~3G!BE000UFWjUCZ*ZPU!ku0U+i+l_X1sLtKOj=%yFa>N@hNS1_ukdML(w*2a zjd^+8P<*3jq#AOmG(w^-G*O9v0ALz-@N2MXx;BNzuh^WgGzl}O4^%{2+Qv&?m#{8x z(0AAGy1J`=^wd>d8}(dQDKI@}lnKRu&LkK4?EflUWo^(R12(%Xwrl$w!ez_Njd|jq zycY$l3DP|luN8YXHql+hDa|sKF3#?**O@!-&PK|!Gur<UlX*gPsnaxfe(pn;28<s3 z$Me7KRrimd=bT6Z`|-iQ`#Ucz?=-47f+g|&$+$zO$+Xe9PJf+Xnb|$bqIT$x7&MRe zaFLShQvI8nk<8~*_Zq~md6@(c8r*578NPN#w;7}8pOMDt{UF+p<i&d;oSnd|l!tGH zG{7PqmZj>Fk}~HNWn&x3Tisjo6B~iWy<nz|iVJeoh(#UKie4I(Tn>26;kol^wSZ}q z7|eEBK4A83?yUPlr!6M4?8l4GjyFp`?FfVZ+Bz*TZRts)kq7#EEtRX1Ec^xgDKn)| zD+~Q;*}fH-W%GZZCx%U~o7&f3RIwzz>GH$#(lly}chjf6t#oJAP!qMq$)@9^H}W>0 zPPFL9wbIvK(5v1=7BjdH&K~b{w}zF>)mN;w<|ve9SUvOAgABa7JY$zO^B@~q%H>vE zY^d8}Njt3tDo=&O%h1V@=Ig!pmL?|eng1E&gQd1ywq1jFTjcS6L{`g2^qJH(zgA(l z5>R4tXM8oOsP`%0L_-2>9{Dg&-)vsZ=op-0^*Vx%9=I<QQby;pIyI~(l58bl(lL-7 z(!s-1pk>>*P5dg{_zG%OIaxcab(@Fk+plrLL_CnlENxv;<$l1}__ploH*twK1LhZY zK?Db%{D&!k{6a`~+i$Hrvx0qZY#aOHQGmU3cF}sG5lz<+Zdgvo#XiRxmEVO@An~Vt z=D=HyWBH^4Yg3q1p0iAhK>i~zQ~CU&Du#A&vHl7$bMvxrtUAR~bj*sblJO574p9}0 z3={cmE0#jV#BouK#=Qu0wI};#7Z0`tV0Ooj>(sRT{4Ags=Pbmr;~>brO~leU_=ggg zA>FK|#LeWd!S;0Og|mv+vnq7`ZhNdS+H>q%w!xh0dA1GjhhzPyk}hJyTKzfgDY5^o z$9sbLooF-hzXt5EUo6<jIp5*ubMzc~|51GPsmv`Qb>RbfY7k*VdS_E~kCHQlMfcBt zKg;(=B10TVQC6R*kha|g#M5}81{S(EX)DiKU#A^zy61-2rqxi1)de#_ur0QI=Ev1^ zrbZoJ7qwpN@1CAs9G;4cwPhcBAb0U#v`|dC&XF>EyB7?1eXN<jQe<(}t6_GC?JE5O zxfBr^larunNhND9nm@2XyPE>Ol(--dSCG>)!KO?L(s2jos4TgF7HZzmhA-S61v5CV z(?Lx0<0CGk<s4EnOzwD`^>_iV+J0&7evlx@5Dxcy<$FIxpXj(d_BA$bDySE!jXx<3 zoX3iX<Hm@d*IQRvcH_xIM}EA#b6Z>MlC<&*N68^yof`bLWlgzWDMIfT{;nw?z6=zh zQ+$&!@rCnF{qY1bpo}w06n(4j=?GW7+*Ak0yKD?_Q+vRi$b3h2Hax$0+?Pk2^+a60 z^>3j-iq`YqbsqW?o)UDCephdUBXK_iB9wI}&Lil@b1t^u9?F(hKCK<8(3gt(+Ces` z(C44fW-LiBC;IE_^o`RN1#X}`9+xc?k!rT@7gKgybs;Wk{)R|g?t&5bDdyCJzymz_ z3PmxRFd>g%{%6gh^su)X=$$31{G{~s=Ub(o9-sdH%4LOw{h1m0DY)qGtLk$ZT~;(z z4w)bq9BH=U;jy)%vc0vKQV&4=8XC0Ul8A%+#(d0dL`_5o-OU}-=xY~6!nQ8jXyRMz z1<ROG5yv3)g07h<JZvT@Q1x_LkcZ!mTK*Bc$8Dv?*!qLDo)*N*d~3oBm)Brw)_)-4 zHN`Jejh+E^ow9qE_GYQ_Nm9CGJ-_H*)NlOpiTb!R!c+Il(nV-Ng%xX5(Aj<6&B)>? zAML$~qYNP|=1DhdmVx(l`JOXj7`Pd(%o$=2lJ6QyV_sk`f2g6E3(PV+Q0{8$y05k) zY{C|Ne*Rs`OF1#KyWxh>H|X6$U*zkKIQz_Qv)u7|mA7!BBGSU}agx<v>RxjTIa@@= z%l(84!?966g{^ndu)&TJq!w?9lH@AYFFB+qZz`9!ZEyWQ5(Os%f+2fWYdQHWD})+q z6y7UX8740N=cEr4R^=Nn5cvYb^L=$e=262W%C{gNP`lhS2@K%1cYLHdGH#8`Wk_s; zw*_o-+}w+CGd@!BAL>s%wl<RvoaQE+`Vu;bziv>@U4z>+3A)0cC-l#h>}PgmaYgj~ zV(2&~#gNw-jEsm;e#l)RL~?0i)fMUz-HpwkRVAC1l%z*gnvD+=oU(?io1vMU<fk$0 ze^4mai6+`N4$r1S^cmC_1WZIeVlcMqMI>?6t3Jp@s^!d~glS}!WIlfTNOe4E0(AOu zKAr}&tDGHnA6ExGEZ{H=LHe~X%x_jlF9^YT^*Rah4<FlaxHhsQBd7fjk1uIF&WWWx z>Dq!>{TVa(V`TWC<c(KoK8rCmCk=&2|1WHikAGVyk~K`OQ3ftXNl7Gvhk3UDT^Zzs z(e2uXTSSUGo&B@Ic`fGW5<|;o>H@9E$`f+~(_S6dmtbnHp$vR@(bq~%OxUGzCSCcJ zjGqWhmWjK`Fin6Qo3#GB$y%Nj3@tNvh?m|Wk2og@>5Nk+P=?kdQBtgcF$%9Dk&hG8 z6>kGq&qOyA{3r=3AFR^MskyZ*w=LIxM^Gr!n2IJ~hwx!D(>H!$wK+^UDm$vZhahKz zchf45N|oN2YLpXK4eq?mwj+}rsKc#$HpATYtK}5?YyLXc*Tk<PpGvn^{tIysk6A{3 zRWDnh-;U&*74pR|ezU#@DM+0ux0<+IF~hYMhc7L&J1Xig6R^Z@IpV5KxN5YtP3xIt zMC+bo348G4CjoADwg!>0A0FI;Z9%xur6sQPK_k-OQ6=aQlk_bqZ&6FVTH&K8+-?3L zYau~WsdPI3JD7fajHZz{>FsQITYvA+vJP=}?4K((Py<GM+z4ZA!r67w7q#LA)}u=^ zOTb0JL^34R`e8^dHf~L(r+8*py$=VjI&Gp+pA^3z-o7w;mEO*MX(qaEuB(`m-)r&k zHrZ!hvS%`&kuOBMtQp7jfuS`Ark*#Y-2e_eDJE%47;h8M$BezD^)kv}--%&1Sv`7_ zf`6w>!dL7bc)L||X*TnIxe5F*-0Y=u%N96M_b&*71*$w^s=l?oU|278r9GUQ4HVAM z(NoyhYH7CQCY4Up?a#r;9P141!3M*P7Ef|Rc|CAJ^lx|KeJ@$A_<d}Nq?4RBi3532 zenUn~&qO>8NRs&iP)?wRlscW7Bx%=!h7|-xVdg*%hIH_iKs?iVu}Kf^&~#9U|8$5$ z25|vAS}T6^GgdcW4g`yLlvZzivj0_Gpdv;O9vs~t2Em#i831$sVqCWB|Hk$o9#;OM zDuryM?7|=;<=oR@lmDI$8)KQ>TR#Nl>tqT><u|wEj@iC)#4V`560bhqBQJgt|MT+4 zA+0P6*n6phrf1}dHBn<_Sdl{YM(}HX+T<+Y>n00V6K`>JYydeXf0J<Y-*u=OLDq*f zj9YkVCb=YcoVJA7yU72r<^exdO#Kl;-w*BDdd!Ra(q71v(zyz8$0N<B|71Vwe2<sM zpOBdW({f$!A79@ah4&qkWj`y;TAJo??-0314AO5p&6N7~)42G^u*UWlB=Kp2_~%t) z-nda}=F^+msK&hzG|t&C;0iXJZ_gWe8JM0LKW`_Xr<wjZO^K>qnHMAH;n=|pp2$wj zmsOo)LLFwT7TL{tg}2yqHS8{akT#+Uk?$Fq3m0RvJ^bKes*z8yIh1-6$9K$^-Byvo zQW)(X{_e|oZ8AB4B8lWH=eHQ^i+;YX{yRyM*^+FY^ipoK@gE|K(X`5C3w%k!h0Zm` zaxvPBW1sV@Sg4#TYJ{AER4I&;ODc=XmZU>N4KU_R=NiS@NVnr_*;206$hJjC9oe++ z6AfbY3&bs)cvRNe?A+l?9NL8UKLZZ<Ltk+f*#62WY+N9S%^USeC1+VFdSnmYx}rwf ze?zeyoSvW$P9Y5hYzK964oU6r;)figg5bC3ID&ZY`AYZ)r^GJw2x!8WR%*C&<+jqm zQd?ui+1kbrr$14p*&Q*+TY%0-p<MrnjUTpA1|K<Cu5U*)I#*beZNv$vmy8-mv0j17 zF58o;zd5C5(`_dXln~hj4w1;m+l%v&C*Q1B2>kB3e(v}#cV&*!H2Mv0e$ETiK_7>g zLc`cE?w6k}^=d?9hGWlujtFH}7NZlM#-uC~nkUi5lrMM(>-9vcr`q%j5&kA2(tMlf z2pUeMURp@fRw4iHuypM<KU6b*H5v>*v{pU5X5cobv9xb&UXvwgt`mcNj<X=>F>fy5 zdZa?~$Q6hkfPF`$=4%z!$P--Wd1wx2t&4EG=vmMGfMR8W8m2sNSIN<|#nNG$DQ8>~ zJJV;(P5LHP7z*H`>@mhqCiuUHF^Al5^_eP`!?ix_1>E$^zvKaae?Gt!Zcb(h+x5!J z&^Vo!R#zc3Tux|CjJV1b-w}#j_B8qB_K%w&<{{+L?PcvA@SE@ED22Y!(nYJ5A&>g^ zX-s=9_HBmaor}6Cq#UR8w1wh%36RIzdl2Qf;FbRj*;%L$JKNVQZyG?MQ6*UHEI!GK zlWPu?Qd~5N2#$%blc_GBd(f0Y=;E7QZq#DFaBr{4s0L+9mV?$|t9^+4{b>W+ecrQU z-|(PsIay1*tzPTjEM5wYO{Y}b&oX_gFr5vh0-d<ffWv4Yi<7?tq+A)M1}=<D^_*)h z+*MRsE$p53b|us!YOt*Q=Zy8O_Hn{w*m_Bo6Ip5KD=63e;%@6=1tCCSdrK^@pP8{o zO|<SO*1@vZL;H^3YJ-0v9v)_~h&h5hn~N@e)a&<`Li*(5P`CGc10N{s)l6JM;}@?E z2s$uiq;i{~O&CQGtuaSy5Sfsn^;vZ1d*+u6f`-G@VOSf%yK;6gWrVli<-$RkBW&SV zim&_5`yGEH4i0zfztgyQ{tqUb*ezR<JC{3VTc5bRNN>Coit)V3t#bk~rL~ya6p^?c z?dU>Eqv<&b-kw$mr5o|(qt~QS#a*8-JDfH~&YO~z7ynT^3>{OZVst!r;AzfF+W;s} z`%~Q%3D=v?Og;<`Kcv~J{I)U1?v)|_Xt9QmckvSL%9u^qLX~8pSWbNM%|UoI!#*sR zxYkbpIhyS|3`PrTqrHSSrCTngYx1Y=Y>uV76@}NOF@HA+bQg1oCDSAkN^OZGcSA&7 z1vQ>@4Dy?}$qMcyeU#y^MV(X5%IL_)cyIf_XaijX%~WqQ*r{H02Ra^I83mvIX}ZJz zQkP{$+AoVS>ssQB7}af8H3}44Nunka%NjFs1lZ|Qdx`OirUy;wpW{lI{Wy-C%7BtH z<V`(V69to~#QzI)2K0r1ovifE=Eao;Bx>3_llfRS`w?2_9<#B8|Kiz1;<|CCJj%so z`j*&SbT~0abALcPnxIG`$UU9ND>iD+dI<%8v6>$u?HOZ)*2iDi?67HZ5+C1Dj$PP6 z$YFu6uN=?`i2wdzC>tKcehLKIc;WjlZqUxhPAF=*|CT5^j%~QiaZ+04NPc8|=v-jf z(_(mS;B{j83TvDDyE9z>HAl$3Y}~>wy~+2?p?_qP)yK|2vciHWg>Vmm`E|8$RKK($ zl?z`krp|nF_+`k(<}9Lsac7gAap0gq>Cde(F<Fe=-`HXbm+iN8Swnhsz;kF_^DXI7 z2Lfk-KyfYMN9fwRUg7zeJDmjRlSc;M4o9@8QwXKAcuSB){a-7jsSq#q2mjsiw_6bS zK0Of6)h2oW_g%@hMvWOT1@nE#?-8O=TQWf)l#~Rq`AtcM@^=no_fdtBp6=)Gy>QBG zM0Jx)1keKCr;ZT8_IK4%2BwTvYgLx=pWD%!`M;VEyunWf0{E+Fq85)Am%rVG%*CrO za7k#l+nZCmv+?o%-8*@)uN;ljKQl`9wuSzt+6%3nip8YAz>`y0kML`XgUSWi$G<<! zP!di~;7v$~jL|<)AR4Zc6h}yOi3{X@$NDT(?~$N7$KalIrr^3D#S+B?LI?(&^Yly- z(L+u}pMOu3hIS;JCG-xPbie;|=X!DyDX_P5Jv47%;#yJ8V|I^)^F~nLvimA{^y4L2 z?F^{`=srxoV~(z_uVJ;LKkpYGH)-}gA9wh2z)38W6YL-H?*N<bjv{HY^Fp%x^wKpd zN8|3p172y9m8Gn0ag1iEQ=H2+bnj^9!qGr{Zo?(PMY|%EH?EdMz=v~->@RcTy7rVf z5Yd#KZDqSif8@6MU9B}+Z~>)rFZrmX`2X^*o<FwV(9enA(XYg(QaqV#tZwppZsuq= z3sEx{izfi^gZKq`Ktenquof69Dj*`t58(oVL_wf$W%d8-MgJdyy`%X%%lH3(Lh2p0 z!V^K)TT9PP6Ya_1<l<=g&d!3t?Y)x)!#gK8GXTIVckeebzOxQH`=t8RwDLDi02VV5 zuNe^qGlgmjB^CvPT%h2PITmxX7Q@u)^7!!d@T+0GsX(Oy6<)wG^>er1GD2xj5&&g+ Lgj}7BN$~#wm}VLf literal 0 HcmV?d00001 diff --git a/public/android-chrome-384x384.png b/public/android-chrome-384x384.png new file mode 100644 index 0000000000000000000000000000000000000000..f42a6776ec98f4d31e6cca0d0bf74db7d177defa GIT binary patch literal 28930 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 literal 0 HcmV?d00001 diff --git a/public/android-chrome-512x512.png b/public/android-chrome-512x512.png new file mode 100644 index 0000000000000000000000000000000000000000..2fdbf6902250cac31a3b3484fdfe6567a3fab915 GIT binary patch literal 71292 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�-FV_;hc)LS$aOsN6I9+ie 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 Rld1p!002ovPDHLkV1g`tTdDv6 literal 0 HcmV?d00001 diff --git a/public/apple-touch-icon.png b/public/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..baf1332a3dc710e439540400680c44c724429307 GIT binary patch literal 5670 zcmZ`-RZtWFw_Zw+5D;mlOF&Y(yF(h3Zb4}zq@+W-B^7B90YSPOq#G7kc3EOsYKev2 z<>!C64|nd|hm$kkeCOfJnK@s)zOEVxAsrzA03gv&S2lQv&Hpt5oCi-xarNK<xXubX z3IM?G6e5%@-b2k~uWq0N00eOW0O3&p!0kgTd>;Vt6951XZ2$ntTmXRDv!MNrGys5Y ztgmgPa({n+hsK;D@4%PHjq~fZ^Xt{KYv9Gr3Gxn!Mq@CT^IOy`{IX`}IAL+m{~zf6 z_?G<$(0X{&eiZ2U4-`EQDc(Hn-aos%Lm}=^wL8bNCzl7;x4(DcpJ#T>1~<$HHylTS z;d9{1ZP?=J)#V+!VjC7V2M(FtJ-oiXxI_JcoOn;|*p2`r=OHbSll|-42iE<o+b{EA z+mTJ5sh#-6y|+Ufo|8M}Td-}!&Ce~^<T0Xb3kJGG{s10L9V14LE?mdAK1^)agW$(E zcd(ngI?%EE#P%5MVg`O`F}U$=Xd`%LckuB128A9tI1ifHbsOIXA#N;(H@~ePw(XrR zoLtSFTy{dw5|{R@hBvcT_jeFCnXCI<(6ezEV*cdv-!Y<n@3dg!Fkl+Adx=b2*^gd; z3?E)hz!2YoN7pE{$K>|W&E3Q3!$%jf3y}1c{i{2))7VxM_ymr;8#+8sS%&7W9YC*c zv)2xq!6(jRTc4&uqemA=6gqqLU>c6dSvzRhg)g67rLI6%&aN7F;nh3GC=4cI4%~Zi z7B&lZ8QbbVIRCl?wH(@vUD%6T+;bQOwn9#O_s{az4=!#|HY1zAcHzH3aL6UHWb?>w z1h{o^lec~lvj7R51xL+8_O6iY=hvr5)aJ#F*VInY#-Z=j&hqJ1;l|<Ly;I+RptD<4 z;Pmd&=~dss`O(d7($Zel_VE=8oxBW9U54hbAC_(&RcygNPHy+?pLIY_kFIYsR`>U= zZXs95j}zO_E95l%a{J<jG$!2lVe_!;wA7RVad<D(9}0Y54ILHyeLSqEoV3u4mK^}# zshftff>FTQvE_jh#aIien<ANdKL<CPf;_hP3b7K43&B1v4NC`;KwNl<fcW3=@C1i< zYMxjdW>Gbx9SQE-LXyIV9oJLA*C#;{vWo{@Ql$f*$B@eHE!L*Rl721R4nq8aV_H_{ z={cQX_WwymwPd?PF<24aaw@5FKmEs<qKl;kdbg&Ro!zi_B3q-QVyYJCbpCR)2yw54 zb%<||)7<Y@juIIERsCTS9SvWhg{={JJUXvm5&xR4EE$4=M=AID$3NBxMo4-q>3G-L zy4h5emA_FPc0Cb0xDzNcF;l&5&6{*;KbbRZ0W?WZR64R3x`v5TyYotol-YYY5oZO{ zHJ;1oXMZ!opK@;y^r=s%FwP%p;{853v3x#PI<O^7XHG<jq_0YlPPoM%Poi8;8Y1S9 zFfh<`HLx(zbtbm_J*Dbu_Io}umxndZtGYkg<n8-p%Ei5<ylSr0!?0Rk-GauQ0GXf7 z<3^tv&Xf%meI~|CoI4ssQ*3pmRcedoj|m666k?K#`?(V57veZNny!f3da1I5x1oGo z1J9hNSM|q`L`B$^iNpKw_|j)w{8v}e85K=(_PfZR6W|mw;Bsi%c<1^r;*#a~D>A16 z<7UrCc|!d~r-?<l4VQEr1Nm<?^bpGwup|>RatpRPx!^|#lGpa^wL`LE9%)x&a31R5 z_Ch(4ijPe-bjSNd=tJ^JlU$e0Lgr+;LX|V!QvI;SHtfXML`{h`8)l}r7CkwE;c)Dd zU_!WLH{P{5*b`%G4d+OZX=q^#0Qk%h0Ff?_tzW_RXe@oH<vOP-GDm}Ke_#2Hv2hB+ zqR+4ibv@O^@h*O(+F%|D4m5PiFxC8sxSosVe&Y9z-S(r50NcX0;O8{Xbo=4k2ss|S znp<$XJd|*q(}^rtPq43=Z!SOr=u>G~>0}DSeca4pl4=}zcv`K-wp`m}d%{f?C7|*9 zeRF;lQz?gGz|`HUK_tBQPvWc-^CX@T-WYQO5e)l7{a29UG>gc-k&UYy=Dn;Tu9M<% zr5tZB^R&ExOg0_jHPAz%2SumJ8DOucA<@TNg?h?H^B%({=tSH+$7^L9F7l75<m`hG zk{n@Qo^2{{<FK>%Ps_d6w`ln87<y!CuE-TMaO93i5l0wW_piextd3Nwv<>L=hVQ0! zY8JF<Qn#en17=dSD;cS}V<ZB8n#Vg9Vf(jf6iH&DN-^F~7>t2RDRY>_3U;opI_aP+ zDTE9_6H@Q(n!Wv10%S`sxZLEkp)-HRy`@oGXrU9(^Qu4uBk^TBODvV4hfpa+?XU3~ zRp+qV5mh8#p<416F(Xy8@NA1sJLnc}Q2dYQT8wz^#Eda`ucl{>`1(vqKJyC(zkByE z{0^6gs?+5UtDv-VzNbK(capu7ozh7o9Nw`eKoA;k!!Jrva5teiAJIfwq`ch1`)5IQ zD<sv~HRuxqWlY}cH|kzHvotDS;<%W1PUK5}(qCv+stF&)bN`qpEf+S?sf_<%K+k>e zOh%LvUI1*ew3xXP?A$uaEUa6g(-#dyyfc%HrO#1lkBA$E;+^1_zH~Eq{75ys<mnNe zZR=_1(Tud8IfccZb!U-aLX=iHsLPo}k58nIC20j8)wa+c>rQ?m78;TO^LfGS$MKck zbF56zv5r#at*KZj4!>gNVD7ALhr2$ESG=OJEhS4)bg}J)6lILq%`dYmg`6EUe98g{ zBNlf0EI~v%ydNY+nxUz431Xr-5?;K8-yy3L`U#CO=#O2JO;&7MZcob|g&6V+fG3Mm z)IM2P9sgOt9be}=7OJhUr}KAg9>aN>zy8DUgg2B9$TJg(X(@{fnG^#yYKeec&us6= ziUYqtZ)7$7p%l<`y(nq?()?NLg;`GmULzmsaI|o1_J%YP@6H_SNKNW?9*ktg;T`p> zt~h}i$al}2MbI|${$s@K!g;KDZ=Oq65<Ht-lq!=9SxNpX)_gBvGMcG)*zNXBv|aO+ zIk9VLaw4~&wb>Ry=I>Lyq$;~BJjgGBj$xA6l19W_JbEDLR&5d{)lyYR-Vx&V<w;v7 zr{{BKV)?#UaxV)dLh;__*f_3Zyg)6Xkhr|iw!4pAmiYM1#QC4HIYXnIi-%Mb&~IoE z(i+HI=O+fgcfSXxMy|d6!}}VhEp~&Q&{L=4TcOp<bg8?Hx{`5E2U|5seHrx3?4P_2 z!@U$PJ`Fih4BeO9X@0CMxScc0z^u(9{P`a#=gS=%zvKxHEPvi)6tMVu;<v)*^rYiT zLYKa^2s~;@U3unTWX%GaC0o*tkiz9M<ElhrPZFPHQ}5mpBLS!xjSuC`FISomSc0hH z`dT`Wv9ZlPcf?QQ(Bz)$O(tmi=a1A$EU8?A@q={LWo;xzg-jW{o^txmjF~-XkDR@M zaFg*K7=2G#D+Vz<XXLa|<@w|V(4Knp<mS6i>m2HwPzOwh0h7zB1fE)5I@X6Muj1%; z2}y~DKB_z`*4Q^3{UtTzj)v=|b(Kr|g?>MmhIUx=?so1tT14b#US-zMn?X5UXeGKa zP5AeMYYIjL<E#aP7WVbx3x#i#+4O}ym?+KqL`+&S42!3NMi^d8o9@<P?fPT0_ZYEn zQZfL4ANwD>u`dS4j*JaR2BiCnTF3-<hDu*5GK>4>G#1<CU{xsX9}`AOx=o^`Tx=zI zeRl1?QYA~<NK*c0b6J1y7sHuiXyP+N!9uIn#HOeuUZc9Wi|x9|JX4#PJ@!PYFfIgf zH4Zxh?^g)6ZR-9?$J)z+o95M0Ijd|^TksP_sbMgrUvkmeZy>+#Z8IYfC-nI^{CR0R z92bH2=34AiECcJ8G&HAEe8nmMeyPzDzieDPx5UmpUVgKvkJChkc#(yCVw6yE7u9ZO z4$I)Zh3Yf4UOKRQs!{n!&@+6$n#Yz3!hb5pziQ?2n4d@XF~t-C+`g*T$%87So-uqW zU38kF6L|gVwdn=ak)7pdXr2gJJa)e*&7lf$og#iLdz(weQer%A{iB!T44v6w_)}^D z5G#D`%v)Ty-+GLA2{Bd^K~XQ7Oy+fKB-GI?jH?g}hEofUEu%XWK_RNIPeqSw?71J} zaqgV=EU(VF<tR%Il~0)^QduE-D{z7Sg1IyKfL1M<*n2p?Jkq3{uJ3VvnwX(-(P7VD zkYH#-fVMQ&H<y*YrN7+7GMxPUL4209DW)<10P*%^{YM3B8y`FSx%BGE+ygf;1tR%{ z6h_v{JchE+;o4Uyu{!@EVaHz>05ky8&{*sp`Dp0=Eqo{+)clp@VAx&rIqCizqB{Rc zG2IyGRi5vcm5vb-IyUs{PbAM6ygUzrgJ#)*V9Q}3GRlUdJ5ySnP2X!7pwk*#K_M5# zn{3<f7<&=nr0n)=f50d=a5z$999)kTtSX|%>EDbNxOfikWKi7$6{&t6ZuOIon;o@O zYO2Z;{q$eVBBcxGQ{j0!I9>1j8_ho5m4LPJoWNi9Yz-mI0r~vcfMV9-jz{8^F>M)n zBZYIj?3O{9s^{VV%A|@l=2*?mg4lc_V`g%Tq^2VDbbl0vXVJ`>ErWgK#P&OET+w4g zj3_BPl4;F?azBk#a(*A~NdeN9j*XJyi1%JGJjcS3?%4vqDO(KQcA?7Gij-;g;;~V_ zDZ=l@$pTrRoAc)h9Dn7lE2<cbUg<55$`+8OCrl&X>B#j~24Ad5l^)Fd*0)^y*vKli zzI3@o5Om1O5THc++}8cSBXXNf-G@fKt3ZwKgjN<)x_r-azwlBEbez+##89}ljfTq8 z;tbI8{<L8|ELUI=rs%~1HrOl;&b3X6(0e)2^E*}4mAtUGXo(U5#%wU05u0iQeCjW& z5GlXpB`iR-XI#wpx3c{yRAcHqDxoQQN_RHZd7-4{s&ZMDeh_?`mZ#^zy!4;L882wx zwrvqDC?RF@$ShewypWT>GTL0VLkNK}n2Nn_;D>ibc20)m4CM?JvGGpq>C)Ob%eaCQ z4I@#wuTcH)i3`>j3$|yFvCx{;7kNuvVx0o@J(J_SBN*i-Pypi~<H$?Jui%NAFy3M3 ztv{*(Od^T3R`Zvp$b`;v*xS&mMc(P|%znutInO+=5PvNNn{T764;Rc0^u*D3Pm*Mz zl^1jHHH#q$QD|tl2^_pDk>*VZTT?yPBW;Hl`<Li?a|=`CKwxR%6b+<p&mVI|m`AD0 zGX=O_D+#hc)z4xJ)r9pt#aQ9v)LO1>PZ+$P97^VZ9ary%F1u3d>;|IfzvoV9W#=YJ zF2NP2mAb;x%9f7Ch}nhPDdYMtH273nQ`KY`u|IOP|6wRDQ)$H<`mwh|O2Tu%sYR}J z3g*fwto6)!V9n=g1mL<-(`a!!ua3qDIyKbrkofn=XA*2wUIJq$F7!-S&v|ZV7zfqd zDdd>E)C4FKR+e7;RCOn9&lo(g&vTq8XC4}!kpI5kod9pf8+6T@pB`eMFaGm4&*373 zV8Y8IowI_XuuX<llt>{tDNYY%PEbvDP4W2!$T<dR?fs`9_sG;`>y|57p@ns-HT9H= zW4tC0$&e$KcCu4aVjqHVU@8n1uW+gNRf<7`@7ZfpXPNup`PYF+rV|<wVTs-=LT>&a zC85m-i{gA)N(=j)wgMo`#{GF!3Z<P%5EG~+c6a;?c7=u#=5^cpSvRratHDl+8Z8}d zV0=Bs0x2<5bks0sJlgHy$|^(1ru#qlMW1Ze>5u7p5F?&oD+b$rDm_2jPJGXXdTb+e z)5*1*dcSIgwRK~vC?TfBw2^!9PDHm0^w>1ZC&u_lvW{+#+j<jdf(Wg$xeWj($&&_| zioSfaz{baK;ygboeaN71{47-VqOCzuWCrb`YEO|vQSX{g_uApoDMnSjc#)nkTQ_f^ zggNY1D)M`kjkd_4tSaHE5tK0bWoS$Qilj<Gsr<I<(o(rv`*KE#a}Sn`k!0R+d}B8` zm<K51^*48`hFa%3C2WSjmA04c`n%xpv-t5}_A@W1`g!UI((=$Sa(`>YLE@clMKMDt znTw-Lh@evr)$1*ZoRTb<B=(Z_jdIr;H3!Y3q)Un&UGtpF6v`GKKK!$}RT^8S`WZsD za<78kkE~B1#nzR-iL*QJ=WhN$+;(%W*(0;_qr*!336e9;J-=5PgD6xKom(-av~0q} z*R4WyQ@*XyKSXf7vo|LbAS`DUU>bZw{MoxCs~roM?UmQ)5Gc8h*h@Seb?8#zGs%>{ zkP^pkt~`t2EccO4mbsU*p6j0%i?CjSl0H20A`oAtZ9HS0Om`^CBoW8(UovaHsmM#) z4Mmqp*{F^cuDzD!v3)9=HW<sLQb^yUT0q|u+wpBGs`S<2MnGc&^Ul+FsnRVi<&lhK zRwa_bQuh#A52+P$y^h0)XH368F^l`iHaV{1%AKIc!>F;%@+-=^HHRQ?IYF9n`-yvm zJ$fJU-Wkse#k*2m2OCim+zg@5@l-N`!5AHGV`l#d(J9Z2ajd*S1mmZZTJml*-hmd* zeHvZ!dMl0&;jlK$^Go?VyLc!@MmvmPBv3!R#`-)scW^5p+A>%Rd-FYcRQeObEPObU zBBXW2w)(AFkCOZ!z4%xUmuwAP77s6?QM(P0DAlOcDtk$Miuz~Sut@lq5zlP3I`g)^ zz3Rzgkn5K(cdA86jMwph^E|)0g*AO5_Sw*;3Hve;Ce{4N4N^Tg{#u_`Uf*W}EAUQy z>|QptUY-3#Ux9d7hNas}g|!6m$b}cE=flOG&pEcVH*too)WpMYj3)9|<#8wbJ#QRI zfD0$P?kZ2{)Jqxdu(|L43Z=~%3l0jfF8WekI!s3Gz4l%vD$hF-W*&Vpm$bKGGH!m@ zd>t35Rjh9y@xj#RTiqZ@V|O5boJ;S^vr=`_G41x6*2{eZHN*LcVKgg8bwU|3y7qAk zTK!d>*jJcG^TL9!QO3#P*VFJM4j1}k69@VW6EL{RNMUxBo-=@_@%^`N0m^CH==oy% zJQk!K%o_Fe{6hM(TTAqH`N@W8%TCr_G3MX5ZpY3~)zH(;s?eAt-Amq-ttxm)CPIvN z*ZE0>^C{3O>}5#q@q<$Is;vun_Q&)Wo8j>C!3lf(jU3iGMY>a!0%Q`*Q}g!vgk+dP z@v#4VKqQ}b@qD6E^`2(-KCRRX18ID(`s495X$_GE&6d!pIP#`t3<n2|=4(gw@bldw z@gI$^x7>zV2mBw+2Y3G-OOZBxv~Tpe^Mew_?yF+v>tO5aC~5EQ_z(a>0z$7}35dKB z5Hu1LmlT$e6cXVP5ReoQ@RsPF|6hO)9uBTff&V`M$KjF31Hd%M$jsNk_7jt*w}+Ff zyCaitpr<2~tEaC$01!~HdrnN?Wx~ZZt~W8M0WkpJuoCgv6H%~IXk|RZp<q%De?8!U t!`fuTG_kTUIygD_d=P&kT)jk-4{%6L?t88%lJ!6V&`{A;u2;1A@*l0no_PQO literal 0 HcmV?d00001 diff --git a/public/browserconfig.xml b/public/browserconfig.xml new file mode 100644 index 00000000..f9c2e67f --- /dev/null +++ b/public/browserconfig.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<browserconfig> + <msapplication> + <tile> + <square150x150logo src="/mstile-150x150.png"/> + <TileColor>#2b5797</TileColor> + </tile> + </msapplication> +</browserconfig> diff --git a/public/favicon-16x16.png b/public/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..d24cb4f7655c83c8ed5fa830839780edd75500c5 GIT binary patch literal 872 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLl<6e(pbstU$g(vPY0F z14ES>14Ba#1H&(%P{RubhEf9thF1v;3|2E37{m+a><Y92N<0bh32_C|5l8Ms9=@A; z<aWgQ+mXkv1G&Qq{r~@;`>%l@(4XEVL4Kex0|Isn2N83og1P<k0@W4>8=rA(V=kID z-DO42{Ohbft1q=5wv;&3dU2IEOa3hD*$KRv{4;ZR%9R~V`TMV2en;Z(tUT^(%L5oK zcGdvRVodUOck#~TZVdn#T;l2L%Kn0tQAk~?Zr1Z?pwMwo7sn8Z%f9_D#TpYtT;H3v z2z_0s#G5u#HAPP8)n9p!__nA2?quIB{>I3VVsuj`N$<1~$3?~I&$(S4HN<|{xN~+b znW7P{^)#ik!*D`M$STvVs}|_EGHhJ;vTbFi+QqF_N+z?`mMy>i`g`@Y1Pdwu1gqJ% zQy%Jkz1no+^H%QJy6?W7dstC4_phXW_>CBi4|&Ibv;WBc_2~nj-=9Z^Q*5M8g~@0g zU-<r3y1<NMyT2(f3)<NCCDcFg>zDAkeUA@+FxQ)P{@>Yp#+!4ct}^7zv;}%ewZt`| zBqgyV)hf9t6-Y4{85o)98kp)D7={>HSQ%Sd8JTGt7+4t?IA2`ihoT`jKP5A*61N7U z9+^)-4dGQG5hX#1<q8Ew`DvLssR|{P1*r;|1trN03>9-8f8yaN4Aam!<$wB&=hGkt zW@T=@WNu+)VeiQz%)$yT4JL<En3Xq&D4f1=<;0OQM`Vt$pKkD2;HAg#N?fqylauLG PpcM?Bu6{1-oD!M<K-Ye2 literal 0 HcmV?d00001 diff --git a/public/favicon-32x32.png b/public/favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..953ae4cc3aba0f0cc7cb93bdf5578d4caeb88bfd GIT binary patch literal 1674 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE3?yBabR7dyEa{HEjtmSN`?>!lvVtU&J%W50 z7^>757#dm_7=8hT8eT9klo~KFyh>nTu$sZZAYL$MSD+081LM~KpAc7|f`}t`B9GjO zIC4As$er+`cf$|gi8y-4Y0rhwJ7>c7-EuzoAmYf~$iqN2cf&!-M$r%mfykqGamCdC z|NkYOqmzLVzqBOCFBnLp0A}r|1P2k$su$lrf4NX3Ui>wExr=q$&f~7BR?9@s?-Sw< zzx>WVgKfe@J6o30#Y^LJ-y3{fAh1Z^M8@LrkJYnguCX-!5V2(I{ZD@%-oEi*n_%3r zX;)KZC8ivSWxT}Y_-56`?|Yu#S*M`RuA;U@{#oeLgE~1g3g$jJ<h)<+->K;wr}zG1 zmAa)W$<!-$bFB^I(WzIGuZO*Trn=Du=t{;UZ+Dkv+c!v01#;L+Jbhi+U$8O?sY}(( zdLGTdz*Ohy;uvCax_9#HXdy?DW8V|LZwZK)a&((3i~dPh7O#s8oW-sSoJ5#)yfin4 za2R`;?1|qba(2s_Gk5-Pz8RWQ`RHY)-Pxz+#n0w^-Y4;`p1Eads*)jJ!!o8A9W8B9 zr+Yh>>~Zosp|yS@!;`OGl8&KMyen85=Bx?|(GI;N<(k_Y5*ogKhoh#VyF+u-;#Q># zrmtqt`qFE~a3Sl81;2rSo8F$6YKQL_F@9IOc!t@<g?o2)p6ac<(@|&N>}lQbfnoJp zSpy5@P4^2etllizoKbi^?J1*M_3{btCRy)}%{#w0Z}~^N+`0#*PI{ekE7xy7e_y{^ zf`g4&F>=4X$%Dz?<}6|S@S<>r;vxTeLCwyBGW|SP1AnET|Laq6gYo%=$}N$XZ6B5H zt+0G$SQvibiJYm&u|1DBR+Nft$T+{c#l~o1o$Z7fEESV$v>9jk?3o?pKjD;1R#d~) zb9?-m&)j<U=QG2XLrJT&I1S#<|9tMy&o7gTC8J+PvobCT&X)HOSZACOQrmK3`PLAr z-1Xmb6K2oj)_C31y^$#=ck_WW=?vPBPc3-cJ<m7ia_viz8=RXOj4Qcf+zzmD1(pas zI<3d8GsDk`K|JZ^&MCj2+<SNZfK}}u&o4^fPd<7X;^bKu?EiIB=B)B<MjB@w^3Bc) zg{=5nk#omPP4GF_Q%TXqPQ6DS{l35RnswXZp8v<sGrtn|ePrRuAH;q$NWT2B*S1KP zjNcy$tX-a%Ywy1+cjcXHrFibUEz<vmd^(TbdswjLrfc}cMYjG1)7Csmv5R*+DJrmb zqQR4sb*|l9%YU!6w@ONl=eZ?X%FO?uCpdojq&Cs6HHA+OY!ACuRo%LFdj7pfOwaxv z|G}JpWXIA;x9dRJNwvf^q9i4;B-JXpC>2OC7#SFu=o*;n8W@HcT38udS{a#X8yHv_ z7&u>C;)kLkH$NpatrE8eqaK-0Kn>wlArU1(iRB6fMfqu&IjIUIl?AB^nFS@loLw>J z@h2XR!Y~buQ~syVcs>ncU{>bVOXe0<7WSSj!Yr)d(qM8pg;{xXh{EX`S56!`b42C{ f`{@Rc1zvg#ufzpQJ~^3!au|cBtDnm{r-UW|tMN4s literal 0 HcmV?d00001 diff --git a/public/favicon.ico b/public/favicon.ico index 38fd8641cbcafce3eb5562a8c1027a2723bb4a13..519b939a02aeaa33887fdccddfd8a89fc72f5fd0 100644 GIT binary patch literal 15086 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 literal 4286 zcmd6qS!|U>6vw9`-iua2mRgn2YBU%W+lUX10!59O_}~L^fe=u@1Qc9Ih`zAY2VZ<L z5DgLn(hXdrF$7Eun=$ShK@s<g;x3}HTmg%}-*;!OpDhB9T=Kg!bLO1?nQ!KNb4v(S z{Hw1Ieup&!LZ}HLTmqQFIMAMbn7f!sIoUt$3yYy`VX+VGaJU&J!)O@TKED{+7ZfXx zfL~a}IGZc`=xdCzYE*nrq@zC+U>@v({jeAQgm>Ux7y|l<eQnO^qpvZ>s!@a!NzF4C zlIC<`)Oi+egmEw%HbMzr1#M#g0Bit#n!y-j)tCY9=W*Ad9}EJYWea4_X)Jv?6Q;rr z_&M@1?G$h>w3g38-@&jM-i`ee&F?w?0e3@|HwDJ=X|#{Rk%)b5$t|l7$8Z;TCSx5R z@1qa+EWKjlob@y}&Ob#f`f78olEOZW0q1Xbe7ui7Fb95v2FHGEI~HYg*7hD)4Fe<g zwN37b^^;<-siD?AkZB$3OCOj8>RrLPpF(>sTnX0X*YFptfyEK?Ta(V|qpvZ>j)LF8 zb2wJ&u&SKf{1d_VXC=G{pM&c;4Ex|)=mPEXC1^87AAPkO`y^<e1feZ=Z=}Vv{+stK ze9XNCtS!&&O;`ro!Q3<90vHOla1NXg^)L?(g7v->j8#J|HE#oRP@jb?z5UkmnKjX0 z2M54h?wNah1~h~3n(O#aou_BO?!M{U3E#n0Pz_ImS|5S?upXM)7WC6Utn@BjSeyXg zz*jIE&I9-E?Ofme91d9=ZGUjhVn5kO(EkEnf??oZyZ~zYKAXd{ny{iJi@ApWPIwI( zI$J9D-+hdC!^5$4Z&MD}u@<}|#D2E6j<V0(Xn%~>+E*)dmiM`VzPZe4?pL4-8X?4Z z^IQ(!gXggoJa6spe>-@ld9-C`Lt6{(-QS>wT6t}AnbX_{VOe|c_g1avz#I>Pxy3!T z-t)QbYjZC7d5+rs4anAIt$2?wFZ+-)%YBG;X=jYnhq3epYex;WlHFSWG}`lP(B@q7 zn;w0hp;b%iY%b<nip|`cz<Rk1co!=1monZ3-S9dLf%G@QV*2^q_O)gAFRi|wv9W6O z)OPHCnR`6wvk^w*&fjOYcAfxhY!0Mn^KN?_x+3<qrFrjKV|+$6ve>BY`(Z9~j^{k8 zXuX?$0Qb;+bN!yZ?@m3ehaGSsq#S+ed)|`j&bf==6Ywsn12vw98khm*uqG$Q+{U<u zW^i5B`}^R!S3?o5kK;$;??HB!`7h?xaZSE+zruB3tQu;mskS-Bf;lq@YtlZP4R?U| z<`MAT+6+tJGx!N^0_)7@83Y3(#!iO4@F7?aTR;u9-T<}r3vK+C_WWp%Or+fpuKi`$ z3Etzr&;GVpJMQszFxNKt0DggP(AOAaJ3*~UaMa(Q{5tf3nP8q#kk0vP`re<rpaj;( za##Ut;ShMQ>Z9*4Fjft<)Xb+kYF{5nwcn6pY*&|mGp5mZPglW!NE@y7KCS(s@*XPA zSk&<Rvv=UANpr>+GnLjo9OF2B;@qjU-iMxZYs9`b=aPHMuZCJ`R_6Y%qYtE*S&s9y z66XuFOTfAk``Rk9xxeGp==CfW#~vLuU@*J~8^QVxD<R$=r!&3<w!&_3Z@0m%;9UL= zHFg82rDl(8y@&pNq#sx>`=A4^g(jE|>%e+`3vP(m_uY0*AAOB6Rt>c>-QF2{TcU42 z+WGJ!sNo*k`m7H?Eu^*D*XCT_*H|^w>YeBq7X7)Gtf!GM1?~jzw3>8prf~l+3f^Zm z(Z_q%n2}K<xt?_G5kB38u0@BdTAB}s&|JFzth!REuCBDFf0+>KO3)QTVN;>2PfK-U sRdsD`<In-crqPYnqs6|qP~8|>3SCwD8k3Q9)I{4H=IZXVX_2}A0e;){W&i*H diff --git a/public/favicon_old.ico b/public/favicon_old.ico new file mode 100644 index 0000000000000000000000000000000000000000..20b59d4408d02815f5b77a3dcc28db74046aa56d GIT binary patch literal 15406 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 literal 0 HcmV?d00001 diff --git a/public/mstile-150x150.png b/public/mstile-150x150.png new file mode 100644 index 0000000000000000000000000000000000000000..d36e7ee9eecb5563eae20d0f91d64790d074c1d2 GIT binary patch literal 6156 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 D5g=mu literal 0 HcmV?d00001 diff --git a/public/safari-pinned-tab.svg b/public/safari-pinned-tab.svg new file mode 100644 index 00000000..7e4874b2 --- /dev/null +++ b/public/safari-pinned-tab.svg @@ -0,0 +1,60 @@ +<?xml version="1.0" standalone="no"?> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN" + "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"> +<svg version="1.0" xmlns="http://www.w3.org/2000/svg" + width="397.000000pt" height="397.000000pt" viewBox="0 0 397.000000 397.000000" + preserveAspectRatio="xMidYMid meet"> +<metadata> +Created by potrace 1.14, written by Peter Selinger 2001-2017 +</metadata> +<g transform="translate(0.000000,397.000000) scale(0.100000,-0.100000)" +fill="#000000" stroke="none"> +<path d="M1151 3759 c-30 -5 -88 -25 -129 -45 -185 -89 -296 -291 -321 -581 +-10 -112 -3 -294 14 -386 6 -28 4 -37 -6 -37 -26 0 -264 -121 -349 -178 -266 +-177 -394 -414 -346 -640 49 -233 242 -423 600 -592 101 -48 107 -53 102 -76 +-17 -65 -25 -276 -15 -387 30 -351 184 -567 444 -622 89 -19 122 -19 231 0 +158 28 355 120 525 246 43 33 81 59 84 59 3 0 41 -26 84 -59 170 -126 367 +-218 525 -246 109 -19 142 -19 231 0 262 55 413 269 445 628 9 102 0 319 -16 +381 -5 23 1 28 102 76 359 169 551 359 600 592 48 228 -80 460 -355 643 -93 +62 -312 175 -340 175 -10 0 -12 9 -7 34 15 81 23 275 15 379 -28 373 -196 597 +-479 638 -73 10 -99 10 -184 -5 -170 -28 -372 -122 -549 -255 -37 -28 -70 -51 +-72 -51 -2 0 -35 23 -72 51 -169 127 -379 226 -537 254 -97 16 -143 17 -225 4z +m238 -195 c91 -22 253 -100 361 -174 l90 -62 -77 -82 c-96 -99 -203 -222 -263 +-298 -30 -39 -52 -58 -66 -58 -43 0 -262 -42 -398 -76 -76 -19 -141 -33 -143 +-30 -2 2 -7 75 -10 162 -6 182 9 298 54 411 36 90 126 184 199 206 65 21 172 +21 253 1z m1447 -1 c73 -24 162 -118 197 -206 45 -111 60 -229 54 -406 -3 -84 +-9 -157 -14 -162 -4 -4 -68 8 -141 26 -109 28 -276 60 -398 77 -13 2 -52 40 +-99 98 -42 52 -128 149 -190 216 l-114 121 47 35 c119 88 275 168 392 199 84 +23 202 24 266 2z m-737 -473 c60 -61 119 -123 129 -138 l20 -27 -263 0 -263 0 +18 25 c28 39 231 250 241 250 5 0 58 -50 118 -110z m284 -366 c33 -8 79 -69 +203 -271 90 -146 244 -441 244 -468 0 -22 -128 -274 -207 -407 -105 -178 -203 +-318 -232 -331 -37 -16 -776 -16 -813 0 -47 21 -237 322 -368 583 -38 77 -70 +147 -70 155 0 22 129 275 207 407 79 135 198 314 214 324 26 16 190 22 484 19 +171 -2 323 -7 338 -11z m-1083 -48 c0 -2 -30 -53 -67 -113 -38 -60 -95 -159 +-128 -221 -33 -61 -63 -112 -66 -112 -10 0 -116 358 -107 365 6 4 136 39 228 +61 91 21 140 28 140 20z m1599 -42 c74 -19 136 -36 139 -38 8 -9 -97 -366 +-108 -366 -3 0 -28 41 -54 90 -26 50 -83 149 -127 221 -43 72 -79 133 -79 136 +0 9 93 -8 229 -43z m-2120 -196 c21 -84 90 -291 136 -409 l18 -45 -41 -105 +c-46 -120 -104 -299 -122 -382 -15 -67 -10 -67 -135 -5 -190 95 -342 222 -406 +340 -32 58 -34 69 -34 153 0 78 4 97 27 140 68 131 201 244 402 345 66 33 122 +60 125 60 4 0 17 -42 30 -92z m2556 40 c191 -95 341 -221 405 -339 33 -60 35 +-70 35 -154 0 -84 -2 -94 -35 -154 -64 -118 -214 -244 -405 -339 -125 -62 +-120 -62 -135 5 -18 83 -76 262 -122 382 l-41 105 18 45 c46 118 115 325 136 +408 27 107 16 104 144 41z m-2241 -829 c26 -50 84 -149 127 -221 44 -72 79 +-132 79 -135 0 -9 -93 8 -229 43 -74 19 -136 36 -138 38 -9 9 95 366 106 366 +4 0 28 -41 55 -91z m1851 57 c14 -34 95 -311 95 -326 0 -14 -354 -99 -365 -88 +-3 2 31 64 75 138 44 73 101 173 127 221 26 49 48 89 50 89 2 0 10 -15 18 -34z +m-1885 -556 c115 -29 333 -70 374 -70 14 0 36 -19 66 -57 60 -77 167 -200 263 +-299 l78 -82 -63 -44 c-130 -93 -299 -175 -406 -197 -75 -16 -169 -14 -232 5 +-77 23 -166 114 -203 207 -44 111 -60 229 -54 404 3 84 8 157 12 163 4 7 17 9 +29 6 11 -4 73 -20 136 -36z m2024 -37 c17 -201 -1 -375 -51 -501 -37 -92 -126 +-183 -203 -206 -67 -20 -166 -20 -250 0 -87 20 -245 97 -359 173 l-92 62 83 +87 c101 105 209 229 263 300 26 35 46 52 61 52 45 0 264 42 389 74 72 19 135 +34 141 35 7 1 14 -29 18 -76z m-867 -107 c-17 -21 -74 -83 -128 -139 l-98 +-100 -39 31 c-33 26 -183 185 -219 232 -10 13 19 15 252 15 l263 0 -31 -39z"/> +<path d="M1912 2360 c-62 -13 -157 -67 -198 -113 -20 -22 -50 -69 -67 -106 +-27 -58 -31 -77 -31 -151 0 -74 4 -93 31 -151 43 -92 91 -142 180 -186 70 -34 +82 -37 162 -37 75 0 94 4 152 31 92 43 142 91 186 180 34 70 37 82 37 163 0 +81 -3 93 -37 163 -43 87 -94 137 -181 178 -68 32 -164 44 -234 29z"/> +</g> +</svg> diff --git a/public/site.webmanifest b/public/site.webmanifest new file mode 100644 index 00000000..337446d5 --- /dev/null +++ b/public/site.webmanifest @@ -0,0 +1,19 @@ +{ + "name": "React", + "short_name": "React", + "icons": [ + { + "src": "/android-chrome-192x192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "/android-chrome-384x384.png", + "sizes": "384x384", + "type": "image/png" + } + ], + "theme_color": "#23272f", + "background_color": "#23272f", + "display": "standalone" +} diff --git a/src/components/ButtonLink.tsx b/src/components/ButtonLink.tsx index 15ab83f2..23c97175 100644 --- a/src/components/ButtonLink.tsx +++ b/src/components/ButtonLink.tsx @@ -26,7 +26,8 @@ function ButtonLink({ className, 'active:scale-[.98] transition-transform inline-flex font-bold items-center outline-none focus:outline-none focus-visible:outline focus-visible:outline-link focus:outline-offset-2 focus-visible:dark:focus:outline-link-dark leading-snug', { - 'bg-link text-white hover:bg-opacity-80': type === 'primary', + 'bg-link text-white dark:bg-brand-dark dark:text-secondary hover:bg-opacity-80': + type === 'primary', 'text-primary dark:text-primary-dark shadow-secondary-button-stroke dark:shadow-secondary-button-stroke-dark hover:bg-gray-40/5 active:bg-gray-40/10 hover:dark:bg-gray-60/5 active:dark:bg-gray-60/10': type === 'secondary', 'text-lg py-3 rounded-full px-4 sm:px-6': size === 'lg', diff --git a/src/components/Layout/HomeContent.js b/src/components/Layout/HomeContent.js index 6416d672..72ab3688 100644 --- a/src/components/Layout/HomeContent.js +++ b/src/components/Layout/HomeContent.js @@ -129,7 +129,7 @@ export function HomeContent() { </div> <Logo className={cn( - 'uwu-hidden mt-4 mb-3 text-link dark:text-link-dark w-24 lg:w-28 self-center text-sm me-0 flex origin-center transition-all ease-in-out' + 'uwu-hidden mt-4 mb-3 text-brand dark:text-brand-dark w-24 lg:w-28 self-center text-sm me-0 flex origin-center transition-all ease-in-out' )} /> <h1 className="uwu-hidden text-5xl font-display lg:text-6xl self-center flex font-semibold leading-snug text-primary dark:text-primary-dark"> @@ -509,7 +509,7 @@ export function HomeContent() { src="/images/uwu.png" /> </div> - <Logo className="uwu-hidden text-link dark:text-link-dark w-24 lg:w-28 mb-10 lg:mb-8 mt-12 h-auto mx-auto self-start" /> + <Logo className="uwu-hidden text-brand dark:text-brand-dark w-24 lg:w-28 mb-10 lg:mb-8 mt-12 h-auto mx-auto self-start" /> <Header> Welcome to the <br className="hidden lg:inline" /> React community @@ -1640,7 +1640,7 @@ function Thumbnail({video}) { </div> <div className="mt-1"> <span className="inline-flex text-xs font-normal items-center text-primary-dark py-1 whitespace-nowrap outline-link px-1.5 rounded-lg"> - <Logo className="text-xs me-1 w-4 h-4 text-link-dark" /> + <Logo className="text-xs me-1 w-4 h-4 text-brand text-brand-dark" /> React Conf </span> </div> diff --git a/src/components/Layout/TopNav/TopNav.tsx b/src/components/Layout/TopNav/TopNav.tsx index 545bf5a8..c93992e5 100644 --- a/src/components/Layout/TopNav/TopNav.tsx +++ b/src/components/Layout/TopNav/TopNav.tsx @@ -282,7 +282,7 @@ export default function TopNav({ className={`active:scale-95 overflow-hidden transition-transform relative items-center text-primary dark:text-primary-dark p-1 whitespace-nowrap outline-link rounded-full 3xl:rounded-xl inline-flex text-lg font-normal gap-2`}> <Logo className={cn( - 'text-sm me-0 w-10 h-10 text-link dark:text-link-dark flex origin-center transition-all ease-in-out' + 'text-sm me-0 w-10 h-10 text-brand dark:text-brand-dark flex origin-center transition-all ease-in-out' )} /> <span className="sr-only 3xl:not-sr-only">React</span> diff --git a/src/pages/_document.tsx b/src/pages/_document.tsx index 21e6e34a..876735a5 100644 --- a/src/pages/_document.tsx +++ b/src/pages/_document.tsx @@ -9,6 +9,27 @@ const MyDocument = () => { return ( <Html lang={siteConfig.languageCode} dir={siteConfig.isRTL ? 'rtl' : 'ltr'}> <Head /> + <link + rel="apple-touch-icon" + sizes="180x180" + href="/apple-touch-icon.png" + /> + <link + rel="icon" + type="image/png" + sizes="32x32" + href="/favicon-32x32.png" + /> + <link + rel="icon" + type="image/png" + sizes="16x16" + href="/favicon-16x16.png" + /> + <link rel="manifest" href="/site.webmanifest" /> + <link rel="mask-icon" href="/safari-pinned-tab.svg" color="#404756" /> + <meta name="msapplication-TileColor" content="#2b5797" /> + <meta name="theme-color" content="#23272f" /> <script async src={`https://www.googletagmanager.com/gtag/js?id=${process.env.NEXT_PUBLIC_GA_TRACKING_ID}`} diff --git a/src/styles/index.css b/src/styles/index.css index c8254c10..28111109 100644 --- a/src/styles/index.css +++ b/src/styles/index.css @@ -450,7 +450,7 @@ } html.dark a > code { - color: #149eca !important; /* blue-40 */ + color: #58c4dc !important; /* blue-40 */ } .text-code { diff --git a/src/styles/sandpack.css b/src/styles/sandpack.css index d909f722..cc236209 100644 --- a/src/styles/sandpack.css +++ b/src/styles/sandpack.css @@ -58,7 +58,7 @@ html .sandpack { /* Dark theme */ html.dark .sp-wrapper { - --sp-colors-accent: #149eca; + --sp-colors-accent: #58c4dc; --sp-colors-clickable: #999; --sp-colors-disabled: #fff; --sp-colors-error: #811e18; @@ -593,7 +593,7 @@ html.dark .sp-devtools > div { -webkit-text-size-adjust: none; } -/** +/** * For iOS: prevent browser zoom when clicking on sandbox. * Does NOT apply to code blocks. */ From a6450b97d9486f22cc0684d805485ccfadc0bd82 Mon Sep 17 00:00:00 2001 From: lauren <poteto@users.noreply.github.com> Date: Thu, 2 May 2024 12:51:04 -0400 Subject: [PATCH 280/382] Update uwu logo (#6827) Thanks to @SAWARATSUKI for updating the logo! --- public/images/uwu.png | Bin 52594 -> 55079 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/public/images/uwu.png b/public/images/uwu.png index 2a419435309f34f3d9ffa40d0074fbebb1265423..a09d245ea03f5d18629d3f60c97c560971a97c0a 100644 GIT binary patch literal 55079 zcmd@6gLhru_Xdncjcun%8Z@@;q_J(=PGhUF)7W-n+qP{x>D~Q)e)oOHxc|b<7-yX1 zVC}UgpZUzW6D}_+jsS}b3jzXyASofD2m%6*2m%873mOu51*(=^4S0gFm(Xwm0b!m0 z_W;#3Ie-QMSzM765ma{1JkN4-$6r`!zFJYany_p#`QdoQMz`ED$4G_^1|cB<Cizv7 zs^HhJTe5G!Pmsi~!*2!csk+j~Y%Tf>bdFc?)+?tSRjZdTpXwvYHjQanD=S&NPc9cG zUaUu%L-DSM?~`-r#1N?AA|!DV-+(73Y_@uYU;q2{-z%N5=!pN%o5m6a_W$o&!X&|g z|KD$s;GllT|M&I(tupdUV(06B%K?9fh`>VqzsrA9<oJIUk0*}n75u;JlElG>|Np_I z0>;?{{&!-2eX1JlFsP>cc0g?3a(?|Mh<G@SFfB?N$mDHI_@nx?dJ;pp>3!BS;3NGI z=)^%QZ2yzpE_DSYA(&}7z8hEzlKT(4z<=+n{o?#jQv&eUTHB)Yk&u41-5K3eE)9~v z1-)TU9R8_JGRFzy8vSyji_jW`Zoz^MP|OX^e_EByK?V0ldiDo(!UA!EPgMiHB`y4) z>L5tU{fDNf#-@p0x=*sZuFmg1F>^YOu5O8G;w0W7|5H7xL=<QzocDsYu;=oZ`KR}e zlB0#O$?WQj>m~)jGG>YX)BHF2=P$p&`_pa0q*figzP~2>Ua%~XjJ#;~uiSQY@aJa* z#{80aNB(b3Ll;62TXC(%Z+ZtR>lt%f={6F6b@*<+vAVU$GgGWKnHVS;{z&b{86t+* z|1IBNRsnelVau|H4E`O25K@<E?H9<l?K;WMoIpXy&6gH0AM3d}%JBY-|1;6@8<0zc zO$1ZCT~WfmkH5*sW76B0+fLn-S%>XJ&snlglHYVi|C55cKVx@_e|fE{L_97Z<mH#g zRGY9b3|!%#qT8l{hshG~!my!&^5_HBX#YHc30eqRu1`E<Vo(gLlCFh(({!K7(>^1Q zaw^>>sEZ`X9ofwnDL>)(N)27qlaR)b!s}#xeO<6CJ0+#q!<H19X$|CmUNcV;l<L>E zb|;m;RCbBVqjRvUpW)>+eHfIH;H}A1fg$vDAdo8vIp5*0Y~}52d@KwxpEA1WArGLJ z-<@}o|F+`DClp2x;&l^X?w-FnFeQ~~CL(<0<@5I<pJ$;SB^e%^xWBSRxV@bW*VAKk z>`d|-A@P5%{SHaoujk(do-0;0cN$PUn$<49hbYJOySV(-cPlhZ+*T?y7<pGgpZ4-9 ztvQW0=s6hXOzK<u{~7a7K{>uYUa{&sv5v?qEVud&6a8u-mz3=Zt}Ru>?y_umpAisf zVqK6<qdJ^O8C^XR9Jc?{;Sq|EbniCW{V83K-4Ccorpzh42Rd2jXYb)zwP0jMQ@owX z`>>FV@g{I}svvBmCKS{W`(Gn7|KiULR5n;ZbZX1O7rVtj?)kbMP&;O1lgz$EcxA{2 zZhw75YI?)?7Gn^2wF>Q|g4C!VqkDCTk3%=L=a)`y`kw>Lj}PXC>9$e%1^!d|GYc={ z_E>bPmr=geGGRzA$I=@Ek6gdJA!+Z=s^jV5qhGx{@Iqk=-SiVpdpww=!GZlq|9Ae* zm`lcOsI_%6)$+D+1XkRbWo(oRdztp$I`xT}f&3uk1awi(3Ky{QuR#($e!rS`UoqLx zRcmrfGLtkc)_L7BSHIJt3H4J(%oa4;poVAvpT+8lv+vl~$UOhxTwrc_lYnk&hQ9n! zk5($fPXh_2%dw4#FybjazkR$v08Uo1;t>^4*UEflM_D#af=}Y`H)?abk1f2P^8X_F z6iJYJ5MnS78(S+Ntkg?`>!3iJfFW7#Kfa0NH#OML8K0^zNJ3#yet5iD#Vwt|LrwVG zz``sXT=dVLf%yptq8Jt9QYzdJRKSYQ9Cc;!|8fAND0D6~aeMmAS}2(&l&TwyZi&N9 zW3TOR=pVCzXaoV#(dnp6EWSjv{TJErw)W1q(`{d*J>FFo&p9@$&5uol4gQ?I5Fid^ zadL8w@iHioFyj9g5F8<iMOu+}F^T)-f|0Lah)+SWwo!%7(S_bcp>HsV`<3a_3b>># zydt;F$YeX+dPndc__j)9SnU=qUinQvc947-+Mz<KXZLJUD_!10@?bGPUStT@9PQPY zx}0-F9&mSdb{NCM!>^9^_s>U1Ml^Cf!NU9D{u4cD6tZDF@-889KYuWCu)z0gnrpOe z#jjOU2Tp$UpuS*_aKxuU$knjKouonP=D)(rg8RCtvOcHv1eq)8SPslZL`6SXDJUr9 zsh`Xz6Ey1gILfni<s5v*YKG94noC+cQz|NG?BOzFog5uIEB{?s9}w!Xtev{>R>}$+ z;LGenVJkvm)iA`_XhMmgp?+OpZlD@e#gR}|P=sHaV2NEHGS5#(WE;T;gEamo=aZdN zeg6)#{h67W8SCiiXnJa!7&|)$a>Ybzv~<oPd)aD}zPPaKg3W%JS#UZ8d_s4+p+&?H znTb=Ai6#hHL4fTtS`_maWK_RS775H#sWCh<oc8rRrVxi8Vh*AC@k>1{$Cu1Y4+5wd zs)$+JV_z{6n6E*|kq*C`bipdRbvgzpO~LEEP}8rJ&<hnqIh(g1z2P%560DC{OcS)b z2f8nTovq#8-Th`=!=|snM(BF_V&al63f^5+r@3HMS6@HndsYN|#_s6o=&x)&F=}{> z#7+*gP#E<3){?2H!uzZmT@W_hI20XN(L*~EPbORY5e9qIgB%EyzfLz|j(`ICgE%{? zq~DBFU2DtKSVhn>p8t;^<frcuxACD)HVWMO)+N0Yl5Dyqwd#(-L}C!-Pi6D-^O=7a zS2Hv5!322BVU=3<{!9?kzADNs6t-OdGKiIwks%`?3216+>a^oePDr>j`1!Nb6@xVH zI0zk)kR%8@^lfMTEhl^W$ZA4>dV2QGjCA^`BRTuYvy1PTH6jmQyH~L7!*!h`cj;5K zg%{eCsp-f?<_eFO7(>fbHv>a-#U{i6HJqL}NMh*Yk51SdpL5(F%q(H1>pbLL_J}<1 zr9cmsi_PSL)#c^mtphbEBkPh^Ml!OG>@J?9goJule*V9S#cVGOfc>Qt46z<iW=>Vz zaxIu>Ff%c6cs~au<H_wzGR8|t1Bnd*nz(aPqn2TrfVlOjaH(~pC0GQ_)?tR4V-o8t zxX#@4-BY;FIXhLZg59h?usvvEO%CdBY~LexS7v^R>_XiuGo4bS&mVqE?Qsi2z5#Y8 zIi@eF0A!>!e-Fz+(berLW4tcfM&04rFn!U+q1@WqTK-t@mOJHau&RX~7Cq6%ql;Qv zC>~wshk1CWy?o_ZyzL_vZVHMcte2M;{`+Ny@P6<DdwG9kL)=Te3R@j%71SW^d5Xz` z2cK}t?Xqkvp)lEPf_0%?1W|>@H1iCRJUHH@h}RH;fefoS(@PYgb7k}cIou&T!9shG zRMcDsdMN|1$i{X=C6f8j?-&>u2#*IUK%7B3JUZgfTcIQ>q!<#%(4-~-?GFyU?%pj; z7w!8BhBUtBCGpMdSFb@TAh7@~7WFReP+!!5xBhd@Z8f2=y>9C6vxq!vmN|xSV-9HI zUe2YA8f<9h1xg<eDd<`ig~SfrL0izyLX(-P!e!3o#Y!#uPzgNkEPW&E;}vm1mlO_W z-;4z2LVdX=IAKo-a}>m(SR$g+`0B&`{e8gv*)5nx-4r@j78Ma-^j$r{UY2Nqr+}gx zhJtRb^n?UvazO0`hhM&-BE|I@U_%pUL-Lt55umC>ffIrdA`9Vv(FMz%X|afta2AJ- z>;1C{p*JeW5K(Ne=B5~&M@bJu{0UiNtB+~nq^9B7I$BTgzAPVXQVTm~_*QPX`B$uS z;R`>t!)dx1ibbG@!fCLufx(V^N)%WplsYZCSYt}n=1i_<T+21`r`H&&jBZFLyzsUU zF7&)EJ}QyGqXRY=aX)5(`L!E4$QINiH1Q{OP|K8c;5UEq-!bDaLSY>OU#`KfWx#}4 zKxj~fc*-2kKU&7v%1t#YWahs66io0w4&k`|%rqbpV1bX>99eP7Us#)7Ss6K*>w8_) zxX~zntyhs(E%uCSqsKj}HTN@s;lZi;#)$D9A2Rm{wD{FodUtLek>`652OR)YkPV|& zASElpkqyg`cd0*|jX$XvHnh*A56U(9+#>Q=K;<lT?yL59_%Dk@DA$v$_teq^*OR<$ z)#GtLRZ4vgAM4Z~n(mcy&Ay5q?C(n}cK8J)tymCFF-rTpX~@dTMh!(ue#4E+l>&DH zzb2@U{)H{Zb`Abj9QsCXn<yghoN?(}IKNS@h-rQ}L}ygUFKkf-LKGowunI+PSCQ-O z4uZiDs_|%73MH$PID5V|t)NTE6(tgM84^?M;$<HVcz7)fiF>2DBALEFG^kHg#|TE1 zaT2fMu%Vwg{@j>qhCYV=b|72GLOh`FI<U|q_9#L;es9D-aRyzDA8`?4WZBSF<h8eY zLwX%ula^+-?VEq4Wo36~-b0uclQ}-EJ7m-BNwy5w&3wfNsS0nNISgVy)ro>u#l}0` zjFJnV7N@ya+#rL$Vbeydrj-x~9s*tG&*-wy9A+<7;}($VW9y)#qS{ST)5W<wC<oAx zA*v$B{nQlb)JF`e@7`JWQZRBXXzce0McXDp)U5)F+L!O^1o0o~00M#?JzZ8&9Sg~e z5Zr5n8$I>x{Fw=0j;~j*U&=DH9&$7|C?jtDk#|#CctgtmaE=U4NDhjgG_`J*I;LDM zBzk^{(TpMDm$k4cO(!;W!DEle>YlKK9G8?+*3l?c)3!QTF;ii^>LeV#F&7LMA!Qoc z5h4fEV_bs{FI`7E#}In&w-)}^8H#MkT7$)pfiUnuTe0Ghx$d%-diz}d529SU+cL-6 zaF$SgZvfzsid^-QX6r0@ka~fMK2jGbEDyFFHvN3dWTMdmTID8Wl7SS61`u3M(lPI3 z=DqNHfro3-LK)%Q*lMHILPVPa@TL(fJ!PD`-#v$RScUpDQf1Z#`a-jPUT4~FE9R&c zej+PpiLFg>Q)OVtqii}?tGVS>FBzS;xflc#3aT+FA5GA54f1ZEFg6O#V97GH*q{gl z6?s5Kkoh3RATsVgnkO5~b1Cw!>9(Y(g7I-W1aW`hKeQ^00OVS0$})~Uh3k9cdvC`@ z8zUf~Bu6m)@T(No`4&{OW9zw+!R?5_Aah~3xgG6^g@^ZGw+_V5jAl^%r79iG5L(FW zxrUspTBQp=PTW_9cITX+Q2O7Mp6jHsJb9`t_jTADxh6RxyD*Bt*~EK$W)2G04oJ9I z)akw2WhI5FxuvXD0B!e_i6JVp%Fj-p&Scu?Y&5taTue58hsAM-lO{wNt7w2YjFQ$@ zwFJvIB<0cE0x#OB>UD;>b`ezoKzo8Z5LuYs1z7Gw@UnjY)<*}-8-S5To^#3y3JzG; zXLnmzLj4Y^-)JCtZlv9#qob=p(W-fKn~{Psn`}4AT$Iua4-JV$D9wCzBOOu%HfHZu zD=0^Qfz42&i>?p{nTv}u53HQP0Lh@__59v7LzOz`Xgn?d!K?w|IX2lJHJn0X$DTMn zsBg7{!rgd}FJ>{*rWFSbS6V~@S%Fwk1ke&5rnK|$%2S?DKsXE>-`&G7@)N59agRty z%U=QvRB7vyx2+!654l|(p_;Bbf0=<KYc7Qm@#3;l3ze;RF*z^U`G4jR%pRNFkybP$ zQsXYo6gl**o`yLXMpCz0%nhnW8v4dcRN=P0qorRv2wCu1zb9x@<WR??(ToSqw8r$v zVWF3pjm_0jR(A3SwOZBt=jlQ@#qK7wPIRm%8swgS#&t{2x&V-k<}zD+uD1oVDji6J z!g_R&bJQru&yMP>ynxKFeGd&IsxWTO(EO#jqwlb&6sKZ^(U`f($^AqC=7~N#&r;ge zwW;jv?Q1^ix1z7XeSZpeE;%Y9^nTXF{_gTM5Z*0{p#u!~z6Q=uzb$(B*H=TK4Y2)+ z7HAT3n*At{@Y6r!R1M;Z_u6P!m_j1<$gUZ^k8`Z;9u0|ZF)2z*rrGk?bS5%3Jk3`S zQy1Kz0%F?V)S~5%Mqx-b;?kttYc}vqqrg6w_k3F96cQorXsB*rvcbqRY=YWm6}}8S zObC-Rc_l!K7oW~8USHe)eC{LKOifNcO!-67k$H^Fqf+Jjh0H!BY$1KE#_P$}^=h-y z<s|P8h@;ZIv=EqkbZS+Qcs1zis|jn4zw;<JX<k}!l6nnXHA!-0IjkvZ)M)VsqwzvF zY==&iKe$=Q0H{yQ&%ecP3l{Gu2pj68P`Ul2I)8T!g%trwdhFP0Ztsjs=(&xQ$kK3| zaxwHg_Gly$0^#rw6t~X88dy#dbt@LrZ_~oPy;)2dK@)D~;2EEL#b{*X)|k%)J8I<x zAsmTg3LhCz$F*R9Yhm%J(|#!ux?MXbyFpFq&n<G&$#U^jN5JjsUiU5wLfr4TJ=fA9 z=*dc}9n<#Q?-P+%F=H{AyPW6REu+LdtkW#Bkh+Oa(s-a<UtiDZd0$e-$g2&}UJm$g z9*{;SMH}s(-2_oS_Q8I%OIVq))1UK?z`e<#;$e={&JEqZaIOGRmc?-ee%n_lj0gbO zHF0o~(nD6npdGpp`KW2p{VAf+D9Ua)6u8}4OF66}lI6|B#KiukO2urOo@bRv2L}f} zxO<)n5a7OOLfU{2roe0F)0YJcYr8|&&!H)MJpgH|#?vySjFAvJ6plyuGXj|e0(<3d zib+(#n;)G-Ag*^ud$63qzP-ufIP#lrer-o&mo5LGUNe!ArWC$j8o&RVnJFrY^>X#= z)LRf;*0hr$F-B>%eyaU(#;~>O&j1l#u?Ndz6OD>!liJk|1Uz<IWtWfMV7QUV$-~`9 zdPp~=@hK}^ZGtCg;wG@a*S(tJ_9<FKZ0s@w`GOpY<(P<jgBF%W>HvqMmYQ;u^4*QN zg;yOb>xnB6*^rxe<bl^$^@%+$?|7+2fr+QUo&#&)0YZzbExJZH5B!Z9?|HRV?s>+m z?ay1D!@e$0`24XwX>u#<GHFnYxI*Glw7P&HZtnf>=hF1f@bS*X-#J)-QJZFLW2|al ztC!CG(nZ*ww7M=3-0-^U7^*cI3UR62usv#8vo+f34NhO0^Dp*80+kWJq*|0G!v&F< zK+xln7us}zQ;r@PRaEIO!&=ZqPk;t10(0V|Mm|I`T5r!@YWDo}fl!BfN8`w8ONuuj z1-!byj3CGCw!R-57e9-q>ENsH`!U1sjI0T_6j>AJic7+0>}^ises*+G5233OvZCBS zk+yauPJ$kl+;TmJLOb3OXB9+c`}RF(g|e~@c%-<Vceo_1ry;AWn*Z#;K!^M1ySr`M z1)HLxVgqdvQEm(SV+t<I-;HjpM)>m!xjb_C>Yf=%K@Ea>mHPl_L_~5@(!h9Bl?inA z@;}QzmL1?4JX(T#wYLqk4zri<UfHgF)@8nuk^c)wBIN|rG{J#e(<jb1%>+a4tvSEi zOwI244(6h-1>Oar8D$j`tIv3Ad&a-)dVO|&u}?LRq|fD&F3qWk;m%&ew`csTTD<Ya zm&V0$USQ_Bo3ib&9n$aNY-w(DlW*T;Zz%Q%Z|gba&;?$f>>A`+3;ghra^Bv=wd}O6 z0>BbwLEr+4it(B|`b|SUA#JcG)e`C;?tLyM;Dlf3Krg{ZJ8FswkQ6yGBjHtGL0UZ_ z`u|>hKRk;hzq$BPbi7e>WhE5m&|Mjk_iXqs25oj${lsR&)x|kWx1OXD;rR)#%$Vyr zcLR_qiY)3;b%;H`M|CnUndq*L$G*D`26<vucNmYLx}Gl!YH6+cE!~GuynKzk5!}fs zq$y9H@&$I5KBjeddkd>fzl*byiNLHG_7aU_w{7jxhb7ZQ2C&pS+R9$|np}lLJ$e>r zr-y2IPj^pQLoW|WSPp0Rwa2MuF07aBp>KfdwVE|}^P9t0?4=?nPdpyTkOxFMRzWR) zFlq*mLo6K8{S?#)-JVgTkQr>S1lit1$D7ON>3S(BEWA0+k5$ywo%9EX;`sT_5gZ)M zfp5lN#D|(aPn5EQ_%dI=D?x?p$^0NXcGak92j0Rh(RDY;-PiFhxd2yU1aBrBeYk@O z?*Lg{8jR8nClq#uA*x~4#ONP@j%Ze!pGU^q(uU973h$jR(JrL&gImx2Mi>ALgG5zX zQ;Eh4rF7tNFz-L0Z#+a5Hs`GrqiOo?$V~&o!#nAzlLA*^)+<Z_pe&-xl|!}PjcPnt z&gXXH0Z^xhL&s}g<g~QW4Gk=GZQ~nv6%`dxflx?_8X6X^B=`CvyN`&+D|q5gF^cq7 zuJH6T?I}R9bXZV|g_tiEz1w<LWwg;s{M7YN{+;EX{({MawD6vyz1rQ=nun0riO7cK zd6bQ&c&N|-+(^c51ULQ}*tqOi7ZL318AwF)d-5Z)7}a=g;Nw@67LWI&$j$ZF>mPxK zml$Y1R<*vve@yOi5j5BE&Xu_Z#w_ytpPmaw27Xf^lr^sgqU7cB&(6(B%E_^N6A-8e zclHV@r78mcg%?4kUcZ-mT9XfjDYtO$qFtlkV;|J#lTPlIFt{=*)}ay^&zm}>h8_N< ze~wv?00RNUv`EXHuhdi;v9iUHzpJ+T%0p#un(?qs4tylQvN43b#S{|%o-pRZMxi5s zJ4jBQdGY?;4Am0hfz8A>UN@dR)V}Ate)D7+hmKav@+&C}%Et(UtCtO19Q4GJTT&Nh zagW@bc>J$$iSyk6Tlj$Y0~9<m)0dsi#{n=NdHh|af528ZoQ53!?tV`n1nVCdV6<AS z=t+OtNJ&X)RvSn}<9y0auUz5SI-28ELHMiRM63#wPW8k6<|8;j{n4^NWp{h5f^}2q zQT7J*D9&>IL^u`L>`0ir<1;f&H0P!3w#`TDRW!9kxP2~M$^Ya|eiQ<G(c6*6zkF9b z^UzMvB0452th1bwq)`gGG(ADZiAb*ukkJYeAv@Qz{-{6!a69WC4<~y_<k>6`X^%}7 zlv+wTN=PuS)WXo<DA5oR0+>d`nWnq-n4qfM#8+nBwIhSxAQ*6%Pz?_c4`Cm@LC__q z$80X41eDLQr(onM$_Pah;22`SF-krYo27R2EmqsIygwe~+`CEwifvm`ml<NI>B;tD z1~N~AEq`=`Pj`yYT>G|kpvY}E*%gj*PEOUEchi35>*uKMH&uoW1t2dd1%5-n%Nyzi z-Lu!91Ol7EqT}a!^WzJdy4(`)VV-QDT#Go<YOv0shq^~b1bgz?L1hgD_B)-JKfku^ zAgu5OsY6Qu$S*BkRj=*mILxNk>rPV-Pla08&u{S{@BHh;`MG6Sjfkb)Oa7tbZ2hBv zX=ASR3C_~f6VVvxnefuDcV>o5mXWSbQlPnGJm8r&x~D_ieB*4P=03Uciv+K_@OYR# zOFEutq`b3_j`g!E!(pJ<aC3z7N?=tpEoS8A_2;yJnQwNhJ3V=5O^Tj~ioHFvRNSO& z#x)9EOL&)KK~G$`+4WCIZ_WD0|GFGc&g6@C=_x40CB(-oazu?agLFhwyY5y6G$|>d z&m5hV1qJF3AUH1BfXmYo?(XgmkB=9$v^>AlBcQvw&|bcMP$rRUCgH{P_Q?P91)2dW zoL_s56ErVlTJLv<KUz$CCFF{=h=YcgsFRzC46$`bRG1lWl`EF0XV!wM!|KCVwfy?1 zj_%4KP5=!6h)Um8Gw*Hcr*$|S($3|dJ&$7@AE}-<C!rShTO7ml>y0?qS>E%xZ5y8O zC#YqWqR!!oAQ&`MhfvxWg296i*9=Udd)n#ij?XHbumvS%=QnMhdtFd=nF)E?vSOKx z#ozYo=@}V#@hK@wD@PsT_HGJ~UagsQqv;!yyA8+oLg(pU9?^+K0`e$VeI3XGNrL+{ zl+AkBnttpcOR%^(JKX*C>CRWv6}jw{%$9vpA?^n%grE7LHb*-OeWY;l3wN#MM_YLI zq0*H&htERm8<KM&ZThC(=xH|!x)u=4Ow>sLabi3uUdu$ikeJ}BcUuFW;)=zibzp2% zUz;nLAAoTwQ~#1>PFZDlBf;Xgwl}?f%(CZp`woWCCpI-@3$!4xkP=HCxs1(_Qv2Gm zpFZI9No$nbTn=XroE>t?{B=xR03FwsSHyH+xHz}1{~iG9j?2uXfhqco!bZ+B!);bx zo8(N<e*s|MeB>82=$3~SMd5_a`|T}fHd~aJGPFV-<!C)u+EOGsVqksUQ6sclo$Jwd z3ixFWg~|uMX)(ny9X`NZs;6a1nR>HO*DLaJoh;4$u>WW=u%h~%QzLWjoCKT&#EBHW zGu4!0yelsO<b!P*h^`IaBr`@&OK|`cl|$#$;k;d7xx-+)&Oz7p?g$G9_nnIB^sP{L zrv{N91wl4tTi=DWP0H#!rCVf>55_}-8`3&{VPky;zprB=aLo3%;4v5k#Sc(TAk&2q z1DY~+Y%pHt`P?C<(pr5vE5<Z@s@UqoCGK|>1wv7$^RmPa15anzoARyhb|7&TYaxnu zHAiYf_VD>V#6*&2l(B*${GQU@1e=k1L)-R;C)U&w4qiIM^$7%?8pUg_;c*}#-Z6sc z!A}Z&Rny`Va(n=vo8Pvs+xH>(wN+Rf7!U)=yF#nk7UmLlZ3&TU`J1+oeM3=rR$=2g z*PdiaapjLSU5mF9+@Ea+ApF{VIv4UU@GL;<cQUVM@2hYUSen@*`W|WkD?8n-2#*Mu zFId&|6w||oqMS4Iswbjfk;t=}L~y7y#3qy~LyJ2D&lE8;-zk3FHvI>nVa`Qsv=C9B zl<lX&K`)$lR+v`)duYKm`D5RO0Z-viT>L%<F~sO(`$AoGQG@jshbTPunDg`Vq;8W| z>;qyU0RtUo?jKew8i$y$UZZEuvHin;pBc9FxMVJvA9t^O|GqK*d??o|J@FvMAqNnf zsE?y_=sgDn*VHAipm=kn?}j%_&uYRSIxL}g5g_Lk2TGR7Y05f7|5SCXT5|{54yg>m zC_R^5P=2Y;Xbge%20z%=pN4?OhSGwebxE{uHOFvN>?I8UEw5d#y*i&o!wNZkWNb#z zPM(2cYH!xaXUY@<a=90(7w?L|)1lO}7T5=PWN}??O(x(`W<0(C++4p|H(mHc^yQ$j zMT^FLu*G3dS}DJSf9Rr+75#pn+&v%0wj)0wR#v6nJ*pLQskF583qVJ0O-)U)lf*LQ z0Ob^ogC!J8!<iE<@r|7>r+TlNZe#u7plJ3!&$}}8O?V!qou_$>CD4!j-TFYm1wp|z z>9e(KXh?DyAHv$w6&iV;%5v5Eh37uIO=xViLb>aX9DZOHh0&OND9vWD2HWP^^fO%@ zZ;5>6o$0p$gQ{tvC%$8IZb|P|P#=J2wB@DPnE4_AN@=33c&R-74Cp-W>og0<-N7Fy z8&S87o~~~O&1wQ1=E<SYOmEe!CO~tLlJ)@zw^kfzq5+V4Y-)<0eXz9~=*|E0?{L%X z6(wmycgn6mnkv6*?oMnFmyUbz%K|6XASV^LLwoxBm*qV_@2wbbL^~+jy)HQ>h+)O{ z9JqzI$L=VO86w?MF$?YOBBJ?KPBXTUjY7TRFQg-H&$d25HPVs}Ywg`{x+NDr@Vzmb zQ{;7K-2?OI%sT#Y7UxveMrsxtX*Kz)O^EdqT%kG#r{!MJgg%34p5Qf<K)a*!{rw&5 zp@CZdpV)EZ^G#v`_h~$ch{(yPqM(wc7q|wn*NZosz4SvY4;(wO<+&e4LiLS)KLG@- zgH!xKj1KK^zsSN&+7SaEQ)0QP>4|Z)+wlbV^bel#X!&R9y69(ps|ZNHj3U!a3)7+` zfHkNet-}pSF1W!$%4E^uP;TOwOcdDA&>V}Y(=5|m4J9;Z@)|o+iN#?(&HU+3>W2k1 z2&(|w&?`>S@s9w&bQ~d6_|Uuihb?(b*g>mgdWQQ?G3cAzJjxf`q4LcUm9q-ptr9mz z671vwOEjc4EeQI1mi^PSks5XL#FKABVobnBjVf1Vv3%>ix#CtWD>5PocZmlP*$3Cu zG3|W(@v#Vdflw6d#pNFV_1wx_5_e19ST_E-c9s0IX^-PCw|9DPtErOpbs{ONOoOW{ z8V=Jtt(B!ERc>ysvva1CuNM^sg_#x5oqL@Oif8@@E;M3Pb{U1bv2@>mA-L)Fz+aG2 zb&&-<Q%sjRW`Y@)=~S%x1<j~Nd)298@u>V{b1iEfqy6T2f`LpLaPp!Q5$?b2k%!ur zH@!L|=^+dk0p>JVke!fleR@Q{ck|HpGPa|r;<Uv>K62HL;BzCwLlddm!Z)+38*=x@ z;uJeJxGyBnaSR%Y_P_+7w*RFxOOzlzyVa?wt*yv86Ke&Kd<U2w|1!wKSSdwTI$qw7 zcf@s42d@XanVELKe<s{tO7JxypX_61b!CEf%6fm#t9s@%eG2lE=-O}80k<8Y^Fd%` zhUZ!A@|`DAB1206B0??iX}+#!#)EwD)z}A)>|p{Tzow%iMrvrAFbKho#%KqkS)7KM zGlt*Wl+*Y4MbkkAoVKr}T4qW<rQ|rW1Oo}k!M2ih8f+;B40IDx2gFE63}^itlmO6^ z&w9H7@ND&gC(oY?XnvipA!;j+Kp+(Xq>Y%^;7c#)_T0aKGCVc)SJ>C+n=rs0XedLy zvw7vBr}gu5u1t@r>3*b|+0Cu5-~HT1Sl1B>jXW`s%FbI<nmKj!`u2J!6$PV|Y8EG> z3zQ>nJk1&@vh(~t#eU5c_e4@h^ceB?h8(-O>@*gF6%SP82q_vTFw(MNyYg9&TV0Ui z6!Zj?f3_PsduB#}h5~cfTHB~)s7{ZW$>U1Q0YE8*A;H~f68Zx!z{(xtA<E&*rNdL_ z@O$UXJ)r}G@QCyN;0@UR6wrQC^DtKS`v-oEOX5Y;bh(`)ikk>_I=`T?M!Rukak{qY zMB86m8UkgW<+}cZ8m=m>PY0@92-Q1B-{noF>D|H60}292Mp=e)+7J~yIUyg=_Y?Kr zh7IZTcAb^@S@RGk?sQI7&MVFVOajy#PuW@0J#hZQGBQ!6Lek?~lSip#((;i!01!7Y ztT1hVW1my!j~o5xN9Sl2(}M+!4;6Km9M!eU^>Q5Mui>@a3}j_higU--W9L(?ML9!W zLT@uHamxmq`E%Dd%WXakVR-6+GR(?9P@Y}_KuTg`d;NRl+yzC^@u8r-kaOn!Ir)x_ z_f)hTR@){Ve<@XWW9*8oMj<sbJvNY*{Y1$5H|Xa?j8Vuv)Uv#CkMI@dF`u2DCwE8r zL9QE|vYN5t4-2P^+`EjP+%mCN<;y=}(YV1IeA_)U(S&#yIm23ccqcZ$u!VpuN#F4v zcevjW5)u-sqJ7Cs7|Lj%860@^%~C6EXP*%Q_s+<gCmW-GYH(G9yaOJK!ALq{$O#Zp z<{qb3{awqD6QYP|z>VavCLSl>y)CE`p>Gn<E!r>qH~Ql6uW@9&Fn1>Tws1#y6xjc4 z&{&^)?A*$sUf4OH;OY4)pqCz>kg(?!&H4`FVdacg?kbQ!Zubj5;iA~;c~3l)H99&n z^2hV@UaTI@;Q?RV9s`N`40>6Cc&ehWIYLGqlQ?TX+z+sf;c5L&b}g5gCb;7VE}#k0 zKW*DzKR2HutuhAGp;m-iK(7sulKqfV#)wXHbm%6nzOX_t_fh_IJ^4_+5h*Y3Rr&ei zG;|gF6fqrLjKy4$!^47_(-47MjpYKBYPIeME3rt>rmH5wi-ZeWzN<h2Fe-`h{{GRC zX*++&N62hCj_~KtpJqe{4GuoV2p8*;CI>MU_d21GMS3}0izXOUm^s#adXC?lGB+V4 zQ*1-Rxnxj+v;YQA??4RPu_(S&U_=R8u59j@Bf&o$PwNBPH@$sG{No)@n`31v<?1c= z#A<pztp7R(->0d9mWhMhwV@sAk$a!@@cD;4yEImR>Ex4z%q}iWxNWVLT3Bmp;=*Cl zxO1_yH!tPu59us_MQp)*X1&f{^@!%$St2Yd_&3ZUqLwT@zrK764?tmai>rN6B=(`e zI2@vb#-A|d#W6EJlXt?c^QhL%jGP)SUxTOWwS=KgMiMB{2zZTW#v}dgK&HTpgONRE z(HI#NIa=cW?cwgW2bB#|%@UUzsF<g@uiBk>YcP%>Tm3xs39fbY<5oGNBR+s>Fc}W) zBs+tLO<-uUSt2Id_yl?Z@fGfQA%hzpLFqQ6IX9*4D27?2!2Q%EHOaK&`r{+%0eVjh zX~iF3KNfkHsZZ@rxWL|?6o|&UJE2#Y=B+oh>NS3m^quZBHS+XYQLqTJtqSa;;J`T4 z{azD}5pVWh?FJUh!E6#R-X*M8K<cqXKkXwccZY9UP)1jGbl2eQdZwD}i5&&L`L7SD z1@{UE97^H$-Zb4F)wk0XATzi26_2xl`z2h6?Xy42vXc4HL>nlfh8OrA#yqsQ#?N5K zxiQRpdOn#R%Ooz2O2ffI*?SSRj{~z(c3xfzdSb9p?7(c#F6+;_pGb7{&sw3qVVPi+ zn;~eB4^$D&!vvT1HuWpy65l|irzA|h3kG4Kb^py8IP4JX>OJ`nD7n~i97$>{o?v1i zYH~@Obz=yH@i1dPiqhPwKco^fn@tvrl8gUfacpUg`%A!S(}WYUk8Um##n$@<$}mCl zg5c@qB^z6B`bR9>O`X@Ed-b_!&&E!e9$3Hq=Fblo45V!3><AbH@-es$n)Zp!2*~>6 zNfe=V+r`~ZV7A5<sAu}i-)+Z;m6o0wMfQ~-S4dBOmoQxY9+s-;BS~O8>N7BDa=XKO zouwxH$3vKOA_Ql%24uupPC!_o0dp9+zBsh}q{G(W-VkZ{v^P{lzspS5N^voxWSLBS zNP80pLoBV{A#0{``i~WGo#-lJ&=EgH&6*QdF`*tRFXkILN-Qn&|8&5KtFfaH3mShD zVYZTnb%-<2tv!kl&-agQuS?b(zvZ|`1(1ucoklM(e&cc60XE?QTV8BxpAcH8YgROP zH!8R{x|uHM-~%^7pd*qoN5Bo~4%;#qHQ@8*JN|kJqKaiQFw2Yda`%`|4h!|ceu^b- zwN`+It1e?vARTj=GQQ7IFY^mTHYGBo3Gq}D|KGkW9OM`FbL##?N0>qlJXGS_S?8N$ zXH3~=^!7zk+#MV+!!WhHs2Q6xu*XX71}CtFROKhH`A`O(0-Qn%0CNEbbTTCGR&cC* zFgTQfg4X}Pvi#(*HZ{(4f+rMQ1wos~Ge~1hkM@7fh^{mfzZHp{Z84YP#6ghCGIXHF zDdc|4Y1vhp4=0|IP^KEnZb_pRl7f_Y{bqHDYSnvEjZ!Grc!-wCMk#HfTqBeUKiCe! zdwTsNq^K5XZ7;f>Y7!{3H!94{%Bncw70TEovT;&cnw!Wa2sc0A)Af90AS$jdkM@;g z88sMx&NtK&!i8Q<Ozv~5P34!=W#?l&WR}^PnpspHdQ{`s>88#K+`~d2chzRZ5u%o> zs;;UTl-Yx*gGuZlZx2t-95GU{1$@aDXP{=ymK>>-mX0uRw*F=y_y{@#pnycSMg`?1 zX#jHoHOBL?GAqW!D=&Vfh*xuh*<<$h<_lVTXVYe`6r-!e5;mrD_t#kAvhUf}AElPo z3of0K;bjCB@q8RyZKZZD@@wZgRgGDvhiql(1j;Op4y~opyCH0dEKM`#EG2!r$nUmO zlD2=$d6<W=wb)!@5KT0Eb>zq8_#4Aca7F+><h%Rq^7kQADI4g|tnJM30^PhYM_^zg z59kk*w_Jm#(lSFOKjH+bU|9oU256_~S9vnHBMxt~5#^t*D>MsxLg!7)?1MkNQ0IgE zcrjf5byLkAGq=?%I~NSzv;M9rS;yN?yVZAcNWIN`Dg^Q%D$yz`lq#C-FjyJqRo!W% zp)DYsQ&#DFNwPwf<F4p!Nd*(FzisiV8@AXFOUD?Ugki^0|MYRbXMv-LYTf?08|eSd z)jH`;&W4eE_gRV?)0n-1OizG9Dt!HFU~1VeZldE8=aYm`Hk8QDy{w}<lzr<dg{vhQ ziFkBqVU)@v<kAh(O-bCZE~+4Fj&pwX&&WLSUy-Yg5UfT0H7sDprG9Mpn9RLg8)L}% zI3}hbW+ocQbOVjzOiOE^|MWC!gvoXPcTjG&MUvhcjfK;Ntthl#-wGP41IMCPv4W1+ z-r0F(aVmt5=UbS5Th{cpKX2iOLrX=n_}0b%v#5$^+KCDu-$B-TVEIt72Ms==+WZqW z{v-tx%X3s}i^Zo1NJKgAvP&N7^bokAsA++Q9LIUJwE*<f=dO2<U*4<fW8zYMTl*v} zCe>-FrA62Fs-DgI6n%B-1Ush8qT!(7c2KhaClFd}jX4+jM1rxg_8dl1jp=X_#&Zwm zUIw7v+#UW(_ATCGEfVles9{OpuX+|E9H%i%4&CB`h`rjzQmG`eH^BSE!4AGDgo_bF zEC9|j&*o58l~xy`I-0J@xiBrJV1#!NBRd+RP|{n~op@}|l-GxYfhMcz%wdF@hm(Xn zG5l;UMlqNvN%?twY*FQ9iiVi-H`_X~S+_-!Dd0<5>Hjck#fDb^Jxx}Xg|(?;<~<X9 zPbSNm2X+Q`E62)oZ^^O*q6&LmvG~_>x@t2!(T|$QrIw)WH@hnmZpL&g3Pf7nDI=I` zqQ<}qKj5^x^N8lwOPjEpOX0ALpG$_fVd|fECj;IVm+qZ6uN3&DFzd)gYKY11DjdgI zTQxMAUZ}TCn0u)Cd$hX_=8Lt+eb2-4zc<ZQSeqOR+G9EZjJB`LN|d;uRM<xxt<>E~ z4)vCfFYmdt)Mo>mQZ&G9r%d9z>C;;+3N9cV>W0`9viBW3LS{h*U5)km{;H5a-;Lc$ zZzsKYNojRntQhf+2vS#<TBE%^SJoJ>?y}rJXS(OOCmxM_h)Xdks=4S?@xHpqdVfjC z*VS4|d45(#xX_X9RSr=yFO)b^`W(USK)9geu$CV>#=#u1o5s^Sdp<ipH?@-_(}ElG zxUm0Dv~+T&gVRJn*K=0r(yps%Hu~zRbUEO-vz3uGQVkcun{KoeF7+KBo`jn?J#|_? zokmsY^ZisgyQa838z^TSsCpYNT;GC12|bVP9v&X_fNI=sZUUQM0Fye%Uil{x!1;50 zyo*>e81}Vm#gMZM5AKy8-b`iC5wlQU|0HY6q(jWCdR+DNv|BVYmyX(8Gt^#4L%}R9 zfv731(Qf`zRGdN7G`+bnaoAV<ya|^v^7?Q`^Y;nrUH=SaP9zY+p#@^oQ|RP|yYT3$ zWnUZpOOaLsO?kGtWQ(knR4d+cLPCO5+9l)*gMagnHsl42B+d4HNVZ69CoU$(v#8p3 z$0OK!E}`_%$!rLI-@SD8j6;S(VMw;087O4Dh#$2gKKRwP=&Fl%XY70iyZQ8v1I!uj zhI%jv8;6NB2oU(XTn3AKZm0C2KP(!T!&~SXhw^r$Jo5_stvo%sx;eHtfIBFDAKN5U z1Ggp>F_2kpZIg8T+G9W-V^-35T1g7>`ffd>_Pn3?#Dkdc9QCoJDFc(!{dGsb@Ey|L zuIyeP2xajd>K$<1C#cpu%Dop>o2IJ?cGq(@L(U@_zu;w>$GG!oIN9PehQ4|5OofWe zp6Evx@E<<=70)cKRQK#LIPMR3{(ZNwwY^;PT-h4~W|ecT8Ws${Oi`?Mmr3;*^c;Wt zbeJPsel2e_RoLWJIcvOb_L{TSMzbOv6t-cbQa4B+O!)Yq9ZWK4RQws3U0l;VfnC0) zEj)AKeDk<TQsr~%Ql;6Jmhz)riBQ=wIfgEfPyeIFG4tpTGt^jRoZfDvI;)_jTmy6{ zVXUxT)$qi`#9SZYKj23@u|-3NKMokQW8eOax7&$w{lqn{O4df=qDOI^vL`SGJ;Fvf z1-lzcda<5lY*ZC8@mN^9%6=S*0Izi054UTDezHvL@=`F<I>CxfL_~ei%Ks57*YS)( zr2NIUk){6R_%_?jtO}7A{j>8Z=qN<u)x_JdL9LAJl^Mtz%1_C-+^#gE!BCl;|4NlJ zlN5SDOBE%~pq=qX*L?@fEtGz(>zJyn?miRe(7`4*Y@J-QlL;$=-rN(D#c0;juz22g z1V*7>YFBNEF6fpG^$i;qvr#*TXJCDT0@+(nljm7(4}3d@BK~@R{St_@Jpo2I#~hDC zbfU2buuKH#8TLr<5Y`dB4d`iKd9i7;HZtd@nJE}+w|GaDfE^j}u#JiX_oFE}Hn{L2 zZdR4BU<<MZ^KaNYbZrn<4xa!-(-KmBPXlFeIhu{PTZ5Lwdd4oI)oBJ6icx5F;VLVI z=#`BF4rbB5q#TT%v7SaH-JQ3`Cxp)7Ni1D)g0J=JP$tFJ_Ezv`+P<BrCU^Uq)o~>A zkSEU&RH#XIpu#Z3N$yH<PoI}=wlF<ow^H`%Ub*@)N;%Gn!*L)`*)%fHlEq9-j<T)6 zSIZw8$z1nZGw=@%0!sVIwm4~Ibn$LqkTp~vF#Nc!yfthoWh7i#$i&Z88EfBSX_`!T zmnjDjJHKD=GQ3?rbTwVf`@hY^($W9rDJt;jWZbZCmxlWB?E`2UOdls6O^+=A5_xhr zjQ!_HS~z9BqnwDH*ibLPoCG+D!s=3+*$@;pAq=G7D_zf^>0VIa;`MjEf|fFWnT71X zvOIO>Byn7!M6laQ1mYU^N9-%|D<x;^s6NNXkGhU5-DGIIQ@I{H#t16Wm0aqiCu8BS zn3ii?<7|CLGa4KqG&7cw^m|@yB3JpE9O{3{;@R88kW!*rB&yPWO`eJ0fB$h(j?Sjp z^|HT-xhE31(3|LbGQYO>7)f!)Bu9Utv%%ADix)d$toplXBXVR0BrdmSorgReOV(3W z(CTSKsw&kWDs=o5fO+_3md0|T1YXpqD@wXkn-QKrt~BoV{XTmQ3RShdalYdlm&|fL z=M8~wbHkBq>T=*)yM7Hiu9gZkQQtDpv`@9pEimtJH=YsE@nQ#{>&-$Vo=1mr^5nfs zs|+;3+kY6fQWQgx13nN4-(FPfz4~&Zya21pp}Zl{jFqrkIe61*3PkOoF9=<#9#T@U zJv}|nE)Ud`Vh4wZF%x5B+_@>yoql$gs2xCGecEyd(%#f1nlM7cC|(k_Noj9jb$@g4 zd(Oy=q;-(lf~0rS2W`Nd&LGdc;W-28sL&;(zEGK&iu|B>$myvKhsMV6gj}_mZ@q9c zC)uEZ7)mTBSE9*>iy$Na$2<u^MJ-_r9Yw4i?{F7f1Z9<)9;gHp2heu1cOk7;K0E_v zGZYjRnWj^)z$tiGCW>no6IAg|-#FBl_mI&r4Vz#-P*IJKl5Z?bGYmK;5YGm4Z7o?Y zA)Fl&Cln2&w&@%^7|byKYOtmNoJ48s`hi@s+|tCFeMv(|`C>b%XduyyX~2Jo5_(~# z3+sAjW{ykUh*p!k?awaJ)one3SD`t>FCPp5IYMY=2i|iGJ60SaU*zXXfjEg#^axt< z%eQNIZDb_6K)YfCwNld{;$o+)sUv>ch{HOIF9`@>Za{KTTAUs&>UG@YSLv%=gc~>{ zjU>;;+57$`r&52ahgVW}?H`U|!F+P$vKCcqt=YAd&)I~bR%72wnMG3v8EdmX6r<=< zRv`&#+7+TpA`BfmplNfX;_a4l%xky+0G#G3`|IGU8SuEIf>-eaH+5Ec+j9Ru2>H$> zkNflh>79K;a!)}HlGhjD5{bgEsz4zc_<PoJcFH<Fl-L!-j*$8&L+w;QD%ia#XWAMK z42%|L7X04v*hI?K)>cSYH`@fY?|&CFc6284F0^v?EubiIMSLN$^xAv_eb5PDhlf{c zWg}(~=@YoeK=X7gYYIR6`$sndlD}}GKp2{r=L^6>QdU_qw6Fc?nqHg{Rp8GS4gWN^ z0Amjt0@a7S_J?%xMvWBxVkJZ_{?wDgi|DzOm*O7!@Guyji`~{HnI)oks<rmA?z?#u z)YrBVO7?0{WcKb=&&-=GT<zGe`jul?EG)SE;ssTO_F}#S-C|~DMnoLRvxaknG~XNk zr9X)<)F}+%VPfCh51Q!Ak`@OyzXO4Na7-(8)7h1KM5iq-_RJWph~LOGe^ykZlyK^1 z^b;)`&k!Zx!Zn%PE8Ce4hw!c3`H5?M+Byn}<aeuPd_L{DLl{g#h7&Uk+@nrxEN0Xr zn|i5IL-qADH@8P=f4$~A>K&sJ$2jhuhsGk7>>}VvLf<UYvJO2i!;Ia}m*h1p!g!!g z9BPnZak<2`I5}6<@VY^r)263~*OqM-UnDS_aIS1>G+|WhJ?wlL`Bz-Wt(m`ZO&jN# z@%;Y)0@l<-AZRu(7yCk;d;!8}vWKR|A%7kUPLVUA0v|r&yzvepR7X%Se3wyS^_^>n zL!O`~-hFX<Zg894NB_T7XY_9^K1Lmc$)gZQo|RpqTPmcRq|u*n-yX0KL5x^acN3m3 zZ|dBBh0h$JV4Svfp{mGKnr7&8C>Sgr<9<jcj7@hU%&z6o1FqYX(mV<)g_&13vEKi9 zkRTQq@)PkN*vzX?HjS2KEYM8tVsZ_77>j#@4K2g7hw+yY74j4lgJjD<NU`b$uTK+* zBYaGYz5?P8;Bc9t^j`Q8<#-cpJ@Tjl=gB4b3zq?Z%NZxv7^u|aHX*Y-JcdxRc@+TS z2Nj@y93^Z3@7p64ezTEZPAMccZ1MEQg=11OnQIo5hzbA7%aY2J_GG{T1f5`)i6}W` ztPwuLerPIcs0v6n0{0cAHE+=G_{xT=N(6Q&M|~qRZ=*DG{Dpc&{i3Nh0d(!UdwC-k z>+ehCl)!087i22e|6UT-Py9NTE=C3{2?mCV{{05XvA5fcq*(2~cd6g_SZ!#W28)Ju z5&A?F(31-WB>k_*5S7_VFcD8qPK05gejp$B63brrg}7QRu|BE91|kQr$Ec;+gycrW zz_71D#I9@^S_|D5Fo-_dOs9!&ZGIO{q>0F{A5-43KiP*Lyy66H5$#WGfS^m`SVhfN zVNT7)qz?{ES=L+WE-o@I!A;1{mK7B25ztHS?I9_l8(3X8*nqNjuOVogV9yvwS7EK` zS}_24vv|UbEy7S&toO=M0X1-YvpRGH&${M<i1v><$7mG`iz^Z~lJSOzVzY1cPi^cO zO`Qv=l+@H72((E_A(SIrjO^^}JoNNaSL{swpXkXWGd|Y`RWnxvJOCLSl7LeEx-?S^ z4E4-SBNxh1EK49g$QYc(LK8m^tZ`4U2^)T$z<l}zg{#3NxN3D?J>LO?-;FLa_zc`* zUD7`~GBd-6TQm<K(&nsWN-+k?G|A639A~4BT9rhxFVq#kbn;vd`tplCE*cu|Lcp>x zzvI)0ip8TNZsxUgin_>JDJr7o<_4;YHHbi+2>7Co?H}`ryqT|`yg|un@=3$!7yS0b ze{6=%W~+%n?baEodoRm|CU!sfc_?He`xG_Gc<|bSKvggx9<P-^LC_P2<|xRGH`3Hx z)z@nh$rjGxk5CzV5`+7_-T$0pZ{Mo@ZaeoAz`C$T;{9nh0hXg&K|3A@Ze%ONF~5kV zJnJ6RzuP6T11jzZ>aF*7Smndwks|laUOzE=MGke4g<4`6%&Oe;NW#z*H~fRZGV=Nf zhRon_1(E0NCtrqDoon;bS`UPTUO>voWE(GIp->ZSg1cXE31;{7S&NDW(`<ygbI7I) z!XPYg%8WscOB9K`E3KSOjJD@f^jN4ytkINbE(0jwF%cMDpI;^Jq$D+yj4)hyD1LB3 zLa@?am}Y#PNpq;X3SL@Po5}GUM<xv22kIQ-%ExEe|I<h3d|&R^$v)nc4Pxr+ZN2zg zto<<tLg-rbj}XXb%`%-sR_t!4wb*o<fc_te?2UjFM9i2z7z!5jR`eGBw<J`JKuf$G z0izd@Moc4;0-s`x3P{)M7Dc;f>!P(%`=B%b4F`}{Ka~!cv{}|ONbYc>aw_v9DcpWD z0C=?a+xPVEq=wjdM55|7Z=b3gyE*M6Jw>xzu(a7c+H|~#$wtOPEIVvpLdTZ9Y9LNm zxk}7kf8p}JA6B5Cp!5$8&MtH48$Q76cL2dA*zO#CLimv5z6UEl|I77|o9pcu2xZsm z4@U`Pjgii+<>Crq?Cd!ZdzlIu*HE@F8F5*KC7WxcX%UhOw#$s{o+KrvR6fuCoQWw2 zdDW%yp`kJLwzjaPAC+q9O)UzZ_!VNmHU@9!IW}pOh<xc4<W#KMsCGb*2?%%-?XRtX zTMdDKL@@|V58amk^+A=-1KloiD1}(@@ydUfOo;qj?%*NHvQE<`j5j#u6#+y-<aptL z=at#gbq+Tk#+|@L1^&Q*xBJJU7qmYBSLFJ;WZw<%@%mlzY~L5(0>F;~3I$J-QsYw5 zDZM>E3Peh;+BetNd6rW?_>{j-|DK+)glceBXFuc{71@!WneI*bY~<S(0q>r52we1G z%K`xRZ>nglfA&@-1ADI(?=auobhq{YVd<R0>uS3-T*Zyk7>%7YW|PLYZQDk}rcoO^ zjnUYRZQHhO>^I-Pud63LXxChGy>rZgdpu7&Y~|2ss?9KF$Fa?FtCmDAyaw}SPf<DL z;{{y&#fcII^3evrcOAQ?A6YO>pE(OzE_fFBzm@4aqEO21H^Q^9u=u;-yrJtK8oD|t zB$%$_G8X}_e?8C~FKom`T>uYz|8N#f?+d{Qq-jn(gjzE#?sW|&fdm(&<k|tT5o6VF zPuELkX}CZkkp-*9s(XF>e`XA4zxQPz9y)R<7P);;4tRYi`*@-*wkTPK7&ZIM4F~$g zgHTbi2T^B+Rlb&#mD#e#hbw$7M?~I@G)u%?3ikPg7WFhM;d%eUdj8lP9rQEXIxp1a z=97clGAGZ){IzdEnj?=&PS<br()qJ3CG^hu1T<sKe1A0fWxc20@|9Af;hVocFW)VS zm!u_H^*(}X@Xkjf50kOBw!qSoW#L1}aG03<QiC$1WV`>7Ca)VaPKzTcll;^UK0dFv zCwu&zQ(Y8Ggkn|3o8RV8YI7TJMvqV$y*HUl2{@#FEOkefQ)<Sgc8?Dl8fTLs8BR2R zKXk5V*Ou$yf|5Cp*XoKZHD$zAmccQofe}D4_CJZJxiBsc-8s;#AO6b5zZPmH&x|Pr zh6_6pvB_3Jbb<?3MGuFt#)g<02w#cYY9XF%DZvr35Bm}FnV2Ra%J~4_(B1!Ya(h*b z>vn{sA(+cJh>$UoatvpANz09uwHN2Tr#IE^G<>JVo*#D@{`Q*i$gy5kM|Jp~|0al- zrg!*q($zS-n}LTRs3?F!KC2xI8B18-6`ECu@9lg;{obzg`0Tv2ngATRMe>}2^1wh~ z?Arr1%paeknFd+)W;Ihy4fyNYCzR-<UEJ_5h)^?{dcIFg#TDdMUFQY{0lkq+_9+Cj z^z5pPR|yQrGDE|6FSMX7{jsGjm*Ta-zMP-UM5N~~&Yi(`|J7ezT|K`DcY36=l$si% z!uFS*IF;FnbH$S*{DRC(g4IvbIyXs_EEFY-YsOg65Fjv|b*t&`>oz`GUz>noEs>7N zY|}WTD;Itq6>z9j<8UfcnHDeqVM|dEj}Jx7NX()Q)HtBa7wYWHAsxn161b>B5(~}* zu~TZROh(eywD)J)34f(87Cwy*omXjQ64wqfknt>-wp-e&6sFqb&4tLR;ShBnTOX4N z`Mcch2E5pOG42kyD5j=ApLaj|t(UF-neSdyDjJN-KI%3W6){sR(Y2kFCicu=NEyp@ zLw5+h|H#FF{h6ALZN^51?A_fS?N<bp2~h+X{X3Eu7=`^vGdWmZEGv`aFI?O`vuh2+ zM-~5)<L&A-iz>g__@(PGB>zA<i3@8s4e)XM@UYRbPgb9LzfC4KNUlI8iuh9kdYS%Q z8~m>tHK%>#>G@cUQxqCuWWUl^E71OSGB<y<!TqgAXq>#paMlK^gJ-r=LU>OPc$C|z z+0WwwM#NM$4)ryOLDnzJ>?M*RTNP#oP0h!hBrh_*oa;UqUHP+SN8J))fy%YdBXF4# zT25KH`*mXx;bNg*{5uWqf6d(Za7U7R+lxgQ<K#co1M61YDS9n`EG@$D05V{wQdpE? zh~7i})Y4&jOd2h<=gr;SBSDH7AEk~}V#q?o@2{4yTRTRlz1Fm`jEsOS`2N-|P2e+c z|C9$V%_58X`qySgBW7Y+`TcVGy$skDJgXhBB>))8l91}N=rQNGE~s;>ZqEo6@b2~# z$qxEZuK$z6C{%=8)xf}+f15)!3NSYhA3vbvVQX+0mzjER#i|5p_+5Es+nx%%P7=|Y zYZh(3#&qa=hlQ6$R5>`jB2rjMhOB|!&1R47RUg~^hQ#EDPb&*e-j`Pv4Zj}hFB||A z&2XLhR@wna-`EQFZ1SAyR;)jOXYQ3Qo4K1FWH1~^Zt4s@{A<n(@<mk+vlufA4I%bM zv+tX(eSu*T5ljmo(oLG)wr6B#2dq49vw5DjL8VDX|4L3yE{PV??s~BpG6TU^qVcEJ z_fndx1p&wq0wUifr{|?NgE&LWkVKr^F=k_Hhc?a$#{T#zmd>&>>z@g!7A+M>I6*Qm z`3wIiQ01s{azf3Bo;mkN<XH{GaJ0Bjc^9+Cl2{9Exc28Bbp}m0HH-BA{IoqJ?04)J z67B4Q;-yk*s$$UyQZnvIMI7|(p30XWK5$UJ#75OLDY|Jl!kN5#XL2A)F%Q@`ydPga zGW62pn32LRc8mD=6BYrVyZ3ct!+!He#PnK|dpRdcZ#$nrgg+n^tPDj0>}xMsMH?lx zBpT+(Tsse|zywp*TpSnotU;g+ZWg4-TV)HDnry}&UR1JW{6!kxQ7f!d<Xh$D4ipTe zG`E7mHw#QKi^a6<<*uB%2K-*Lc0zpoPHKe=Co1@yAS$uOZkv)Msj5EmyeNk~d%lyb zG15N@bq)F&Al64`by%Wu>!%>P?iQhlJbUXw=&18dyp~!QIYQCkKSmN-8?Ryq)Rm#Q z`nwH<^*&r=5miwnUQaW)mIa6LHx@&BOKTI399kb1rj{1LV!jL?-*-Oc@~-@laI#;4 z{^pSa5&-@boxJFRG1FvWTCik#2OIC3M8_wEG3g9b$eEETA$t;FocE^<MoWM7Y>f3s zHFX%YUkp-Uwyr3=GUlgTqzw_5A!FW?uhD3qjB8-xVCX%M6yc>J5GDj#Nbc>=Zht>s z{Z#YZOI>=ejcTn>$4r}cmld6m6xUi8!`@BOg^X=^a&y16A)+qM4%AuPTI&3$y9)+{ zw5v>!!5&+7g*-vzu$v{TzP!z<NaVMrS9otNI~ej};sE_~XcV@DR{W|VSBfPDnhSJ9 z4IC#VGNi!Rp`UU5sw2iKyGv&F=LAg9Q|H&S58zKhj8Ad8z57bd$UJL_ifQ$`UtIbv z1UZ!&D@VucDRkH&RY+uF4UBijGjVbID%a+0oK5<Lbm>S8Ga60e*UyRTP(}s#s%hM` z6&LwxTWDBV{Wd>{#_M?t;RKSe2;M*T^Y|*k?NmJ9IoM$!A{)14q7g|(g~js|u<~oN z@~dcDgyK|~fM=ogL)2Kbh=7-?V^?3xGz}CaKt+zAdqGD4)q!#HH&;<4iKxsu%?ZmI zO8g5wy+kwwbff-WlH4%Kaifxed|PYG*xtW+7EXyH7_M8oFp;H6B8ETetxkk6v^q6x znuJX9N|qP)8ymT`DvO#z0yEu|KueNYZ0)mL+l$7Rw1HfsB!`~wurLYK2yN^%|Q z{q37A>1A_AHzkmNg-Ex}t7EKitZlmFr5;+Nvk$TCeQXyw9Q`>VQrJZ^jHy=xQ-6B$ zl(%cIPQIt4kE<e$3ktOQ@$tDKi(u&j{P=`~-u_tXE7l#OCh|)%5O<jasKCc#;j@K_ zZzii~8rEQW%Lv5l3Z#bW#Id`r21NTz*RhY%olZTSdIztDz>@QFj}7IzW2BOuczjy1 z_s#ECIq%QSCVefSQ-JV}ScVR|{cqRAK&lS+$L}EJGQ(!GS?0E6)v6uv#>xEvDvZpj zk&QsoWj%LEcArKk7(%`$@-#8XybcJiBu#F+`Mz2i_B)y4(2X<_nuKpkY>$=QU5L_- z7jjtxCfrER!UD-Qih=!-)zY;$D%Yk9++y!SVa#9*MO3MOKl`u4Moh7S?->=<uB4)s z6OZN7KQQo6s~w%l_Xjrk^Eah`2ze5#WwKfZAq=mF_0UA6zY!8%(GfbW)c)*f-8!wv zv3z0erQwK^{IR;fYebrpV|n}Kg}}z4Vwmk5Hup6%`<=JNix3O8%U7Phl5`s=pjjsx z7Tc2gws_i0PSkA;#G_(h?ChOCoS&Z`UpS&vmiHFRvg}Kg_kSVnLkd_x({A*_N<=Ss zIEMdFRw{IQYevpXVRvqv1s7}+P<_x}K-Weuk@}d|E|!cjLeT!Wc;Hl4*k+0P#>MY) zYA?h%IRma(8l&`>(;Bozcy;$&4+5#5JX|tzVG}|1<GHVpe(vbjf&q_I*Usmpciim^ zq>lVIY+=@kinr!jVDo%su(cjH1EN>rx#le1p0wM}j?&!r^;ws?5%BvzHP|jEld|wc z4>m9^aFS9HJe?w0@kH?wooQ_w<se&MTnH9im|C8!+bmSO;cXA64vgnWRMR~zH8wUP zRwG=KzEfiF#YaF9aMka?uar79OL@m*X?wOBV*RYRwO-Zt>G$BDX_yuor*rpkxcIi0 zCskgX>#5PBbyK(0Ipa599I9BTsNbS-aJuO=tSI}(xQ6tWAsu6;8`ogfUv!ED?@p?g zAH``{j}hTFC&tI$;7GyUe+F4av@%v92^ORb9`{hjI5sHHIX;yA?dyt^cC5^u7Yd(T zYg9a0FJL4`c#k+~&^~nHze;&xMv-CqK|y3sfp|s56#!X^tTo{A>+Dfuu?m|b+m&{! z^lvf0<n-0x=Dr*iSajV8A538I@9ll-fbH_`0_@d2|8Zj==xlkKoqvsfdXL^u*3akv z2EgFKgaW)E6gDz@N2rM1{8O#`ekw>ebBr5{Uetjwv9xo^Ds#xecbrpMo{Y<gjEdhs zwRhI2rfgG)=PoyMwE0rJApDF+E&JGHUE28tJpw00tIa-k&AZ8r*JY@WOx#GIPFr3< z0VoG;jZ4r&{K?Gp69`6-Q&sJKetOtDKK3S}r$51QpFgDjP}su<-u)jpRsv%WdF0G$ zuyQ9R;bm0V?}Q2zeg^ST9HBg($3!!}Zx$*4t=D<y#_^}Z7^)PPhGF63o02Nkie27_ z*o#3Cuudhg-q9%>U>_WK?%`fwZMDOejJV6H1Mp~S<)YOzkK?s55dzu)Fk&cJ*yIWF z;gzdG&2#?d4>bS!PVYLPJV0&B4CcbiT{kk0mE~%%L2KX@rjzDu&%Z-r2a%ARf1lF1 z<LY@pn7-@xm3P1$C%<8ZPIrTF1<4p?Ws?&wi25zqJ>iq`!V4k-;*@x<A6=0}r@h`r z!ziwOZV;CEXk=xl^vxa5oD-sjYwP%Q@%TN?SD(xwh!$!Gd-WZg#jr_stsN$RyqxOB z_4mmOl*A%PR<+9p7xyN$WoxZ4pwo9t5!$U$n*RP<-h|Mw#eyxC3spJx?0e7te2BqT zcbC>R!q?B)8PT|O@V|erfvw4{xW4JD_%X@Mt}QD^y5H%eMpBA?cu5bhYhLT6X62|Z zS8Z5j+DwK5wDQ**!n>1CqjN_%TQ;Q40{n{XwMOd4tGK>H<b}6OasI+|zhN6cE?RC9 zEepa1>*-&=mst0CyinzUl2HNm+*%dKTB(urv-VM@f;nU)_`nnKROVg9LTCO$mVgd0 z^76hNrmGxUJrBtmWNrI`KkNC6`a)-?>8VTpo9OTwWGJ|QkB3i9mK<tEmy9xR<3yui z!HxTmHyq(4)43xeJ@QMB1%dXj;zxJ+g8<%`f2K1Tq1ORbA4bT}ke@4_Fu^X0ULibO zMX}0EGd;mfwe8Y{M&jK<{O#3CP5F^4))KbGvP4lwMIY8It-9ymfxY!O6IT1inz>%1 zDBDn|7IN7@|3d)E!TNA$irXpq&lzL3N04D4raQ}%rrHJBRw$fC!shizt*;ZcW1_O@ zrrNb^EUWMuFHl~%=VW&a+5Lk!7Y<qv$cj$)wolo5@lM~8Y3#OWh#>SN6wuO#1$ES- zd3m9}SAmP8{TA;^R@t!ZneEq8En<vQ$nR9RVA(i{3uvI3ZtN8Yb<4Qpy=_!KTJICb zSh6S3qgc>@D4llmo^PO;;Iz9tT9Ph#xq;-NDEVUal(kjO45hleKOCfN?RACvd^#*$ zDfJt?Obe#rRo+opm~Z^_Y3vyuS0|3Yqe3#@d?$>W-~RgGfi%(uLt$=KAH=Uw($$kK zX>F@t8F0(%SDYA7^V|xiDq)q%u2Kpj7;Miw@1JdC%4eo6ogGg*xwsN9c4}|yhOyI4 zs=4c~psR<hjFSl&LJr6y$%tm>z5EA~=2ib~<DK*HgiR>8*t~?jMaN+%uYHx2daWIl zQ{JU5IfDTJcWwuSOdRK3nNU4eW5}Cl`L*mhf6Xb0%84?yA}(9Npf%{s_p9hE7@Ja< zd8n|BczgZ`eL2Nmc{nZG;@mClB1{i_T1Oc@wr^2S867?HuI3mcRq4a{fdIeVU4ZpE zolBL*SaEY8hkLn%JU~ci<^OhDZCh63h>Ho24+Y}#*s#Gu<V9D`L<lS#!vdNVILc@8 z<UK}ErV6IcpaURnKXI7U-4hsG=4koTZ0)P?d1Pvj+l475Z-XOxdSas3FDZiWjzF=5 zg)8#n^4dVL)@7eDuO%86MNqwQzb8*;14VX)Hh(W5$eK^9_F<)ZX>=BTh>kB54z~jd ziVwDPfpEA4$s~C8Gf+(Yg$e$Apv-{P<MB>;05TJgE-t_4j9mi(L$-K6C_HXJ^tx4v z9w}xltj@iGYQWtz0+_Mje3^*<Fv|S>!)>1ixPMpcea6X|NeCF+ghKv%hvvwhi!>l@ zTzGE*gvTUcp?m>3spGvxj6YWw3DDo2VYS3;!N9+1c@<r4AQ`*x@%VXn8*?Q=`FAT0 z#%$J#r@8XVSD8G<8Cu!}TG|O(+Oc(yE+aX<K;xSen__x2uJiFGCEu@4g}*-K{=zEx z!YN5O8=MjtZ%D#K$1uMOE65|HrhwzKU>DYM#18q*^jEkLR-Y!59*Is0m$by~G|E!= zC6TzVvRFRU`s7DZz_2s3Zx%!gayhIM&E8(&K%Zv~SK`s#8WcqPR}>`6AQ=VgM8FV< z`)_0{kBN0>(T`e5E|$pXDWHK3#WJvH3ECf$n8*_9itJ+<Z2_}Z%ubHui(^s%Lj}{9 zLz-fvi4gIKY34+$dYOyy{m_5z#x--syTVrStFFnbt_`a{I%rWm;Tzsfbf6gvQAtK9 zVj}A||Ga$)hPrFxf&iTcR7r^tgQq1GBvkAo=Uq=-u5SQ@`Gc{&wPnUM{Q2F~1_)jc zr{Q~8mOM%wC6I}i#v~2c^RxDwXajk-B1Rz7X^E2<Ta~C{Ukg;nNS9Hj=h^5GP-U@0 zE5+wD@-=D>lz?`Qo5t3{BVA2M-dhp7#-n4OCu1L_nqAsH50xL6e%pZOw}kMP<qMsn zo?TeG&=@OGwGf^A;11Aucws%v$XX!k!@++Q+3`7|B5_$GsTRPPAjW-!f8n^FjFeS` z%>`TQbZ~5~cgIQ&cc&U`_J;>EXYJu|w{1ddG~$X{<;sj7r#(GE)e|(t6f5oQraB~& z$(xL$l`@XWdcAdr>R2O;LZKOrKk_31x^hTX>Mv>yOTBBwWZ%rs`a7?G(Jo1k0-!QD zLuljutL6E(F1b3Eu8_0ICsH~LdJFK6P0b~x_7xdQR|yJv(pq3O_aNR#?fuxs=O*|a z<Z0A&HY$c7xe$h;B$fz*x8YVtU}9w3Sn<6h_6j%O(ojQ*_!IhzH)bE`;oX`UeVwB` zGfrltIGL;mIirw2J&|uU3tcml{FB|r&%sIGP?@;h4wh))M633)J^Qw1bc}^02(E<> z%G}on=%>=rp)Sd*=a@KuQLF?#>_l#2-8SBniMdngcPIu^mixRsE46+HlL+$fD|^;4 z-#=v9{*dGP)3+WnhWx&ByGuBL!NZcOvL|hUyRfE<&&hzAg%*JdXCdF*Ityr7B~3dQ zYH;P-IgU@xNok2-kXCG5Lo}9MV6HS6H_sV=?9EVaQ^!k+5DVLoP1be!tE-${?`k6S z-G(M<aAw*||CbTU-wNB56Bl@%CBoaXv94`nJ`LZ+_7B!?&+Pt&{%<c&8lkgMPV5z2 zrXhM`NSYrxnqN@xwigor{j1tWp(D%S=WJU{NM$ho+edX54TB|@6X=SXsFoV+e<3JF zM|i+SkU69wGTEX@rx{Y8Aa$*1_YZoDQhMeY9-8>udD0q{hl@Hncx6SzD6|8qfn=JP znmZuG4CMS{^x!ZiL7XtxQ+!<YEFvR+ELrT^iL#`Lypcw`2R*{|4U-&O%sj%XhQfW^ z@G@-G01fWO%uqQ<lph=jg+A@H=;#R7x+g{|;o@OyV@3*1HEE^tAk|FuT0U^)(oA{x zEPtHIQs$JpBD+jEn~{N~10slx&bp7$chYUUjn3b*PWzD=7<hEAn!oS6mbjJnKAMh= z#`{dw%^u}^nZO~7G`94;y4sDj!{$bqn!<oCQCu}zHO7-<jQNI!P+{Rnz|RlV%DC5t zC2}ji$Ss>bHy%+mE5qImsmC8qt(rWR4hP1i&&Kb_=qeVykk*S2>NzX#k7Brmuwpc- zAE18(GH9kT2;*?BCEZ*rXvvwUqfwOFY6B`E@Nk5L{8|x}9YA;_$LJ3|FT|~*<{vbK zj@EvytStT}oMLnUl8jk+u{Ez~SQc9A18Apmh+Uvu;8ecJk>wVL6wmK#@qUhg>aSFS z;siZkA(X!v6lIo+qLo8`6j~Rq=$d^plT{9~O&q^a)i32FH?<X4RwS+mPt{x!X%N^5 z=)5L3>7+=3{`=|n4#9x;!cK~F9b7D8Zf5D=b;rW&n@^*QF`l4ZC5SzzJS=U@k~>}E zpbiZczBgX1?{ul7`1(6r^rBE0R#&5PwGDNNTVvyVK4^C3OgX*ob3=G~QNng=m*=k# zV#T~6c{PsBjJ2y)m+ILK_;+&bKs{%4R&Oa{%orNV_o1{=R6)Ncws%E`-zoY|>Sp<` z!<}J|V&5tIAySN4{+6`@T3Vem{!g305(&?+zvKx!Rup?kkM~v4yejMkwa0g<$A&=^ z0j_o~E>mGN#t^2vS#R-!wVQu7oFt4O|7hpCw%ZlRj(5Oy7Yl>ksZ|+dG_ulZqg)+o z+MaGJ*+Xlj5Quq9L&T|uY2nxlS>*D`9G(^}3cza5P-t~vq4QQ=-^>@lH_tb+uXB-k z&+m8mcst(u(TiD@J*;g>Ykmh>aP1GFVqZN6!kG53-R{7ZL$||G?}v%$8wjvcU~L|C zIlw}fa{lk|#?sn;toUr_Hgv$m%>7oZNJd<dy>h(KBa#O&@VD8~wfkCemW$i)-G58t zjv3-*1`G>=%J6(l8h3J3p+HeWzy~OB-MF5&t=0;+T~6OqDW1f<s6C{UCN6Sj32#LO z^ou)hOzqnE;B(a8w)^|LK5q-n8V*Kna+lzyA6Lt==J{fngHSLp7W*;v@<;jF^2$8K zoYmv*xtg}ljOE8mb^s~!_|x>v2k#;|c)XDomDt39d(Wk~9=jBnTl63w&OK6zLcn72 z;wFus*s1fL+fmk@a7OY{Iziqjeib7xrBSZ5xUp=LrjHNFV%*>fY=qodI{)MdP5!1Y zNMX0OkNpp5#*R<39xis17KWd{`%dw{HhQhKy<-ugBmHy#IhJGy0@K3BiQ9|j=qlGc zmqXR$RbR^lLrUjr7*6g{zjQVB#8OGtmc!gmHt3oK)xE%H_y&zvWlnqk>tADmX2{!a z2%lEl{%-3dBJFJ53SMQXQMJdkrs95;xgvr@1qb4lr8lbRdHWei{EC#+_gXSZW@RjN zK?RF9)^ES;XV<owJHoKf=Xzb_P{8uG=plzj8#eoYpz9MQn{VxRdFT3Xx(n4v8u#2e z8z;Ik1=EWM@KulYV<ZYzr|5Io=QxT1lvnExYvSPRy+TTvl7rw}Y)y3An;Eaxv5)Mu za7B7p6;B-bHK7+PMwtfxLxxr9n!i<S47b>@qzRG7JSfiGCUcm5|2mY#Z|6NxZBvas zb_uzvbN90wvfzT?Ry#IK<!&8KEhhv0X?oi9z7+O@c#|P%SuccQA@(q(rXOtyK8uH5 zuOCk&Ra7{M0dYH2=tkqZ4_}}1{pO3?mLhGJ5<J*K$7-I=6}IpKMBFEI5o*auc~NNm z+l;yWfG1kIWg9fyYE#utKD-ZWy#c1v-o}*iyiMP?-#pTYFKQaeVojrybIWaS)_shf zOcmrJfwxDzL|-H1dpxd(0MPV<ak4&zHnh?^Q(165A2NGDm->ouUW6OrO|(eoc?YS& z5NikX@}i36Eq1Z=?VmYp#6wCwSj32`i;j<6V4C6&wzWmMXns_mJ$>X_5vz^f=4!dG zmmA+x1B573Pxk3}aVX61*tmC5V4O!rvZte7*^J|DC;k&M>kCuMnkRag#7@rz;17Z_ zT*cTE6uufEf$)=mjJssGHau3Y*Iey!e?4wC$gui-3-K}Q4`$xLEb6k>(EP#E11vJ@ zt$0QFgUA9_=@}mfhx}R(79UO6WhzuLKJ*{qJo&g#@`&xbDU1Wg_|BFunR^;mY_CB{ zT+MvyOZUUK1bLliyDnUGvO>h2GmMHx)Ivwe|380VCIA9%bJWJDMA=fej?Krxq5fxM zC=ZFSqrI}6z7~RcEW-Z=V|+#MG6cUfSnJ4_hWkxd+-Kdziz9Y$RR(+4W0TRvM+AKB zwp_ge1*GCv<MZl`d?5Y%U@wYC%mhWh$SgM|h&Ei+B=yPZ6^24Fv#|kvt`cWTN?b{@ zcaukKxLVShWX{(t*gE-zjywv&;j1PXGJs@Ia5Y$g>DVqgM8mz<n0-E!4LpgcVB+r) zG=aF4{Fy4pgM?88)cn1Cx>bgI^_Q#|Eh%MxKqKhysXoCfF>|cd=FsgIdpvKW3NCym zoxI`6iXKP3TcA2nlEO8y+^E&Y{*FBbhb8$325O3TFHZVES@GSE^WU4h7kB$V6D30t z*Z@p%apOhm=*R(|=uz4|+}_-}s~cz&UWKYR<73_MPQt+R<on-P*7x3Cank*({v)L% zOReWAC@ZVuhl>3Emvh+cnx_l$b1?Hbl5i^A*X`I{@EB67Z5(Q#4N0v{)wSPbA4&zy zy!IJ2>){W@@dT+335WwdC8-uQSlW3-S)nqp10NGT^3q|0p>Z~I7d|4xHwj|1*VZyn zNf=+xDlRwdz#4a{w+v?1s>LN{E*LK<T*4~Y!`>PsMo)MjZe5al(zayK!=64VUEE13 zSIp(^c7K2m8H<gLH4nyBZu)_78qO7aBl{FxV~-e&Nx=J6latclgFKS)^{Xenor+DW zKU+Y_PM50K!v>09&s2r?#O<vO?tmn-@!m4G9)Vp<qjpEZLg`#lp<gc^(dj;3Jg9Td zyt`@m>$tyix?+wIOgm5Cje)h((f;-`N$>DREsc>|1<TL$uxR{XU%o3F%jm#BfK>Bc zt+)N%i8}Om!vqDaKn^n(r(^1cYqHPuMmlmy+2`rHg_t+mCC=po9o=Tlf>lei@Pe9# zm_E%8q%B&EU87D#!(o%IHQ=Inn3zy~%g^MveI6KDz4yf9!dP|;otN`Tgu7jj<<wVJ z*WZU;g`OF;qlsR$JqBHbz#wj|q&LL4o&7dWUT08S?z8*V-Ujt6L)_~$2Or`6Z(N+d zlad4@@RQ_B?X7nh<kSzlO=cW8YHuinbT4HlHLUf?lOJFgRkw+q^H1!6lp|%pxN^^d zIspui9{teUb1As1Twyhu9gSL=P{3SkJ(XT_IH;j?RY8HV%#DHasbp>rf5a|RtE{G5 zJ)Kg=M7++gZ3m+MHyU2sg-+ezNtZy4OF)O*RH!RJ@PhtKwc`hi@^bXOObVga=_zJ{ z`aAaJh_~Rt^Wo`>p{{UUyQ=@<Njh`A>#iXi7wx9m8<))5F+DA>#Q4<VpobDdmwD6D z;=K_~CdThxI!#Fg+C0gtf7(zj(2c`Z6E)(203+L}|JDQ+p2eXsH7Qlf$RO^)7%nK* zmDbwLiX&r3n8tcKVur~{S$|@*xc*xSqRr_M%wOhZVPzd3%ixUq=8o(6=ISdh&7s|C zHMoU(wUm$R_YiND5YBZ(2F$Ex@;>_{qxL_R753S`=Z_IzfQU@BKhLAW7((YpOU2Gz zJ?gJGlUsY-o{(^RV3Nqb(R&l+cl7vFILGZW5^G4>^A|fA8KW;!d2qG2)>?O9N#(Q} z0#$5=FlE=%+wP7gGSuj?p<k?;VA<j^)shz#;SI4qks46s`Db(pT`46O9w%Rf%_%(d z&Z!XN{N1zNW)Z>uK)E_Vr;oC7R3C`BNYiv^69;SA@R%3SN=GR_5a7{+p?o6#h|+$r z*jO8^B+xK&aA0fHKG@Xawee*`tCTtnXmXT?Ozz1&zma;l9h)Y0RIhsp$M$AtOMZwO z`OGk1In<m<p&7&A7s@Dny369gA-B{U*KW_lF4uJ*Wlp88#1_ZdfkBVmgICE-9slpI z(5YSJW1<I6!@Df6qO%3tkZ|aY()6YnI~&WLcrLghR+Cv%$}V+<ta?0unIKBORhVGa z>i5{RG`L{j2<c-nv5qQZ>dtlishw8nT&`>2%MtyU5c{nGN2eMxY#S##Zasvhwe6XH zDje?+A^|I_u5{Hu>COByq-O6fp~WvIxGf&FzAd=ZY$`qJbzi9iPjonf&kA6I26>$Y zX#l=wzta`{Cg0R_O;(LIm<oqob*Z<cAM$#pdXz;}pcUvkHP<>~-_T#vj5T$^yc9C# zzJwXtk_Ec24CIp&@;T$zKkHXapxo|jaP940KjB=t!h;btrE>a51;18Q1faQ6OpWVV zZgHs_5cuIN`Cz+pa}ORopr4+-t73u|xI!*vS7Tl7(`^&-J7DJ5l-qp%YQ;c`?sis~ z2AUGwiAIY3+(JxO8&;84xk$couB=h5PF}XTTdY$&)?f@*<8;=+M<}q91AWnQ{r&`| z6AmppY`oOTT6R;@gIAjF+M4`lCK3Twf6OIGyOS$IqwGPZ*gm8}0`6K*VFnaLo!9b* zToV$95ebbs4LO?{F@Huvu`8@9Gz9Ok`%P1@^?55{@2InFoO8CCLW4i2WLQHPG_i+P z#3kQv#q{-pGiEQEYE4PlT~@tJqIF)J`~*sNHUPekvF%2FIyVfvjhDxV;|8om4}q4> zM8<@1vLU8UB6k!$eOiBvTr+B=RqdSUkB`KJ<8_PC(RhAC6_<r(h7V>y4M9>SWTT^0 zbBLe@e;tG1uxo59+1$~%u%4ULcOp+|<-wCxvF|30xtnO9{JM?cp8c|?wj`mWvsd;N z%q%6i;-1{7B1o&VprzbLIgPJqMS*|wcioc2qdX}}JvSV`?Zif-`**3<0D$$Qj`MEP zF0gR$+fU-8Gj@|_E^e&`yu^VppvhmY57T)=F0#H1-U*mrU-x$&Fl6*zW=eNTIOcBE zrDDJmiEvlpfJ$L$X<oB-H3l$1AOKz8n>K>42ye#LG9K6J??5B#(=wN~@Xcq2et|LC z(*Y#EgwIwop<cA@_N2<eM6{SCtYs^KX@(?S=R?#x6))eX8to_ek9)6M5GDzKw#So) zZ(hmhv>!jHIIQGUiiN5WTv$RNRKw2U%?ox1QU%=gi0H8FF(5zg1%=MVI?%cd_Y=(? z<GhR=kQdN@)l$u;JktoGx`Va@(o4IFC=(bV@K>dqyUjGoDSX2*a+?HI*1PY&8F*l5 zNEE6TGHBPAEbtQSt4BY<E<9bl{Qbmr8mri_Vujx>;8$laj1DrD_20S5tYDWE2WT-` z+U3Yxzxh$MP)AA~Xpw7NX1GqFPi#1+=Br|1^dl-!vLc~2gO@D)$5tsD-DY0=@FoFh z;*Mwqf}Q9@{m{%-plDHmpU20p_*M#pGL-LRU`s}x;IRPL!iU>+h+CVkFuQ1}UYpR@ zB_h@g9U<KN_5f$Ajf{PKgmpCSd<zW+%Nu`#n}{qbd0S=^P?C3A8c={8n03yKVvC47 z6Z86O=3FcpVq~NY8`_h@L`*CcPohs<-Xdf>iAY_e7IOCXGp;)p7HXRSwejg{#ont{ zwgi;8>(wY_;a3WQqPSAJgx+lAebg)#=wO3Fj5DI|&g3zGfc|lQ!M@SC3yt4mj!@fJ zF=VOmaVraD%4&aP^|a$XpUls1TDTS)Q|=hwS6%B^+PWJtEhuwlf5^tkV0D~R8r&|k z$Sy2)kDYTO#Lbk~7Df2=L)PGYCPOC`W+JDJC;;76g4oW0Nx{sHry1e{c<sLz9m$~> z&<dX^MG5DRpFQY{=}a+XmuMaT(Faq08GiREc2d8VvZz<wNJyDVMw2VuEB4BgqG+`v zTFFyhT|g<6fqy;M%;0wGlY?TU13PX^Y-|DEcBP&;5VHNHI=8WEv!(iAFjZt3_X(~1 zEc<$>y3`@RUhZPnnb)(%1$Ngyqaaei5~)bK?92xpG2_<JFP!>`q_hncC5u=U6R)iu zCTqBHXZJ8SGb8Z7_4N6CYv<A3-9Mmx41N>o_&*C<nFU$Nb!EDiKl#g+g!x~qSi;Vr z;9t0SeD;zf)T~io5V^>pu*q@#HpUmeDd)FO+6KyH{6f$CLL^A&2=LHg)cppC96Y}$ zXZBU36j?WYd!wSE6MnQSVL4r4b8aU2jk|5q=(iMB<{RIX-i!QAW>;Pi1j6uO{a>-F zO5tQzHkJwV6G~^rAlh*fQ^WyTIJWyYUeiGv_DnMddSp`<iC0pz7wP4i{mm>|Ah}Il z0*B1=2zaHLwngu&XnD^!)y`3hmYH!$Y2e!!7(|yDzChxfb{XP?>c4mCLBdB7{NI9* zaWYC-<BIN($B}IUR!P|xbv^rRDTkF9TdshGPvZigw!2!Tz6r1$+Sr}(MgK8{mWxBq zv{ib8i)*T9DEWaH%pmkN-CJ~Q_6~Cknxg6A{{US+>zTQgtskqO{f=1I+x=i_7JiJb zedEir1$iEipC9DfsG;5((#B4Pc#|P%_v;Ge?U_fz5Nj6_9YH)mfVA^!;82*K-61JY z?|_F2#Z`yByg!nae`)S~A|{sW8Vt%xMmY|TWqBF}L6|H=$&c!C8fn6|KdeJ`d}Zvz z-RtZW&d}N=PUS7>Kb6!nV0C0_5eF&>|NYAU^|@3?qfV3V`grNDQT|7zb7aNPAY(Xy zaH@uarj(5qV<5(L`sH0jw0Q_L!a5NC0Hx}IqBCr_2U1HiUWTnuSh!14ksTu^spMLk zB90xTl{!h(TE*YFKo%Y)fvh*6p0DE^6OLK(I4};P_VkEJ&9d@~OxBEX;*Y`G7Ni=C ztj;J`ukIYMoU0I$=rIM^ugU8=%UY=y?mcmD?rFRX?PgR<W5|SmGgPx6kb)mstO+PT zEA(+1SuI7p%{nTZ?clH$ttfAr5^5sg!uR`BN7~l?(-jAsxRwM(Yi`^y{NX@048|_h zNv3|*qdx#T5C&OWkp^W6Y<F8O*2xWwGX4=Vad0I4m7>MSP>)FHoIJv;I2M{{cIJ5y zMfnPCz%dDz-3_R~W9D&aK3<VG)($!Jp;`wwL_OVPykgHgSk81(zcTsOaR3?r^DCvt zHn}FU!A9Gdvx1O+XN%k2R(!QPjwff!+w2}a*&>jb-pCidKLb0IZda?65mWb;Coz0# zoUDN-bgBJ0bN8Dp0S|i-m3=TdseZo+)8=@I#r5>E+eM0>E9XMW{xy9J-N@Gcb&Kxt z{&VfxupkaK>f=?f&^p}Ve03-y&+WGZ+jInlcQ0RmP5SMZ;DzH&A7NVs$`?H$qZ{tX zq}O96uj_D?D4~i}oJpvhUt`csNHP0fBMdgTk`LWm%3Dj+pdOLC)W?p&Mux%Y7kre8 zy8YbnDC%pmHcUc^O_DY?I@$^d(65Q>`Pwy@LZ7|(^(PU^?1ggbz8tW!se>%Dls*aY zNCF_JdAi?Y*7!Jmdev{e%ZhT;A)fakcACwNw*7(N$K}OsXr`Ip9w{>Sk7=spUuTw} zK8e(lYQ0MbOF64@H`I8XXeJv%uz$71%=q;5b{})_RYecQyFKI_9>s!=`V4Vp@v!5_ z^rDnL91(F2^$ia~i8f~(m!aY9<akLkE<UGndZo^LySwm0x;BPjUC+9mmteOsSdC<~ z>#DoyZgN^oo>Ws4<0`+G=WLSit$KLp5uULy8L(^-zcSlYOf4-9fwRhBGF#;2Bv_Kh zLWe@Y)jgW8o}BT}oU^M%*v9->?Gm{|1cq5iR^PX6{9kV{cv%{Dtt_`~5lf8{ffug_ z5H+YaWh@w5(^g}eKc=JH#aVfK)wr~(?^(yQ><2u6+(4y-Krs8#IlGqo0SC^=OeiGX zcCtsXR(tk4efE6Wz(|J7D9(PR&x`l6_k)#i1a9A8B2yxZ1^V7z+9x=MpH2tUXV(ih z2MkJLBLjIbBx^_+&c0a#_3dr@_)xy!w%^`oioL3TDjfZQLnJh56Fk=V@*Ajzl$PLS z*WtiTJ?xd*^M(G&RQR>87sdR|6KRpBy*o+#B1WJJz9hW1oMc!yfqOOP7FlF|sHPQD zxob{zZ0(uoECndFr+Hng0p`<nyJ>t}UR*-LZ6llw8WEA4i!0e~qx*MktdO#DT*!2L zn?ID>&5{d;vt%v5sK#YduV_(=2Y2Xxy((zU2+yve3I;-UM?U9Ko16`oGa@LnxO*MN z<l8p?GiAIP#IZ4Fy#JvacyIl}O^en#P)&C%G0}5iD;5@>O6#|zEqxy2$G1LG#hy_$ zz<WXngsfYQ7_sKb^NWj(zz>GY$$ZL}-m#|p^89qT(n9b?NDj#Ll2B8J9v)hDN8m{~ zR+X={bai#1p`+Vh?v6Qph>!-8V}tzX@4(Xz5cAR=wFEA|uzhD`4?vPg3gi@YY&3hv zTbhrmyKRAb)@!8jw036A;M?YniSqvx!TETT(b6Pjn<)Jc;Z3?s`9)Ur60^se0iKOZ zx+z^0xY(W)^P8229$i3UH_jugkMl0n+U(4kq~|ngrD{k(^U28}3keA|-Yk2(>Fnu= zj*Alpz)oLZ9{^~OFfc?UB|idYY}T@)1=+>fSzcAub$DQlanhh^uD9=s=vRP%&7o?y zEfk4R(0S#6@!3+XGqy>rShnhHvOSN(IO;#2Ge!KRs+CbEvdAA>4H9{F7gY=&?qq3) z#+Jh)7z0cSwYZt*OC&<ZF}XYmyM|GXx+#Nyx555h|FqrRiwha@qF_CiYXhgBox~R1 z-7O6C`e|8hrfpg@b#!FByq<iQeap(ew70jHEgS^|1*H*_aB^|kai+54BGflD>>Xa3 zi#<cO&Px51{t#vRrZ%ZTV92+WHbqd<^vjD)2Y!Dt9%SN{SDaBUz!O#O+A8)My>DX( z2_-IsNzYPA75+J|Q+Sqpb(+FC@_rp7bZuJhy5bD{H270d72jgRU)W0~GB=1)6WPYV zJe%m@iztmiBE&#h_Z*=DIeo6+*A5sdM!)N8=czP!`ZWwaaU|DvJvges_pMqE6?cb+ zG(hySz`+r~mqHFA7(gI^x!PrHc1%n{gpD@!_$G;KQOCyeB=cWoXk5f`8gGMVru@X# z#(09sw~;qGuUZ>PQ=zKo@wL0tl!j&?rCZVBjNM9X)}phn5<+>={_Dg*%TGuxnf@|j zMQn-dTo+yXl~DA1jvVa3hGp1zA8=)irzqE@pPWOk_)wu{3NKZ`F3)~Tk>vA*Rfv#< zQ!}11Df}pv`Q}H+G=9byxJv)5gRoZ9<3pYc69o@)DLgIa8)R}?Jgp?`N!mfoHeT!c z&W#s;UPfx#?<cgW-Sj-OJ7e5{*zR(Plf0_Gop17B^SC}-+y7fi#=+q>yFqmH3p>-b zk&hJz<5clqbh_b(J(PId%+`1XD{jyJ5Omr^ln>MfOQcFhDOH{QstgS3rSGBpPARFW z4KB8a>VwGC0<2d*Rfc2Ifui90{U_f7k<M~G!p{B4fBy<LJTu067RKzR-=km~njH5E zf+Qzs2xG&nvGXQQdgF>XZ%(14L@abE_jC^=y~pEb!28GIm(x?F)dK7F$qFE@-@ZX5 zmsTXjebXIy*JAr7|0t-@p8O`V3bm-C^bEL_O@#m-KP>IuD7*xMf-;in?oLrReKVFM zuKKbCG$OzEM`P??j_5oyZ$g&Cs=h(zwaDt|jND%x+^zZ}4zhNs+`-v)S`r6Id|t*& zf7@(SgY1rsiY+ObU!DAKPYm>`nQG~bwvt@(F@=Z4!RV38#OPIGJ}g{iNnn(i)oQ*I zz<l(g=TtN_o4_nYnPn!xc6QxEs*1&KlF+qqu}@{<u$}~82hS!eTi{geqP5-J@JD+l zW?&ZsYi5p18{=e+)9K2R5Kw3en~*97ga-6mAP#tUJYFy;8cxpHdQuwht={iOfpW?2 z_UmKca4MHtgEK8cu#>%@Q!c7&yCv}?(vS8vs8%XnzqugML7;~G6Y=<8l!x|we_XWE zlQt6(V;H?AbHu~8%&B_(jy9|HVsD970|gDu;mrXEJB2$b*m@m!hX(M@wXkWEV%!wq zw?E1btaB}07P1(rrQ}f6la6Wc8iU0;cN~|;EjC++qqjCvQL}2%;Z<Df<?0zoNI>gA zof$IeOF&Df@mz(+9+DYg3fTR&_~iN<tO>B%EDr*Y9FXMB+#z^xTD_4CDBCt`M=JU- zoopre2bhxa10LlKaHjft!lIzL<87njhKH!bnhc1Xi+Zc{l#;clOxQw=h4KZ<u!s=d z<9xyGaLM-Lt_t?l)Ktr*`q)UG`yb=u<AkL?o4-XA+3MYPv!fZ|0;sQy<m>pQ>r+Kj z3#sZqFmn(N1|2r&@<q(BIsjS5IgJcD#j^q&y6p>x3iyitT1r#&$MSadrm#$_(_qU2 z+^|12HE}m9J~~09@R2)!6t)J^DtMQffDNZlWa55z6<zuEmf@7C626=fsNT04Xavou zm1iuaRN!5RkTR@v!YY7&;CbFh4pQF0{r!EtNNO4y!|5Wm!s(<>1*+2QxX#e{baqk6 z)&|)KQ(2a<oe=w4W9yz*)mD!NJ9bhAEl=If`W=4%?E1?V-lzp3(6bC*l2s&pXXrH- zD`baXG^s&Whu##~9QiKPs$`6#uM|X${RW^vn5H2oavB-~5qMm;;GmmYTPuHU&d(RE zwoSmxISs1!S8n-JA#qxXLY|JLX8`>6$Y>s5mgv@Eg+sQ65MGhGYZX@0w2rZ@O`z_X zkeKvM+0VrxbuhPs6FCCK|JPKM;>4RpV6C8HQbVW?)=S>lvXr6M0UzihVH?qL+rCTt z^>Q^uC8ct&2j}ThofA2g{_p1mki^uIgoM!hG?<l(q^mkgbUbG0o~(1iNkZ-_st|;$ zIq%8cc3e5g_cfs5E0D2J!rp1J5T=qED9C=hdH3OEPOG!2)H_TeSm7eG9^Lz9?d@}! zd9z9f=1}gEUwg)o-wQcYety0#$mA^NtNLhA`@eH9KK;v0FbWV~eslb)tN{!Y)L|UK z<>Himy7iw6QVr1pI^F_8LJ$OAm&gY*2hr*d=bK{l^YcG`{J^}%gh(K;+9-BE;9)`J z`oK$NSHU>lUFeEa&SM+QwL~{NN5ei%mw$x*ff}};?Rd2O9|J2tO`616o=n8~5nBzD zEa%byl*AiRz~pn!N*{Mc1F$K(hiKhJ1K~XD#(86$A@Za+%P2*CasLX|!dSm8cdSbF z27UJv6*cu-m09#$$VlGz2Vj<}1Ld6v{2o#3kn3O)jC1w;Pdfn2tpjYO^KM%WrpR62 z-6FZdCYV&v#(k3-ZttgAIc_|JF)}g&C$H-lYGOw)B2a3?RWd;Dp=dN}v(0I)`_MSE zs&9}LD#XA_7pmac=OZhil(+ir?`j7b-x!1&DbN%t%aS@ZZwf8VnWJ5>yPx;5()H52 zD=R6sw2Qa!TphxDG`@ISftu-R+Vv60DatRY5bl7Jt7X8`p$j@kXZLFpn{+AJ4~r-# zYiP$vMY5rx&RG<clnffoDXn<>7s}q=Ja2&Er-$#?Rv94Oz3$u98kNS2k!Y}uwfxRI z6`<qa`<!=QJzVBs26;ViPaS}hXu7n71k(b3i*d&nHaOj(#~?qyci>$yQe(C7QDfuw zYy$`pyZ_)fPT;p|fQUpM$&zRVcHB5POM2=UBGiKs6~9eewMwV<j_K`231?UKGwl<k zmi{)ZvE@j6vy%0aHxj##9ie#c^PV7r>y$AH_3uZAn&ECr!zwuAZZ^kfnph7;LjpPr zaP(fi7Z1|r>MrcB8=@{FcrvbKgJoAHN%auKhN4+y+e67Bz*Rzx1HP+HsAJ*1*01#R zl{byc7ewUbJ&>AV8iF*C=x_Gx^9y%~b>U9EwY8U%AxpQEXfE@|gTc=W<trm1DEKQi z)oVL8G108X%)6`Pd@Y!&D>xY2G{of&Xw=TN`0zHkoUnQpKRw(y4A9o*<JWStehCoJ z`8f|EbOeMNoPUGP45cO^m!zH}MRpKH$1y*xZ;-VM|8)TZpIETRu{~m;5=+BslRE}m zc-ipT&R-}A=Fp%E&}|;+XF2)eqlkh?mp-htF#*+B)3Il0ZjU=+kYY<g@pr@4DT@@5 z`(4O99iRehJ}s{~2Ct?<ww*ci)%p&~x@-)T<GXU&G@gNU)|}mO_g6$5LZ6RaD5TOS zA#kL%>IBAX-$lLyR;OXzc;n14E;^+QtrVX>iN2Xk`B=4%4x`~a)EWnZt;N)rW3W@U z^BcsQsN`e~P$0&Y+pO?hA1y%n4jB`3awhfmit-Bxz`((AU6{DK-X{9oG`l?iy?OeD zbg)tYEUTE=g9r)@1EEfHrIKfBZPHb2GM${9KzHqT8qcY4Auqb%0zj68{u<d>_$w^$ zE$_Ch>^|4N>xAU<`~}(<?P$ZBc#bf;j(n99PlX50yslT<KRP)1OPUt?WTsEXyq0C8 zXHFYvp&&mYAh+?o3NczIa3^WZSg)IgKOc=Jb2R{mOOud?Y1=Y$-sp4bwro)g4_wW6 zX~lMD+Ww)<E(u9=vt#R<aU?h@-4+jTg98F=7p!W}dWj=lvmVW{PHn;AP;i$@NKf|x z{>zsK@V$L~A&~mtbw5|^jA*NWr(2x*&3SQgq4B<eJP8fqsS?X2?iovy4g;7UGPAO} zGnZ#l1Ox}C6Z71oetr)VebIAEWZnqBy260~HpL8ghEtR3IS$&u3#0D&{y-@lMow2P zES!xdg`_x0o1Whv`KNBeWKvztGBDPVQ!H)nJe3U#k6e%CQu*kXDkYb|OcWP>quIyy zT$>7{<tK9r<>~ofH~1vYRLvljt&+U^f2yr`*}lEol7>}(c=3T<%;bNgVupqYjJFqo z0~q(y<wVjEE~G#Z85W<nw>Q(Dm+(O#+&Rjt!7jtT8;AtFmsvqrW)9bR6(-hl`UFA& zr$#P;xp;YDK`!&wnaZnMN^XHc9WYYs3`{;~0!|wG2h+tJ`<IqzTrS6(^A@FD#tJSQ zE!@N14e)gJMNfy9I5gQffMyMbEc%lji_{Q4!_$ztf*U+NYz@}KXJZ^(>Ol9C+v|e# z^~;V)JvdeGL{G5P5AO^FXiRR{w(@H?Ki|5<T6_bP-HwH37`#KUjd|OuCzMo%7>Ysp zE^V7ZO@dYH9Vq2&N50<J0(s|O2??e(9RBh}>s4~$4ZL*R0YH`?-@VqiO6Thc-iXyU z5VBU6oD2lM;P{@WeCYJrmPzo{)zwKTWd{DbZbgr`53oOlq@4nNBW2)Q-rw8aJ?smG z$%Oq|eKM$)3cKB^<gUzfZ7t{3X7Cp&Nf2-}J@uW*&(Rj5$ZbJ29!vW)wIsX8XB|a< zA>7nZxM+*isza4h<%(4A4$65(w{ycIRLx%R)xW@W$VGf?)uT66fOm6i>j;W!uqG@1 zprj!JiojFWDNnajcA`U1`u<c%)^qkBeo#C@%&XXSBJfP*2D041ilQS;Lgv-e4V_NY zw156jF&1v?r!!W+qJQM4Ttu|?<R#WtGfnfOPSL^+6IBctjVp^|T_)4k!q9a)Tak57 zb3=-?+L#trptW=n)z^4+C*gFYSZv}0twT20-j#*$aYJx<<+e`kls~-w%Vd!Ctws)N z@k;ozClp?Lo`kOrV34I|n9}(&>CxRZvD%r8alTkg(=?xj+t`A&U=)1(l849tj6+9T zrvJ$S-`+s7PcyZrvvK~fp0BSa@qlJ4q2ka${C{J*#(HCV0-wjTXpnXqnfH)Fw&mEJ zqp!jVs&6W?5s~}=E)PrFa5W3P4c6W*It}~j2OP3fw%aSO#zvq|w5Dia(UKt#O7c19 z6)G|^t=)g4{9*!s=`L<L836f-gHue33zG0><$@unvRb9n2q-t3raJ`uGV}znMn#@{ zcF%4<^W_Wgn~0=xTUAv|wq;l1n?(mi;6TS_7!L0LmpjDLs0M2soS&BtCHctkf9Mp= z*q1}V`2yxeOq(yPn9dEU3)T%o)D}X5f?v$WNziH4FZc0W7SE2r`^G0AAmCA8Ky!v{ z_Qx-mw-e>!TS=gA48*vcl24ZCHKpw*1M?DOPN)o3)Q%udFs50U4kAk{jd#kucao!U z2mYpO^#M8}@({LyGR1m4E^phWQ+1Zstx!VN^0#L2QnBBoJ$c&XTi1-~E*Qk9?wz6J zo+wg@Nd&GBp0r>YiU}M!_#}*YSNKHSuW!I#j$Re%-X1jlv$i>}lymzC&eUeJ@nVp= zR02x=1$%zROmc;Bj~(#gdF{Oc_2(~^UwzLudK{LVX3DLXIJI_;j!2_GUkX^1LL>4< zcR34;{EdhFEIqXNn-!QebkCcs>Ger6Z<F5Ry1V08rziILjfr72zQ~EO+%(^x`EJbD z*WYy?EWlLE-9Dxq!Zq`d(M4g{=nR8?kdRxYK(v)#YoEi9vIgpMHD)~D+5@dcoZ}Vi zSnaXZ%Ttq0v{S=>q3MRREWt9`PE$%~XlSG3jE1|m45zLjoTJVwM<oOTe<6?-v=9O} zke=3&Fl}mJk2&>M1t+QJ^&~zz4}6DfcLfe*j?^LZqdbqn1@kN$?Nv&0R3$cRAUAj2 zU3v$;xUP|Ml3os4WhMP$em)_n?NYk^p9a}x(V3(NlH!4D{2~QK_5N@xV%bk%$KDhQ zCKU7a+!vgkK@b-YN*DJ}^Iz$0@a!8UppQMS44!Yt2zmb5e7e5)KbF2as><j4nh=mi zKsw}ubW68@AR!>#-5`1CROwc_Q|eM8-JMEzT)MkE-r@WHSc^YcD&A+FnK|d|v-jEJ z?NZ%R4)>3w^|lAJpd<9LHa6&zwLy>7SloZd71cFydURq`@{1-rKq9sRMEUg)3YZ+a zTxEZBFoY)<-u+T@h?iiWQk=Y-qHPz23K3#9PdKAKD($?b8x+~@G=F1kVp4xGrK448 zK4_TOZ!O~+fsZ8t*5m0cEiDbyG*YFG&+pQCM_J;O2o87+9Rs67XlDplX<m*_$sDq5 zGHQkwy1u~Yj^}nD7`uJgVoCOF&1pkTSK46&EHF(iES@vpa$eLbhU0ou(&#j-kthd| z_jQs^WN<m+!h~3@&7Q0r52|9fL#cucP{FIWoPGK1R185N-_woD==-&<nP1TLik#$A z;y4f^+|DD+;s;vT>3M!D1b(hB|I7}lHVEj#qzlGbaHCXt9Sa+NdVWM%yDd63Ra5@H zqMA6XPSnde$=bp@7uD*60o+lF6apx)8nqX0u(VS<2Q!3IUo)v6Ki(Z>KIJ{M#lAb4 zZGCog2M!bl>9Mhu1jqDeTi(DIv+kf~9^<bGaF9KnXF&lzaqVK|Dk>r_^b=fu;n>)d zwtCgiB5>dz2mB&_04K4Ai=fZ=AdZw6aR<mrOE1UBu^Iu*H898Xs46Rnz}EO5f@YL( z9J?K^CWM8$LKT4IL2$`ouZj!$(_pMKFl{0$vRWT4W;HhIc?nhlkA$m>*DeIDWGfum zfzI^GY%HWw7~%<`4*0Er3R_`kR5kjT$_@JJy#g;tNp(v`>Xa^dU<esyPNzn(j-s(! zHhK~08huzm4DS2<UO^HEazi+*RRW9~&pCPy6u>)@@%4SQ1r{7S@Otka30ZafY-?db zFuPA*Hoz<H)2g-AoD2-xJ7+MNTi#Yx8<akfX;mW6M<3W7Iu8cd03R?EssM(un>T+d zD}(W|Y8RZ)2@Sj}rkm0I9c^MFA8fyqga^I7e)sc{+}P*YbPu;ff?I=38UMOhJ{%l` ze^oE^8%zSrXw<54rE}mHC{T*eK9z=-I0SN#@D42I<jWna28OS?njDR@!uv70osM&e zrJRy`%2w5YF!}HXTx8L=I`kaqPd}zb#KFVhwdoo*(w!~%-W@DB_L2vM1OZDAb>Zd= zU@p3U5%UYAVTNfq#{s~PBy$Jz1f2R5PYDcyvbf~relW?Q4~TaG)d4PGZaJKRN8Yg% zcQ~Xb!~sq^?DLik#vg{a9|J4?V~Q7D`u(HidK<p{3~3Z6<X4d9)7>J=a<rKO$psTy zzM!Dai>LA~t2)c=yc$xV(DVzIiKUeU_PdhX)^T0Vzk0=JKqV&l?FOtoHhe9-%49_A z`IwwmRpApJw<0n9jR*aN-8D)_;UlKc%@K>-^+5t+(3Z_Pt?HBOU-*I6Co44*6kM!C zeNP4umU1aJiF<xI1n%K|Y0{>XNNAGz1rs2x4Cj<OUSxMlSIz|<_JWb1FZGU2_-EDj zF?vV9c~)7ee^18x=9|>-Dlfr12_es#={T7)2e&(b@&J2Npdp<inEh7JDjSWbZPzVO zfKJGDt{*XXzw3JBuy7J-SXFS=+R$?BJ<xf5v2?IHyrB+o2R2;O-w<!LX*tj-Z!ND0 z!9!vrVsEXlcOiy<qY?JQni1#Y<Q)GInOo35?CC)}u`X*VFRd@k?GK#ufLqTB$i|x7 zmw#pdC;s<}R!AsqdD*a`VaOcs*57h_qu~Q-FxmH9f+G7vY|Wy?9!Y8xR+>_J2Q60; z10B9(Fqq^OOc9|<8+>{Nt}5VB9NIZ44@Q=6eDFc%wk7A&`(9IKM=~c^WV0tUe&F#~ z_*TCjf^_om^7~jmPrm30$+F1uOY}eE;Er__=L+wMcmsw+pM-KeB!pEnQt|Ymsqr0( zMf&-zI43UG7NmO%!=z&RGYH_n*btPIx{jF|AB0(etQ1?L@1@$)!)JU+1~#@QGcYy{ zQ^J7d1O-e*`2ifLJPq}R!_(5p1b-mBg&XzJ=P-CYO{7E~yU_Nk>mTk+|2wY2%`Hq8 zH2%+){W;e9o!}oD2z5KWs>m)BchOXHb>#`hrgWXR{$a?4M(SVyP0vi<&0h?LU8?^# zC+@cDL5){2kDulvpcEN`v6lUs^LoF8xx;_5*R0x2u*i0A+1Z5jqfN?;mik{Xk5x8x zuF%bSY{Pj4|2yl}@euF~((AOyT<WN-WubYuzF_|dhyjo8Fz=R{!&r#;Yq`|98Rs0_ z)SPA9?<tgvp6!~#hq)~S0l(XDu$Bq1MFlt3i;G-oB~z#=(B_ebC+qk&!ORjE!lU-e zYA><tcW!UNn3$L{K`_TTE)<W>vqkG?QdA&?MhhrITJY%iJkrHp{)~>w5tBbX`}|Kq zab&}2EAn&Rx6RXpkdg1T0<wEDUvRuxU_<2!{4Dd={fQyJKNl+NYQAJpT8ZPXKH2bC z>(}E8Jt2`x^!=>ce%pcOnpU=9X^Y2QdSD@&>p5`S;pBU52OoVk&bA6DnqWfy^<>Y3 zMH7B=U4Y>y-M6-Su&tNDK&c44kdh037}{m<1U-)dNit23DP8M$ZOJu{b~L*B{o~&> z-Pbm2w{KIY88g!@2}_D0N+Y{Eyo+NB?Lhu-C$Ibz37nJF!@|R#I2>2IkdTvTPu?l> zxnocI%-l&F4Gja^q0~mU(<b7SIr)Z+X1v=mjSrySdp64i4mTfEVjyhVU0NRk1S$7{ zyx(ZO?`O(1PizIC8GNcZD?poFYPT%Ghnm(hG`ZisGtcw5B=$QPVX)I{l%XrW-5Sm$ z%LDatrd{22+LiwSPm4=G{uH@DcgsK!dJli#o0F!u4v9El1oixZ=xWQIc;$J7NY5Ey zh$hD-NGt#H*eJL#^bT<8DkTBKHY!THyLUkk)!6n0@v-eT!RHZ1&86kj9h_0OT|Lkp zN-E6O(l<6<y$5QwJ5y|wr(W@BrX|Ujuh2hTIcGe(1dV1cO@Og(!fs?JtsaQaUiRU& zVj#2J-g6`h0pU~Vw>zWT@I{GY5W(orxb-N%mh08<;JUHeWXjUx<X5LWMsG)X?#oUl zK4WNbsn*tv&&~P?Ez~Z~WEaRFo}QP9pNa^0x8EsIi9OFim+F<$Kdvt7cbpk2?w?z6 zPRGmG*mn8@=DqOV-}$JQc%&XR)yMX@J{{x`SOue!7%!B*Z^oNaZM^n%<h7q{C>+l= ztyXDk=V@<+>UuZUr4|gNi?9G&b;wCA8XXp<LTg42RV%=oo0Tmp-|7SVgr-hoMdZEN z8xLS8b;Xtp^<tO^x?IT|@G8dG`#+PC^2EFYvx!2bpg3Jy2j>hGR3;JTE_Q6Jwhc!f zl17-GEX{4KW!J0x=vCbBr{*X+it1+zEqG*5JJa#RvZgm0%WU(}N>dY?+>I?~Qwq5M ziP!s>Z}J}%^nN(rwa{RvJGy`@wmRJhDit)M6e+kh)g(8~bv8LHzr7mDYy&Nz@m>cu zPEO?&%dhMF=O4k66hlsQ$s^F!l8Cc^ye|7e0L9_$vV)GI0y+^M`S&%fcB9}d7`A;; zHSE|pGF&irlAN9fbV(^GDU}Qio>YPM^dA6>9t4JEn}A#0BJebh$><+G#K|aH5S~8! z{p)dtJ>oRHnW(-Wsdi+*$2RrjicIrDt9w}f=Q7a36uaXu%;vQ>(a>T6_C(0|;=tHb zOV|Yic&CmCi=E}aCADQWwXi}YdIjgU0<P|w%(4y9#_(sq-7o^co?1rvTM#><*f(q- z!oTZ6+6oqB^A}y(I0K2{v-5%Hnt03k>Bnc*l2Qd>LcXZJ;JHX)&TPBl^wG){C57qW zuAC<KXln<Ng%pF(5owW0KBP&aF1C9Q_JpOf5De$&`cl0OwF<S?&~l$Zv#5L%C6cu) zL_=CVnE}+Kg8;pG2mIazF*y{B`QVTHPEmoF{#@2K3LV=qcu$vWXvCV*+Ec76m=tfX z*y6Dl810>w>tt!IgJ$?2?;EGVJzkJNp1eo3ait)wDX;>DRr7)u`taDy83VwY(Nh1( z8-KY{nC_FZ(6(Gj;86$2`b*fD>7Lf8zliEV6pSHGszgh=TsPl26zv2%fT<mu_D(*C z>-J48=@#}np6$)2QOR0DjaOaCkNDL8b+Qr}KszMHW){1*3}!k2(fW<s$}jYe4Da~! z&w)zqXa%KJ=u@Gt@OgUQ!Q~}I%EM}?lDoY5Rvx&_MS+8jZPw!N_n&_vrqs)9xWq#8 zf{$BUplf8Zr%^V=5^eMbAb-#=lm9c2{a+&kU=tMK&p97Oi#Lx>t5fyI9QZd(OmY`9 zi#?For(?$Yy&5Yt#k~jL5>L<OG9&HgRU@_UO}5)Iagq}84SL@NGw1)M58JK)z8;~f zM1#xi4Eik}UqhPE&B-hK6c4Oa1=Z8Fi$*qg1EuB3;j%ZJB4~*?|42QIu!9Hb7}ZKA z!IYn?#l>!08(tgkX?y}HowF;ooG2gL-R?CH{p(;S2n4Z!I4tmoARPK1px-Vvs84Cy zBXFld)w12P5{8gHr}q7R?rMn+WgtNrddZ>)I(csy7(!=eX0q81B|s-lg~IL0;C$xT zo*ufK;<v*_VJBO4lKhHi{Zfq5yGWum<HamKK?H@P7{7{xhW_pmq^7teAr`ZAk=_11 z@K_}BJET(`0Ad2yLES&NIjqMx;Q7c(#?*_QVJj*N<9Ns$*#Dw`W_pJT8c48MSy}l! zB}WOG%B)&QuNbn2<-E+&Jm6F0xd#X6IY|VbYzs`G?dIq9&%SYSy#~N9PFT@*C?a~b zwU&7We2;dw=tujreg3Ro(C7~5)^Xl!<@(94#2OWsdDU^7t>;M&(u+5t*k34DIR-i@ zt;-MgtrfWj*&O(QX|up(i}7?cmMrAdO$L&Zz{X9}O7~CimM@7g2&tC6?2q<&&$o9` zsXY!k|FR~P|1L`|#5q7aZUu*S!!UI7WbrMBrcq6hQyQ+#3c{qYFTNyyt6|?D03Mbm zh8aV7e{X9g4lBJd#qv<21i6op?4i%jdsN^tNaY6O`M<)ON~RL7`=XOAD(hp?m<ed@ zfEtxz81Zm@>)As6;BIVW<UKIPJvcZ3NG$YJ09YS8UM)C+mC+^C@nir<dej!rS!*Nf zq|2g*5?X)m!FoJ@Q9OA*H>WB$fx*^i7wV<kC08sBUZwlCT?o%4pwTP<X{z6$fW{|3 z``JLXK=5bEngwMe1CrEuH;ZFdfMMEfxORw(kec%uHa7&kCjT1LQj%Uak;7OM?l)Ml zyw`%z1@si<qZ*fQdoC5Uk?ENPbq_smsMSsLa7j1s(hCxM=I9;z9$CMA`tg0&pSoaN z#$pR8SQC3|bF&OgkU2}o<L%Fqj+THMVR|#>dm;4f)aa)8!4Y<hG?aG!VR%}FN)_1{ zOsoXwj2mPYIvO0+R^zmD^YifZjEu^{kB8wxd;A<YV4panZV6-pe|XV>m&Q(Cd4f;z zNq^-0c^As&xKvEZdDQ<@QBfBIx-cJYQd#RZ=eGjin$dlzq&Mk8ntrfw8~rLwe!Ir2 zq1SZ>>^%XRc;Pj-M5@3A8sAF>oYB#T%_$Le=w9zIK7e6CUiymyB{l|v-kvjOSRZUG zc=ymRtoE(A#&f{nQQc!%A(N`042rzGyoY9T)cYY7ueXaphkEo|^583Q#{w2^-&+3r z54?JPf#rHHU3u|86xr{SPexOEcYods;oMyvZKb;{@}C{8^-g+WJ$GWKwpIa5<IJGs zCBora=l3g}6wmfFC?|%)2rb+9THa=N+juedX)Uu6ZP?25GPpFDwa(Ss_#eOcN)SUX zTV4L*XuryQkiqv0x9NX0V0yv#gU-9nSzENqG2H9r45m;G$IrlDK88y8>r-p9V01LJ zi9+<To>NO&x~~UUT?T<Z>phMcI)PS|wPar5z3%RJ?F0Eq0vqtvnjmXCsh+;4KC0Y} zO!xuk6-GD}^Pi)>m;i2ODpFL`w{Oqx)@V7XVoeYKrL*uKP21?t^e=3Qj3oC9UwI7i zPr3>kBvlP=pTW(RnW`=KY{Pl4p^al$*$X*Xnv)*=nwXeaYT%|?;XduZ!rDqDn+Un= zaJndoM5()5Q*#juU@FFuDt>ft2$q0Y$My^|t7sROltk1+ws_o!CUt{%OpsGJXoCOE zt-5faJ3vYTmo9&klpVkl^oU=%KdCeQ0hxGU^sL99!qH)og<bb}d2&ZBnBUW%MZf9W zrAx8_#&jK9cPD2*3R2%9NNlt8bRYXBOt?m=vwl;k)tEGJ(3^J?KY`~CLM`+P&_$2w z(SJH2jnX19Imn}|J#Ez<3!Vf5HsJ8XDPI21=w>$}ea9r86729p(xZwX+l$xn8tgV} z@aDGfe1jLZ*#tP%$s&*`N5P2ddJ~N2zx0z)1vFrv9TYS*XO?erKSm484bSE{hMrIq z2XWg^8>!sta^=}4b(|$?){96%S*zb_e#0m9y}1p8VLicOx+5zSxo=Vipw?U{8>;rC zBjFiJ2gD29LDzjfGNVU=H?Z*{AHhfG1H&!4gSKOebob){5e2$WnT*1{KAGk`np#Ci z(kEI&X}ksQeiM=#Ru5W*NOqy9X;<a!!*!P7at{{TFUgqOa#<B*+<$uSHosSj)0?<R zbY86Ma{t1My>)$L*Sjgj`A+d2E}y$Kx&kD>0K;$?ua@1zkS#i*6|$vZK9trEx}4;X z-mnH2)<{9&ZV0db=7GR^MTMARQe$OqpoN#Vj3wQQgi2X-#Yp?y>E3<!-{i*YoBM>N zVLw^>CTJf0@#=-djpI^JdQ9sulWPMItmNME%Bu6oDlMP<eApRnzwr)^=cgm3ai6|j z2sp^7UZw7I$S#Z<{`Em81T*XEw}U~iVW5uQ_6B5kf<abR`=4T3LQ0Bfs2m=iKJ_>M ztGa~^IsxWiWyz^@qzx>?@0xN4MmWroM1~e36%Psi=G^t9X58x*H#Mapp%WZW>DY5? zTNT=0>`t;qirQ*Y2Kx<zcV_n_I5g+p#-#Hf?i_>A{P=*s9`lF(Zb`(%0LD*fSyG<E zY)eCszcu_9bAJXHH~D7%IM27~3-OknShu6-RHiewlNeV!4CAcHzb4-yA?}IBZQy&j z1us`$uQK?Iki<>i&#B5ohq8QkboBF%rU80I+d7;lCHmD1hGWa7?z|>uy4u4acu^ja zhGW{BF0bg71KFszZsBG<U8Ye_hpw9o96cs(W9eq=2wb$x6LAn8LcR$_-^&TKUclf@ z=7*U3f7s3^6LgK>wn;1g=Tx!7ZDwra-*fuZm@0V{X)!o#Z+I13TNht^;<U+{7|ks% zwiI<%yD0W)$1=Owdu@bMb!8e>`a<?DsD2*%-Pt^O&@EHb@c~xwuz|OdclO*+qe6nr z!4%a(m2#eXct<H>gpXU4{Jyy5=QUmj@lP+Vu;rZ`0yqx7mwaj*JJSL5^8W_JbI@PA zepvSS9UlLIP~#`&`hBG1&WjG4Us)+vNw|CyykMu%V(&{T7+J|*L_gTUWLSkPzKHrN zc?4#kd3Y92KJV06p=lODQPIru*2k1;n@ATA7$CXjN=3f&Zn5gT<w{<Q!NF^f2<?B{ z^&zI=Sg_N?uV#;(lh)mwyXWU;^aUalqc3rRW|EV?2-Q@^kpH$l(aRn+kkdz=ISt31 z9DA?nMOLEAYE@kk@#@XF+bH`a2P+7qQ;y_H)ODh}X<%-DDXH{=%%d38I}&9c34E#` zt;cf1+C6ZNr}r~fTFy`)$Pk@F79Fwe8>}FZ`p|IMt){I#5JetkPs{gXbxbB;`o&_c z>Q`laGnVC_F+8XouRbXfw;j^i7s(a6ZhRlH4E#0N8`-@0@AcPP6AytK;y1#=>B*cH zBv>SHHFmH8&;=J}XA-V+Fx$v3Z0g7}b$1KYIX8I!B>i%=Wr$!EaRY4*li++T(C^S} zqh;tD9+#@B8pJ{yIbJQYc8hP#h|cp3(T<KoXn*Db8lqo0)2hk#?wg`UbxjAH@<s3J zzYrz->%A`1#OSN)MI$skffs$GIz+B&0Uf1|Wd^Ke2CW&D7Q+H}r*dH09qIHJ0$&LP zlq1i7<8+1cg^OohEHic#hob?e)Zc;%Sht1K@0$SXtM7B6wmF<>Fg-K)x-7xmC8#*P z++bkA%$oW=wK)F6;hh0n#c3mjx|9?nJVfjOqZk3P<MrXL=}LUp8;T?IJdLlmThhY< zLp>%ptds_t`t6k3^iOw(Qd^Duq_d105l3ffa(&1|vz63TEG5Vb9+LK+jmN@-rb?Q( zZ68)U24@F$m|_LBcHVjsX{Z0~z^90+ZP2AD2Q&I2A~14;`(0^7X}|dsGK8Iyv%^TY zpfJ+b?UoalyOs2McV1i!qMhY0mpplMLdc4AqOD+t>HgBueYd<y0*g-1Xzrm~qRU$W z=70h~cvn@`Z?~XT4{!`bI4{2GJ|703Kdkm$T{ABG-P7J4Q3*TGfVi~=Q#lRtiK-hD zUJhchlQK&qxo@+j|NL50OnvGqB&znPq))_%-T~%zi;;&cAXjVJIXbS;dKs!TRJzMA z`)JpH9``NcaB}w8@i9LgDc=RPjknQKSzIu%x3NAk8u$tuINnyBWmc2?(d&<vSza~^ z%V|RJ-W-HX9R@Ewth2Dts*?6Y`WPHUT8%7g`3em7BG&CHDE=n1$J~GE3c@@z2;nxH zi!ZZPJX4RU;_P5%XH;GZwNuxZ#}GfT-bkTGcl7lntc3jT=#vi2bg4P6T~vQuoF5n# z&><qp#vxc<D)|^T?9{N|#9$&^VcFcdRh!AKo-I(E)iq&lh~DbP`lGc(1s^6D!0Udv z5Xkt4-1`XzUYZ2zLJ>9F+VC0*iYiUs<~h1X9cx4Uz1dt{85NqMYvtHb<k6pl`C8zx zaX65T%XeJ?_jEy!gfE$laNkL|l_B(-5OPS=d9nl>0vA9eYfIz;JlB}?KNX$$e{q?a z!)g4GBu)z~B&42G-n5k+H53iTKkFbT*rwG3?+pa1o!eT)x}sz$gA4-m(MHClC9UD$ zYaM$g>|ULEo`DXU>_vm0+hADPg8s^;rjO)`L8$0It1oeRlP-T3(>4BS#U38A!7}%b zZ|;IGjl`8T3VInB%a=t{v6B9nSwZYX?i4Z|cdMf@TdS0mFDp3BbOmi>a!*Ub5d0{P z7NDJo8kZ}SqAg?fs3<=e$V+u`4d+ikNTmC}&e*l18H+^v1&H{7_^1m6_0o47qRolZ zw_wXw!R!nWn^4`GIklZNUyiFFvkRNS={TV$Ra>=Y+cHVv6+H+$Xx4lo4ku)DWr}Vm z21T6E#e@n4vDe)1mZr4&`C~^mi$imdOH|{zK(3d_i58iL;D=1E!$!?5!@!|-_CNX1 zkJaP~>T~_2U)Nr{qOrbjM-se=cgP=5(Bf9*_wXV9_5RoEoD#HG>LKXr+e9zYCGZ81 z#JodRr}S#yS9LC1zlYe_<m_9iHX53L`ebfm*D}t_JmyNa{>XIaAem^HxMfn?xzyrf zmsjc|jT5aqSvz``c_`FXGzMXwfdtH#Th5g4{w%&d?X|DrsxM{ivR>geK|bBD_K#2$ zfdes9Qv)3gFznWvKHUw(c0pH4T7=0)q-q3%XHDZ@({(ufN&^fKbjPdSU71q}i6Nj+ zf*ZI6tXw38(EWtQne-t+c<H<Y$b;N&iE?$2?<@AW+W^`32FNdF8(fMthTM*q#X$1Y zyWSrwPbo-6`yE6ZcAMN2YZ-Z@@0C1<SK)0d#srcEvPUEcTt90xjDjoGKC3~38=6S= zw?k*e&;qpZOVE7D@tYnl=l2(zQ$cG1keIBd%gD2{vz@m`zKQtU0=9^>aSp%y=q?kF zW=cK(Ln?!pK%EVSACVVQt5#EgQ3cw-(Ak6r>CLIdnl7uJfR`KrdaLN_gw4nE{SRu@ z<i#7oSDGGXuPJT+!Y^-3HYN%E*6`2N!4CvGvc2Z;PHL??F!;3R*UG2erH1exXDsz= zNpKyltMik$p)c)G<QzL=U#XM80j9wE;n4&dD#?A~3oMa*dRYqgZo69S#VV`uL>U<w z;hfxDAK_90VpOvGla5M|Oo5veFh900AZ!LLX)B$<N8lOnHq4`i4+dITk+9^GYxmgs z1M_@ajn}0^5U9jPR1H^-%!f1dH13+9&@jl>kdp4b1Wi`Dpc_IKy)3NLx*8WBU-jy@ zcB%8xVmdIy>>H`K5hO}g>f0V-^5nfcLn+_yoZq{0e6v(<j7|(38Se6Qk~lbK9Snj! z8nMp05~CojWH)Em?U>&YzWPh%xy+~4WYU}V_KOEO+q#>qhbldgB4KG<ZTEe2i?WJi z8`ZwR)~G9p4V*17ou$HgTQv?LS->RW`7+bC+8qu{kFwZJL|3^!X|Ab}REo1bYJGYv zvB>mE;D>Df2J{01#Uic0l~IBZa{-!94ciM1E=-^meJ(Td*+eOtLb$9A@pVm1V|NNg z;f)G{i_T|V-G9Kle9ie?Gt91_p&<ndWdvWq;%5zrfB<>m2bg}Y%&<J#EHKW|l)kdY zI>r4iLg65ll1_*(<n?%2fltWURmGRRmaV8KAGt%~EqmEV4j(2rzovnmM@$XpP;<?z z9!c_Ddz7mAm79%uQY1~`oDR|#^L|e!@g?5dw>)@U6SqonfvF}N?>d+CM)g-}X-l|3 zBbw9gP?s~`)U#99h~nnMUE*4n#>LHXC-%*F=3^J2aPT>_-9<KN8=H1hQPGb1b2{qV zo}M)xwe0;|x1f8iJU*P8-!T;u78cgyMY6!|6H)JBR>?zgtkoJ^lh0GgU1?+}BZCSE zA3;$&Ga_+INyj1$W%j%U>MQ~^*c+lMQlunaJKuC;^dHl<674N~n#Z6Qq*Lk4EL(YM zjW50Iu-Ho95x|LxK>c#JhSJKv#O*gT@9}9NMQX@pWU>eRY!*;DUC_ICS~n}rcZyM} z?bafqWJx4>WX$sqq-)TI9p<X&>nmt$r)YV62SJ2m7P@Xg;;o5>hPHbcc6BhHxV~;G z6+t8>9dhG?9zoAo&W_J_E#d258<VN?`K3_4l{O4{FJ+P9A(2&2`{$1zIB9Wl0jry@ zdq8>$UNDJ*q5V*aJPL+eAuB5@EhBX2;UFj5<7~46V6M>-KFe+J0xr9z+ew)QuxRWW z(~33IpMSUH!y>;pw>Qz1C&lJ%M95p#y}OK+^E$pRd~B*QkIshtyLUzLGpLS*S_|fS zy8Oo~6o;3$H3Nb6m9}83pwMu69#*CY_X*A)3;xQ1rX(*N8cwY%VP<4H-OzlhZ!%hS z)^X9GLsxUv)MB1bxDQ0QugVQ1HD=ELvY96A#p88JbhpoA60e1bdIl1Pk6iNec~EOA z9LUM=Guakggj&B1;XzGH3$RBqe{Yp|lQTyX!e0`Nx2z7wuBQ-A0!O8h&r6{7eqz5& z2nT3>Z)s>Ig#pNpk@*GGEGmDCTH@;eI+TYL7SaQf+rQsNofrmHH8jN<<+Rk){wBRq z9{XfkT3Qig{9_{=RO;xNFyVw(_AL2r-5FR>HG>cKI#>n=!aWVWc5k<H?!RsIU>bW& zIl7Wys6(L_W|7>%k)<VE8z6V!O_>k026L1KPA)6hT15v&SKoPls4gv)9#a15CAe3N zg)4NepM>N~VQ==?3zE>j=yL^YNMpj=ALlxV)AIk{0{E%J$EMt_0CeIxaQ;nT$@RKA z#2^=l0~g!cV1PBX+aEmR|1fxI{|*mtbz+OI4+$Q<6<Mr)xNZ65+ak?zoRe?GspAe4 zoOppXJ39+lDQAPcOC!x*ZW$h%#GQ2HiA2!{n=8Lq?}x4<$P4w%WU)92UL4L;_)CTp zaJcSkN=1@L*4n{7B`anzF)$bb@y)Xa6xJA-IKn*;FNE?HfCE}r+nBmnz5*zEmMv5B zV#*KSg+I<D`UPoB?^{)cy`~`R8bhIdcUoG`r|LYF$Dg`_g@Ov(i_X{-uU_-fc$M8A zr^<KugT=YJT_WIh3-gcVc8!K0`ujh{f$nZsw3A7~UNy74o2IETnXzr{Po`s^mOn35 znDp|w?h~OCvYPh&pgP~19%j->c0x-p_C+YWu;=r+<$4Ci0txjEcPEM>NVuUJ{=0zg zgK6ORP|bEmWZjG+RBknwouFT6HOHf-wuD3y*UArmq0LkY$GtrqJ1D@7JH*{DQ(5d> z7UV-h4Lt|mcj^oQf;_*s<`L!}rwv*4GF=&QafD~Z9334V-ngYvsTvbKz2V*E0U4je zSCAj7=p8hN7l6*tP#QlN!cC4rInN0d-lJ^%*-PNvYayuP%{0A3j`wXN$4Ay;NJH7I z7GxilOJ9tPGs`f-?5{;aP|@3YtoW{cV|HQ}Qc_tD4v)R|l4(-+)OoBi4@o-z?FBiN zQmRLteMDpD9}))*VFxHl(ZsGE13B{otY5rPhJg;U`OmQ-#2@~TeE%>wQhvH&HQ<E~ zOqJ@$C@RwN^Ctr@jj?hA(aJ64_X^*>DVHD%bWTB=1-13`20v2zbS>0F_G%6$rpmCf zu#nHg$AO>`i;VBRx;g<kB|vLIEK<;qg}})rpK5ko*R6}s2L}S~d|n&;xxz{;%H@9r zzpKjRsw$bJ07hlWi*0fGz8AAeJ0?9Hwp|ap|4vR$Nxb$Hh$vXUz?e@A3ZXhR<X5j> zzut#6CIT+%<^Js2C^#}eO}XAfYVW)=(>G!$(j**M+|YYc&h5pgq`bJwp)N_anKRk5 zYb}U$@%@_&Wr^WDn>{U5&%u9MUV3+cTH|8vh&bQY&q4Ns^p8$o9<ce!<k}9WsK{Kd z^A<$8LT8RYM-S4_(FNBodKQb-!?Lonq&D1MOST(VOgvasXoBFc$$UF$)aZJ!+aijG zOR{Bq-7!OtULl5NpIMlrOF${aI)QNIQuFS=u_la%=Sb{&pgrDG>_~Ea!vjAm)NLn~ zeW*SFd#k2V1Z^Oec6Cde3)mI&M^0{tXV|aj$I4U;2`y|?(I90ff)QdL-|m%Hx*aW= z8;lnx`f})aeVmWJM-;YnC^E~3LeIYGu=+k`2U8e>y>BPKKWkq@w9DMQxy4%-Kht74 z`d`7G$JPF9EVwQ~zh1i4_rY5quI)9T-MF;d0I_UmTYutre}9k7WQ*;E`bwQOP@10= zoR@l6u@orfIQRg>Azkr^WPZ6GLI@4Hk<<3y>N!9B2Trko&~TN9&GkeZV{jutNV?Mm zd$`<(?1BxLH9rm)UJ7wQTeJUElnnswD+^2M1|f;6Xj>tr_XIXiiMoxRC{B2{xU+Lr zFG4ilYuBo^NwVS}dpL^q%%4`;SqTJ?Q{99)y)M5fmT<w{tBh9}co`ciLbkL8xVfum zGv~kXB=%mu&~iLhjE1-4bt=sKoSv5UNm&_}S}MZ9%L!ngib@_xV3&1Op>s4_$8g?N zJg^&TV%<xQSH;^!#fJK~8BLez*&$(p^e^Z;vV(1^mXFlsBqhI70QE=TKGLJvN(=uN zjv6&H?sGfi1>j&)0gW-(grGg9BhnWP4u5}NpW#3pgIy$^G4Rvg3qCzo^GR;z59gnE zBD+)}n#nt1RPJeyjm*$-ImXBKu1UG_oBK^>6EfLB8XI&r_-!rU^^cvb<&QuOJF=;5 z56N%5_KuHU<95BJW5pB=vFM*`g@^i}`#-5a?vlKk!sa_{ee$ifH}49jf5!gyRn$tD zelE9v$|k529_pwb-Bgu_ZnS5uFlTuf8yc}{Ia&sltCPX0sy%QY|CwEzqE(&N|8aAA zwB4625q#Y%`na-ZMYQtev~oN}+tJBla%JNmOz3WqK%y6*#}R+Q5V8#SRn+mCNSED- z(13s!xOjLwutr{C&vSM&U5nTF_!ArW<Y2kLxgAP#v{LHddgh7;VUb(Ux#ztm)P!8) z4>QkxvXk-9)9*l^ra3Df#f;6g@NM+pO5{CM%BE-Et5LddZI3*%Bm_A2V{_iVh}y!o zg?WWGJ_W^8qTix(yj-t_x>~G?=0M^S<wi@kOjrHyKn8%bRaJ3u%4vHps3;0c9xXP@ z6Wi#8reiDgPtkDdzAAIDw}5C6LyL=_CE)T09FU&{-16v!29Fp0VgASb^5gnSYA*Q4 zDxAHg&DTXPU|_=8c5ZZv2U=~N_Cxo_G$6v+rY3uV1?sf7w6vZFhj$i@SoLIlC0dm| z6S}eB4hKR!%~oGwIQ8Oqg>->el$44f?FxyEq@kq^N=hR7kD3}48@qgd4Hg3uXdqJu zcK`-x=ztz~OlGE{zCH!ufTam}j7>j?ep0&=d1rHH{6QLL`eLWY#izlsaGRM<cHqXr zhDTVS%Km(=sWR$s!`uP8&xsVkok?g&J_ZN=cwBbD@V-Dtlb211dWrfU2T#n3u;9A} z4GY#i{7HJ5dE)LZ#+yS+iX%I|w%yJGdU`>{Rt56w{=6Q9c}!9scDKWYuU?t6UwEE_ z|LQ7<+YFEOhhO4Lzu%Z=mKa+kFN`=#0!+J6K#Ry&IeAhW=rr$-{GLpvSxw~eF_S3! z#3Xb8vQ0V8Wg7;C`l0x)6+y1&0~=Zo(Cs_Kbme?q!}6`zilCl^gh<%n*+CQHe^Qdw zs>pxyE=g$}%8511=|Z#aa$(6(D3s4}^#z?mn&l}s6%`dwiI`Mt!wbu(D&d2JR`0Na z0MsG5U@ezfrxw)I)ulk9{Lzj`7Z;Wxmov}VWbrXrlnq+D(U(K7I^8Iz0noTygOatg z#&WawTS1YCCLQ8Qe#6zDZno#m<&e7OB#*VaCLh#he<h(I%h0xs(nT{$}$ldnW*3 z`LuoN%VoM<-D%bCGDGLL&YQC>#8V#t3h@J+BT2vo%Fr&Mi*w)57++1}`k1I8Sv0(- z`yvS7xHu*&y&MF!g6|Ffp)(nIY|mFpe*MwbK5Uh8Sp|jKeC357w|R_DOpFEdwFxgS z!o$L@0q537I5MFrqGe!t$A=N?Ot;2<Nx{=o0FU+)J6BS!l<tr_KP0h}k&}g(&*9DA zgyiY3Lm(u+R#kOxO|y72QxBng)(yJBToN^g?}kdLJ?u~E6D%^99Y(bVnAm>kY09d% z=&#m;1iaO3-|$jVg=7O&7nVzXq(ISs)Ux>L_oR5p<actPi!7aBhgIqhq8a|Mc0CiB zu*kQ}GuFEcOvO;G44?0{E%S0c?J99<0*A8ALVI;96?k}fu=I@K{n^UiiDh_0(_bA~ zmtxF)<>p$B-11e!mS-hsx};_RltTZx*#d(vFAWfeT4|5FeGORpNfvB=J^tvYrY4w; zf}L-thfuc`C0MtaV)Kt;>NjYC{04Mu1I1hhrf<{S@~K;;csz+)s{<LmO7?6#6HVn) z08X>3dq>a)s!|{Q?^T$|FT61W;9tEr9i*lpLi`06X?+_-!acCpE&*XIhN9N+w04(V z>mm_IQoZA<o1IQJx(gL=xqqZLI1uc~H@Q(DH>swN6S3G|ny{-q`)lwx7SC`S2|{Kn ziO__Ak`YkcOn%{Knr5sn30sU^$tUWb5DK~#xmm|+dAQVxj?f#<<dVM&FHl^?j9Ghg zAC+(A(T1<4hJqNKWk8=4Lv?%7OBov%_u=XgHb^u?1EfIb(^=U>Bj6wT*D5aPX2^jQ z3LqFkJ*lo{2Fj2~x0sCTo%gv|twTh@o?JljQL(ZXV02}fqONn-gj?s%y)Or+rpEIA zfSTwfNM+?MWn~9Sg}pAlm6Y%^6U(d_Ea4Uw&DSHM-N@Ek6g3*1zo=EGpAIleFj0V6 zZ@9R)BTS}1gm1L@FL?pD$$?aBrpj?m0^fIba3K54RYXt^mVZVm&f<w3v6sv8!E1ZB z6xharYZpiyH<R)14HaxqN#;nNgN$e?A72i1m+M?G^r}%%9c01d1&VH73S|H_Faf_G zTza?b_k-6MNr&IoEhNZFg+8Tlg#r=J(6J`s<3->K>lldB`yQ(VoyAyy^w4zNfgTj~ zDu@h)0u(>!ZYY1|4}_VRn4U<<$b_aItdOui=BW%D6w>Z&c&sP#E3CWrG<>u-b<i;B zpJHpdHujI{`t}9H<p^@YDQXi+0ecG>Bkn!916y-+6@VN%j-urXYFgSWPg{Hh4+Cxz z5*iws48c%V6rvKVlwQSk7F(<Cc7J=Z6|0o|!7;7__$=OIgdZ!rnt+$={dluwE<b2h z9h%}xz(w|gVhmh=<^ISc8Wdk&z1I^~(}<lbz}&OBPRcn&Gq)8mysoo@HM}Awwz}q9 zi5njAJ82;2f};;}0&1-Fx$|@9t;@B#q5(M#?=3b}$nW2A)xl@i;Nn;GYYru~V9T9f z5?Lu{a^n*+?-@9-L&Aj9i6&jb-9EtW%sAgE$OO9XOn1|LIq}yNp|z)1i((68HdN5~ z!_=3`hMEB#<&8SYv-1NkqZybaB2V{_$A=?7FKSDA@z#}5>+eA|`SHH%a|tQo^P+Ht zPyvEE@;YowUF?eI+LHR+yD^8=(qh-cg?^CrKd@LHtDja<rR4jdV5q5Gl)sl%S64@4 zeepP6w%;k2+_-CfAZRny^T2AWAuB8UEP7*UW+puLarIrkuFki5I`3*b+Zui{9?lTP z1|jn~Y$l8N&Ojgl<oruB`bv`p4fbCrQQ}1Wb%<+P<7dg%IxH~qOWC#-0zD@qgdTt& za3~h;%b}Pb6)R6PMQ+Tt`1O^CLSvjx2ZmHMeKS@e@p0;^%KA4Fp&2JKdN&8$iM-mj zd_I>#HPwfNmVGQ%3pnL8=JCB3giF46EMWf1C-6B!US6fh2;h>w0EkQ-%~VItJ3*Tv z)yjvG^Z_{iz|UV>jL@j5UzbHy;cN!#G>U9fI+f>J$u+sWGZLAFPGI;gK_|$-Eta(< z{%bi4&k=%*Nzye@q#``UmQ`370`Nz_zgC)|iLsfmcp$N%=i#}O%Iy^fX;!D+ulDL7 zhi6ly%3%@6X5KKO8@vyOV#$F!io3)(SG28&y4nT&ax=hk!03WrmubC^(jol(NUzl< z-?mJg6J#APXEn%5l8gI?VqoUyKpV>LckRpT(?p})n%sQ%P7n@n_+m@GC)gV!YvI?3 ziWDg&ub@x5BH!<!N8x93pH4e%Kf~4c0aQUzS`E$&=mg9TcMFfSjErFb0*nRah{wI| z7S!lWOE6Wgcvj7P%Nvd>7G2%Yuuj}5pkw)xK)^jqKv~6mMAQ_7dW8q^mt3}1#W5v( zRm$9M{|pfHp)!Rnh}XmlZ&mG=TGBzSn6Hq&>r}8B4mb(i?n&p8@rXiS^=+Z8;U?G2 zH?w*`PI(3g0&bO&j~*IXf(0cn86T1K@^e`ZfkH*FgfMjN96U=W8J10!ndHX_yjHxE zvl9P2fcj{*&XL-rCt@YVri_YjrkPP{i&b@$<y}dCTeh#qIOi4<KcwYP`>?^knf}=U z^nXb|K3RV5)TxkY==pONDzk9Af|js9Z0m#ty2g6|Zl6hAZ<a^-gi7-MNXbamra4sO z{{y3)0jPL&KrAHeS>{SW^ty<haclrdaG$BRvhm;0)rKopM&%l|V}RPXE?2a~AO?(= z8q(GU%h?^$^1$KPY!a$gqFp_ZTF_ijjf`m<S;EIf{X>H+1>BydhC&K<W?>N#fJaw! zI9jYRP8ju^BZ~Ntj35RAWMcvejpEOz@hVg(6d8m}Y+|8Dy>lr$kzo^uc$nQ%gg@&z zi;Uhic_k0YunzrGYa=G*S+T)G*ucQRroNNHc-8M)MR3M(la$XKN_||G1zvc=d!sXt za1A<k!eJ|^UGNcJL;!^Bc`S=LpyRS8&X<%xH*cSQRbDz|=$v_7LtF08dWwH*llX}y zs_QPZG1Z*)G#u40zlmP8=$C2o*$a^xJ`(l`dS&n1U5~!$Oy+er_3EB^R&%oQ|4Lw$ zp`&t8MLesme8y^5y}8%ZrV&H@w+_feunQQ4Qw_<jzm>J4!6c}tRH?Gl#fLu!zM<6D zX4a{R06CbK;OF#wt2wVlq3l|a$6Hog*R1|4-jVhZbU<V;E1FJ>i~9{`Q#JVPwzszf zpzjq0g@TqAG1zM^@nFbQfH}g1uBLDafc0CrnF1-Tr)!IWx-VtA9D2hE3e2`rpKJeU z2P%i8jCUh>ZAPHk)H%2gX!+XK`-vVWcq#d%NK**oYHH1|>agk}r-(nq!S8H8VaWkl z@^I~@2~$YpDYT<QJb_uO1HjSGxr{Wp2$$QwRoP6Jg;J5A*J$fD;Q3Yf+0P93k3sI; zWMy;XgF}A2(Qopl@7FW&Sgs7(Q1$u{cy>Fe!AnvO5;no7t5Pd5#5(nNHBC(mljEgG zcALS<jc7R9XBH2qjRfaQH?o77Qz=`e+{2QmomZRE8g%1n;GpSyY`nH>zECgU7@I_^ zZZk7NOALHCrYNb|Ywrw|rEfB%YsC$N?#HQ%X}wM>4GOasRQp_eAoHzZ!JoZYJOHVq z6vs*}1QSdk4Z&32#?8Um`lz7^ME>Sr3-8aY)X{%MslLt1E<MSutv=3AY22^YN$$x( zdBt)WR9I4SUT`>s$;xMg@NI(|8x)}A>SvXai|HxTO^8C@+A}BszaT;`!os7bA}Ag7 z1Tj#snmsS9cZA3HJ?rzW4B!pm6`@c8eBlsj_%fspO!*#B{BicLE~Q3ax9%~o{oady z6#duN_XZ%e&kdMk^&W+TbZoAaO2gq-v_8MnhL4E%*d0B0vlh=o!`I8fKD~I<&6x{4 zhUN0&u4XBAHIiOcUR8Ni<1mMPC$y(;&9j;_p^d7=d9S9%<e8;(XJLE%O7-kz*_DOm zpr2cBf1AnU{f()a8Bi>I$aEd7q4&%TxyETreJb}*a&+VXS2*B9zz7RkKaN-NxA0XQ zlcAEm0Q=<yK!I;DJmHLF?O(E4I{KS4VG&tB;1iO<N6GD4^Eu3<*)(YbS7>1!Pnq1; z!TFXcHN-Qzcda%Ep|?z*dU8mP`lMQ!nn;8{AK$WwQgg`*7J$>=G`Fyah8B@XcJSJ^ za73r_9ae^ETPwlwXu1i}WU(Vsp%HBD`sje+-uqD?A8S|si@Rm+^cPX3KKs^1)44P_ z=z%M8H|ZW2Kmt5%bA#RY70U9h)ZV}Lln}G9&39Zjg5O-u3f%xi?wJY`6keD!9vFZ0 zmR_3m<3E7#bpv0}o6S^vdKT`f#@@HMTvf`aGOt~%aiJFQl>loX^b~hFn4<LCyQvTx z=ei0jMd53NEn*ATcGC32j4>%qsv?-)ySs;nBPgI?5f&3lHz8+1ttrnN({sPB)cub9 zD<AyTw(T;-qjZvMP}6x6g-hN`UTt!8dkG#ZUBG4Fxb9)~U+IMFpQ<zl%2HF%Pgoc! z_sY%u7=(PbLe3y>_p{+qbO#GUweX6ZK-?ase|iuIj>`XHL&UK>$-P@ythCsU;gZ0W zD{ww+LLE-PV!YN9sS6q8zTf^RdOAm@QyI^s@yB|SQ6WQUCwyEZTSGDBC_EN@IJON8 zpH(@nDBA~xC@;Lht({b4op;4-SW{?={F@)mHs)oa`Bo@j5!+DUz-!7)bSH<?1+&OT zD>sK(-*XN5VXGr}w4p9@IS@Vk$BOQwW>nsK@#HXWvJIcq`I<$efed?xL?UETTr%F{ z!WQi>Q{B<{<h|9x8(&{F(eG??QS0=Ug@sV_`;t6Xqz;yPo6p}@Ofc|&BuN<Z45x%V z-gT{r4)w><-K@tdK39bjK^R70y4+&A9@A$frS=qV8_im~bf#hrbADtY<;rH&DrH>0 zmlikAHTz(1@xJSw8CUGYA%>zZSG{359m+IUDejEQnS-?2<mG#eTVLC+Sldir%-$n8 zAQyfy6B7$J?~Y_nN@%_0u&&9}Wo8?8cljma`15U#)TxhtMdP?l*19(h=nscRq^UG< zSn-k1^HM4nSdd$+aSU_yKMp2+3yS8z;fs4=IPx{$iUtJuAm7T|{yuAPAV5tS40^6k z0Gg45TM5X?`47yw`e1IJFPABUck>{d#2)+ttAimW|8+660kN)Q8Ui1cqmga(S9yUP z&;%SgH&@C?M`F)?q{gc%zw#s9>m+MAQn#joPiwTiMELYCUZ43DRlDx2@X&c%_Eg7F z^zYkahJ*#tZ+{y<@ZL1o;H};)rJJ}jKzLI>VZ5QBoXouL`<-Cm{tEG%|9qyG!6=t) zC}%t3{g0>Lz7L)N^cnyJ7kSO36Tj&xW?tSz5Qr+QC!q-gdR`J)WdW#!*YhndD@#pt zEcwLtRn?8HSamM&6+(9bavPd@{o$5Ia)0YmkOMmu2g68jSUpu*kO6!JKt~R)gvlI- z`LFu<ab~sy#}wo{#FO5*uA0B&bx_WYcM$QUQ#~;qSF&I5Z=)M^O$rN~-cb^_mK)d3 z_YV!ZUTz>_WVS_5EJXTZJRCZQ|M~Oh8tjfF4ijVp-y0e_g%`RFKZ?-M(Y5NGXv&)} zN!Xf>5&kB!T?J>YILeP7{>;ig_yM-P{5V&<rw6vkAL;R`WRVPiQKGfoZ+|Nl9j<!I zy1z;^65BtzTpzC_=%0qj#lF&4!4vufAGRxMzx=&+Xi|7}n|LFcu>sp)GEwnyDLTY@ zOE+=vc=?Up&Qfe{YkJ3buU<#+gaJr8n3-+^8;QS{7j4o-?0t|)O|@0kFuQQOT&%wb zx3_H#QK*14Y}&wYFoKxV{o!I-tHqoD<|bp-dea^h9esU$%MVveThV^^)S14w450UN zc2NbVfDp?q?**I2d$mZT6Ca=y4R7P^eAtn4R%_+j*i33zckQ8I!~n=9PF8vF=hhrj zUVL9w2&Gt2#5%md7Qg?Z{Wy2AO+H<Y$mg&O_dMu;OQHAJ^%I3V>XUBs{KSp0lbV74 zgUlMT{ZIoBM}`gFT0aA`*};lX%bZ(;nO1KFBifCbD854_JzBeZV8{={AeU$faz|pk zJ7<@hCS*jEk=T3Q+G|Epb%>kiA1JgOA)1um6~LO$Z4c0*b==8I9BcLSE2~>YYjECK zP42&a4<JNA*Zso3H^&m0x%Tp>GPATRI^Z}<aLMZwLw8l&{R}**ZVBU0lvzuoS8Qd^ zT*+NM;<Kkz7!ZNe&(y1{^PO>g!rHn_U?8H_*vCfo#LHy2{%ZNw>c%D$@o~RHk}V7Y z8*}gPK8qH9T)lx3KUZHzF|XdBk3{SO1^W4B2ngZ}+?q>4es5X>26nCgpvy9dXo!L9 zE4t9(w#VhokeK~TY5?p3oV0ngGY0jzEjuCK3gn;-lny&(F19!vevjTjd%rVZ%Lb4S zUC*7ou5Mxj@{4%jK=-W52AlPHOb+K#a?5!ffD-RKaXZ}JI^YBWG!3kh-q$7fow)EH zS=l0;usk$aNftgiK}QwS9g)b8;n<c%km4I}WA%l;r__X2R~Id<*;D{8ZsSqff1zOn zL>XedpyTVrJ=kt8JD{@IFTIOt*Nf!Ug#aflX}DXruy;QDU<5*=vQ4XFXBb?*RSF0~ zy2~tCj&!1Q0Q)|Mxh<W5Z+IMXa(QFp|9o!GsX!O{5caT@d2qba39^MrVOd#(|AgN| zX;I%Jpsf5SKc1nk=7Q-Nh@t4RCmfdXl7$}=lbBUf5VRNdhZZCivTeveSbUP^X_|w> z<*PEUT$RdK{A(b1-S!O;vbMJ7XS}W{`K=L|?$4$J1*IK#2HmSk)&Q^Ix6h0t-2tX! z6o3krXjXK@OX%o%P|1&Pg60yz!&N_vd4!g#Y8T)M%{FNnq&<^+K)wa_0>Qx_4D(BM zgwm?1sycv~W1zRe?|sb<x|6FQ_CNj@`4XopkLv;!ofW{mEl_CjXzRY8_1N#?5w-}< zZ=Z@XCX#aK8~0tksE{=%05$uq%ZgjjFfVwbd`!-kIk+GMlzzy|_ux?yW|fr>C6{C^ zr9s1kmll)mXrCXHTrRgsUO{h9i$@WqBSO3UyOV|NPFB0ireM6~UKy05TnBs(#ZYJ~ z{G;9FHGqIkmRfu;al=d1naBlQe*t<<S63Gf9-f4%Dn6J`8W0%xob*deza$6`9Qo{{ zlLE6VXOh&_*B=7i9FPVS01OMn5<mi>r>6%h`Die=tMZ9tu?Fv96PDVN5pql!20Ofc z=V(*#;?$mot$4N}PWg-oQFr#=U&x5y!FP%`X%g7DbIvNf)F56Gw!Nk9#gEq*d75Oy z;Py=g%>0_vVAAvq-<F*Jo+s5(2M5@ss2`5?2kgu}>_`+C=sfzl9l^1>Z3qFlr_%CB z$+y*+^W$)wlA8TqOwRke<u{(a9~|_S?1Z>V*uV)ZOY14$2MzezCExkU&H}LWGm_6v zc%jfJWc?Sv5YvvDUI>+1rRcsDXivA<0cr<xKfB6VU5a@;({8b(9NLPD$`lkRG$<S8 z700$4HTpMs?(%rH|E|o8*}+I;^p&ExZ_h2C0)0^v<9FjKx@@Edjngw<@s~*x73sZq zB2$8mvc(9Vn|r?=h5Ln^V}uLB`dJw0`f^5?pu(Vfj=?9C2_9)%h;gm}4BU5sqvIBI zy!TIw6Xdca(x9xAT(&Y8E{N2^XaZR_f`Q_PYdTc2fR7Uk{0ZUjhaIh4%;(~Lv@ytV zjsN>CPjaZd^S@4m_gUo1(_Q(8MNZ$fg|jQZ2kng;uf?kQgVwfgHI%P!!aHUH+<R!< z8O;VnpVbYjs_R2IwwpcS`Btr^vsiare{PqpdcXNur(9w`|DU{8aC9Hw{>N`#7!wl) zc;nzE)4!yoe<_(u%jzR=x7HE|B8G@5^NY0inQ}~6wvwQ7JZiq8(5WGMoYDVMj5>}= zl#<Uf!o`AgjlS&rpzm0Lc5W-<Ph*KQ1R`We+r>{N6nRDBneBQ&!TWvJuLH`+w!B@L z3vyx4I8eYhI2CSLTcbs*;BUyE?=r3a2QXk$fR4Jn_Fee=%PQsMooXpagZ#vg_*l}z z2G2;?L9AV}OxaY<Z?W_;Esnu~msN^O1iKFJJvMbOP1lEKT7n4Zq-0|4cLVNiK5bfl zUS2X!!b`qr_}s5A3>4RmQ+e$-0W}a5!=s?7U!Lv;MsG0dHB6MO%sIoO%8y?nM1%b4 zWpm6@r$~nK8%Bwv$45%}@df=yT-)duSc5;pRQ`jzC%kSR^?xQI)@v(6p4o<AxU!yz zz6j+1b$8|eY^Ga0k{}ooRZD9xs#na!s4!YfrKvU*HO5-BDbuFLZYULkNVL%@9o5Bh zEu+<|mZEym+CuL~TWfMH6-r|))tcJX&Ybjf|B9QR-p~6c&vM@9Ip;j*`#mQT6=>_L znaSEjqfID0x_{ywP%mzE5SoE{w3kGB=j|IPW`>`w@{<Jqg+;_5b^Ruy676|AJA1=m zUP(VOtj$?R{^~HjS`)EbI-rMSqZLT#8dX-lZ&-hel9*V&IN8CpmLH3C;IpsSvYs^k z^EGT_ii1Po9giQqdlE()VwQm#)$v{Z&4&;5;jI47=;b+Z5w6Lrziw~$dzGd+d**$* zTb`QPkHVlDNnR4{kX>XnVihT{$-T2Hlxe^=_*M(QG0c+*{~nelCg^gaB##hhnX<JN zXS2m$f3fR0c(KigL-XX07XKy3`}CU(P|=_~a$BBtY<Q5CZiwSpW$KBo)DkagvE6 z#p@t(;MPO{r3y?Kuuq=-vJ_n~M6WJin2<r<?V@*}O<i1EE+cyr>l1gHa_>56O4&%O z3<jA$&(WhAu-G`(oMxQb4`R++#1z$|<j^@P^7_Cf#V~co<(P^P@1aUx6sW!{AFZ=; za~-3iqDBTDfgXQ*MNI*V{m_~$2NCyQ#c3!G4qbVSh@r@M_TeD&;qVJmCVE8T6=ay+ zMr>s*;lrfCzZ>tk0|H1fQ_=z`5622sXZ(X&A&mvkX&iFMzSr|dJU0nQRY3-x$+y`) z0rIpyf87?`Tenj8s(`yOM;Q>tmE=LWBS-b#6N~F6JbHBz>LafrFo`?E&!M0H)SHqO zXghCE`5$`qw+ky5;s42?pK|tF56%Df_GZ~8G@X5UX*j6Hr&>xW-e9*UVQ1+fuz99v za2|`CeJAW|!5bNg=^jAj8wZp0DDCq}BNjH!I^~!ffqNCm04sYg7&HF0v9RVVSxNs3 zb?<?6I)37)%UTkwrDqDm2xYz%v+(ItQ-JO|iz&2xeP)fHc}}?w2x1kEveMK{6PBW$ zJx+V>d`1hH15;De!KatxAog~!t1omL7AJFVhVo3xJm)jcq<+c{YQ;n^>-bT-^4Uy_ zdVBLiX_?YQYED;F`>Q2I5>i^%E8QYdFrC8Es)FRCsqS0{U*A83$2-h#4$R5(?&al) zu|2R=^0$8{JfFBt$98vh8Q}4yvtz8)f@UMs&PV9Y9ePtUsr}lUeweb!H;p;lI9_k6 zZ8tJjfY%8wjtR;zI@PL85$TX;77sB{Pe$nqUaqcWd;4oysb$|CWF4QekS@k+&>+nN zK#swhV0DC@ot-!;23U1uq*;G|Kd?E&CSEH7lzoUmSnY3MeqJAXvDvy5WbQ4q5moRa zfc*IJ<CbFw81ZCmfhu2qntOhSD20(uVtpZA7qb4$-nBtZppuViF`SYgO!wdV^0q7q zqlnx4%RxPIsgg`XG6j#_w{M@ZXC<!;?SC?DD5xecZ@<qPl(+BG<V`l^okX1VuNEF$ zXY3(idMJ*L!CyY?3=})LYjFITrxWX0{dMU}zo)0SeCjW4Ob^?jIprT)OSK5lD!jBl zox04ywT7M&&wr&2h_DXEDjf;AA8!QK4$pkK6*}4=^i~c?D~xVd35N2Fv4>%ysJ<>? zAJ!@rCJ;C{aej!dSCx85-548&Lz8&JufvCIUlbFXXw-#fkpE4>8RIy6cg<`Mj8#Cj z&}LzU%)$NX2R^o7gGqK2g@t?gXb<~U3wJ~_6wF-7*(++PO}S8F1;Z>F<5n0R;Na3c z<E$lgIhR5A+~?P#*VTp1BT?2;6Kjk;j+t^>lAdFeOFN_V>TPn8lrG0MqvSNvt35#V z0B>7)t+B$;xhGPjOmiZw^{w!X3+gKjf9jd@&x|;%P$#oyX?sU#HXJ9S@oKg9(=dv> zt@09xyki9B4cy(bBXQTz^2mDy6;>LnD`Y-iZNzSzygfN>7lID^7O*S{*ZP>Iao&3t zg%^B^ufxIM0JS6!he>%Nwpw2;{eZC&jay=Nt8m)~wm|7Uu$(B6HgWK}I?|qfvfP=c zrc*SfIMP`aE6CA!0@2fsqAXcm4kUFz8w(0e@)`<AHh+_faSl}6IJauCuv1fHIc>+r z&%GfMZw<NKh@Z}7XYkovSrMiZiWXPmNN6k2zWzsR{<z<=d}6**qfS|7Kj&vT0ipFh zI%KtVJ*qH4Wz;OZlSxdNH4Ufga^~@0N4%JZ?Ow-Tu-aqBo$8<3XY~fFIz~Stx22?p z^kF@>W8+BAWW;Z*CJ5z9$SuWX%36IcT1puha})ivyxOIu)OHlTrPAoVQX#NKkubVG zI&ebtj~zwWqoQNxHGbo-ra3q=#!3?Utd1-kM=q*~N>tK@?Ou{E#$aK}6!44-gBg1p zji{j+udHuqWp<jy_z0pVCGy`|AxHu?S7Q22pDN!&xdySx^3(2g#^?^A#Z%2W&Btpr zCdc5hp@^P>`|--HF5Re(04*3p!>M243-z!A!fii{$uDzU#KORlxb6<HHE^MbQUQLb zZ`L4m_7RD=F}gq%{j4u^#prVUm0&oe#P|i8Eus#Vb8tbWY~yGX4%!@21D^aQLjf+K wC5)}1<^L|ZD)83Cx8UdLpfbNc|9`x>ogg~2n<AMh6e8e5IdO*kgmfY4Z>^ekMgRZ+ literal 52594 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 ZA{qW7-)!<2)M3CMSt&)yQgMT?{|83q->(1w From e69ec587e4768cf82df48cfdd2bb27fb4c764fe4 Mon Sep 17 00:00:00 2001 From: Ricky <rickhanlonii@fb.com> Date: Thu, 2 May 2024 13:56:33 -0400 Subject: [PATCH 281/382] rm survey and fix old links (#6828) --- src/components/Layout/Page.tsx | 32 +------------------ ...-what-we-have-been-working-on-june-2022.md | 2 +- .../blog/2023/03/16/introducing-react-dev.md | 2 +- src/content/community/docs-contributors.md | 2 +- 4 files changed, 4 insertions(+), 34 deletions(-) diff --git a/src/components/Layout/Page.tsx b/src/components/Layout/Page.tsx index 2274e45e..1040e1aa 100644 --- a/src/components/Layout/Page.tsx +++ b/src/components/Layout/Page.tsx @@ -11,8 +11,6 @@ import {Toc} from './Toc'; import SocialBanner from '../SocialBanner'; import {DocsPageFooter} from 'components/DocsFooter'; import {Seo} from 'components/Seo'; -import ButtonLink from 'components/ButtonLink'; -import {IconNavArrow} from 'components/Icon/IconNavArrow'; import PageHeading from 'components/PageHeading'; import {getRouteMeta} from './getRouteMeta'; import {TocContext} from '../MDX/TocContext'; @@ -105,12 +103,10 @@ export function Page({ let hasColumns = true; let showSidebar = true; let showToc = true; - let showSurvey = true; if (isHomePage || isBlogIndex) { hasColumns = false; showSidebar = false; showToc = false; - showSurvey = false; } else if (section === 'blog') { showToc = false; hasColumns = false; @@ -178,33 +174,7 @@ export function Page({ )}> {!isHomePage && ( <div className="w-full px-5 pt-10 mx-auto sm:px-12 md:px-12 md:pt-12 lg:pt-10"> - { - <hr className="mx-auto max-w-7xl border-border dark:border-border-dark" /> - } - {showSurvey && ( - <> - <div className="flex flex-col items-center p-4 m-4"> - <p className="mb-4 text-lg font-bold text-primary dark:text-primary-dark"> - How do you like these docs? - </p> - <div> - <ButtonLink - href="https://www.surveymonkey.co.uk/r/PYRPF3X" - className="mt-1" - type="primary" - size="md" - target="_blank"> - Take our survey! - <IconNavArrow - displayDirection="end" - className="inline ms-1" - /> - </ButtonLink> - </div> - </div> - <hr className="mx-auto max-w-7xl border-border dark:border-border-dark" /> - </> - )} + <hr className="mx-auto max-w-7xl border-border dark:border-border-dark" /> </div> )} <div diff --git a/src/content/blog/2022/06/15/react-labs-what-we-have-been-working-on-june-2022.md b/src/content/blog/2022/06/15/react-labs-what-we-have-been-working-on-june-2022.md index 00b76baf..13499099 100644 --- a/src/content/blog/2022/06/15/react-labs-what-we-have-been-working-on-june-2022.md +++ b/src/content/blog/2022/06/15/react-labs-what-we-have-been-working-on-june-2022.md @@ -77,6 +77,6 @@ We are working on a new version for the Interaction Tracing API (tentatively cal Last year, we announced the beta version of the new React documentation website ([later shipped as react.dev](/blog/2023/03/16/introducing-react-dev)) of the new React documentation website. The new learning materials teach Hooks first and has new diagrams, illustrations, as well as many interactive examples and challenges. We took a break from that work to focus on the React 18 release, but now that React 18 is out, we’re actively working to finish and ship the new documentation. -We are currently writing a detailed section about effects, as we’ve heard that is one of the more challenging topics for both new and experienced React users. [Synchronizing with Effects](/learn/synchronizing-with-effects) is the first published page in the series, and there are more to come in the following weeks. When we first started writing a detailed section about effects, we’ve realized that many common effect patterns can be simplified by adding a new primitive to React. We’ve shared some initial thoughts on that in the [useEvent RFC](https://github.com/reactjs/rfcs/pull/220). It is currently in early research, and we are still iterating on the idea. We appreciate the community’s comments on the RFC so far, as well as the [feedback](https://github.com/reactjs/reactjs.org/issues/3308) and contributions to the ongoing documentation rewrite. We’d specifically like to thank [Harish Kumar](https://github.com/harish-sethuraman) for submitting and reviewing many improvements to the new website implementation. +We are currently writing a detailed section about effects, as we’ve heard that is one of the more challenging topics for both new and experienced React users. [Synchronizing with Effects](/learn/synchronizing-with-effects) is the first published page in the series, and there are more to come in the following weeks. When we first started writing a detailed section about effects, we’ve realized that many common effect patterns can be simplified by adding a new primitive to React. We’ve shared some initial thoughts on that in the [useEvent RFC](https://github.com/reactjs/rfcs/pull/220). It is currently in early research, and we are still iterating on the idea. We appreciate the community’s comments on the RFC so far, as well as the [feedback](https://github.com/reactjs/react.dev/issues/3308) and contributions to the ongoing documentation rewrite. We’d specifically like to thank [Harish Kumar](https://github.com/harish-sethuraman) for submitting and reviewing many improvements to the new website implementation. *Thanks to [Sophie Alpert](https://twitter.com/sophiebits) for reviewing this blog post!* diff --git a/src/content/blog/2023/03/16/introducing-react-dev.md b/src/content/blog/2023/03/16/introducing-react-dev.md index 42fd96ac..2498f40d 100644 --- a/src/content/blog/2023/03/16/introducing-react-dev.md +++ b/src/content/blog/2023/03/16/introducing-react-dev.md @@ -613,7 +613,7 @@ We hope that this approach will make the API reference useful not only as a way ## What's next? {/*whats-next*/} -That's a wrap for our little tour! Have a look around the new website, see what you like or don't like, and keep the feedback coming in the [anonymous survey](https://www.surveymonkey.co.uk/r/PYRPF3X) or in our [issue tracker](https://github.com/reactjs/reactjs.org/issues). +That's a wrap for our little tour! Have a look around the new website, see what you like or don't like, and keep the feedback coming in our [issue tracker](https://github.com/reactjs/react.dev/issues). We acknowledge this project has taken a long time to ship. We wanted to maintain a high quality bar that the React community deserves. While writing these docs and creating all of the examples, we found mistakes in some of our own explanations, bugs in React, and even gaps in the React design that we are now working to address. We hope that the new documentation will help us hold React itself to a higher bar in the future. diff --git a/src/content/community/docs-contributors.md b/src/content/community/docs-contributors.md index cbdbf7d7..0f9d002d 100644 --- a/src/content/community/docs-contributors.md +++ b/src/content/community/docs-contributors.md @@ -4,7 +4,7 @@ title: Docs Contributors <Intro> -React documentation is written and maintained by the [React team](/community/team) and [external contributors.](https://github.com/reactjs/reactjs.org/graphs/contributors) On this page, we'd like to thank a few people who've made significant contributions to this site. +React documentation is written and maintained by the [React team](/community/team) and [external contributors.](https://github.com/reactjs/react.dev/graphs/contributors) On this page, we'd like to thank a few people who've made significant contributions to this site. </Intro> From d4a9a76844bc71594353887405f278029733f574 Mon Sep 17 00:00:00 2001 From: "Sean W. Lawrence" <23564209+seanWLawrence@users.noreply.github.com> Date: Fri, 3 May 2024 01:15:35 -0500 Subject: [PATCH 282/382] Fix typo in server-components.md (#6829) --- src/content/reference/rsc/server-components.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/reference/rsc/server-components.md b/src/content/reference/rsc/server-components.md index 78767faa..98194642 100644 --- a/src/content/reference/rsc/server-components.md +++ b/src/content/reference/rsc/server-components.md @@ -198,7 +198,7 @@ For more info, see the docs for [Directives](/reference/rsc/directives). In the following example, the `Notes` Server Component imports an `Expandable` Client Component that uses state to toggle its `expanded` state: ```js // Server Component -import Exapandable from './Expandable'; +import Expandable from './Expandable'; async function Notes() { const notes = await db.notes.getAll(); From 0e1ff1a94fdd8a5a0ae06cdb71fc0babdaa7b01e Mon Sep 17 00:00:00 2001 From: Ryczko <konradryczko1@gmail.com> Date: Fri, 3 May 2024 13:59:37 +0200 Subject: [PATCH 283/382] Fix React 19 upgrade guide typo (#6830) --- src/content/blog/2024/04/25/react-19-upgrade-guide.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/blog/2024/04/25/react-19-upgrade-guide.md b/src/content/blog/2024/04/25/react-19-upgrade-guide.md index 84ef768c..4d4355a4 100644 --- a/src/content/blog/2024/04/25/react-19-upgrade-guide.md +++ b/src/content/blog/2024/04/25/react-19-upgrade-guide.md @@ -338,7 +338,7 @@ To fix this warning, you can import `act` from `react`: All other `test-utils` functions have been removed. These utilities were uncommon, and made it too easy to depend on low level implementation details of your components and React. In React 19, these functions will error when called and their exports will be removed in a future version. -See the [warning page](https://react.dev/warnings/react-dom-test-utils) to for alternatives. +See the [warning page](https://react.dev/warnings/react-dom-test-utils) for alternatives. #### Removed: `ReactDOM.render` {/*removed-reactdom-render*/} From 556063bdce0ed00f29824bc628f79dac0a4be9f4 Mon Sep 17 00:00:00 2001 From: Dinesh Pandiyan <flexdinesh@gmail.com> Date: Mon, 6 May 2024 01:34:04 +1000 Subject: [PATCH 284/382] Add a redirect entry for feed.xml => rss.xml (#6836) --- vercel.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/vercel.json b/vercel.json index 957c2502..0e252e2b 100644 --- a/vercel.json +++ b/vercel.json @@ -173,6 +173,11 @@ "source": "/reference/react/use-server", "destination": "/reference/rsc/use-server", "permanent": true + }, + { + "source": "/feed.xml", + "destination": "/rss.xml", + "permanent": true } ], "headers": [ From 1fa205704ec3841c4e85bc152aa04050b7e2195b Mon Sep 17 00:00:00 2001 From: Homyee King <HomyeeKing@gmail.com> Date: Mon, 6 May 2024 13:17:59 +0800 Subject: [PATCH 285/382] Update react-19.md (#6838) --- src/content/blog/2024/04/25/react-19.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/blog/2024/04/25/react-19.md b/src/content/blog/2024/04/25/react-19.md index 0670eaa8..1ccffa1c 100644 --- a/src/content/blog/2024/04/25/react-19.md +++ b/src/content/blog/2024/04/25/react-19.md @@ -112,7 +112,7 @@ The async transition will immediately set the `isPending` state to true, make th Actions automatically manage submitting data for you: - **Pending state**: Actions provide a pending state that starts at the beginning of a request and automatically resets when the final state update is committed. -- **Optimistic updates**: Actions support the new [`useOptimistic`](#new-feature-optimistic-updates) hook so you can show users instant feedback while the requests are submitting. +- **Optimistic updates**: Actions support the new [`useOptimistic`](#new-hook-optimistic-updates) hook so you can show users instant feedback while the requests are submitting. - **Error handling**: Actions provide error handling so you can display Error Boundaries when a request fails, and revert optimistic updates to their original value automatically. - **Forms**: `<form>` elements now support passing functions to the `action` and `formAction` props. Passing functions to the `action` props use Actions by default and reset the form automatically after submission. From 46437c2b12b14073d614b94befc012c21013327a Mon Sep 17 00:00:00 2001 From: Jack Spiva <jack@jackspiva.com> Date: Tue, 7 May 2024 10:25:41 -0500 Subject: [PATCH 286/382] Add missing period to React v18.0 blog post (#6842) --- src/content/blog/2022/03/29/react-v18.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/blog/2022/03/29/react-v18.md b/src/content/blog/2022/03/29/react-v18.md index 27899fdd..d21eeb1f 100644 --- a/src/content/blog/2022/03/29/react-v18.md +++ b/src/content/blog/2022/03/29/react-v18.md @@ -240,7 +240,7 @@ With Strict Mode in React 18, React will simulate unmounting and remounting the #### useTransition {/*usetransition*/} -`useTransition` and `startTransition` let you mark some state updates as not urgent. Other state updates are considered urgent by default. React will allow urgent state updates (for example, updating a text input) to interrupt non-urgent state updates (for example, rendering a list of search results). [See docs here](/reference/react/useTransition) +`useTransition` and `startTransition` let you mark some state updates as not urgent. Other state updates are considered urgent by default. React will allow urgent state updates (for example, updating a text input) to interrupt non-urgent state updates (for example, rendering a list of search results). [See docs here](/reference/react/useTransition). #### useDeferredValue {/*usedeferredvalue*/} From 0b9ae66066cccce35832c35097d6cafacd99c098 Mon Sep 17 00:00:00 2001 From: Ricky <rickhanlonii@fb.com> Date: Thu, 9 May 2024 10:43:42 -0400 Subject: [PATCH 287/382] Add docs for useRef no no (#6846) --- .../learn/synchronizing-with-effects.md | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/src/content/learn/synchronizing-with-effects.md b/src/content/learn/synchronizing-with-effects.md index f1aa9843..4218171d 100644 --- a/src/content/learn/synchronizing-with-effects.md +++ b/src/content/learn/synchronizing-with-effects.md @@ -598,6 +598,33 @@ Usually, the answer is to implement the cleanup function. The cleanup function Most of the Effects you'll write will fit into one of the common patterns below. +<Pitfall> + +#### Don't use refs to prevent Effects from firing {/*dont-use-refs-to-prevent-effects-from-firing*/} + +A common pitfall for preventing Effects firing twice in development is to use a `ref` to prevent the Effect from running more than once. For example, you could "fix" the above bug with a `useRef`: + +```js {1,3-4} + const connectionRef = useRef(null); + useEffect(() => { + // 🚩 This wont fix the bug!!! + if (!connectionRef.current) { + connectionRef.current = createConnection(); + connectionRef.current.connect(); + } + }, []); +``` + +This makes it so you only see `"✅ Connecting..."` once in development, but it doesn't fix the bug. + +When the user navigates away, the connection still isn't closed and when they navigate back, a new connection is created. As the user navigates across the app, the connections would keep piling up, the same as it would before the "fix". + +To fix the bug, it is not enough to just make the Effect run once. The effect needs to work after re-mounting, which means the connection needs to be cleaned up like in the solution above. + +See the examples below for how to handle common patterns. + +</Pitfall> + ### Controlling non-React widgets {/*controlling-non-react-widgets*/} Sometimes you need to add UI widgets that aren't written to React. For example, let's say you're adding a map component to your page. It has a `setZoomLevel()` method, and you'd like to keep the zoom level in sync with a `zoomLevel` state variable in your React code. Your Effect would look similar to this: From f1b0f862332334f0e9439ca996767ad648e064ea Mon Sep 17 00:00:00 2001 From: Linda <skoryky@gmail.com> Date: Thu, 9 May 2024 18:01:57 -0700 Subject: [PATCH 288/382] Fix typo on tutorial-tic-tac-toe.md (#6843) Change the tense of "build" to "building". --- src/content/learn/tutorial-tic-tac-toe.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/learn/tutorial-tic-tac-toe.md b/src/content/learn/tutorial-tic-tac-toe.md index d3779145..f18ec493 100644 --- a/src/content/learn/tutorial-tic-tac-toe.md +++ b/src/content/learn/tutorial-tic-tac-toe.md @@ -2915,4 +2915,4 @@ If you have extra time or want to practice your new React skills, here are some 1. When someone wins, highlight the three squares that caused the win (and when no one wins, display a message about the result being a draw). 1. Display the location for each move in the format (row, col) in the move history list. -Throughout this tutorial, you've touched on React concepts including elements, components, props, and state. Now that you've seen how these concepts work when building a game, check out [Thinking in React](/learn/thinking-in-react) to see how the same React concepts work when build an app's UI. +Throughout this tutorial, you've touched on React concepts including elements, components, props, and state. Now that you've seen how these concepts work when building a game, check out [Thinking in React](/learn/thinking-in-react) to see how the same React concepts work when building an app's UI. From f9b9b66e0bbba6f54a92d867555c8b8669774bec Mon Sep 17 00:00:00 2001 From: Batuhan Tomo <91488737+Rekl0w@users.noreply.github.com> Date: Fri, 10 May 2024 11:26:43 +0300 Subject: [PATCH 289/382] Fix #6852: navigation link fix (#6853) --- src/content/reference/react-dom/components/form.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/reference/react-dom/components/form.md b/src/content/reference/react-dom/components/form.md index afdddc74..d5f65607 100644 --- a/src/content/reference/react-dom/components/form.md +++ b/src/content/reference/react-dom/components/form.md @@ -386,7 +386,7 @@ export async function signUpNewUser(newEmail) { </Sandpack> -Learn more about updating state from a form action with the [`useActionState`](/reference/react/hooks/useActionState) docs +Learn more about updating state from a form action with the [`useActionState`](/reference/react/useActionState) docs ### Handling multiple submission types {/*handling-multiple-submission-types*/} From 4f1d98577df19e3734fa66b8f0ca28a47dab49f7 Mon Sep 17 00:00:00 2001 From: Muhammad Saqib <segmentationfaulter@users.noreply.github.com> Date: Fri, 10 May 2024 19:19:44 +0500 Subject: [PATCH 290/382] Update synchronizing-with-effects.md (#6856) * Update synchronizing-with-effects.md Currently documentation says: By default, your Effect will run after every render. Which is in contrast with another section of the same page where it says: Effects run at the end of a commit after the screen updates * Update src/content/learn/synchronizing-with-effects.md --------- Co-authored-by: Ricky <rickhanlonii@gmail.com> --- src/content/learn/synchronizing-with-effects.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/learn/synchronizing-with-effects.md b/src/content/learn/synchronizing-with-effects.md index 4218171d..9ca10965 100644 --- a/src/content/learn/synchronizing-with-effects.md +++ b/src/content/learn/synchronizing-with-effects.md @@ -45,7 +45,7 @@ Here and later in this text, capitalized "Effect" refers to the React-specific d To write an Effect, follow these three steps: -1. **Declare an Effect.** By default, your Effect will run after every render. +1. **Declare an Effect.** By default, your Effect will run after every [commit](/learn/render-and-commit). 2. **Specify the Effect dependencies.** Most Effects should only re-run *when needed* rather than after every render. For example, a fade-in animation should only trigger when a component appears. Connecting and disconnecting to a chat room should only happen when the component appears and disappears, or when the chat room changes. You will learn how to control this by specifying *dependencies.* 3. **Add cleanup if needed.** Some Effects need to specify how to stop, undo, or clean up whatever they were doing. For example, "connect" needs "disconnect", "subscribe" needs "unsubscribe", and "fetch" needs either "cancel" or "ignore". You will learn how to do this by returning a *cleanup function*. From b7bf6c16fb3152626a71c115b3242df6eb93bc6e Mon Sep 17 00:00:00 2001 From: Batuhan Tomo <91488737+Rekl0w@users.noreply.github.com> Date: Fri, 10 May 2024 17:33:45 +0300 Subject: [PATCH 291/382] Fix Node.js version update at `package.json` (#6855) * Fix #6854: node.js version upgrade * Fix #6854: node.js version update --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index ddbe9250..26bb3965 100644 --- a/package.json +++ b/package.json @@ -98,7 +98,7 @@ "webpack-bundle-analyzer": "^4.5.0" }, "engines": { - "node": "^16.8.0 || ^18.0.0 || ^19.0.0 || ^20.0.0 || ^21.0.0" + "node": ">=16.8.0" }, "nextBundleAnalysis": { "budget": null, From a81e41555457e82e367c914b8cc84785f4144d1d Mon Sep 17 00:00:00 2001 From: Rajat Jindal <78809406+includerajat@users.noreply.github.com> Date: Mon, 13 May 2024 17:17:37 +0530 Subject: [PATCH 292/382] Change React dependency version in <form> page fix (#6858) Co-authored-by: Rajat Jindal <rajat@testing.com> --- src/content/reference/react-dom/components/form.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/content/reference/react-dom/components/form.md b/src/content/reference/react-dom/components/form.md index d5f65607..8f6ab00e 100644 --- a/src/content/reference/react-dom/components/form.md +++ b/src/content/reference/react-dom/components/form.md @@ -375,8 +375,8 @@ export async function signUpNewUser(newEmail) { ```json package.json hidden { "dependencies": { - "react": "18.3.0-canary-6db7f4209-20231021", - "react-dom": "18.3.0-canary-6db7f4209-20231021", + "react": "canary", + "react-dom": "canary", "react-scripts": "^5.0.0" }, "main": "/index.js", From f053b53b0501a6c9a4ec2d4de80a633e01ec2174 Mon Sep 17 00:00:00 2001 From: Jason Bonta <jbonta@gmail.com> Date: Mon, 13 May 2024 19:40:55 -0700 Subject: [PATCH 293/382] Update team.md: Jason Bonta (#6862) * Update team.md: Jason Bonta * Update src/content/community/team.md Lauren's suggestion Co-authored-by: lauren <poteto@users.noreply.github.com> --------- Co-authored-by: lauren <poteto@users.noreply.github.com> --- src/content/community/team.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/community/team.md b/src/content/community/team.md index 060e9c84..6004476e 100644 --- a/src/content/community/team.md +++ b/src/content/community/team.md @@ -31,7 +31,7 @@ Current members of the React team are listed in alphabetical order below. </TeamMember> <TeamMember name="Jason Bonta" permalink="jason-bonta" photo="/images/team/jasonbonta.jpg" threads="someextent" title="Engineering Manager at Meta"> - Jason likes having large volumes of Amazon packages delivered to the office so that he can build forts. Despite literally walling himself off from his team at times and not understanding how for-of loops work, we appreciate him for the unique qualities he brings to his work. + Jason abandoned embedded C for a career in front-end engineering and never looked back. Armed with esoteric CSS knowledge and a passion for beautiful UI, Jason joined Facebook in 2010, where he now feels privileged to have seen JavaScript development come of age. Though he may not understand how `for...of` loops work, he loves getting to work with brilliant people on projects that enable amazing UX. </TeamMember> <TeamMember name="Joe Savona" permalink="joe-savona" photo="/images/team/joe.jpg" github="josephsavona" twitter="en_JS" threads="joesavona" title="Engineer at Meta"> From e0c667feefa809feebb0e702e3612cf91c34780d Mon Sep 17 00:00:00 2001 From: Ricky <rickhanlonii@fb.com> Date: Wed, 15 May 2024 13:13:36 -0400 Subject: [PATCH 294/382] Add React Compiler Docs (#6869) * Add initial skeleton * Scaffold compiler docs structure * Braindump for getting started * Add intro * tweaks * add experimental tag * flesh more out of index page * flesh out installation * add installation intro * update install instrs * add section on eslint plugin * reorg * add incremental guide * [debugging] Add section about devtools badge * [debugging] Add section about using logger * Update next.js instructions * reporting issues * [debugging] Add section on useEffect over firing * [debugging] Add section about conditional hook call * Latest updates * Remove ununsed reference pages * adding extra context for Remix --------- Co-authored-by: Sathya Gunasekaran <gsathya.ceg@gmail.com> Co-authored-by: Lauren Tan <poteto@users.noreply.github.com> Co-authored-by: Jason Bonta <jbonta@gmail.com> --- src/content/learn/react-compiler.md | 282 ++++++++++++++++++++++++++++ src/sidebarLearn.json | 7 +- 2 files changed, 288 insertions(+), 1 deletion(-) create mode 100644 src/content/learn/react-compiler.md diff --git a/src/content/learn/react-compiler.md b/src/content/learn/react-compiler.md new file mode 100644 index 00000000..5918e45b --- /dev/null +++ b/src/content/learn/react-compiler.md @@ -0,0 +1,282 @@ +--- +title: React Compiler +--- + +<Intro> +This page will give you an introduction to the new experimental React Compiler and how to try it out successfully. +</Intro> + +<Wip> +These docs are still a work in progress. More documentation is available in the [React Compiler Working Group repo](https://github.com/reactwg/react-compiler/discussions), and will be upstreamed into these docs when they are more stable. +</Wip> + +<YouWillLearn> + +* Getting started with the compiler +* Installing the compiler and eslint plugin +* Troubleshooting + +</YouWillLearn> + +<Note> +React Compiler is a new experimental compiler that we've open sourced to get early feedback from the community. It still has rough edges and is not yet fully ready for production. + +React Compiler requires React 19 Beta. +</Note> + +React Compiler is a new experimental compiler that we've open sourced to get early feedback from the community. It is a build-time only tool that automatically optimizes your React app. It works with plain JavaScript, and understands the [Rules of React](/reference/rules), so you don't need to rewrite any code to use it. + +The compiler also includes an [eslint plugin](#installing-eslint-plugin-react-compiler) that surfaces the analysis from the compiler right in your editor. The plugin runs independently of the compiler and can be used even if you aren't using the compiler in your app. We recommend all React developers to use this eslint plugin to help improve the quality of your codebase. + +### What does the compiler do? {/*what-does-the-compiler-do*/} + +The compiler understands your code at a deep level through its understanding of plain JavaScript semantics and the [Rules of React](/reference/rules). This allows it to add automatic optimizations to your code. + +You may be familiar today with manual memoization through [`useMemo`](/reference/react/useMemo), [`useCallback`](/reference/react/useCallback), and [`React.memo`](/reference/react/memo). The compiler can automatically do this for you, if your code follows the [Rules of React](/reference/rules). If it detects breakages of the rules, it will automatically skip over just those components or hooks, and continue safely compiling other code. + +If your codebase is already very well memoized, you might not expect to see major performance improvements with the compiler. However, in practice memoizing the correct dependencies that cause performance issues is tricky to get right by hand. + +### Should I try out the compiler? {/*should-i-try-out-the-compiler*/} + +Please note that the compiler is still experimental and has many rough edges. While it has been used in production at companies like Meta, rolling out the compiler to production for your app will depend on the health of your codebase and how well you've followed the [Rules of React](/reference/rules). + +**You don't have to rush into using the compiler now. It's okay to wait until it reaches a stable release before adopting it.** However, we do appreciate trying it out in small experiments in your apps so that you can [provide feedback](#reporting-issues) to us to help make the compiler better. + +## Getting Started {/*getting-started*/} + +In addition to these docs, we recommend checking the [React Compiler Working Group](https://github.com/reactwg/react-compiler) for additional information and discussion about the compiler. + +### Rolling out the compiler to your codebase {/*using-the-compiler-effectively*/} + +#### Existing projects {/*existing-projects*/} +The compiler is designed to compile functional components and hooks that follows the [Rules of React](/reference/rules). It can also handle code that breaks those rules by bailing out (skipping over) those components or hooks. However, due to the flexible nature of JavaScript, the compiler cannot catch every possible violation and may compile with false negatives: that is, the compiler may accidentally compile a component/hook that breaks the Rules of React which can lead to undefined behavior. + +For this reason, to adopt the compiler successfully on existing projects, we recommend running it on a small directory in your product code first. You can do by configuring the compiler to only run on specific set of directories: + +```js {3} +const ReactCompilerConfig = { + sources: (filename) => { + return filename.indexOf('src/path/to/dir') !== -1; + }, +}; +``` + +In rare cases, you can also configure the compiler to run in "opt-in" mode using the `compilationMode: "annotation"` option. This makes it so the compiler will only compile components and hooks annotated with a `"use memo"` directive. Please note that the `annotation` mode is a temporary one to aid early adopters, and that we don't intend for the `"use memo"` directive to be used for the long term. + +```js {2,7} +const ReactCompilerConfig = { + compilationMode: "annotation", +}; + +// src/app.jsx +export default function App() { + "use memo"; + // ... +} +``` + +When you have more confidence with rolling out the compiler, you can expand coverage to other directories as well and slowly roll it out to your whole app. + +#### New projects {/*new-projects*/} + +If you're starting a new project, you can enable the compiler on your entire codebase, which is the default behavior. + +## Installation {/*installation*/} + +### Checking compatibility {/*checking-compatibility*/} + +Prior to installing the compiler, you can first check to see if your codebase is compatible: + +<TerminalBlock> +npx react-compiler-healthcheck +</TerminalBlock> + +This script will: + +- Check how many components can be successfully optimized: higher is better +- Check for `<StrictMode>` usage: having this enabled and followed means a higher chance that the [Rules of React](/reference/rules) are followed +- Check for incompatible library usage: known libaries that are incompatible with the compiler + +As an example: + +<TerminalBlock> +Successfully compiled 8 out of 9 components. +StrictMode usage not found. +Found no usage of incompatible libraries. +</TerminalBlock> + +### Installing eslint-plugin-react-compiler {/*installing-eslint-plugin-react-compiler*/} + +React Compiler also powers an eslint plugin. The eslint plugin can be used **independently** of the compiler, meaning you can use the eslint plugin even if you don't use the compiler. + +<TerminalBlock> +npm install eslint-plugin-react-compiler +</TerminalBlock> + +Then, add it to your eslint config: + +```js +module.exports = { + plugins: [ + 'eslint-plugin-react-compiler', + ], + rules: { + 'react-compiler/react-compiler': 2, + }, +} +``` + +### Usage with Babel {/*usage-with-babel*/} + +<TerminalBlock> +npm install babel-plugin-react-compiler +</TerminalBlock> + +The compiler includes a Babel plugin which you can use in your build pipeline to run the compiler. + +After installing, add it to your Babel config. Please note that it's critical that the compiler run **first** in the pipeline: + +```js {7} +// babel.config.js +const ReactCompilerConfig = { /* ... */ }; + +module.exports = function () { + return { + plugins: [ + ['babel-plugin-react-compiler', ReactCompilerConfig], // must run first! + // ... + ], + }; +}; +``` + +`babel-plugin-react-compiler` should run first before other Babel plugins as the compiler requires the input source information for sound analysis. + +### Usage with Vite {/*usage-with-vite*/} + +If you use Vite, you can add the plugin to vite-plugin-react: + +```js {10} +// vite.config.js +const ReactCompilerConfig = { /* ... */ }; + +export default defineConfig(() => { + return { + plugins: [ + react({ + babel: { + plugins: [ + ["babel-plugin-react-compiler", ReactCompilerConfig], + ], + }, + }), + ], + // ... + }; +}); +``` + +### Usage with Next.js {/*usage-with-nextjs*/} + +Next.js allows for a slower build pipeline via Babel, which can be enabled by [configuring Babel](#usage-with-babel) by adding a `babel.config.js` file. + +### Usage with Remix {/*usage-with-remix*/} +Install `vite-plugin-babel`, and add the compiler's Babel plugin to it: + +<TerminalBlock> +npm install vite-plugin-babel +</TerminalBlock> + +```js {2,14} +// vite.config.js +import babel from "vite-plugin-babel"; + +const ReactCompilerConfig = { /* ... */ }; + +export default defineConfig({ + plugins: [ + remix({ /* ... */}), + babel({ + filter: /\.[jt]sx?$/, + babelConfig: { + presets: ["@babel/preset-typescript"], // if you use TypeScript + plugins: [ + ["babel-plugin-react-compiler", ReactCompilerConfig], + ], + }, + }), + ], +}); +``` + +### Usage with Webpack {/*usage-with-webpack*/} + +You can create your own loader for React Compiler, like so: + +```js +const ReactCompilerConfig = { /* ... */ }; +const BabelPluginReactCompiler = require('babel-plugin-react-compiler'); + +function reactCompilerLoader(sourceCode, sourceMap) { + // ... + const result = transformSync(sourceCode, { + // ... + plugins: [ + [BabelPluginReactCompiler, ReactCompilerConfig], + ], + // ... + }); + + if (result === null) { + this.callback( + Error( + `Failed to transform "${options.filename}"` + ) + ); + return; + } + + this.callback( + null, + result.code + result.map === null ? undefined : result.map + ); +} + +module.exports = reactCompilerLoader; +``` + +### Usage with Expo {/*usage-with-expo*/} + +Expo uses Babel via Metro, so refer to the [Usage with Babel](#usage-with-babel) section for installation instructions. + +### Usage with React Native (Metro) {/*usage-with-react-native-metro*/} + +React Native uses Babel via Metro, so refer to the [Usage with Babel](#usage-with-babel) section for installation instructions. + +## Troubleshooting {/*troubleshooting*/} + +### Reporting Issues {/*reporting-issues*/} + +To report issues, please first create a minimal repro on the [React Compiler Playground](https://0xeac7-forget.vercel.app/) and include it in your bug report. + +You can open issues in the [facebook/react](https://github.com/facebook/react/issues) repo. + +You can also provide feedback in the React Compiler Working Group by applying to be a member. Please see [the README for more details on joining](https://github.com/reactwg/react-compiler). + +### Common Issues {/*common-issues*/} + +#### `(0 , _c) is not a function` error {/*0--_c-is-not-a-function-error*/} + +This occurs during JavaScript module evaluation when you are not using React 19 Beta and up. To fix this, [upgrade your app to React 19 Beta](https://react.dev/blog/2024/04/25/react-19-upgrade-guide) first. + +### Debugging {/*debugging*/} + +#### Checking if components have been optimized {/*checking-if-components-have-been-optimized*/} +##### React DevTools {/*react-devtools*/} + +React Devtools (v5.0+) has built-in support for React Compiler and will display a "Memo ✨" badge next to components that have been optimized by the compiler. + +##### Other issues {/*other-issues*/} + +Please see https://github.com/reactwg/react-compiler/discussions/7. \ No newline at end of file diff --git a/src/sidebarLearn.json b/src/sidebarLearn.json index 02806dc0..335fc355 100644 --- a/src/sidebarLearn.json +++ b/src/sidebarLearn.json @@ -43,6 +43,11 @@ { "title": "React Developer Tools", "path": "/learn/react-developer-tools" + }, + { + "title": "React Compiler", + "path": "/learn/react-compiler", + "canary": true } ] }, @@ -194,7 +199,7 @@ }, { "title": "Removing Effect Dependencies", - "path": "/learn/removing-effect-dependencies" + "path": "/learn/removing-effect-dependencies" }, { "title": "Reusing Logic with Custom Hooks", From fa19b7fc83464ba1062857bf919b16d8edf9199a Mon Sep 17 00:00:00 2001 From: Jason Bonta <jbonta@gmail.com> Date: Wed, 15 May 2024 11:26:59 -0700 Subject: [PATCH 295/382] compiler playground link --- src/content/learn/react-compiler.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/content/learn/react-compiler.md b/src/content/learn/react-compiler.md index 5918e45b..686e9d75 100644 --- a/src/content/learn/react-compiler.md +++ b/src/content/learn/react-compiler.md @@ -258,7 +258,7 @@ React Native uses Babel via Metro, so refer to the [Usage with Babel](#usage-wit ### Reporting Issues {/*reporting-issues*/} -To report issues, please first create a minimal repro on the [React Compiler Playground](https://0xeac7-forget.vercel.app/) and include it in your bug report. +To report issues, please first create a minimal repro on the [React Compiler Playground](https://playground.react.dev/) and include it in your bug report. You can open issues in the [facebook/react](https://github.com/facebook/react/issues) repo. @@ -279,4 +279,4 @@ React Devtools (v5.0+) has built-in support for React Compiler and will display ##### Other issues {/*other-issues*/} -Please see https://github.com/reactwg/react-compiler/discussions/7. \ No newline at end of file +Please see https://github.com/reactwg/react-compiler/discussions/7. From 8d69e6ebf9a89114c8cafc78b4464a74a384aa33 Mon Sep 17 00:00:00 2001 From: Shrey Sudhir <shrey.somaiya@gmail.com> Date: Fri, 17 May 2024 02:37:45 +1000 Subject: [PATCH 296/382] Clearer rule severity for React Compiler eslint plugin (#6870) Using "off", "warn", "error" has been supported for many years now - I think this helps improve the readability :) I completely forgot what rule: 2 meant - had to find it at https://eslint.org/docs/latest/use/configure/rules --- src/content/learn/react-compiler.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/learn/react-compiler.md b/src/content/learn/react-compiler.md index 686e9d75..9c698db7 100644 --- a/src/content/learn/react-compiler.md +++ b/src/content/learn/react-compiler.md @@ -121,7 +121,7 @@ module.exports = { 'eslint-plugin-react-compiler', ], rules: { - 'react-compiler/react-compiler': 2, + 'react-compiler/react-compiler': "error", }, } ``` From 4e3d63a923ca5608561766e1f9526e31eeabdc24 Mon Sep 17 00:00:00 2001 From: Dennis Kigen <kigen.work@gmail.com> Date: Fri, 17 May 2024 09:19:46 +0300 Subject: [PATCH 297/382] Fix typos in React Compiler guide (#6875) --- src/content/learn/react-compiler.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/content/learn/react-compiler.md b/src/content/learn/react-compiler.md index 9c698db7..1a6aaccb 100644 --- a/src/content/learn/react-compiler.md +++ b/src/content/learn/react-compiler.md @@ -49,9 +49,9 @@ In addition to these docs, we recommend checking the [React Compiler Working Gro ### Rolling out the compiler to your codebase {/*using-the-compiler-effectively*/} #### Existing projects {/*existing-projects*/} -The compiler is designed to compile functional components and hooks that follows the [Rules of React](/reference/rules). It can also handle code that breaks those rules by bailing out (skipping over) those components or hooks. However, due to the flexible nature of JavaScript, the compiler cannot catch every possible violation and may compile with false negatives: that is, the compiler may accidentally compile a component/hook that breaks the Rules of React which can lead to undefined behavior. +The compiler is designed to compile functional components and hooks that follow the [Rules of React](/reference/rules). It can also handle code that breaks those rules by bailing out (skipping over) those components or hooks. However, due to the flexible nature of JavaScript, the compiler cannot catch every possible violation and may compile with false negatives: that is, the compiler may accidentally compile a component/hook that breaks the Rules of React which can lead to undefined behavior. -For this reason, to adopt the compiler successfully on existing projects, we recommend running it on a small directory in your product code first. You can do by configuring the compiler to only run on specific set of directories: +For this reason, to adopt the compiler successfully on existing projects, we recommend running it on a small directory in your product code first. You can do this by configuring the compiler to only run on a specific set of directories: ```js {3} const ReactCompilerConfig = { From 3a46a6e435ac90054fc2cb1b3c7ee2dcf504645f Mon Sep 17 00:00:00 2001 From: Tim Neutkens <tim@timneutkens.nl> Date: Fri, 17 May 2024 14:34:43 +0200 Subject: [PATCH 298/382] Update instructions for setting up the React Compiler in Next.js (#6877) --- src/content/learn/react-compiler.md | 31 ++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/src/content/learn/react-compiler.md b/src/content/learn/react-compiler.md index 1a6aaccb..378756f2 100644 --- a/src/content/learn/react-compiler.md +++ b/src/content/learn/react-compiler.md @@ -178,7 +178,36 @@ export default defineConfig(() => { ### Usage with Next.js {/*usage-with-nextjs*/} -Next.js allows for a slower build pipeline via Babel, which can be enabled by [configuring Babel](#usage-with-babel) by adding a `babel.config.js` file. +Next.js has an experimental configuration to enable the React Compiler. It automatically ensures Babel is set up with `babel-plugin-react-compiler`. + +- Install Next.js canary, which uses React 19 Release Candidate +- Install `babel-plugin-react-compiler` + +<TerminalBlock> +npm install next@canary babel-plugin-react-compiler +</TerminalBlock> + +Then configure the experimental option in `next.config.js`: + +```js {4,5,6} +// next.config.js +/** @type {import('next').NextConfig} */ +const nextConfig = { + experimental: { + reactCompiler: true, + }, +}; + +export default nextConfig; +``` + +Using the experimental option ensures support for the React Compiler in: + +- App Router +- Pages Router +- Webpack (default) +- Turbopack (opt-in through `--turbo`) + ### Usage with Remix {/*usage-with-remix*/} Install `vite-plugin-babel`, and add the compiler's Babel plugin to it: From 70a7b64e8068ad7b8fd9073a7b565e61b60ac435 Mon Sep 17 00:00:00 2001 From: Tim Neutkens <tim@timneutkens.nl> Date: Fri, 17 May 2024 15:10:25 +0200 Subject: [PATCH 299/382] Update export of next.config.js (#6878) --- src/content/learn/react-compiler.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/learn/react-compiler.md b/src/content/learn/react-compiler.md index 378756f2..23c7f86a 100644 --- a/src/content/learn/react-compiler.md +++ b/src/content/learn/react-compiler.md @@ -198,7 +198,7 @@ const nextConfig = { }, }; -export default nextConfig; +module.exports = nextConfig; ``` Using the experimental option ensures support for the React Compiler in: From ee068ace26603117e2f7924f8cbfcd9a15f8acdc Mon Sep 17 00:00:00 2001 From: Kid Max <41998473+officialkidmax@users.noreply.github.com> Date: Sun, 19 May 2024 07:13:41 +0600 Subject: [PATCH 300/382] Update separating-events-from-effects.md (#6880) Removed ; as it's unnecessary in jsx component --- src/content/learn/separating-events-from-effects.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/learn/separating-events-from-effects.md b/src/content/learn/separating-events-from-effects.md index ac65d2b6..21276c28 100644 --- a/src/content/learn/separating-events-from-effects.md +++ b/src/content/learn/separating-events-from-effects.md @@ -44,7 +44,7 @@ function ChatRoom({ roomId }) { return ( <> <input value={message} onChange={e => setMessage(e.target.value)} /> - <button onClick={handleSendClick}>Send</button>; + <button onClick={handleSendClick}>Send</button> </> ); } From 8bb3eb3c44f6691ef7d496c8d330c673cca84122 Mon Sep 17 00:00:00 2001 From: Soichiro Miki <smiki-tky@umin.ac.jp> Date: Sun, 19 May 2024 10:56:42 +0900 Subject: [PATCH 301/382] Fix typo (spreadsheet => stylesheet) (#6750) --- src/content/reference/react-dom/components/link.md | 4 ++-- src/content/reference/react-dom/components/style.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/content/reference/react-dom/components/link.md b/src/content/reference/react-dom/components/link.md index c3331d94..9172a66e 100644 --- a/src/content/reference/react-dom/components/link.md +++ b/src/content/reference/react-dom/components/link.md @@ -44,12 +44,12 @@ To link to external resources such as stylesheets, fonts, and icons, or to annot These props apply when `rel="stylesheet"`: * `precedence`: a string. Tells React where to rank the `<link>` DOM node relative to others in the document `<head>`, which determines which stylesheet can override the other. Its value can be (in order of precedence) `"reset"`, `"low"`, `"medium"`, `"high"`. Stylesheets with the same precedence go together whether they are `<link>` or inline `<style>` tags or loaded using the [`preload`](/reference/react-dom/preload) or [`preinit`](/reference/react-dom/preinit) functions. -* `media`: a string. Restricts the spreadsheet to a certain [media query](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_media_queries/Using_media_queries). +* `media`: a string. Restricts the stylesheet to a certain [media query](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_media_queries/Using_media_queries). * `title`: a string. Specifies the name of an [alternative stylesheet](https://developer.mozilla.org/en-US/docs/Web/CSS/Alternative_style_sheets). These props apply when `rel="stylesheet"` but disable React's [special treatment of stylesheets](#special-rendering-behavior): -* `disabled`: a boolean. Disables the spreadsheet. +* `disabled`: a boolean. Disables the stylesheet. * `onError`: a function. Called when the stylesheet fails to load. * `onLoad`: a function. Called when the stylesheet finishes being loaded. diff --git a/src/content/reference/react-dom/components/style.md b/src/content/reference/react-dom/components/style.md index 2c5d7b97..77ee950e 100644 --- a/src/content/reference/react-dom/components/style.md +++ b/src/content/reference/react-dom/components/style.md @@ -42,7 +42,7 @@ To add inline styles to your document, render the [built-in browser `<style>` co * `children`: a string, required. The contents of the stylesheet. * `precedence`: a string. Tells React where to rank the `<style>` DOM node relative to others in the document `<head>`, which determines which stylesheet can override the other. Its value can be (in order of precedence) `"reset"`, `"low"`, `"medium"`, `"high"`. Stylesheets with the same precedence go together whether they are `<link>` or inline `<style>` tags or loaded using the [`preload`](/reference/react-dom/preload) or [`preinit`](/reference/react-dom/preinit) functions. * `href`: a string. Allows React to [de-duplicate styles](#special-rendering-behavior) that have the same `href`. -* `media`: a string. Restricts the spreadsheet to a certain [media query](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_media_queries/Using_media_queries). +* `media`: a string. Restricts the stylesheet to a certain [media query](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_media_queries/Using_media_queries). * `nonce`: a string. A cryptographic [nonce to allow the resource](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/nonce) when using a strict Content Security Policy. * `title`: a string. Specifies the name of an [alternative stylesheet](https://developer.mozilla.org/en-US/docs/Web/CSS/Alternative_style_sheets). From e7c52aac0ffd7b669806b28243f9e9c94ed0a5da Mon Sep 17 00:00:00 2001 From: Daniel Kelly <me@danielkelly.io> Date: Sat, 18 May 2024 21:32:33 -0500 Subject: [PATCH 302/382] add frontend nation conference (#6866) Front end nation is covering a full track of React talks including speakers such as: * Kent C Dodds * Sara Vieira * Tejas Kumar --- src/content/community/conferences.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/content/community/conferences.md b/src/content/community/conferences.md index 5c391ea1..dc0d60c5 100644 --- a/src/content/community/conferences.md +++ b/src/content/community/conferences.md @@ -45,6 +45,11 @@ May 22 - 24, 2024. In-person in Kraków, Poland + remote [Website](https://appjs.co) - [Twitter](https://twitter.com/appjsconf) +### Frontend Nation 2024 {/*frontend-nation-2024*/} +June 4 - 7, 2024. Online + +[Website](https://frontendnation.com/) - [Twitter](https://twitter.com/frontendnation) + ### React Summit 2024 {/*react-summit-2024*/} June 14 & 18, 2024. In-person in Amsterdam, Netherlands + remote (hybrid event) From 9967ded394d85af74e0ecdbf00feeb7921a28142 Mon Sep 17 00:00:00 2001 From: "Yousef M. El-Gohary" <30435916+yousefelgoharyx@users.noreply.github.com> Date: Sun, 19 May 2024 05:36:13 +0300 Subject: [PATCH 303/382] Fix the order of the returns of useActionState (#6864) --- src/content/reference/rsc/server-actions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/reference/rsc/server-actions.md b/src/content/reference/rsc/server-actions.md index cdabf5ad..06613cb7 100644 --- a/src/content/reference/rsc/server-actions.md +++ b/src/content/reference/rsc/server-actions.md @@ -173,7 +173,7 @@ You can compose Server Actions with `useActionState` for the common case where y import {updateName} from './actions'; function UpdateName() { - const [submitAction, state, isPending] = useActionState(updateName, {error: null}); + const [state, submitAction, isPending] = useActionState(updateName, {error: null}); return ( <form action={submitAction}> From 0dc72f68858629c5a0e3adb2898201baf6862c60 Mon Sep 17 00:00:00 2001 From: Ricky <rickhanlonii@fb.com> Date: Mon, 20 May 2024 10:53:56 -0400 Subject: [PATCH 304/382] Rm dupe blog description (#6885) --- src/components/PageHeading.tsx | 6 ------ 1 file changed, 6 deletions(-) diff --git a/src/components/PageHeading.tsx b/src/components/PageHeading.tsx index 659295d0..6000c8e5 100644 --- a/src/components/PageHeading.tsx +++ b/src/components/PageHeading.tsx @@ -22,7 +22,6 @@ function PageHeading({ title, status, canary, - description, tags = [], breadcrumbs, }: PageHeadingProps) { @@ -40,11 +39,6 @@ function PageHeading({ )} {status ? <em>—{status}</em> : ''} </H1> - {description && ( - <p className="mt-4 mb-6 dark:text-primary-dark text-xl text-primary leading-large"> - {description} - </p> - )} {tags?.length > 0 && ( <div className="mt-4"> {tags.map((tag) => ( From 05c9d77cfe6529c6527831ec576930105c45fec0 Mon Sep 17 00:00:00 2001 From: Rakesh Harishbhai Purohit <26131905+TheRakeshPurohit@users.noreply.github.com> Date: Tue, 21 May 2024 18:08:29 +0530 Subject: [PATCH 305/382] typo: spell check (#6892) --- src/content/learn/react-compiler.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/learn/react-compiler.md b/src/content/learn/react-compiler.md index 23c7f86a..9ca2a5a1 100644 --- a/src/content/learn/react-compiler.md +++ b/src/content/learn/react-compiler.md @@ -95,7 +95,7 @@ This script will: - Check how many components can be successfully optimized: higher is better - Check for `<StrictMode>` usage: having this enabled and followed means a higher chance that the [Rules of React](/reference/rules) are followed -- Check for incompatible library usage: known libaries that are incompatible with the compiler +- Check for incompatible library usage: known libraries that are incompatible with the compiler As an example: From bc43b955832afb4a1ff5f29cf0168560d6227e37 Mon Sep 17 00:00:00 2001 From: Ricky <rickhanlonii@fb.com> Date: Tue, 21 May 2024 10:58:45 -0400 Subject: [PATCH 306/382] End ReactConf banner (#6893) --- src/components/Layout/Page.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/Layout/Page.tsx b/src/components/Layout/Page.tsx index 1040e1aa..24d37958 100644 --- a/src/components/Layout/Page.tsx +++ b/src/components/Layout/Page.tsx @@ -8,7 +8,7 @@ import {useRouter} from 'next/router'; import {SidebarNav} from './SidebarNav'; import {Footer} from './Footer'; import {Toc} from './Toc'; -import SocialBanner from '../SocialBanner'; +// import SocialBanner from '../SocialBanner'; import {DocsPageFooter} from 'components/DocsFooter'; import {Seo} from 'components/Seo'; import PageHeading from 'components/PageHeading'; @@ -137,7 +137,7 @@ export function Page({ /> </Head> )} - <SocialBanner /> + {/*<SocialBanner />*/} <TopNav section={section} routeTree={routeTree} From beefa060c399bc57fccfd3a280309f9353424758 Mon Sep 17 00:00:00 2001 From: kiner-tang <1127031143@qq.com> Date: Wed, 22 May 2024 00:52:08 +0800 Subject: [PATCH 307/382] docs: format src/content/blog/2024/04/25/react-19.md (#6883) --- src/content/blog/2024/04/25/react-19.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/content/blog/2024/04/25/react-19.md b/src/content/blog/2024/04/25/react-19.md index 1ccffa1c..461a9038 100644 --- a/src/content/blog/2024/04/25/react-19.md +++ b/src/content/blog/2024/04/25/react-19.md @@ -510,8 +510,7 @@ Due to the introduction of ref cleanup functions, returning anything else from a The original code returned the instance of the `HTMLDivElement` and TypeScript wouldn't know if this was _supposed_ to be a cleanup function or if you didn't want to return a cleanup function. -You can codemod this pattern with [`no-implicit-ref-callback-return -`](https://github.com/eps1lon/types-react-codemod/#no-implicit-ref-callback-return). +You can codemod this pattern with [`no-implicit-ref-callback-return`](https://github.com/eps1lon/types-react-codemod/#no-implicit-ref-callback-return). ### `useDeferredValue` initial value {/*use-deferred-value-initial-value*/} From 80d30d70de4b6602f78f641ed229b8a3abbac377 Mon Sep 17 00:00:00 2001 From: oh hyun keun <84114149+ohe1013@users.noreply.github.com> Date: Wed, 22 May 2024 02:19:51 +0900 Subject: [PATCH 308/382] navitem-css-change (#6888) Co-authored-by: OH HYUN KEUN <ohhk@uitgis.com> --- src/components/Layout/TopNav/TopNav.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/Layout/TopNav/TopNav.tsx b/src/components/Layout/TopNav/TopNav.tsx index c93992e5..921d2102 100644 --- a/src/components/Layout/TopNav/TopNav.tsx +++ b/src/components/Layout/TopNav/TopNav.tsx @@ -125,7 +125,7 @@ function NavItem({url, isActive, children}: any) { <Link href={url} className={cn( - 'active:scale-95 transition-transform w-full text-center outline-link py-1.5 px-1.5 xs:px-3 sm:px-4 rounded-full capitalize', + 'active:scale-95 transition-transform w-full text-center outline-link py-1.5 px-1.5 xs:px-3 sm:px-4 rounded-full capitalize whitespace-nowrap', !isActive && 'hover:bg-primary/5 hover:dark:bg-primary-dark/5', isActive && 'bg-highlight dark:bg-highlight-dark text-link dark:text-link-dark' From adb3bedd4bca408058e807d777ce5fd88ecd0794 Mon Sep 17 00:00:00 2001 From: lauren <poteto@users.noreply.github.com> Date: Tue, 21 May 2024 16:05:06 -0400 Subject: [PATCH 309/382] Update react-compiler docs (#6898) This upstreams some of the [introduction post](https://github.com/reactwg/react-compiler/discussions/5) into the docs since this knowledge is quite fundamental to understanding the compiler, and it's confusing to not have it linked in the canonical source for the docs. It also adds more information about [debugging](https://github.com/reactwg/react-compiler/discussions/7) and reorganizes a few sections to make things clearer ghstack-source-id: ef32fc723722eb5119529abcc572dd2bcf2b1cab Pull Request resolved: https://github.com/reactjs/react.dev/pull/6895 --- src/content/learn/react-compiler.md | 197 ++++++++++++++++++++-------- 1 file changed, 144 insertions(+), 53 deletions(-) diff --git a/src/content/learn/react-compiler.md b/src/content/learn/react-compiler.md index 9ca2a5a1..53023584 100644 --- a/src/content/learn/react-compiler.md +++ b/src/content/learn/react-compiler.md @@ -21,7 +21,7 @@ These docs are still a work in progress. More documentation is available in the <Note> React Compiler is a new experimental compiler that we've open sourced to get early feedback from the community. It still has rough edges and is not yet fully ready for production. -React Compiler requires React 19 Beta. +React Compiler requires React 19 Beta. If you are unable to upgrade to React 19, you may try a userspace implementation of the cache function as described in the [Working Group](https://github.com/reactwg/react-compiler/discussions/6). However, please note that this is not recommended and you should upgrade to React 19 when possible. </Note> React Compiler is a new experimental compiler that we've open sourced to get early feedback from the community. It is a build-time only tool that automatically optimizes your React app. It works with plain JavaScript, and understands the [Rules of React](/reference/rules), so you don't need to rewrite any code to use it. @@ -30,65 +30,98 @@ The compiler also includes an [eslint plugin](#installing-eslint-plugin-react-co ### What does the compiler do? {/*what-does-the-compiler-do*/} -The compiler understands your code at a deep level through its understanding of plain JavaScript semantics and the [Rules of React](/reference/rules). This allows it to add automatic optimizations to your code. +In order to optimize applications, React Compiler automatically memoizes your code. You may be familiar today with memoization through APIs such as `useMemo`, `useCallback`, and `React.memo`. With these APIs you can tell React that certain parts of your application don't need to recompute if their inputs haven't changed, reducing work on updates. While powerful, it's easy to forget to apply memoization or apply them incorrectly. This can lead to inefficient updates as React has to check parts of your UI that don't have any _meaningful_ changes. -You may be familiar today with manual memoization through [`useMemo`](/reference/react/useMemo), [`useCallback`](/reference/react/useCallback), and [`React.memo`](/reference/react/memo). The compiler can automatically do this for you, if your code follows the [Rules of React](/reference/rules). If it detects breakages of the rules, it will automatically skip over just those components or hooks, and continue safely compiling other code. +The compiler uses its knowledge of JavaScript and React's rules to automatically memoize values or groups of values within your components and hooks. If it detects breakages of the rules, it will automatically skip over just those components or hooks, and continue safely compiling other code. -If your codebase is already very well memoized, you might not expect to see major performance improvements with the compiler. However, in practice memoizing the correct dependencies that cause performance issues is tricky to get right by hand. +If your codebase is already very well-memoized, you might not expect to see major performance improvements with the compiler. However, in practice memoizing the correct dependencies that cause performance issues is tricky to get right by hand. -### Should I try out the compiler? {/*should-i-try-out-the-compiler*/} - -Please note that the compiler is still experimental and has many rough edges. While it has been used in production at companies like Meta, rolling out the compiler to production for your app will depend on the health of your codebase and how well you've followed the [Rules of React](/reference/rules). +<DeepDive> +#### What kind of memoization does React Compiler add? {/*what-kind-of-memoization-does-react-compiler-add*/} -**You don't have to rush into using the compiler now. It's okay to wait until it reaches a stable release before adopting it.** However, we do appreciate trying it out in small experiments in your apps so that you can [provide feedback](#reporting-issues) to us to help make the compiler better. +The initial release of React Compiler is primarily focused on **improving update performance** (re-rendering existing components), so it focuses on these two use cases: -## Getting Started {/*getting-started*/} +1. **Skipping cascading re-rendering of components** + * Re-rendering `<Parent />` causes many components in its component tree to re-render, even though only `<Parent />` has changed +1. **Skipping expensive calculations from outside of React** + * For example, calling `expensivelyProcessAReallyLargeArrayOfObjects()` inside of your component or hook that needs that data -In addition to these docs, we recommend checking the [React Compiler Working Group](https://github.com/reactwg/react-compiler) for additional information and discussion about the compiler. +#### Optimizing Re-renders {/*optimizing-re-renders*/} -### Rolling out the compiler to your codebase {/*using-the-compiler-effectively*/} +React lets you express your UI as a function of their current state (more concretely: their props, state, and context). In its current implementation, when a component's state changes, React will re-render that component _and all of its children_ — unless you have applied some form of manual memoization with `useMemo()`, `useCallback()`, or `React.memo()`. For example, in the following example, `<MessageButton>` will re-render whenever `<FriendList>`'s state changes: -#### Existing projects {/*existing-projects*/} -The compiler is designed to compile functional components and hooks that follow the [Rules of React](/reference/rules). It can also handle code that breaks those rules by bailing out (skipping over) those components or hooks. However, due to the flexible nature of JavaScript, the compiler cannot catch every possible violation and may compile with false negatives: that is, the compiler may accidentally compile a component/hook that breaks the Rules of React which can lead to undefined behavior. +```javascript +function FriendList({ friends }) { + const onlineCount = useFriendOnlineCount(); + if (friends.length === 0) { + return <NoFriends />; + } + return ( + <div> + <span>{onlineCount} online</span> + {friends.map((friend) => ( + <FriendListCard key={friend.id} friend={friend} /> + ))} + <MessageButton /> + </div> + ); +} +``` +[_See this example in the React Compiler Playground_](https://playground.react.dev/#N4Igzg9grgTgxgUxALhAMygOzgFwJYSYAEAYjHgpgCYAyeYOAFMEWuZVWEQL4CURwADrEicQgyKEANnkwIAwtEw4iAXiJQwCMhWoB5TDLmKsTXgG5hRInjRFGbXZwB0UygHMcACzWr1ABn4hEWsYBBxYYgAeADkIHQ4uAHoAPksRbisiMIiYYkYs6yiqPAA3FMLrIiiwAAcAQ0wU4GlZBSUcbklDNqikusaKkKrgR0TnAFt62sYHdmp+VRT7SqrqhOo6Bnl6mCoiAGsEAE9VUfmqZzwqLrHqM7ubolTVol5eTOGigFkEMDB6u4EAAhKA4HCEZ5DNZ9ErlLIWYTcEDcIA) -For this reason, to adopt the compiler successfully on existing projects, we recommend running it on a small directory in your product code first. You can do this by configuring the compiler to only run on a specific set of directories: +React Compiler automatically applies the equivalent of manual memoization, ensuring that only the relevant parts of an app re-render as state changes, which is sometimes referred to as "fine-grained reactivity". In the above example, React Compiler determines that the return value of `<FriendListCard />` can be reused even as `friends` changes, and can avoid recreating this JSX _and_ avoid re-rendering `<MessageButton>` as the count changes. -```js {3} -const ReactCompilerConfig = { - sources: (filename) => { - return filename.indexOf('src/path/to/dir') !== -1; - }, -}; -``` +#### Expensive calculations also get memoized {/*expensive-calculations-also-get-memoized*/} -In rare cases, you can also configure the compiler to run in "opt-in" mode using the `compilationMode: "annotation"` option. This makes it so the compiler will only compile components and hooks annotated with a `"use memo"` directive. Please note that the `annotation` mode is a temporary one to aid early adopters, and that we don't intend for the `"use memo"` directive to be used for the long term. +The compiler can also automatically memoize for expensive calculations used during rendering: -```js {2,7} -const ReactCompilerConfig = { - compilationMode: "annotation", -}; +```js +// **Not** memoized by React Compiler, since this is not a component or hook +function expensivelyProcessAReallyLargeArrayOfObjects() { /* ... */ } -// src/app.jsx -export default function App() { - "use memo"; +// Memoized by React Compiler since this is a component +function TableContainer({ items }) { + // This function call would be memoized: + const data = expensivelyProcessAReallyLargeArrayOfObjects(items); // ... } ``` +[_See this example in the React Compiler Playground_](https://playground.react.dev/#N4Igzg9grgTgxgUxALhAejQAgFTYHIQAuumAtgqRAJYBeCAJpgEYCemASggIZyGYDCEUgAcqAGwQwANJjBUAdokyEAFlTCZ1meUUxdMcIcIjyE8vhBiYVECAGsAOvIBmURYSonMCAB7CzcgBuCGIsAAowEIhgYACCnFxioQAyXDAA5gixMDBcLADyzvlMAFYIvGAAFACUmMCYaNiYAHStOFgAvk5OGJgAshTUdIysHNy8AkbikrIKSqpaWvqGIiZmhE6u7p7ymAAqXEwSguZcCpKV9VSEFBodtcBOmAYmYHz0XIT6ALzefgFUYKhCJRBAxeLcJIsVIZLI5PKFYplCqVa63aoAbm6u0wMAQhFguwAPPRAQA+YAfL4dIloUmBMlODogDpAA) -When you have more confidence with rolling out the compiler, you can expand coverage to other directories as well and slowly roll it out to your whole app. +However, if `expensivelyProcessAReallyLargeArrayOfObjects` is truly an expensive function, you may want to consider implementing its own memoization outside of React, because: -#### New projects {/*new-projects*/} +- React Compiler only memoizes React components and hooks, not every function +- React Compiler's memoization is not shared across multiple components or hooks -If you're starting a new project, you can enable the compiler on your entire codebase, which is the default behavior. +So if `expensivelyProcessAReallyLargeArrayOfObjects` was used in many different components, even if the same exact items were passed down, that expensive calculation would be run repeatedly. We recommend [profiling](https://react.dev/reference/react/useMemo#how-to-tell-if-a-calculation-is-expensive) first to see if it really is that expensive before making code more complicated. +</DeepDive> + +### What does the compiler assume? {/*what-does-the-compiler-assume*/} + +React Compiler assumes that your code: + +1. Is valid, semantic JavaScript +2. Tests that nullable/optional values and properties are defined before accessing them (for example, by enabling [`strictNullChecks`](https://www.typescriptlang.org/tsconfig/#strictNullChecks) if using TypeScript), i.e., `if (object.nullableProperty) { object.nullableProperty.foo }` or with optional-chaining `object.nullableProperty?.foo` +3. Follows the [Rules of React](https://react.dev/reference/rules) -## Installation {/*installation*/} +React Compiler can verify many of the Rules of React statically, and will safely skip compilation when it detects an error. To see the errors we recommend also installing [eslint-plugin-react-compiler](https://www.npmjs.com/package/eslint-plugin-react-compiler). + +### Should I try out the compiler? {/*should-i-try-out-the-compiler*/} + +Please note that the compiler is still experimental and has many rough edges. While it has been used in production at companies like Meta, rolling out the compiler to production for your app will depend on the health of your codebase and how well you've followed the [Rules of React](/reference/rules). + +**You don't have to rush into using the compiler now. It's okay to wait until it reaches a stable release before adopting it.** However, we do appreciate trying it out in small experiments in your apps so that you can [provide feedback](#reporting-issues) to us to help make the compiler better. + +## Getting Started {/*getting-started*/} + +In addition to these docs, we recommend checking the [React Compiler Working Group](https://github.com/reactwg/react-compiler) for additional information and discussion about the compiler. ### Checking compatibility {/*checking-compatibility*/} Prior to installing the compiler, you can first check to see if your codebase is compatible: <TerminalBlock> -npx react-compiler-healthcheck +npx react-compiler-healthcheck@latest </TerminalBlock> This script will: @@ -126,7 +159,48 @@ module.exports = { } ``` -### Usage with Babel {/*usage-with-babel*/} +The eslint plugin will display any violations of the rules of React in your editor. When it does this, it means that the compiler has skipped over optimizing that component or hook. This is perfectly okay, and the compiler can recover and continue optimizing other components in your codebase. + +**You don't have to fix all eslint violations straight away.** You can address them at your own pace to increase the amount of components and hooks being optimized, but it is not required to fix everything before you can use the compiler. + +### Rolling out the compiler to your codebase {/*using-the-compiler-effectively*/} + +#### Existing projects {/*existing-projects*/} +The compiler is designed to compile functional components and hooks that follow the [Rules of React](/reference/rules). It can also handle code that breaks those rules by bailing out (skipping over) those components or hooks. However, due to the flexible nature of JavaScript, the compiler cannot catch every possible violation and may compile with false negatives: that is, the compiler may accidentally compile a component/hook that breaks the Rules of React which can lead to undefined behavior. + +For this reason, to adopt the compiler successfully on existing projects, we recommend running it on a small directory in your product code first. You can do this by configuring the compiler to only run on a specific set of directories: + +```js {3} +const ReactCompilerConfig = { + sources: (filename) => { + return filename.indexOf('src/path/to/dir') !== -1; + }, +}; +``` + +In rare cases, you can also configure the compiler to run in "opt-in" mode using the `compilationMode: "annotation"` option. This makes it so the compiler will only compile components and hooks annotated with a `"use memo"` directive. Please note that the `annotation` mode is a temporary one to aid early adopters, and that we don't intend for the `"use memo"` directive to be used for the long term. + +```js {2,7} +const ReactCompilerConfig = { + compilationMode: "annotation", +}; + +// src/app.jsx +export default function App() { + "use memo"; + // ... +} +``` + +When you have more confidence with rolling out the compiler, you can expand coverage to other directories as well and slowly roll it out to your whole app. + +#### New projects {/*new-projects*/} + +If you're starting a new project, you can enable the compiler on your entire codebase, which is the default behavior. + +## Usage {/*installation*/} + +### Babel {/*usage-with-babel*/} <TerminalBlock> npm install babel-plugin-react-compiler @@ -152,7 +226,7 @@ module.exports = function () { `babel-plugin-react-compiler` should run first before other Babel plugins as the compiler requires the input source information for sound analysis. -### Usage with Vite {/*usage-with-vite*/} +### Vite {/*usage-with-vite*/} If you use Vite, you can add the plugin to vite-plugin-react: @@ -176,7 +250,7 @@ export default defineConfig(() => { }); ``` -### Usage with Next.js {/*usage-with-nextjs*/} +### Next.js {/*usage-with-nextjs*/} Next.js has an experimental configuration to enable the React Compiler. It automatically ensures Babel is set up with `babel-plugin-react-compiler`. @@ -209,7 +283,7 @@ Using the experimental option ensures support for the React Compiler in: - Turbopack (opt-in through `--turbo`) -### Usage with Remix {/*usage-with-remix*/} +### Remix {/*usage-with-remix*/} Install `vite-plugin-babel`, and add the compiler's Babel plugin to it: <TerminalBlock> @@ -238,7 +312,7 @@ export default defineConfig({ }); ``` -### Usage with Webpack {/*usage-with-webpack*/} +### Webpack {/*usage-with-webpack*/} You can create your own loader for React Compiler, like so: @@ -275,37 +349,54 @@ function reactCompilerLoader(sourceCode, sourceMap) { module.exports = reactCompilerLoader; ``` -### Usage with Expo {/*usage-with-expo*/} +### Expo {/*usage-with-expo*/} Expo uses Babel via Metro, so refer to the [Usage with Babel](#usage-with-babel) section for installation instructions. -### Usage with React Native (Metro) {/*usage-with-react-native-metro*/} +### Metro (React Native) {/*usage-with-react-native-metro*/} React Native uses Babel via Metro, so refer to the [Usage with Babel](#usage-with-babel) section for installation instructions. ## Troubleshooting {/*troubleshooting*/} -### Reporting Issues {/*reporting-issues*/} +To report issues, please first create a minimal repro on the [React Compiler Playground](https://playground.react.dev/) and include it in your bug report. You can open issues in the [facebook/react](https://github.com/facebook/react/issues) repo. -To report issues, please first create a minimal repro on the [React Compiler Playground](https://playground.react.dev/) and include it in your bug report. +You can also provide feedback in the React Compiler Working Group by applying to be a member. Please see [the README for more details on joining](https://github.com/reactwg/react-compiler). -You can open issues in the [facebook/react](https://github.com/facebook/react/issues) repo. +### `(0 , _c) is not a function` error {/*0--_c-is-not-a-function-error*/} -You can also provide feedback in the React Compiler Working Group by applying to be a member. Please see [the README for more details on joining](https://github.com/reactwg/react-compiler). +This occurs if you are not using React 19 Beta and up. To fix this, [upgrade your app to React 19 Beta](https://react.dev/blog/2024/04/25/react-19-upgrade-guide) first. + +If you are unable to upgrade to React 19, you may try a userspace implementation of the cache function as described in the [Working Group](https://github.com/reactwg/react-compiler/discussions/6). However, please note that this is not recommended and you should upgrade to React 19 when possible. + +### How do I know my components have been optimized? {/*how-do-i-know-my-components-have-been-optimized*/} + +[React Devtools](/learn/react-developer-tools) (v5.0+) has built-in support for React Compiler and will display a "Memo ✨" badge next to components that have been optimized by the compiler. + +### Something is not working after compilation {/*something-is-not-working-after-compilation*/} +If you have eslint-plugin-react-compiler installed, the compiler will display any violations of the rules of React in your editor. When it does this, it means that the compiler has skipped over optimizing that component or hook. This is perfectly okay, and the compiler can recover and continue optimizing other components in your codebase. **You don't have to fix all eslint violations straight away.** You can address them at your own pace to increase the amount of components and hooks being optimized. -### Common Issues {/*common-issues*/} +Due to the flexible and dynamic nature of JavaScript however, it's not possible to comprehensively detect all cases. Bugs and undefined behavior such as infinite loops may occur in those cases. -#### `(0 , _c) is not a function` error {/*0--_c-is-not-a-function-error*/} +If your app doesn't work properly after compilation and you aren't seeing any eslint errors, the compiler may be incorrectly compiling your code. To confirm this, try to make the issue go away by aggressively opting out any component or hook you think might be related via the [`"use no memo"` directive](#opt-out-of-the-compiler-for-a-component). -This occurs during JavaScript module evaluation when you are not using React 19 Beta and up. To fix this, [upgrade your app to React 19 Beta](https://react.dev/blog/2024/04/25/react-19-upgrade-guide) first. +```js {2} +function SuspiciousComponent() { + "use no memo"; // opts out this component from being compiled by React Compiler + // ... +} +``` -### Debugging {/*debugging*/} +<Note> +#### `"use no memo"` {/*use-no-memo*/} + +`"use no memo"` is a _temporary_ escape hatch that lets you opt-out components and hooks from being compiled by the React Compiler. This directive is not meant to be long lived the same way as eg [`"use client"`](/reference/rsc/use-client) is. -#### Checking if components have been optimized {/*checking-if-components-have-been-optimized*/} -##### React DevTools {/*react-devtools*/} +It is not recommended to reach for this directive unless it's strictly necessary. Once you opt-out a component or hook, it is opted-out forever until the directive is removed. This means that even if you fix the code, the compiler will still skip over compiling it unless you remove the directive. +</Note> -React Devtools (v5.0+) has built-in support for React Compiler and will display a "Memo ✨" badge next to components that have been optimized by the compiler. +When you make the error go away, confirm that removing the opt out directive makes the issue come back. Then share a bug report with us (you can try to reduce it to a small repro, or if it's open source code you can also just paste the entire source) using the [React Compiler Playground](https://playground.react.dev) so we can identify and help fix the issue. -##### Other issues {/*other-issues*/} +### Other issues {/*other-issues*/} Please see https://github.com/reactwg/react-compiler/discussions/7. From 4eb08503cec86730193e20f663cc60d20863da15 Mon Sep 17 00:00:00 2001 From: emmanueposu <102590682+emmanueposu@users.noreply.github.com> Date: Wed, 22 May 2024 06:42:42 -0700 Subject: [PATCH 310/382] fixed typo in synchronizing-with-effects.md (#6899) --- src/content/learn/synchronizing-with-effects.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/learn/synchronizing-with-effects.md b/src/content/learn/synchronizing-with-effects.md index 9ca10965..48e99cc2 100644 --- a/src/content/learn/synchronizing-with-effects.md +++ b/src/content/learn/synchronizing-with-effects.md @@ -1600,7 +1600,7 @@ Each render's Effect has its own `ignore` variable. Initially, the `ignore` vari - Fetching `'Bob'` completes - The Effect from the `'Bob'` render **does not do anything because its `ignore` flag was set to `true`** -In addition to ignoring the result of an outdated API call, you can also use [`AbortController`](https://developer.mozilla.org/en-US/docs/Web/API/AbortController) to cancel the requests that are no longer needed. However, by itself this is not enough to protect against race conditions. More asynchronous steps could be chained after the fetch, so using an explicit flag like `ignore` is the most reliable way to fix this type of problems. +In addition to ignoring the result of an outdated API call, you can also use [`AbortController`](https://developer.mozilla.org/en-US/docs/Web/API/AbortController) to cancel the requests that are no longer needed. However, by itself this is not enough to protect against race conditions. More asynchronous steps could be chained after the fetch, so using an explicit flag like `ignore` is the most reliable way to fix this type of problem. </Solution> From 59a2739198557e7a2409eb60ff31ac06c63af4c7 Mon Sep 17 00:00:00 2001 From: Ricky <rickhanlonii@fb.com> Date: Wed, 22 May 2024 11:42:02 -0400 Subject: [PATCH 311/382] Add React Conf 2024 Recap post (#6886) * Add React Conf 2024 Recap post * Spelling and links * Apply suggestions from code review Co-authored-by: lauren <poteto@users.noreply.github.com> * Edits * Edits * better link * Update date * Update date and nits * feedback --------- Co-authored-by: lauren <poteto@users.noreply.github.com> --- .../blog/2024/05/22/react-conf-2024-recap.md | 124 ++++++++++++++++++ src/content/blog/index.md | 6 + src/sidebarBlog.json | 7 + 3 files changed, 137 insertions(+) create mode 100644 src/content/blog/2024/05/22/react-conf-2024-recap.md diff --git a/src/content/blog/2024/05/22/react-conf-2024-recap.md b/src/content/blog/2024/05/22/react-conf-2024-recap.md new file mode 100644 index 00000000..26ed6cb3 --- /dev/null +++ b/src/content/blog/2024/05/22/react-conf-2024-recap.md @@ -0,0 +1,124 @@ +--- +title: "React Conf 2024 Recap" +author: Ricky Hanlon +date: 2024/05/22 +description: Last week we hosted React Conf 2024, a two-day conference in Henderson, Nevada where 700+ attendees gathered in-person to discuss the latest in UI engineering. In this post, we'll summarize the talks and announcements from the event. +--- + +May 22, 2024 by [Ricky Hanlon](https://twitter.com/rickhanlonii). + +--- + +<Intro> + +Last week we hosted React Conf 2024, a two-day conference in Henderson, Nevada where 700+ attendees gathered in-person to discuss the latest in UI engineering. This was our first in-person conference since 2019, and we were thrilled to be able to bring the community together again. + +</Intro> + +--- + +At React Conf 2024, we announced the [React 19 RC](/blog/2024/04/25/react-19), the [React Native New Architecture Beta](https://github.com/reactwg/react-native-new-architecture/discussions/189), and an experimental release of the [React Compiler](/learn/react-compiler). The community also took the stage to announce [React Router v7](https://remix.run/blog/merging-remix-and-react-router), [Universal Server Components](https://www.youtube.com/watch?v=T8TZQ6k4SLE&t=5542s) in Expo Router, React Server Components in [RedwoodJS](https://redwoodjs.com/blog/rsc-now-in-redwoodjs), and much more. + +The entire [day 1](https://www.youtube.com/watch?v=T8TZQ6k4SLE) and [day 2](https://www.youtube.com/watch?v=0ckOUBiuxVY) streams are available online. In this post, we'll summarize the talks and announcements from the event. + +## Day 1 {/*day-1*/} + +_[Watch the full day 1 stream here.](https://www.youtube.com/watch?v=T8TZQ6k4SLE&t=973s)_ + +To kick off day 1, Meta CTO [Andrew "Boz" Bosworth](https://www.threads.net/@boztank) shared a welcome message followed by an introduction by [Seth Webster](https://twitter.com/sethwebster), who manages the React Org at Meta, and our MC [Ashley Narcisse](https://twitter.com/_darkfadr). + +In the day 1 keynote, [Joe Savona](https://twitter.com/en_JS) shared our goals and vision for React to make it easy for anyone to build great user experiences. [Lauren Tan](https://twitter.com/potetotes) followed with a State of React, where she shared that React was downloaded over 1 billion times in 2023, and that 37% of new developers learn to program with React. Finally, she highlighted the work of the React community to make React, React. + +For more, check out these talks from the community later in the conference: + +- [Vanilla React](https://www.youtube.com/watch?v=T8TZQ6k4SLE&t=5542s) by [Ryan Florence](https://twitter.com/ryanflorence) +- [React Rhythm & Blues](https://www.youtube.com/watch?v=0ckOUBiuxVY&t=12728s) by [Lee Robinson](https://twitter.com/leeerob) +- [RedwoodJS, now with React Server Components](https://www.youtube.com/watch?v=T8TZQ6k4SLE&t=26815s) by [Amy Dutton](https://twitter.com/selfteachme) +- [Introducing Universal React Server Components in Expo Router](https://www.youtube.com/watch?v=T8TZQ6k4SLE&t=5542s) by [Evan Bacon](https://twitter.com/Baconbrix) + +Next in the keynote, [Josh Story](https://twitter.com/joshcstory) and [Andrew Clark](https://twitter.com/acdlite) shared new features [coming in React 19](/blog/2024/04/25/react-19), and announced the React 19 RC which is ready for testing in production. Check out all the features in the React 19 [release announcement post](/blog/2024/04/25/react-19), and see these talks for deep dives on the new features: + +- [What's new in React 19](https://www.youtube.com/watch?v=T8TZQ6k4SLE&t=5542s) by [Lydia Hallie](https://twitter.com/lydiahallie) +- [React Unpacked: A Roadmap to React 19](https://www.youtube.com/watch?v=T8TZQ6k4SLE&t=5542s) by [Sam Selikoff](https://twitter.com/samselikoff) +- [React 19 Deep Dive: Coordinating HTML](https://www.youtube.com/watch?v=T8TZQ6k4SLE&t=5542s) by [Josh Story](https://twitter.com/joshcstory) +- [Enhancing Forms with React Server Components](https://www.youtube.com/watch?v=0ckOUBiuxVY&t=25280s) by [Aurora Walberg Scharff](https://twitter.com/aurorascharff) +- [React for Two Computers](https://www.youtube.com/watch?v=T8TZQ6k4SLE&t=5542s) by [Dan Abramov](https://twitter.com/dan_abramov2) +- [And Now You Understand React Server Components](https://www.youtube.com/watch?v=0ckOUBiuxVY&t=11256s) by [Kent C. Dodds](https://twitter.com/kentcdodds) + +Finally, we ended the keynote with [Joe Savona](https://twitter.com/en_JS), [Sathya Gunasekaran](https://twitter.com/_gsathya), and [Mofei Zhang](https://twitter.com/zmofei) announcing that the React Compiler is now [Open Source](https://github.com/facebook/react/pull/29061), and sharing an experimental version of the React Compiler to try out. + +For more information on using the Compiler and how it works, check out [the docs](/learn/react-compiler) and these talks: + +- [Forget About Memo](https://www.youtube.com/watch?v=T8TZQ6k4SLE&t=5542s) by [Lauren Tan](https://twitter.com/potetotes) +- [React Compiler Deep Dive](https://www.youtube.com/watch?v=0ckOUBiuxVY&t=9313s) by [Sathya Gunasekaran](https://twitter.com/_gsathya) and [Mofei Zhang](https://twitter.com/zmofei) + +Watch the full day 1 keynote here: + +<YouTubeIframe src="https://www.youtube.com/embed/T8TZQ6k4SLE?t=973s" /> + +## Day 2 {/*day-2*/} + +_[Watch the full day 2 stream here.](https://www.youtube.com/watch?v=0ckOUBiuxVY&t=1720s)_ + +To kick off day 2, [Seth Webster](https://twitter.com/sethwebster) shared a welcome message, followed by a Thank You from [Eli White](https://x.com/Eli_White) and an introduction by our Chief Vibes Officer [Ashley Narcisse](https://twitter.com/_darkfadr). + +In the day 2 keynote, [Nicola Corti](https://twitter.com/cortinico) shared the State of React Native, including 78 million downloads in 2023. He also highlighted apps using React Native including 2000+ screens used inside of Meta; the product details page in Facebook Marketplace, which is visited more than 2 billion times per day; and part of the Microsoft Windows Start Menu and some features in almost every Microsoft Office product across mobile and desktop. + +Nicola also highlighted all the work the community does to support React Native including libraries, frameworks, and multiple platforms. For more, check out these talks from the community: + +- [Extending React Native beyond Mobile and Desktop Apps](https://www.youtube.com/watch?v=0ckOUBiuxVY&t=5798s) by [Chris Traganos](https://twitter.com/chris_trag) and [Anisha Malde](https://twitter.com/anisha_malde) +- [Spatial computing with React](https://www.youtube.com/watch?v=0ckOUBiuxVY&t=22525s) by [Michał Pierzchała](https://twitter.com/thymikee) + +[Riccardo Cipolleschi](https://twitter.com/cipolleschir) continued the day 2 keynote by announcing that the React Native New Architecture is now in Beta and ready for apps to adopt in production. He shared new features and improvements in the new architecture, and shared the roadmap for the future of React Native. For more check out: + +- [Cross Platform React](https://www.youtube.com/watch?v=0ckOUBiuxVY&t=26569s) by [Olga Zinoveva](https://github.com/SlyCaptainFlint) and [Naman Goel](https://twitter.com/naman34) + +Next in the keynote, Nicola announced that we are now recommending starting with a framework like Expo for all new apps created with React Native. With the change, he also announced a new React Native homepage and new Getting Started docs. You can view the new Getting Started guide in the [React Native docs](https://reactnative.dev/docs/next/environment-setup). + +Finally, to end the keynote, [Kadi Kraman](https://twitter.com/kadikraman) shared the latest features and improvements in Expo, and how to get started developing with React Native using Expo. + +Watch the full day 2 keynote here: + +<YouTubeIframe src="https://www.youtube.com/embed/0ckOUBiuxVY?t=1720s" /> + +## Q&A {/*q-and-a*/} + +The React and React Native teams also ended each day with a Q&A session: + +- [React Q&A](https://www.youtube.com/watch?v=T8TZQ6k4SLE&t=27518s) hosted by [Michael Chan](https://twitter.com/chantastic) +- [React Native Q&A](https://www.youtube.com/watch?v=0ckOUBiuxVY&t=27935s) hosted by [Jamon Holmgren](https://twitter.com/jamonholmgren) + +## And more... {/*and-more*/} + +We also heard talks on accessibility, error reporting, css, and more: + +- [Demystifying accessibility in React apps](https://www.youtube.com/watch?v=0ckOUBiuxVY&t=20655s) by [Kateryna Porshnieva](https://twitter.com/krambertech) +- [Pigment CSS, CSS in the server component age](https://www.youtube.com/watch?v=0ckOUBiuxVY&t=21696s) by [Olivier Tassinari](https://twitter.com/olivtassinari) +- [Real-time React Server Components](https://www.youtube.com/watch?v=T8TZQ6k4SLE&t=24070s) by [Sunil Pai](https://twitter.com/threepointone) +- [Let's break React Rules](https://www.youtube.com/watch?v=T8TZQ6k4SLE&t=25862s) by [Charlotte Isambert](https://twitter.com/c_isambert) +- [Solve 100% of your errors](https://www.youtube.com/watch?v=0ckOUBiuxVY&t=19881s) by [Ryan Albrecht](https://github.com/ryan953) + +## Thank you {/*thank-you*/} + +Thank you to all the staff, speakers, and participants who made React Conf 2024 possible. There are too many to list, but we want to thank a few in particular. + +Thank you to [Barbara Markiewicz](https://twitter.com/barbara_markie), the team at [Callstack](https://www.callstack.com/), and our React Team Developer Advocate [Matt Carroll](https://twitter.com/mattcarrollcode) for helping to plan the entire event; and to [Sunny Leggett](https://zeroslopeevents.com/about) and everyone from [Zero Slope](https://zeroslopeevents.com) for helping to organize the event. + +Thank you [Ashley Narcisse](https://twitter.com/_darkfadr) for being our MC and Chief Vibes Officer; and to [Michael Chan](https://twitter.com/chantastic) and [Jamon Holmgren](https://twitter.com/jamonholmgren) for hosting the Q&A sessions. + +Thank you [Seth Webster](https://twitter.com/sethwebster) and [Eli White](https://x.com/Eli_White) for welcoming us each day and providing direction on structure and content; and to [Tom Occhino](https://twitter.com/tomocchino) for joining us with a special message during the after-party. + +Thank you [Ricky Hanlon](https://www.youtube.com/watch?v=FxTZL2U-uKg&t=1263s) for providing detailed feedback on talks, working on slide designs, and generally filling in the gaps to sweat the details. + +Thank you [Callstack](https://www.callstack.com/) for building the conference website; and to [Kadi Kraman](https://twitter.com/kadikraman) and the [Expo](https://expo.dev/) team for building the conference mobile app. + +Thank you to all the sponsors who made the event possible: [Remix](https://remix.run/), [Amazon](https://developer.amazon.com/apps-and-games?cmp=US_2024_05_3P_React-Conf-2024&ch=prtnr&chlast=prtnr&pub=ref&publast=ref&type=org&typelast=org), [MUI](https://mui.com/), [Sentry](https://sentry.io/for/react/?utm_source=sponsored-conf&utm_medium=sponsored-event&utm_campaign=frontend-fy25q2-evergreen&utm_content=logo-reactconf2024-learnmore), [Abbott](https://www.jobs.abbott/software), [Expo](https://expo.dev/), [RedwoodJS](https://redwoodjs.com/), and [Vercel](https://vercel.com). + +Thank you to the AV Team for the visuals, stage, and sound; and to the Westin Hotel for hosting us. + +Thank you to all the speakers who shared their knowledge and experiences with the community. + +Finally, thank you to everyone who attended in person and online to show what makes React, React. React is more than a library, it is a community, and it was inspiring to see everyone come together to share and learn together. + +See you next time! + diff --git a/src/content/blog/index.md b/src/content/blog/index.md index 24555902..5fb09b0b 100644 --- a/src/content/blog/index.md +++ b/src/content/blog/index.md @@ -10,6 +10,12 @@ This blog is the official source for the updates from the React team. Anything i <div className="sm:-mx-5 flex flex-col gap-5 mt-12"> +<BlogCard title="React Conf 2024 Recap" date="May 22, 2024" url="/blog/2024/05/22/react-conf-2024-recap"> + +Last week we hosted React Conf 2024, a two-day conference in Henderson, Nevada where 700+ attendees gathered in-person to discuss the latest in UI engineering. This was our first in-person conference since 2019, and we were thrilled to be able to bring the community together again ... + +</BlogCard> + <BlogCard title="React 19 Beta " date="April 25, 2024" url="/blog/2024/04/25/react-19"> In the React 19 Beta Upgrade Guide, we shared step-by-step instructions for upgrading your app to React 19 Beta. In this post, we'll give an overview of the new features in React 19, and how you can adopt them. diff --git a/src/sidebarBlog.json b/src/sidebarBlog.json index 97838b5c..f145ec40 100644 --- a/src/sidebarBlog.json +++ b/src/sidebarBlog.json @@ -11,6 +11,13 @@ "path": "/blog", "skipBreadcrumb": true, "routes": [ + { + "title": "React Conf 2024 Recap", + "titleForHomepage": "React Conf 2024 Recap", + "icon": "blog", + "date": "May 22, 2024", + "path": "/blog/2024/05/22/react-conf-2024-recap" + }, { "title": "React 19 Beta", "titleForHomepage": "React 19 Beta", From f055f8f3c2c9a8e5dbfe3a57e5a63b7769075abc Mon Sep 17 00:00:00 2001 From: Ricky <rickhanlonii@fb.com> Date: Wed, 22 May 2024 12:38:24 -0400 Subject: [PATCH 312/382] Fix recap blog video links (#6902) --- .../blog/2024/05/22/react-conf-2024-recap.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/content/blog/2024/05/22/react-conf-2024-recap.md b/src/content/blog/2024/05/22/react-conf-2024-recap.md index 26ed6cb3..96417fd8 100644 --- a/src/content/blog/2024/05/22/react-conf-2024-recap.md +++ b/src/content/blog/2024/05/22/react-conf-2024-recap.md @@ -17,7 +17,7 @@ Last week we hosted React Conf 2024, a two-day conference in Henderson, Nevada w --- -At React Conf 2024, we announced the [React 19 RC](/blog/2024/04/25/react-19), the [React Native New Architecture Beta](https://github.com/reactwg/react-native-new-architecture/discussions/189), and an experimental release of the [React Compiler](/learn/react-compiler). The community also took the stage to announce [React Router v7](https://remix.run/blog/merging-remix-and-react-router), [Universal Server Components](https://www.youtube.com/watch?v=T8TZQ6k4SLE&t=5542s) in Expo Router, React Server Components in [RedwoodJS](https://redwoodjs.com/blog/rsc-now-in-redwoodjs), and much more. +At React Conf 2024, we announced the [React 19 RC](/blog/2024/04/25/react-19), the [React Native New Architecture Beta](https://github.com/reactwg/react-native-new-architecture/discussions/189), and an experimental release of the [React Compiler](/learn/react-compiler). The community also took the stage to announce [React Router v7](https://remix.run/blog/merging-remix-and-react-router), [Universal Server Components](https://www.youtube.com/watch?v=T8TZQ6k4SLE&t=20765s) in Expo Router, React Server Components in [RedwoodJS](https://redwoodjs.com/blog/rsc-now-in-redwoodjs), and much more. The entire [day 1](https://www.youtube.com/watch?v=T8TZQ6k4SLE) and [day 2](https://www.youtube.com/watch?v=0ckOUBiuxVY) streams are available online. In this post, we'll summarize the talks and announcements from the event. @@ -34,22 +34,22 @@ For more, check out these talks from the community later in the conference: - [Vanilla React](https://www.youtube.com/watch?v=T8TZQ6k4SLE&t=5542s) by [Ryan Florence](https://twitter.com/ryanflorence) - [React Rhythm & Blues](https://www.youtube.com/watch?v=0ckOUBiuxVY&t=12728s) by [Lee Robinson](https://twitter.com/leeerob) - [RedwoodJS, now with React Server Components](https://www.youtube.com/watch?v=T8TZQ6k4SLE&t=26815s) by [Amy Dutton](https://twitter.com/selfteachme) -- [Introducing Universal React Server Components in Expo Router](https://www.youtube.com/watch?v=T8TZQ6k4SLE&t=5542s) by [Evan Bacon](https://twitter.com/Baconbrix) +- [Introducing Universal React Server Components in Expo Router](https://www.youtube.com/watch?v=T8TZQ6k4SLE&t=20765s) by [Evan Bacon](https://twitter.com/Baconbrix) -Next in the keynote, [Josh Story](https://twitter.com/joshcstory) and [Andrew Clark](https://twitter.com/acdlite) shared new features [coming in React 19](/blog/2024/04/25/react-19), and announced the React 19 RC which is ready for testing in production. Check out all the features in the React 19 [release announcement post](/blog/2024/04/25/react-19), and see these talks for deep dives on the new features: +Next in the keynote, [Josh Story](https://twitter.com/joshcstory) and [Andrew Clark](https://twitter.com/acdlite) shared new features coming in React 19, and announced the React 19 RC which is ready for testing in production. Check out all the features in the [React 19 release post](/blog/2024/04/25/react-19), and see these talks for deep dives on the new features: -- [What's new in React 19](https://www.youtube.com/watch?v=T8TZQ6k4SLE&t=5542s) by [Lydia Hallie](https://twitter.com/lydiahallie) -- [React Unpacked: A Roadmap to React 19](https://www.youtube.com/watch?v=T8TZQ6k4SLE&t=5542s) by [Sam Selikoff](https://twitter.com/samselikoff) -- [React 19 Deep Dive: Coordinating HTML](https://www.youtube.com/watch?v=T8TZQ6k4SLE&t=5542s) by [Josh Story](https://twitter.com/joshcstory) +- [What's new in React 19](https://www.youtube.com/watch?v=T8TZQ6k4SLE&t=8880s) by [Lydia Hallie](https://twitter.com/lydiahallie) +- [React Unpacked: A Roadmap to React 19](https://www.youtube.com/watch?v=T8TZQ6k4SLE&t=10112s) by [Sam Selikoff](https://twitter.com/samselikoff) +- [React 19 Deep Dive: Coordinating HTML](https://www.youtube.com/watch?v=T8TZQ6k4SLE&t=24916s) by [Josh Story](https://twitter.com/joshcstory) - [Enhancing Forms with React Server Components](https://www.youtube.com/watch?v=0ckOUBiuxVY&t=25280s) by [Aurora Walberg Scharff](https://twitter.com/aurorascharff) -- [React for Two Computers](https://www.youtube.com/watch?v=T8TZQ6k4SLE&t=5542s) by [Dan Abramov](https://twitter.com/dan_abramov2) +- [React for Two Computers](https://www.youtube.com/watch?v=T8TZQ6k4SLE&t=18825s) by [Dan Abramov](https://twitter.com/dan_abramov2) - [And Now You Understand React Server Components](https://www.youtube.com/watch?v=0ckOUBiuxVY&t=11256s) by [Kent C. Dodds](https://twitter.com/kentcdodds) Finally, we ended the keynote with [Joe Savona](https://twitter.com/en_JS), [Sathya Gunasekaran](https://twitter.com/_gsathya), and [Mofei Zhang](https://twitter.com/zmofei) announcing that the React Compiler is now [Open Source](https://github.com/facebook/react/pull/29061), and sharing an experimental version of the React Compiler to try out. For more information on using the Compiler and how it works, check out [the docs](/learn/react-compiler) and these talks: -- [Forget About Memo](https://www.youtube.com/watch?v=T8TZQ6k4SLE&t=5542s) by [Lauren Tan](https://twitter.com/potetotes) +- [Forget About Memo](https://www.youtube.com/watch?v=T8TZQ6k4SLE&t=12020s) by [Lauren Tan](https://twitter.com/potetotes) - [React Compiler Deep Dive](https://www.youtube.com/watch?v=0ckOUBiuxVY&t=9313s) by [Sathya Gunasekaran](https://twitter.com/_gsathya) and [Mofei Zhang](https://twitter.com/zmofei) Watch the full day 1 keynote here: From bb963067cc792b5d97453074cc454e320273b60b Mon Sep 17 00:00:00 2001 From: Ricky <rickhanlonii@fb.com> Date: Thu, 23 May 2024 11:42:00 -0400 Subject: [PATCH 313/382] Add codemods to upgrade guide (#6897) * Add codemods to upgrade guide * Update src/content/blog/2024/04/25/react-19-upgrade-guide.md Co-authored-by: Ahmed Abdelbaset <A7med3bdulBaset@gmail.com> * Add benefits --------- Co-authored-by: Ahmed Abdelbaset <A7med3bdulBaset@gmail.com> --- .../blog/2024/04/25/react-19-upgrade-guide.md | 70 ++++++++++++++++++- 1 file changed, 68 insertions(+), 2 deletions(-) diff --git a/src/content/blog/2024/04/25/react-19-upgrade-guide.md b/src/content/blog/2024/04/25/react-19-upgrade-guide.md index 4d4355a4..cc1afe2a 100644 --- a/src/content/blog/2024/04/25/react-19-upgrade-guide.md +++ b/src/content/blog/2024/04/25/react-19-upgrade-guide.md @@ -39,6 +39,7 @@ For a list of changes in 18.3 see the [Release Notes](https://github.com/faceboo In this post, we will guide you through the steps for upgrading libraries to React 19 beta: - [Installing](#installing) +- [Codemods](#codemods) - [Breaking changes](#breaking-changes) - [New deprecations](#new-deprecations) - [Notable changes](#notable-changes) @@ -97,6 +98,37 @@ If you're using TypeScript, you also need to update the types. Once React 19 is We're also including a codemod for the most common replacements. See [TypeScript changes](#typescript-changes) below. +## Codemods {/*codemods*/} + +To help with the upgrade, we've worked with the team at [codemod.com](https://codemod.com) to publish codemods that will automatically update your code to many of the new APIs and patterns in React 19. + +All codemods are available in the [`react-codemod` repo](https://github.com/reactjs/react-codemod) and the Codemod team have joined in helping maintain the codemods. To run these codemods, we recommend using the `codemod` command instead of the `react-codemod` because it runs faster, handles more complex code migrations, and provides better support for TypeScript. + + +<Note> + +#### Run all React 19 codemods {/*run-all-react-19-codemods*/} + +Run all codemods listed in this guide with the React 19 `codemod` recipe: + +```bash +npx codemod@latest react/19/migration-recipe +``` + +This will run the following codemods from `react-codemod`: +- [`replace-reactdom-render`](https://github.com/reactjs/react-codemod?tab=readme-ov-file#replace-reactdom-render) +- [`replace-string-ref`](https://github.com/reactjs/react-codemod?tab=readme-ov-file#replace-string-ref) +- [`replace-act-import`](https://github.com/reactjs/react-codemod?tab=readme-ov-file#replace-act-import) +- [`replace-use-form-state`](https://github.com/reactjs/react-codemod?tab=readme-ov-file#replace-use-form-state) +- [`prop-types-typescript`](TODO) + +This does not include the TypeScript changes. See [TypeScript changes](#typescript-changes) below. + +</Note> + +Changes that include a codemod include the command below. + +For a list of all available codemods, see the [`react-codemod` repo](https://github.com/reactjs/react-codemod). ## Breaking changes {/*breaking-changes*/} @@ -128,7 +160,7 @@ For more info, see the docs for [`createRoot`](https://react.dev/reference/react ### Removed deprecated React APIs {/*removed-deprecated-react-apis*/} #### Removed: `propTypes` and `defaultProps` for functions {/*removed-proptypes-and-defaultprops*/} -`PropTypes` were deprecated in [April 2017 (v15.5.0)](https://legacy.reactjs.org/blog/2017/04/07/react-v15.5.0.html#new-deprecation-warnings). +`PropTypes` were deprecated in [April 2017 (v15.5.0)](https://legacy.reactjs.org/blog/2017/04/07/react-v15.5.0.html#new-deprecation-warnings). In React 19, we're removing the `propType` checks from the React package, and using them will be silently ignored. If you're using `propTypes`, we recommend migrating to TypeScript or another type-checking solution. @@ -158,6 +190,16 @@ function Heading({text = 'Hello, world!'}: Props) { } ``` +<Note> + +Codemod `propTypes` to TypeScript with: + +```bash +npx codemod@latest react/prop-types-typescript +``` + +</Note> + #### Removed: Legacy Context using `contextTypes` and `getChildContext` {/*removed-removing-legacy-context*/} Legacy Context was deprecated in [October 2018 (v16.6.0)](https://legacy.reactjs.org/blog/2018/10/23/react-v-16-6.html). @@ -253,7 +295,11 @@ class MyComponent extends React.Component { <Note> -To help with the migration, we will be publishing a [react-codemod](https://github.com/reactjs/react-codemod/#string-refs) to automatically replace string refs with `ref` callbacks. Follow [this PR](https://github.com/reactjs/react-codemod/pull/309) for updates and to try it out. +Codemod string refs with `ref` callbacks: + +```bash +npx codemod@latest react/19/replace-string-ref +``` </Note> @@ -340,6 +386,16 @@ All other `test-utils` functions have been removed. These utilities were uncommo See the [warning page](https://react.dev/warnings/react-dom-test-utils) for alternatives. +<Note> + +Codemod `ReactDOMTestUtils.act` to `React.act`: + +```bash +npx codemod@latest react/19/replace-act-import +``` + +</Note> + #### Removed: `ReactDOM.render` {/*removed-reactdom-render*/} `ReactDOM.render` was deprecated in [March 2022 (v18.0.0)](https://react.dev/blog/2022/03/08/react-18-upgrade-guide). In React 19, we're removing `ReactDOM.render` and you'll need to migrate to using [`ReactDOM.createRoot`](https://react.dev/reference/react-dom/client/createRoot): @@ -355,6 +411,16 @@ const root = createRoot(document.getElementById('root')); root.render(<App />); ``` +<Note> + +Codemod `ReactDOM.render` to `ReactDOM.createRoot`: + +```bash +npx codemod@latest react/19/replace-reactdom-render +``` + +</Note> + #### Removed: `ReactDOM.hydrate` {/*removed-reactdom-hydrate*/} `ReactDOM.hydrate` was deprecated in [March 2022 (v18.0.0)](https://react.dev/blog/2022/03/08/react-18-upgrade-guide). In React 19, we're removing `ReactDOM.hydrate` you'll need to migrate to using [`ReactDOM.hydrateRoot`](https://react.dev/reference/react-dom/client/hydrateRoot), From 68c0f85fd43a8b472f50da3e8bba1445fc97c5fc Mon Sep 17 00:00:00 2001 From: Ricky <rickhanlonii@fb.com> Date: Thu, 23 May 2024 12:29:36 -0400 Subject: [PATCH 314/382] s/beta/rc (#6906) --- .../blog/2024/04/25/react-19-upgrade-guide.md | 30 +++++++------------ src/content/blog/2024/04/25/react-19.md | 14 +++------ src/content/blog/index.md | 8 ++--- src/content/learn/react-compiler.md | 4 +-- .../reference/rsc/server-components.md | 2 +- src/sidebarBlog.json | 8 ++--- 6 files changed, 26 insertions(+), 40 deletions(-) diff --git a/src/content/blog/2024/04/25/react-19-upgrade-guide.md b/src/content/blog/2024/04/25/react-19-upgrade-guide.md index cc1afe2a..8060056c 100644 --- a/src/content/blog/2024/04/25/react-19-upgrade-guide.md +++ b/src/content/blog/2024/04/25/react-19-upgrade-guide.md @@ -1,26 +1,18 @@ --- -title: "React 19 Beta Upgrade Guide" +title: "React 19 RC Upgrade Guide" author: Ricky Hanlon date: 2024/04/25 -description: The improvements added to React 19 require some breaking changes, but we've worked to make the upgrade as smooth as possible and we don't expect the changes to impact most apps. In this post, we will guide you through the steps for upgrading libraries to React 19 beta. +description: The improvements added to React 19 require some breaking changes, but we've worked to make the upgrade as smooth as possible and we don't expect the changes to impact most apps. In this post, we will guide you through the steps for upgrading apps and libraries to React 19. --- April 25, 2024 by [Ricky Hanlon](https://twitter.com/rickhanlonii) --- -<Note> - -This beta release is for libraries to prepare for React 19. App developers should upgrade to 18.3.0 and wait for React 19 stable as we work with libraries and make changes based on feedback. - -</Note> - <Intro> -The improvements added to React 19 require some breaking changes, but we've worked to make the upgrade as smooth as possible and we don't expect the changes to impact most apps. - -To help make the upgrade easier, today we are also publishing React 18.3. +The improvements added to React 19 RC require some breaking changes, but we've worked to make the upgrade as smooth as possible, and we don't expect the changes to impact most apps. </Intro> @@ -36,7 +28,7 @@ For a list of changes in 18.3 see the [Release Notes](https://github.com/faceboo </Note> -In this post, we will guide you through the steps for upgrading libraries to React 19 beta: +In this post, we will guide you through the steps for upgrading to React 19: - [Installing](#installing) - [Codemods](#codemods) @@ -46,7 +38,7 @@ In this post, we will guide you through the steps for upgrading libraries to Rea - [TypeScript changes](#typescript-changes) - [Changelog](#changelog) -If you'd like to help us test React 19, follow the steps in this upgrade guide and [report any issues](https://github.com/facebook/react/issues/new?assignees=&labels=React+19&projects=&template=19.md&title=%5BReact+19%5D) you encounter. For a list of new features added to React 19 beta, see the [React 19 release post](/blog/2024/04/25/react-19). +If you'd like to help us test React 19, follow the steps in this upgrade guide and [report any issues](https://github.com/facebook/react/issues/new?assignees=&labels=React+19&projects=&template=19.md&title=%5BReact+19%5D) you encounter. For a list of new features added to React 19, see the [React 19 release post](/blog/2024/04/25/react-19). --- ## Installing {/*installing*/} @@ -78,20 +70,20 @@ We expect most apps will not be affected since the transform is enabled in most To install the latest version of React and React DOM: ```bash -npm install react@beta react-dom@beta +npm install react@rc react-dom@rc ``` -If you're using TypeScript, you also need to update the types. Once React 19 is released as stable, you can install the types as usual from `@types/react` and `@types/react-dom`. During the beta period, the types are available in different packages which need to be enforced in your `package.json`: +If you're using TypeScript, you also need to update the types. Once React 19 is released as stable, you can install the types as usual from `@types/react` and `@types/react-dom`. Until the stable release, the types are available in different packages which need to be enforced in your `package.json`: ```json { "dependencies": { - "@types/react": "npm:types-react@beta", - "@types/react-dom": "npm:types-react-dom@beta" + "@types/react": "npm:types-react@rc", + "@types/react-dom": "npm:types-react-dom@rc" }, "overrides": { - "@types/react": "npm:types-react@beta", - "@types/react-dom": "npm:types-react-dom@beta" + "@types/react": "npm:types-react@rc", + "@types/react-dom": "npm:types-react-dom@rc" } } ``` diff --git a/src/content/blog/2024/04/25/react-19.md b/src/content/blog/2024/04/25/react-19.md index 461a9038..1b19c354 100644 --- a/src/content/blog/2024/04/25/react-19.md +++ b/src/content/blog/2024/04/25/react-19.md @@ -1,27 +1,21 @@ --- -title: "React 19 Beta" +title: "React 19 RC" author: The React Team date: 2024/04/25 -description: React 19 Beta is now available on npm! In this post, we'll give an overview of the new features in React 19, and how you can adopt them. +description: React 19 RC is now available on npm! In this post, we'll give an overview of the new features in React 19, and how you can adopt them. --- April 25, 2024 by [The React Team](/community/team) --- -<Note> - -This beta release is for libraries to prepare for React 19. App developers should upgrade to 18.3.0 and wait for React 19 stable as we work with libraries and make changes based on feedback. - -</Note> - <Intro> -React 19 Beta is now available on npm! +React 19 RC is now available on npm! </Intro> -In our [React 19 Beta Upgrade Guide](/blog/2024/04/25/react-19-upgrade-guide), we shared step-by-step instructions for upgrading your app to React 19 Beta. In this post, we'll give an overview of the new features in React 19, and how you can adopt them. +In our [React 19 RC Upgrade Guide](/blog/2024/04/25/react-19-upgrade-guide), we shared step-by-step instructions for upgrading your app to React 19. In this post, we'll give an overview of the new features in React 19, and how you can adopt them. - [What's new in React 19](#whats-new-in-react-19) - [Improvements in React 19](#improvements-in-react-19) diff --git a/src/content/blog/index.md b/src/content/blog/index.md index 5fb09b0b..4a1a165a 100644 --- a/src/content/blog/index.md +++ b/src/content/blog/index.md @@ -16,15 +16,15 @@ Last week we hosted React Conf 2024, a two-day conference in Henderson, Nevada w </BlogCard> -<BlogCard title="React 19 Beta " date="April 25, 2024" url="/blog/2024/04/25/react-19"> +<BlogCard title="React 19 RC " date="April 25, 2024" url="/blog/2024/04/25/react-19"> -In the React 19 Beta Upgrade Guide, we shared step-by-step instructions for upgrading your app to React 19 Beta. In this post, we'll give an overview of the new features in React 19, and how you can adopt them. +In the React 19 RC Upgrade Guide, we shared step-by-step instructions for upgrading your app to React 19. In this post, we'll give an overview of the new features in React 19, and how you can adopt them ... </BlogCard> -<BlogCard title="React 19 Beta Upgrade Guide" date="April 25, 2024" url="/blog/2024/04/25/react-19-upgrade-guide"> +<BlogCard title="React 19 RC Upgrade Guide" date="April 25, 2024" url="/blog/2024/04/25/react-19-upgrade-guide"> -The improvements added to React 19 require some breaking changes, but we've worked to make the upgrade as smooth as possible and we don't expect the changes to impact most apps. In this post, we will guide you through the steps for upgrading libraries to React 19 beta. +The improvements added to React 19 require some breaking changes, but we've worked to make the upgrade as smooth as possible, and we don't expect the changes to impact most apps. In this post, we will guide you through the steps for upgrading libraries to React 19 ... </BlogCard> diff --git a/src/content/learn/react-compiler.md b/src/content/learn/react-compiler.md index 53023584..5655611a 100644 --- a/src/content/learn/react-compiler.md +++ b/src/content/learn/react-compiler.md @@ -21,7 +21,7 @@ These docs are still a work in progress. More documentation is available in the <Note> React Compiler is a new experimental compiler that we've open sourced to get early feedback from the community. It still has rough edges and is not yet fully ready for production. -React Compiler requires React 19 Beta. If you are unable to upgrade to React 19, you may try a userspace implementation of the cache function as described in the [Working Group](https://github.com/reactwg/react-compiler/discussions/6). However, please note that this is not recommended and you should upgrade to React 19 when possible. +React Compiler requires React 19 RC. If you are unable to upgrade to React 19, you may try a userspace implementation of the cache function as described in the [Working Group](https://github.com/reactwg/react-compiler/discussions/6). However, please note that this is not recommended and you should upgrade to React 19 when possible. </Note> React Compiler is a new experimental compiler that we've open sourced to get early feedback from the community. It is a build-time only tool that automatically optimizes your React app. It works with plain JavaScript, and understands the [Rules of React](/reference/rules), so you don't need to rewrite any code to use it. @@ -365,7 +365,7 @@ You can also provide feedback in the React Compiler Working Group by applying to ### `(0 , _c) is not a function` error {/*0--_c-is-not-a-function-error*/} -This occurs if you are not using React 19 Beta and up. To fix this, [upgrade your app to React 19 Beta](https://react.dev/blog/2024/04/25/react-19-upgrade-guide) first. +This occurs if you are not using React 19 RC and up. To fix this, [upgrade your app to React 19 RC](https://react.dev/blog/2024/04/25/react-19-upgrade-guide) first. If you are unable to upgrade to React 19, you may try a userspace implementation of the cache function as described in the [Working Group](https://github.com/reactwg/react-compiler/discussions/6). However, please note that this is not recommended and you should upgrade to React 19 when possible. diff --git a/src/content/reference/rsc/server-components.md b/src/content/reference/rsc/server-components.md index 98194642..a4ee4dd2 100644 --- a/src/content/reference/rsc/server-components.md +++ b/src/content/reference/rsc/server-components.md @@ -174,7 +174,7 @@ The bundler then combines the data, rendered Server Components and dynamic Clien ```js <div> <span>By: The React Team</span> - <p>React 19 Beta is...</p> + <p>React 19 is...</p> </div> ``` diff --git a/src/sidebarBlog.json b/src/sidebarBlog.json index f145ec40..26dcdc4d 100644 --- a/src/sidebarBlog.json +++ b/src/sidebarBlog.json @@ -19,15 +19,15 @@ "path": "/blog/2024/05/22/react-conf-2024-recap" }, { - "title": "React 19 Beta", - "titleForHomepage": "React 19 Beta", + "title": "React 19 RC", + "titleForHomepage": "React 19 RC", "icon": "blog", "date": "April 25, 2024", "path": "/blog/2024/04/25/react-19" }, { - "title": "React 19 Beta Upgrade Guide", - "titleForHomepage": "React 19 Beta Upgrade Guide", + "title": "React 19 RC Upgrade Guide", + "titleForHomepage": "React 19 RC Upgrade Guide", "icon": "blog", "date": "April 25, 2024", "path": "/blog/2024/04/25/react-19-upgrade-guide" From a25bd4be4a5b12b70305b992ff296ec1c6a74043 Mon Sep 17 00:00:00 2001 From: Josh Story <story@hey.com> Date: Thu, 23 May 2024 15:48:25 -0700 Subject: [PATCH 315/382] Clarify precedence is arbitrary valued (#6908) The docs for stylesheet precedence incorrectly state that there is an enumerated set of valid precedences. This is incorrect. The precedence value can be anything and React infers the hierarchy from the order in which it discovers precedences --- src/content/reference/react-dom/components/link.md | 2 +- src/content/reference/react-dom/components/style.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/content/reference/react-dom/components/link.md b/src/content/reference/react-dom/components/link.md index 9172a66e..730d9e99 100644 --- a/src/content/reference/react-dom/components/link.md +++ b/src/content/reference/react-dom/components/link.md @@ -43,7 +43,7 @@ To link to external resources such as stylesheets, fonts, and icons, or to annot These props apply when `rel="stylesheet"`: -* `precedence`: a string. Tells React where to rank the `<link>` DOM node relative to others in the document `<head>`, which determines which stylesheet can override the other. Its value can be (in order of precedence) `"reset"`, `"low"`, `"medium"`, `"high"`. Stylesheets with the same precedence go together whether they are `<link>` or inline `<style>` tags or loaded using the [`preload`](/reference/react-dom/preload) or [`preinit`](/reference/react-dom/preinit) functions. +* `precedence`: a string. Tells React where to rank the `<link>` DOM node relative to others in the document `<head>`, which determines which stylesheet can override the other. React will infer that precedence values it discovers first are "lower" and precedence values it discovers later are "higher". Many style systems can work fine using a single precedence value because style rules are atomic. Stylesheets with the same precedence go together whether they are `<link>` or inline `<style>` tags or loaded using [`preinit`](/reference/react-dom/preinit) functions. * `media`: a string. Restricts the stylesheet to a certain [media query](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_media_queries/Using_media_queries). * `title`: a string. Specifies the name of an [alternative stylesheet](https://developer.mozilla.org/en-US/docs/Web/CSS/Alternative_style_sheets). diff --git a/src/content/reference/react-dom/components/style.md b/src/content/reference/react-dom/components/style.md index 77ee950e..84dfde3a 100644 --- a/src/content/reference/react-dom/components/style.md +++ b/src/content/reference/react-dom/components/style.md @@ -40,7 +40,7 @@ To add inline styles to your document, render the [built-in browser `<style>` co `<style>` supports all [common element props.](/reference/react-dom/components/common#props) * `children`: a string, required. The contents of the stylesheet. -* `precedence`: a string. Tells React where to rank the `<style>` DOM node relative to others in the document `<head>`, which determines which stylesheet can override the other. Its value can be (in order of precedence) `"reset"`, `"low"`, `"medium"`, `"high"`. Stylesheets with the same precedence go together whether they are `<link>` or inline `<style>` tags or loaded using the [`preload`](/reference/react-dom/preload) or [`preinit`](/reference/react-dom/preinit) functions. +* `precedence`: a string. Tells React where to rank the `<style>` DOM node relative to others in the document `<head>`, which determines which stylesheet can override the other. React will infer that precedence values it discovers first are "lower" and precedence values it discovers later are "higher". Many style systems can work fine using a single precedence value because style rules are atomic. Stylesheets with the same precedence go together whether they are `<link>` or inline `<style>` tags or loaded using [`preinit`](/reference/react-dom/preinit) functions. * `href`: a string. Allows React to [de-duplicate styles](#special-rendering-behavior) that have the same `href`. * `media`: a string. Restricts the stylesheet to a certain [media query](https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_media_queries/Using_media_queries). * `nonce`: a string. A cryptographic [nonce to allow the resource](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/nonce) when using a strict Content Security Policy. From 69b95a6fccfc75525ca5ff0920b56fb4fd236cff Mon Sep 17 00:00:00 2001 From: Ricky <rickhanlonii@fb.com> Date: Fri, 24 May 2024 10:19:17 -0400 Subject: [PATCH 316/382] Add /warnings/version-mismatch (#6909) --- vercel.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/vercel.json b/vercel.json index 0e252e2b..9edafb3d 100644 --- a/vercel.json +++ b/vercel.json @@ -159,6 +159,11 @@ "destination": "https://legacy.reactjs.org/blog/2020/09/22/introducing-the-new-jsx-transform.html", "permanent": false }, + { + "source": "/warnings/version-mismatch", + "destination": "/warnings/invalid-hook-call-warning#mismatching-versions-of-react-and-react-dom", + "permanent": false + }, { "source": "/reference/react/directives", "destination": "/reference/rsc/directives", From ef23197db151c195f1c4590c09782642e0cd5630 Mon Sep 17 00:00:00 2001 From: Ricky <rickhanlonii@fb.com> Date: Fri, 24 May 2024 16:04:03 -0400 Subject: [PATCH 317/382] Clarify useEffect caveats (#6910) --- src/content/reference/react/useEffect.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/content/reference/react/useEffect.md b/src/content/reference/react/useEffect.md index d7659c5e..85c3595d 100644 --- a/src/content/reference/react/useEffect.md +++ b/src/content/reference/react/useEffect.md @@ -64,7 +64,9 @@ function ChatRoom({ roomId }) { * If your Effect wasn't caused by an interaction (like a click), React will generally let the browser **paint the updated screen first before running your Effect.** If your Effect is doing something visual (for example, positioning a tooltip), and the delay is noticeable (for example, it flickers), replace `useEffect` with [`useLayoutEffect`.](/reference/react/useLayoutEffect) -* Even if your Effect was caused by an interaction (like a click), **the browser may repaint the screen before processing the state updates inside your Effect.** Usually, that's what you want. However, if you must block the browser from repainting the screen, you need to replace `useEffect` with [`useLayoutEffect`.](/reference/react/useLayoutEffect) +* If your Effect is caused be an interaction (like a click), **React may run your Effect before the browser paints the updated screen**. This ensures that the result of the Effect can be observed by the event system. Usually, this works as expected. However, if you must defer the work until after paint, such as an `alert()`, you can use `setTimeout`. See [reactwg/react-18/128](https://github.com/reactwg/react-18/discussions/128) for more information. + +* Even if your Effect was caused by an interaction (like a click), **React may allow the browser may repaint the screen before processing the state updates inside your Effect.** Usually, this works as expected. However, if you must block the browser from repainting the screen, you need to replace `useEffect` with [`useLayoutEffect`.](/reference/react/useLayoutEffect) * Effects **only run on the client.** They don't run during server rendering. From c3bc5affa0e7452e306c785af11798d16b4f6dd4 Mon Sep 17 00:00:00 2001 From: Rachit Jain <32428330+rachitiitr@users.noreply.github.com> Date: Sat, 25 May 2024 13:46:42 +0530 Subject: [PATCH 318/382] FIX: Typo in useEffect.md caveats (#6911) * FIX: Typo in useEffect.md caveats * Fix another typo --- src/content/reference/react/useEffect.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/content/reference/react/useEffect.md b/src/content/reference/react/useEffect.md index 85c3595d..bf148339 100644 --- a/src/content/reference/react/useEffect.md +++ b/src/content/reference/react/useEffect.md @@ -64,9 +64,9 @@ function ChatRoom({ roomId }) { * If your Effect wasn't caused by an interaction (like a click), React will generally let the browser **paint the updated screen first before running your Effect.** If your Effect is doing something visual (for example, positioning a tooltip), and the delay is noticeable (for example, it flickers), replace `useEffect` with [`useLayoutEffect`.](/reference/react/useLayoutEffect) -* If your Effect is caused be an interaction (like a click), **React may run your Effect before the browser paints the updated screen**. This ensures that the result of the Effect can be observed by the event system. Usually, this works as expected. However, if you must defer the work until after paint, such as an `alert()`, you can use `setTimeout`. See [reactwg/react-18/128](https://github.com/reactwg/react-18/discussions/128) for more information. +* If your Effect is caused by an interaction (like a click), **React may run your Effect before the browser paints the updated screen**. This ensures that the result of the Effect can be observed by the event system. Usually, this works as expected. However, if you must defer the work until after paint, such as an `alert()`, you can use `setTimeout`. See [reactwg/react-18/128](https://github.com/reactwg/react-18/discussions/128) for more information. -* Even if your Effect was caused by an interaction (like a click), **React may allow the browser may repaint the screen before processing the state updates inside your Effect.** Usually, this works as expected. However, if you must block the browser from repainting the screen, you need to replace `useEffect` with [`useLayoutEffect`.](/reference/react/useLayoutEffect) +* Even if your Effect was caused by an interaction (like a click), **React may allow the browser to repaint the screen before processing the state updates inside your Effect.** Usually, this works as expected. However, if you must block the browser from repainting the screen, you need to replace `useEffect` with [`useLayoutEffect`.](/reference/react/useLayoutEffect) * Effects **only run on the client.** They don't run during server rendering. From 12fca4c24f218daea883080db476fb71ed160f36 Mon Sep 17 00:00:00 2001 From: Jack Pope <jackpope1@gmail.com> Date: Tue, 28 May 2024 20:05:05 +0100 Subject: [PATCH 319/382] Add act documentation (#6901) * Add act documentation * Update structure based on feedback * Add usage examples and async act --------- Co-authored-by: Rick Hanlon <rickhanlonii@fb.com> --- src/content/reference/react/act.md | 177 ++++++++++++++++++++++++++++ src/content/reference/react/apis.md | 1 + src/sidebarReference.json | 10 +- 3 files changed, 185 insertions(+), 3 deletions(-) create mode 100644 src/content/reference/react/act.md diff --git a/src/content/reference/react/act.md b/src/content/reference/react/act.md new file mode 100644 index 00000000..b1fbe09c --- /dev/null +++ b/src/content/reference/react/act.md @@ -0,0 +1,177 @@ +--- +title: act +--- + +<Intro> + +`act` is a test helper to apply pending React updates before making assertions. + +```js +await act(async actFn) +``` + +</Intro> + +To prepare a component for assertions, wrap the code rendering it and performing updates inside an `await act()` call. This makes your test run closer to how React works in the browser. + +<Note> +You might find using `act()` directly a bit too verbose. To avoid some of the boilerplate, you could use a library like [React Testing Library](https://testing-library.com/docs/react-testing-library/intro), whose helpers are wrapped with `act()`. +</Note> + + +<InlineToc /> + +--- + +## Reference {/*reference*/} + +### `await act(async actFn)` {/*await-act-async-actfn*/} + +When writing UI tests, tasks like rendering, user events, or data fetching can be considered as “units” of interaction with a user interface. React provides a helper called `act()` that makes sure all updates related to these “units” have been processed and applied to the DOM before you make any assertions. + +The name `act` comes from the [Arrange-Act-Assert](https://wiki.c2.com/?ArrangeActAssert) pattern. + +```js {2,4} +it ('renders with button disabled', async () => { + await act(async () => { + root.render(<TestComponent />) + }); + expect(container.querySelector('button')).toBeDisabled(); +}); +``` + +<Note> + +We recommend using `act` with `await` and an `async` function. Although the sync version works in many cases, it doesn't work in all cases and due to the way React schedules updates internally, it's difficult to predict when you can use the sync version. + +We will deprecate and remove the sync version in the future. + +</Note> + +#### Parameters {/*parameters*/} + +* `async actFn`: An async function wrapping renders or interactions for components being tested. Any updates triggered within the `actFn`, are added to an internal act queue, which are then flushed together to process and apply any changes to the DOM. Since it is async, React will also run any code that crosses an async boundary, and flush any updates scheduled. + +#### Returns {/*returns*/} + +`act` does not return anything. + +## Usage {/*usage*/} + +When testing a component, you can use `act` to make assertions about its output. + +For example, let’s say we have this `Counter` component, the usage examples below show how to test it: + +```js +function Counter() { + const [count, setCount] = useState(0); + const handleClick = () => { + setCount(prev => prev + 1); + } + + useEffect(() => { + document.title = `You clicked ${this.state.count} times`; + }, [count]); + + return ( + <div> + <p>You clicked {this.state.count} times</p> + <button onClick={this.handleClick}> + Click me + </button> + </div> + ) +} +``` + +### Rendering components in tests {/*rendering-components-in-tests*/} + +To test the render output of a component, wrap the render inside `act()`: + +```js {10,12} +import {act} from 'react'; +import ReactDOM from 'react-dom/client'; +import Counter from './Counter'; + +it('can render and update a counter', async () => { + container = document.createElement('div'); + document.body.appendChild(container); + + // ✅ Render the component inside act(). + await act(() => { + ReactDOM.createRoot(container).render(<Counter />); + }); + + const button = container.querySelector('button'); + const label = container.querySelector('p'); + expect(label.textContent).toBe('You clicked 0 times'); + expect(document.title).toBe('You clicked 0 times'); +}); +``` + +Here, wwe create a container, append it to the document, and render the `Counter` component inside `act()`. This ensures that the component is rendered and its effects are applied before making assertions. + +Using `act` ensures that all updates have been applied before we make assertions. + +### Dispatching events in tests {/*dispatching-events-in-tests*/} + +To test events, wrap the event dispatch inside `act()`: + +```js {14,16} +import {act} from 'react'; +import ReactDOM from 'react-dom/client'; +import Counter from './Counter'; + +it.only('can render and update a counter', async () => { + const container = document.createElement('div'); + document.body.appendChild(container); + + await act( async () => { + ReactDOMClient.createRoot(container).render(<Counter />); + }); + + // ✅ Dispatch the event inside act(). + await act(async () => { + button.dispatchEvent(new MouseEvent('click', { bubbles: true })); + }); + + const button = container.querySelector('button'); + const label = container.querySelector('p'); + expect(label.textContent).toBe('You clicked 1 times'); + expect(document.title).toBe('You clicked 1 times'); +}); +``` + +Here, we render the component with `act`, and then dispatch the event inside another `act()`. This ensures that all updates from the event are applied before making assertions. + +<Pitfall> + +Don’t forget that dispatching DOM events only works when the DOM container is added to the document. You can use a library like [React Testing Library](https://testing-library.com/docs/react-testing-library/intro) to reduce the boilerplate code. + +</Pitfall> + +## Troubleshooting {/*troubleshooting*/} + +### I'm getting an error: "The current testing environment is not configured to support act"(...)" {/*error-the-current-testing-environment-is-not-configured-to-support-act*/} + +Using `act` requires setting `global.IS_REACT_ACT_ENVIRONMENT=true` in your test environment. This is to ensure that `act` is only used in the correct environment. + +If you don't set the global, you will see an error like this: + +<ConsoleBlock level="error"> + +Warning: The current testing environment is not configured to support act(...) + +</ConsoleBlock> + +To fix, add this to your global setup file for React tests: + +```js +global.IS_REACT_ACT_ENVIRONMENT=true +``` + +<Note> + +In testing frameworks like [React Testing Library](https://testing-library.com/docs/react-testing-library/intro), `IS_REACT_ACT_ENVIRONMENT` is already set for you. + +</Note> \ No newline at end of file diff --git a/src/content/reference/react/apis.md b/src/content/reference/react/apis.md index 4dd1d49e..cbab4a0e 100644 --- a/src/content/reference/react/apis.md +++ b/src/content/reference/react/apis.md @@ -15,6 +15,7 @@ In addition to [Hooks](/reference/react) and [Components](/reference/react/compo * [`lazy`](/reference/react/lazy) lets you defer loading a component's code until it's rendered for the first time. * [`memo`](/reference/react/memo) lets your component skip re-renders with same props. Used with [`useMemo`](/reference/react/useMemo) and [`useCallback`.](/reference/react/useCallback) * [`startTransition`](/reference/react/startTransition) lets you mark a state update as non-urgent. Similar to [`useTransition`.](/reference/react/useTransition) +* [`act`](/reference/react/act) lets you wrap renders and interactions in tests to ensure updates have processed before making assertions. --- diff --git a/src/sidebarReference.json b/src/sidebarReference.json index 7076e76f..50e0a3df 100644 --- a/src/sidebarReference.json +++ b/src/sidebarReference.json @@ -112,6 +112,10 @@ "title": "APIs", "path": "/reference/react/apis", "routes": [ + { + "title": "act", + "path": "/reference/react/act" + }, { "title": "cache", "path": "/reference/react/cache", @@ -342,8 +346,8 @@ "path": "/reference/rules", "routes": [ { - "title": "Components and Hooks must be pure", - "path": "/reference/rules/components-and-hooks-must-be-pure" + "title": "Components and Hooks must be pure", + "path": "/reference/rules/components-and-hooks-must-be-pure" }, { "title": "React calls Components and Hooks", @@ -429,4 +433,4 @@ ] } ] -} +} \ No newline at end of file From ad1a5c20c1da74c2f5e8ea2d4584a8799473f61c Mon Sep 17 00:00:00 2001 From: Germano Lira <dolan.3@hotmail.com> Date: Wed, 29 May 2024 08:42:10 -0300 Subject: [PATCH 320/382] docs: update links @testing-library/react-native (#6916) --- src/content/warnings/react-test-renderer.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/warnings/react-test-renderer.md b/src/content/warnings/react-test-renderer.md index 7926922d..cc78f1fb 100644 --- a/src/content/warnings/react-test-renderer.md +++ b/src/content/warnings/react-test-renderer.md @@ -6,7 +6,7 @@ title: react-test-renderer Deprecation Warnings react-test-renderer is deprecated. A warning will fire whenever calling ReactTestRenderer.create() or ReactShallowRender.render(). The react-test-renderer package will remain available on NPM but will not be maintained and may break with new React features or changes to React's internals. -The React Team recommends migrating your tests to [@testing-library/react](https://testing-library.com/docs/react-testing-library/intro/) or [@testing-library/react-native](https://callstack.github.io/react-native-testing-library/docs/getting-started) for a modern and well supported testing experience. +The React Team recommends migrating your tests to [@testing-library/react](https://testing-library.com/docs/react-testing-library/intro/) or [@testing-library/react-native](https://callstack.github.io/react-native-testing-library/docs/start/intro) for a modern and well supported testing experience. ## new ShallowRenderer() warning {/*new-shallowrenderer-warning*/} From b12743c31af7f5cda2c25534f64281ff030b7205 Mon Sep 17 00:00:00 2001 From: Ricky <rickhanlonii@fb.com> Date: Wed, 29 May 2024 11:54:39 -0400 Subject: [PATCH 321/382] Add more codemods (#6921) --- .../blog/2024/04/25/react-19-upgrade-guide.md | 21 ++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/src/content/blog/2024/04/25/react-19-upgrade-guide.md b/src/content/blog/2024/04/25/react-19-upgrade-guide.md index 8060056c..5d222cb9 100644 --- a/src/content/blog/2024/04/25/react-19-upgrade-guide.md +++ b/src/content/blog/2024/04/25/react-19-upgrade-guide.md @@ -405,7 +405,7 @@ root.render(<App />); <Note> -Codemod `ReactDOM.render` to `ReactDOM.createRoot`: +Codemod `ReactDOM.render` to `ReactDOMClient.createRoot`: ```bash npx codemod@latest react/19/replace-reactdom-render @@ -427,6 +427,15 @@ import {hydrateRoot} from 'react-dom/client'; hydrateRoot(document.getElementById('root'), <App />); ``` +<Note> + +Codemod `ReactDOM.hydrate` to `ReactDOMClient.hydrateRoot`: + +```bash +npx codemod@latest react/19/replace-reactdom-render +``` + +</Note> #### Removed: `unmountComponentAtNode` {/*removed-unmountcomponentatnode*/} @@ -443,8 +452,18 @@ root.unmount(); For more see `root.unmount()` for [`createRoot`](https://react.dev/reference/react-dom/client/createRoot#root-unmount) and [`hydrateRoot`](https://react.dev/reference/react-dom/client/hydrateRoot#root-unmount). +<Note> + +Codemod `unmountComponentAtNode` to `root.unmount`: + +```bash +npx codemod@latest react/19/replace-reactdom-render +``` + +</Note> #### Removed: `ReactDOM.findDOMNode` {/*removed-reactdom-finddomnode*/} + `ReactDOM.findDOMNode` was [deprecated in October 2018 (v16.6.0)](https://legacy.reactjs.org/blog/2018/10/23/react-v-16-6.html#deprecations-in-strictmode). We're removing `findDOMNode` because it was a legacy escape hatch that was slow to execute, fragile to refactoring, only returned the first child, and broke abstraction levels (see more [here](https://legacy.reactjs.org/docs/strict-mode.html#warning-about-deprecated-finddomnode-usage)). You can replace `ReactDOM.findDOMNode` with [DOM refs](/learn/manipulating-the-dom-with-refs): From 438ee7abfd6523eb5aa2ad8d1aa789dbb4645f8a Mon Sep 17 00:00:00 2001 From: Chris Coyier <chriscoyier@gmail.com> Date: Tue, 11 Jun 2024 11:09:42 -0700 Subject: [PATCH 322/382] Update to CodePen URL (#6452) --- src/content/learn/installation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/learn/installation.md b/src/content/learn/installation.md index c5426ea9..7251fc31 100644 --- a/src/content/learn/installation.md +++ b/src/content/learn/installation.md @@ -37,7 +37,7 @@ export default function App() { You can edit it directly or open it in a new tab by pressing the "Fork" button in the upper right corner. -Most pages in the React documentation contain sandboxes like this. Outside of the React documentation, there are many online sandboxes that support React: for example, [CodeSandbox](https://codesandbox.io/s/new), [StackBlitz](https://stackblitz.com/fork/react), or [CodePen.](https://codepen.io/pen?&editors=0010&layout=left&prefill_data_id=3f4569d1-1b11-4bce-bd46-89090eed5ddb) +Most pages in the React documentation contain sandboxes like this. Outside of the React documentation, there are many online sandboxes that support React: for example, [CodeSandbox](https://codesandbox.io/s/new), [StackBlitz](https://stackblitz.com/fork/react), or [CodePen.](https://codepen.io/pen?template=QWYVwWN) ### Try React locally {/*try-react-locally*/} From c116c426d197aed6ebafe7f8455f90e3242be628 Mon Sep 17 00:00:00 2001 From: Sebastian Silbermann <silbermann.sebastian@gmail.com> Date: Wed, 12 Jun 2024 10:28:39 +0200 Subject: [PATCH 323/382] Remove mention of Suspensey `<script />` (#6945) --- src/content/reference/react-dom/components/script.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/content/reference/react-dom/components/script.md b/src/content/reference/react-dom/components/script.md index fc4b0127..fe020f1c 100644 --- a/src/content/reference/react-dom/components/script.md +++ b/src/content/reference/react-dom/components/script.md @@ -68,12 +68,10 @@ Props that are **not recommended** for use with React: #### Special rendering behavior {/*special-rendering-behavior*/} -React can move `<script>` components to the document's `<head>`, de-duplicate identical scripts, and [suspend](/reference/react/Suspense) while the script is loading. +React can move `<script>` components to the document's `<head>` and de-duplicate identical scripts. To opt into this behavior, provide the `src` and `async={true}` props. React will de-duplicate scripts if they have the same `src`. The `async` prop must be true to allow scripts to be safely moved. -If you supply any of the `onLoad` or `onError` props, there is no special behavior, because these props indicate that you are managing the loading of the script manually within your component. - This special treatment comes with two caveats: * React will ignore changes to props after the script has been rendered. (React will issue a warning in development if this happens.) @@ -86,8 +84,10 @@ This special treatment comes with two caveats: ### Rendering an external script {/*rendering-an-external-script*/} If a component depends on certain scripts in order to be displayed correctly, you can render a `<script>` within the component. +However, the component might be committed before the script has finished loading. +You can start depending on the script content once the `load` event is fired e.g. by using the `onLoad` prop. -If you supply an `src` and `async` prop, your component will suspend while the script is loading. React will de-duplicate scripts that have the same `src`, inserting only one of them into the DOM even if multiple components render it. +React will de-duplicate scripts that have the same `src`, inserting only one of them into the DOM even if multiple components render it. <SandpackWithHTMLOutput> @@ -97,7 +97,7 @@ import ShowRenderedHTML from './ShowRenderedHTML.js'; function Map({lat, long}) { return ( <> - <script async src="map-api.js" /> + <script async src="map-api.js" onLoad={() => console.log('script loaded')} /> <div id="map" data-lat={lat} data-long={long} /> </> ); @@ -120,7 +120,7 @@ When you want to use a script, it can be beneficial to call the [preinit](/refer ### Rendering an inline script {/*rendering-an-inline-script*/} -To include an inline script, render the `<script>` component with the script source code as its children. Inline scripts are not de-duplicated or moved to the document `<head>`, and since they don't load any external resources, they will not cause your component to suspend. +To include an inline script, render the `<script>` component with the script source code as its children. Inline scripts are not de-duplicated or moved to the document `<head>`. <SandpackWithHTMLOutput> From 04b5d4402dc09f299cd2837d096ff4590e5ebc7a Mon Sep 17 00:00:00 2001 From: Kasper Aamodt <kasper@aamodt.xyz> Date: Wed, 12 Jun 2024 11:17:20 +0200 Subject: [PATCH 324/382] Small typo - Update cache.md (#6935) --- src/content/reference/react/cache.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/reference/react/cache.md b/src/content/reference/react/cache.md index 73556063..0e56e3ef 100644 --- a/src/content/reference/react/cache.md +++ b/src/content/reference/react/cache.md @@ -226,7 +226,7 @@ By caching a long-running data fetch, you can kick off asynchronous work prior t ```jsx [[2, 6, "await getUser(id)"], [1, 17, "getUser(id)"]] const getUser = cache(async (id) => { return await db.user.query(id); -} +}) async function Profile({id}) { const user = await getUser(id); From 73a8d9c194d41b72484f717ba39397d8cda3b620 Mon Sep 17 00:00:00 2001 From: Sanjaiyan Parthipan <parthipankalayini@gmail.com> Date: Wed, 12 Jun 2024 14:48:38 +0530 Subject: [PATCH 325/382] =?UTF-8?q?Update=20preinit.md=20=F0=9F=93=9C=20(#?= =?UTF-8?q?6938)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fix very minor typo --- src/content/reference/react-dom/preinit.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/reference/react-dom/preinit.md b/src/content/reference/react-dom/preinit.md index 3c9a879b..49791b10 100644 --- a/src/content/reference/react-dom/preinit.md +++ b/src/content/reference/react-dom/preinit.md @@ -20,7 +20,7 @@ The `preinit` function is currently only available in React's Canary and experim `preinit` lets you eagerly fetch and evaluate a stylesheet or external script. ```js -preinit("https://example.com/script.js", {as: "style"}); +preinit("https://example.com/script.js", {as: "script"}); ``` </Intro> From c36bd39fbda24f5a28a31b16ffcc16a7d80d462e Mon Sep 17 00:00:00 2001 From: Immerse <y15829485647@163.com> Date: Wed, 12 Jun 2024 17:19:12 +0800 Subject: [PATCH 326/382] docs(api-act): api act parts word error (#6939) --- src/content/reference/react/act.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/reference/react/act.md b/src/content/reference/react/act.md index b1fbe09c..256befa3 100644 --- a/src/content/reference/react/act.md +++ b/src/content/reference/react/act.md @@ -109,7 +109,7 @@ it('can render and update a counter', async () => { }); ``` -Here, wwe create a container, append it to the document, and render the `Counter` component inside `act()`. This ensures that the component is rendered and its effects are applied before making assertions. +Here, we create a container, append it to the document, and render the `Counter` component inside `act()`. This ensures that the component is rendered and its effects are applied before making assertions. Using `act` ensures that all updates have been applied before we make assertions. From f1bdfa2ea6bca850039c0b0beb5d080750a57739 Mon Sep 17 00:00:00 2001 From: Sebastian Silbermann <silbermann.sebastian@gmail.com> Date: Wed, 12 Jun 2024 11:23:43 +0200 Subject: [PATCH 327/382] Recommend installing exact RC (#6944) --- src/content/blog/2024/04/25/react-19-upgrade-guide.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/content/blog/2024/04/25/react-19-upgrade-guide.md b/src/content/blog/2024/04/25/react-19-upgrade-guide.md index 5d222cb9..f464df95 100644 --- a/src/content/blog/2024/04/25/react-19-upgrade-guide.md +++ b/src/content/blog/2024/04/25/react-19-upgrade-guide.md @@ -70,7 +70,13 @@ We expect most apps will not be affected since the transform is enabled in most To install the latest version of React and React DOM: ```bash -npm install react@rc react-dom@rc +npm install --save-exact react@rc react-dom@rc +``` + +Or, if you're using Yarn: + +```bash +yarn add --exact react@rc react-dom@rc ``` If you're using TypeScript, you also need to update the types. Once React 19 is released as stable, you can install the types as usual from `@types/react` and `@types/react-dom`. Until the stable release, the types are available in different packages which need to be enforced in your `package.json`: From 56df8af577407c69889f24a4c7d9ddb54745a26b Mon Sep 17 00:00:00 2001 From: Strek <ssharishkumar@gmail.com> Date: Fri, 14 Jun 2024 23:05:16 +0530 Subject: [PATCH 328/382] rearrange conferences (#6952) --- src/content/community/conferences.md | 75 +++++++++++++--------------- 1 file changed, 35 insertions(+), 40 deletions(-) diff --git a/src/content/community/conferences.md b/src/content/community/conferences.md index dc0d60c5..45418e68 100644 --- a/src/content/community/conferences.md +++ b/src/content/community/conferences.md @@ -10,46 +10,6 @@ Do you know of a local React.js conference? Add it here! (Please keep the list c ## Upcoming Conferences {/*upcoming-conferences*/} -### React Paris 2024 {/*react-paris-2024*/} -March 22, 2024. In-person in Paris, France + Remote (hybrid) - -[Website](https://react.paris/) - [Twitter](https://twitter.com/BeJS_) - [LinkedIn](https://www.linkedin.com/events/7150816372074192900/comments/) - -### Epic Web Conf 2024 {/*epic-web-2024*/} -April 10 - 11, 2024. In-person in Park City, UT, USA - -[Website](https://www.epicweb.dev/conf) - [YouTube](https://www.youtube.com/@EpicWebDev) - -### React Miami 2024 {/*react-miami-2024*/} -April 19 - 20, 2024. In-person in Miami, FL, USA - -[Website](https://reactmiami.com/) - [Twitter](https://twitter.com/ReactMiamiConf) - -### React Connection 2024 {/*react-connection-2024*/} -April 22, 2024. In-person in Paris, France - -[Website](https://reactconnection.io/) - [Twitter](https://twitter.com/ReactConn) - -### React Native Connection 2024 {/*react-native-connection-2024*/} -April 23, 2024. In-person in Paris, France - -[Website](https://reactnativeconnection.io/) - [Twitter](https://twitter.com/ReactNativeConn) - -### React Conf 2024 {/*react-conf-2024*/} -May 15 - 16, 2024. In-person in Henderson, NV, USA + remote - -[Website](https://conf.react.dev) - [Twitter](https://twitter.com/reactjs) - -### App.js Conf 2024 {/*appjs-conf-2024*/} -May 22 - 24, 2024. In-person in Kraków, Poland + remote - -[Website](https://appjs.co) - [Twitter](https://twitter.com/appjsconf) - -### Frontend Nation 2024 {/*frontend-nation-2024*/} -June 4 - 7, 2024. Online - -[Website](https://frontendnation.com/) - [Twitter](https://twitter.com/frontendnation) - ### React Summit 2024 {/*react-summit-2024*/} June 14 & 18, 2024. In-person in Amsterdam, Netherlands + remote (hybrid event) @@ -103,6 +63,41 @@ October 17 - 19, 2024. In-person in Goa, India (hybrid event) + Oct 15 2024 - re ## Past Conferences {/*past-conferences*/} +### Frontend Nation 2024 {/*frontend-nation-2024*/} +June 4 - 7, 2024. Online + +[Website](https://frontendnation.com/) - [Twitter](https://twitter.com/frontendnation) + +### App.js Conf 2024 {/*appjs-conf-2024*/} +May 22 - 24, 2024. In-person in Kraków, Poland + remote + +[Website](https://appjs.co) - [Twitter](https://twitter.com/appjsconf) + +### React Conf 2024 {/*react-conf-2024*/} +May 15 - 16, 2024. In-person in Henderson, NV, USA + remote + +[Website](https://conf.react.dev) - [Twitter](https://twitter.com/reactjs) + +### React Native Connection 2024 {/*react-native-connection-2024*/} +April 23, 2024. In-person in Paris, France + +[Website](https://reactnativeconnection.io/) - [Twitter](https://twitter.com/ReactNativeConn) + +### React Miami 2024 {/*react-miami-2024*/} +April 19 - 20, 2024. In-person in Miami, FL, USA + +[Website](https://reactmiami.com/) - [Twitter](https://twitter.com/ReactMiamiConf) + +### Epic Web Conf 2024 {/*epic-web-2024*/} +April 10 - 11, 2024. In-person in Park City, UT, USA + +[Website](https://www.epicweb.dev/conf) - [YouTube](https://www.youtube.com/@EpicWebDev) + +### React Paris 2024 {/*react-paris-2024*/} +March 22, 2024. In-person in Paris, France + Remote (hybrid) + +[Website](https://react.paris/) - [Twitter](https://twitter.com/BeJS_) - [LinkedIn](https://www.linkedin.com/events/7150816372074192900/comments/) + ### React Day Berlin 2023 {/*react-day-berlin-2023*/} December 8 & 12, 2023. In-person in Berlin, Germany + remote first interactivity (hybrid event) From 3997808debc585063746f9a74ae07f9ca8888fa0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Du=C5=A1an?= <dusanmarsa99@gmail.com> Date: Tue, 18 Jun 2024 17:26:59 +0200 Subject: [PATCH 329/382] Update react-compiler.md (#6965) Added missing comma to the codesample. --- src/content/learn/react-compiler.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/learn/react-compiler.md b/src/content/learn/react-compiler.md index 5655611a..3fef7d5c 100644 --- a/src/content/learn/react-compiler.md +++ b/src/content/learn/react-compiler.md @@ -341,7 +341,7 @@ function reactCompilerLoader(sourceCode, sourceMap) { this.callback( null, - result.code + result.code, result.map === null ? undefined : result.map ); } From 169d5c1820cd1514429bfac2a923e51dd782d37e Mon Sep 17 00:00:00 2001 From: Ricky <rickhanlonii@fb.com> Date: Thu, 20 Jun 2024 10:56:59 -0400 Subject: [PATCH 330/382] Add branding context menu (#6986) --- package.json | 1 + public/images/brand/logo_dark.svg | 12 + public/images/brand/logo_light.svg | 10 + public/images/brand/wordmark_dark.svg | 15 + public/images/brand/wordmark_light.svg | 11 + src/components/Layout/TopNav/BrandMenu.tsx | 145 +++++++++ src/components/Layout/TopNav/TopNav.tsx | 65 ++-- yarn.lock | 354 ++++++++++++++++++++- 8 files changed, 581 insertions(+), 32 deletions(-) create mode 100644 public/images/brand/logo_dark.svg create mode 100644 public/images/brand/logo_light.svg create mode 100644 public/images/brand/wordmark_dark.svg create mode 100644 public/images/brand/wordmark_light.svg create mode 100644 src/components/Layout/TopNav/BrandMenu.tsx diff --git a/package.json b/package.json index 26bb3965..1f63eb12 100644 --- a/package.json +++ b/package.json @@ -27,6 +27,7 @@ "@docsearch/css": "3.0.0-alpha.41", "@docsearch/react": "3.0.0-alpha.41", "@headlessui/react": "^1.7.0", + "@radix-ui/react-context-menu": "^2.1.5", "body-scroll-lock": "^3.1.3", "classnames": "^2.2.6", "date-fns": "^2.16.1", diff --git a/public/images/brand/logo_dark.svg b/public/images/brand/logo_dark.svg new file mode 100644 index 00000000..265777fa --- /dev/null +++ b/public/images/brand/logo_dark.svg @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg width="569px" height="512px" viewBox="0 0 569 512" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <title>React-Logo-Filled (1)</title> + <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> + <g id="Artboard-Copy-7" transform="translate(-227, -256)" fill="#58C4DC" fill-rule="nonzero"> + <g id="React-Logo-Filled-(1)" transform="translate(227, 256)"> + <path d="M285.5,201 C255.400481,201 231,225.400481 231,255.5 C231,285.599519 255.400481,310 285.5,310 C315.599519,310 340,285.599519 340,255.5 C340,225.400481 315.599519,201 285.5,201" id="Path"></path> + <path d="M568.959856,255.99437 C568.959856,213.207656 529.337802,175.68144 466.251623,150.985214 C467.094645,145.423543 467.85738,139.922107 468.399323,134.521063 C474.621631,73.0415145 459.808523,28.6686204 426.709856,9.5541429 C389.677085,-11.8291748 337.36955,3.69129898 284.479928,46.0162134 C231.590306,3.69129898 179.282771,-11.8291748 142.25,9.5541429 C109.151333,28.6686204 94.3382249,73.0415145 100.560533,134.521063 C101.102476,139.922107 101.845139,145.443621 102.708233,151.02537 C97.4493791,153.033193 92.2908847,155.161486 87.3331099,157.39017 C31.0111824,182.708821 0,217.765415 0,255.99437 C0,298.781084 39.6220545,336.307301 102.708233,361.003527 C101.845139,366.565197 101.102476,372.066633 100.560533,377.467678 C94.3382249,438.947226 109.151333,483.32012 142.25,502.434597 C153.629683,508.887578 166.52439,512.186771 179.603923,511.991836 C210.956328,511.991836 247.567589,495.487529 284.479928,465.972527 C321.372196,495.487529 358.003528,511.991836 389.396077,511.991836 C402.475265,512.183856 415.36922,508.884856 426.75,502.434597 C459.848667,483.32012 474.661775,438.947226 468.439467,377.467678 C467.897524,372.066633 467.134789,366.565197 466.291767,361.003527 C529.377946,336.347457 569,298.761006 569,255.99437 M389.155214,27.1025182 C397.565154,26.899606 405.877839,28.9368502 413.241569,33.0055186 C436.223966,46.2772304 446.540955,82.2775015 441.522965,131.770345 C441.181741,135.143488 440.780302,138.556788 440.298575,141.990165 C414.066922,134.08804 387.205771,128.452154 360.010724,125.144528 C343.525021,103.224055 325.192524,82.7564475 305.214266,63.9661533 C336.586743,39.7116483 366.032313,27.1025182 389.135142,27.1025182 M378.356498,310.205598 C368.204912,327.830733 357.150626,344.919965 345.237759,361.405091 C325.045049,363.479997 304.758818,364.51205 284.459856,364.497299 C264.167589,364.51136 243.888075,363.479308 223.702025,361.405091 C211.820914,344.919381 200.80007,327.83006 190.683646,310.205598 C180.532593,292.629285 171.306974,274.534187 163.044553,255.99437 C171.306974,237.454554 180.532593,219.359455 190.683646,201.783142 C200.784121,184.229367 211.770999,167.201087 223.601665,150.764353 C243.824636,148.63809 264.145559,147.579168 284.479928,147.591877 C304.772146,147.579725 325.051559,148.611772 345.237759,150.68404 C357.109048,167.14607 368.136094,184.201112 378.27621,201.783142 C388.419418,219.363718 397.644825,237.458403 405.915303,255.99437 C397.644825,274.530337 388.419418,292.625022 378.27621,310.205598 M419.724813,290.127366 C426.09516,307.503536 431.324985,325.277083 435.380944,343.334682 C417.779633,348.823635 399.836793,353.149774 381.668372,356.285142 C388.573127,345.871232 395.263781,335.035679 401.740334,323.778483 C408.143291,312.655143 414.144807,301.431411 419.805101,290.207679 M246.363271,390.377981 C258.848032,391.140954 271.593728,391.582675 284.5,391.582675 C297.406272,391.582675 310.232256,391.140954 322.737089,390.377981 C310.880643,404.583418 298.10766,417.997563 284.5,430.534446 C270.921643,417.999548 258.18192,404.585125 246.363271,390.377981 Z M187.311556,356.244986 C169.137286,353.123646 151.187726,348.810918 133.578912,343.334682 C137.618549,325.305649 142.828222,307.559058 149.174827,290.207679 C154.754833,301.431411 160.736278,312.655143 167.239594,323.778483 C173.74291,334.901824 180.467017,345.864539 187.311556,356.285142 M149.174827,221.760984 C142.850954,204.473938 137.654787,186.794745 133.619056,168.834762 C151.18418,163.352378 169.085653,159.013101 187.211197,155.844146 C180.346585,166.224592 173.622478,176.986525 167.139234,188.210257 C160.65599,199.433989 154.734761,210.517173 149.074467,221.760984 M322.616657,121.590681 C310.131896,120.827708 297.3862,120.385987 284.379568,120.385987 C271.479987,120.385987 258.767744,120.787552 246.242839,121.590681 C258.061488,107.383537 270.801211,93.9691137 284.379568,81.4342157 C297.99241,93.9658277 310.765727,107.380324 322.616657,121.590681 Z M401.70019,188.210257 C395.196875,176.939676 388.472767,166.09743 381.527868,155.68352 C399.744224,158.819049 417.734224,163.151949 435.380944,168.654058 C431.331963,186.680673 426.122466,204.426664 419.785029,221.781062 C414.205023,210.55733 408.203506,199.333598 401.720262,188.230335 M127.517179,131.790423 C122.438973,82.3176579 132.816178,46.2973086 155.778503,33.0255968 C163.144699,28.9632474 171.455651,26.9264282 179.864858,27.1225964 C202.967687,27.1225964 232.413257,39.7317265 263.785734,63.9862316 C243.794133,82.7898734 225.448298,103.270812 208.949132,125.204763 C181.761691,128.528025 154.90355,134.14313 128.661281,141.990165 C128.199626,138.556788 127.778115,135.163566 127.456963,131.790423 M98.4529773,182.106474 C101.54406,180.767925 104.695358,179.429376 107.906872,178.090828 C114.220532,204.735668 122.781793,230.7969 133.498624,255.99437 C122.761529,281.241316 114.193296,307.357063 107.8868,334.058539 C56.7434387,313.076786 27.0971497,284.003505 27.0971497,255.99437 C27.0971497,229.450947 53.1907013,202.526037 98.4529773,182.106474 Z M155.778503,478.963143 C132.816178,465.691432 122.438973,429.671082 127.517179,380.198317 C127.838331,376.825174 128.259842,373.431953 128.721497,369.978497 C154.953686,377.878517 181.814655,383.514365 209.009348,386.824134 C225.500295,408.752719 243.832321,429.233234 263.805806,448.042665 C220.069,481.834331 180.105722,492.97775 155.838719,478.963143 M441.502893,380.198317 C446.520883,429.691161 436.203894,465.691432 413.221497,478.963143 C388.974566,493.017906 348.991216,481.834331 305.274481,448.042665 C325.241364,429.232737 343.566681,408.752215 360.050868,386.824134 C387.245915,383.516508 414.107066,377.880622 440.338719,369.978497 C440.820446,373.431953 441.221885,376.825174 441.563109,380.198317 M461.193488,334.018382 C454.869166,307.332523 446.294494,281.231049 435.561592,255.99437 C446.289797,230.744081 454.857778,204.629101 461.173416,177.930202 C512.216417,198.911955 541.942994,227.985236 541.942994,255.99437 C541.942994,284.003505 512.296705,313.076786 461.153344,334.058539" id="Shape"></path> + </g> + </g> + </g> +</svg> \ No newline at end of file diff --git a/public/images/brand/logo_light.svg b/public/images/brand/logo_light.svg new file mode 100644 index 00000000..bbe5a899 --- /dev/null +++ b/public/images/brand/logo_light.svg @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg width="569px" height="512px" viewBox="0 0 569 512" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <title>React-Logo-Filled (1)</title> + <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> + <g id="React-Logo-Filled-(1)" fill="#087EA4" fill-rule="nonzero"> + <path d="M285.5,201 C255.400481,201 231,225.400481 231,255.5 C231,285.599519 255.400481,310 285.5,310 C315.599519,310 340,285.599519 340,255.5 C340,225.400481 315.599519,201 285.5,201" id="Path"></path> + <path d="M568.959856,255.99437 C568.959856,213.207656 529.337802,175.68144 466.251623,150.985214 C467.094645,145.423543 467.85738,139.922107 468.399323,134.521063 C474.621631,73.0415145 459.808523,28.6686204 426.709856,9.5541429 C389.677085,-11.8291748 337.36955,3.69129898 284.479928,46.0162134 C231.590306,3.69129898 179.282771,-11.8291748 142.25,9.5541429 C109.151333,28.6686204 94.3382249,73.0415145 100.560533,134.521063 C101.102476,139.922107 101.845139,145.443621 102.708233,151.02537 C97.4493791,153.033193 92.2908847,155.161486 87.3331099,157.39017 C31.0111824,182.708821 0,217.765415 0,255.99437 C0,298.781084 39.6220545,336.307301 102.708233,361.003527 C101.845139,366.565197 101.102476,372.066633 100.560533,377.467678 C94.3382249,438.947226 109.151333,483.32012 142.25,502.434597 C153.629683,508.887578 166.52439,512.186771 179.603923,511.991836 C210.956328,511.991836 247.567589,495.487529 284.479928,465.972527 C321.372196,495.487529 358.003528,511.991836 389.396077,511.991836 C402.475265,512.183856 415.36922,508.884856 426.75,502.434597 C459.848667,483.32012 474.661775,438.947226 468.439467,377.467678 C467.897524,372.066633 467.134789,366.565197 466.291767,361.003527 C529.377946,336.347457 569,298.761006 569,255.99437 M389.155214,27.1025182 C397.565154,26.899606 405.877839,28.9368502 413.241569,33.0055186 C436.223966,46.2772304 446.540955,82.2775015 441.522965,131.770345 C441.181741,135.143488 440.780302,138.556788 440.298575,141.990165 C414.066922,134.08804 387.205771,128.452154 360.010724,125.144528 C343.525021,103.224055 325.192524,82.7564475 305.214266,63.9661533 C336.586743,39.7116483 366.032313,27.1025182 389.135142,27.1025182 M378.356498,310.205598 C368.204912,327.830733 357.150626,344.919965 345.237759,361.405091 C325.045049,363.479997 304.758818,364.51205 284.459856,364.497299 C264.167589,364.51136 243.888075,363.479308 223.702025,361.405091 C211.820914,344.919381 200.80007,327.83006 190.683646,310.205598 C180.532593,292.629285 171.306974,274.534187 163.044553,255.99437 C171.306974,237.454554 180.532593,219.359455 190.683646,201.783142 C200.784121,184.229367 211.770999,167.201087 223.601665,150.764353 C243.824636,148.63809 264.145559,147.579168 284.479928,147.591877 C304.772146,147.579725 325.051559,148.611772 345.237759,150.68404 C357.109048,167.14607 368.136094,184.201112 378.27621,201.783142 C388.419418,219.363718 397.644825,237.458403 405.915303,255.99437 C397.644825,274.530337 388.419418,292.625022 378.27621,310.205598 M419.724813,290.127366 C426.09516,307.503536 431.324985,325.277083 435.380944,343.334682 C417.779633,348.823635 399.836793,353.149774 381.668372,356.285142 C388.573127,345.871232 395.263781,335.035679 401.740334,323.778483 C408.143291,312.655143 414.144807,301.431411 419.805101,290.207679 M246.363271,390.377981 C258.848032,391.140954 271.593728,391.582675 284.5,391.582675 C297.406272,391.582675 310.232256,391.140954 322.737089,390.377981 C310.880643,404.583418 298.10766,417.997563 284.5,430.534446 C270.921643,417.999548 258.18192,404.585125 246.363271,390.377981 Z M187.311556,356.244986 C169.137286,353.123646 151.187726,348.810918 133.578912,343.334682 C137.618549,325.305649 142.828222,307.559058 149.174827,290.207679 C154.754833,301.431411 160.736278,312.655143 167.239594,323.778483 C173.74291,334.901824 180.467017,345.864539 187.311556,356.285142 M149.174827,221.760984 C142.850954,204.473938 137.654787,186.794745 133.619056,168.834762 C151.18418,163.352378 169.085653,159.013101 187.211197,155.844146 C180.346585,166.224592 173.622478,176.986525 167.139234,188.210257 C160.65599,199.433989 154.734761,210.517173 149.074467,221.760984 M322.616657,121.590681 C310.131896,120.827708 297.3862,120.385987 284.379568,120.385987 C271.479987,120.385987 258.767744,120.787552 246.242839,121.590681 C258.061488,107.383537 270.801211,93.9691137 284.379568,81.4342157 C297.99241,93.9658277 310.765727,107.380324 322.616657,121.590681 Z M401.70019,188.210257 C395.196875,176.939676 388.472767,166.09743 381.527868,155.68352 C399.744224,158.819049 417.734224,163.151949 435.380944,168.654058 C431.331963,186.680673 426.122466,204.426664 419.785029,221.781062 C414.205023,210.55733 408.203506,199.333598 401.720262,188.230335 M127.517179,131.790423 C122.438973,82.3176579 132.816178,46.2973086 155.778503,33.0255968 C163.144699,28.9632474 171.455651,26.9264282 179.864858,27.1225964 C202.967687,27.1225964 232.413257,39.7317265 263.785734,63.9862316 C243.794133,82.7898734 225.448298,103.270812 208.949132,125.204763 C181.761691,128.528025 154.90355,134.14313 128.661281,141.990165 C128.199626,138.556788 127.778115,135.163566 127.456963,131.790423 M98.4529773,182.106474 C101.54406,180.767925 104.695358,179.429376 107.906872,178.090828 C114.220532,204.735668 122.781793,230.7969 133.498624,255.99437 C122.761529,281.241316 114.193296,307.357063 107.8868,334.058539 C56.7434387,313.076786 27.0971497,284.003505 27.0971497,255.99437 C27.0971497,229.450947 53.1907013,202.526037 98.4529773,182.106474 Z M155.778503,478.963143 C132.816178,465.691432 122.438973,429.671082 127.517179,380.198317 C127.838331,376.825174 128.259842,373.431953 128.721497,369.978497 C154.953686,377.878517 181.814655,383.514365 209.009348,386.824134 C225.500295,408.752719 243.832321,429.233234 263.805806,448.042665 C220.069,481.834331 180.105722,492.97775 155.838719,478.963143 M441.502893,380.198317 C446.520883,429.691161 436.203894,465.691432 413.221497,478.963143 C388.974566,493.017906 348.991216,481.834331 305.274481,448.042665 C325.241364,429.232737 343.566681,408.752215 360.050868,386.824134 C387.245915,383.516508 414.107066,377.880622 440.338719,369.978497 C440.820446,373.431953 441.221885,376.825174 441.563109,380.198317 M461.193488,334.018382 C454.869166,307.332523 446.294494,281.231049 435.561592,255.99437 C446.289797,230.744081 454.857778,204.629101 461.173416,177.930202 C512.216417,198.911955 541.942994,227.985236 541.942994,255.99437 C541.942994,284.003505 512.296705,313.076786 461.153344,334.058539" id="Shape"></path> + </g> + </g> +</svg> \ No newline at end of file diff --git a/public/images/brand/wordmark_dark.svg b/public/images/brand/wordmark_dark.svg new file mode 100644 index 00000000..ec028ae2 --- /dev/null +++ b/public/images/brand/wordmark_dark.svg @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg width="600px" height="180.766722px" viewBox="0 0 600 180.766722" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <title>Group</title> + <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> + <g id="Group" transform="translate(0, 0)" fill-rule="nonzero"> + <path d="M238.674643,136.444487 L238.674643,40.7880921 L279.602667,40.7880921 C291.581922,40.7880921 300.554839,43.4984068 306.523063,48.9190363 C312.489641,54.2938957 315.47293,61.5593239 315.47293,70.7149916 C315.47293,77.6386258 313.765607,83.5146514 310.349313,88.3430683 C306.933019,93.1713207 301.784705,96.6104997 294.907664,98.660276 C299.05167,104.536302 303.106769,110.640025 307.06967,116.971612 C311.032571,123.303033 314.835771,129.793992 318.479269,136.444487 L301.740252,136.444487 C298.41451,129.976249 294.907664,123.667548 291.218067,117.518219 C287.572922,111.368889 283.996927,105.743282 280.49008,100.641727 C280.216777,100.641727 279.920424,100.641727 279.602667,100.641727 L253.023077,100.641727 L253.023077,136.444487 L238.674643,136.444487 Z M278.23615,54.1118031 L253.023077,54.1118031 L253.023077,87.5914837 L278.23615,87.5914837 C285.9792,87.5914837 291.672475,86.2249661 295.317619,83.4919309 C298.961117,80.7132903 300.78369,76.4998063 300.78369,70.8516434 C300.78369,65.2033159 298.961117,61.0127168 295.317619,58.2796817 C291.672475,55.5010411 285.9792,54.1118031 278.23615,54.1118031 Z M360.98949,138.084308 C354.430206,138.084308 348.667783,136.581139 343.70222,133.5748 C338.782757,130.568461 334.933458,126.377698 332.15597,121.002838 C329.422934,115.627814 328.056417,109.410159 328.056417,102.349873 C328.056417,95.2894229 329.422934,89.071768 332.15597,83.6969086 C334.933458,78.2762791 338.782757,74.0629597 343.70222,71.056621 C348.667783,68.0046769 354.430206,66.4787871 360.98949,66.4787871 L362.49266,66.4787871 C368.459238,66.4787871 373.698104,67.9590714 378.207612,70.9199693 C382.761573,73.835097 386.314519,78.0713015 388.866449,83.6285827 C391.416733,89.1400938 392.692698,95.7905891 392.692698,103.579739 L392.692698,107.747618 L342.199051,107.747618 C343.018961,113.35034 345.114837,117.768637 348.485031,121.002838 C351.901325,124.19127 356.343331,125.78565 361.809401,125.78565 L363.175919,125.78565 C366.455561,125.78565 369.598551,125.125112 372.60489,123.804199 C375.611228,122.437682 378.138463,120.615604 380.188239,118.338129 L388.593145,127.220493 C385.494608,130.545576 381.668359,133.187565 377.114398,135.146295 C372.60489,137.104861 367.72988,138.084308 362.49266,138.084308 L360.98949,138.084308 Z M360.579535,78.7774453 C355.704525,78.7774453 351.628022,80.3943814 348.34838,83.6285827 C345.114837,86.817014 343.065061,91.1898702 342.199051,96.7471514 L378.958373,96.7471514 C378.548418,91.6910364 376.885547,87.4319469 373.971407,83.9702121 C371.10172,80.5083127 367.09272,78.7774453 361.946053,78.7774453 L360.579535,78.7774453 Z M427.265593,137.811005 C420.067503,137.811005 414.464781,135.966206 410.457427,132.276608 C406.494526,128.541405 404.512252,123.644663 404.512252,117.586544 C404.512252,111.573867 406.74478,106.540473 411.208188,102.486525 C415.717696,98.4324133 422.892737,96.405522 432.731663,96.405522 L451.316302,96.405522 L451.316302,96.2005444 C451.316302,84.7217968 446.031337,78.9824229 435.464698,78.9824229 C431.045743,78.9824229 427.310046,79.7794484 424.259254,81.3738287 C421.252916,82.9680443 418.814587,85.2000779 416.947562,88.0697648 L407.58774,80.4855923 C410.50188,75.9760843 414.328129,72.5141849 419.066487,70.1000587 C423.849299,67.6857679 429.26927,66.4787871 435.328047,66.4787871 L436.831216,66.4787871 C445.211426,66.4787871 451.953462,68.8929133 457.055676,73.7213303 C462.156244,78.5495826 464.708174,85.7694054 464.708174,95.3806339 L464.708174,136.444487 L451.589606,136.444487 L451.589606,125.307369 C448.947123,129.315711 445.553879,132.41326 441.408227,134.599688 C437.262574,136.740511 432.548912,137.811005 427.265593,137.811005 Z M430.271932,125.648998 C435.555251,125.648998 439.951157,124.464573 443.458003,122.096052 C446.964849,119.681762 449.584282,116.425005 451.316302,112.325452 L451.316302,107.132685 L433.27827,107.132685 C427.902752,107.132685 424.053453,107.998036 421.730373,109.729068 C419.453393,111.41433 418.31408,113.71469 418.31408,116.629982 C418.31408,122.642659 422.30003,125.648998 430.271932,125.648998 Z M513.468156,138.084308 C506.908871,138.084308 501.101995,136.649465 496.04588,133.779778 C490.989765,130.910091 487.026864,126.810538 484.157177,121.48112 C481.331943,116.106096 479.920972,109.729068 479.920972,102.349873 C479.920972,94.9250731 481.331943,88.548046 484.157177,83.2186274 C486.980764,77.8436034 490.897566,73.7213303 495.909228,70.8516434 C500.965343,67.936351 506.818319,66.4787871 513.468156,66.4787871 L514.971325,66.4787871 C520.256291,66.4787871 525.243257,67.8453047 529.935516,70.5783399 C534.672228,73.2657695 538.498477,76.9780874 541.414263,81.7154581 L530.822929,89.094653 C528.865351,85.9971034 526.519222,83.5829772 523.786187,81.8521099 C521.053151,80.075637 517.954614,79.1874006 514.493867,79.1874006 L513.12735,79.1874006 C507.205225,79.1874006 502.536015,81.2826178 499.119721,85.4733814 C495.749527,89.618375 494.063606,95.221097 494.063606,102.281548 C494.063606,109.296228 495.749527,114.89895 499.119721,119.089714 C502.536015,123.280313 507.205225,125.375695 513.12735,125.375695 L514.493867,125.375695 C517.954614,125.375695 521.143704,124.601225 524.05949,123.052615 C526.97363,121.50384 529.479461,119.431343 531.575337,116.83496 L541.414263,125.170717 C538.361825,129.179059 534.512526,132.344934 529.866367,134.668014 C525.266306,136.945489 520.300744,138.084308 514.971325,138.084308 L513.468156,138.084308 Z M587.154735,137.332723 C579.046182,137.332723 572.875449,135.282947 568.639245,131.183394 C564.40304,127.083842 562.284115,120.774976 562.284115,112.257126 L562.284115,80.0073111 L548.892243,80.0073111 L548.892243,68.1186082 L562.284115,68.1186082 L562.284115,47.7573317 L575.949291,47.7573317 L575.949291,68.1186082 L598.975935,68.1186082 L598.975935,80.0073111 L575.949291,80.0073111 L575.949291,110.412327 C575.949291,115.787187 577.065554,119.522389 579.298082,121.617771 C581.528963,123.712988 584.831655,124.760762 589.204511,124.760762 C591.300387,124.760762 593.167412,124.669551 594.807233,124.487458 C596.493154,124.305201 598.223527,124.077503 600,123.804199 L600,135.761228 C598.177428,136.216624 596.127651,136.581139 593.850671,136.854442 C591.57369,137.173187 589.341163,137.332723 587.154735,137.332723 Z" id="Shape" fill="#F6F7F9"></path> + <g transform="translate(0, 0.0009)" fill="#58C4DC"> + <path d="M100.331696,71.2413046 C96.5513816,71.2413046 92.8560217,72.3638247 89.7128667,74.46678 C86.569547,76.5698999 84.1198584,79.5591159 82.6731608,83.0564131 C81.2264632,86.5537102 80.8479543,90.4021859 81.5853799,94.1148331 C82.3229701,97.8276449 84.143402,101.238012 86.8163433,103.91474 C89.4894493,106.591468 92.8952062,108.414205 96.6029141,109.152783 C100.310622,109.891361 104.153665,109.512193 107.646187,108.063685 C111.13871,106.615011 114.12381,104.161865 116.224131,101.014265 C118.324287,97.8668293 119.445326,94.1663656 119.445326,90.3809473 C119.445326,85.3047461 117.431606,80.4364861 113.847049,76.8471548 C110.262657,73.2576589 105.400982,71.2413046 100.331696,71.2413046 Z" id="Path"></path> + <path d="M200.664051,90.380618 C200.664051,75.2745071 186.68935,62.025543 164.440304,53.3063376 C164.73781,51.342833 165.006174,49.400567 165.197157,47.4935341 C167.391817,25.7878018 162.167933,10.1216657 150.494416,3.37315978 C137.433471,-4.17637401 118.985484,1.3032314 100.332025,16.246381 C81.6785665,1.3032314 63.2304146,-4.17637401 50.1694701,3.37315978 C38.4961172,10.1216657 33.2717394,25.7878018 35.4662349,47.4935341 C35.6573828,49.400567 35.9193261,51.3499125 36.2237467,53.3206614 C34.3690695,54.0294395 32.5496254,54.7808595 30.8011415,55.5676772 C10.9371951,64.5066779 0,76.8835404 0,90.380618 C0,105.486729 13.9741404,118.735693 36.2237467,127.454898 C35.9193261,129.418403 35.6573828,131.360834 35.4662349,133.267702 C33.2717394,154.973434 38.4961172,170.639323 50.1694701,177.387945 C54.1830804,179.666571 58.7307851,180.830581 63.3436874,180.763078 C74.4012842,180.763078 87.3135582,174.934799 100.332025,164.51469 C113.343413,174.934799 126.262767,180.763078 137.334358,180.763078 C141.94726,180.830581 146.4948,179.664925 150.508575,177.387945 C162.182093,170.639323 167.406635,154.973434 165.211975,133.267702 C165.020992,131.360834 164.750981,129.418403 164.454463,127.454898 C186.704168,118.749852 200.678868,105.479649 200.678868,90.380618 L200.664051,90.380618 Z M137.249568,9.56873644 C140.21557,9.49710128 143.147326,10.216367 145.744368,11.6529062 C153.849957,16.3385798 157.488681,29.048675 155.718794,46.5224834 C155.598441,47.7133294 155.457015,48.9184991 155.287106,50.1305837 C146.035453,47.3407475 136.562028,45.3509004 126.970721,44.1831041 C121.156436,36.4440047 114.690832,29.2177609 107.644705,22.5837297 C118.709382,14.0204391 129.094421,9.56873644 137.242488,9.56873644 L137.249568,9.56873644 Z M133.440935,109.520261 C129.860659,115.74302 125.961968,121.776442 121.760503,127.596654 C114.638806,128.32914 107.484016,128.69349 100.324946,128.688278 C93.1681804,128.693326 86.0158604,128.328976 78.8964685,127.596654 C74.7061987,121.776277 70.8193617,115.74269 67.2514337,109.520261 C63.6713223,103.314789 60.4175287,96.9262372 57.5035535,90.380618 C60.4175287,83.8349988 63.6713223,77.4464468 67.2514337,71.2409753 C70.813764,65.0434065 74.6885822,59.0315523 78.8610707,53.2284626 C85.9934693,52.4777011 93.1604423,52.1038022 100.332025,52.10837 C107.488791,52.1041314 114.641111,52.4684812 121.760503,53.2001444 C125.947315,59.0121247 129.836292,65.033528 133.412617,71.2409753 C136.989929,77.4479286 140.243723,83.8363159 143.160497,90.380618 C140.243723,96.9249201 136.989929,103.313307 133.412617,109.520261 L133.440935,109.520261 Z M148.030898,102.431492 C150.277749,108.566333 152.122218,114.841447 153.552616,121.216663 C147.345005,123.154649 141.016711,124.68202 134.609061,125.789064 C137.044261,122.112309 139.403891,118.286718 141.688116,114.312292 C143.946327,110.385118 146.062948,106.422546 148.059216,102.45981 L148.030898,102.431492 Z M100.339105,152.003152 C95.5502017,147.577611 91.0571578,142.841557 86.8887852,137.825779 C91.2919354,138.095131 95.7872843,138.251046 100.339105,138.251046 C104.890926,138.251046 109.414428,138.095131 113.824822,137.825779 C109.643114,142.841063 105.13838,147.576952 100.339105,152.003152 Z M66.0620695,125.77474 C59.6522789,124.6728 53.3216804,123.150203 47.1114343,121.216663 C48.53607,114.85149 50.3734599,108.585925 52.6119145,102.45981 C54.5798644,106.422546 56.6894054,110.385118 58.9830146,114.312292 C61.2766238,118.239466 63.648108,122.110004 66.0620695,125.789064 L66.0620695,125.77474 Z M52.6119145,78.2943463 C50.3815273,72.190952 48.548912,65.9492594 47.1255934,59.6082886 C53.3205279,57.6727729 59.6341684,56.1406268 66.0266718,55.0218934 C63.6056307,58.6867948 61.2341465,62.4863722 58.9476168,66.4489439 C56.6610872,70.4115156 54.5727849,74.3245304 52.5765168,78.2943463 L52.6119145,78.2943463 Z M100.296628,28.7510046 C105.097714,33.1752288 109.602612,37.911447 113.782345,42.9283775 C109.37903,42.6590254 104.883846,42.5031107 100.296628,42.5031107 C95.7471119,42.5031107 91.2636172,42.6448663 86.8463079,42.9283775 C91.0146805,37.9125995 95.5077244,33.1765459 100.296628,28.7510046 Z M141.673957,66.4489439 C139.380347,62.4697435 137.008863,58.6418479 134.559504,54.9650924 C140.984112,56.0721363 147.32887,57.6019774 153.552616,59.5445727 C152.124688,65.9089225 150.287298,72.1743232 148.052136,78.3014258 C146.084186,74.3386895 143.967566,70.3761178 141.681036,66.4560234 L141.673957,66.4489439 Z M44.9734105,46.5295629 C43.1824493,29.0628341 46.8424114,16.3456593 54.9409214,11.6599858 C57.5387866,10.2256856 60.4700491,9.50656812 63.4357215,9.57583245 C71.5837884,9.57583245 81.968828,14.0275186 93.0335044,22.5908093 C85.9827676,29.2296151 79.5123892,36.4604687 73.6933293,44.2045074 C64.1048212,45.3777368 54.6322202,47.3601751 45.3769448,50.1305837 C45.2141152,48.9184991 45.0654447,47.7204089 44.9521719,46.5295629 L44.9734105,46.5295629 Z M9.55678182,90.380618 C9.55678182,81.009271 18.7596521,71.5032479 34.7228823,64.2939621 C35.8131328,63.8214434 36.924622,63.34876 38.0571852,62.8762413 C40.2839503,72.2833154 43.3034602,81.4844239 47.0831161,90.380618 C43.296216,99.294264 40.2744011,108.514636 38.0501056,117.941796 C20.0125676,110.533953 9.55678182,100.269431 9.55678182,90.380618 Z M54.9409214,169.10158 C46.8424114,164.415906 43.1824493,151.698402 44.9734105,134.231673 C45.0866833,133.040827 45.2353538,131.842737 45.3981835,130.623573 C54.6500014,133.41275 64.1234256,135.402433 73.714568,136.571052 C79.5306643,144.313115 85.9961035,151.543804 93.0405839,158.184586 C77.6152348,170.115766 63.5206761,174.049032 54.9621601,169.10158 L54.9409214,169.10158 Z M155.711714,134.231673 C157.481601,151.705481 153.842878,164.415906 145.737288,169.10158 C137.185852,174.063849 123.084214,170.115766 107.665944,158.184586 C114.707955,151.54364 121.171089,144.312786 126.98488,136.571052 C136.576187,135.403256 146.049612,133.413409 155.301265,130.623573 C155.47101,131.842737 155.6126,133.040827 155.732953,134.231673 L155.711714,134.231673 Z M162.656422,117.927637 C160.425871,108.50591 157.401751,99.2906419 153.616332,90.380618 C157.400104,81.4658196 160.421919,72.2457773 162.649343,62.8194403 C180.651977,70.2272827 191.136295,80.4918053 191.136295,90.380618 C191.136295,100.269431 180.679966,110.533953 162.642263,117.941796" id="Shape"></path> + </g> + <path d="M100.334001,110.494483 C110.855528,110.494483 119.384902,101.680938 119.384902,90.808727 C119.384902,79.9365156 110.855528,71.1229712 100.334001,71.1229712 C89.8126389,71.1229712 81.2832643,79.9365156 81.2832643,90.808727 C81.2832643,101.680938 89.8126389,110.494483 100.334001,110.494483 Z" id="Path" fill="#58C4DC"></path> + <path d="M200.66899,90.1760129 C200.66899,75.1235749 186.692643,61.9078682 164.452323,53.2367379 C168.047087,29.6442236 163.568532,10.9419817 150.501166,3.41577915 C138.831435,-3.31130369 122.670472,-0.0193332173 104.992509,12.6952896 C103.427764,13.8164926 101.875038,15.0093143 100.322147,16.2497171 C98.7812749,15.0093143 97.2285487,13.8164926 95.6758225,12.6952896 C77.9978597,-0.0193332173 61.836896,-3.32323026 50.1670005,3.41577915 C37.1116538,10.9419817 32.6324397,29.6322048 36.2397168,53.2008462 C13.9751118,61.8839953 0,75.1115561 0,90.1760129 C0,105.228451 13.9751118,118.443993 36.2158439,127.115288 C32.6205856,150.707638 37.0997997,169.410324 50.1670005,176.936049 C54.1206816,179.214676 58.5998957,180.347404 63.4732596,180.347404 C72.9692396,180.347404 83.9939083,176.053575 95.6758225,167.656901 C97.2404028,166.535698 98.7932936,165.342053 100.34602,164.102309 C101.886892,165.342053 103.439618,166.535698 104.992509,167.656901 C116.674258,176.0651 127.699092,180.347404 137.194907,180.347404 C142.068271,180.347404 146.547485,179.214676 150.501166,176.936049 C162.171062,170.208831 167.390171,154.584102 165.205389,132.93583 C165.014406,131.02748 164.762506,129.095257 164.452323,127.127142 C186.705815,118.455847 200.66899,105.240305 200.66899,90.1760129 Z M110.582554,20.4362001 C120.520429,13.2916181 129.765497,9.57032735 137.194907,9.57032735 C140.408034,9.57032735 143.274758,10.2621145 145.723294,11.6695782 C154.275718,16.6074813 157.930741,30.7654265 155.314766,50.0639475 C146.71476,47.4280504 137.194907,45.4123546 126.958538,44.1240414 C120.830941,36.0731125 114.333068,28.8093307 107.679939,22.6069873 C108.647532,21.8675861 109.61496,21.1280202 110.582554,20.4362001 Z M54.9448728,11.6695782 C57.3935735,10.2621145 60.2601323,9.57032735 63.4732596,9.57032735 C70.9028346,9.57032735 80.1479022,13.279764 90.0857778,20.4362001 C91.0532064,21.1280202 92.020635,21.8555673 92.9882282,22.6069873 C86.3350986,28.8093307 79.849244,36.0610938 73.7216475,44.1121872 C63.4971325,45.4003359 53.9654255,47.4280504 45.36542,50.0520934 C42.7494443,30.7654265 46.3926131,16.6074813 54.9448728,11.6695782 Z M9.55562934,90.1760129 C9.55562934,80.3118964 20.0189886,70.0663074 38.0672283,62.6831611 C40.0858876,71.4260747 43.0958483,80.6698252 47.0734023,90.15214 C43.0719754,99.646309 40.0620147,108.902078 38.0433554,117.656846 C20.0189886,110.2737 9.55562934,100.039965 9.55562934,90.1760129 Z M90.0857778,159.915497 C75.8478171,170.149561 63.0432182,173.345236 54.9448728,168.682612 C46.3926131,163.745039 42.7375902,149.586599 45.3534012,130.287914 C53.9534067,132.923976 63.4732596,134.939671 73.7097934,136.22782 C79.8372253,144.278749 86.3350986,151.542695 92.9882282,157.744874 C92.020635,158.496294 91.0532064,159.223841 90.0857778,159.915497 Z M100.334166,151.530676 C88.3896496,140.605121 76.910902,126.005939 67.2237741,109.259842 C64.631836,104.787049 59.3914881,93.5442318 57.2653184,89.1908032 C55.5691902,93.2460675 53.8938068,96.9662882 52.5798096,100.926061 C53.6549132,102.918048 57.7995774,112.026958 58.9462997,114.018946 C61.2157067,117.942992 63.5927887,121.759856 66.0413248,125.457356 C59.1731745,124.252681 52.8187032,122.702095 47.0375106,120.877218 C50.3222567,106.063344 56.8798946,88.9831913 67.2237741,71.0920188 C69.7679664,66.6908443 75.2956123,56.8637719 78.0668441,52.7846346 C73.6951404,53.3452361 70.1843427,53.1596861 66.0754054,54.006433 C64.8809374,55.938656 60.093022,64.3410927 58.9462997,66.3330801 C56.6528551,70.2928529 54.550723,74.2527904 52.5798096,78.1888549 C50.1908734,71.6407661 48.363362,65.3669687 47.0615482,59.4509354 C61.5502566,54.8826507 79.6462421,52.0081892 100.334166,52.0081892 C105.506023,52.0081892 116.307439,51.9034777 121.133057,52.2493878 C118.4695,48.7545603 116.185111,45.5911544 113.402025,42.4662744 C111.144472,42.3946558 102.639464,42.4662744 100.334166,42.4662744 C95.7713141,42.4662744 91.3041188,42.6212013 86.9203962,42.8836385 C91.2682271,37.7190253 95.7713141,32.9958137 100.334166,28.8211849 C112.266663,39.7467398 123.757429,54.3459221 133.444393,71.0920188 C135.988585,75.4933578 141.485772,85.7389468 143.647669,90.1760129 C145.355816,86.1205839 146.971599,82.4220959 148.297451,78.4382855 C147.222347,76.4344439 142.868589,68.3010301 141.721867,66.3210614 C139.45246,62.3970156 137.075543,58.5801509 134.626842,54.8946695 C141.494992,56.0991806 147.849464,57.6497665 153.630656,59.4748083 C150.34591,74.288682 143.788272,91.36867 133.444393,109.259842 C130.9002,113.661017 123.659468,123.739825 120.888401,127.818962 C125.260105,127.258361 129.994512,126.42034 134.103449,125.573593 C135.297917,123.641205 140.575309,116.010769 141.721867,114.018946 C144.003293,110.082881 146.10559,106.146817 148.052465,102.222606 C150.369783,108.591895 152.209313,114.853839 153.547019,120.912945 C139.070329,125.481229 120.998216,128.343837 100.334166,128.343837 C95.1621436,128.343837 83.1371182,127.664365 78.3115002,127.318455 C80.9752216,130.813117 83.8440853,134.451676 86.6270066,137.576721 C88.8845594,137.648175 98.028867,137.885751 100.334166,137.885751 C104.897017,137.885751 109.364213,137.73066 113.74777,137.468223 C109.388086,142.632836 104.897017,147.356048 100.334166,151.530676 Z M145.723294,168.682612 C137.624949,173.358407 124.808495,170.161086 110.582554,159.915497 C109.61496,159.223841 108.647532,158.496294 107.679939,157.744874 C114.333068,151.542695 120.818923,144.290767 126.946519,136.239674 C137.15918,134.951525 146.667014,132.93583 155.255166,130.311787 C155.422276,131.516462 155.589551,132.721138 155.708915,133.901941 C157.464808,151.339858 153.821804,164.006817 145.723294,168.682612 Z M162.624811,117.6687 C160.570425,108.794733 157.524573,99.5509821 153.594764,90.21174 C157.596191,80.717571 160.606317,71.4618017 162.624811,62.707034 C180.648684,70.0901803 191.113245,80.3118964 191.113245,90.1760129 C191.113245,100.039965 180.661856,110.2737 162.624811,117.6687 Z" id="Shape" fill="#58C4DC"></path> + </g> + </g> +</svg> \ No newline at end of file diff --git a/public/images/brand/wordmark_light.svg b/public/images/brand/wordmark_light.svg new file mode 100644 index 00000000..2de8f3cc --- /dev/null +++ b/public/images/brand/wordmark_light.svg @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg width="600px" height="180.322004px" viewBox="0 0 600 180.322004" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <title>Group</title> + <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> + <g id="Group" fill-rule="nonzero"> + <path d="M238.282648,135.760088 L238.282648,40.7871199 L279.255074,40.7871199 C291.247326,40.7871199 300.229977,43.4780705 306.204676,48.8599717 C312.177727,54.1964299 315.164252,61.4099495 315.164252,70.5002036 C315.164252,77.3743712 313.455076,83.2084149 310.035076,88.0023348 C306.615076,92.7960912 301.461177,96.2106986 294.576675,98.2458301 C298.725177,104.079874 302.784676,110.139989 306.751876,116.426338 C310.719076,122.712525 314.526402,129.157108 318.173853,135.760088 L301.416676,135.760088 C298.087326,129.338063 294.576675,123.074435 290.883075,116.96904 C287.233976,110.863646 283.654101,105.278231 280.14345,100.213124 C279.86985,100.213124 279.573175,100.213124 279.255074,100.213124 L252.646648,100.213124 L252.646648,135.760088 L238.282648,135.760088 Z M277.887074,54.0156383 L252.646648,54.0156383 L252.646648,87.2561199 L277.887074,87.2561199 C285.638525,87.2561199 291.337976,85.8993655 294.987075,83.1858568 C298.634526,80.4270685 300.459076,76.2436881 300.459076,70.6358791 C300.459076,65.0279066 298.634526,60.8672477 294.987075,58.153739 C291.337976,55.3949507 285.638525,54.0156383 277.887074,54.0156383 Z M360.730192,137.388193 C354.163792,137.388193 348.395117,135.895763 343.424167,132.910904 C338.499367,129.926044 334.645892,125.765222 331.865391,120.428764 C329.129391,115.092142 327.76139,108.91891 327.76139,101.909067 C327.76139,94.8990604 329.129391,88.7258281 331.865391,83.38937 C334.645892,78.0074687 338.499367,73.8242518 343.424167,70.8393922 C348.395117,67.809253 354.163792,66.2942651 360.730192,66.2942651 L362.234993,66.2942651 C368.208044,66.2942651 373.452593,67.7639734 377.966994,70.7037168 C382.525895,73.5980171 386.082695,77.8039556 388.637394,83.3215323 C391.190445,88.7936658 392.467794,95.396646 392.467794,103.130146 L392.467794,107.268247 L341.919367,107.268247 C342.740167,112.830939 344.838317,117.21767 348.212168,120.428764 C351.632168,123.594415 356.078992,125.177404 361.550993,125.177404 L362.918993,125.177404 C366.202193,125.177404 369.348593,124.521585 372.358193,123.21011 C375.367793,121.853356 377.897769,120.044296 379.94977,117.783093 L388.363794,126.601996 C385.261895,129.903323 381.431495,132.526436 376.872593,134.471171 C372.358193,136.415744 367.477894,137.388193 362.234993,137.388193 L360.730192,137.388193 Z M360.319792,78.5050543 C355.439493,78.5050543 351.358568,80.110438 348.075368,83.3215323 C344.838317,86.4871834 342.786317,90.8287974 341.919367,96.346374 L378.718569,96.346374 C378.308169,91.3263829 376.643495,87.0977229 373.726193,83.6607209 C370.853393,80.2235553 366.840043,78.5050543 361.687793,78.5050543 L360.319792,78.5050543 Z M427.078197,137.116842 C419.872297,137.116842 414.263497,135.285224 410.251796,131.621987 C406.284595,127.913471 404.300171,123.051713 404.300171,117.036878 C404.300171,111.067159 406.535121,106.069726 411.003371,102.044742 C415.517772,98.0195954 422.700596,96.0071855 432.550197,96.0071855 L451.154998,96.0071855 L451.154998,95.8036723 C451.154998,84.4069357 445.864299,78.7085675 435.286197,78.7085675 C430.862447,78.7085675 427.122698,79.4998985 424.068596,81.0828876 C421.058996,82.6657132 418.618023,84.8817998 416.748972,87.7309839 L407.378995,80.2009973 C410.296297,75.7237079 414.126697,72.2865424 418.870196,69.8896642 C423.658196,67.4926225 429.084047,66.2942651 435.149397,66.2942651 L436.654197,66.2942651 C445.043499,66.2942651 451.792849,68.6911433 456.900598,73.4850632 C462.0067,78.2788196 464.561399,85.4470596 464.561399,94.9896197 L464.561399,135.760088 L451.428598,135.760088 L451.428598,124.70254 C448.783249,128.682244 445.386323,131.757663 441.236173,133.92847 C437.086024,136.053997 432.367247,137.116842 427.078197,137.116842 Z M430.087797,125.041729 C435.376848,125.041729 439.777523,123.865766 443.288173,121.514167 C446.798824,119.117126 449.421099,115.883637 451.154998,111.813374 L451.154998,106.657707 L433.097397,106.657707 C427.716047,106.657707 423.862572,107.516876 421.536972,109.23554 C419.257521,110.908762 418.116972,113.192686 418.116972,116.08715 C418.116972,122.056869 422.107247,125.041729 430.087797,125.041729 Z M513.374279,137.388193 C506.807879,137.388193 500.994702,135.963601 495.933102,133.114417 C490.871502,130.265233 486.904301,126.19497 484.031501,120.903628 C481.203202,115.567006 479.790701,109.23554 479.790701,101.909067 C479.790701,94.5373138 481.203202,88.2058479 484.031501,82.914506 C486.858152,77.5778844 490.779203,73.4850632 495.796302,70.6358791 C500.857902,67.7414153 506.717228,66.2942651 513.374279,66.2942651 L514.879079,66.2942651 C520.169778,66.2942651 525.162154,67.6510195 529.859504,70.3645282 C534.601355,73.0327573 538.431755,76.7185521 541.350705,81.4220762 L530.74788,88.7485497 C528.788179,85.6731308 526.439504,83.2762526 523.703504,81.5577516 C520.967504,79.7939709 517.865605,78.9120806 514.401103,78.9120806 L513.033103,78.9120806 C507.104553,78.9120806 502.430278,80.9923283 499.010278,85.1531506 C495.636427,89.2685299 493.948678,94.8312227 493.948678,101.841229 C493.948678,108.805793 495.636427,114.368485 499.010278,118.529308 C502.430278,122.689967 507.104553,124.770378 513.033103,124.770378 L514.401103,124.770378 C517.865605,124.770378 521.058154,124.001441 523.977104,122.463895 C526.894405,120.926186 529.402955,118.868496 531.501104,116.290663 L541.350705,124.566865 C538.294955,128.546568 534.44148,131.689825 529.79028,133.996307 C525.185229,136.25751 520.214279,137.388193 514.879079,137.388193 L513.374279,137.388193 Z M587.140799,136.641978 C579.023449,136.641978 572.846022,134.606847 568.605222,130.536584 C564.364422,126.466321 562.243198,120.202529 562.243198,111.745536 L562.243198,79.7261332 L548.836797,79.7261332 L548.836797,67.9223704 L562.243198,67.9223704 L562.243198,47.7065671 L575.923199,47.7065671 L575.923199,67.9223704 L598.974824,67.9223704 L598.974824,79.7261332 L575.923199,79.7261332 L575.923199,109.913918 C575.923199,115.250376 577.040673,118.958892 579.275623,121.039303 C581.508924,123.119551 584.815199,124.159838 589.192799,124.159838 C591.290949,124.159838 593.16,124.069279 594.8016,123.888487 C596.489349,123.707532 598.2216,123.481461 600,123.21011 L600,135.081711 C598.17545,135.533853 596.12345,135.895763 593.844,136.167114 C591.564549,136.483581 589.329599,136.641978 587.140799,136.641978 Z" id="Shape" fill="#23272F"></path> + <path d="M99.8210256,110.554562 C110.491336,110.554562 119.141324,101.6644 119.141324,90.6976744 C119.141324,79.7309491 110.491336,70.8407871 99.8210256,70.8407871 C89.1508821,70.8407871 80.5008945,79.7309491 80.5008945,90.6976744 C80.5008945,101.6644 89.1508821,110.554562 99.8210256,110.554562 Z" id="Path" fill="#087EA4"></path> + <path d="M200.715564,90.1633095 C200.715564,75.1129909 186.735973,61.8991451 164.490491,53.2292358 C168.08609,29.6400435 163.606495,10.9404515 150.536096,3.41529223 C138.863657,-3.3108368 122.698942,-0.0193199813 105.016877,12.6934961 C103.451769,13.8145412 101.898682,15.0071949 100.345431,16.247423 C98.8042012,15.0071949 97.2511146,13.8145412 95.6980281,12.6934961 C78.0159623,-0.0193199813 61.8512478,-3.32276333 50.1786439,3.41529223 C37.1202671,10.9404515 32.6400134,29.6280264 36.2481278,53.1933492 C13.9783553,61.8752756 0,75.1009739 0,90.1633095 C0,105.213628 13.9783553,118.427309 36.2242493,127.097383 C32.6281565,150.686411 37.1084102,169.386464 50.1786439,176.911129 C54.1332426,179.189435 58.6134963,180.322004 63.4879912,180.322004 C72.9861752,180.322004 84.0134026,176.028779 95.6980281,167.633288 C97.2629715,166.512242 98.8162227,165.318766 100.369309,164.079196 C101.910539,165.318766 103.463625,166.512242 105.016877,167.633288 C116.701338,176.040303 127.72873,180.322004 137.226749,180.322004 C142.101244,180.322004 146.581498,179.189435 150.536096,176.911129 C162.2087,170.184859 167.429021,154.56233 165.243732,132.917105 C165.052705,131.009024 164.800746,129.077073 164.490491,127.109236 C186.749147,118.439162 200.715564,105.22548 200.715564,90.1633095 Z M110.608219,20.4333166 C120.548401,13.2897406 129.795614,9.56897382 137.226749,9.56897382 C140.440622,9.56897382 143.308011,10.26068 145.757115,11.6679291 C154.311524,16.6051368 157.967396,30.7610886 155.350813,50.0568922 C146.748811,47.4213662 137.226749,45.4059543 126.988004,44.1178224 C120.858985,36.0680272 114.359604,28.8052682 107.70493,22.6037981 C108.672748,21.864501 109.640401,21.1250392 110.608219,20.4333166 Z M54.9576251,11.6679291 C57.4068941,10.26068 60.2741181,9.56897382 63.4879912,9.56897382 C70.9192905,9.56897382 80.1665039,13.2778882 90.1066859,20.4333166 C91.0743391,21.1250392 92.0419922,21.8524839 93.00981,22.6037981 C86.3551363,28.8052682 79.8677764,36.0561747 73.7387577,44.1059699 C63.5118697,45.3939372 53.9779504,47.4213662 45.3759489,50.0450397 C42.7593661,30.7610886 46.4033805,16.6051368 54.9576251,11.6679291 Z M9.55784712,90.1633095 C9.55784712,80.3005819 20.0236348,70.0564355 38.0760634,62.6743289 C40.0951911,71.4160114 43.1058505,80.6584603 47.0843276,90.13944 C43.0819721,99.6322721 40.0713127,108.886738 38.0521849,117.640273 C20.0236348,110.258166 9.55784712,100.025872 9.55784712,90.1633095 Z M90.1066859,159.892973 C75.8654208,170.125596 63.05785,173.320822 54.9576251,168.658854 C46.4033805,163.721976 42.7475092,149.56553 45.3639273,130.269562 C53.9659288,132.905253 63.4879912,134.920665 73.7269008,136.208632 C79.8557548,144.258427 86.3551363,151.521351 93.00981,157.722656 C92.0419922,158.47397 91.0743391,159.201415 90.1066859,159.892973 Z M100.357452,151.509334 C88.4101641,140.585317 76.9287523,125.988191 67.2393762,109.244452 C64.6468365,104.772289 59.4052723,93.5310541 57.2786092,89.1782384 C55.5820874,93.2329318 53.9063151,96.9526286 52.5920129,100.911844 C53.667366,102.903551 57.8129922,112.011178 58.9599806,114.002885 C61.2299144,117.926378 63.6075481,121.742705 66.0566524,125.439685 C59.1869081,124.235179 52.830962,122.684811 47.0484276,120.860191 C50.333936,106.048403 56.893096,88.9706558 67.2393762,71.0820025 C69.784159,66.6814478 75.3130878,56.8557591 78.0849628,52.7771962 C73.7122444,53.3377187 70.2006319,53.1521948 66.090741,53.9988226 C64.8959957,55.9307734 60.1069691,64.332027 58.9599806,66.323734 C56.6660038,70.2829492 54.5633838,74.242329 52.5920129,78.1778393 C50.2025223,71.6306726 48.3745867,65.3577585 47.0724708,59.4425583 C61.5645419,54.8749168 79.6647273,52.0008601 100.357452,52.0008601 C105.53051,52.0008601 116.334433,51.8961634 121.161171,52.2420247 C118.496996,48.7476893 116.212077,45.5847288 113.428345,42.4602889 C111.170268,42.3886803 102.663286,42.4602889 100.357452,42.4602889 C95.7935418,42.4602889 91.3253097,42.615194 86.9405697,42.8775942 C91.2894097,37.7137082 95.7935418,32.9911617 100.357452,28.8171207 C112.292719,39.7411372 123.786152,54.3382638 133.475364,71.0820025 C136.020147,75.4827218 141.51861,85.7268682 143.681008,90.1633095 C145.389387,86.1084515 147.00571,82.4104842 148.331869,78.4272348 C147.256516,76.42384 142.901748,68.2914068 141.754759,66.3117169 C139.484826,62.3882237 137.107357,58.5718964 134.658088,54.8869339 C141.527832,56.0914401 147.883778,57.641643 153.666312,59.4664278 C150.380804,74.2782157 143.821644,91.3557986 133.475364,109.244452 C130.930581,113.645007 123.688169,123.722395 120.916458,127.800958 C125.289177,127.240436 130.024683,126.402533 134.134573,125.555905 C135.329319,123.623954 140.607936,115.994427 141.754759,114.002885 C144.036715,110.067375 146.139499,106.131864 148.086827,102.208207 C150.404683,108.576599 152.24464,114.83766 153.582656,120.895913 C139.102441,125.463555 121.026299,128.325759 100.357452,128.325759 C95.18423,128.325759 83.1564137,127.646383 78.3296756,127.300521 C80.9940152,130.794692 83.8635448,134.432738 86.647112,137.557343 C88.9051888,137.628787 98.0516187,137.86633 100.357452,137.86633 C104.921198,137.86633 109.389595,137.71126 113.77417,137.44886 C109.413474,142.612746 104.921198,147.335293 100.357452,151.509334 Z M145.757115,168.658854 C137.65689,173.333991 124.837462,170.13712 110.608219,159.892973 C109.640401,159.201415 108.672748,158.47397 107.70493,157.722656 C114.359604,151.521351 120.846964,144.270444 126.975982,136.220484 C137.191014,134.932517 146.701054,132.917105 155.291199,130.293432 C155.458348,131.497938 155.625662,132.702444 155.745054,133.883081 C157.501354,151.318542 153.857505,163.983718 145.757115,168.658854 Z M162.662555,117.652126 C160.607692,108.779407 157.561133,99.5369585 153.630412,90.1990315 C157.632768,80.7061994 160.643592,71.4517334 162.662555,62.6981984 C180.690611,70.0803051 191.157601,80.3005819 191.157601,90.1633095 C191.157601,100.025872 180.703786,110.258166 162.662555,117.652126 Z" id="Shape" fill="#087EA4"></path> + </g> + </g> +</svg> \ No newline at end of file diff --git a/src/components/Layout/TopNav/BrandMenu.tsx b/src/components/Layout/TopNav/BrandMenu.tsx new file mode 100644 index 00000000..3bd8776f --- /dev/null +++ b/src/components/Layout/TopNav/BrandMenu.tsx @@ -0,0 +1,145 @@ +import * as ContextMenu from '@radix-ui/react-context-menu'; +import {IconCopy} from 'components/Icon/IconCopy'; +import {IconDownload} from 'components/Icon/IconDownload'; +import {IconNewPage} from 'components/Icon/IconNewPage'; +import {ExternalLink} from 'components/ExternalLink'; +import {IconClose} from '../../Icon/IconClose'; + +function MenuItem({ + children, + onSelect, +}: { + children: React.ReactNode; + onSelect?: () => void; +}) { + return ( + <ContextMenu.Item + className="flex items-center hover:bg-border dark:hover:bg-border-dark ps-6 pe-4 py-2 w-full text-base cursor-pointer" + onSelect={onSelect}> + {children} + </ContextMenu.Item> + ); +} + +function DownloadMenuItem({ + fileName, + href, + children, +}: { + fileName: string; + href: string; + children: React.ReactNode; +}) { + return ( + <a download={fileName} href={href} className="flex items-center w-full"> + <MenuItem>{children}</MenuItem> + </a> + ); +} + +export default function BrandMenu({children}: {children: React.ReactNode}) { + return ( + <ContextMenu.Root> + <ContextMenu.Trigger className="flex items-center"> + {children} + </ContextMenu.Trigger> + <ContextMenu.Portal> + <ContextMenu.Content + className="hidden lg:block z-50 mt-6 bg-wash border border-border dark:border-border-dark dark:bg-wash-dark rounded min-w-56 overflow-hidden shadow" + // @ts-ignore + sideOffset={0} + align="end"> + <ContextMenu.Label className="ps-4 pt-2 text-base text-tertiary dark:text-tertiary-dark"> + Dark Mode + </ContextMenu.Label> + <DownloadMenuItem + fileName="react_logo_dark.svg" + href="/images/brand/logo_dark.svg"> + <span className="w-8"> + <IconDownload /> + </span> + <span>Logo SVG</span> + </DownloadMenuItem> + <DownloadMenuItem + fileName="react_wordmark_dark.svg" + href="/images/brand/wordmark_dark.svg"> + <span className="w-8"> + <IconDownload /> + </span> + <span>Wordmark SVG</span> + </DownloadMenuItem> + <MenuItem + onSelect={async () => { + await navigator.clipboard.writeText('#58C4DC'); + }}> + <span className="w-8"> + <IconCopy /> + </span> + <span>Copy dark mode color</span> + </MenuItem> + <ContextMenu.Label className="ps-4 text-base text-tertiary dark:text-tertiary-dark"> + Light Mode + </ContextMenu.Label> + <DownloadMenuItem + fileName="react_logo_light.svg" + href="/images/brand/logo_light.svg"> + <span className="w-8"> + <IconDownload /> + </span> + <span>Logo SVG</span> + </DownloadMenuItem> + <DownloadMenuItem + fileName="react_wordmark_light.svg" + href="/images/brand/wordmark_light.svg"> + <span className="w-8"> + <IconDownload /> + </span> + <span>Wordmark SVG</span> + </DownloadMenuItem> + <MenuItem + onSelect={async () => { + await navigator.clipboard.writeText('#087EA4'); + }}> + <span className="w-8"> + <IconCopy /> + </span> + <span>Copy light mode color</span> + </MenuItem> + <div className="uwu-visible flex flex-col"> + <ContextMenu.Separator className="" /> + <ContextMenu.Label className="ps-4 text-base text-tertiary dark:text-tertiary-dark"> + uwu + </ContextMenu.Label> + <MenuItem + onSelect={() => { + // @ts-ignore + window.__setUwu(false); + }}> + <span className="w-8"> + <IconClose /> + </span> + <span>Turn off</span> + </MenuItem> + <DownloadMenuItem fileName="react_uwu_png" href="/images/uwu.png"> + <span className="w-8"> + <IconDownload /> + </span> + <span>Logo PNG</span> + </DownloadMenuItem> + + <ExternalLink + className="flex items-center" + href="https://github.com/SAWARATSUKI/KawaiiLogos"> + <MenuItem> + <span className="w-8"> + <IconNewPage /> + </span> + <span>Logo by @sawaratsuki1004</span> + </MenuItem> + </ExternalLink> + </div> + </ContextMenu.Content> + </ContextMenu.Portal> + </ContextMenu.Root> + ); +} diff --git a/src/components/Layout/TopNav/TopNav.tsx b/src/components/Layout/TopNav/TopNav.tsx index 921d2102..cc5c654e 100644 --- a/src/components/Layout/TopNav/TopNav.tsx +++ b/src/components/Layout/TopNav/TopNav.tsx @@ -26,6 +26,7 @@ import {Feedback} from '../Feedback'; import {SidebarRouteTree} from '../Sidebar'; import type {RouteItem} from '../getRouteMeta'; import {siteConfig} from 'siteConfig'; +import BrandMenu from './BrandMenu'; declare global { interface Window { @@ -241,15 +242,15 @@ export default function TopNav({ className={cn( isMenuOpen ? 'h-screen sticky top-0 lg:bottom-0 lg:h-screen flex flex-col shadow-nav dark:shadow-nav-dark z-20' - : 'z-50 sticky top-0' + : 'z-40 sticky top-0' )}> <nav className={cn( - 'duration-300 backdrop-filter backdrop-blur-lg backdrop-saturate-200 transition-shadow bg-opacity-90 items-center w-full flex justify-between bg-wash dark:bg-wash-dark dark:bg-opacity-95 px-1.5 lg:pe-5 lg:ps-4 z-50', + 'duration-300 backdrop-filter backdrop-blur-lg backdrop-saturate-200 transition-shadow bg-opacity-90 items-center w-full flex justify-between bg-wash dark:bg-wash-dark dark:bg-opacity-95 px-1.5 lg:pe-5 lg:ps-4 z-40', {'dark:shadow-nav-dark shadow-nav': isScrolled || isMenuOpen} )}> <div className="flex items-center justify-between w-full h-16 gap-0 sm:gap-3"> - <div className="flex flex-row 3xl:flex-1 "> + <div className="flex flex-row 3xl:flex-1 items-centers"> <button type="button" aria-label="Menu" @@ -262,33 +263,35 @@ export default function TopNav({ )}> {isMenuOpen ? <IconClose /> : <IconHamburger />} </button> - <div className="f"> - <div className="uwu-visible flex items-center justify-center h-full"> - <NextLink href="/"> - <Image - alt="logo by @sawaratsuki1004" - title="logo by @sawaratsuki1004" - className="h-8" - priority - width={63} - height={32} - src="/images/uwu.png" - /> - </NextLink> - </div> - <div className="uwu-hidden"> - <NextLink - href="/" - className={`active:scale-95 overflow-hidden transition-transform relative items-center text-primary dark:text-primary-dark p-1 whitespace-nowrap outline-link rounded-full 3xl:rounded-xl inline-flex text-lg font-normal gap-2`}> - <Logo - className={cn( - 'text-sm me-0 w-10 h-10 text-brand dark:text-brand-dark flex origin-center transition-all ease-in-out' - )} - /> - <span className="sr-only 3xl:not-sr-only">React</span> - </NextLink> + <BrandMenu> + <div className="flex items-center"> + <div className="uwu-visible flex items-center justify-center h-full"> + <NextLink href="/"> + <Image + alt="logo by @sawaratsuki1004" + title="logo by @sawaratsuki1004" + className="h-8" + priority + width={63} + height={32} + src="/images/uwu.png" + /> + </NextLink> + </div> + <div className="uwu-hidden"> + <NextLink + href="/" + className={`active:scale-95 overflow-hidden transition-transform relative items-center text-primary dark:text-primary-dark p-1 whitespace-nowrap outline-link rounded-full 3xl:rounded-xl inline-flex text-lg font-normal gap-2`}> + <Logo + className={cn( + 'text-sm me-0 w-10 h-10 text-brand dark:text-brand-dark flex origin-center transition-all ease-in-out' + )} + /> + <span className="sr-only 3xl:not-sr-only">React</span> + </NextLink> + </div> </div> - </div> + </BrandMenu> <div className="flex flex-column justify-center items-center"> <NextLink href="/versions" @@ -394,8 +397,8 @@ export default function TopNav({ className="overflow-y-scroll isolate no-bg-scrollbar lg:w-[342px] grow bg-wash dark:bg-wash-dark"> <aside className={cn( - `lg:grow lg:flex flex-col w-full pb-8 lg:pb-0 lg:max-w-custom-xs z-50`, - isMenuOpen ? 'block z-40' : 'hidden lg:block' + `lg:grow lg:flex flex-col w-full pb-8 lg:pb-0 lg:max-w-custom-xs z-40`, + isMenuOpen ? 'block z-30' : 'hidden lg:block' )}> <nav role="navigation" diff --git a/yarn.lock b/yarn.lock index b20c796e..d8da351b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -451,6 +451,13 @@ dependencies: regenerator-runtime "^0.13.4" +"@babel/runtime@^7.13.10": + version "7.24.7" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.24.7.tgz#f4f0d5530e8dbdf59b3451b9b3e594b6ba082e12" + integrity sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw== + dependencies: + regenerator-runtime "^0.14.0" + "@babel/template@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155" @@ -690,6 +697,33 @@ minimatch "^3.0.4" strip-json-comments "^3.1.1" +"@floating-ui/core@^1.0.0": + version "1.6.2" + resolved "https://registry.yarnpkg.com/@floating-ui/core/-/core-1.6.2.tgz#d37f3e0ac1f1c756c7de45db13303a266226851a" + integrity sha512-+2XpQV9LLZeanU4ZevzRnGFg2neDeKHgFLjP6YLW+tly0IvrhqT4u8enLGjLH3qeh85g19xY5rsAusfwTdn5lg== + dependencies: + "@floating-ui/utils" "^0.2.0" + +"@floating-ui/dom@^1.0.0": + version "1.6.5" + resolved "https://registry.yarnpkg.com/@floating-ui/dom/-/dom-1.6.5.tgz#323f065c003f1d3ecf0ff16d2c2c4d38979f4cb9" + integrity sha512-Nsdud2X65Dz+1RHjAIP0t8z5e2ff/IRbei6BqFrl1urT8sDVzM1HMQ+R0XcU5ceRfyO3I6ayeqIfh+6Wb8LGTw== + dependencies: + "@floating-ui/core" "^1.0.0" + "@floating-ui/utils" "^0.2.0" + +"@floating-ui/react-dom@^2.0.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@floating-ui/react-dom/-/react-dom-2.1.0.tgz#4f0e5e9920137874b2405f7d6c862873baf4beff" + integrity sha512-lNzj5EQmEKn5FFKc04+zasr09h/uX8RtJRNj5gUXsSQIXHVWTVh+hVAg1vOMCexkX8EgvemMvIFpQfkosnVNyA== + dependencies: + "@floating-ui/dom" "^1.0.0" + +"@floating-ui/utils@^0.2.0": + version "0.2.2" + resolved "https://registry.yarnpkg.com/@floating-ui/utils/-/utils-0.2.2.tgz#d8bae93ac8b815b2bd7a98078cf91e2724ef11e5" + integrity sha512-J4yDIIthosAsRZ5CPYP/jQvUAQtlZTTD/4suA08/FEnlxqW3sKS9iAhgsa9VYLZ6vDHn/ixJgIqRQPotoBjxIw== + "@headlessui/react@^1.7.0": version "1.7.0" resolved "https://registry.yarnpkg.com/@headlessui/react/-/react-1.7.0.tgz#7e36e6bbc25a24b02011527ae157a000dda88b85" @@ -904,6 +938,247 @@ resolved "https://registry.yarnpkg.com/@polka/url/-/url-1.0.0-next.21.tgz#5de5a2385a35309427f6011992b544514d559aa1" integrity sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g== +"@radix-ui/primitive@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@radix-ui/primitive/-/primitive-1.0.1.tgz#e46f9958b35d10e9f6dc71c497305c22e3e55dbd" + integrity sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw== + dependencies: + "@babel/runtime" "^7.13.10" + +"@radix-ui/react-arrow@1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@radix-ui/react-arrow/-/react-arrow-1.0.3.tgz#c24f7968996ed934d57fe6cde5d6ec7266e1d25d" + integrity sha512-wSP+pHsB/jQRaL6voubsQ/ZlrGBHHrOjmBnr19hxYgtS0WvAFwZhK2WP/YY5yF9uKECCEEDGxuLxq1NBK51wFA== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-primitive" "1.0.3" + +"@radix-ui/react-collection@1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@radix-ui/react-collection/-/react-collection-1.0.3.tgz#9595a66e09026187524a36c6e7e9c7d286469159" + integrity sha512-3SzW+0PW7yBBoQlT8wNcGtaxaD0XSu0uLUFgrtHY08Acx05TaHaOmVLR73c0j/cqpDy53KBMO7s0dx2wmOIDIA== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-compose-refs" "1.0.1" + "@radix-ui/react-context" "1.0.1" + "@radix-ui/react-primitive" "1.0.3" + "@radix-ui/react-slot" "1.0.2" + +"@radix-ui/react-compose-refs@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@radix-ui/react-compose-refs/-/react-compose-refs-1.0.1.tgz#7ed868b66946aa6030e580b1ffca386dd4d21989" + integrity sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw== + dependencies: + "@babel/runtime" "^7.13.10" + +"@radix-ui/react-context-menu@^2.1.5": + version "2.1.5" + resolved "https://registry.yarnpkg.com/@radix-ui/react-context-menu/-/react-context-menu-2.1.5.tgz#1bdbd72761439f9166f75dc4598f276265785c83" + integrity sha512-R5XaDj06Xul1KGb+WP8qiOh7tKJNz2durpLBXAGZjSVtctcRFCuEvy2gtMwRJGePwQQE5nV77gs4FwRi8T+r2g== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/primitive" "1.0.1" + "@radix-ui/react-context" "1.0.1" + "@radix-ui/react-menu" "2.0.6" + "@radix-ui/react-primitive" "1.0.3" + "@radix-ui/react-use-callback-ref" "1.0.1" + "@radix-ui/react-use-controllable-state" "1.0.1" + +"@radix-ui/react-context@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@radix-ui/react-context/-/react-context-1.0.1.tgz#fe46e67c96b240de59187dcb7a1a50ce3e2ec00c" + integrity sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg== + dependencies: + "@babel/runtime" "^7.13.10" + +"@radix-ui/react-direction@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@radix-ui/react-direction/-/react-direction-1.0.1.tgz#9cb61bf2ccf568f3421422d182637b7f47596c9b" + integrity sha512-RXcvnXgyvYvBEOhCBuddKecVkoMiI10Jcm5cTI7abJRAHYfFxeu+FBQs/DvdxSYucxR5mna0dNsL6QFlds5TMA== + dependencies: + "@babel/runtime" "^7.13.10" + +"@radix-ui/react-dismissable-layer@1.0.5": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.0.5.tgz#3f98425b82b9068dfbab5db5fff3df6ebf48b9d4" + integrity sha512-aJeDjQhywg9LBu2t/At58hCvr7pEm0o2Ke1x33B+MhjNmmZ17sy4KImo0KPLgsnc/zN7GPdce8Cnn0SWvwZO7g== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/primitive" "1.0.1" + "@radix-ui/react-compose-refs" "1.0.1" + "@radix-ui/react-primitive" "1.0.3" + "@radix-ui/react-use-callback-ref" "1.0.1" + "@radix-ui/react-use-escape-keydown" "1.0.3" + +"@radix-ui/react-focus-guards@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@radix-ui/react-focus-guards/-/react-focus-guards-1.0.1.tgz#1ea7e32092216b946397866199d892f71f7f98ad" + integrity sha512-Rect2dWbQ8waGzhMavsIbmSVCgYxkXLxxR3ZvCX79JOglzdEy4JXMb98lq4hPxUbLr77nP0UOGf4rcMU+s1pUA== + dependencies: + "@babel/runtime" "^7.13.10" + +"@radix-ui/react-focus-scope@1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@radix-ui/react-focus-scope/-/react-focus-scope-1.0.4.tgz#2ac45fce8c5bb33eb18419cdc1905ef4f1906525" + integrity sha512-sL04Mgvf+FmyvZeYfNu1EPAaaxD+aw7cYeIB9L9Fvq8+urhltTRaEo5ysKOpHuKPclsZcSUMKlN05x4u+CINpA== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-compose-refs" "1.0.1" + "@radix-ui/react-primitive" "1.0.3" + "@radix-ui/react-use-callback-ref" "1.0.1" + +"@radix-ui/react-id@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@radix-ui/react-id/-/react-id-1.0.1.tgz#73cdc181f650e4df24f0b6a5b7aa426b912c88c0" + integrity sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-use-layout-effect" "1.0.1" + +"@radix-ui/react-menu@2.0.6": + version "2.0.6" + resolved "https://registry.yarnpkg.com/@radix-ui/react-menu/-/react-menu-2.0.6.tgz#2c9e093c1a5d5daa87304b2a2f884e32288ae79e" + integrity sha512-BVkFLS+bUC8HcImkRKPSiVumA1VPOOEC5WBMiT+QAVsPzW1FJzI9KnqgGxVDPBcql5xXrHkD3JOVoXWEXD8SYA== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/primitive" "1.0.1" + "@radix-ui/react-collection" "1.0.3" + "@radix-ui/react-compose-refs" "1.0.1" + "@radix-ui/react-context" "1.0.1" + "@radix-ui/react-direction" "1.0.1" + "@radix-ui/react-dismissable-layer" "1.0.5" + "@radix-ui/react-focus-guards" "1.0.1" + "@radix-ui/react-focus-scope" "1.0.4" + "@radix-ui/react-id" "1.0.1" + "@radix-ui/react-popper" "1.1.3" + "@radix-ui/react-portal" "1.0.4" + "@radix-ui/react-presence" "1.0.1" + "@radix-ui/react-primitive" "1.0.3" + "@radix-ui/react-roving-focus" "1.0.4" + "@radix-ui/react-slot" "1.0.2" + "@radix-ui/react-use-callback-ref" "1.0.1" + aria-hidden "^1.1.1" + react-remove-scroll "2.5.5" + +"@radix-ui/react-popper@1.1.3": + version "1.1.3" + resolved "https://registry.yarnpkg.com/@radix-ui/react-popper/-/react-popper-1.1.3.tgz#24c03f527e7ac348fabf18c89795d85d21b00b42" + integrity sha512-cKpopj/5RHZWjrbF2846jBNacjQVwkP068DfmgrNJXpvVWrOvlAmE9xSiy5OqeE+Gi8D9fP+oDhUnPqNMY8/5w== + dependencies: + "@babel/runtime" "^7.13.10" + "@floating-ui/react-dom" "^2.0.0" + "@radix-ui/react-arrow" "1.0.3" + "@radix-ui/react-compose-refs" "1.0.1" + "@radix-ui/react-context" "1.0.1" + "@radix-ui/react-primitive" "1.0.3" + "@radix-ui/react-use-callback-ref" "1.0.1" + "@radix-ui/react-use-layout-effect" "1.0.1" + "@radix-ui/react-use-rect" "1.0.1" + "@radix-ui/react-use-size" "1.0.1" + "@radix-ui/rect" "1.0.1" + +"@radix-ui/react-portal@1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@radix-ui/react-portal/-/react-portal-1.0.4.tgz#df4bfd353db3b1e84e639e9c63a5f2565fb00e15" + integrity sha512-Qki+C/EuGUVCQTOTD5vzJzJuMUlewbzuKyUy+/iHM2uwGiru9gZeBJtHAPKAEkB5KWGi9mP/CHKcY0wt1aW45Q== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-primitive" "1.0.3" + +"@radix-ui/react-presence@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@radix-ui/react-presence/-/react-presence-1.0.1.tgz#491990ba913b8e2a5db1b06b203cb24b5cdef9ba" + integrity sha512-UXLW4UAbIY5ZjcvzjfRFo5gxva8QirC9hF7wRE4U5gz+TP0DbRk+//qyuAQ1McDxBt1xNMBTaciFGvEmJvAZCg== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-compose-refs" "1.0.1" + "@radix-ui/react-use-layout-effect" "1.0.1" + +"@radix-ui/react-primitive@1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@radix-ui/react-primitive/-/react-primitive-1.0.3.tgz#d49ea0f3f0b2fe3ab1cb5667eb03e8b843b914d0" + integrity sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-slot" "1.0.2" + +"@radix-ui/react-roving-focus@1.0.4": + version "1.0.4" + resolved "https://registry.yarnpkg.com/@radix-ui/react-roving-focus/-/react-roving-focus-1.0.4.tgz#e90c4a6a5f6ac09d3b8c1f5b5e81aab2f0db1974" + integrity sha512-2mUg5Mgcu001VkGy+FfzZyzbmuUWzgWkj3rvv4yu+mLw03+mTzbxZHvfcGyFp2b8EkQeMkpRQ5FiA2Vr2O6TeQ== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/primitive" "1.0.1" + "@radix-ui/react-collection" "1.0.3" + "@radix-ui/react-compose-refs" "1.0.1" + "@radix-ui/react-context" "1.0.1" + "@radix-ui/react-direction" "1.0.1" + "@radix-ui/react-id" "1.0.1" + "@radix-ui/react-primitive" "1.0.3" + "@radix-ui/react-use-callback-ref" "1.0.1" + "@radix-ui/react-use-controllable-state" "1.0.1" + +"@radix-ui/react-slot@1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@radix-ui/react-slot/-/react-slot-1.0.2.tgz#a9ff4423eade67f501ffb32ec22064bc9d3099ab" + integrity sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-compose-refs" "1.0.1" + +"@radix-ui/react-use-callback-ref@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.0.1.tgz#f4bb1f27f2023c984e6534317ebc411fc181107a" + integrity sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ== + dependencies: + "@babel/runtime" "^7.13.10" + +"@radix-ui/react-use-controllable-state@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.0.1.tgz#ecd2ced34e6330caf89a82854aa2f77e07440286" + integrity sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-use-callback-ref" "1.0.1" + +"@radix-ui/react-use-escape-keydown@1.0.3": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.0.3.tgz#217b840c250541609c66f67ed7bab2b733620755" + integrity sha512-vyL82j40hcFicA+M4Ex7hVkB9vHgSse1ZWomAqV2Je3RleKGO5iM8KMOEtfoSB0PnIelMd2lATjTGMYqN5ylTg== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-use-callback-ref" "1.0.1" + +"@radix-ui/react-use-layout-effect@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.0.1.tgz#be8c7bc809b0c8934acf6657b577daf948a75399" + integrity sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ== + dependencies: + "@babel/runtime" "^7.13.10" + +"@radix-ui/react-use-rect@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@radix-ui/react-use-rect/-/react-use-rect-1.0.1.tgz#fde50b3bb9fd08f4a1cd204572e5943c244fcec2" + integrity sha512-Cq5DLuSiuYVKNU8orzJMbl15TXilTnJKUCltMVQg53BQOF1/C5toAaGrowkgksdBQ9H+SRL23g0HDmg9tvmxXw== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/rect" "1.0.1" + +"@radix-ui/react-use-size@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@radix-ui/react-use-size/-/react-use-size-1.0.1.tgz#1c5f5fea940a7d7ade77694bb98116fb49f870b2" + integrity sha512-ibay+VqrgcaI6veAojjofPATwledXiSmX+C0KrBk/xgpX9rBzPV3OsfwlhQdUOFbh+LKQorLYT+xTXW9V8yd0g== + dependencies: + "@babel/runtime" "^7.13.10" + "@radix-ui/react-use-layout-effect" "1.0.1" + +"@radix-ui/rect@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@radix-ui/rect/-/rect-1.0.1.tgz#bf8e7d947671996da2e30f4904ece343bc4a883f" + integrity sha512-fyrgCaedtvMg9NK3en0pnOYJdtfwxUcNolezkNPUsoX57X8oQk+NkqcvzHXD2uKNij6GXmWU9NDru2IWjrO4BQ== + dependencies: + "@babel/runtime" "^7.13.10" + "@react-hook/intersection-observer@^3.1.1": version "3.1.1" resolved "https://registry.yarnpkg.com/@react-hook/intersection-observer/-/intersection-observer-3.1.1.tgz#6b8fdb80d133c9c28bc8318368ecb3a1f8befc50" @@ -1365,6 +1640,13 @@ argparse@^1.0.7: dependencies: sprintf-js "~1.0.2" +aria-hidden@^1.1.1: + version "1.2.4" + resolved "https://registry.yarnpkg.com/aria-hidden/-/aria-hidden-1.2.4.tgz#b78e383fdbc04d05762c78b4a25a501e736c4522" + integrity sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A== + dependencies: + tslib "^2.0.0" + aria-query@^4.2.2: version "4.2.2" resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-4.2.2.tgz#0d2ca6c9aceb56b8977e9fed6aed7e15bbd2f83b" @@ -2036,6 +2318,11 @@ destroy@1.2.0: resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== +detect-node-es@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/detect-node-es/-/detect-node-es-1.1.0.tgz#163acdf643330caa0b4cd7c21e7ee7755d6fa493" + integrity sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ== + didyoumean@^1.2.2: version "1.2.2" resolved "https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.2.tgz#989346ffe9e839b4555ecf5666edea0d3e8ad037" @@ -2773,6 +3060,11 @@ get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: has "^1.0.3" has-symbols "^1.0.1" +get-nonce@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/get-nonce/-/get-nonce-1.0.1.tgz#fdf3f0278073820d2ce9426c18f07481b1e0cdf3" + integrity sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q== + get-stream@^6.0.0: version "6.0.1" resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" @@ -3100,6 +3392,13 @@ intersection-observer@^0.10.0: resolved "https://registry.yarnpkg.com/intersection-observer/-/intersection-observer-0.10.0.tgz#4d11d63c1ff67e21e62987be24d55218da1a1a69" integrity sha512-fn4bQ0Xq8FTej09YC/jqKZwtijpvARlRp6wxL5WTA6yPe2YWSJ5RJh7Nm79rK2qB0wr6iDQzH60XGq5V/7u8YQ== +invariant@^2.2.4: + version "2.2.4" + resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" + integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== + dependencies: + loose-envify "^1.0.0" + ipaddr.js@1.9.1: version "1.9.1" resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" @@ -3587,7 +3886,7 @@ longest-streak@^3.0.0: resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-3.0.1.tgz#c97315b7afa0e7d9525db9a5a2953651432bdc5d" integrity sha512-cHlYSUpL2s7Fb3394mYxwTYj8niTaNHUCLr0qdiCXQfSjfuA7CKofpX2uSwEfFDQ0EB7JcnMnm+GjbqqoinYYg== -loose-envify@^1.1.0, loose-envify@^1.4.0: +loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== @@ -5315,6 +5614,34 @@ react-is@^17.0.2: resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== +react-remove-scroll-bar@^2.3.3: + version "2.3.6" + resolved "https://registry.yarnpkg.com/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.6.tgz#3e585e9d163be84a010180b18721e851ac81a29c" + integrity sha512-DtSYaao4mBmX+HDo5YWYdBWQwYIQQshUV/dVxFxK+KM26Wjwp1gZ6rv6OC3oujI6Bfu6Xyg3TwK533AQutsn/g== + dependencies: + react-style-singleton "^2.2.1" + tslib "^2.0.0" + +react-remove-scroll@2.5.5: + version "2.5.5" + resolved "https://registry.yarnpkg.com/react-remove-scroll/-/react-remove-scroll-2.5.5.tgz#1e31a1260df08887a8a0e46d09271b52b3a37e77" + integrity sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw== + dependencies: + react-remove-scroll-bar "^2.3.3" + react-style-singleton "^2.2.1" + tslib "^2.1.0" + use-callback-ref "^1.3.0" + use-sidecar "^1.1.2" + +react-style-singleton@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/react-style-singleton/-/react-style-singleton-2.2.1.tgz#f99e420492b2d8f34d38308ff660b60d0b1205b4" + integrity sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g== + dependencies: + get-nonce "^1.0.0" + invariant "^2.2.4" + tslib "^2.0.0" + react@^0.0.0-experimental-16d053d59-20230506: version "0.0.0-experimental-16d053d59-20230506" resolved "https://registry.yarnpkg.com/react/-/react-0.0.0-experimental-16d053d59-20230506.tgz#98a7a9d19ab1820f882111ce4fc4e23f3cb8aaad" @@ -5355,6 +5682,11 @@ regenerator-runtime@^0.13.4: resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== +regenerator-runtime@^0.14.0: + version "0.14.1" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#356ade10263f685dda125100cd862c1db895327f" + integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== + regexp.prototype.flags@^1.3.1: version "1.4.1" resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.1.tgz#b3f4c0059af9e47eca9f3f660e51d81307e72307" @@ -6228,6 +6560,11 @@ tslib@^1.8.1: resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== +tslib@^2.0.0: + version "2.6.3" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.3.tgz#0438f810ad7a9edcde7a241c3d80db693c8cbfe0" + integrity sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ== + tslib@^2.1.0: version "2.3.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" @@ -6500,6 +6837,21 @@ uri-js@^4.2.2: dependencies: punycode "^2.1.0" +use-callback-ref@^1.3.0: + version "1.3.2" + resolved "https://registry.yarnpkg.com/use-callback-ref/-/use-callback-ref-1.3.2.tgz#6134c7f6ff76e2be0b56c809b17a650c942b1693" + integrity sha512-elOQwe6Q8gqZgDA8mrh44qRTQqpIHDcZ3hXTLjBe1i4ph8XpNJnO+aQf3NaG+lriLopI4HMx9VjQLfPQ6vhnoA== + dependencies: + tslib "^2.0.0" + +use-sidecar@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/use-sidecar/-/use-sidecar-1.1.2.tgz#2f43126ba2d7d7e117aa5855e5d8f0276dfe73c2" + integrity sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw== + dependencies: + detect-node-es "^1.1.0" + tslib "^2.0.0" + util-deprecate@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" From dc0886027a18b540bc585d5a80686ac96c6d4e37 Mon Sep 17 00:00:00 2001 From: Ben Amor Aymen <aymenbenamor.bardo@gmail.com> Date: Mon, 24 Jun 2024 19:36:08 +0200 Subject: [PATCH 331/382] Add React Brussels 2024 and React Africa 2024 (#6990) --- src/content/community/conferences.md | 42 +++++++++++++++++----------- 1 file changed, 26 insertions(+), 16 deletions(-) diff --git a/src/content/community/conferences.md b/src/content/community/conferences.md index 45418e68..bebc1715 100644 --- a/src/content/community/conferences.md +++ b/src/content/community/conferences.md @@ -10,21 +10,6 @@ Do you know of a local React.js conference? Add it here! (Please keep the list c ## Upcoming Conferences {/*upcoming-conferences*/} -### React Summit 2024 {/*react-summit-2024*/} -June 14 & 18, 2024. In-person in Amsterdam, Netherlands + remote (hybrid event) - -[Website](https://reactsummit.com/) - [Twitter](https://twitter.com/reactsummit) - [Videos](https://portal.gitnation.org/) - -### Render(ATL) 2024 🍑 {/*renderatl-2024-*/} -June 12 - June 14, 2024. Atlanta, GA, USA - -[Website](https://renderatl.com) - [Discord](https://www.renderatl.com/discord) - [Twitter](https://twitter.com/renderATL) - [Instagram](https://www.instagram.com/renderatl/) - [Facebook](https://www.facebook.com/renderatl/) - [LinkedIn](https://www.linkedin.com/company/renderatl) - [Podcast](https://www.renderatl.com/culture-and-code#/) - -### React Norway 2024 {/*react-norway-2024*/} -June 14, 2024. In-person at Farris Bad Hotel in Larvik, Norway and online (hybrid event). - -[Website](https://reactnorway.com/) - [Twitter](https://twitter.com/ReactNorway) - ### React Nexus 2024 {/*react-nexus-2024*/} July 04 & 05, 2024. Bangalore, India (In-person event) @@ -61,8 +46,33 @@ October 17 - 19, 2024. In-person in Goa, India (hybrid event) + Oct 15 2024 - re [Website](https://www.reactindia.io) - [Twitter](https://twitter.com/react_india) - [Facebook](https://www.facebook.com/ReactJSIndia) - [Youtube](https://www.youtube.com/channel/UCaFbHCBkPvVv1bWs_jwYt3w) +### React Brussels 2024 {/*react-brussels-2024*/} +October 18, 2024. In-person in Brussels, Belgium (hybrid event) + +[Website](https://www.react.brussels/) - [Twitter](https://x.com/BrusselsReact) + +### React Africa 2024 {/*react-africa-2024*/} +November 29, 2024. In-person in Casablanca, Morocco (hybrid event) + +[Website](https://react-africa.com/) - [Twitter](https://x.com/BeJS_) + ## Past Conferences {/*past-conferences*/} +### React Summit 2024 {/*react-summit-2024*/} +June 14 & 18, 2024. In-person in Amsterdam, Netherlands + remote (hybrid event) + +[Website](https://reactsummit.com/) - [Twitter](https://twitter.com/reactsummit) - [Videos](https://portal.gitnation.org/) + +### React Norway 2024 {/*react-norway-2024*/} +June 14, 2024. In-person at Farris Bad Hotel in Larvik, Norway and online (hybrid event). + +[Website](https://reactnorway.com/) - [Twitter](https://twitter.com/ReactNorway) + +### Render(ATL) 2024 🍑 {/*renderatl-2024-*/} +June 12 - June 14, 2024. Atlanta, GA, USA + +[Website](https://renderatl.com) - [Discord](https://www.renderatl.com/discord) - [Twitter](https://twitter.com/renderATL) - [Instagram](https://www.instagram.com/renderatl/) - [Facebook](https://www.facebook.com/renderatl/) - [LinkedIn](https://www.linkedin.com/company/renderatl) - [Podcast](https://www.renderatl.com/culture-and-code#/) + ### Frontend Nation 2024 {/*frontend-nation-2024*/} June 4 - 7, 2024. Online @@ -96,7 +106,7 @@ April 10 - 11, 2024. In-person in Park City, UT, USA ### React Paris 2024 {/*react-paris-2024*/} March 22, 2024. In-person in Paris, France + Remote (hybrid) -[Website](https://react.paris/) - [Twitter](https://twitter.com/BeJS_) - [LinkedIn](https://www.linkedin.com/events/7150816372074192900/comments/) +[Website](https://react.paris/) - [Twitter](https://twitter.com/BeJS_) - [LinkedIn](https://www.linkedin.com/events/7150816372074192900/comments/) - [Videos](https://www.youtube.com/playlist?list=PL53Z0yyYnpWhUzgvr2Nys3kZBBLcY0TA7) ### React Day Berlin 2023 {/*react-day-berlin-2023*/} December 8 & 12, 2023. In-person in Berlin, Germany + remote first interactivity (hybrid event) From 4eacc736ef9ebef87a2b453a7d4fbd490e720741 Mon Sep 17 00:00:00 2001 From: Matt Carroll <7158882+mattcarrollcode@users.noreply.github.com> Date: Mon, 24 Jun 2024 13:38:52 -0700 Subject: [PATCH 332/382] Remove uwuQueryParam console.log (#6993) --- src/pages/_document.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/src/pages/_document.tsx b/src/pages/_document.tsx index 876735a5..6849df35 100644 --- a/src/pages/_document.tsx +++ b/src/pages/_document.tsx @@ -87,7 +87,6 @@ const MyDocument = () => { } } const uwuQueryParam = checkQueryParam(); - console.log('uwuQueryParam', uwuQueryParam); if (uwuQueryParam != null) { setUwu(uwuQueryParam); } else if (checkLocalStorage()) { From e9d2c63e94b259fc74d8a61c86fe373a51072582 Mon Sep 17 00:00:00 2001 From: lauren <poteto@users.noreply.github.com> Date: Fri, 28 Jun 2024 09:27:06 -0400 Subject: [PATCH 333/382] Update compiler docs for Expo apps (#7000) Expo now has its own instructions for enabling the compiler. --- src/content/learn/react-compiler.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/learn/react-compiler.md b/src/content/learn/react-compiler.md index 3fef7d5c..d40c064c 100644 --- a/src/content/learn/react-compiler.md +++ b/src/content/learn/react-compiler.md @@ -351,7 +351,7 @@ module.exports = reactCompilerLoader; ### Expo {/*usage-with-expo*/} -Expo uses Babel via Metro, so refer to the [Usage with Babel](#usage-with-babel) section for installation instructions. +Please refer to [Expo's docs](https://docs.expo.dev/preview/react-compiler/) to enable and use the React Compiler in Expo apps. ### Metro (React Native) {/*usage-with-react-native-metro*/} From 53fbed3f676013508fb9cce22a3fc8664b1dc5a1 Mon Sep 17 00:00:00 2001 From: Nikhil Kumaran <nikhil.kumaran.2011@gmail.com> Date: Mon, 1 Jul 2024 00:37:18 +0530 Subject: [PATCH 334/382] Add Chennai React meetup (#7004) --- src/content/community/meetups.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/community/meetups.md b/src/content/community/meetups.md index a12a5349..d8887c3d 100644 --- a/src/content/community/meetups.md +++ b/src/content/community/meetups.md @@ -100,7 +100,7 @@ Do you have a local React.js meetup? Add it here! (Please keep the list alphabet * [Ahmedabad](https://www.meetup.com/react-ahmedabad/) * [Bangalore (React)](https://www.meetup.com/ReactJS-Bangalore/) * [Bangalore (React Native)](https://www.meetup.com/React-Native-Bangalore-Meetup) -* [Chennai](https://www.meetup.com/React-Chennai/) +* [Chennai](https://www.linkedin.com/company/chennaireact) * [Delhi NCR](https://www.meetup.com/React-Delhi-NCR/) * [Mumbai](https://reactmumbai.dev) * [Pune](https://www.meetup.com/ReactJS-and-Friends/) From 1a3a3ef9bbb602f0fdb65ec329094759663b2ea3 Mon Sep 17 00:00:00 2001 From: Sandra Dylus <ichistmeinname@web.de> Date: Thu, 4 Jul 2024 07:45:17 +0200 Subject: [PATCH 335/382] fix: Correct reference to sandboxed file App.js in challenge (#7010) --- src/content/learn/reusing-logic-with-custom-hooks.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/learn/reusing-logic-with-custom-hooks.md b/src/content/learn/reusing-logic-with-custom-hooks.md index 13a556c7..67de5e97 100644 --- a/src/content/learn/reusing-logic-with-custom-hooks.md +++ b/src/content/learn/reusing-logic-with-custom-hooks.md @@ -1899,7 +1899,7 @@ export default function Counter() { } ``` -You'll need to write your custom Hook in `useCounter.js` and import it into the `Counter.js` file. +You'll need to write your custom Hook in `useCounter.js` and import it into the `App.js` file. <Sandpack> From 2a2e02f1d88f4d2828728ce352626e84ed8abda0 Mon Sep 17 00:00:00 2001 From: neverland <jait.chen@foxmail.com> Date: Fri, 5 Jul 2024 19:12:29 +0800 Subject: [PATCH 336/382] Update compiler docs for Rspack and Rsbuild apps (#7031) --- src/content/learn/react-compiler.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/content/learn/react-compiler.md b/src/content/learn/react-compiler.md index d40c064c..f34c382e 100644 --- a/src/content/learn/react-compiler.md +++ b/src/content/learn/react-compiler.md @@ -357,6 +357,14 @@ Please refer to [Expo's docs](https://docs.expo.dev/preview/react-compiler/) to React Native uses Babel via Metro, so refer to the [Usage with Babel](#usage-with-babel) section for installation instructions. +### Rspack {/*usage-with-rspack*/} + +Please refer to [Rspack's docs](https://rspack.dev/guide/tech/react#react-compiler) to enable and use the React Compiler in Rspack apps. + +### Rsbuild {/*usage-with-rsbuild*/} + +Please refer to [Rsbuild's docs](https://rsbuild.dev/guide/framework/react#react-compiler) to enable and use the React Compiler in Rsbuild apps. + ## Troubleshooting {/*troubleshooting*/} To report issues, please first create a minimal repro on the [React Compiler Playground](https://playground.react.dev/) and include it in your bug report. You can open issues in the [facebook/react](https://github.com/facebook/react/issues) repo. From 4c91abc78b20be10e7d40cf57a80a6a6247e6e9a Mon Sep 17 00:00:00 2001 From: Jan Kassens <jkassens@meta.com> Date: Wed, 10 Jul 2024 11:48:48 -0400 Subject: [PATCH 337/382] Update /link/legacy-context to removal blog post (#7047) --- vercel.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vercel.json b/vercel.json index 9edafb3d..eac0efb9 100644 --- a/vercel.json +++ b/vercel.json @@ -91,7 +91,7 @@ }, { "source": "/link/legacy-context", - "destination": "https://legacy.reactjs.org/docs/legacy-context.html", + "destination": "https://react.dev/blog/2024/04/25/react-19-upgrade-guide#removed-removing-legacy-context", "permanent": false }, { From de726d2add494d569740467ec1eeb7ae27ab0ba7 Mon Sep 17 00:00:00 2001 From: Ryan Bonnell <ryanjbonnell@gmail.com> Date: Fri, 19 Jul 2024 23:19:54 -0700 Subject: [PATCH 338/382] Update verb usage in sentence (#7070) --- src/content/learn/adding-interactivity.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/learn/adding-interactivity.md b/src/content/learn/adding-interactivity.md index 0d4a3b23..5c87a3e7 100644 --- a/src/content/learn/adding-interactivity.md +++ b/src/content/learn/adding-interactivity.md @@ -265,7 +265,7 @@ setCount(count + 1); // Request a re-render with 1 console.log(count); // Still 0! ``` -This behavior help you avoid subtle bugs. Here is a little chat app. Try to guess what happens if you press "Send" first and *then* change the recipient to Bob. Whose name will appear in the `alert` five seconds later? +This behavior helps you avoid subtle bugs. Here is a little chat app. Try to guess what happens if you press "Send" first and *then* change the recipient to Bob. Whose name will appear in the `alert` five seconds later? <Sandpack> From 6274d4faf5afcef74357871d06191558050e23d3 Mon Sep 17 00:00:00 2001 From: ramadevsign <50571688+orama254@users.noreply.github.com> Date: Sat, 20 Jul 2024 09:20:45 +0300 Subject: [PATCH 339/382] docs: Add RenderCon Kenya 2024 conference (#6914) --- src/content/community/conferences.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/content/community/conferences.md b/src/content/community/conferences.md index bebc1715..5070fbc4 100644 --- a/src/content/community/conferences.md +++ b/src/content/community/conferences.md @@ -40,6 +40,10 @@ September 19-21, 2024. Alicante, Spain. [Website](https://reactalicante.es/) - [Twitter](https://twitter.com/ReactAlicante) - [YouTube](https://www.youtube.com/channel/UCaSdUaITU1Cz6PvC97A7e0w) +### RenderCon Kenya 2024 {/*rendercon-kenya-2024*/} +October 04 - 05, 2024. Nairobi, Kenya + +[Website](https://rendercon.org/) - [Twitter](https://twitter.com/renderconke) - [LinkedIn](https://www.linkedin.com/company/renderconke/) - [YouTube](https://www.youtube.com/channel/UC0bCcG8gHUL4njDOpQGcMIA) ### React India 2024 {/*react-india-2024*/} October 17 - 19, 2024. In-person in Goa, India (hybrid event) + Oct 15 2024 - remote day From 6671ba7b77142a73184caf863890d5ff20f2361b Mon Sep 17 00:00:00 2001 From: Oliver Joseph Ash <oliverjash@gmail.com> Date: Wed, 7 Aug 2024 10:46:23 +0100 Subject: [PATCH 340/382] Document behaviour of setting state inside `useLayoutEffect` (#7096) Co-authored-by: Sebastian Silbermann <sebastian.silbermann@vercel.com> --- src/content/reference/react/useLayoutEffect.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/content/reference/react/useLayoutEffect.md b/src/content/reference/react/useLayoutEffect.md index 0d7b0484..d38458f1 100644 --- a/src/content/reference/react/useLayoutEffect.md +++ b/src/content/reference/react/useLayoutEffect.md @@ -67,6 +67,8 @@ function Tooltip() { * The code inside `useLayoutEffect` and all state updates scheduled from it **block the browser from repainting the screen.** When used excessively, this makes your app slow. When possible, prefer [`useEffect`.](/reference/react/useEffect) +* If you trigger a state update inside `useLayoutEffect`, React will execute all remaining Effects immediately including `useEffect`. + --- ## Usage {/*usage*/} From 2bfa7a628b0534bb0d437ff7520a72010ab970c3 Mon Sep 17 00:00:00 2001 From: lauren <poteto@users.noreply.github.com> Date: Thu, 8 Aug 2024 10:43:41 -0400 Subject: [PATCH 341/382] Update compiler docs installation instructions (#7095) --- src/content/learn/react-compiler.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/content/learn/react-compiler.md b/src/content/learn/react-compiler.md index f34c382e..2920e864 100644 --- a/src/content/learn/react-compiler.md +++ b/src/content/learn/react-compiler.md @@ -121,7 +121,7 @@ In addition to these docs, we recommend checking the [React Compiler Working Gro Prior to installing the compiler, you can first check to see if your codebase is compatible: <TerminalBlock> -npx react-compiler-healthcheck@latest +npx react-compiler-healthcheck@experimental </TerminalBlock> This script will: @@ -143,7 +143,7 @@ Found no usage of incompatible libraries. React Compiler also powers an eslint plugin. The eslint plugin can be used **independently** of the compiler, meaning you can use the eslint plugin even if you don't use the compiler. <TerminalBlock> -npm install eslint-plugin-react-compiler +npm install eslint-plugin-react-compiler@experimental </TerminalBlock> Then, add it to your eslint config: @@ -203,7 +203,7 @@ If you're starting a new project, you can enable the compiler on your entire cod ### Babel {/*usage-with-babel*/} <TerminalBlock> -npm install babel-plugin-react-compiler +npm install babel-plugin-react-compiler@experimental </TerminalBlock> The compiler includes a Babel plugin which you can use in your build pipeline to run the compiler. @@ -258,7 +258,7 @@ Next.js has an experimental configuration to enable the React Compiler. It autom - Install `babel-plugin-react-compiler` <TerminalBlock> -npm install next@canary babel-plugin-react-compiler +npm install next@canary babel-plugin-react-compiler@experimental </TerminalBlock> Then configure the experimental option in `next.config.js`: From a220bb3f21170210fb37375f349c943150a5364d Mon Sep 17 00:00:00 2001 From: k8o <61353435+k35o@users.noreply.github.com> Date: Thu, 22 Aug 2024 16:46:36 +0900 Subject: [PATCH 342/382] docs: replace check mark emoji to check mark button emoji (#7121) --- .../blog/2023/03/16/introducing-react-dev.md | 4 +-- src/content/learn/conditional-rendering.md | 32 +++++++++---------- src/content/learn/describing-the-ui.md | 2 +- 3 files changed, 19 insertions(+), 19 deletions(-) diff --git a/src/content/blog/2023/03/16/introducing-react-dev.md b/src/content/blog/2023/03/16/introducing-react-dev.md index 2498f40d..c4da2b61 100644 --- a/src/content/blog/2023/03/16/introducing-react-dev.md +++ b/src/content/blog/2023/03/16/introducing-react-dev.md @@ -269,7 +269,7 @@ Use the conditional operator (`cond ? a : b`) to render a ❌ if `isPacked` isn function Item({ name, isPacked }) { return ( <li className="item"> - {name} {isPacked && '✔'} + {name} {isPacked && '✅'} </li> ); } @@ -307,7 +307,7 @@ export default function PackingList() { function Item({ name, isPacked }) { return ( <li className="item"> - {name} {isPacked ? '✔' : '❌'} + {name} {isPacked ? '✅' : '❌'} </li> ); } diff --git a/src/content/learn/conditional-rendering.md b/src/content/learn/conditional-rendering.md index 895d610d..95be5d2e 100644 --- a/src/content/learn/conditional-rendering.md +++ b/src/content/learn/conditional-rendering.md @@ -52,13 +52,13 @@ export default function PackingList() { </Sandpack> -Notice that some of the `Item` components have their `isPacked` prop set to `true` instead of `false`. You want to add a checkmark (✔) to packed items if `isPacked={true}`. +Notice that some of the `Item` components have their `isPacked` prop set to `true` instead of `false`. You want to add a checkmark (✅) to packed items if `isPacked={true}`. You can write this as an [`if`/`else` statement](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/if...else) like so: ```js if (isPacked) { - return <li className="item">{name} ✔</li>; + return <li className="item">{name} ✅</li>; } return <li className="item">{name}</li>; ``` @@ -70,7 +70,7 @@ If the `isPacked` prop is `true`, this code **returns a different JSX tree.** Wi ```js function Item({ name, isPacked }) { if (isPacked) { - return <li className="item">{name} ✔</li>; + return <li className="item">{name} ✅</li>; } return <li className="item">{name}</li>; } @@ -159,7 +159,7 @@ In practice, returning `null` from a component isn't common because it might sur In the previous example, you controlled which (if any!) JSX tree would be returned by the component. You may already have noticed some duplication in the render output: ```js -<li className="item">{name} ✔</li> +<li className="item">{name} ✅</li> ``` is very similar to @@ -172,7 +172,7 @@ Both of the conditional branches return `<li className="item">...</li>`: ```js if (isPacked) { - return <li className="item">{name} ✔</li>; + return <li className="item">{name} ✅</li>; } return <li className="item">{name}</li>; ``` @@ -187,7 +187,7 @@ Instead of this: ```js if (isPacked) { - return <li className="item">{name} ✔</li>; + return <li className="item">{name} ✅</li>; } return <li className="item">{name}</li>; ``` @@ -197,12 +197,12 @@ You can write this: ```js return ( <li className="item"> - {isPacked ? name + ' ✔' : name} + {isPacked ? name + ' ✅' : name} </li> ); ``` -You can read it as *"if `isPacked` is true, then (`?`) render `name + ' ✔'`, otherwise (`:`) render `name`"*. +You can read it as *"if `isPacked` is true, then (`?`) render `name + ' ✅'`, otherwise (`:`) render `name`"*. <DeepDive> @@ -222,7 +222,7 @@ function Item({ name, isPacked }) { <li className="item"> {isPacked ? ( <del> - {name + ' ✔'} + {name + ' ✅'} </del> ) : ( name @@ -265,7 +265,7 @@ Another common shortcut you'll encounter is the [JavaScript logical AND (`&&`) o ```js return ( <li className="item"> - {name} {isPacked && '✔'} + {name} {isPacked && '✅'} </li> ); ``` @@ -280,7 +280,7 @@ Here it is in action: function Item({ name, isPacked }) { return ( <li className="item"> - {name} {isPacked && '✔'} + {name} {isPacked && '✅'} </li> ); } @@ -337,7 +337,7 @@ Use an `if` statement to reassign a JSX expression to `itemContent` if `isPacked ```js if (isPacked) { - itemContent = name + " ✔"; + itemContent = name + " ✅"; } ``` @@ -357,7 +357,7 @@ This style is the most verbose, but it's also the most flexible. Here it is in a function Item({ name, isPacked }) { let itemContent = name; if (isPacked) { - itemContent = name + " ✔"; + itemContent = name + " ✅"; } return ( <li className="item"> @@ -401,7 +401,7 @@ function Item({ name, isPacked }) { if (isPacked) { itemContent = ( <del> - {name + " ✔"} + {name + " ✅"} </del> ); } @@ -464,7 +464,7 @@ Use the conditional operator (`cond ? a : b`) to render a ❌ if `isPacked` isn function Item({ name, isPacked }) { return ( <li className="item"> - {name} {isPacked && '✔'} + {name} {isPacked && '✅'} </li> ); } @@ -502,7 +502,7 @@ export default function PackingList() { function Item({ name, isPacked }) { return ( <li className="item"> - {name} {isPacked ? '✔' : '❌'} + {name} {isPacked ? '✅' : '❌'} </li> ); } diff --git a/src/content/learn/describing-the-ui.md b/src/content/learn/describing-the-ui.md index ce49b85c..34ee0c01 100644 --- a/src/content/learn/describing-the-ui.md +++ b/src/content/learn/describing-the-ui.md @@ -327,7 +327,7 @@ In this example, the JavaScript `&&` operator is used to conditionally render a function Item({ name, isPacked }) { return ( <li className="item"> - {name} {isPacked && '✔'} + {name} {isPacked && '✅'} </li> ); } From b5f28b48441e7e46c11ba066110a3c952c33c4ba Mon Sep 17 00:00:00 2001 From: Bartosz Klonowski <70535775+BartoszKlonowski@users.noreply.github.com> Date: Fri, 23 Aug 2024 14:21:11 +0200 Subject: [PATCH 343/382] Redirect lists-and-keys to rendering-lists describing key (#7120) --- vercel.json | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/vercel.json b/vercel.json index eac0efb9..8b0546e3 100644 --- a/vercel.json +++ b/vercel.json @@ -24,6 +24,11 @@ "destination": "/learn/rendering-lists#keeping-list-items-in-order-with-key", "permanent": false }, + { + "source": "/docs/lists-and-keys", + "destination": "/learn/rendering-lists#keeping-list-items-in-order-with-key", + "permanent": false + }, { "source": "/link/invalid-hook-call", "destination": "/warnings/invalid-hook-call-warning", From 7d50c3ffd4df2dc7903f4e41069653a456a9c223 Mon Sep 17 00:00:00 2001 From: Bartosz Klonowski <70535775+BartoszKlonowski@users.noreply.github.com> Date: Sun, 25 Aug 2024 22:32:42 +0200 Subject: [PATCH 344/382] Emphasize the second problem paragraph with chain of effects example (#7108) * Emphasize the second problem acapit with chain of effects example * Replace 'One' with 'First' to keep problems counting consistent --- src/content/learn/you-might-not-need-an-effect.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/content/learn/you-might-not-need-an-effect.md b/src/content/learn/you-might-not-need-an-effect.md index 66cdc311..27031720 100644 --- a/src/content/learn/you-might-not-need-an-effect.md +++ b/src/content/learn/you-might-not-need-an-effect.md @@ -408,9 +408,9 @@ function Game() { There are two problems with this code. -One problem is that it is very inefficient: the component (and its children) have to re-render between each `set` call in the chain. In the example above, in the worst case (`setCard` → render → `setGoldCardCount` → render → `setRound` → render → `setIsGameOver` → render) there are three unnecessary re-renders of the tree below. +First problem is that it is very inefficient: the component (and its children) have to re-render between each `set` call in the chain. In the example above, in the worst case (`setCard` → render → `setGoldCardCount` → render → `setRound` → render → `setIsGameOver` → render) there are three unnecessary re-renders of the tree below. -Even if it weren't slow, as your code evolves, you will run into cases where the "chain" you wrote doesn't fit the new requirements. Imagine you are adding a way to step through the history of the game moves. You'd do it by updating each state variable to a value from the past. However, setting the `card` state to a value from the past would trigger the Effect chain again and change the data you're showing. Such code is often rigid and fragile. +The second problem is that even if it weren't slow, as your code evolves, you will run into cases where the "chain" you wrote doesn't fit the new requirements. Imagine you are adding a way to step through the history of the game moves. You'd do it by updating each state variable to a value from the past. However, setting the `card` state to a value from the past would trigger the Effect chain again and change the data you're showing. Such code is often rigid and fragile. In this case, it's better to calculate what you can during rendering, and adjust the state in the event handler: From 50004fa267465da70fafdbaa7914ebf9fe00ae83 Mon Sep 17 00:00:00 2001 From: Denis Radin <denis.radin@gmail.com> Date: Mon, 26 Aug 2024 19:00:18 +0300 Subject: [PATCH 345/382] Adds React Advanced London 2024 (#7127) PR to add Radv 2024 conference --- src/content/community/conferences.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/content/community/conferences.md b/src/content/community/conferences.md index 5070fbc4..3e2d7606 100644 --- a/src/content/community/conferences.md +++ b/src/content/community/conferences.md @@ -55,6 +55,11 @@ October 18, 2024. In-person in Brussels, Belgium (hybrid event) [Website](https://www.react.brussels/) - [Twitter](https://x.com/BrusselsReact) +### React Advanced London 2024 {/*react-advanced-london-2024*/} +October 25 & 28, 2024. In-person in London, UK + online (hybrid event) + +[Website](https://reactadvanced.com/) - [Twitter](https://x.com/reactadvanced) + ### React Africa 2024 {/*react-africa-2024*/} November 29, 2024. In-person in Casablanca, Morocco (hybrid event) From 40d73490733a1665596eee8b547278231db3b8e3 Mon Sep 17 00:00:00 2001 From: Sophie Alpert <git@sophiebits.com> Date: Wed, 28 Aug 2024 17:58:32 -0700 Subject: [PATCH 346/382] Parallel structure --- src/content/reference/react/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/reference/react/index.md b/src/content/reference/react/index.md index 5663af39..a68ddc01 100644 --- a/src/content/reference/react/index.md +++ b/src/content/reference/react/index.md @@ -15,7 +15,7 @@ The React reference documentation is broken down into functional subsections: Programmatic React features: * [Hooks](/reference/react/hooks) - Use different React features from your components. -* [Components](/reference/react/components) - Documents built-in components that you can use in your JSX. +* [Components](/reference/react/components) - Built-in components that you can use in your JSX. * [APIs](/reference/react/apis) - APIs that are useful for defining components. * [Directives](/reference/rsc/directives) - Provide instructions to bundlers compatible with React Server Components. From c2d61310664cc0d94f89ca21fc1d44e674329799 Mon Sep 17 00:00:00 2001 From: Tom Eastman <tom@eastman.net.nz> Date: Sun, 1 Sep 2024 18:31:29 +1200 Subject: [PATCH 347/382] Fix typo 'bulit' -> 'built' (#7138) Co-authored-by: Tom Eastman <tom@eastman.nz> --- src/content/reference/react-dom/components/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/reference/react-dom/components/index.md b/src/content/reference/react-dom/components/index.md index c9b355c8..ec2e1d2e 100644 --- a/src/content/reference/react-dom/components/index.md +++ b/src/content/reference/react-dom/components/index.md @@ -34,7 +34,7 @@ They are special in React because passing the `value` prop to them makes them *[ ## Resource and Metadata Components {/*resource-and-metadata-components*/} -These bulit-in browser components let you load external resources or annotate the document with metadata: +These built-in browser components let you load external resources or annotate the document with metadata: * [`<link>`](/reference/react-dom/components/link) * [`<meta>`](/reference/react-dom/components/meta) From 391dadb993d43c6bd15d9ebfdfc3adeb16d52094 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EB=B0=A9=EA=B8=B0=ED=98=84?= <102677317+kihyeoon@users.noreply.github.com> Date: Mon, 2 Sep 2024 15:54:02 +0900 Subject: [PATCH 348/382] Fix typos in lazy.md and cache.md (#7141) --- src/content/reference/react/cache.md | 4 ++-- src/content/reference/react/lazy.md | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/content/reference/react/cache.md b/src/content/reference/react/cache.md index 0e56e3ef..099d1c6f 100644 --- a/src/content/reference/react/cache.md +++ b/src/content/reference/react/cache.md @@ -226,7 +226,7 @@ By caching a long-running data fetch, you can kick off asynchronous work prior t ```jsx [[2, 6, "await getUser(id)"], [1, 17, "getUser(id)"]] const getUser = cache(async (id) => { return await db.user.query(id); -}) +}); async function Profile({id}) { const user = await getUser(id); @@ -327,7 +327,7 @@ In general, you should use [`useMemo`](/reference/react/useMemo) for caching a e 'use client'; function WeatherReport({record}) { - const avgTemp = useMemo(() => calculateAvg(record)), record); + const avgTemp = useMemo(() => calculateAvg(record), record); // ... } diff --git a/src/content/reference/react/lazy.md b/src/content/reference/react/lazy.md index db99daa1..5ec74d0d 100644 --- a/src/content/reference/react/lazy.md +++ b/src/content/reference/react/lazy.md @@ -78,7 +78,7 @@ Now that your component's code loads on demand, you also need to specify what sh <Suspense fallback={<Loading />}> <h2>Preview</h2> <MarkdownPreview /> - </Suspense> +</Suspense> ``` In this example, the code for `MarkdownPreview` won't be loaded until you attempt to render it. If `MarkdownPreview` hasn't loaded yet, `Loading` will be shown in its place. Try ticking the checkbox: From cd923d6895c2fc64bc835851a1e3ec2e4234b3aa Mon Sep 17 00:00:00 2001 From: JiashengWu <wujs1010@outlook.com> Date: Sat, 7 Sep 2024 01:10:14 +0800 Subject: [PATCH 349/382] Update conferences.md to move the past conferences lower (#7130) --- src/content/community/conferences.md | 40 ++++++++++++++-------------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/src/content/community/conferences.md b/src/content/community/conferences.md index 3e2d7606..c1bd7967 100644 --- a/src/content/community/conferences.md +++ b/src/content/community/conferences.md @@ -10,26 +10,6 @@ Do you know of a local React.js conference? Add it here! (Please keep the list c ## Upcoming Conferences {/*upcoming-conferences*/} -### React Nexus 2024 {/*react-nexus-2024*/} -July 04 & 05, 2024. Bangalore, India (In-person event) - -[Website](https://reactnexus.com/) - [Twitter](https://twitter.com/ReactNexus) - [Linkedin](https://www.linkedin.com/company/react-nexus) - [YouTube](https://www.youtube.com/reactify_in) - -### Chain React 2024 {/*chain-react-2024*/} -July 17-19, 2024. In-person in Portland, OR, USA - -[Website](https://chainreactconf.com) - [Twitter](https://twitter.com/ChainReactConf) - -### The Geek Conf 2024 {/*the-geek-conf-2024*/} -July 25, 2024. In-person in Berlin, Germany + remote (hybrid event) - -[Website](https://thegeekconf.com) - [Twitter](https://twitter.com/thegeekconf) - -### React Rally 2024 🐙 {/*react-rally-2024*/} -August 12-13, 2024. Park City, UT, USA - -[Website](https://reactrally.com) - [Twitter](https://twitter.com/ReactRally) - [YouTube](https://www.youtube.com/channel/UCXBhQ05nu3L1abBUGeQ0ahw) - ### React Universe Conf 2024 {/*react-universe-conf-2024*/} September 5-6, 2024. Wrocław, Poland. @@ -67,6 +47,26 @@ November 29, 2024. In-person in Casablanca, Morocco (hybrid event) ## Past Conferences {/*past-conferences*/} +### React Rally 2024 🐙 {/*react-rally-2024*/} +August 12-13, 2024. Park City, UT, USA + +[Website](https://reactrally.com) - [Twitter](https://twitter.com/ReactRally) - [YouTube](https://www.youtube.com/channel/UCXBhQ05nu3L1abBUGeQ0ahw) + +### The Geek Conf 2024 {/*the-geek-conf-2024*/} +July 25, 2024. In-person in Berlin, Germany + remote (hybrid event) + +[Website](https://thegeekconf.com) - [Twitter](https://twitter.com/thegeekconf) + +### Chain React 2024 {/*chain-react-2024*/} +July 17-19, 2024. In-person in Portland, OR, USA + +[Website](https://chainreactconf.com) - [Twitter](https://twitter.com/ChainReactConf) + +### React Nexus 2024 {/*react-nexus-2024*/} +July 04 & 05, 2024. Bangalore, India (In-person event) + +[Website](https://reactnexus.com/) - [Twitter](https://twitter.com/ReactNexus) - [Linkedin](https://www.linkedin.com/company/react-nexus) - [YouTube](https://www.youtube.com/reactify_in) + ### React Summit 2024 {/*react-summit-2024*/} June 14 & 18, 2024. In-person in Amsterdam, Netherlands + remote (hybrid event) From 2c0627277fb00b2772f636d142aa41e6265aeae6 Mon Sep 17 00:00:00 2001 From: Denis Urban <mcfrid@yandex.by> Date: Fri, 6 Sep 2024 20:14:00 +0300 Subject: [PATCH 350/382] add React Day Berlin 2024 to conferences.md (#7137) --- src/content/community/conferences.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/content/community/conferences.md b/src/content/community/conferences.md index c1bd7967..cd1c8799 100644 --- a/src/content/community/conferences.md +++ b/src/content/community/conferences.md @@ -45,6 +45,11 @@ November 29, 2024. In-person in Casablanca, Morocco (hybrid event) [Website](https://react-africa.com/) - [Twitter](https://x.com/BeJS_) +### React Day Berlin 2024 {/*react-day-berlin-2024*/} +December 13 & 16, 2024. In-person in Berlin, Germany + remote (hybrid event) + +[Website](https://reactday.berlin/) - [Twitter](https://x.com/reactdayberlin) + ## Past Conferences {/*past-conferences*/} ### React Rally 2024 🐙 {/*react-rally-2024*/} From 60ef58c98253fed44ea63c7b9f54168fb7a4e487 Mon Sep 17 00:00:00 2001 From: Oleg Komissarov <o.komissarov247@gmail.com> Date: Fri, 6 Sep 2024 19:18:07 +0200 Subject: [PATCH 351/382] Update conferences.md, add conference (#7135) * Update conferences.md, add conference * Update conferences.md --------- Co-authored-by: Eli White <github@eli-white.com> --- src/content/community/conferences.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/content/community/conferences.md b/src/content/community/conferences.md index cd1c8799..cd0862b1 100644 --- a/src/content/community/conferences.md +++ b/src/content/community/conferences.md @@ -40,6 +40,11 @@ October 25 & 28, 2024. In-person in London, UK + online (hybrid event) [Website](https://reactadvanced.com/) - [Twitter](https://x.com/reactadvanced) +### React Summit US 2024 {/*react-summit-us-2024*/} +November 19 & 22, 2024. In-person in New York, USA + online (hybrid event) + +[Website](https://reactsummit.us/) - [Twitter](https://twitter.com/reactsummit) - [Videos](https://portal.gitnation.org/) + ### React Africa 2024 {/*react-africa-2024*/} November 29, 2024. In-person in Casablanca, Morocco (hybrid event) From 9aa2e3668da290f92f8997a25f28bd3f58b2a26d Mon Sep 17 00:00:00 2001 From: TinoM <151432822+Tinttori@users.noreply.github.com> Date: Sun, 8 Sep 2024 04:23:09 +0300 Subject: [PATCH 352/382] =?UTF-8?q?Changed=20the=20documentation=20of=20th?= =?UTF-8?q?e=20subscribe=20argument=20to=20a=20more=20accurat=E2=80=A6=20(?= =?UTF-8?q?#6691)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Changed the documentation of the subscribe argument to a more accurate one. * Update useSyncExternalStore.md --------- Co-authored-by: Sophie Alpert <git@sophiebits.com> --- src/content/reference/react/useSyncExternalStore.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/reference/react/useSyncExternalStore.md b/src/content/reference/react/useSyncExternalStore.md index 481690d7..05e0c083 100644 --- a/src/content/reference/react/useSyncExternalStore.md +++ b/src/content/reference/react/useSyncExternalStore.md @@ -41,7 +41,7 @@ It returns the snapshot of the data in the store. You need to pass two functions #### Parameters {/*parameters*/} -* `subscribe`: A function that takes a single `callback` argument and subscribes it to the store. When the store changes, it should invoke the provided `callback`. This will cause the component to re-render. The `subscribe` function should return a function that cleans up the subscription. +* `subscribe`: A function that takes a single `callback` argument and subscribes it to the store. When the store changes, it should invoke the provided `callback`, which will cause React to re-call `getSnapshot` and (if needed) re-render the component. The `subscribe` function should return a function that cleans up the subscription. * `getSnapshot`: A function that returns a snapshot of the data in the store that's needed by the component. While the store has not changed, repeated calls to `getSnapshot` must return the same value. If the store changes and the returned value is different (as compared by [`Object.is`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is)), React re-renders the component. From 0f2284ddc8dcab8bbb9b42c04f3c7af94b5b2e73 Mon Sep 17 00:00:00 2001 From: Jan Kassens <jkassens@meta.com> Date: Mon, 9 Sep 2024 14:28:04 -0700 Subject: [PATCH 353/382] Update copyright footer (#7152) Per https://fburl.com/wiki/ioqmn40p --- src/components/Layout/Footer.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/Layout/Footer.tsx b/src/components/Layout/Footer.tsx index 5bcf9df9..4e19039e 100644 --- a/src/components/Layout/Footer.tsx +++ b/src/components/Layout/Footer.tsx @@ -283,7 +283,7 @@ export function Footer() { <div className="text-xs text-left rtl:text-right mt-2 pe-0.5" dir="ltr"> - ©{new Date().getFullYear()} + Copyright © Meta Platforms, Inc </div> <div className="uwu-visible text-xs cursor-pointer hover:text-link hover:dark:text-link-dark hover:underline" From 13a73c19f4864d810fa07f2be5780816462b9242 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Parth=20=E2=80=A2=20imParth?= <108121667+imparth7@users.noreply.github.com> Date: Mon, 16 Sep 2024 12:36:31 +0530 Subject: [PATCH 354/382] Update the version 3 (#7161) --- .github/workflows/analyze.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/analyze.yml b/.github/workflows/analyze.yml index 87dcfdc7..2a905a0d 100644 --- a/.github/workflows/analyze.yml +++ b/.github/workflows/analyze.yml @@ -11,10 +11,10 @@ jobs: analyze: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Set up node - uses: actions/setup-node@v1 + uses: actions/setup-node@v3 with: node-version: '20.x' @@ -22,7 +22,7 @@ jobs: uses: bahmutov/npm-install@v1.7.10 - name: Restore next build - uses: actions/cache@v2 + uses: actions/cache@v3 id: restore-build-cache env: cache-name: cache-next-build @@ -41,7 +41,7 @@ jobs: run: npx -p nextjs-bundle-analysis@0.5.0 report - name: Upload bundle - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 with: path: .next/analyze/__bundle_analysis.json name: bundle_analysis.json @@ -73,7 +73,7 @@ jobs: run: ls -laR .next/analyze/base && npx -p nextjs-bundle-analysis compare - name: Upload analysis comment - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 with: name: analysis_comment.txt path: .next/analyze/__bundle_analysis_comment.txt @@ -82,7 +82,7 @@ jobs: run: echo ${{ github.event.number }} > ./pr_number - name: Upload PR number - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 with: name: pr_number path: ./pr_number From 505c85db8c232b474282d55391c67884de8d99dd Mon Sep 17 00:00:00 2001 From: Strek <ssharishkumar@gmail.com> Date: Tue, 17 Sep 2024 13:48:58 +0530 Subject: [PATCH 355/382] Update you-might-not-need-an-effect.md (#7169) --- src/content/learn/you-might-not-need-an-effect.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/learn/you-might-not-need-an-effect.md b/src/content/learn/you-might-not-need-an-effect.md index 27031720..a009793a 100644 --- a/src/content/learn/you-might-not-need-an-effect.md +++ b/src/content/learn/you-might-not-need-an-effect.md @@ -408,7 +408,7 @@ function Game() { There are two problems with this code. -First problem is that it is very inefficient: the component (and its children) have to re-render between each `set` call in the chain. In the example above, in the worst case (`setCard` → render → `setGoldCardCount` → render → `setRound` → render → `setIsGameOver` → render) there are three unnecessary re-renders of the tree below. +The first problem is that it is very inefficient: the component (and its children) have to re-render between each `set` call in the chain. In the example above, in the worst case (`setCard` → render → `setGoldCardCount` → render → `setRound` → render → `setIsGameOver` → render) there are three unnecessary re-renders of the tree below. The second problem is that even if it weren't slow, as your code evolves, you will run into cases where the "chain" you wrote doesn't fit the new requirements. Imagine you are adding a way to step through the history of the game moves. You'd do it by updating each state variable to a value from the past. However, setting the `card` state to a value from the past would trigger the Effect chain again and change the data you're showing. Such code is often rigid and fragile. From 39abc60fce1588b4e83cc45d52b522aa63c01bc2 Mon Sep 17 00:00:00 2001 From: Ricky <rickhanlonii@fb.com> Date: Thu, 19 Sep 2024 14:42:44 -0400 Subject: [PATCH 356/382] Nit: server actions can't be passed events (#7175) --- src/content/reference/rsc/server-actions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/reference/rsc/server-actions.md b/src/content/reference/rsc/server-actions.md index 06613cb7..d24e896f 100644 --- a/src/content/reference/rsc/server-actions.md +++ b/src/content/reference/rsc/server-actions.md @@ -53,7 +53,7 @@ When React renders the `EmptyNote` Server Component, it will create a reference export default function Button({onClick}) { console.log(onClick); // {$$typeof: Symbol.for("react.server.reference"), $$id: 'createNoteAction'} - return <button onClick={onClick}>Create Empty Note</button> + return <button onClick={() => onClick()}>Create Empty Note</button> } ``` From c003ac4eb130fca70b88cf3a1b80ce5f76c51ae3 Mon Sep 17 00:00:00 2001 From: Ricky <rickhanlonii@fb.com> Date: Sun, 22 Sep 2024 13:19:03 -0400 Subject: [PATCH 357/382] Add stable fn notes to useMemo, useTransition, useState, and useReducer (#7181) --- src/content/reference/react/useCallback.md | 8 +- src/content/reference/react/useMemo.md | 77 ++++++++++++++++++++ src/content/reference/react/useReducer.md | 1 + src/content/reference/react/useState.md | 2 + src/content/reference/react/useTransition.md | 2 + 5 files changed, 86 insertions(+), 4 deletions(-) diff --git a/src/content/reference/react/useCallback.md b/src/content/reference/react/useCallback.md index 93ce700e..abcd474d 100644 --- a/src/content/reference/react/useCallback.md +++ b/src/content/reference/react/useCallback.md @@ -711,7 +711,7 @@ function ChatRoom({ roomId }) { useEffect(() => { const options = createOptions(); - const connection = createConnection(); + const connection = createConnection(options); connection.connect(); // ... ``` @@ -722,7 +722,7 @@ This creates a problem. [Every reactive value must be declared as a dependency o ```js {6} useEffect(() => { const options = createOptions(); - const connection = createConnection(); + const connection = createConnection(options); connection.connect(); return () => connection.disconnect(); }, [createOptions]); // 🔴 Problem: This dependency changes on every render @@ -744,7 +744,7 @@ function ChatRoom({ roomId }) { useEffect(() => { const options = createOptions(); - const connection = createConnection(); + const connection = createConnection(options); connection.connect(); return () => connection.disconnect(); }, [createOptions]); // ✅ Only changes when createOptions changes @@ -766,7 +766,7 @@ function ChatRoom({ roomId }) { } const options = createOptions(); - const connection = createConnection(); + const connection = createConnection(options); connection.connect(); return () => connection.disconnect(); }, [roomId]); // ✅ Only changes when roomId changes diff --git a/src/content/reference/react/useMemo.md b/src/content/reference/react/useMemo.md index a44c86fc..33193ee3 100644 --- a/src/content/reference/react/useMemo.md +++ b/src/content/reference/react/useMemo.md @@ -1056,6 +1056,83 @@ Keep in mind that you need to run React in production mode, disable [React Devel --- +### Preventing an Effect from firing too often {/*preventing-an-effect-from-firing-too-often*/} + +Sometimes, you might want to use a value inside an [Effect:](/learn/synchronizing-with-effects) + +```js {4-7,10} +function ChatRoom({ roomId }) { + const [message, setMessage] = useState(''); + + const options = { + serverUrl: 'https://localhost:1234', + roomId: roomId + } + + useEffect(() => { + const connection = createConnection(options); + connection.connect(); + // ... +``` + +This creates a problem. [Every reactive value must be declared as a dependency of your Effect.](/learn/lifecycle-of-reactive-effects#react-verifies-that-you-specified-every-reactive-value-as-a-dependency) However, if you declare `options` as a dependency, it will cause your Effect to constantly reconnect to the chat room: + + +```js {5} + useEffect(() => { + const connection = createConnection(options); + connection.connect(); + return () => connection.disconnect(); + }, [options]); // 🔴 Problem: This dependency changes on every render + // ... +``` + +To solve this, you can wrap the object you need to call from an Effect in `useMemo`: + +```js {4-9,16} +function ChatRoom({ roomId }) { + const [message, setMessage] = useState(''); + + const options = useMemo(() => { + return { + serverUrl: 'https://localhost:1234', + roomId: roomId + }; + }, [roomId]); // ✅ Only changes when roomId changes + + useEffect(() => { + const options = createOptions(); + const connection = createConnection(options); + connection.connect(); + return () => connection.disconnect(); + }, [options]); // ✅ Only changes when createOptions changes + // ... +``` + +This ensures that the `options` object is the same between re-renders if `useMemo` returns the cached object. + +However, since `useMemo` is performance optimization, not a semantic guarantee, React may throw away the cached value if [there is a specific reason to do that](#caveats). This will also cause the effect to re-fire, **so it's even better to remove the need for a function dependency** by moving your object *inside* the Effect: + +```js {5-8,13} +function ChatRoom({ roomId }) { + const [message, setMessage] = useState(''); + + useEffect(() => { + const options = { // ✅ No need for useMemo or object dependencies! + serverUrl: 'https://localhost:1234', + roomId: roomId + } + + const connection = createConnection(options); + connection.connect(); + return () => connection.disconnect(); + }, [roomId]); // ✅ Only changes when roomId changes + // ... +``` + +Now your code is simpler and doesn't need `useMemo`. [Learn more about removing Effect dependencies.](/learn/removing-effect-dependencies#move-dynamic-objects-and-functions-inside-your-effect) + + ### Memoizing a dependency of another Hook {/*memoizing-a-dependency-of-another-hook*/} Suppose you have a calculation that depends on an object created directly in the component body: diff --git a/src/content/reference/react/useReducer.md b/src/content/reference/react/useReducer.md index dbd18f6b..cfd0fb85 100644 --- a/src/content/reference/react/useReducer.md +++ b/src/content/reference/react/useReducer.md @@ -52,6 +52,7 @@ function MyComponent() { #### Caveats {/*caveats*/} * `useReducer` is a Hook, so you can only call it **at the top level of your component** or your own Hooks. You can't call it inside loops or conditions. If you need that, extract a new component and move the state into it. +* The `dispatch` function has a stable identity, so you will often see it omitted from effect dependencies, but including it will not cause the effect to fire. If the linter lets you omit a dependency without errors, it is safe to do. [Learn more about removing Effect dependencies.](/learn/removing-effect-dependencies#move-dynamic-objects-and-functions-inside-your-effect) * In Strict Mode, React will **call your reducer and initializer twice** in order to [help you find accidental impurities.](#my-reducer-or-initializer-function-runs-twice) This is development-only behavior and does not affect production. If your reducer and initializer are pure (as they should be), this should not affect your logic. The result from one of the calls is ignored. --- diff --git a/src/content/reference/react/useState.md b/src/content/reference/react/useState.md index 48d96f8e..4aa9d591 100644 --- a/src/content/reference/react/useState.md +++ b/src/content/reference/react/useState.md @@ -85,6 +85,8 @@ function handleClick() { * React [batches state updates.](/learn/queueing-a-series-of-state-updates) It updates the screen **after all the event handlers have run** and have called their `set` functions. This prevents multiple re-renders during a single event. In the rare case that you need to force React to update the screen earlier, for example to access the DOM, you can use [`flushSync`.](/reference/react-dom/flushSync) +* The `set` function has a stable identity, so you will often see it omitted from effect dependencies, but including it will not cause the effect to fire. If the linter lets you omit a dependency without errors, it is safe to do. [Learn more about removing Effect dependencies.](/learn/removing-effect-dependencies#move-dynamic-objects-and-functions-inside-your-effect) + * Calling the `set` function *during rendering* is only allowed from within the currently rendering component. React will discard its output and immediately attempt to render it again with the new state. This pattern is rarely needed, but you can use it to **store information from the previous renders**. [See an example below.](#storing-information-from-previous-renders) * In Strict Mode, React will **call your updater function twice** in order to [help you find accidental impurities.](#my-initializer-or-updater-function-runs-twice) This is development-only behavior and does not affect production. If your updater function is pure (as it should be), this should not affect the behavior. The result from one of the calls will be ignored. diff --git a/src/content/reference/react/useTransition.md b/src/content/reference/react/useTransition.md index 77c2cdad..5066fe63 100644 --- a/src/content/reference/react/useTransition.md +++ b/src/content/reference/react/useTransition.md @@ -80,6 +80,8 @@ function TabContainer() { * The function you pass to `startTransition` must be synchronous. React immediately executes this function, marking all state updates that happen while it executes as Transitions. If you try to perform more state updates later (for example, in a timeout), they won't be marked as Transitions. +* The `startTransition` function has a stable identity, so you will often see it omitted from effect dependencies, but including it will not cause the effect to fire. If the linter lets you omit a dependency without errors, it is safe to do. [Learn more about removing Effect dependencies.](/learn/removing-effect-dependencies#move-dynamic-objects-and-functions-inside-your-effect) + * A state update marked as a Transition will be interrupted by other state updates. For example, if you update a chart component inside a Transition, but then start typing into an input while the chart is in the middle of a re-render, React will restart the rendering work on the chart component after handling the input update. * Transition updates can't be used to control text inputs. From e2f089d7bdaa5705c9ec32bf547f21530a18d2ca Mon Sep 17 00:00:00 2001 From: Ricky <rickhanlonii@fb.com> Date: Mon, 23 Sep 2024 15:51:24 -0400 Subject: [PATCH 358/382] Fix search results ranking and grouping (#7183) --- package-lock.json | 14544 ++++++++++++++++++++++++++++++++++++ package.json | 4 +- src/components/Search.tsx | 13 +- src/siteConfig.js | 2 +- yarn.lock | 2433 +++--- 5 files changed, 15822 insertions(+), 1174 deletions(-) create mode 100644 package-lock.json diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 00000000..745ae782 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,14544 @@ +{ + "name": "react-dev", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "react-dev", + "version": "1.0.0", + "hasInstallScript": true, + "license": "CC", + "dependencies": { + "@codesandbox/sandpack-react": "2.13.5", + "@docsearch/css": "^3.6.1", + "@docsearch/react": "^3.6.1", + "@headlessui/react": "^1.7.0", + "@radix-ui/react-context-menu": "^2.1.5", + "body-scroll-lock": "^3.1.3", + "classnames": "^2.2.6", + "date-fns": "^2.16.1", + "debounce": "^1.2.1", + "github-slugger": "^1.3.0", + "next": "^13.4.1", + "next-remote-watch": "^1.0.0", + "parse-numeric-range": "^1.2.0", + "react": "^0.0.0-experimental-16d053d59-20230506", + "react-collapsed": "4.0.4", + "react-dom": "^0.0.0-experimental-16d053d59-20230506", + "remark-frontmatter": "^4.0.1", + "remark-gfm": "^3.0.1" + }, + "devDependencies": { + "@babel/core": "^7.12.9", + "@babel/plugin-transform-modules-commonjs": "^7.18.6", + "@babel/preset-react": "^7.18.6", + "@mdx-js/mdx": "^2.1.3", + "@types/body-scroll-lock": "^2.6.1", + "@types/classnames": "^2.2.10", + "@types/debounce": "^1.2.1", + "@types/github-slugger": "^1.3.0", + "@types/mdx-js__react": "^1.5.2", + "@types/node": "^14.6.4", + "@types/parse-numeric-range": "^0.0.1", + "@types/react": "^18.0.9", + "@types/react-dom": "^18.0.5", + "@typescript-eslint/eslint-plugin": "^5.36.2", + "@typescript-eslint/parser": "^5.36.2", + "asyncro": "^3.0.0", + "autoprefixer": "^10.4.2", + "babel-eslint": "10.x", + "eslint": "7.x", + "eslint-config-next": "12.0.3", + "eslint-config-react-app": "^5.2.1", + "eslint-plugin-flowtype": "4.x", + "eslint-plugin-import": "2.x", + "eslint-plugin-jsx-a11y": "6.x", + "eslint-plugin-react": "7.x", + "eslint-plugin-react-hooks": "^0.0.0-experimental-fabef7a6b-20221215", + "fs-extra": "^9.0.1", + "globby": "^11.0.1", + "gray-matter": "^4.0.2", + "husky": "^7.0.4", + "is-ci": "^3.0.1", + "lint-staged": ">=10", + "mdast-util-to-string": "^1.1.0", + "metro-cache": "0.72.2", + "npm-run-all": "^4.1.5", + "patch-package": "^6.2.2", + "postcss": "^8.4.5", + "postcss-flexbugs-fixes": "4.2.1", + "postcss-preset-env": "^6.7.0", + "prettier": "^2.5.1", + "reading-time": "^1.2.0", + "remark": "^12.0.1", + "remark-external-links": "^7.0.0", + "remark-html": "^12.0.0", + "remark-images": "^2.0.0", + "remark-slug": "^7.0.0", + "remark-unwrap-images": "^2.0.0", + "retext": "^7.0.1", + "retext-smartypants": "^4.0.0", + "rss": "^1.2.2", + "tailwindcss": "^3.4.1", + "typescript": "^4.0.2", + "unist-util-visit": "^2.0.3", + "webpack-bundle-analyzer": "^4.5.0" + }, + "engines": { + "node": ">=16.8.0" + } + }, + "node_modules/@algolia/autocomplete-core": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.9.3.tgz", + "integrity": "sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==", + "dependencies": { + "@algolia/autocomplete-plugin-algolia-insights": "1.9.3", + "@algolia/autocomplete-shared": "1.9.3" + } + }, + "node_modules/@algolia/autocomplete-plugin-algolia-insights": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.9.3.tgz", + "integrity": "sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==", + "dependencies": { + "@algolia/autocomplete-shared": "1.9.3" + }, + "peerDependencies": { + "search-insights": ">= 1 < 3" + } + }, + "node_modules/@algolia/autocomplete-preset-algolia": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.9.3.tgz", + "integrity": "sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==", + "dependencies": { + "@algolia/autocomplete-shared": "1.9.3" + }, + "peerDependencies": { + "@algolia/client-search": ">= 4.9.1 < 6", + "algoliasearch": ">= 4.9.1 < 6" + } + }, + "node_modules/@algolia/autocomplete-shared": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.9.3.tgz", + "integrity": "sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==", + "peerDependencies": { + "@algolia/client-search": ">= 4.9.1 < 6", + "algoliasearch": ">= 4.9.1 < 6" + } + }, + "node_modules/@algolia/cache-browser-local-storage": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.24.0.tgz", + "integrity": "sha512-t63W9BnoXVrGy9iYHBgObNXqYXM3tYXCjDSHeNwnsc324r4o5UiVKUiAB4THQ5z9U5hTj6qUvwg/Ez43ZD85ww==", + "dependencies": { + "@algolia/cache-common": "4.24.0" + } + }, + "node_modules/@algolia/cache-common": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.24.0.tgz", + "integrity": "sha512-emi+v+DmVLpMGhp0V9q9h5CdkURsNmFC+cOS6uK9ndeJm9J4TiqSvPYVu+THUP8P/S08rxf5x2P+p3CfID0Y4g==" + }, + "node_modules/@algolia/cache-in-memory": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.24.0.tgz", + "integrity": "sha512-gDrt2so19jW26jY3/MkFg5mEypFIPbPoXsQGQWAi6TrCPsNOSEYepBMPlucqWigsmEy/prp5ug2jy/N3PVG/8w==", + "dependencies": { + "@algolia/cache-common": "4.24.0" + } + }, + "node_modules/@algolia/client-account": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.24.0.tgz", + "integrity": "sha512-adcvyJ3KjPZFDybxlqnf+5KgxJtBjwTPTeyG2aOyoJvx0Y8dUQAEOEVOJ/GBxX0WWNbmaSrhDURMhc+QeevDsA==", + "dependencies": { + "@algolia/client-common": "4.24.0", + "@algolia/client-search": "4.24.0", + "@algolia/transporter": "4.24.0" + } + }, + "node_modules/@algolia/client-analytics": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.24.0.tgz", + "integrity": "sha512-y8jOZt1OjwWU4N2qr8G4AxXAzaa8DBvyHTWlHzX/7Me1LX8OayfgHexqrsL4vSBcoMmVw2XnVW9MhL+Y2ZDJXg==", + "dependencies": { + "@algolia/client-common": "4.24.0", + "@algolia/client-search": "4.24.0", + "@algolia/requester-common": "4.24.0", + "@algolia/transporter": "4.24.0" + } + }, + "node_modules/@algolia/client-common": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.24.0.tgz", + "integrity": "sha512-bc2ROsNL6w6rqpl5jj/UywlIYC21TwSSoFHKl01lYirGMW+9Eek6r02Tocg4gZ8HAw3iBvu6XQiM3BEbmEMoiA==", + "dependencies": { + "@algolia/requester-common": "4.24.0", + "@algolia/transporter": "4.24.0" + } + }, + "node_modules/@algolia/client-personalization": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.24.0.tgz", + "integrity": "sha512-l5FRFm/yngztweU0HdUzz1rC4yoWCFo3IF+dVIVTfEPg906eZg5BOd1k0K6rZx5JzyyoP4LdmOikfkfGsKVE9w==", + "dependencies": { + "@algolia/client-common": "4.24.0", + "@algolia/requester-common": "4.24.0", + "@algolia/transporter": "4.24.0" + } + }, + "node_modules/@algolia/client-search": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.24.0.tgz", + "integrity": "sha512-uRW6EpNapmLAD0mW47OXqTP8eiIx5F6qN9/x/7HHO6owL3N1IXqydGwW5nhDFBrV+ldouro2W1VX3XlcUXEFCA==", + "dependencies": { + "@algolia/client-common": "4.24.0", + "@algolia/requester-common": "4.24.0", + "@algolia/transporter": "4.24.0" + } + }, + "node_modules/@algolia/logger-common": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.24.0.tgz", + "integrity": "sha512-LLUNjkahj9KtKYrQhFKCzMx0BY3RnNP4FEtO+sBybCjJ73E8jNdaKJ/Dd8A/VA4imVHP5tADZ8pn5B8Ga/wTMA==" + }, + "node_modules/@algolia/logger-console": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.24.0.tgz", + "integrity": "sha512-X4C8IoHgHfiUROfoRCV+lzSy+LHMgkoEEU1BbKcsfnV0i0S20zyy0NLww9dwVHUWNfPPxdMU+/wKmLGYf96yTg==", + "dependencies": { + "@algolia/logger-common": "4.24.0" + } + }, + "node_modules/@algolia/recommend": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-4.24.0.tgz", + "integrity": "sha512-P9kcgerfVBpfYHDfVZDvvdJv0lEoCvzNlOy2nykyt5bK8TyieYyiD0lguIJdRZZYGre03WIAFf14pgE+V+IBlw==", + "dependencies": { + "@algolia/cache-browser-local-storage": "4.24.0", + "@algolia/cache-common": "4.24.0", + "@algolia/cache-in-memory": "4.24.0", + "@algolia/client-common": "4.24.0", + "@algolia/client-search": "4.24.0", + "@algolia/logger-common": "4.24.0", + "@algolia/logger-console": "4.24.0", + "@algolia/requester-browser-xhr": "4.24.0", + "@algolia/requester-common": "4.24.0", + "@algolia/requester-node-http": "4.24.0", + "@algolia/transporter": "4.24.0" + } + }, + "node_modules/@algolia/requester-browser-xhr": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.24.0.tgz", + "integrity": "sha512-Z2NxZMb6+nVXSjF13YpjYTdvV3032YTBSGm2vnYvYPA6mMxzM3v5rsCiSspndn9rzIW4Qp1lPHBvuoKJV6jnAA==", + "dependencies": { + "@algolia/requester-common": "4.24.0" + } + }, + "node_modules/@algolia/requester-common": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.24.0.tgz", + "integrity": "sha512-k3CXJ2OVnvgE3HMwcojpvY6d9kgKMPRxs/kVohrwF5WMr2fnqojnycZkxPoEg+bXm8fi5BBfFmOqgYztRtHsQA==" + }, + "node_modules/@algolia/requester-node-http": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.24.0.tgz", + "integrity": "sha512-JF18yTjNOVYvU/L3UosRcvbPMGT9B+/GQWNWnenIImglzNVGpyzChkXLnrSf6uxwVNO6ESGu6oN8MqcGQcjQJw==", + "dependencies": { + "@algolia/requester-common": "4.24.0" + } + }, + "node_modules/@algolia/transporter": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.24.0.tgz", + "integrity": "sha512-86nI7w6NzWxd1Zp9q3413dRshDqAzSbsQjhcDhPIatEFiZrL1/TjnHL8S7jVKFePlIMzDsZWXAXwXzcok9c5oA==", + "dependencies": { + "@algolia/cache-common": "4.24.0", + "@algolia/logger-common": "4.24.0", + "@algolia/requester-common": "4.24.0" + } + }, + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@ampproject/remapping/node_modules/@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", + "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/highlight": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.19.0.tgz", + "integrity": "sha512-y5rqgTTPTmaF5e2nVhOxw+Ur9HDJLsWb6U/KpgUzRZEdPfE6VOubXBKLdbcUTijzRptednSBDQbYZBOSqJxpJw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.0.tgz", + "integrity": "sha512-reM4+U7B9ss148rh2n1Qs9ASS+w94irYXga7c2jaQv9RVzpS7Mv1a9rnYYwuDa45G+DkORt9g6An2k/V4d9LbQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.19.0", + "@babel/helper-compilation-targets": "^7.19.0", + "@babel/helper-module-transforms": "^7.19.0", + "@babel/helpers": "^7.19.0", + "@babel/parser": "^7.19.0", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.0", + "@babel/types": "^7.19.0", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/highlight": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core/node_modules/@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core/node_modules/@babel/parser": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.0.tgz", + "integrity": "sha512-74bEXKX2h+8rrfQUfsBfuZZHzsEs6Eql4pqy/T4Nn6Y9wNPggQOqD6z6pn5Bl8ZfysKouFZT/UXEH94ummEeQw==", + "dev": true, + "license": "MIT", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.19.0.tgz", + "integrity": "sha512-S1ahxf1gZ2dpoiFgA+ohK9DIpz50bJ0CWs7Zlzb54Z4sG8qmdIrGrVqmy1sAtTVRb+9CU6U8VqT9L0Zj7hxHVg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.19.0", + "@jridgewell/gen-mapping": "^0.3.2", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", + "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.0.tgz", + "integrity": "sha512-Ai5bNWXIvwDvWM7njqsG3feMlL9hCVQsPYXodsZyLwshYkZVJt59Gftau4VrE8S9IT9asd2uSP1hG6wCNw+sXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.19.0", + "@babel/helper-validator-option": "^7.18.6", + "browserslist": "^4.20.2", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/browserslist": { + "version": "4.21.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.3.tgz", + "integrity": "sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "license": "MIT", + "dependencies": { + "caniuse-lite": "^1.0.30001370", + "electron-to-chromium": "^1.4.202", + "node-releases": "^2.0.6", + "update-browserslist-db": "^1.0.5" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/caniuse-lite": { + "version": "1.0.30001390", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001390.tgz", + "integrity": "sha512-sS4CaUM+/+vqQUlCvCJ2WtDlV81aWtHhqeEVkLokVJJa3ViN4zDxAGfq9R8i1m90uGHxo99cy10Od+lvn3hf0g==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/@babel/helper-compilation-targets/node_modules/electron-to-chromium": { + "version": "1.4.241", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.241.tgz", + "integrity": "sha512-e7Wsh4ilaioBZ5bMm6+F4V5c11dh56/5Jwz7Hl5Tu1J7cnB+Pqx5qIF2iC7HPpfyQMqGSvvLP5bBAIDd2gAtGw==", + "dev": true, + "license": "ISC" + }, + "node_modules/@babel/helper-compilation-targets/node_modules/node-releases": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", + "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/update-browserslist-db": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.7.tgz", + "integrity": "sha512-iN/XYesmZ2RmmWAiI4Z5rq0YqSiv0brj9Ce9CfhNE4xIW2h+MFxcgkxIzZ+ShkFPUkjU3gQ+3oypadD3RAMtrg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "browserslist-lint": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", + "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", + "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.18.10", + "@babel/types": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-get-function-arity": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz", + "integrity": "sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-get-function-arity/node_modules/@babel/helper-validator-identifier": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", + "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-get-function-arity/node_modules/@babel/types": { + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.16.8.tgz", + "integrity": "sha512-smN2DQc5s4M7fntyjGtyIPbRJv6wW4rU/94fmYJ7PKQuZkC0qGMHXJbg6sNGt12JmVr4k5YaptI/XtiLJBnmIg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.16.7", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", + "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.0.tgz", + "integrity": "sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-simple-access": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.18.6", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.0", + "@babel/types": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz", + "integrity": "sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz", + "integrity": "sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz", + "integrity": "sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz", + "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", + "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.19.0.tgz", + "integrity": "sha512-DRBCKGwIEdqY3+rPJgG/dKfQy9+08rHIAJx8q2p+HSWP87s2HCrQmaAMMyMll2kIXKCW0cO1RdQskx15Xakftg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.0", + "@babel/types": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.16.10", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz", + "integrity": "sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.16.7", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/@babel/helper-validator-identifier": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", + "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.16.12", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.12.tgz", + "integrity": "sha512-VfaV15po8RiZssrkPweyvbGVSe4x2y+aciFCgn0n0/SJMR22cwofRV1mtnJQYcSB1wUTaA/X1LnA3es66MCO5A==", + "dev": true, + "license": "MIT", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz", + "integrity": "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz", + "integrity": "sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-transforms": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-simple-access": "^7.18.6", + "babel-plugin-dynamic-import-node": "^2.3.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-display-name": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.18.6.tgz", + "integrity": "sha512-TV4sQ+T013n61uMoygyMRm+xf04Bd5oqFpv2jAEQwSZ8NwQA7zeRPg1LMVg2PWi3zWBz+CLKD+v5bcpZ/BS0aA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.19.0.tgz", + "integrity": "sha512-UVEvX3tXie3Szm3emi1+G63jyw1w5IcMY0FSKM+CRnKRI5Mr1YbCNgsSTwoTwKphQEG9P+QqmuRFneJPZuHNhg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-plugin-utils": "^7.19.0", + "@babel/plugin-syntax-jsx": "^7.18.6", + "@babel/types": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-development": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.18.6.tgz", + "integrity": "sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/plugin-transform-react-jsx": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-pure-annotations": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.18.6.tgz", + "integrity": "sha512-I8VfEPg9r2TRDdvnHgPepTKvuRomzA8+u+nhY7qSI1fR2hRNebasZEETLyM5mAUr0Ku56OkXJ0I7NHJnO6cJiQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-react": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.18.6.tgz", + "integrity": "sha512-zXr6atUmyYdiWRVLOZahakYmOBHtWc2WGCkP8PYTgZi0iJXDY2CN180TdrIW4OGOAdLc7TifzDIvtx6izaRIzg==", + "dev": true, + "license": "MIT", + "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" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.7.tgz", + "integrity": "sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==", + "license": "MIT", + "dependencies": { + "regenerator-runtime": "^0.14.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/runtime-corejs3": { + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.16.8.tgz", + "integrity": "sha512-3fKhuICS1lMz0plI5ktOE/yEtBRMVxplzRkdn6mJQ197XiY0JnrzYV0+Mxozq3JZ8SBV9Ecurmw1XsGbwOf+Sg==", + "dev": true, + "license": "MIT", + "dependencies": { + "core-js-pure": "^3.20.2", + "regenerator-runtime": "^0.13.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/runtime/node_modules/regenerator-runtime": { + "version": "0.14.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", + "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", + "license": "MIT" + }, + "node_modules/@babel/template": { + "version": "7.18.10", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", + "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.18.10", + "@babel/types": "^7.18.10" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template/node_modules/@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/highlight": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template/node_modules/@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template/node_modules/@babel/parser": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.0.tgz", + "integrity": "sha512-74bEXKX2h+8rrfQUfsBfuZZHzsEs6Eql4pqy/T4Nn6Y9wNPggQOqD6z6pn5Bl8ZfysKouFZT/UXEH94ummEeQw==", + "dev": true, + "license": "MIT", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.19.0.tgz", + "integrity": "sha512-4pKpFRDh+utd2mbRC8JLnlsMUii3PMHjpL6a0SZ4NMZy7YFP9aXORxEhdMVOc9CpWtDF09IkciQLEhK7Ml7gRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.19.0", + "@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.19.0", + "@babel/types": "^7.19.0", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/node_modules/@babel/code-frame": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", + "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/highlight": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/node_modules/@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse/node_modules/@babel/parser": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.0.tgz", + "integrity": "sha512-74bEXKX2h+8rrfQUfsBfuZZHzsEs6Eql4pqy/T4Nn6Y9wNPggQOqD6z6pn5Bl8ZfysKouFZT/UXEH94ummEeQw==", + "dev": true, + "license": "MIT", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/types": { + "version": "7.19.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.19.0.tgz", + "integrity": "sha512-YuGopBq3ke25BVSiS6fgF49Ul9gH1x70Bcr6bqRLjWCkcX8Hre1/5+z+IiWOIerRMSSEfGZVB9z9kyq7wVs9YA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.18.10", + "@babel/helper-validator-identifier": "^7.18.6", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@codemirror/autocomplete": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/@codemirror/autocomplete/-/autocomplete-6.4.2.tgz", + "integrity": "sha512-8WE2xp+D0MpWEv5lZ6zPW1/tf4AGb358T5GWYiKEuCP8MvFfT3tH2mIF9Y2yr2e3KbHuSvsVhosiEyqCpiJhZQ==", + "license": "MIT", + "dependencies": { + "@codemirror/language": "^6.0.0", + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.6.0", + "@lezer/common": "^1.0.0" + }, + "peerDependencies": { + "@codemirror/language": "^6.0.0", + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.0.0", + "@lezer/common": "^1.0.0" + } + }, + "node_modules/@codemirror/commands": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/@codemirror/commands/-/commands-6.2.2.tgz", + "integrity": "sha512-s9lPVW7TxXrI/7voZ+HmD/yiAlwAYn9PH5SUVSUhsxXHhv4yl5eZ3KLntSoTynfdgVYM0oIpccQEWRBQgmNZyw==", + "license": "MIT", + "dependencies": { + "@codemirror/language": "^6.0.0", + "@codemirror/state": "^6.2.0", + "@codemirror/view": "^6.0.0", + "@lezer/common": "^1.0.0" + } + }, + "node_modules/@codemirror/lang-css": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/@codemirror/lang-css/-/lang-css-6.1.1.tgz", + "integrity": "sha512-P6jdNEHyRcqqDgbvHYyC9Wxkek0rnG3a9aVSRi4a7WrjPbQtBTaOmvYpXmm13zZMAatO4Oqpac+0QZs7sy+LnQ==", + "license": "MIT", + "dependencies": { + "@codemirror/autocomplete": "^6.0.0", + "@codemirror/language": "^6.0.0", + "@codemirror/state": "^6.0.0", + "@lezer/css": "^1.0.0" + } + }, + "node_modules/@codemirror/lang-html": { + "version": "6.4.3", + "resolved": "https://registry.npmjs.org/@codemirror/lang-html/-/lang-html-6.4.3.tgz", + "integrity": "sha512-VKzQXEC8nL69Jg2hvAFPBwOdZNvL8tMFOrdFwWpU+wc6a6KEkndJ/19R5xSaglNX6v2bttm8uIEFYxdQDcIZVQ==", + "license": "MIT", + "dependencies": { + "@codemirror/autocomplete": "^6.0.0", + "@codemirror/lang-css": "^6.0.0", + "@codemirror/lang-javascript": "^6.0.0", + "@codemirror/language": "^6.4.0", + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.2.2", + "@lezer/common": "^1.0.0", + "@lezer/css": "^1.1.0", + "@lezer/html": "^1.3.0" + } + }, + "node_modules/@codemirror/lang-javascript": { + "version": "6.1.5", + "resolved": "https://registry.npmjs.org/@codemirror/lang-javascript/-/lang-javascript-6.1.5.tgz", + "integrity": "sha512-BS2SmI1IXxWqMPhbJ0DC3eAHAK9V9XvdHMSqwvTBnmh5xFALt+cVDg7XE/A1dxdxzXYXyeqGddgqx1rQv7AYaw==", + "license": "MIT", + "dependencies": { + "@codemirror/autocomplete": "^6.0.0", + "@codemirror/language": "^6.6.0", + "@codemirror/lint": "^6.0.0", + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.0.0", + "@lezer/common": "^1.0.0", + "@lezer/javascript": "^1.0.0" + } + }, + "node_modules/@codemirror/language": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/@codemirror/language/-/language-6.6.0.tgz", + "integrity": "sha512-cwUd6lzt3MfNYOobdjf14ZkLbJcnv4WtndYaoBkbor/vF+rCNguMPK0IRtvZJG4dsWiaWPcK8x1VijhvSxnstg==", + "license": "MIT", + "dependencies": { + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.0.0", + "@lezer/common": "^1.0.0", + "@lezer/highlight": "^1.0.0", + "@lezer/lr": "^1.0.0", + "style-mod": "^4.0.0" + } + }, + "node_modules/@codemirror/lint": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/@codemirror/lint/-/lint-6.2.0.tgz", + "integrity": "sha512-KVCECmR2fFeYBr1ZXDVue7x3q5PMI0PzcIbA+zKufnkniMBo1325t0h1jM85AKp8l3tj67LRxVpZfgDxEXlQkg==", + "license": "MIT", + "dependencies": { + "@codemirror/state": "^6.0.0", + "@codemirror/view": "^6.0.0", + "crelt": "^1.0.5" + } + }, + "node_modules/@codemirror/state": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/@codemirror/state/-/state-6.2.0.tgz", + "integrity": "sha512-69QXtcrsc3RYtOtd+GsvczJ319udtBf1PTrr2KbLWM/e2CXUPnh0Nz9AUo8WfhSQ7GeL8dPVNUmhQVgpmuaNGA==", + "license": "MIT" + }, + "node_modules/@codemirror/view": { + "version": "6.9.4", + "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.9.4.tgz", + "integrity": "sha512-Ov2H9gwlGUxiH94zWxlLtTlyogSFaQDIYjtSEcfzgh7MkKmKVchkmr4JbtR5zBev3jY5DVtKvUC8yjd1bKW55A==", + "license": "MIT", + "dependencies": { + "@codemirror/state": "^6.1.4", + "style-mod": "^4.0.0", + "w3c-keyname": "^2.2.4" + } + }, + "node_modules/@codesandbox/nodebox": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/@codesandbox/nodebox/-/nodebox-0.1.8.tgz", + "integrity": "sha512-2VRS6JDSk+M+pg56GA6CryyUSGPjBEe8Pnae0QL3jJF1mJZJVMDKr93gJRtBbLkfZN6LD/DwMtf+2L0bpWrjqg==", + "license": "SEE LICENSE IN ./LICENSE", + "dependencies": { + "outvariant": "^1.4.0", + "strict-event-emitter": "^0.4.3" + } + }, + "node_modules/@codesandbox/nodebox/node_modules/outvariant": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/outvariant/-/outvariant-1.4.2.tgz", + "integrity": "sha512-Ou3dJ6bA/UJ5GVHxah4LnqDwZRwAmWxrG3wtrHrbGnP4RnLCtA64A4F+ae7Y8ww660JaddSoArUR5HjipWSHAQ==", + "license": "MIT" + }, + "node_modules/@codesandbox/sandpack-client": { + "version": "2.13.2", + "resolved": "https://registry.npmjs.org/@codesandbox/sandpack-client/-/sandpack-client-2.13.2.tgz", + "integrity": "sha512-uAuxQOF7p8y4m7H0ojedDcWRf62xVK7UIYIJoX5LkhcV0SW1BTXcRkVNuR0/MSCSv+Og1dBeV8+Xpye9PX0quA==", + "license": "Apache-2.0", + "dependencies": { + "@codesandbox/nodebox": "0.1.8", + "buffer": "^6.0.3", + "dequal": "^2.0.2", + "outvariant": "1.4.0", + "static-browser-server": "1.0.3" + } + }, + "node_modules/@codesandbox/sandpack-react": { + "version": "2.13.5", + "resolved": "https://registry.npmjs.org/@codesandbox/sandpack-react/-/sandpack-react-2.13.5.tgz", + "integrity": "sha512-MWzh2P/Asck0JSCKY3y7WecdUBBEqB0NFi4p+ohoZMTYqHWTaYfd7nbPlNmGIE1xcGppSZEqPVDjOpAfeQ0zFw==", + "license": "Apache-2.0", + "dependencies": { + "@codemirror/autocomplete": "^6.4.0", + "@codemirror/commands": "^6.1.3", + "@codemirror/lang-css": "^6.0.1", + "@codemirror/lang-html": "^6.4.0", + "@codemirror/lang-javascript": "^6.1.2", + "@codemirror/language": "^6.3.2", + "@codemirror/state": "^6.2.0", + "@codemirror/view": "^6.7.1", + "@codesandbox/sandpack-client": "^2.13.2", + "@lezer/highlight": "^1.1.3", + "@react-hook/intersection-observer": "^3.1.1", + "@stitches/core": "^1.2.6", + "anser": "^2.1.1", + "clean-set": "^1.1.2", + "dequal": "^2.0.2", + "escape-carriage": "^1.3.1", + "lz-string": "^1.4.4", + "react-devtools-inline": "4.4.0", + "react-is": "^17.0.2" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17 || ^18", + "react-dom": "^16.8.0 || ^17 || ^18" + } + }, + "node_modules/@csstools/convert-colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@csstools/convert-colors/-/convert-colors-1.4.0.tgz", + "integrity": "sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw==", + "dev": true, + "license": "CC0-1.0", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/@docsearch/css": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.6.1.tgz", + "integrity": "sha512-VtVb5DS+0hRIprU2CO6ZQjK2Zg4QU5HrDM1+ix6rT0umsYvFvatMAnf97NHZlVWDaaLlx7GRfR/7FikANiM2Fg==" + }, + "node_modules/@docsearch/react": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.6.1.tgz", + "integrity": "sha512-qXZkEPvybVhSXj0K7U3bXc233tk5e8PfhoZ6MhPOiik/qUQxYC+Dn9DnoS7CxHQQhHfCvTiN0eY9M12oRghEXw==", + "dependencies": { + "@algolia/autocomplete-core": "1.9.3", + "@algolia/autocomplete-preset-algolia": "1.9.3", + "@docsearch/css": "3.6.1", + "algoliasearch": "^4.19.1" + }, + "peerDependencies": { + "@types/react": ">= 16.8.0 < 19.0.0", + "react": ">= 16.8.0 < 19.0.0", + "react-dom": ">= 16.8.0 < 19.0.0", + "search-insights": ">= 1 < 3" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "react": { + "optional": true + }, + "react-dom": { + "optional": true + }, + "search-insights": { + "optional": true + } + } + }, + "node_modules/@eslint/eslintrc": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", + "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^13.9.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^3.13.1", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.12.0.tgz", + "integrity": "sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@floating-ui/core": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.2.tgz", + "integrity": "sha512-+2XpQV9LLZeanU4ZevzRnGFg2neDeKHgFLjP6YLW+tly0IvrhqT4u8enLGjLH3qeh85g19xY5rsAusfwTdn5lg==", + "license": "MIT", + "dependencies": { + "@floating-ui/utils": "^0.2.0" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.6.5", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.5.tgz", + "integrity": "sha512-Nsdud2X65Dz+1RHjAIP0t8z5e2ff/IRbei6BqFrl1urT8sDVzM1HMQ+R0XcU5ceRfyO3I6ayeqIfh+6Wb8LGTw==", + "license": "MIT", + "dependencies": { + "@floating-ui/core": "^1.0.0", + "@floating-ui/utils": "^0.2.0" + } + }, + "node_modules/@floating-ui/react-dom": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.0.tgz", + "integrity": "sha512-lNzj5EQmEKn5FFKc04+zasr09h/uX8RtJRNj5gUXsSQIXHVWTVh+hVAg1vOMCexkX8EgvemMvIFpQfkosnVNyA==", + "license": "MIT", + "dependencies": { + "@floating-ui/dom": "^1.0.0" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.2.tgz", + "integrity": "sha512-J4yDIIthosAsRZ5CPYP/jQvUAQtlZTTD/4suA08/FEnlxqW3sKS9iAhgsa9VYLZ6vDHn/ixJgIqRQPotoBjxIw==", + "license": "MIT" + }, + "node_modules/@headlessui/react": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@headlessui/react/-/react-1.7.0.tgz", + "integrity": "sha512-/nDsijOXRwXVLpUBEiYuWguIBSIN3ZbKyah+KPUiD8bdIKtX1U/k+qLYUEr7NCQnSF2e4w1dr8me42ECuG3cvw==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "react": "^16 || ^17 || ^18", + "react-dom": "^16 || ^17 || ^18" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", + "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.0", + "debug": "^4.1.1", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", + "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.15", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz", + "integrity": "sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "node_modules/@lezer/common": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@lezer/common/-/common-1.0.2.tgz", + "integrity": "sha512-SVgiGtMnMnW3ActR8SXgsDhw7a0w0ChHSYAyAUxxrOiJ1OqYWEKk/xJd84tTSPo1mo6DXLObAJALNnd0Hrv7Ng==", + "license": "MIT" + }, + "node_modules/@lezer/css": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@lezer/css/-/css-1.1.1.tgz", + "integrity": "sha512-mSjx+unLLapEqdOYDejnGBokB5+AiJKZVclmud0MKQOKx3DLJ5b5VTCstgDDknR6iIV4gVrN6euzsCnj0A2gQA==", + "license": "MIT", + "dependencies": { + "@lezer/highlight": "^1.0.0", + "@lezer/lr": "^1.0.0" + } + }, + "node_modules/@lezer/highlight": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/@lezer/highlight/-/highlight-1.1.4.tgz", + "integrity": "sha512-IECkFmw2l7sFcYXrV8iT9GeY4W0fU4CxX0WMwhmhMIVjoDdD1Hr6q3G2NqVtLg/yVe5n7i4menG3tJ2r4eCrPQ==", + "license": "MIT", + "dependencies": { + "@lezer/common": "^1.0.0" + } + }, + "node_modules/@lezer/html": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/@lezer/html/-/html-1.3.4.tgz", + "integrity": "sha512-HdJYMVZcT4YsMo7lW3ipL4NoyS2T67kMPuSVS5TgLGqmaCjEU/D6xv7zsa1ktvTK5lwk7zzF1e3eU6gBZIPm5g==", + "license": "MIT", + "dependencies": { + "@lezer/common": "^1.0.0", + "@lezer/highlight": "^1.0.0", + "@lezer/lr": "^1.0.0" + } + }, + "node_modules/@lezer/javascript": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@lezer/javascript/-/javascript-1.4.2.tgz", + "integrity": "sha512-77qdAD4zanmImPiAu4ibrMUzRc79UHoccdPa+Ey5iwS891TAkhnMAodUe17T7zV7tnF7e9HXM0pfmjoGEhrppg==", + "license": "MIT", + "dependencies": { + "@lezer/highlight": "^1.1.3", + "@lezer/lr": "^1.3.0" + } + }, + "node_modules/@lezer/lr": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@lezer/lr/-/lr-1.3.3.tgz", + "integrity": "sha512-JPQe3mwJlzEVqy67iQiiGozhcngbO8QBgpqZM6oL1Wj/dXckrEexpBLeFkq0edtW5IqnPRFxA24BHJni8Js69w==", + "license": "MIT", + "dependencies": { + "@lezer/common": "^1.0.0" + } + }, + "node_modules/@mdx-js/mdx": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-2.1.3.tgz", + "integrity": "sha512-ahbb47HJIJ4xnifaL06tDJiSyLEy1EhFAStO7RZIm3GTa7yGW3NGhZaj+GUCveFgl5oI54pY4BgiLmYm97y+zg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/mdx": "^2.0.0", + "estree-util-build-jsx": "^2.0.0", + "estree-util-is-identifier-name": "^2.0.0", + "estree-util-to-js": "^1.1.0", + "estree-walker": "^3.0.0", + "hast-util-to-estree": "^2.0.0", + "markdown-extensions": "^1.0.0", + "periscopic": "^3.0.0", + "remark-mdx": "^2.0.0", + "remark-parse": "^10.0.0", + "remark-rehype": "^10.0.0", + "unified": "^10.0.0", + "unist-util-position-from-estree": "^1.0.0", + "unist-util-stringify-position": "^3.0.0", + "unist-util-visit": "^4.0.0", + "vfile": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@mdx-js/mdx/node_modules/unist-util-is": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.1.1.tgz", + "integrity": "sha512-F5CZ68eYzuSvJjGhCLPL3cYx45IxkqXSetCcRgUXtbcm50X2L9oOWQlfUfDdAf+6Pd27YDblBfdtmsThXmwpbQ==", + "dev": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@mdx-js/mdx/node_modules/unist-util-visit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.0.tgz", + "integrity": "sha512-n7lyhFKJfVZ9MnKtqbsqkQEk5P1KShj0+//V7mAcoI6bpbUjh3C/OG8HVD+pBihfh6Ovl01m8dkcv9HNqYajmQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0", + "unist-util-visit-parents": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@mdx-js/mdx/node_modules/unist-util-visit-parents": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.0.tgz", + "integrity": "sha512-y+QVLcY5eR/YVpqDsLf/xh9R3Q2Y4HxkZTp7ViLDU6WtJCEcPmRzW1gpdWDCDIqIlhuPDXOgttqPlykrHYDekg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@next/env": { + "version": "13.4.1", + "resolved": "https://registry.npmjs.org/@next/env/-/env-13.4.1.tgz", + "integrity": "sha512-eD6WCBMFjLFooLM19SIhSkWBHtaFrZFfg2Cxnyl3vS3DAdFRfnx5TY2RxlkuKXdIRCC0ySbtK9JXXt8qLCqzZg==", + "license": "MIT" + }, + "node_modules/@next/eslint-plugin-next": { + "version": "12.0.3", + "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-12.0.3.tgz", + "integrity": "sha512-P7i+bMypneQcoRN+CX79xssvvIJCaw7Fndzbe7/lB0+LyRbVvGVyMUsFmLLbSxtZq4hvFMJ1p8wML/gsulMZWQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "glob": "7.1.7" + } + }, + "node_modules/@next/eslint-plugin-next/node_modules/glob": { + "version": "7.1.7", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", + "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@next/swc-darwin-arm64": { + "version": "13.4.1", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.4.1.tgz", + "integrity": "sha512-eF8ARHtYfnoYtDa6xFHriUKA/Mfj/cCbmKb3NofeKhMccs65G6/loZ15a6wYCCx4rPAd6x4t1WmVYtri7EdeBg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@open-draft/deferred-promise": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@open-draft/deferred-promise/-/deferred-promise-2.1.0.tgz", + "integrity": "sha512-Rzd5JrXZX8zErHzgcGyngh4fmEbSHqTETdGj9rXtejlqMIgXFlyKBA7Jn1Xp0Ls0M0Y22+xHcWiEzbmdWl0BOA==", + "license": "MIT" + }, + "node_modules/@polka/url": { + "version": "1.0.0-next.21", + "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.21.tgz", + "integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==", + "dev": true, + "license": "MIT" + }, + "node_modules/@radix-ui/primitive": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.0.1.tgz", + "integrity": "sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.13.10" + } + }, + "node_modules/@radix-ui/react-arrow": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.0.3.tgz", + "integrity": "sha512-wSP+pHsB/jQRaL6voubsQ/ZlrGBHHrOjmBnr19hxYgtS0WvAFwZhK2WP/YY5yF9uKECCEEDGxuLxq1NBK51wFA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-primitive": "1.0.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-collection": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-1.0.3.tgz", + "integrity": "sha512-3SzW+0PW7yBBoQlT8wNcGtaxaD0XSu0uLUFgrtHY08Acx05TaHaOmVLR73c0j/cqpDy53KBMO7s0dx2wmOIDIA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-slot": "1.0.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-compose-refs": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.0.1.tgz", + "integrity": "sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-context": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.0.1.tgz", + "integrity": "sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-context-menu": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@radix-ui/react-context-menu/-/react-context-menu-2.1.5.tgz", + "integrity": "sha512-R5XaDj06Xul1KGb+WP8qiOh7tKJNz2durpLBXAGZjSVtctcRFCuEvy2gtMwRJGePwQQE5nV77gs4FwRi8T+r2g==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-menu": "2.0.6", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-callback-ref": "1.0.1", + "@radix-ui/react-use-controllable-state": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-direction": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-direction/-/react-direction-1.0.1.tgz", + "integrity": "sha512-RXcvnXgyvYvBEOhCBuddKecVkoMiI10Jcm5cTI7abJRAHYfFxeu+FBQs/DvdxSYucxR5mna0dNsL6QFlds5TMA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-dismissable-layer": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.0.5.tgz", + "integrity": "sha512-aJeDjQhywg9LBu2t/At58hCvr7pEm0o2Ke1x33B+MhjNmmZ17sy4KImo0KPLgsnc/zN7GPdce8Cnn0SWvwZO7g==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-callback-ref": "1.0.1", + "@radix-ui/react-use-escape-keydown": "1.0.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-focus-guards": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-guards/-/react-focus-guards-1.0.1.tgz", + "integrity": "sha512-Rect2dWbQ8waGzhMavsIbmSVCgYxkXLxxR3ZvCX79JOglzdEy4JXMb98lq4hPxUbLr77nP0UOGf4rcMU+s1pUA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-focus-scope": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.0.4.tgz", + "integrity": "sha512-sL04Mgvf+FmyvZeYfNu1EPAaaxD+aw7cYeIB9L9Fvq8+urhltTRaEo5ysKOpHuKPclsZcSUMKlN05x4u+CINpA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-callback-ref": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-id": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.0.1.tgz", + "integrity": "sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-use-layout-effect": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-menu": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@radix-ui/react-menu/-/react-menu-2.0.6.tgz", + "integrity": "sha512-BVkFLS+bUC8HcImkRKPSiVumA1VPOOEC5WBMiT+QAVsPzW1FJzI9KnqgGxVDPBcql5xXrHkD3JOVoXWEXD8SYA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-collection": "1.0.3", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-direction": "1.0.1", + "@radix-ui/react-dismissable-layer": "1.0.5", + "@radix-ui/react-focus-guards": "1.0.1", + "@radix-ui/react-focus-scope": "1.0.4", + "@radix-ui/react-id": "1.0.1", + "@radix-ui/react-popper": "1.1.3", + "@radix-ui/react-portal": "1.0.4", + "@radix-ui/react-presence": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-roving-focus": "1.0.4", + "@radix-ui/react-slot": "1.0.2", + "@radix-ui/react-use-callback-ref": "1.0.1", + "aria-hidden": "^1.1.1", + "react-remove-scroll": "2.5.5" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-popper": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.1.3.tgz", + "integrity": "sha512-cKpopj/5RHZWjrbF2846jBNacjQVwkP068DfmgrNJXpvVWrOvlAmE9xSiy5OqeE+Gi8D9fP+oDhUnPqNMY8/5w==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@floating-ui/react-dom": "^2.0.0", + "@radix-ui/react-arrow": "1.0.3", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-callback-ref": "1.0.1", + "@radix-ui/react-use-layout-effect": "1.0.1", + "@radix-ui/react-use-rect": "1.0.1", + "@radix-ui/react-use-size": "1.0.1", + "@radix-ui/rect": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-portal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.0.4.tgz", + "integrity": "sha512-Qki+C/EuGUVCQTOTD5vzJzJuMUlewbzuKyUy+/iHM2uwGiru9gZeBJtHAPKAEkB5KWGi9mP/CHKcY0wt1aW45Q==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-primitive": "1.0.3" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-presence": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.0.1.tgz", + "integrity": "sha512-UXLW4UAbIY5ZjcvzjfRFo5gxva8QirC9hF7wRE4U5gz+TP0DbRk+//qyuAQ1McDxBt1xNMBTaciFGvEmJvAZCg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-use-layout-effect": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-primitive": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-1.0.3.tgz", + "integrity": "sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-slot": "1.0.2" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-roving-focus": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-roving-focus/-/react-roving-focus-1.0.4.tgz", + "integrity": "sha512-2mUg5Mgcu001VkGy+FfzZyzbmuUWzgWkj3rvv4yu+mLw03+mTzbxZHvfcGyFp2b8EkQeMkpRQ5FiA2Vr2O6TeQ==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/primitive": "1.0.1", + "@radix-ui/react-collection": "1.0.3", + "@radix-ui/react-compose-refs": "1.0.1", + "@radix-ui/react-context": "1.0.1", + "@radix-ui/react-direction": "1.0.1", + "@radix-ui/react-id": "1.0.1", + "@radix-ui/react-primitive": "1.0.3", + "@radix-ui/react-use-callback-ref": "1.0.1", + "@radix-ui/react-use-controllable-state": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "@types/react-dom": "*", + "react": "^16.8 || ^17.0 || ^18.0", + "react-dom": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "@types/react-dom": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-slot": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.0.2.tgz", + "integrity": "sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-compose-refs": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-callback-ref": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.0.1.tgz", + "integrity": "sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-controllable-state": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.0.1.tgz", + "integrity": "sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-use-callback-ref": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-escape-keydown": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.0.3.tgz", + "integrity": "sha512-vyL82j40hcFicA+M4Ex7hVkB9vHgSse1ZWomAqV2Je3RleKGO5iM8KMOEtfoSB0PnIelMd2lATjTGMYqN5ylTg==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-use-callback-ref": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-layout-effect": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.0.1.tgz", + "integrity": "sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.13.10" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-rect": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-rect/-/react-use-rect-1.0.1.tgz", + "integrity": "sha512-Cq5DLuSiuYVKNU8orzJMbl15TXilTnJKUCltMVQg53BQOF1/C5toAaGrowkgksdBQ9H+SRL23g0HDmg9tvmxXw==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/rect": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-use-size": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/react-use-size/-/react-use-size-1.0.1.tgz", + "integrity": "sha512-ibay+VqrgcaI6veAojjofPATwledXiSmX+C0KrBk/xgpX9rBzPV3OsfwlhQdUOFbh+LKQorLYT+xTXW9V8yd0g==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.13.10", + "@radix-ui/react-use-layout-effect": "1.0.1" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/rect": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@radix-ui/rect/-/rect-1.0.1.tgz", + "integrity": "sha512-fyrgCaedtvMg9NK3en0pnOYJdtfwxUcNolezkNPUsoX57X8oQk+NkqcvzHXD2uKNij6GXmWU9NDru2IWjrO4BQ==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.13.10" + } + }, + "node_modules/@react-hook/intersection-observer": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@react-hook/intersection-observer/-/intersection-observer-3.1.1.tgz", + "integrity": "sha512-OTDx8/wFaRvzFtKl1dEUEXSOqK2zVJHporiTTdC2xO++0e9FEx9wIrPis5q3lqtXeZH9zYGLbk+aB75qNFbbuw==", + "license": "MIT", + "dependencies": { + "@react-hook/passive-layout-effect": "^1.2.0", + "intersection-observer": "^0.10.0" + }, + "peerDependencies": { + "react": ">=16.8" + } + }, + "node_modules/@react-hook/passive-layout-effect": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@react-hook/passive-layout-effect/-/passive-layout-effect-1.2.1.tgz", + "integrity": "sha512-IwEphTD75liO8g+6taS+4oqz+nnroocNfWVHWz7j+N+ZO2vYrc6PV1q7GQhuahL0IOR7JccFTsFKQ/mb6iZWAg==", + "license": "MIT", + "peerDependencies": { + "react": ">=16.8" + } + }, + "node_modules/@rushstack/eslint-patch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.1.0.tgz", + "integrity": "sha512-JLo+Y592QzIE+q7Dl2pMUtt4q8SKYI5jDrZxrozEQxnGVOyYE+GWK9eLkwTaeN9DDctlaRAQ3TBmzZ1qdLE30A==", + "dev": true, + "license": "MIT" + }, + "node_modules/@stitches/core": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@stitches/core/-/core-1.2.8.tgz", + "integrity": "sha512-Gfkvwk9o9kE9r9XNBmJRfV8zONvXThnm1tcuojL04Uy5uRyqg93DC83lDebl0rocZCfKSjUv+fWYtMQmEDJldg==", + "license": "MIT" + }, + "node_modules/@swc/helpers": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.1.tgz", + "integrity": "sha512-sJ902EfIzn1Fa+qYmjdQqh8tPsoxyBz+8yBKC2HKUxyezKJFwPGOn7pv4WY6QuQW//ySQi5lJjA/ZT9sNWWNTg==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@swc/helpers/node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", + "license": "0BSD" + }, + "node_modules/@types/acorn": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@types/acorn/-/acorn-4.0.6.tgz", + "integrity": "sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/@types/body-scroll-lock": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/@types/body-scroll-lock/-/body-scroll-lock-2.6.2.tgz", + "integrity": "sha512-PhoQPbwPYspXqf7lkwtF7aJzAwL88t+9E/e0b2X84tlHpU8ZuS9UNnLtkT0XhyZJYHpET5qRfIdZ0HBIxuc7HQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/classnames": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/@types/classnames/-/classnames-2.3.1.tgz", + "integrity": "sha512-zeOWb0JGBoVmlQoznvqXbE0tEC/HONsnoUNH19Hc96NFsTAwTXbTqb8FMYkru1F/iqp7a18Ws3nWJvtA1sHD1A==", + "dev": true, + "license": "MIT", + "dependencies": { + "classnames": "*" + } + }, + "node_modules/@types/debounce": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@types/debounce/-/debounce-1.2.1.tgz", + "integrity": "sha512-epMsEE85fi4lfmJUH/89/iV/LI+F5CvNIvmgs5g5jYFPfhO2S/ae8WSsLOKWdwtoaZw9Q2IhJ4tQ5tFCcS/4HA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/debug": { + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.7.tgz", + "integrity": "sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==", + "license": "MIT", + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz", + "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/estree-jsx": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.0.tgz", + "integrity": "sha512-3qvGd0z8F2ENTGr/GG1yViqfiKmRfrXVx5sJyHGFu3z7m5g5utCQtGp/g29JnjflhtQJBv1WDQukHiT58xPcYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/@types/github-slugger": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@types/github-slugger/-/github-slugger-1.3.0.tgz", + "integrity": "sha512-J/rMZa7RqiH/rT29TEVZO4nBoDP9XJOjnbbIofg7GQKs4JIduEO3WLpte+6WeUz/TcrXKlY+bM7FYrp8yFB+3g==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/hast": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.4.tgz", + "integrity": "sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/mdast": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.10.tgz", + "integrity": "sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/mdurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-1.0.2.tgz", + "integrity": "sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/mdx": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.2.tgz", + "integrity": "sha512-mJGfgj4aWpiKb8C0nnJJchs1sHBHn0HugkVfqqyQi7Wn6mBRksLeQsPOFvih/Pu8L1vlDzfe/LidhVHBeUk3aQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/mdx-js__react": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@types/mdx-js__react/-/mdx-js__react-1.5.5.tgz", + "integrity": "sha512-k8pnaP6JXVlQh18HgL5X6sYFNC/qZnzO7R2+HsmwrwUd+JnnsU0d9lyyT0RQrHg1anxDU36S98TI/fsGtmYqqg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/mdx-js__react/node_modules/@types/react": { + "version": "17.0.38", + "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.38.tgz", + "integrity": "sha512-SI92X1IA+FMnP3qM5m4QReluXzhcmovhZnLNm3pyeQlooi02qI7sLiepEYqT678uNiyc25XfCqxREFpy3W7YhQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/ms": { + "version": "0.7.31", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz", + "integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==", + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "14.18.9", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.9.tgz", + "integrity": "sha512-j11XSuRuAlft6vLDEX4RvhqC0KxNxx6QIyMXNb0vHHSNPXTPeiy3algESWmOOIzEtiEL0qiowPU3ewW9hHVa7Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/parse-numeric-range": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/@types/parse-numeric-range/-/parse-numeric-range-0.0.1.tgz", + "integrity": "sha512-nI3rPGKk8BxedokP2VilnW5JyZHYNjGCUDsAZ2JQgISgDflHNUO0wXMfGYP8CkihrKYDm5tilD52XfGhO/ZFCA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/prop-types": { + "version": "15.7.4", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.4.tgz", + "integrity": "sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/react": { + "version": "18.0.9", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.9.tgz", + "integrity": "sha512-9bjbg1hJHUm4De19L1cHiW0Jvx3geel6Qczhjd0qY5VKVE2X5+x77YxAepuCwVh4vrgZJdgEJw48zrhRIeF4Nw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/react-dom": { + "version": "18.0.5", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.5.tgz", + "integrity": "sha512-OWPWTUrY/NIrjsAPkAk1wW9LZeIjSvkXRhclsFO8CZcZGCOg2G0YZy4ft+rOyYxy8B7ui5iZzi9OkDebZ7/QSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/react": "*" + } + }, + "node_modules/@types/react-dom/node_modules/@types/react": { + "version": "17.0.38", + "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.38.tgz", + "integrity": "sha512-SI92X1IA+FMnP3qM5m4QReluXzhcmovhZnLNm3pyeQlooi02qI7sLiepEYqT678uNiyc25XfCqxREFpy3W7YhQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/scheduler": { + "version": "0.16.2", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", + "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/unist": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz", + "integrity": "sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==", + "license": "MIT" + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.36.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.36.2.tgz", + "integrity": "sha512-OwwR8LRwSnI98tdc2z7mJYgY60gf7I9ZfGjN5EjCwwns9bdTuQfAXcsjSB2wSQ/TVNYSGKf4kzVXbNGaZvwiXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/scope-manager": "5.36.2", + "@typescript-eslint/type-utils": "5.36.2", + "@typescript-eslint/utils": "5.36.2", + "debug": "^4.3.4", + "functional-red-black-tree": "^1.0.1", + "ignore": "^5.2.0", + "regexpp": "^3.2.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "5.36.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.36.2.tgz", + "integrity": "sha512-qS/Kb0yzy8sR0idFspI9Z6+t7mqk/oRjnAYfewG+VN73opAUvmYL3oPIMmgOX6CnQS6gmVIXGshlb5RY/R22pA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/scope-manager": "5.36.2", + "@typescript-eslint/types": "5.36.2", + "@typescript-eslint/typescript-estree": "5.36.2", + "debug": "^4.3.4" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/parser/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "5.36.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.36.2.tgz", + "integrity": "sha512-cNNP51L8SkIFSfce8B1NSUBTJTu2Ts4nWeWbFrdaqjmn9yKrAaJUBHkyTZc0cL06OFHpb+JZq5AUHROS398Orw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "5.36.2", + "@typescript-eslint/visitor-keys": "5.36.2" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/scope-manager/node_modules/@typescript-eslint/visitor-keys": { + "version": "5.36.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.36.2.tgz", + "integrity": "sha512-BtRvSR6dEdrNt7Net2/XDjbYKU5Ml6GqJgVfXT0CxTCJlnIqK7rAGreuWKMT2t8cFUT2Msv5oxw0GMRD7T5J7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "5.36.2", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/scope-manager/node_modules/eslint-visitor-keys": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", + "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "5.36.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.36.2.tgz", + "integrity": "sha512-rPQtS5rfijUWLouhy6UmyNquKDPhQjKsaKH0WnY6hl/07lasj8gPaH2UD8xWkePn6SC+jW2i9c2DZVDnL+Dokw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/typescript-estree": "5.36.2", + "@typescript-eslint/utils": "5.36.2", + "debug": "^4.3.4", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/type-utils/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "5.36.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.36.2.tgz", + "integrity": "sha512-9OJSvvwuF1L5eS2EQgFUbECb99F0mwq501w0H0EkYULkhFa19Qq7WFbycdw1PexAc929asupbZcgjVIe6OK/XQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "5.36.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.36.2.tgz", + "integrity": "sha512-8fyH+RfbKc0mTspfuEjlfqA4YywcwQK2Amcf6TDOwaRLg7Vwdu4bZzyvBZp4bjt1RRjQ5MDnOZahxMrt2l5v9w==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/types": "5.36.2", + "@typescript-eslint/visitor-keys": "5.36.2", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/@typescript-eslint/visitor-keys": { + "version": "5.36.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.36.2.tgz", + "integrity": "sha512-BtRvSR6dEdrNt7Net2/XDjbYKU5Ml6GqJgVfXT0CxTCJlnIqK7rAGreuWKMT2t8cFUT2Msv5oxw0GMRD7T5J7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "5.36.2", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/eslint-visitor-keys": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", + "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "5.36.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.36.2.tgz", + "integrity": "sha512-uNcopWonEITX96v9pefk9DC1bWMdkweeSsewJ6GeC7L6j2t0SJywisgkr9wUTtXk90fi2Eljj90HSHm3OGdGRg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json-schema": "^7.0.9", + "@typescript-eslint/scope-manager": "5.36.2", + "@typescript-eslint/types": "5.36.2", + "@typescript-eslint/typescript-estree": "5.36.2", + "eslint-scope": "^5.1.1", + "eslint-utils": "^3.0.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/eslint-utils": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", + "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^2.0.0" + }, + "engines": { + "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=5" + } + }, + "node_modules/@typescript-eslint/utils/node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "4.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz", + "integrity": "sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "4.33.0", + "eslint-visitor-keys": "^2.0.0" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/visitor-keys/node_modules/@typescript-eslint/types": { + "version": "4.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.33.0.tgz", + "integrity": "sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10" + } + }, + "node_modules/@yarnpkg/lockfile": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", + "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/absolute-path": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/absolute-path/-/absolute-path-0.0.0.tgz", + "integrity": "sha512-HQiug4c+/s3WOvEnDRxXVmNtSG5s2gJM9r19BTcqjp7BWcE48PB+Y2G6jE65kqI0LpsQeMZygt/b60Gi4KxGyA==", + "dev": true, + "license": "MIT" + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "license": "MIT", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/algoliasearch": { + "version": "4.24.0", + "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.24.0.tgz", + "integrity": "sha512-bf0QV/9jVejssFBmz2HQLxUadxk574t4iwjCKp5E7NBzwKkrDEhKPISIIjAU/p6K5qDx3qoeh4+26zWN1jmw3g==", + "dependencies": { + "@algolia/cache-browser-local-storage": "4.24.0", + "@algolia/cache-common": "4.24.0", + "@algolia/cache-in-memory": "4.24.0", + "@algolia/client-account": "4.24.0", + "@algolia/client-analytics": "4.24.0", + "@algolia/client-common": "4.24.0", + "@algolia/client-personalization": "4.24.0", + "@algolia/client-search": "4.24.0", + "@algolia/logger-common": "4.24.0", + "@algolia/logger-console": "4.24.0", + "@algolia/recommend": "4.24.0", + "@algolia/requester-browser-xhr": "4.24.0", + "@algolia/requester-common": "4.24.0", + "@algolia/requester-node-http": "4.24.0", + "@algolia/transporter": "4.24.0" + } + }, + "node_modules/anser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/anser/-/anser-2.1.1.tgz", + "integrity": "sha512-nqLm4HxOTpeLOxcmB3QWmV5TcDFhW9y/fyQ+hivtDFcK4OQ+pQ5fzPnXHM1Mfcm0VkLtvVi1TCPr++Qy0Q/3EQ==", + "license": "MIT" + }, + "node_modules/ansi-colors": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", + "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "dev": true, + "license": "MIT" + }, + "node_modules/anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "dev": true, + "license": "MIT" + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/aria-hidden": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.4.tgz", + "integrity": "sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/aria-query": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz", + "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@babel/runtime": "^7.10.2", + "@babel/runtime-corejs3": "^7.10.2" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/aria-query/node_modules/@babel/runtime": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.7.tgz", + "integrity": "sha512-9E9FJowqAsytyOY6LG+1KuueckRL+aQW+mKvXRXnuFGyRAyepJPmEo9vgMfXUA6O9u3IeEdv9MAkppFcaQwogQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "regenerator-runtime": "^0.13.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "license": "MIT" + }, + "node_modules/array-includes": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.4.tgz", + "integrity": "sha512-ZTNSQkmWumEbiHO2GF4GmWxYVTiQyJy2XOTa15sdQSrvKn7l+180egQMqlrMOUMCyLMD7pmyQe4mMDUT6Behrw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1", + "get-intrinsic": "^1.1.1", + "is-string": "^1.0.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-iterate": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/array-iterate/-/array-iterate-1.1.4.tgz", + "integrity": "sha512-sNRaPGh9nnmdC8Zf+pT3UqP8rnWj5Hf9wiFGsX3wUQ2yVSIhO2ShFwCoceIPpB41QF6i2OEmrHmCo36xronCVA==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/array.prototype.flat": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.5.tgz", + "integrity": "sha512-KaYU+S+ndVqyUnignHftkwc58o3uVU1jzczILJ1tN2YaIZpFIKBiP/x/j97E5MVPsaCloPbqWLB/8qCTVvT2qg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array.prototype.flatmap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.2.5.tgz", + "integrity": "sha512-08u6rVyi1Lj7oqWbS9nUxliETrtIROT4XGTA4D/LWGten6E3ocm7cy9SIrmNHOL5XVbVuckUp3X6Xyg8/zpvHA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ast-types-flow": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", + "integrity": "sha1-9wtzXGvKGlycItmCw+Oef+ujva0=", + "dev": true, + "license": "ISC" + }, + "node_modules/astral-regex": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", + "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/astring": { + "version": "1.8.3", + "resolved": "https://registry.npmjs.org/astring/-/astring-1.8.3.tgz", + "integrity": "sha512-sRpyiNrx2dEYIMmUXprS8nlpRg2Drs8m9ElX9vVEXaCB4XEAJhKfs7IcX0IwShjuOAjLR6wzIrgoptz1n19i1A==", + "dev": true, + "license": "MIT", + "bin": { + "astring": "bin/astring" + } + }, + "node_modules/asyncro": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/asyncro/-/asyncro-3.0.0.tgz", + "integrity": "sha512-nEnWYfrBmA3taTiuiOoZYmgJ/CNrSoQLeLs29SeLcPu60yaw/mHDBHV0iOZ051fTvsTHxpCY+gXibqT9wbQYfg==", + "dev": true, + "license": "MIT" + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/autoprefixer": { + "version": "10.4.2", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.2.tgz", + "integrity": "sha512-9fOPpHKuDW1w/0EKfRmVnxTDt8166MAnLI3mgZ1JCnhNtYWxcJ6Ud5CO/AVOZi/AvFa8DY9RTy3h3+tFBlrrdQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.19.1", + "caniuse-lite": "^1.0.30001297", + "fraction.js": "^4.1.2", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/axe-core": { + "version": "4.3.5", + "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.3.5.tgz", + "integrity": "sha512-WKTW1+xAzhMS5dJsxWkliixlO/PqC4VhmO9T4juNYcaTg9jzWiJsou6m5pxWYGfigWbwzJWeFY6z47a+4neRXA==", + "dev": true, + "license": "MPL-2.0", + "engines": { + "node": ">=4" + } + }, + "node_modules/axobject-query": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz", + "integrity": "sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/babel-eslint": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz", + "integrity": "sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.7.0", + "@babel/traverse": "^7.7.0", + "@babel/types": "^7.7.0", + "eslint-visitor-keys": "^1.0.0", + "resolve": "^1.12.0" + }, + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "eslint": ">= 4.12.1" + } + }, + "node_modules/babel-eslint/node_modules/@babel/generator": { + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.16.8.tgz", + "integrity": "sha512-1ojZwE9+lOXzcWdWmO6TbUzDfqLD39CmEhN8+2cX9XkDo5yW1OpgfejfliysR2AWLpMamTiOiAp/mtroaymhpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.16.8", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/babel-eslint/node_modules/@babel/helper-environment-visitor": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz", + "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/babel-eslint/node_modules/@babel/helper-function-name": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz", + "integrity": "sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-get-function-arity": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/babel-eslint/node_modules/@babel/helper-hoist-variables": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz", + "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/babel-eslint/node_modules/@babel/helper-split-export-declaration": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz", + "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/babel-eslint/node_modules/@babel/helper-validator-identifier": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", + "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/babel-eslint/node_modules/@babel/template": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz", + "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.16.7", + "@babel/parser": "^7.16.7", + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/babel-eslint/node_modules/@babel/traverse": { + "version": "7.16.10", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.10.tgz", + "integrity": "sha512-yzuaYXoRJBGMlBhsMJoUW7G1UmSb/eXr/JHYM/MsOJgavJibLwASijW7oXBdw3NQ6T0bW7Ty5P/VarOs9cHmqw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.16.7", + "@babel/generator": "^7.16.8", + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-function-name": "^7.16.7", + "@babel/helper-hoist-variables": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7", + "@babel/parser": "^7.16.10", + "@babel/types": "^7.16.8", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/babel-eslint/node_modules/@babel/types": { + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.16.8.tgz", + "integrity": "sha512-smN2DQc5s4M7fntyjGtyIPbRJv6wW4rU/94fmYJ7PKQuZkC0qGMHXJbg6sNGt12JmVr4k5YaptI/XtiLJBnmIg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.16.7", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/babel-eslint/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "object.assign": "^4.1.0" + } + }, + "node_modules/babel-plugin-dynamic-import-node/node_modules/define-properties": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/babel-plugin-dynamic-import-node/node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/babel-plugin-dynamic-import-node/node_modules/object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/bail": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz", + "integrity": "sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/body-parser": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", + "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==", + "license": "MIT", + "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.10.3", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "license": "MIT" + }, + "node_modules/body-scroll-lock": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/body-scroll-lock/-/body-scroll-lock-3.1.5.tgz", + "integrity": "sha512-Yi1Xaml0EvNA0OYWxXiYNqY24AfWkbA6w5vxE7GWxtKfzIbZM+Qw+aSmkgsbWzbHiy/RCSkUZBplVxTA+E4jJg==", + "license": "MIT" + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "license": "MIT", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.19.1.tgz", + "integrity": "sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==", + "dev": true, + "license": "MIT", + "dependencies": { + "caniuse-lite": "^1.0.30001286", + "electron-to-chromium": "^1.4.17", + "escalade": "^3.1.1", + "node-releases": "^2.0.1", + "picocolors": "^1.0.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + } + }, + "node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/busboy": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", + "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", + "dependencies": { + "streamsearch": "^1.1.0" + }, + "engines": { + "node": ">=10.16.0" + } + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001301", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001301.tgz", + "integrity": "sha512-csfD/GpHMqgEL3V3uIgosvh+SVIQvCh43SNu9HRbP1lnxkKm1kjDG4f32PP571JplkLjfS+mg2p1gxR7MYrrIA==", + "dev": true, + "license": "CC-BY-4.0", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + } + }, + "node_modules/ccount": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.1.0.tgz", + "integrity": "sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chalk/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chalk/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/chalk/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true, + "license": "MIT" + }, + "node_modules/character-entities": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", + "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-html4": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-1.1.4.tgz", + "integrity": "sha512-HRcDxZuZqMx3/a+qrzxdBKBPUpxWEq9xw2OPZ3a/174ihfrQKVsFhqtthBInFy1zZ9GgZyFXOatNujm8M+El3g==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-legacy": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz", + "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-reference-invalid": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz", + "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/ci-info": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.0.tgz", + "integrity": "sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw==", + "dev": true, + "license": "MIT" + }, + "node_modules/classnames": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.1.tgz", + "integrity": "sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA==", + "license": "MIT" + }, + "node_modules/clean-set": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/clean-set/-/clean-set-1.1.2.tgz", + "integrity": "sha512-cA8uCj0qSoG9e0kevyOWXwPaELRPVg5Pxp6WskLMwerx257Zfnh8Nl0JBH59d7wQzij2CK7qEfJQK3RjuKKIug==", + "license": "MIT" + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-truncate": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-3.1.0.tgz", + "integrity": "sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "slice-ansi": "^5.0.0", + "string-width": "^5.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-truncate/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/cli-truncate/node_modules/ansi-styles": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.1.0.tgz", + "integrity": "sha512-VbqNsoz55SYGczauuup0MFUyXNQviSpFTj1RQtFzmQLk18qbVSpTFFGMT293rmDaQuKCT6InmbuEyUne4mTuxQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/cli-truncate/node_modules/is-fullwidth-code-point": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", + "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-truncate/node_modules/slice-ansi": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", + "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.0.0", + "is-fullwidth-code-point": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/cli-truncate/node_modules/string-width": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.0.tgz", + "integrity": "sha512-7x54QnN21P+XL/v8SuNKvfgsUre6PXpN7mc77N3HlZv+f1SBRGmjxtOud2Z6FZ8DmdkD/IdjCaf9XXbnqmTZGQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-truncate/node_modules/strip-ansi": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", + "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/client-only": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", + "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==", + "license": "MIT" + }, + "node_modules/collapse-white-space": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.6.tgz", + "integrity": "sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "license": "MIT" + }, + "node_modules/colorette": { + "version": "2.0.16", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz", + "integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==", + "dev": true, + "license": "MIT" + }, + "node_modules/comma-separated-tokens": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz", + "integrity": "sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/commander": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", + "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true, + "license": "MIT" + }, + "node_modules/confusing-browser-globals": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", + "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==", + "dev": true, + "license": "MIT" + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "license": "MIT", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", + "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.1.1" + } + }, + "node_modules/convert-source-map/node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true, + "license": "MIT" + }, + "node_modules/cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "license": "MIT" + }, + "node_modules/core-js-pure": { + "version": "3.20.3", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.20.3.tgz", + "integrity": "sha512-Q2H6tQ5MtPtcC7f3HxJ48i4Q7T9ybPKgvWyuH7JXIoNa2pm0KuBnycsET/qw1SLLZYfbsbrZQNMeIOClb+6WIA==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/crelt": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/crelt/-/crelt-1.0.5.tgz", + "integrity": "sha512-+BO9wPPi+DWTDcNYhr/W90myha8ptzftZT+LwcmUbbok0rcP/fequmFYCw8NMoH7pkAZQzU78b3kYrlua5a9eA==", + "license": "MIT" + }, + "node_modules/cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + }, + "engines": { + "node": ">=4.8" + } + }, + "node_modules/cross-spawn/node_modules/path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/css-blank-pseudo": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-0.1.4.tgz", + "integrity": "sha512-LHz35Hr83dnFeipc7oqFDmsjHdljj3TQtxGGiNWSOsTLIAubSm4TEz8qCaKFpk7idaQ1GfWscF4E6mgpBysA1w==", + "dev": true, + "license": "CC0-1.0", + "dependencies": { + "postcss": "^7.0.5" + }, + "bin": { + "css-blank-pseudo": "cli.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/css-blank-pseudo/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true, + "license": "ISC" + }, + "node_modules/css-blank-pseudo/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/css-has-pseudo": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-0.10.0.tgz", + "integrity": "sha512-Z8hnfsZu4o/kt+AuFzeGpLVhFOGO9mluyHBaA2bA8aCGTwah5sT3WV/fTHH8UNZUytOIImuGPrl/prlb4oX4qQ==", + "dev": true, + "license": "CC0-1.0", + "dependencies": { + "postcss": "^7.0.6", + "postcss-selector-parser": "^5.0.0-rc.4" + }, + "bin": { + "css-has-pseudo": "cli.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/css-has-pseudo/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true, + "license": "ISC" + }, + "node_modules/css-has-pseudo/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/css-prefers-color-scheme": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-3.1.1.tgz", + "integrity": "sha512-MTu6+tMs9S3EUqzmqLXEcgNRbNkkD/TGFvowpeoWJn5Vfq7FMgsmRQs9X5NXAURiOBmOxm/lLjsDNXDE6k9bhg==", + "dev": true, + "license": "CC0-1.0", + "dependencies": { + "postcss": "^7.0.5" + }, + "bin": { + "css-prefers-color-scheme": "cli.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/css-prefers-color-scheme/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true, + "license": "ISC" + }, + "node_modules/css-prefers-color-scheme/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/cssdb": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-4.4.0.tgz", + "integrity": "sha512-LsTAR1JPEM9TpGhl/0p3nQecC2LJ0kD8X5YARu1hk/9I1gril5vDtMZyNxcEpxxDj34YNck/ucjuoUd66K03oQ==", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/csstype": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.10.tgz", + "integrity": "sha512-2u44ZG2OcNUO9HDp/Jl8C07x6pU/eTR3ncV91SiK3dhG9TWvRVsCoJw14Ckx5DgWkzGA3waZWO3d7pgqpUI/XA==", + "dev": true, + "license": "MIT" + }, + "node_modules/d": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", + "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", + "license": "ISC", + "dependencies": { + "es5-ext": "^0.10.50", + "type": "^1.0.1" + } + }, + "node_modules/damerau-levenshtein": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", + "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/date-fns": { + "version": "2.28.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.28.0.tgz", + "integrity": "sha512-8d35hViGYx/QH0icHYCeLmsLmMUheMmTyV9Fcm6gvNwdw31yXXH+O85sOBJ+OLnLQMKZowvpKb6FgMIQjcpvQw==", + "license": "MIT", + "engines": { + "node": ">=0.11" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/date-fns" + } + }, + "node_modules/debounce": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz", + "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==", + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.3.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", + "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decode-named-character-reference": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", + "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==", + "license": "MIT", + "dependencies": { + "character-entities": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "object-keys": "^1.0.12" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "license": "MIT", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-node-es": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz", + "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==", + "license": "MIT" + }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/diff": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", + "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dir-glob/node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true, + "license": "MIT" + }, + "node_modules/doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/dotenv": { + "version": "16.0.3", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz", + "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=12" + } + }, + "node_modules/duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "dev": true, + "license": "MIT" + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true, + "license": "MIT" + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "license": "MIT" + }, + "node_modules/electron-to-chromium": { + "version": "1.4.51", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.51.tgz", + "integrity": "sha512-JNEmcYl3mk1tGQmy0EvL5eik/CKSBuzAyGP0QFdG6LIgxQe3II0BL1m2zKc2MZMf3uGqHWE1TFddJML0RpjSHQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true, + "license": "MIT" + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-colors": "^4.1.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-abstract": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.1.tgz", + "integrity": "sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.1.1", + "get-symbol-description": "^1.0.0", + "has": "^1.0.3", + "has-symbols": "^1.0.2", + "internal-slot": "^1.0.3", + "is-callable": "^1.2.4", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.1", + "is-string": "^1.0.7", + "is-weakref": "^1.0.1", + "object-inspect": "^1.11.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.4", + "string.prototype.trimstart": "^1.0.4", + "unbox-primitive": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es5-ext": { + "version": "0.10.62", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.62.tgz", + "integrity": "sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==", + "hasInstallScript": true, + "license": "ISC", + "dependencies": { + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.3", + "next-tick": "^1.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", + "license": "MIT", + "dependencies": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "node_modules/es6-symbol": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", + "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", + "license": "ISC", + "dependencies": { + "d": "^1.0.1", + "ext": "^1.1.2" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-carriage": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/escape-carriage/-/escape-carriage-1.3.1.tgz", + "integrity": "sha512-GwBr6yViW3ttx1kb7/Oh+gKQ1/TrhYwxKqVmg5gS+BK+Qe2KrOa/Vh7w3HPBvgGf0LfcDGoY9I6NHKoA5Hozhw==", + "license": "MIT" + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "license": "MIT" + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eslint": { + "version": "7.32.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", + "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "7.12.11", + "@eslint/eslintrc": "^0.4.3", + "@humanwhocodes/config-array": "^0.5.0", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "enquirer": "^2.3.5", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^5.1.1", + "eslint-utils": "^2.1.0", + "eslint-visitor-keys": "^2.0.0", + "espree": "^7.3.1", + "esquery": "^1.4.0", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "functional-red-black-tree": "^1.0.1", + "glob-parent": "^5.1.2", + "globals": "^13.6.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "js-yaml": "^3.13.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.0.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "progress": "^2.0.0", + "regexpp": "^3.1.0", + "semver": "^7.2.1", + "strip-ansi": "^6.0.0", + "strip-json-comments": "^3.1.0", + "table": "^6.0.9", + "text-table": "^0.2.0", + "v8-compile-cache": "^2.0.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-next": { + "version": "12.0.3", + "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-12.0.3.tgz", + "integrity": "sha512-q+mX6jhk3HrCo39G18MLhiC6f8zJnTA00f30RSuVUWsv45SQUm6r62oXVqrbAgMEybe0yx/GDRvfA6LvSolw6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@next/eslint-plugin-next": "12.0.3", + "@rushstack/eslint-patch": "^1.0.6", + "@typescript-eslint/parser": "^4.20.0", + "eslint-import-resolver-node": "^0.3.4", + "eslint-import-resolver-typescript": "^2.4.0", + "eslint-plugin-import": "^2.22.1", + "eslint-plugin-jsx-a11y": "^6.4.1", + "eslint-plugin-react": "^7.23.1", + "eslint-plugin-react-hooks": "^4.2.0" + }, + "peerDependencies": { + "eslint": "^7.23.0", + "next": ">=10.2.0", + "typescript": ">=3.3.1" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/eslint-config-next/node_modules/@typescript-eslint/parser": { + "version": "4.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.33.0.tgz", + "integrity": "sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/scope-manager": "4.33.0", + "@typescript-eslint/types": "4.33.0", + "@typescript-eslint/typescript-estree": "4.33.0", + "debug": "^4.3.1" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/eslint-config-next/node_modules/@typescript-eslint/scope-manager": { + "version": "4.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz", + "integrity": "sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "4.33.0", + "@typescript-eslint/visitor-keys": "4.33.0" + }, + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/eslint-config-next/node_modules/@typescript-eslint/types": { + "version": "4.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.33.0.tgz", + "integrity": "sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^8.10.0 || ^10.13.0 || >=11.10.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/eslint-config-next/node_modules/@typescript-eslint/typescript-estree": { + "version": "4.33.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz", + "integrity": "sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/types": "4.33.0", + "@typescript-eslint/visitor-keys": "4.33.0", + "debug": "^4.3.1", + "globby": "^11.0.3", + "is-glob": "^4.0.1", + "semver": "^7.3.5", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/eslint-config-next/node_modules/eslint-plugin-react-hooks": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.3.0.tgz", + "integrity": "sha512-XslZy0LnMn+84NEG9jSGR6eGqaZB3133L8xewQo3fQagbQuGt7a63gf+P1NGKZavEYEC3UXaWEAA/AqDkuN6xA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + } + }, + "node_modules/eslint-config-next/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint-config-react-app": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-5.2.1.tgz", + "integrity": "sha512-pGIZ8t0mFLcV+6ZirRgYK6RVqUIKRIi9MmgzUEmrIknsn3AdO0I32asO86dJgloHq+9ZPl8UIg8mYrvgP5u2wQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "confusing-browser-globals": "^1.0.9" + }, + "peerDependencies": { + "@typescript-eslint/eslint-plugin": "2.x", + "@typescript-eslint/parser": "2.x", + "babel-eslint": "10.x", + "eslint": "6.x", + "eslint-plugin-flowtype": "3.x || 4.x", + "eslint-plugin-import": "2.x", + "eslint-plugin-jsx-a11y": "6.x", + "eslint-plugin-react": "7.x", + "eslint-plugin-react-hooks": "1.x || 2.x" + } + }, + "node_modules/eslint-import-resolver-node": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz", + "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^3.2.7", + "resolve": "^1.20.0" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-import-resolver-node/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/eslint-import-resolver-typescript": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-2.5.0.tgz", + "integrity": "sha512-qZ6e5CFr+I7K4VVhQu3M/9xGv9/YmwsEXrsm3nimw8vWaVHRDrQRp26BgCypTxBp3vUp4o5aVEJRiy0F2DFddQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "debug": "^4.3.1", + "glob": "^7.1.7", + "is-glob": "^4.0.1", + "resolve": "^1.20.0", + "tsconfig-paths": "^3.9.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "*", + "eslint-plugin-import": "*" + } + }, + "node_modules/eslint-module-utils": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.2.tgz", + "integrity": "sha512-zquepFnWCY2ISMFwD/DqzaM++H+7PDzOpUvotJWm/y1BAFt5R4oeULgdrTejKqLkz7MA/tgstsUMNYc7wNdTrg==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^3.2.7", + "find-up": "^2.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint-module-utils/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/eslint-module-utils/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/eslint-plugin-flowtype": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-4.7.0.tgz", + "integrity": "sha512-M+hxhSCk5QBEValO5/UqrS4UunT+MgplIJK5wA1sCtXjzBcZkpTGRwxmLHhGpbHcrmQecgt6ZL/KDdXWqGB7VA==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "lodash": "^4.17.15" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": ">=6.1.0" + } + }, + "node_modules/eslint-plugin-import": { + "version": "2.25.4", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.25.4.tgz", + "integrity": "sha512-/KJBASVFxpu0xg1kIBn9AUa8hQVnszpwgE7Ld0lKAlx7Ie87yzEzCgSkekt+le/YVhiaosO4Y14GDAOc41nfxA==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.4", + "array.prototype.flat": "^1.2.5", + "debug": "^2.6.9", + "doctrine": "^2.1.0", + "eslint-import-resolver-node": "^0.3.6", + "eslint-module-utils": "^2.7.2", + "has": "^1.0.3", + "is-core-module": "^2.8.0", + "is-glob": "^4.0.3", + "minimatch": "^3.0.4", + "object.values": "^1.1.5", + "resolve": "^1.20.0", + "tsconfig-paths": "^3.12.0" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" + } + }, + "node_modules/eslint-plugin-import/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/eslint-plugin-import/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true, + "license": "MIT" + }, + "node_modules/eslint-plugin-jsx-a11y": { + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.5.1.tgz", + "integrity": "sha512-sVCFKX9fllURnXT2JwLN5Qgo24Ug5NF6dxhkmxsMEUZhXRcGg+X3e1JbJ84YePQKBl5E0ZjAH5Q4rkdcGY99+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.16.3", + "aria-query": "^4.2.2", + "array-includes": "^3.1.4", + "ast-types-flow": "^0.0.7", + "axe-core": "^4.3.5", + "axobject-query": "^2.2.0", + "damerau-levenshtein": "^1.0.7", + "emoji-regex": "^9.2.2", + "has": "^1.0.3", + "jsx-ast-utils": "^3.2.1", + "language-tags": "^1.0.5", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=4.0" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + } + }, + "node_modules/eslint-plugin-jsx-a11y/node_modules/@babel/runtime": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.7.tgz", + "integrity": "sha512-9E9FJowqAsytyOY6LG+1KuueckRL+aQW+mKvXRXnuFGyRAyepJPmEo9vgMfXUA6O9u3IeEdv9MAkppFcaQwogQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "regenerator-runtime": "^0.13.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/eslint-plugin-react": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.28.0.tgz", + "integrity": "sha512-IOlFIRHzWfEQQKcAD4iyYDndHwTQiCMcJVJjxempf203jnNLUnW34AXLrV33+nEXoifJE2ZEGmcjKPL8957eSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.4", + "array.prototype.flatmap": "^1.2.5", + "doctrine": "^2.1.0", + "estraverse": "^5.3.0", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.0.4", + "object.entries": "^1.1.5", + "object.fromentries": "^2.0.5", + "object.hasown": "^1.1.0", + "object.values": "^1.1.5", + "prop-types": "^15.7.2", + "resolve": "^2.0.0-next.3", + "semver": "^6.3.0", + "string.prototype.matchall": "^4.0.6" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + } + }, + "node_modules/eslint-plugin-react-hooks": { + "version": "0.0.0-experimental-fabef7a6b-20221215", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-0.0.0-experimental-fabef7a6b-20221215.tgz", + "integrity": "sha512-y1lJAS4gWXyP6kXl2jA9ZJdFFfcMwNjMEZEEXn9LHOWEhnAgKgcqZ/NhNWAphiJLYOZ33kne1hbhDlGCcrdx5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" + } + }, + "node_modules/eslint-plugin-react/node_modules/resolve": { + "version": "2.0.0-next.3", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.3.tgz", + "integrity": "sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.2.0", + "path-parse": "^1.0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/eslint-plugin-react/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/eslint-scope/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/eslint-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", + "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", + "dev": true, + "license": "MIT", + "dependencies": { + "eslint-visitor-keys": "^1.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=4" + } + }, + "node_modules/eslint/node_modules/@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/highlight": "^7.10.4" + } + }, + "node_modules/eslint/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/eslint/node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/eslint/node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/eslint/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/eslint-visitor-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", + "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint/node_modules/globals": { + "version": "13.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.12.0.tgz", + "integrity": "sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/semver": { + "version": "7.3.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", + "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/eslint/node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/eslint/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/espree": { + "version": "7.3.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", + "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^7.4.0", + "acorn-jsx": "^5.3.1", + "eslint-visitor-keys": "^1.3.0" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "license": "BSD-2-Clause", + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/esquery": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-util-attach-comments": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/estree-util-attach-comments/-/estree-util-attach-comments-2.1.0.tgz", + "integrity": "sha512-rJz6I4L0GaXYtHpoMScgDIwM0/Vwbu5shbMeER596rB2D1EWF6+Gj0e0UKzJPZrpoOc87+Q2kgVFHfjAymIqmw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-build-jsx": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/estree-util-build-jsx/-/estree-util-build-jsx-2.2.0.tgz", + "integrity": "sha512-apsfRxF9uLrqosApvHVtYZjISPvTJ+lBiIydpC+9wE6cF6ssbhnjyQLqaIjgzGxvC2Hbmec1M7g91PoBayYoQQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "estree-util-is-identifier-name": "^2.0.0", + "estree-walker": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-is-identifier-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-2.0.1.tgz", + "integrity": "sha512-rxZj1GkQhY4x1j/CSnybK9cGuMFQYFPLq0iNyopqf14aOVLFtMv7Esika+ObJWPWiOHuMOAHz3YkWoLYYRnzWQ==", + "dev": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-to-js": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/estree-util-to-js/-/estree-util-to-js-1.1.0.tgz", + "integrity": "sha512-490lbfCcpLk+ofK6HCgqDfYs4KAfq6QVvDw3+Bm1YoKRgiOjKiKYGAVQE1uwh7zVxBgWhqp4FDtp5SqunpUk1A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "astring": "^1.8.0", + "source-map": "^0.7.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-to-js/node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">= 8" + } + }, + "node_modules/estree-util-visit": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/estree-util-visit/-/estree-util-visit-1.2.0.tgz", + "integrity": "sha512-wdsoqhWueuJKsh5hqLw3j8lwFqNStm92VcwtAOAny8g/KS/l5Y8RISjR4k5W6skCj3Nirag/WUCMS0Nfy3sgsg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-walker": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.1.tgz", + "integrity": "sha512-woY0RUD87WzMBUiZLx8NsYr23N5BKsOMZHhu2hoNRVh6NXGfoiT1KOL8G3UHlJAnEDGmfa5ubNA/AacfG+Kb0g==", + "dev": true, + "license": "MIT" + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/execa/node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/execa/node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/execa/node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/execa/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/express": { + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz", + "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==", + "license": "MIT", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.0", + "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.10.3", + "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" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "license": "MIT" + }, + "node_modules/ext": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz", + "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==", + "license": "ISC", + "dependencies": { + "type": "^2.7.2" + } + }, + "node_modules/ext/node_modules/type": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz", + "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==", + "license": "ISC" + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "license": "MIT" + }, + "node_modules/extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extendable": "^0.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-glob": { + "version": "3.2.11", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", + "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true, + "license": "MIT" + }, + "node_modules/fastq": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", + "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "dev": true, + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/fault": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/fault/-/fault-2.0.1.tgz", + "integrity": "sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==", + "license": "MIT", + "dependencies": { + "format": "^0.2.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "license": "MIT", + "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" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "license": "MIT" + }, + "node_modules/find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/find-yarn-workspace-root": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz", + "integrity": "sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "micromatch": "^4.0.2" + } + }, + "node_modules/flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flat-cache/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/flatted": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.4.tgz", + "integrity": "sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw==", + "dev": true, + "license": "ISC" + }, + "node_modules/flatten": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.3.tgz", + "integrity": "sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg==", + "dev": true, + "license": "MIT" + }, + "node_modules/format": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/format/-/format-0.2.2.tgz", + "integrity": "sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==", + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fraction.js": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.1.2.tgz", + "integrity": "sha512-o2RiJQ6DZaR/5+Si0qJUIy637QMRudSi9kU/FFzx9EZazrIdnBgpU+3sEWCxAVhH2RtxW2Oz+T4p2o8uOPVcgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://www.patreon.com/infusion" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true, + "license": "ISC" + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "license": "MIT" + }, + "node_modules/functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true, + "license": "MIT" + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-nonce": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz", + "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/github-slugger": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.4.0.tgz", + "integrity": "sha512-w0dzqw/nt51xMVmlaV1+JRzN+oCa1KfcgGEWhxUG16wbdA+Xnt/yoFO8Z8x/V82ZcZ0wy6ln9QDup5avbhiDhQ==", + "license": "ISC" + }, + "node_modules/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globby/node_modules/ignore": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/globby/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.9", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", + "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/gray-matter": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", + "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "js-yaml": "^3.13.1", + "kind-of": "^6.0.2", + "section-matter": "^1.0.0", + "strip-bom-string": "^1.0.0" + }, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/gzip-size": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", + "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "duplexer": "^0.1.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-bigints": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", + "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", + "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hast-util-is-element": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-1.1.0.tgz", + "integrity": "sha512-oUmNua0bFbdrD/ELDSSEadRVtWZOf3iF6Lbv81naqsIV99RnSCieTbWuWCY8BAeEfKJTKl0gRdokv+dELutHGQ==", + "dev": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-sanitize": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/hast-util-sanitize/-/hast-util-sanitize-3.0.2.tgz", + "integrity": "sha512-+2I0x2ZCAyiZOO/sb4yNLFmdwPBnyJ4PBkVTUMKMqBwYNA+lXSgOmoRXlJFazoyid9QPogRRKgKhVEodv181sA==", + "dev": true, + "license": "MIT", + "dependencies": { + "xtend": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-estree": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/hast-util-to-estree/-/hast-util-to-estree-2.1.0.tgz", + "integrity": "sha512-Vwch1etMRmm89xGgz+voWXvVHba2iiMdGMKmaMfYt35rbVtFDq8JNwwAIvi8zHMkO6Gvqo9oTMwJTmzVRfXh4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^2.0.0", + "@types/unist": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "estree-util-attach-comments": "^2.0.0", + "estree-util-is-identifier-name": "^2.0.0", + "hast-util-whitespace": "^2.0.0", + "mdast-util-mdx-expression": "^1.0.0", + "mdast-util-mdxjs-esm": "^1.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-object": "^0.3.0", + "unist-util-position": "^4.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-estree/node_modules/comma-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.2.tgz", + "integrity": "sha512-G5yTt3KQN4Yn7Yk4ed73hlZ1evrFKXeUW3086p3PRFNp7m2vIjI6Pg+Kgb+oyzhd9F2qdcoj67+y3SdxL5XWsg==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/hast-util-to-estree/node_modules/hast-util-whitespace": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-2.0.0.tgz", + "integrity": "sha512-Pkw+xBHuV6xFeJprJe2BBEoDV+AvQySaz3pPDRUs5PNZEMQjpXJJueqrpcHIXxnWTcAGi/UOCgVShlkY6kLoqg==", + "dev": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-estree/node_modules/property-information": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.1.1.tgz", + "integrity": "sha512-hrzC564QIl0r0vy4l6MvRLhafmUowhO/O3KgVSoXIbbA2Sz4j8HGpJc6T2cubRVwMwpdiG/vKGfhT4IixmKN9w==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/hast-util-to-estree/node_modules/space-separated-tokens": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.1.tgz", + "integrity": "sha512-ekwEbFp5aqSPKaqeY1PGrlGQxPNaq+Cnx4+bE2D8sciBQrHpbwoBbawqTN2+6jPs9IdWxxiUcN0K2pkczD3zmw==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/hast-util-to-html": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-7.1.3.tgz", + "integrity": "sha512-yk2+1p3EJTEE9ZEUkgHsUSVhIpCsL/bvT8E5GzmWc+N1Po5gBw+0F8bo7dpxXR0nu0bQVxVZGX2lBGF21CmeDw==", + "dev": true, + "license": "MIT", + "dependencies": { + "ccount": "^1.0.0", + "comma-separated-tokens": "^1.0.0", + "hast-util-is-element": "^1.0.0", + "hast-util-whitespace": "^1.0.0", + "html-void-elements": "^1.0.0", + "property-information": "^5.0.0", + "space-separated-tokens": "^1.0.0", + "stringify-entities": "^3.0.1", + "unist-util-is": "^4.0.0", + "xtend": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-whitespace": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-1.0.4.tgz", + "integrity": "sha512-I5GTdSfhYfAPNztx2xJRQpG8cuDSNt599/7YUn7Gx/WxNMsG+a835k97TDkFgk123cwjfwINaZknkKkphx/f2A==", + "dev": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true, + "license": "ISC" + }, + "node_modules/html-void-elements": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-1.0.5.tgz", + "integrity": "sha512-uE/TxKuyNIcx44cIWnjr/rfIATDH7ZaOMmstu0CwhFG1Dunhlp4OC6/NMbhiwoq5BpW0ubi303qnEk/PZj614w==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "license": "MIT", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/husky": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/husky/-/husky-7.0.4.tgz", + "integrity": "sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ==", + "dev": true, + "license": "MIT", + "bin": { + "husky": "lib/bin.js" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/typicode" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/indexes-of": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", + "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", + "dev": true, + "license": "MIT" + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "license": "ISC" + }, + "node_modules/inline-style-parser": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", + "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/internal-slot": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", + "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-intrinsic": "^1.1.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/intersection-observer": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/intersection-observer/-/intersection-observer-0.10.0.tgz", + "integrity": "sha512-fn4bQ0Xq8FTej09YC/jqKZwtijpvARlRp6wxL5WTA6yPe2YWSJ5RJh7Nm79rK2qB0wr6iDQzH60XGq5V/7u8YQ==", + "license": "W3C-20150513" + }, + "node_modules/invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.0.0" + } + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-absolute-url": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", + "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-alphabetical": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz", + "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-alphanumeric": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-alphanumeric/-/is-alphanumeric-1.0.0.tgz", + "integrity": "sha1-Spzvcdr0wAHB2B1j0UDPU/1oifQ=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-alphanumerical": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz", + "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-alphabetical": "^1.0.0", + "is-decimal": "^1.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true, + "license": "MIT" + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-buffer": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", + "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/is-callable": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", + "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-ci": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", + "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ci-info": "^3.2.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/is-core-module": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", + "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", + "dev": true, + "license": "MIT", + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-decimal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz", + "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true, + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-hexadecimal": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz", + "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.6.tgz", + "integrity": "sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-plain-obj": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", + "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-reference": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.0.tgz", + "integrity": "sha512-Eo1W3wUoHWoCoVM4GVl/a+K0IgiqE5aIo4kJABFyMum1ZORlPkC+UC357sSQUL5w5QCE5kCC9upl75b7+7CY/Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz", + "integrity": "sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-url": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", + "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-whitespace-character": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz", + "integrity": "sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-word-character": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.4.tgz", + "integrity": "sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true, + "license": "ISC" + }, + "node_modules/jiti": { + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", + "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==", + "dev": true, + "license": "MIT", + "bin": { + "jiti": "bin/jiti.js" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true, + "license": "MIT" + }, + "node_modules/json5": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", + "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsx-ast-utils": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.2.1.tgz", + "integrity": "sha512-uP5vu8xfy2F9A6LGC22KO7e2/vGTS1MhP+18f++ZNlf0Ohaxbc9nIEwHAsejlJKyzfZzU5UIhe5ItYkitcZnZA==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-includes": "^3.1.3", + "object.assign": "^4.1.2" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/klaw-sync": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/klaw-sync/-/klaw-sync-6.0.0.tgz", + "integrity": "sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.1.11" + } + }, + "node_modules/kleur": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", + "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/language-subtag-registry": { + "version": "0.3.21", + "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.21.tgz", + "integrity": "sha512-L0IqwlIXjilBVVYKFT37X9Ih11Um5NEl9cbJIuU/SwP/zEEAbBPOnEeeuxVMf45ydWQRDQN3Nqc96OgbH1K+Pg==", + "dev": true, + "license": "ODC-By-1.0" + }, + "node_modules/language-tags": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", + "integrity": "sha1-0yHbxNowuovzAk4ED6XBRmH5GTo=", + "dev": true, + "license": "MIT", + "dependencies": { + "language-subtag-registry": "~0.3.2" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true, + "license": "MIT" + }, + "node_modules/lint-staged": { + "version": "12.3.1", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-12.3.1.tgz", + "integrity": "sha512-Ocht/eT+4/siWOZDJpNUKcKX2UeWW/pDbohJ4gRsrafAjBi79JK8kiNVk2ciIVNKdw0Q4ABptl2nr6uQAlRImw==", + "dev": true, + "license": "MIT", + "dependencies": { + "cli-truncate": "^3.1.0", + "colorette": "^2.0.16", + "commander": "^8.3.0", + "debug": "^4.3.3", + "execa": "^5.1.1", + "lilconfig": "2.0.4", + "listr2": "^4.0.1", + "micromatch": "^4.0.4", + "normalize-path": "^3.0.0", + "object-inspect": "^1.12.0", + "string-argv": "^0.3.1", + "supports-color": "^9.2.1", + "yaml": "^1.10.2" + }, + "bin": { + "lint-staged": "bin/lint-staged.js" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/lint-staged" + } + }, + "node_modules/lint-staged/node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, + "node_modules/lint-staged/node_modules/lilconfig": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.4.tgz", + "integrity": "sha512-bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/lint-staged/node_modules/supports-color": { + "version": "9.2.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-9.2.1.tgz", + "integrity": "sha512-Obv7ycoCTG51N7y175StI9BlAXrmgZrFhZOb0/PyjHBher/NmsdBgbbQ1Inhq+gIhz6+7Gb+jWF2Vqi7Mf1xnQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/listr2": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-4.0.1.tgz", + "integrity": "sha512-D65Nl+zyYHL2jQBGmxtH/pU8koPZo5C8iCNE8EoB04RwPgQG1wuaKwVbeZv9LJpiH4Nxs0FCp+nNcG8OqpniiA==", + "dev": true, + "license": "MIT", + "dependencies": { + "cli-truncate": "^2.1.0", + "colorette": "^2.0.16", + "log-update": "^4.0.0", + "p-map": "^4.0.0", + "rfdc": "^1.3.0", + "rxjs": "^7.5.2", + "through": "^2.3.8", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "enquirer": ">= 2.3.0 < 3" + }, + "peerDependenciesMeta": { + "enquirer": { + "optional": true + } + } + }, + "node_modules/listr2/node_modules/cli-truncate": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", + "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", + "dev": true, + "license": "MIT", + "dependencies": { + "slice-ansi": "^3.0.0", + "string-width": "^4.2.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/listr2/node_modules/slice-ansi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", + "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.throttle": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", + "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.truncate": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", + "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", + "dev": true, + "license": "MIT" + }, + "node_modules/log-update": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", + "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-escapes": "^4.3.0", + "cli-cursor": "^3.1.0", + "slice-ansi": "^4.0.0", + "wrap-ansi": "^6.2.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/longest-streak": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-2.0.4.tgz", + "integrity": "sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "license": "MIT", + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/lz-string": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.4.4.tgz", + "integrity": "sha1-wNjq82BZ9wV5bh40SBHPTEmNOiY=", + "license": "WTFPL", + "bin": { + "lz-string": "bin/bin.js" + } + }, + "node_modules/markdown-escapes": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.4.tgz", + "integrity": "sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/markdown-extensions": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/markdown-extensions/-/markdown-extensions-1.1.1.tgz", + "integrity": "sha512-WWC0ZuMzCyDHYCasEGs4IPvLyTGftYwh6wIEOULOF0HXcqZlhwRzrK0w2VUlxWA98xnvb/jszw4ZSkJ6ADpM6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/markdown-table": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-2.0.0.tgz", + "integrity": "sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==", + "dev": true, + "license": "MIT", + "dependencies": { + "repeat-string": "^1.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-util-compact": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-compact/-/mdast-util-compact-2.0.1.tgz", + "integrity": "sha512-7GlnT24gEwDrdAwEHrU4Vv5lLWrEer4KOkAiKT9nYstsTad7Oc1TwqT2zIMKRdZF7cTuaf+GA1E4Kv7jJh8mPA==", + "dev": true, + "license": "MIT", + "dependencies": { + "unist-util-visit": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-definitions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-3.0.1.tgz", + "integrity": "sha512-BAv2iUm/e6IK/b2/t+Fx69EL/AGcq/IG2S+HxHjDJGfLJtd6i9SZUS76aC9cig+IEucsqxKTR0ot3m933R3iuA==", + "dev": true, + "license": "MIT", + "dependencies": { + "unist-util-visit": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-find-and-replace": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-2.2.1.tgz", + "integrity": "sha512-SobxkQXFAdd4b5WmEakmkVoh18icjQRxGy5OWTCzgsLRm1Fu/KCtwD1HIQSsmq5ZRjVH0Ehwg6/Fn3xIUk+nKw==", + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^5.0.0", + "unist-util-is": "^5.0.0", + "unist-util-visit-parents": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-find-and-replace/node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mdast-util-find-and-replace/node_modules/unist-util-is": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.1.1.tgz", + "integrity": "sha512-F5CZ68eYzuSvJjGhCLPL3cYx45IxkqXSetCcRgUXtbcm50X2L9oOWQlfUfDdAf+6Pd27YDblBfdtmsThXmwpbQ==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-find-and-replace/node_modules/unist-util-visit-parents": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.0.tgz", + "integrity": "sha512-y+QVLcY5eR/YVpqDsLf/xh9R3Q2Y4HxkZTp7ViLDU6WtJCEcPmRzW1gpdWDCDIqIlhuPDXOgttqPlykrHYDekg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-from-markdown": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.2.0.tgz", + "integrity": "sha512-iZJyyvKD1+K7QX1b5jXdE7Sc5dtoTry1vzV28UZZe8Z1xVnB/czKntJ7ZAkG0tANqRnBF6p3p7GpU1y19DTf2Q==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^3.0.0", + "@types/unist": "^2.0.0", + "decode-named-character-reference": "^1.0.0", + "mdast-util-to-string": "^3.1.0", + "micromark": "^3.0.0", + "micromark-util-decode-numeric-character-reference": "^1.0.0", + "micromark-util-decode-string": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "unist-util-stringify-position": "^3.0.0", + "uvu": "^0.5.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-from-markdown/node_modules/mdast-util-to-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.1.0.tgz", + "integrity": "sha512-n4Vypz/DZgwo0iMHLQL49dJzlp7YtAJP+N07MZHpjPf/5XJuHUWstviF4Mn2jEiR/GNmtnRRqnwsXExk3igfFA==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-frontmatter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-frontmatter/-/mdast-util-frontmatter-1.0.0.tgz", + "integrity": "sha512-7itKvp0arEVNpCktOET/eLFAYaZ+0cNjVtFtIPxgQ5tV+3i+D4SDDTjTzPWl44LT59PC+xdx+glNTawBdF98Mw==", + "license": "MIT", + "dependencies": { + "micromark-extension-frontmatter": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-2.0.1.tgz", + "integrity": "sha512-42yHBbfWIFisaAfV1eixlabbsa6q7vHeSPY+cg+BBjX51M8xhgMacqH9g6TftB/9+YkcI0ooV4ncfrJslzm/RQ==", + "license": "MIT", + "dependencies": { + "mdast-util-from-markdown": "^1.0.0", + "mdast-util-gfm-autolink-literal": "^1.0.0", + "mdast-util-gfm-footnote": "^1.0.0", + "mdast-util-gfm-strikethrough": "^1.0.0", + "mdast-util-gfm-table": "^1.0.0", + "mdast-util-gfm-task-list-item": "^1.0.0", + "mdast-util-to-markdown": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-autolink-literal": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-1.0.2.tgz", + "integrity": "sha512-FzopkOd4xTTBeGXhXSBU0OCDDh5lUj2rd+HQqG92Ld+jL4lpUfgX2AT2OHAVP9aEeDKp7G92fuooSZcYJA3cRg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^3.0.0", + "ccount": "^2.0.0", + "mdast-util-find-and-replace": "^2.0.0", + "micromark-util-character": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-autolink-literal/node_modules/ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-util-gfm-footnote": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-1.0.1.tgz", + "integrity": "sha512-p+PrYlkw9DeCRkTVw1duWqPRHX6Ywh2BNKJQcZbCwAuP/59B0Lk9kakuAd7KbQprVO4GzdW8eS5++A9PUSqIyw==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^3.0.0", + "mdast-util-to-markdown": "^1.3.0", + "micromark-util-normalize-identifier": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-strikethrough": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-1.0.1.tgz", + "integrity": "sha512-zKJbEPe+JP6EUv0mZ0tQUyLQOC+FADt0bARldONot/nefuISkaZFlmVK4tU6JgfyZGrky02m/I6PmehgAgZgqg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^3.0.0", + "mdast-util-to-markdown": "^1.3.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-table": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-1.0.6.tgz", + "integrity": "sha512-uHR+fqFq3IvB3Rd4+kzXW8dmpxUhvgCQZep6KdjsLK4O6meK5dYZEayLtIxNus1XO3gfjfcIFe8a7L0HZRGgag==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^3.0.0", + "markdown-table": "^3.0.0", + "mdast-util-from-markdown": "^1.0.0", + "mdast-util-to-markdown": "^1.3.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-table/node_modules/markdown-table": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.2.tgz", + "integrity": "sha512-y8j3a5/DkJCmS5x4dMCQL+OR0+2EAq3DOtio1COSHsmW2BGXnNCK3v12hJt1LrUz5iZH5g0LmuYOjDdI+czghA==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-util-gfm-task-list-item": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-1.0.1.tgz", + "integrity": "sha512-KZ4KLmPdABXOsfnM6JHUIjxEvcx2ulk656Z/4Balw071/5qgnhz+H1uGtf2zIGnrnvDC8xR4Fj9uKbjAFGNIeA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^3.0.0", + "mdast-util-to-markdown": "^1.3.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-2.0.0.tgz", + "integrity": "sha512-M09lW0CcBT1VrJUaF/PYxemxxHa7SLDHdSn94Q9FhxjCQfuW7nMAWKWimTmA3OyDMSTH981NN1csW1X+HPSluw==", + "dev": true, + "license": "MIT", + "dependencies": { + "mdast-util-mdx-expression": "^1.0.0", + "mdast-util-mdx-jsx": "^2.0.0", + "mdast-util-mdxjs-esm": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-expression": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-1.3.0.tgz", + "integrity": "sha512-9kTO13HaL/ChfzVCIEfDRdp1m5hsvsm6+R8yr67mH+KS2ikzZ0ISGLPTbTswOFpLLlgVHO9id3cul4ajutCvCA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^2.0.0", + "@types/mdast": "^3.0.0", + "mdast-util-from-markdown": "^1.0.0", + "mdast-util-to-markdown": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-jsx": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-2.1.0.tgz", + "integrity": "sha512-KzgzfWMhdteDkrY4mQtyvTU5bc/W4ppxhe9SzelO6QUUiwLAM+Et2Dnjjprik74a336kHdo0zKm7Tp+n6FFeRg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^2.0.0", + "@types/mdast": "^3.0.0", + "ccount": "^2.0.0", + "mdast-util-to-markdown": "^1.3.0", + "parse-entities": "^4.0.0", + "stringify-entities": "^4.0.0", + "unist-util-remove-position": "^4.0.0", + "unist-util-stringify-position": "^3.0.0", + "vfile-message": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-jsx/node_modules/ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-util-mdx-jsx/node_modules/character-entities-html4": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", + "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-util-mdx-jsx/node_modules/character-entities-legacy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-util-mdx-jsx/node_modules/character-reference-invalid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", + "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-util-mdx-jsx/node_modules/is-alphabetical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", + "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-util-mdx-jsx/node_modules/is-alphanumerical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", + "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-alphabetical": "^2.0.0", + "is-decimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-util-mdx-jsx/node_modules/is-decimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", + "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-util-mdx-jsx/node_modules/is-hexadecimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", + "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-util-mdx-jsx/node_modules/parse-entities": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.0.tgz", + "integrity": "sha512-5nk9Fn03x3rEhGaX1FU6IDwG/k+GxLXlFAkgrbM1asuAFl3BhdQWvASaIsmwWypRNcZKHPYnIuOSfIWEyEQnPQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "character-entities": "^2.0.0", + "character-entities-legacy": "^3.0.0", + "character-reference-invalid": "^2.0.0", + "decode-named-character-reference": "^1.0.0", + "is-alphanumerical": "^2.0.0", + "is-decimal": "^2.0.0", + "is-hexadecimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-util-mdx-jsx/node_modules/stringify-entities": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.3.tgz", + "integrity": "sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "character-entities-html4": "^2.0.0", + "character-entities-legacy": "^3.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-util-mdx-jsx/node_modules/unist-util-is": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.1.1.tgz", + "integrity": "sha512-F5CZ68eYzuSvJjGhCLPL3cYx45IxkqXSetCcRgUXtbcm50X2L9oOWQlfUfDdAf+6Pd27YDblBfdtmsThXmwpbQ==", + "dev": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-jsx/node_modules/unist-util-remove-position": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-4.0.1.tgz", + "integrity": "sha512-0yDkppiIhDlPrfHELgB+NLQD5mfjup3a8UYclHruTJWmY74je8g+CIFr79x5f6AkmzSwlvKLbs63hC0meOMowQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-visit": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-jsx/node_modules/unist-util-visit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.0.tgz", + "integrity": "sha512-n7lyhFKJfVZ9MnKtqbsqkQEk5P1KShj0+//V7mAcoI6bpbUjh3C/OG8HVD+pBihfh6Ovl01m8dkcv9HNqYajmQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0", + "unist-util-visit-parents": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-jsx/node_modules/unist-util-visit-parents": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.0.tgz", + "integrity": "sha512-y+QVLcY5eR/YVpqDsLf/xh9R3Q2Y4HxkZTp7ViLDU6WtJCEcPmRzW1gpdWDCDIqIlhuPDXOgttqPlykrHYDekg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdxjs-esm": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-1.3.0.tgz", + "integrity": "sha512-7N5ihsOkAEGjFotIX9p/YPdl4TqUoMxL4ajNz7PbT89BqsdWJuBC9rvgt6wpbwTZqWWR0jKWqQbwsOWDBUZv4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^2.0.0", + "@types/mdast": "^3.0.0", + "mdast-util-from-markdown": "^1.0.0", + "mdast-util-to-markdown": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-hast": { + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-9.1.2.tgz", + "integrity": "sha512-OpkFLBC2VnNAb2FNKcKWu9FMbJhQKog+FCT8nuKmQNIKXyT1n3SIskE7uWDep6x+cA20QXlK5AETHQtYmQmxtQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mdast": "^3.0.0", + "@types/unist": "^2.0.0", + "mdast-util-definitions": "^3.0.0", + "mdurl": "^1.0.0", + "unist-builder": "^2.0.0", + "unist-util-generated": "^1.0.0", + "unist-util-position": "^3.0.0", + "unist-util-visit": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-hast/node_modules/unist-util-position": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-3.1.0.tgz", + "integrity": "sha512-w+PkwCbYSFw8vpgWD0v7zRCl1FpY3fjDSQ3/N/wNd9Ffa4gPi8+4keqt99N3XW6F99t/mUzp2xAhNmfKWp95QA==", + "dev": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-markdown": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-1.3.0.tgz", + "integrity": "sha512-6tUSs4r+KK4JGTTiQ7FfHmVOaDrLQJPmpjD6wPMlHGUVXoG9Vjc3jIeP+uyBWRf8clwB2blM+W7+KrlMYQnftA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^3.0.0", + "@types/unist": "^2.0.0", + "longest-streak": "^3.0.0", + "mdast-util-to-string": "^3.0.0", + "micromark-util-decode-string": "^1.0.0", + "unist-util-visit": "^4.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-markdown/node_modules/longest-streak": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.0.1.tgz", + "integrity": "sha512-cHlYSUpL2s7Fb3394mYxwTYj8niTaNHUCLr0qdiCXQfSjfuA7CKofpX2uSwEfFDQ0EB7JcnMnm+GjbqqoinYYg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/mdast-util-to-markdown/node_modules/mdast-util-to-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.1.0.tgz", + "integrity": "sha512-n4Vypz/DZgwo0iMHLQL49dJzlp7YtAJP+N07MZHpjPf/5XJuHUWstviF4Mn2jEiR/GNmtnRRqnwsXExk3igfFA==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-markdown/node_modules/unist-util-is": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.1.1.tgz", + "integrity": "sha512-F5CZ68eYzuSvJjGhCLPL3cYx45IxkqXSetCcRgUXtbcm50X2L9oOWQlfUfDdAf+6Pd27YDblBfdtmsThXmwpbQ==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-markdown/node_modules/unist-util-visit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.0.tgz", + "integrity": "sha512-n7lyhFKJfVZ9MnKtqbsqkQEk5P1KShj0+//V7mAcoI6bpbUjh3C/OG8HVD+pBihfh6Ovl01m8dkcv9HNqYajmQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0", + "unist-util-visit-parents": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-markdown/node_modules/unist-util-visit-parents": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.0.tgz", + "integrity": "sha512-y+QVLcY5eR/YVpqDsLf/xh9R3Q2Y4HxkZTp7ViLDU6WtJCEcPmRzW1gpdWDCDIqIlhuPDXOgttqPlykrHYDekg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-string": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-1.1.0.tgz", + "integrity": "sha512-jVU0Nr2B9X3MU4tSK7JP1CMkSvOj7X5l/GboG1tKRw52lLF1x2Ju92Ms9tNetCcbfX3hzlM73zYo2NKkWSfF/A==", + "dev": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", + "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=", + "dev": true, + "license": "MIT" + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/memorystream": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", + "integrity": "sha1-htcJCzDORV1j+64S3aUaR93K+bI=", + "dev": true, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", + "license": "MIT" + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true, + "license": "MIT" + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/metro-cache": { + "version": "0.72.2", + "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.72.2.tgz", + "integrity": "sha512-0Yw3J32eYTp7x7bAAg+a9ScBG/mpib6Wq4WPSYvhoNilPFHzh7knLDMil3WGVCQlI1r+5xtpw/FDhNVKuypQqg==", + "dev": true, + "license": "MIT", + "dependencies": { + "metro-core": "0.72.2", + "rimraf": "^2.5.4" + } + }, + "node_modules/metro-core": { + "version": "0.72.2", + "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.72.2.tgz", + "integrity": "sha512-OXNH8UbKIhvpyHGJrdQYnPUmyPHSuVY4OO6pQxODdTW+uiO68PPPgIIVN67vlCAirZolxRFpma70N7m0sGCZyg==", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash.throttle": "^4.1.1", + "metro-resolver": "0.72.2" + } + }, + "node_modules/metro-resolver": { + "version": "0.72.2", + "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.72.2.tgz", + "integrity": "sha512-5KTWolUgA6ivLkg3DmFS2WltphBPQW7GT7An+6Izk/NU+y/6crmsoaLmNxjpZo4Fv+i/FxDSXqpbpQ6KrRWvlQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "absolute-path": "^0.0.0" + } + }, + "node_modules/micromark": { + "version": "3.0.10", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-3.0.10.tgz", + "integrity": "sha512-ryTDy6UUunOXy2HPjelppgJ2sNfcPz1pLlMdA6Rz9jPzhLikWXv/irpWV/I2jd68Uhmny7hHxAlAhk4+vWggpg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "micromark-core-commonmark": "^1.0.1", + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-chunked": "^1.0.0", + "micromark-util-combine-extensions": "^1.0.0", + "micromark-util-decode-numeric-character-reference": "^1.0.0", + "micromark-util-encode": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-resolve-all": "^1.0.0", + "micromark-util-sanitize-uri": "^1.0.0", + "micromark-util-subtokenize": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.1", + "uvu": "^0.5.0" + } + }, + "node_modules/micromark-core-commonmark": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-1.0.6.tgz", + "integrity": "sha512-K+PkJTxqjFfSNkfAhp4GB+cZPfQd6dxtTXnf+RjZOV7T4EEXnvgzOcnp+eSTmpGk9d1S9sL6/lqrgSNn/s0HZA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-factory-destination": "^1.0.0", + "micromark-factory-label": "^1.0.0", + "micromark-factory-space": "^1.0.0", + "micromark-factory-title": "^1.0.0", + "micromark-factory-whitespace": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-chunked": "^1.0.0", + "micromark-util-classify-character": "^1.0.0", + "micromark-util-html-tag-name": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-resolve-all": "^1.0.0", + "micromark-util-subtokenize": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.1", + "uvu": "^0.5.0" + } + }, + "node_modules/micromark-extension-frontmatter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-frontmatter/-/micromark-extension-frontmatter-1.0.0.tgz", + "integrity": "sha512-EXjmRnupoX6yYuUJSQhrQ9ggK0iQtQlpi6xeJzVD5xscyAI+giqco5fdymayZhJMbIFecjnE2yz85S9NzIgQpg==", + "license": "MIT", + "dependencies": { + "fault": "^2.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-2.0.1.tgz", + "integrity": "sha512-p2sGjajLa0iYiGQdT0oelahRYtMWvLjy8J9LOCxzIQsllMCGLbsLW+Nc+N4vi02jcRJvedVJ68cjelKIO6bpDA==", + "license": "MIT", + "dependencies": { + "micromark-extension-gfm-autolink-literal": "^1.0.0", + "micromark-extension-gfm-footnote": "^1.0.0", + "micromark-extension-gfm-strikethrough": "^1.0.0", + "micromark-extension-gfm-table": "^1.0.0", + "micromark-extension-gfm-tagfilter": "^1.0.0", + "micromark-extension-gfm-task-list-item": "^1.0.0", + "micromark-util-combine-extensions": "^1.0.0", + "micromark-util-types": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-autolink-literal": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-1.0.3.tgz", + "integrity": "sha512-i3dmvU0htawfWED8aHMMAzAVp/F0Z+0bPh3YrbTPPL1v4YAlCZpy5rBO5p0LPYiZo0zFVkoYh7vDU7yQSiCMjg==", + "license": "MIT", + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-sanitize-uri": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-footnote": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-1.0.4.tgz", + "integrity": "sha512-E/fmPmDqLiMUP8mLJ8NbJWJ4bTw6tS+FEQS8CcuDtZpILuOb2kjLqPEeAePF1djXROHXChM/wPJw0iS4kHCcIg==", + "license": "MIT", + "dependencies": { + "micromark-core-commonmark": "^1.0.0", + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-normalize-identifier": "^1.0.0", + "micromark-util-sanitize-uri": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-strikethrough": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-1.0.4.tgz", + "integrity": "sha512-/vjHU/lalmjZCT5xt7CcHVJGq8sYRm80z24qAKXzaHzem/xsDYb2yLL+NNVbYvmpLx3O7SYPuGL5pzusL9CLIQ==", + "license": "MIT", + "dependencies": { + "micromark-util-chunked": "^1.0.0", + "micromark-util-classify-character": "^1.0.0", + "micromark-util-resolve-all": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-table": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-1.0.5.tgz", + "integrity": "sha512-xAZ8J1X9W9K3JTJTUL7G6wSKhp2ZYHrFk5qJgY/4B33scJzE2kpfRL6oiw/veJTbt7jiM/1rngLlOKPWr1G+vg==", + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-tagfilter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-1.0.1.tgz", + "integrity": "sha512-Ty6psLAcAjboRa/UKUbbUcwjVAv5plxmpUTy2XC/3nJFL37eHej8jrHrRzkqcpipJliuBH30DTs7+3wqNcQUVA==", + "license": "MIT", + "dependencies": { + "micromark-util-types": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-task-list-item": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-1.0.3.tgz", + "integrity": "sha512-PpysK2S1Q/5VXi72IIapbi/jliaiOFzv7THH4amwXeYXLq3l1uo8/2Be0Ac1rEwK20MQEsGH2ltAZLNY2KI/0Q==", + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdx-expression": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-1.0.3.tgz", + "integrity": "sha512-TjYtjEMszWze51NJCZmhv7MEBcgYRgb3tJeMAJ+HQCAaZHHRBaDCccqQzGizR/H4ODefP44wRTgOn2vE5I6nZA==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-mdx-expression": "^1.0.0", + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-events-to-acorn": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + } + }, + "node_modules/micromark-extension-mdx-jsx": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-1.0.3.tgz", + "integrity": "sha512-VfA369RdqUISF0qGgv2FfV7gGjHDfn9+Qfiv5hEwpyr1xscRj/CiVRkU7rywGFCO7JwJ5L0e7CJz60lY52+qOA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/acorn": "^4.0.0", + "estree-util-is-identifier-name": "^2.0.0", + "micromark-factory-mdx-expression": "^1.0.0", + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0", + "vfile-message": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdx-md": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-md/-/micromark-extension-mdx-md-1.0.0.tgz", + "integrity": "sha512-xaRAMoSkKdqZXDAoSgp20Azm0aRQKGOl0RrS81yGu8Hr/JhMsBmfs4wR7m9kgVUIO36cMUQjNyiyDKPrsv8gOw==", + "dev": true, + "license": "MIT", + "dependencies": { + "micromark-util-types": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdxjs": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs/-/micromark-extension-mdxjs-1.0.0.tgz", + "integrity": "sha512-TZZRZgeHvtgm+IhtgC2+uDMR7h8eTKF0QUX9YsgoL9+bADBpBY6SiLvWqnBlLbCEevITmTqmEuY3FoxMKVs1rQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "acorn": "^8.0.0", + "acorn-jsx": "^5.0.0", + "micromark-extension-mdx-expression": "^1.0.0", + "micromark-extension-mdx-jsx": "^1.0.0", + "micromark-extension-mdx-md": "^1.0.0", + "micromark-extension-mdxjs-esm": "^1.0.0", + "micromark-util-combine-extensions": "^1.0.0", + "micromark-util-types": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdxjs-esm": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-1.0.3.tgz", + "integrity": "sha512-2N13ol4KMoxb85rdDwTAC6uzs8lMX0zeqpcyx7FhS7PxXomOnLactu8WI8iBNXW8AVyea3KIJd/1CKnUmwrK9A==", + "dev": true, + "license": "MIT", + "dependencies": { + "micromark-core-commonmark": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-events-to-acorn": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "unist-util-position-from-estree": "^1.1.0", + "uvu": "^0.5.0", + "vfile-message": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdxjs/node_modules/acorn": { + "version": "8.8.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", + "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/micromark-factory-destination": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-1.0.0.tgz", + "integrity": "sha512-eUBA7Rs1/xtTVun9TmV3gjfPz2wEwgK5R5xcbIM5ZYAtvGF6JkyaDsj0agx8urXnO31tEO6Ug83iVH3tdedLnw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-factory-label": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-1.0.2.tgz", + "integrity": "sha512-CTIwxlOnU7dEshXDQ+dsr2n+yxpP0+fn271pu0bwDIS8uqfFcumXpj5mLn3hSC8iw2MUr6Gx8EcKng1dD7i6hg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + } + }, + "node_modules/micromark-factory-mdx-expression": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-1.0.6.tgz", + "integrity": "sha512-WRQIc78FV7KrCfjsEf/sETopbYjElh3xAmNpLkd1ODPqxEngP42eVRGbiPEQWpRV27LzqW+XVTvQAMIIRLPnNA==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-events-to-acorn": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "unist-util-position-from-estree": "^1.0.0", + "uvu": "^0.5.0", + "vfile-message": "^3.0.0" + } + }, + "node_modules/micromark-factory-space": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.0.0.tgz", + "integrity": "sha512-qUmqs4kj9a5yBnk3JMLyjtWYN6Mzfcx8uJfi5XAveBniDevmZasdGBba5b4QsvRcAkmvGo5ACmSUmyGiKTLZew==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-factory-title": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-1.0.2.tgz", + "integrity": "sha512-zily+Nr4yFqgMGRKLpTVsNl5L4PMu485fGFDOQJQBl2NFpjGte1e86zC0da93wf97jrc4+2G2GQudFMHn3IX+A==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + } + }, + "node_modules/micromark-factory-whitespace": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-1.0.0.tgz", + "integrity": "sha512-Qx7uEyahU1lt1RnsECBiuEbfr9INjQTGa6Err+gF3g0Tx4YEviPbqqGKNv/NrBaE7dVHdn1bVZKM/n5I/Bak7A==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-util-character": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.1.0.tgz", + "integrity": "sha512-agJ5B3unGNJ9rJvADMJ5ZiYjBRyDpzKAOk01Kpi1TKhlT1APx3XZk6eN7RtSz1erbWHC2L8T3xLZ81wdtGRZzg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-util-chunked": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-1.0.0.tgz", + "integrity": "sha512-5e8xTis5tEZKgesfbQMKRCyzvffRRUX+lK/y+DvsMFdabAicPkkZV6gO+FEWi9RfuKKoxxPwNL+dFF0SMImc1g==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^1.0.0" + } + }, + "node_modules/micromark-util-classify-character": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-1.0.0.tgz", + "integrity": "sha512-F8oW2KKrQRb3vS5ud5HIqBVkCqQi224Nm55o5wYLzY/9PwHGXC01tr3d7+TqHHz6zrKQ72Okwtvm/xQm6OVNZA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-util-combine-extensions": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.0.0.tgz", + "integrity": "sha512-J8H058vFBdo/6+AsjHp2NF7AJ02SZtWaVUjsayNFeAiydTxUwViQPxN0Hf8dp4FmCQi0UUFovFsEyRSUmFH3MA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-chunked": "^1.0.0", + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-util-decode-numeric-character-reference": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.0.0.tgz", + "integrity": "sha512-OzO9AI5VUtrTD7KSdagf4MWgHMtET17Ua1fIpXTpuhclCqD8egFWo85GxSGvxgkGS74bEahvtM0WP0HjvV0e4w==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^1.0.0" + } + }, + "node_modules/micromark-util-decode-string": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-1.0.2.tgz", + "integrity": "sha512-DLT5Ho02qr6QWVNYbRZ3RYOSSWWFuH3tJexd3dgN1odEuPNxCngTCXJum7+ViRAd9BbdxCvMToPOD/IvVhzG6Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^1.0.0", + "micromark-util-decode-numeric-character-reference": "^1.0.0", + "micromark-util-symbol": "^1.0.0" + } + }, + "node_modules/micromark-util-encode": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-1.0.1.tgz", + "integrity": "sha512-U2s5YdnAYexjKDel31SVMPbfi+eF8y1U4pfiRW/Y8EFVCy/vgxk/2wWTxzcqE71LHtCuCzlBDRU2a5CQ5j+mQA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-events-to-acorn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-1.2.0.tgz", + "integrity": "sha512-WWp3bf7xT9MppNuw3yPjpnOxa8cj5ACivEzXJKu0WwnjBYfzaBvIAT9KfeyI0Qkll+bfQtfftSwdgTH6QhTOKw==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/acorn": "^4.0.0", + "@types/estree": "^1.0.0", + "estree-util-visit": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0", + "vfile-location": "^4.0.0", + "vfile-message": "^3.0.0" + } + }, + "node_modules/micromark-util-events-to-acorn/node_modules/vfile-location": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-4.0.1.tgz", + "integrity": "sha512-JDxPlTbZrZCQXogGheBHjbRWjESSPEak770XwWPfw5mTc1v1nWGLB/apzZxsx8a0SJVfF8HK8ql8RD308vXRUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "vfile": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-util-html-tag-name": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.1.0.tgz", + "integrity": "sha512-BKlClMmYROy9UiV03SwNmckkjn8QHVaWkqoAqzivabvdGcwNGMMMH/5szAnywmsTBUzDsU57/mFi0sp4BQO6dA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-normalize-identifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.0.0.tgz", + "integrity": "sha512-yg+zrL14bBTFrQ7n35CmByWUTFsgst5JhA4gJYoty4Dqzj4Z4Fr/DHekSS5aLfH9bdlfnSvKAWsAgJhIbogyBg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^1.0.0" + } + }, + "node_modules/micromark-util-resolve-all": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-1.0.0.tgz", + "integrity": "sha512-CB/AGk98u50k42kvgaMM94wzBqozSzDDaonKU7P7jwQIuH2RU0TeBqGYJz2WY1UdihhjweivStrJ2JdkdEmcfw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-types": "^1.0.0" + } + }, + "node_modules/micromark-util-sanitize-uri": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.0.0.tgz", + "integrity": "sha512-cCxvBKlmac4rxCGx6ejlIviRaMKZc0fWm5HdCHEeDWRSkn44l6NdYVRyU+0nT1XC72EQJMZV8IPHF+jTr56lAg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^1.0.0", + "micromark-util-encode": "^1.0.0", + "micromark-util-symbol": "^1.0.0" + } + }, + "node_modules/micromark-util-subtokenize": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-1.0.2.tgz", + "integrity": "sha512-d90uqCnXp/cy4G881Ub4psE57Sf8YD0pim9QdjCRNjfas2M1u6Lbt+XZK9gnHL2XFhnozZiEdCa9CNfXSfQ6xA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-chunked": "^1.0.0", + "micromark-util-symbol": "^1.0.0", + "micromark-util-types": "^1.0.0", + "uvu": "^0.5.0" + } + }, + "node_modules/micromark-util-symbol": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.0.1.tgz", + "integrity": "sha512-oKDEMK2u5qqAptasDAwWDXq0tG9AssVwAx3E9bBF3t/shRIGsWIRG+cGafs2p/SnDSOecnt6hZPCE2o6lHfFmQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-types": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.0.2.tgz", + "integrity": "sha512-DCfg/T8fcrhrRKTPjRrw/5LLvdGV7BHySf/1LOZx7TzWZdYRjogNtyNq885z3nNallwr3QUKARjqvHqX1/7t+w==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark/node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", + "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/mri": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", + "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/mrmime": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.0.tgz", + "integrity": "sha512-a70zx7zFfVO7XpnQ2IX1Myh9yY4UYvfld/dikWRnsXxbyvMcfz+u6UfgNAtH+k2QqtJuzVpv6eLTx1G2+WKZbQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "license": "MIT" + }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.1.tgz", + "integrity": "sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==", + "dev": true, + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true, + "license": "MIT" + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/next": { + "version": "13.4.1", + "resolved": "https://registry.npmjs.org/next/-/next-13.4.1.tgz", + "integrity": "sha512-JBw2kAIyhKDpjhEWvNVoFeIzNp9xNxg8wrthDOtMctfn3EpqGCmW0FSviNyGgOSOSn6zDaX48pmvbdf6X2W9xA==", + "license": "MIT", + "dependencies": { + "@next/env": "13.4.1", + "@swc/helpers": "0.5.1", + "busboy": "1.6.0", + "caniuse-lite": "^1.0.30001406", + "postcss": "8.4.14", + "styled-jsx": "5.1.1", + "zod": "3.21.4" + }, + "bin": { + "next": "dist/bin/next" + }, + "engines": { + "node": ">=16.8.0" + }, + "optionalDependencies": { + "@next/swc-darwin-arm64": "13.4.1", + "@next/swc-darwin-x64": "13.4.1", + "@next/swc-linux-arm64-gnu": "13.4.1", + "@next/swc-linux-arm64-musl": "13.4.1", + "@next/swc-linux-x64-gnu": "13.4.1", + "@next/swc-linux-x64-musl": "13.4.1", + "@next/swc-win32-arm64-msvc": "13.4.1", + "@next/swc-win32-ia32-msvc": "13.4.1", + "@next/swc-win32-x64-msvc": "13.4.1" + }, + "peerDependencies": { + "@opentelemetry/api": "^1.1.0", + "fibers": ">= 3.1.0", + "node-sass": "^6.0.0 || ^7.0.0", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "sass": "^1.3.0" + }, + "peerDependenciesMeta": { + "@opentelemetry/api": { + "optional": true + }, + "fibers": { + "optional": true + }, + "node-sass": { + "optional": true + }, + "sass": { + "optional": true + } + } + }, + "node_modules/next-remote-watch": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/next-remote-watch/-/next-remote-watch-1.0.0.tgz", + "integrity": "sha512-kV+pglCwcnKyqJIXPHUUrnZr9d3rCqCIEQWBkFYC02GDXHyKVmcFytoY6q0+wMIQqh/izIAQL1x6OKXZhksjLA==", + "license": "MPL-2.0", + "dependencies": { + "body-parser": "^1.19.0", + "chalk": "^4.0.0", + "chokidar": "^3.4.0", + "commander": "^5.0.0", + "express": "^4.17.1" + }, + "bin": { + "next-remote-watch": "bin/next-remote-watch" + } + }, + "node_modules/next-remote-watch/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/next-remote-watch/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/next-remote-watch/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/next-tick": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", + "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==", + "license": "ISC" + }, + "node_modules/next/node_modules/caniuse-lite": { + "version": "1.0.30001410", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001410.tgz", + "integrity": "sha512-QoblBnuE+rG0lc3Ur9ltP5q47lbguipa/ncNMyyGuqPk44FxbScWAeEO+k5fSQ8WekdAK4mWqNs1rADDAiN5xQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/next/node_modules/nanoid": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", + "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/next/node_modules/postcss": { + "version": "8.4.14", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz", + "integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.4", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/nlcst-to-string": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/nlcst-to-string/-/nlcst-to-string-2.0.4.tgz", + "integrity": "sha512-3x3jwTd6UPG7vi5k4GEzvxJ5rDA7hVUIRNHPblKuMVP9Z3xmlsd9cgLcpAMkc5uPOBna82EeshROFhsPkbnTZg==", + "dev": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/node-releases": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz", + "integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==", + "dev": true, + "license": "MIT" + }, + "node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-all": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz", + "integrity": "sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^3.2.1", + "chalk": "^2.4.1", + "cross-spawn": "^6.0.5", + "memorystream": "^0.3.1", + "minimatch": "^3.0.4", + "pidtree": "^0.3.0", + "read-pkg": "^3.0.0", + "shell-quote": "^1.6.1", + "string.prototype.padend": "^3.0.0" + }, + "bin": { + "npm-run-all": "bin/npm-run-all/index.js", + "run-p": "bin/run-p/index.js", + "run-s": "bin/run-s/index.js" + }, + "engines": { + "node": ">= 4" + } + }, + "node_modules/npm-run-all/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/npm-run-all/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/npm-run-all/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true, + "license": "MIT" + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/num2fraction": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", + "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", + "dev": true, + "license": "MIT" + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/object-inspect": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", + "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.entries": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.5.tgz", + "integrity": "sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.fromentries": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.5.tgz", + "integrity": "sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.hasown": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.0.tgz", + "integrity": "sha512-MhjYRfj3GBlhSkDHo6QmvgjRLXQ2zndabdf3nX0yTyZK9rPfxb6uRpAac8HXNLy1GpqWtZ81Qh4v3uOls2sRAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object.values": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz", + "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open": { + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", + "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-docker": "^2.0.0", + "is-wsl": "^2.1.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/opener": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", + "dev": true, + "license": "(WTFPL OR MIT)", + "bin": { + "opener": "bin/opener-bin.js" + } + }, + "node_modules/optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/outvariant": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/outvariant/-/outvariant-1.4.0.tgz", + "integrity": "sha512-AlWY719RF02ujitly7Kk/0QlV+pXGFDHrHf9O2OKqyqgBieaPOIeuSkL8sRK6j2WK+/ZAURq2kZsY0d8JapUiw==", + "license": "MIT" + }, + "node_modules/p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-entities": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz", + "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "character-entities": "^1.0.0", + "character-entities-legacy": "^1.0.0", + "character-reference-invalid": "^1.0.0", + "is-alphanumerical": "^1.0.0", + "is-decimal": "^1.0.0", + "is-hexadecimal": "^1.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/parse-entities/node_modules/character-entities": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz", + "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "license": "MIT", + "dependencies": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/parse-latin": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/parse-latin/-/parse-latin-4.3.0.tgz", + "integrity": "sha512-TYKL+K98dcAWoCw/Ac1yrPviU8Trk+/gmjQVaoWEFDZmVD4KRg6c/80xKqNNFQObo2mTONgF8trzAf2UTwKafw==", + "dev": true, + "license": "MIT", + "dependencies": { + "nlcst-to-string": "^2.0.0", + "unist-util-modify-children": "^2.0.0", + "unist-util-visit-children": "^1.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/parse-numeric-range": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz", + "integrity": "sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==", + "license": "ISC" + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/patch-package": { + "version": "6.4.7", + "resolved": "https://registry.npmjs.org/patch-package/-/patch-package-6.4.7.tgz", + "integrity": "sha512-S0vh/ZEafZ17hbhgqdnpunKDfzHQibQizx9g8yEf5dcVk3KOflOfdufRXQX8CSEkyOQwuM/bNz1GwKvFj54kaQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@yarnpkg/lockfile": "^1.1.0", + "chalk": "^2.4.2", + "cross-spawn": "^6.0.5", + "find-yarn-workspace-root": "^2.0.0", + "fs-extra": "^7.0.1", + "is-ci": "^2.0.0", + "klaw-sync": "^6.0.0", + "minimist": "^1.2.0", + "open": "^7.4.2", + "rimraf": "^2.6.3", + "semver": "^5.6.0", + "slash": "^2.0.0", + "tmp": "^0.0.33" + }, + "bin": { + "patch-package": "index.js" + }, + "engines": { + "npm": ">5" + } + }, + "node_modules/patch-package/node_modules/ci-info": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", + "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/patch-package/node_modules/fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/patch-package/node_modules/is-ci": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", + "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "ci-info": "^2.0.0" + }, + "bin": { + "is-ci": "bin.js" + } + }, + "node_modules/patch-package/node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "license": "MIT", + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/patch-package/node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true, + "license": "MIT" + }, + "node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", + "license": "MIT" + }, + "node_modules/path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "license": "MIT", + "dependencies": { + "pify": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/periscopic": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/periscopic/-/periscopic-3.0.4.tgz", + "integrity": "sha512-SFx68DxCv0Iyo6APZuw/AKewkkThGwssmU0QWtTlvov3VAtPX+QJ4CadwSaz8nrT5jPIuxdvJWB4PnD2KNDxQg==", + "dev": true, + "license": "MIT", + "dependencies": { + "estree-walker": "^3.0.0", + "is-reference": "^3.0.0" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pidtree": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.3.1.tgz", + "integrity": "sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==", + "dev": true, + "license": "MIT", + "bin": { + "pidtree": "bin/pidtree.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/postcss": { + "version": "8.4.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.6.tgz", + "integrity": "sha512-OovjwIzs9Te46vlEx7+uXB0PLijpwjXGKXjVGGPIGubGpq7uh5Xgf6D6FiJ/SzJMBosHDp6a2hiXOS97iBXcaA==", + "dev": true, + "license": "MIT", + "dependencies": { + "nanoid": "^3.2.0", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-attribute-case-insensitive": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-4.0.2.tgz", + "integrity": "sha512-clkFxk/9pcdb4Vkn0hAHq3YnxBQ2p0CGD1dy24jN+reBck+EWxMbxSUqN4Yj7t0w8csl87K6p0gxBe1utkJsYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss": "^7.0.2", + "postcss-selector-parser": "^6.0.2" + } + }, + "node_modules/postcss-attribute-case-insensitive/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true, + "license": "ISC" + }, + "node_modules/postcss-attribute-case-insensitive/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-attribute-case-insensitive/node_modules/postcss-selector-parser": { + "version": "6.0.9", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.9.tgz", + "integrity": "sha512-UO3SgnZOVTwu4kyLR22UQ1xZh086RyNZppb7lLAKBFK8a32ttG5i87Y/P3+2bRSjZNyJ1B7hfFNo273tKe9YxQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-color-functional-notation": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-2.0.1.tgz", + "integrity": "sha512-ZBARCypjEDofW4P6IdPVTLhDNXPRn8T2s1zHbZidW6rPaaZvcnCS2soYFIQJrMZSxiePJ2XIYTlcb2ztr/eT2g==", + "dev": true, + "license": "CC0-1.0", + "dependencies": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-color-functional-notation/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true, + "license": "ISC" + }, + "node_modules/postcss-color-functional-notation/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-color-gray": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-color-gray/-/postcss-color-gray-5.0.0.tgz", + "integrity": "sha512-q6BuRnAGKM/ZRpfDascZlIZPjvwsRye7UDNalqVz3s7GDxMtqPY6+Q871liNxsonUw8oC61OG+PSaysYpl1bnw==", + "dev": true, + "license": "ISC", + "dependencies": { + "@csstools/convert-colors": "^1.4.0", + "postcss": "^7.0.5", + "postcss-values-parser": "^2.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-color-gray/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true, + "license": "ISC" + }, + "node_modules/postcss-color-gray/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-color-hex-alpha": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-5.0.3.tgz", + "integrity": "sha512-PF4GDel8q3kkreVXKLAGNpHKilXsZ6xuu+mOQMHWHLPNyjiUBOr75sp5ZKJfmv1MCus5/DWUGcK9hm6qHEnXYw==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss": "^7.0.14", + "postcss-values-parser": "^2.0.1" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-color-hex-alpha/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true, + "license": "ISC" + }, + "node_modules/postcss-color-hex-alpha/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-color-mod-function": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/postcss-color-mod-function/-/postcss-color-mod-function-3.0.3.tgz", + "integrity": "sha512-YP4VG+xufxaVtzV6ZmhEtc+/aTXH3d0JLpnYfxqTvwZPbJhWqp8bSY3nfNzNRFLgB4XSaBA82OE4VjOOKpCdVQ==", + "dev": true, + "license": "CC0-1.0", + "dependencies": { + "@csstools/convert-colors": "^1.4.0", + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-color-mod-function/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true, + "license": "ISC" + }, + "node_modules/postcss-color-mod-function/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-color-rebeccapurple": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-4.0.1.tgz", + "integrity": "sha512-aAe3OhkS6qJXBbqzvZth2Au4V3KieR5sRQ4ptb2b2O8wgvB3SJBsdG+jsn2BZbbwekDG8nTfcCNKcSfe/lEy8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-color-rebeccapurple/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true, + "license": "ISC" + }, + "node_modules/postcss-color-rebeccapurple/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-custom-media": { + "version": "7.0.8", + "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-7.0.8.tgz", + "integrity": "sha512-c9s5iX0Ge15o00HKbuRuTqNndsJUbaXdiNsksnVH8H4gdc+zbLzr/UasOwNG6CTDpLFekVY4672eWdiiWu2GUg==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss": "^7.0.14" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-custom-media/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true, + "license": "ISC" + }, + "node_modules/postcss-custom-media/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-custom-properties": { + "version": "8.0.11", + "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-8.0.11.tgz", + "integrity": "sha512-nm+o0eLdYqdnJ5abAJeXp4CEU1c1k+eB2yMCvhgzsds/e0umabFrN6HoTy/8Q4K5ilxERdl/JD1LO5ANoYBeMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss": "^7.0.17", + "postcss-values-parser": "^2.0.1" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-custom-properties/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true, + "license": "ISC" + }, + "node_modules/postcss-custom-properties/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-custom-selectors": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-5.1.2.tgz", + "integrity": "sha512-DSGDhqinCqXqlS4R7KGxL1OSycd1lydugJ1ky4iRXPHdBRiozyMHrdu0H3o7qNOCiZwySZTUI5MV0T8QhCLu+w==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss": "^7.0.2", + "postcss-selector-parser": "^5.0.0-rc.3" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-custom-selectors/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true, + "license": "ISC" + }, + "node_modules/postcss-custom-selectors/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-dir-pseudo-class": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-5.0.0.tgz", + "integrity": "sha512-3pm4oq8HYWMZePJY+5ANriPs3P07q+LW6FAdTlkFH2XqDdP4HeeJYMOzn0HYLhRSjBO3fhiqSwwU9xEULSrPgw==", + "dev": true, + "license": "CC0-1.0", + "dependencies": { + "postcss": "^7.0.2", + "postcss-selector-parser": "^5.0.0-rc.3" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/postcss-dir-pseudo-class/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true, + "license": "ISC" + }, + "node_modules/postcss-dir-pseudo-class/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-double-position-gradients": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-1.0.0.tgz", + "integrity": "sha512-G+nV8EnQq25fOI8CH/B6krEohGWnF5+3A6H/+JEpOncu5dCnkS1QQ6+ct3Jkaepw1NGVqqOZH6lqrm244mCftA==", + "dev": true, + "license": "CC0-1.0", + "dependencies": { + "postcss": "^7.0.5", + "postcss-values-parser": "^2.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-double-position-gradients/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true, + "license": "ISC" + }, + "node_modules/postcss-double-position-gradients/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-env-function": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-2.0.2.tgz", + "integrity": "sha512-rwac4BuZlITeUbiBq60h/xbLzXY43qOsIErngWa4l7Mt+RaSkT7QBjXVGTcBHupykkblHMDrBFh30zchYPaOUw==", + "dev": true, + "license": "CC0-1.0", + "dependencies": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-env-function/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true, + "license": "ISC" + }, + "node_modules/postcss-env-function/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-flexbugs-fixes": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-4.2.1.tgz", + "integrity": "sha512-9SiofaZ9CWpQWxOwRh1b/r85KD5y7GgvsNt1056k6OYLvWUun0czCvogfJgylC22uJTwW1KzY3Gz65NZRlvoiQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss": "^7.0.26" + } + }, + "node_modules/postcss-flexbugs-fixes/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true, + "license": "ISC" + }, + "node_modules/postcss-flexbugs-fixes/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-focus-visible": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-4.0.0.tgz", + "integrity": "sha512-Z5CkWBw0+idJHSV6+Bgf2peDOFf/x4o+vX/pwcNYrWpXFrSfTkQ3JQ1ojrq9yS+upnAlNRHeg8uEwFTgorjI8g==", + "dev": true, + "license": "CC0-1.0", + "dependencies": { + "postcss": "^7.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-focus-visible/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true, + "license": "ISC" + }, + "node_modules/postcss-focus-visible/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-focus-within": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-3.0.0.tgz", + "integrity": "sha512-W0APui8jQeBKbCGZudW37EeMCjDeVxKgiYfIIEo8Bdh5SpB9sxds/Iq8SEuzS0Q4YFOlG7EPFulbbxujpkrV2w==", + "dev": true, + "license": "CC0-1.0", + "dependencies": { + "postcss": "^7.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-focus-within/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true, + "license": "ISC" + }, + "node_modules/postcss-focus-within/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-font-variant": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-4.0.1.tgz", + "integrity": "sha512-I3ADQSTNtLTTd8uxZhtSOrTCQ9G4qUVKPjHiDk0bV75QSxXjVWiJVJ2VLdspGUi9fbW9BcjKJoRvxAH1pckqmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss": "^7.0.2" + } + }, + "node_modules/postcss-font-variant/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true, + "license": "ISC" + }, + "node_modules/postcss-font-variant/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-gap-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-2.0.0.tgz", + "integrity": "sha512-QZSqDaMgXCHuHTEzMsS2KfVDOq7ZFiknSpkrPJY6jmxbugUPTuSzs/vuE5I3zv0WAS+3vhrlqhijiprnuQfzmg==", + "dev": true, + "license": "CC0-1.0", + "dependencies": { + "postcss": "^7.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-gap-properties/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true, + "license": "ISC" + }, + "node_modules/postcss-gap-properties/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-image-set-function": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-3.0.1.tgz", + "integrity": "sha512-oPTcFFip5LZy8Y/whto91L9xdRHCWEMs3e1MdJxhgt4jy2WYXfhkng59fH5qLXSCPN8k4n94p1Czrfe5IOkKUw==", + "dev": true, + "license": "CC0-1.0", + "dependencies": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-image-set-function/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true, + "license": "ISC" + }, + "node_modules/postcss-image-set-function/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-initial": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-3.0.4.tgz", + "integrity": "sha512-3RLn6DIpMsK1l5UUy9jxQvoDeUN4gP939tDcKUHD/kM8SGSKbFAnvkpFpj3Bhtz3HGk1jWY5ZNWX6mPta5M9fg==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss": "^7.0.2" + } + }, + "node_modules/postcss-initial/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true, + "license": "ISC" + }, + "node_modules/postcss-initial/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-lab-function": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-2.0.1.tgz", + "integrity": "sha512-whLy1IeZKY+3fYdqQFuDBf8Auw+qFuVnChWjmxm/UhHWqNHZx+B99EwxTvGYmUBqe3Fjxs4L1BoZTJmPu6usVg==", + "dev": true, + "license": "CC0-1.0", + "dependencies": { + "@csstools/convert-colors": "^1.4.0", + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-lab-function/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true, + "license": "ISC" + }, + "node_modules/postcss-lab-function/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-logical": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-3.0.0.tgz", + "integrity": "sha512-1SUKdJc2vuMOmeItqGuNaC+N8MzBWFWEkAnRnLpFYj1tGGa7NqyVBujfRtgNa2gXR+6RkGUiB2O5Vmh7E2RmiA==", + "dev": true, + "license": "CC0-1.0", + "dependencies": { + "postcss": "^7.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-logical/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true, + "license": "ISC" + }, + "node_modules/postcss-logical/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-media-minmax": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-4.0.0.tgz", + "integrity": "sha512-fo9moya6qyxsjbFAYl97qKO9gyre3qvbMnkOZeZwlsW6XYFsvs2DMGDlchVLfAd8LHPZDxivu/+qW2SMQeTHBw==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss": "^7.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-media-minmax/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true, + "license": "ISC" + }, + "node_modules/postcss-media-minmax/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-nesting": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-7.0.1.tgz", + "integrity": "sha512-FrorPb0H3nuVq0Sff7W2rnc3SmIcruVC6YwpcS+k687VxyxO33iE1amna7wHuRVzM8vfiYofXSBHNAZ3QhLvYg==", + "dev": true, + "license": "CC0-1.0", + "dependencies": { + "postcss": "^7.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-nesting/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true, + "license": "ISC" + }, + "node_modules/postcss-nesting/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-overflow-shorthand": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-2.0.0.tgz", + "integrity": "sha512-aK0fHc9CBNx8jbzMYhshZcEv8LtYnBIRYQD5i7w/K/wS9c2+0NSR6B3OVMu5y0hBHYLcMGjfU+dmWYNKH0I85g==", + "dev": true, + "license": "CC0-1.0", + "dependencies": { + "postcss": "^7.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-overflow-shorthand/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true, + "license": "ISC" + }, + "node_modules/postcss-overflow-shorthand/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-page-break": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-2.0.0.tgz", + "integrity": "sha512-tkpTSrLpfLfD9HvgOlJuigLuk39wVTbbd8RKcy8/ugV2bNBUW3xU+AIqyxhDrQr1VUj1RmyJrBn1YWrqUm9zAQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss": "^7.0.2" + } + }, + "node_modules/postcss-page-break/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true, + "license": "ISC" + }, + "node_modules/postcss-page-break/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-place": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-4.0.1.tgz", + "integrity": "sha512-Zb6byCSLkgRKLODj/5mQugyuj9bvAAw9LqJJjgwz5cYryGeXfFZfSXoP1UfveccFmeq0b/2xxwcTEVScnqGxBg==", + "dev": true, + "license": "CC0-1.0", + "dependencies": { + "postcss": "^7.0.2", + "postcss-values-parser": "^2.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-place/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true, + "license": "ISC" + }, + "node_modules/postcss-place/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-preset-env": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-6.7.0.tgz", + "integrity": "sha512-eU4/K5xzSFwUFJ8hTdTQzo2RBLbDVt83QZrAvI07TULOkmyQlnYlpwep+2yIK+K+0KlZO4BvFcleOCCcUtwchg==", + "dev": true, + "license": "CC0-1.0", + "dependencies": { + "autoprefixer": "^9.6.1", + "browserslist": "^4.6.4", + "caniuse-lite": "^1.0.30000981", + "css-blank-pseudo": "^0.1.4", + "css-has-pseudo": "^0.10.0", + "css-prefers-color-scheme": "^3.1.1", + "cssdb": "^4.4.0", + "postcss": "^7.0.17", + "postcss-attribute-case-insensitive": "^4.0.1", + "postcss-color-functional-notation": "^2.0.1", + "postcss-color-gray": "^5.0.0", + "postcss-color-hex-alpha": "^5.0.3", + "postcss-color-mod-function": "^3.0.3", + "postcss-color-rebeccapurple": "^4.0.1", + "postcss-custom-media": "^7.0.8", + "postcss-custom-properties": "^8.0.11", + "postcss-custom-selectors": "^5.1.2", + "postcss-dir-pseudo-class": "^5.0.0", + "postcss-double-position-gradients": "^1.0.0", + "postcss-env-function": "^2.0.2", + "postcss-focus-visible": "^4.0.0", + "postcss-focus-within": "^3.0.0", + "postcss-font-variant": "^4.0.0", + "postcss-gap-properties": "^2.0.0", + "postcss-image-set-function": "^3.0.1", + "postcss-initial": "^3.0.0", + "postcss-lab-function": "^2.0.1", + "postcss-logical": "^3.0.0", + "postcss-media-minmax": "^4.0.0", + "postcss-nesting": "^7.0.0", + "postcss-overflow-shorthand": "^2.0.0", + "postcss-page-break": "^2.0.0", + "postcss-place": "^4.0.1", + "postcss-pseudo-class-any-link": "^6.0.0", + "postcss-replace-overflow-wrap": "^3.0.0", + "postcss-selector-matches": "^4.0.0", + "postcss-selector-not": "^4.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-preset-env/node_modules/autoprefixer": { + "version": "9.8.8", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.8.tgz", + "integrity": "sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "browserslist": "^4.12.0", + "caniuse-lite": "^1.0.30001109", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "picocolors": "^0.2.1", + "postcss": "^7.0.32", + "postcss-value-parser": "^4.1.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "funding": { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + } + }, + "node_modules/postcss-preset-env/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true, + "license": "ISC" + }, + "node_modules/postcss-preset-env/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-pseudo-class-any-link": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-6.0.0.tgz", + "integrity": "sha512-lgXW9sYJdLqtmw23otOzrtbDXofUdfYzNm4PIpNE322/swES3VU9XlXHeJS46zT2onFO7V1QFdD4Q9LiZj8mew==", + "dev": true, + "license": "CC0-1.0", + "dependencies": { + "postcss": "^7.0.2", + "postcss-selector-parser": "^5.0.0-rc.3" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/postcss-pseudo-class-any-link/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true, + "license": "ISC" + }, + "node_modules/postcss-pseudo-class-any-link/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-replace-overflow-wrap": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-3.0.0.tgz", + "integrity": "sha512-2T5hcEHArDT6X9+9dVSPQdo7QHzG4XKclFT8rU5TzJPDN7RIRTbO9c4drUISOVemLj03aezStHCR2AIcr8XLpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss": "^7.0.2" + } + }, + "node_modules/postcss-replace-overflow-wrap/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true, + "license": "ISC" + }, + "node_modules/postcss-replace-overflow-wrap/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-selector-matches": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-matches/-/postcss-selector-matches-4.0.0.tgz", + "integrity": "sha512-LgsHwQR/EsRYSqlwdGzeaPKVT0Ml7LAT6E75T8W8xLJY62CE4S/l03BWIt3jT8Taq22kXP08s2SfTSzaraoPww==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "postcss": "^7.0.2" + } + }, + "node_modules/postcss-selector-matches/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true, + "license": "ISC" + }, + "node_modules/postcss-selector-matches/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-selector-not": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-4.0.1.tgz", + "integrity": "sha512-YolvBgInEK5/79C+bdFMyzqTg6pkYqDbzZIST/PDMqa/o3qtXenD05apBG2jLgT0/BQ77d4U2UK12jWpilqMAQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "postcss": "^7.0.2" + } + }, + "node_modules/postcss-selector-not/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true, + "license": "ISC" + }, + "node_modules/postcss-selector-not/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/postcss-selector-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", + "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^2.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-selector-parser/node_modules/cssesc": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", + "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", + "dev": true, + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/postcss-values-parser": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/postcss-values-parser/-/postcss-values-parser-2.0.1.tgz", + "integrity": "sha512-2tLuBsA6P4rYTNKCXYG/71C7j1pU6pK503suYOmn4xYrQIzW+opD+7FAFNuGSdZC/3Qfy334QbeMu7MEb8gOxg==", + "dev": true, + "license": "MIT", + "dependencies": { + "flatten": "^1.0.2", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + }, + "engines": { + "node": ">=6.14.4" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.5.1.tgz", + "integrity": "sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==", + "dev": true, + "license": "MIT", + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/prop-types": { + "version": "15.8.1", + "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", + "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "dev": true, + "license": "MIT", + "dependencies": { + "loose-envify": "^1.4.0", + "object-assign": "^4.1.1", + "react-is": "^16.13.1" + } + }, + "node_modules/prop-types/node_modules/react-is": { + "version": "16.13.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/property-information": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-5.6.0.tgz", + "integrity": "sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==", + "dev": true, + "license": "MIT", + "dependencies": { + "xtend": "^4.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "license": "MIT", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/qs": { + "version": "6.10.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", + "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/react": { + "version": "0.0.0-experimental-16d053d59-20230506", + "resolved": "https://registry.npmjs.org/react/-/react-0.0.0-experimental-16d053d59-20230506.tgz", + "integrity": "sha512-8PdloFcanNcryJLohpr4rVQfB4oJvsL0Z+TzJ8B66RxauwF95QqUNorGsK1heESrtj4As0oHCmiZkoYzA4uW8w==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-collapsed": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/react-collapsed/-/react-collapsed-4.0.4.tgz", + "integrity": "sha512-8avvmnQxDYTgGZYVP9+3Z7doomxVEBoCkukpTmUHEIrAYvELZ5jNNfYCt/hCpHB6GmQbzZoDmnDupjsnQVgcCQ==", + "license": "MIT", + "dependencies": { + "tiny-warning": "^1.0.3" + }, + "peerDependencies": { + "react": "^16.9.0 || ^17 || ^18", + "react-dom": "^16.9.0 || ^17 || ^18" + } + }, + "node_modules/react-devtools-inline": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/react-devtools-inline/-/react-devtools-inline-4.4.0.tgz", + "integrity": "sha512-ES0GolSrKO8wsKbsEkVeiR/ZAaHQTY4zDh1UW8DImVmm8oaGLl3ijJDvSGe+qDRKPZdPRnDtWWnSvvrgxXdThQ==", + "license": "MIT", + "dependencies": { + "es6-symbol": "^3" + } + }, + "node_modules/react-dom": { + "version": "0.0.0-experimental-16d053d59-20230506", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-0.0.0-experimental-16d053d59-20230506.tgz", + "integrity": "sha512-I4PIT9ZAdDgpbav9BxfzPv2p5otJz6BEbFEBvFwd1BnQJmtkKKApUU7RYdGKnwY2/r6hdfxPm2pne+NhiyBkzg==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "0.0.0-experimental-16d053d59-20230506" + }, + "peerDependencies": { + "react": "0.0.0-experimental-16d053d59-20230506" + } + }, + "node_modules/react-is": { + "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", + "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", + "license": "MIT" + }, + "node_modules/react-remove-scroll": { + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.5.5.tgz", + "integrity": "sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw==", + "license": "MIT", + "dependencies": { + "react-remove-scroll-bar": "^2.3.3", + "react-style-singleton": "^2.2.1", + "tslib": "^2.1.0", + "use-callback-ref": "^1.3.0", + "use-sidecar": "^1.1.2" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-remove-scroll-bar": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.6.tgz", + "integrity": "sha512-DtSYaao4mBmX+HDo5YWYdBWQwYIQQshUV/dVxFxK+KM26Wjwp1gZ6rv6OC3oujI6Bfu6Xyg3TwK533AQutsn/g==", + "license": "MIT", + "dependencies": { + "react-style-singleton": "^2.2.1", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/react-remove-scroll/node_modules/tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", + "license": "0BSD" + }, + "node_modules/react-style-singleton": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.1.tgz", + "integrity": "sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==", + "license": "MIT", + "dependencies": { + "get-nonce": "^1.0.0", + "invariant": "^2.2.4", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/read-cache/node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "dev": true, + "license": "MIT", + "dependencies": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/reading-time": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/reading-time/-/reading-time-1.5.0.tgz", + "integrity": "sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg==", + "dev": true, + "license": "MIT" + }, + "node_modules/regenerator-runtime": { + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", + "dev": true, + "license": "MIT" + }, + "node_modules/regexp.prototype.flags": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.1.tgz", + "integrity": "sha512-pMR7hBVUUGI7PMA37m2ofIdQCsomVnas+Jn5UPGAHQ+/LlwKm/aTLJHdasmHRzlfeZwHiAOaRSo2rbBDm3nNUQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexpp": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", + "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + } + }, + "node_modules/remark": { + "version": "12.0.1", + "resolved": "https://registry.npmjs.org/remark/-/remark-12.0.1.tgz", + "integrity": "sha512-gS7HDonkdIaHmmP/+shCPejCEEW+liMp/t/QwmF0Xt47Rpuhl32lLtDV1uKWvGoq+kxr5jSgg5oAIpGuyULjUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "remark-parse": "^8.0.0", + "remark-stringify": "^8.0.0", + "unified": "^9.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-external-links": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/remark-external-links/-/remark-external-links-7.0.1.tgz", + "integrity": "sha512-a98JnTMRln8GseQq0buE4Aq6yYjYF4aRIlrPVxL9PT1pcy+yMJij24dEYAqvdluF9GHgNs/De+8y6kzqsjH1jQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "extend": "^3.0.0", + "is-absolute-url": "^3.0.0", + "mdast-util-definitions": "^3.0.0", + "space-separated-tokens": "^1.0.0", + "unist-util-visit": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-frontmatter": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/remark-frontmatter/-/remark-frontmatter-4.0.1.tgz", + "integrity": "sha512-38fJrB0KnmD3E33a5jZC/5+gGAC2WKNiPw1/fdXJvijBlhA7RCsvJklrYJakS0HedninvaCYW8lQGf9C918GfA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^3.0.0", + "mdast-util-frontmatter": "^1.0.0", + "micromark-extension-frontmatter": "^1.0.0", + "unified": "^10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-gfm": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-3.0.1.tgz", + "integrity": "sha512-lEFDoi2PICJyNrACFOfDD3JlLkuSbOa5Wd8EPt06HUdptv8Gn0bxYTdbU/XXQ3swAPkEaGxxPN9cbnMHvVu1Ig==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^3.0.0", + "mdast-util-gfm": "^2.0.0", + "micromark-extension-gfm": "^2.0.0", + "unified": "^10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-html": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/remark-html/-/remark-html-12.0.0.tgz", + "integrity": "sha512-M104NMHs48+uswChJkCDXCdabzxAinpHikpt6kS3gmGMyIvPZ5kn53tB9shFsL2O4HUJ9DIEsah1SX1Ve5FXHA==", + "dev": true, + "license": "MIT", + "dependencies": { + "hast-util-sanitize": "^3.0.0", + "hast-util-to-html": "^7.0.0", + "mdast-util-to-hast": "^9.0.0", + "xtend": "^4.0.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-images": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/remark-images/-/remark-images-2.0.0.tgz", + "integrity": "sha512-1X6XTBQZW489HSwU0k+aU3xAlVe3TyPll6N2Mt1onwINTIqcTk9QTC57937Z8NQDJ8h7gKGXy9d4TJug2dm8lg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-url": "^1.2.2", + "unist-util-is": "^4.0.0", + "unist-util-visit-parents": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-mdx": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-2.1.3.tgz", + "integrity": "sha512-3SmtXOy9+jIaVctL8Cs3VAQInjRLGOwNXfrBB9KCT+EpJpKD3PQiy0x8hUNGyjQmdyOs40BqgPU7kYtH9uoR6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "mdast-util-mdx": "^2.0.0", + "micromark-extension-mdxjs": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-parse": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-10.0.1.tgz", + "integrity": "sha512-1fUyHr2jLsVOkhbvPRBJ5zTKZZyD6yZzYaWCS6BPBdQ8vEMBCH+9zNCDA6tET/zHCi/jLqjCWtlJZUPk+DbnFw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mdast": "^3.0.0", + "mdast-util-from-markdown": "^1.0.0", + "unified": "^10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-rehype": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-10.1.0.tgz", + "integrity": "sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/hast": "^2.0.0", + "@types/mdast": "^3.0.0", + "mdast-util-to-hast": "^12.1.0", + "unified": "^10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-rehype/node_modules/mdast-util-definitions": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-5.1.1.tgz", + "integrity": "sha512-rQ+Gv7mHttxHOBx2dkF4HWTg+EE+UR78ptQWDylzPKaQuVGdG4HIoY3SrS/pCp80nZ04greFvXbVFHT+uf0JVQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/mdast": "^3.0.0", + "@types/unist": "^2.0.0", + "unist-util-visit": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-rehype/node_modules/mdast-util-to-hast": { + "version": "12.2.2", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-12.2.2.tgz", + "integrity": "sha512-lVkUttV9wqmdXFtEBXKcepvU/zfwbhjbkM5rxrquLW55dS1DfOrnAXCk5mg1be1sfY/WfMmayGy1NsbK1GLCYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/hast": "^2.0.0", + "@types/mdast": "^3.0.0", + "@types/mdurl": "^1.0.0", + "mdast-util-definitions": "^5.0.0", + "mdurl": "^1.0.0", + "micromark-util-sanitize-uri": "^1.0.0", + "trim-lines": "^3.0.0", + "unist-builder": "^3.0.0", + "unist-util-generated": "^2.0.0", + "unist-util-position": "^4.0.0", + "unist-util-visit": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-rehype/node_modules/unist-builder": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unist-builder/-/unist-builder-3.0.0.tgz", + "integrity": "sha512-GFxmfEAa0vi9i5sd0R2kcrI9ks0r82NasRq5QHh2ysGngrc6GiqD5CDf1FjPenY4vApmFASBIIlk/jj5J5YbmQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-rehype/node_modules/unist-util-generated": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-2.0.0.tgz", + "integrity": "sha512-TiWE6DVtVe7Ye2QxOVW9kqybs6cZexNwTwSMVgkfjEReqy/xwGpAXb99OxktoWwmL+Z+Epb0Dn8/GNDYP1wnUw==", + "dev": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-rehype/node_modules/unist-util-is": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.1.1.tgz", + "integrity": "sha512-F5CZ68eYzuSvJjGhCLPL3cYx45IxkqXSetCcRgUXtbcm50X2L9oOWQlfUfDdAf+6Pd27YDblBfdtmsThXmwpbQ==", + "dev": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-rehype/node_modules/unist-util-visit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.0.tgz", + "integrity": "sha512-n7lyhFKJfVZ9MnKtqbsqkQEk5P1KShj0+//V7mAcoI6bpbUjh3C/OG8HVD+pBihfh6Ovl01m8dkcv9HNqYajmQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0", + "unist-util-visit-parents": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-rehype/node_modules/unist-util-visit-parents": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.0.tgz", + "integrity": "sha512-y+QVLcY5eR/YVpqDsLf/xh9R3Q2Y4HxkZTp7ViLDU6WtJCEcPmRzW1gpdWDCDIqIlhuPDXOgttqPlykrHYDekg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-slug": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/remark-slug/-/remark-slug-7.0.1.tgz", + "integrity": "sha512-NRvYePr69LdeCkEGwL4KYAmq7kdWG5rEavCXMzUR4qndLoXHJAOLSUmPY6Qm4NJfKix7/EmgObyVaYivONAFhg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/hast": "^2.3.2", + "@types/mdast": "^3.0.0", + "github-slugger": "^1.0.0", + "mdast-util-to-string": "^3.0.0", + "unified": "^10.0.0", + "unist-util-visit": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-slug/node_modules/mdast-util-to-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.1.0.tgz", + "integrity": "sha512-n4Vypz/DZgwo0iMHLQL49dJzlp7YtAJP+N07MZHpjPf/5XJuHUWstviF4Mn2jEiR/GNmtnRRqnwsXExk3igfFA==", + "dev": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-slug/node_modules/unist-util-is": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.1.1.tgz", + "integrity": "sha512-F5CZ68eYzuSvJjGhCLPL3cYx45IxkqXSetCcRgUXtbcm50X2L9oOWQlfUfDdAf+6Pd27YDblBfdtmsThXmwpbQ==", + "dev": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-slug/node_modules/unist-util-visit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.0.tgz", + "integrity": "sha512-n7lyhFKJfVZ9MnKtqbsqkQEk5P1KShj0+//V7mAcoI6bpbUjh3C/OG8HVD+pBihfh6Ovl01m8dkcv9HNqYajmQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0", + "unist-util-visit-parents": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-slug/node_modules/unist-util-visit-parents": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.0.tgz", + "integrity": "sha512-y+QVLcY5eR/YVpqDsLf/xh9R3Q2Y4HxkZTp7ViLDU6WtJCEcPmRzW1gpdWDCDIqIlhuPDXOgttqPlykrHYDekg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-stringify": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-8.1.1.tgz", + "integrity": "sha512-q4EyPZT3PcA3Eq7vPpT6bIdokXzFGp9i85igjmhRyXWmPs0Y6/d2FYwUNotKAWyLch7g0ASZJn/KHHcHZQ163A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ccount": "^1.0.0", + "is-alphanumeric": "^1.0.0", + "is-decimal": "^1.0.0", + "is-whitespace-character": "^1.0.0", + "longest-streak": "^2.0.1", + "markdown-escapes": "^1.0.0", + "markdown-table": "^2.0.0", + "mdast-util-compact": "^2.0.0", + "parse-entities": "^2.0.0", + "repeat-string": "^1.5.4", + "state-toggle": "^1.0.0", + "stringify-entities": "^3.0.0", + "unherit": "^1.0.4", + "xtend": "^4.0.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-unwrap-images": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/remark-unwrap-images/-/remark-unwrap-images-2.1.0.tgz", + "integrity": "sha512-DpM7oEIXNjS3aDQpzxWrTWhUJcd5b8LznbSZnSPi1Yc3fJgLYJlx9uzkj5ekyp01PSBbSbPM2jq4959mcIetvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "hast-util-whitespace": "^1.0.0", + "unist-util-visit": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark/node_modules/remark-parse": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-8.0.3.tgz", + "integrity": "sha512-E1K9+QLGgggHxCQtLt++uXltxEprmWzNfg+MxpfHsZlrddKzZ/hZyWHDbK3/Ap8HJQqYJRXP+jHczdL6q6i85Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ccount": "^1.0.0", + "collapse-white-space": "^1.0.2", + "is-alphabetical": "^1.0.0", + "is-decimal": "^1.0.0", + "is-whitespace-character": "^1.0.0", + "is-word-character": "^1.0.0", + "markdown-escapes": "^1.0.0", + "parse-entities": "^2.0.0", + "repeat-string": "^1.5.4", + "state-toggle": "^1.0.0", + "trim": "0.0.1", + "trim-trailing-lines": "^1.0.0", + "unherit": "^1.0.4", + "unist-util-remove-position": "^2.0.0", + "vfile-location": "^3.0.0", + "xtend": "^4.0.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark/node_modules/unified": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-9.2.2.tgz", + "integrity": "sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "bail": "^1.0.0", + "extend": "^3.0.0", + "is-buffer": "^2.0.0", + "is-plain-obj": "^2.0.0", + "trough": "^1.0.0", + "vfile": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark/node_modules/unist-util-stringify-position": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz", + "integrity": "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark/node_modules/vfile": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz", + "integrity": "sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "is-buffer": "^2.0.0", + "unist-util-stringify-position": "^2.0.0", + "vfile-message": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark/node_modules/vfile-message": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz", + "integrity": "sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-stringify-position": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", + "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.8.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/retext": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/retext/-/retext-7.0.1.tgz", + "integrity": "sha512-N0IaEDkvUjqyfn3/gwxVfI51IxfGzOiVXqPLWnKeCDbiQdxSg0zebzHPxXWnL7TeplAJ+RE4uqrXyYN//s9HjQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "retext-latin": "^2.0.0", + "retext-stringify": "^2.0.0", + "unified": "^8.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-latin": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/retext-latin/-/retext-latin-2.0.4.tgz", + "integrity": "sha512-fOoSSoQgDZ+l/uS81oxI3alBghDUPja0JEl0TpQxI6MN+dhM6fLFumPJwMZ4PJTyL5FFAgjlsdv8IX+6IRuwMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "parse-latin": "^4.0.0", + "unherit": "^1.0.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-smartypants": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/retext-smartypants/-/retext-smartypants-4.0.0.tgz", + "integrity": "sha512-Mknd05zuIycr4Z/hNDxA8ktqv7pG7wYdTZc68a2MJF+Ibg/WloR5bbyrEjijwNwHRR+xWsovkLH4OQIz/mghdw==", + "dev": true, + "license": "MIT", + "dependencies": { + "nlcst-to-string": "^2.0.0", + "unist-util-visit": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-stringify": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/retext-stringify/-/retext-stringify-2.0.4.tgz", + "integrity": "sha512-xOtx5mFJBoT3j7PBtiY2I+mEGERNniofWktI1cKXvjMEJPOuqve0dghLHO1+gz/gScLn4zqspDGv4kk2wS5kSA==", + "dev": true, + "license": "MIT", + "dependencies": { + "nlcst-to-string": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext/node_modules/unified": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/unified/-/unified-8.4.2.tgz", + "integrity": "sha512-JCrmN13jI4+h9UAyKEoGcDZV+i1E7BLFuG7OsaDvTXI5P0qhHX+vZO/kOhz9jn8HGENDKbwSeB0nVOg4gVStGA==", + "dev": true, + "license": "MIT", + "dependencies": { + "bail": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^2.0.0", + "trough": "^1.0.0", + "vfile": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext/node_modules/unist-util-stringify-position": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz", + "integrity": "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.2" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext/node_modules/vfile": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz", + "integrity": "sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "is-buffer": "^2.0.0", + "unist-util-stringify-position": "^2.0.0", + "vfile-message": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext/node_modules/vfile-message": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz", + "integrity": "sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-stringify-position": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rfdc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", + "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", + "dev": true, + "license": "MIT" + }, + "node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/rss": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/rss/-/rss-1.2.2.tgz", + "integrity": "sha1-UKFpiHYTgTOnT5oF0r3I240nqSE=", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-types": "2.1.13", + "xml": "1.0.1" + } + }, + "node_modules/rss/node_modules/mime-db": { + "version": "1.25.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.25.0.tgz", + "integrity": "sha1-wY29fHOl2/b0SgJNwNFloeexw5I=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/rss/node_modules/mime-types": { + "version": "2.1.13", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.13.tgz", + "integrity": "sha1-4HqqnGxrmnyjASxpADrSWjnpKog=", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "~1.25.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/rxjs": { + "version": "7.5.2", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.2.tgz", + "integrity": "sha512-PwDt186XaL3QN5qXj/H9DGyHhP3/RYYgZZwqBv9Tv8rsAaiwFH1IsJJlcgD37J7UW5a6O67qX0KWKS3/pu0m4w==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/rxjs/node_modules/tslib": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", + "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", + "dev": true, + "license": "0BSD" + }, + "node_modules/sade": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", + "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==", + "license": "MIT", + "dependencies": { + "mri": "^1.1.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT" + }, + "node_modules/scheduler": { + "version": "0.0.0-experimental-16d053d59-20230506", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.0.0-experimental-16d053d59-20230506.tgz", + "integrity": "sha512-gGnyU4CkC/+msd1dOQW9zuquI3GoEziuS42soP0AvbTCvRkeU4qhR/mRRaU+/a7JK/OFeSSudcz7enkrkZdSPA==", + "license": "MIT", + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "node_modules/section-matter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", + "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "extend-shallow": "^2.0.1", + "kind-of": "^6.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "license": "MIT", + "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" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "license": "MIT" + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "license": "MIT", + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "license": "ISC" + }, + "node_modules/shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/shell-quote": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.3.tgz", + "integrity": "sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw==", + "dev": true, + "license": "MIT" + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz", + "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/sirv": { + "version": "1.0.19", + "resolved": "https://registry.npmjs.org/sirv/-/sirv-1.0.19.tgz", + "integrity": "sha512-JuLThK3TnZG1TAKDwNIqNq6QA2afLOCcm+iE8D1Kj3GA40pSPsxQjjJl0J8X3tsR7T+CP1GavpzLwYkgVLWrZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@polka/url": "^1.0.0-next.20", + "mrmime": "^1.0.0", + "totalist": "^1.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/slice-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", + "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "astral-regex": "^2.0.0", + "is-fullwidth-code-point": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/space-separated-tokens": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz", + "integrity": "sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true, + "license": "CC-BY-3.0" + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.11", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz", + "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/state-toggle": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.3.tgz", + "integrity": "sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/static-browser-server": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/static-browser-server/-/static-browser-server-1.0.3.tgz", + "integrity": "sha512-ZUyfgGDdFRbZGGJQ1YhiM930Yczz5VlbJObrQLlk24+qNHVQx4OlLcYswEUo3bIyNAbQUIUR9Yr5/Hqjzqb4zA==", + "license": "Apache-2.0", + "dependencies": { + "@open-draft/deferred-promise": "^2.1.0", + "dotenv": "^16.0.3", + "mime-db": "^1.52.0", + "outvariant": "^1.3.0" + } + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/streamsearch": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", + "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/strict-event-emitter": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/strict-event-emitter/-/strict-event-emitter-0.4.6.tgz", + "integrity": "sha512-12KWeb+wixJohmnwNFerbyiBrAlq5qJLwIt38etRtKtmmHyDSoGlIqFE9wx+4IwG0aDjI7GV8tc8ZccjWZZtTg==", + "license": "MIT" + }, + "node_modules/string-argv": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz", + "integrity": "sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.6.19" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/string.prototype.matchall": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.6.tgz", + "integrity": "sha512-6WgDX8HmQqvEd7J+G6VtAahhsQIssiZ8zl7zKh1VDMFyL3hRTJP4FTNA3RbIp2TOQ9AYNDcc7e3fH0Qbup+DBg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1", + "get-intrinsic": "^1.1.1", + "has-symbols": "^1.0.2", + "internal-slot": "^1.0.3", + "regexp.prototype.flags": "^1.3.1", + "side-channel": "^1.0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.padend": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.3.tgz", + "integrity": "sha512-jNIIeokznm8SD/TZISQsZKYu7RJyheFNt84DUPrh482GC8RVp2MKqm2O5oBRdGxbDQoXrhhWtPIWQOiy20svUg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", + "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", + "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/stringify-entities": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-3.1.0.tgz", + "integrity": "sha512-3FP+jGMmMV/ffZs86MoghGqAoqXAdxLrJP4GUdrDN1aIScYih5tuIO3eF4To5AJZ79KDZ8Fpdy7QJnK8SsL1Vg==", + "dev": true, + "license": "MIT", + "dependencies": { + "character-entities-html4": "^1.0.0", + "character-entities-legacy": "^1.0.0", + "xtend": "^4.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/strip-bom-string": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", + "integrity": "sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/style-mod": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/style-mod/-/style-mod-4.0.0.tgz", + "integrity": "sha512-OPhtyEjyyN9x3nhPsu76f52yUGXiZcgvsrFVtvTkyGRQJ0XK+GPc6ov1z+lRpbeabka+MYEQxOYRnt5nF30aMw==", + "license": "MIT" + }, + "node_modules/style-to-object": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.3.0.tgz", + "integrity": "sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==", + "dev": true, + "license": "MIT", + "dependencies": { + "inline-style-parser": "0.1.1" + } + }, + "node_modules/styled-jsx": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.1.tgz", + "integrity": "sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==", + "license": "MIT", + "dependencies": { + "client-only": "0.0.1" + }, + "engines": { + "node": ">= 12.0.0" + }, + "peerDependencies": { + "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "babel-plugin-macros": { + "optional": true + } + } + }, + "node_modules/sucrase": { + "version": "3.32.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.32.0.tgz", + "integrity": "sha512-ydQOU34rpSyj2TGyz4D2p8rbktIOZ8QY9s+DGLvFU1i5pWJE8vkpruCjGCMHsdXwnD7JDcS+noSwM/a7zyNFDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "7.1.6", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/sucrase/node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6" + } + }, + "node_modules/sucrase/node_modules/glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/table": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/table/-/table-6.8.0.tgz", + "integrity": "sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "ajv": "^8.0.1", + "lodash.truncate": "^4.4.2", + "slice-ansi": "^4.0.0", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/table/node_modules/ajv": { + "version": "8.9.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.9.0.tgz", + "integrity": "sha512-qOKJyNj/h+OWx7s5DePL6Zu1KeM9jPZhwBqs+7DzP6bGOvqzVCSf0xueYmVuaC/oQ/VtS2zLMLHdQFbkka+XDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/table/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT" + }, + "node_modules/tailwindcss": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.1.tgz", + "integrity": "sha512-qAYmXRfk3ENzuPBakNK0SRrUDipP8NQnEY6772uDhflcQz5EhRdD7JNZxyrFHVQNCwULPBn6FNPp9brpO7ctcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.3.0", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.19.1", + "lilconfig": "^2.1.0", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.23", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.1", + "postcss-nested": "^6.0.1", + "postcss-selector-parser": "^6.0.11", + "resolve": "^1.22.2", + "sucrase": "^3.32.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tailwindcss/node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/tailwindcss/node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/tailwindcss/node_modules/fast-glob/node_modules/micromatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", + "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.1", + "picomatch": "^2.2.3" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/tailwindcss/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/tailwindcss/node_modules/is-core-module": { + "version": "2.12.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz", + "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==", + "dev": true, + "license": "MIT", + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tailwindcss/node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/tailwindcss/node_modules/nanoid": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/tailwindcss/node_modules/postcss": { + "version": "8.4.25", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.25.tgz", + "integrity": "sha512-7taJ/8t2av0Z+sQEvNzCkpDynl0tX3uJMCODi6nT3PfASC7dYCWV9aQ+uiCf+KBD4SEFcu+GvJdGdwzQ6OSjCw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/tailwindcss/node_modules/postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/tailwindcss/node_modules/postcss-js": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "dev": true, + "license": "MIT", + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, + "node_modules/tailwindcss/node_modules/postcss-load-config": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz", + "integrity": "sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "lilconfig": "^2.0.5", + "yaml": "^2.1.1" + }, + "engines": { + "node": ">= 14" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/tailwindcss/node_modules/postcss-nested": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", + "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.0.11" + }, + "engines": { + "node": ">=12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/tailwindcss/node_modules/postcss-selector-parser": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", + "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/tailwindcss/node_modules/resolve": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", + "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.11.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tailwindcss/node_modules/yaml": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.1.tgz", + "integrity": "sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 14" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true, + "license": "MIT" + }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true, + "license": "MIT" + }, + "node_modules/tiny-warning": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", + "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==", + "license": "MIT" + }, + "node_modules/tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/totalist": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/totalist/-/totalist-1.1.0.tgz", + "integrity": "sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/trim": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz", + "integrity": "sha1-WFhUf2spB1fulczMZm+1AITEYN0=", + "dev": true + }, + "node_modules/trim-lines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", + "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/trim-trailing-lines": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.4.tgz", + "integrity": "sha512-rjUWSqnfTNrjbB9NQWfPMH/xRK1deHeGsHoVfpxJ++XeYXE0d6B1En37AHfw3jtfTU7dzMzZL2jjpe8Qb5gLIQ==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/trough": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz", + "integrity": "sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/tsconfig-paths": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.12.0.tgz", + "integrity": "sha512-e5adrnOYT6zqVnWqZu7i/BQ3BnhzvGbjEjejFXO20lKIKpwTaupkCPgEfv4GZK1IBciJUEhYs3J3p75FdaTFVg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/json5": "^0.0.29", + "json5": "^1.0.1", + "minimist": "^1.2.0", + "strip-bom": "^3.0.0" + } + }, + "node_modules/tsconfig-paths/node_modules/json5": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", + "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/tslib": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", + "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", + "license": "0BSD" + }, + "node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "license": "MIT", + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, + "node_modules/tsutils/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true, + "license": "0BSD" + }, + "node_modules/type": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", + "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==", + "license": "ISC" + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "license": "MIT", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typescript": { + "version": "4.5.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.5.tgz", + "integrity": "sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/unbox-primitive": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", + "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.1", + "has-bigints": "^1.0.1", + "has-symbols": "^1.0.2", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/unherit": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.3.tgz", + "integrity": "sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.0", + "xtend": "^4.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/unified": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.1.tgz", + "integrity": "sha512-v4ky1+6BN9X3pQrOdkFIPWAaeDsHPE1svRDxq7YpTc2plkIqFMwukfqM+l0ewpP9EfwARlt9pPFAeWYhHm8X9w==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "bail": "^2.0.0", + "extend": "^3.0.0", + "is-buffer": "^2.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unified/node_modules/bail": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", + "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/unified/node_modules/is-plain-obj": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.0.0.tgz", + "integrity": "sha512-NXRbBtUdBioI73y/HmOhogw/U5msYPC9DAtGkJXeFcFWSFZw0mCUsPxk/snTuJHzNKA8kLBK4rH97RMB1BfCXw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/unified/node_modules/trough": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/trough/-/trough-2.0.2.tgz", + "integrity": "sha512-FnHq5sTMxC0sk957wHDzRnemFnNBvt/gSY99HzK8F7UP5WAbvP70yX5bd7CjEQkN+TjdxwI7g7lJ6podqrG2/w==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/uniq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", + "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", + "dev": true, + "license": "MIT" + }, + "node_modules/unist-builder": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/unist-builder/-/unist-builder-2.0.3.tgz", + "integrity": "sha512-f98yt5pnlMWlzP539tPc4grGMsFaQQlP/vM396b00jngsiINumNmsY8rkXjfoi1c6QaM8nQ3vaGDuoKWbe/1Uw==", + "dev": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-generated": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-1.1.6.tgz", + "integrity": "sha512-cln2Mm1/CZzN5ttGK7vkoGw+RZ8VcUH6BtGbq98DDtRGquAAOXig1mrBQYelOwMXYS8rK+vZDyyojSjp7JX+Lg==", + "dev": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-is": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz", + "integrity": "sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==", + "dev": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-modify-children": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unist-util-modify-children/-/unist-util-modify-children-2.0.0.tgz", + "integrity": "sha512-HGrj7JQo9DwZt8XFsX8UD4gGqOsIlCih9opG6Y+N11XqkBGKzHo8cvDi+MfQQgiZ7zXRUiQREYHhjOBHERTMdg==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-iterate": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-4.0.3.tgz", + "integrity": "sha512-p/5EMGIa1qwbXjA+QgcBXaPWjSnZfQ2Sc3yBEEfgPwsEmJd8Qh+DSk3LGnmOM4S1bY2C0AjmMnB8RuEYxpPwXQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position-from-estree": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unist-util-position-from-estree/-/unist-util-position-from-estree-1.1.1.tgz", + "integrity": "sha512-xtoY50b5+7IH8tFbkw64gisG9tMSpxDjhX9TmaJJae/XuxQ9R/Kc8Nv1eOsf43Gt4KV/LkriMy9mptDr7XLcaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-remove-position": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-2.0.1.tgz", + "integrity": "sha512-fDZsLYIe2uT+oGFnuZmy73K6ZxOPG/Qcm+w7jbEjaFcJgbQ6cqjs/eSPzXhsmGpAsWPkqZM9pYjww5QTn3LHMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "unist-util-visit": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-stringify-position": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.0.tgz", + "integrity": "sha512-SdfAl8fsDclywZpfMDTVDxA2V7LjtRDTOFd44wUJamgl6OlVngsqWjxvermMYf60elWHbxhuRCZml7AnuXCaSA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz", + "integrity": "sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^4.0.0", + "unist-util-visit-parents": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-children": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/unist-util-visit-children/-/unist-util-visit-children-1.1.4.tgz", + "integrity": "sha512-sA/nXwYRCQVRwZU2/tQWUqJ9JSFM1X3x7JIOsIgSzrFHcfVt6NkzDtKzyxg2cZWkCwGF9CO8x4QNZRJRMK8FeQ==", + "dev": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz", + "integrity": "sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/use-callback-ref": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.2.tgz", + "integrity": "sha512-elOQwe6Q8gqZgDA8mrh44qRTQqpIHDcZ3hXTLjBe1i4ph8XpNJnO+aQf3NaG+lriLopI4HMx9VjQLfPQ6vhnoA==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/use-sidecar": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.2.tgz", + "integrity": "sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==", + "license": "MIT", + "dependencies": { + "detect-node-es": "^1.1.0", + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "@types/react": "^16.9.0 || ^17.0.0 || ^18.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true, + "license": "MIT" + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "license": "MIT", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uvu": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/uvu/-/uvu-0.5.6.tgz", + "integrity": "sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==", + "license": "MIT", + "dependencies": { + "dequal": "^2.0.0", + "diff": "^5.0.0", + "kleur": "^4.0.3", + "sade": "^1.7.3" + }, + "bin": { + "uvu": "bin.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/v8-compile-cache": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", + "dev": true, + "license": "MIT" + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vfile": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.0.tgz", + "integrity": "sha512-Tj44nY/48OQvarrE4FAjUfrv7GZOYzPbl5OD65HxVKwLJKMPU7zmfV8cCgCnzKWnSfYG2f3pxu+ALqs7j22xQQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "is-buffer": "^2.0.0", + "unist-util-stringify-position": "^3.0.0", + "vfile-message": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-location": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-3.2.0.tgz", + "integrity": "sha512-aLEIZKv/oxuCDZ8lkJGhuhztf/BW4M+iHdCwglA/eWc+vtuRFJj8EtgceYFX4LRjOhCAAiNHsKGssC6onJ+jbA==", + "dev": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-message": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.0.tgz", + "integrity": "sha512-4QJbBk+DkPEhBXq3f260xSaWtjE4gPKOfulzfMFF8ZNwaPZieWsg3iVlcmF04+eebzpcpeXOOFMfrYzJHVYg+g==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-stringify-position": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/w3c-keyname": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.4.tgz", + "integrity": "sha512-tOhfEwEzFLJzf6d1ZPkYfGj+FWhIpBux9ppoP3rlclw3Z0BZv3N7b7030Z1kYth+6rDuAsXUFr+d0VE6Ed1ikw==", + "license": "MIT" + }, + "node_modules/webpack-bundle-analyzer": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.5.0.tgz", + "integrity": "sha512-GUMZlM3SKwS8Z+CKeIFx7CVoHn3dXFcUAjT/dcZQQmfSZGvitPfMob2ipjai7ovFFqPvTqkEZ/leL4O0YOdAYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "acorn": "^8.0.4", + "acorn-walk": "^8.0.0", + "chalk": "^4.1.0", + "commander": "^7.2.0", + "gzip-size": "^6.0.0", + "lodash": "^4.17.20", + "opener": "^1.5.2", + "sirv": "^1.0.7", + "ws": "^7.3.1" + }, + "bin": { + "webpack-bundle-analyzer": "lib/bin/analyzer.js" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/webpack-bundle-analyzer/node_modules/acorn": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", + "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", + "dev": true, + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/webpack-bundle-analyzer/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/webpack-bundle-analyzer/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/webpack-bundle-analyzer/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/webpack-bundle-analyzer/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true, + "license": "ISC" + }, + "node_modules/ws": { + "version": "7.5.6", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.6.tgz", + "integrity": "sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.3.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xml": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/xml/-/xml-1.0.1.tgz", + "integrity": "sha1-eLpyAgApxbyHuKgaPPzXS0ovweU=", + "dev": true, + "license": "MIT" + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "license": "ISC" + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 6" + } + }, + "node_modules/zod": { + "version": "3.21.4", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.21.4.tgz", + "integrity": "sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "node_modules/zwitch": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.2.tgz", + "integrity": "sha512-JZxotl7SxAJH0j7dN4pxsTV6ZLXoLdGME+PsjkL/DaBrVryK9kTGq06GfKrwcSOqypP+fdXGoCHE36b99fWVoA==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/@next/swc-darwin-x64": { + "version": "13.4.1", + "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-13.4.1.tgz", + "integrity": "sha512-7cmDgF9tGWTgn5Gw+vP17miJbH4wcraMHDCOHTYWkO/VeKT73dUWG23TNRLfgtCNSPgH4V5B4uLHoZTanx9bAw==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-gnu": { + "version": "13.4.1", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.4.1.tgz", + "integrity": "sha512-qwJqmCri2ie8aTtE5gjTSr8S6O8B67KCYgVZhv9gKH44yvc/zXbAY8u23QGULsYOyh1islWE5sWfQNLOj9iryg==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-arm64-musl": { + "version": "13.4.1", + "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.4.1.tgz", + "integrity": "sha512-qcC54tWNGDv/VVIFkazxhqH1Bnagjfs4enzELVRlUOoJPD2BGJTPI7z08pQPbbgxLtRiu8gl2mXvpB8WlOkMeA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-gnu": { + "version": "13.4.1", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.4.1.tgz", + "integrity": "sha512-9TeWFlpLsBosZ+tsm/rWBaMwt5It9tPH8m3nawZqFUUrZyGRfGcI67js774vtx0k3rL9qbyY6+3pw9BCVpaYUA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-linux-x64-musl": { + "version": "13.4.1", + "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.4.1.tgz", + "integrity": "sha512-sNDGaWmSqTS4QRUzw61wl4mVPeSqNIr1OOjLlQTRuyInxMxtqImRqdvzDvFTlDfdeUMU/DZhWGYoHrXLlZXe6A==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-arm64-msvc": { + "version": "13.4.1", + "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.4.1.tgz", + "integrity": "sha512-+CXZC7u1iXdLRudecoUYbhbsXpglYv8KFYsFxKBPn7kg+bk7eJo738wAA4jXIl8grTF2mPdmO93JOQym+BlYGA==", + "cpu": [ + "arm64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-ia32-msvc": { + "version": "13.4.1", + "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.4.1.tgz", + "integrity": "sha512-vIoXVVc7UYO68VwVMDKwJC2+HqAZQtCYiVlApyKEeIPIQpz2gpufzGxk1z3/gwrJt/kJ5CDZjlhYDCzd3hdz+g==", + "cpu": [ + "ia32" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@next/swc-win32-x64-msvc": { + "version": "13.4.1", + "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.4.1.tgz", + "integrity": "sha512-n8V5ImLQZibKTu10UUdI3nIeTLkliEXe628qxqW9v8My3BAH2a7H0SaCqkV2OgqFnn8sG1wxKYw9/SNJ632kSA==", + "cpu": [ + "x64" + ], + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + } + } +} diff --git a/package.json b/package.json index 1f63eb12..ad9b9baa 100644 --- a/package.json +++ b/package.json @@ -24,8 +24,8 @@ }, "dependencies": { "@codesandbox/sandpack-react": "2.13.5", - "@docsearch/css": "3.0.0-alpha.41", - "@docsearch/react": "3.0.0-alpha.41", + "@docsearch/css": "^3.6.1", + "@docsearch/react": "^3.6.1", "@headlessui/react": "^1.7.0", "@radix-ui/react-context-menu": "^2.1.5", "body-scroll-lock": "^3.1.3", diff --git a/src/components/Search.tsx b/src/components/Search.tsx index cff7f885..bdc4702a 100644 --- a/src/components/Search.tsx +++ b/src/components/Search.tsx @@ -94,7 +94,17 @@ export function Search({ onOpen, onClose, searchParameters = { - hitsPerPage: 5, + hitsPerPage: 30, + attributesToHighlight: [ + 'hierarchy.lvl0', + 'hierarchy.lvl1', + 'hierarchy.lvl2', + 'hierarchy.lvl3', + 'hierarchy.lvl4', + 'hierarchy.lvl5', + 'hierarchy.lvl6', + 'content', + ], }, }: SearchProps) { useDocSearchKeyboardEvents({isOpen, onOpen, onClose}); @@ -111,6 +121,7 @@ export function Search({ <DocSearchModal {...options} searchParameters={searchParameters} + insights={true} onClose={onClose} navigator={{ navigate({itemUrl}: any) { diff --git a/src/siteConfig.js b/src/siteConfig.js index 6d37e10f..e51c88d7 100644 --- a/src/siteConfig.js +++ b/src/siteConfig.js @@ -15,7 +15,7 @@ exports.siteConfig = { twitterUrl: 'https://twitter.com/reactjs', algolia: { appId: '1FCF9AYYAT', - apiKey: 'e8451218980a351815563de007648b00', + apiKey: '1b7ad4e1c89e645e351e59d40544eda1', indexName: 'beta-react', }, }; diff --git a/yarn.lock b/yarn.lock index d8da351b..3afcb1fc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,171 +2,196 @@ # yarn lockfile v1 -"@algolia/autocomplete-core@1.2.2": - version "1.2.2" - resolved "https://registry.yarnpkg.com/@algolia/autocomplete-core/-/autocomplete-core-1.2.2.tgz#c121e70c78fd0175c989a219918124ad7758e48b" - integrity sha512-JOQaURze45qVa8OOFDh+ozj2a/ObSRsVyz6Zd0aiBeej+RSTqrr1hDVpGNbbXYLW26G5ujuc9QIdH+rBHn95nw== - dependencies: - "@algolia/autocomplete-shared" "1.2.2" - -"@algolia/autocomplete-preset-algolia@1.2.2": - version "1.2.2" - resolved "https://registry.yarnpkg.com/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.2.2.tgz#da734ef9e42a5f64cdad2dfc81c4e9fbf805d976" - integrity sha512-AZkh+bAMaJDzMZTelFOXJTJqkp5VPGH8W3n0B+Ggce7DdozlMRsDLguKTCQAkZ0dJ1EbBPyFL5ztL/JImB137Q== - dependencies: - "@algolia/autocomplete-shared" "1.2.2" - -"@algolia/autocomplete-shared@1.2.2": - version "1.2.2" - resolved "https://registry.yarnpkg.com/@algolia/autocomplete-shared/-/autocomplete-shared-1.2.2.tgz#ff25dc308f2a296b2b9b325f1e3b57498eea3e0c" - integrity sha512-mLTl7d2C1xVVazHt/bqh9EE/u2lbp5YOxLDdcjILXmUqOs5HH1D4SuySblXaQG1uf28FhTqMGp35qE5wJQnqAw== - -"@algolia/cache-browser-local-storage@4.12.0": - version "4.12.0" - resolved "https://registry.yarnpkg.com/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.12.0.tgz#1f873e4f28a39d25b0a589ebe8f826509458e1fb" - integrity sha512-l+G560B6N1k0rIcOjTO1yCzFUbg2Zy2HCii9s03e13jGgqduVQmk79UUCYszjsJ5GPJpUEKcVEtAIpP7tjsXVA== - dependencies: - "@algolia/cache-common" "4.12.0" - -"@algolia/cache-common@4.12.0": - version "4.12.0" - resolved "https://registry.yarnpkg.com/@algolia/cache-common/-/cache-common-4.12.0.tgz#c1111a4d3e9ba2d52cadb4523152580db0887293" - integrity sha512-2Z8BV+NX7oN7RmmQbLqmW8lfN9aAjOexX1FJjzB0YfKC9ifpi9Jl4nSxlnbU+iLR6QhHo0IfuyQ7wcnucCGCGQ== - -"@algolia/cache-in-memory@4.12.0": - version "4.12.0" - resolved "https://registry.yarnpkg.com/@algolia/cache-in-memory/-/cache-in-memory-4.12.0.tgz#f4bdcbf8a6419f0166cfc7ef5594af871741e29e" - integrity sha512-b6ANkZF6vGAo+sYv6g25W5a0u3o6F549gEAgtTDTVA1aHcdWwe/HG/dTJ7NsnHbuR+A831tIwnNYQjRp3/V/Jw== - dependencies: - "@algolia/cache-common" "4.12.0" - -"@algolia/client-account@4.12.0": - version "4.12.0" - resolved "https://registry.yarnpkg.com/@algolia/client-account/-/client-account-4.12.0.tgz#b28445b47e2abf81dc76982d16ba8458f5c99521" - integrity sha512-gzXN75ZydNheNXUN3epS+aLsKnB/PHFVlGUUjXL8WHs4lJP3B5FtHvaA/NCN5DsM3aamhuY5p0ff1XIA+Lbcrw== - dependencies: - "@algolia/client-common" "4.12.0" - "@algolia/client-search" "4.12.0" - "@algolia/transporter" "4.12.0" - -"@algolia/client-analytics@4.12.0": - version "4.12.0" - resolved "https://registry.yarnpkg.com/@algolia/client-analytics/-/client-analytics-4.12.0.tgz#470f115517256c92a5605ae95762531c7906ec74" - integrity sha512-rO2cZCt00Opk66QBZb7IBGfCq4ZE3EiuGkXssf2Monb5urujy0r8CknK2i7bzaKtPbd2vlvhmLP4CEHQqF6SLQ== - dependencies: - "@algolia/client-common" "4.12.0" - "@algolia/client-search" "4.12.0" - "@algolia/requester-common" "4.12.0" - "@algolia/transporter" "4.12.0" - -"@algolia/client-common@4.12.0": - version "4.12.0" - resolved "https://registry.yarnpkg.com/@algolia/client-common/-/client-common-4.12.0.tgz#402395e2cffad89188d76b83615acffb3e45e658" - integrity sha512-fcrFN7FBmxiSyjeu3sF4OnPkC1l7/8oyQ8RMM8CHpVY8cad6/ay35MrfRfgfqdzdFA8LzcBYO7fykuJv0eOqxw== - dependencies: - "@algolia/requester-common" "4.12.0" - "@algolia/transporter" "4.12.0" - -"@algolia/client-personalization@4.12.0": - version "4.12.0" - resolved "https://registry.yarnpkg.com/@algolia/client-personalization/-/client-personalization-4.12.0.tgz#09c89c1558a91db3bfa60d17f7258ae63861352b" - integrity sha512-wCJfSQEmX6ZOuJBJGjy+sbXiW0iy7tMNAhsVMV9RRaJE4727e5WAqwFWZssD877WQ74+/nF/VyTaB1+wejo33Q== - dependencies: - "@algolia/client-common" "4.12.0" - "@algolia/requester-common" "4.12.0" - "@algolia/transporter" "4.12.0" - -"@algolia/client-search@4.12.0": - version "4.12.0" - resolved "https://registry.yarnpkg.com/@algolia/client-search/-/client-search-4.12.0.tgz#ac099ee9f8de85ec204d840bcac734224c7d150c" - integrity sha512-ik6dswcTQtOdZN+8aKntI9X2E6Qpqjtyda/+VANiHThY9GD2PBXuNuuC2HvlF26AbBYp5xaSE/EKxn1DIiIJ4Q== - dependencies: - "@algolia/client-common" "4.12.0" - "@algolia/requester-common" "4.12.0" - "@algolia/transporter" "4.12.0" - -"@algolia/logger-common@4.12.0": - version "4.12.0" - resolved "https://registry.yarnpkg.com/@algolia/logger-common/-/logger-common-4.12.0.tgz#0f9dbe7ace88194b395a2cb958490eb47ac91f8e" - integrity sha512-V//9rzLdJujA3iZ/tPhmKR/m2kjSZrymxOfUiF3024u2/7UyOpH92OOCrHUf023uMGYHRzyhBz5ESfL1oCdh7g== - -"@algolia/logger-console@4.12.0": - version "4.12.0" - resolved "https://registry.yarnpkg.com/@algolia/logger-console/-/logger-console-4.12.0.tgz#a40edeb989bf0d7ff79d989171dad64cd0f01225" - integrity sha512-pHvoGv53KXRIJHLk9uxBwKirwEo12G9+uo0sJLWESThAN3v5M+ycliU1AkUXQN8+9rds2KxfULAb+vfyfBKf8A== +"@algolia/autocomplete-core@1.9.3": + version "1.9.3" + resolved "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.9.3.tgz" + integrity sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw== dependencies: - "@algolia/logger-common" "4.12.0" + "@algolia/autocomplete-plugin-algolia-insights" "1.9.3" + "@algolia/autocomplete-shared" "1.9.3" -"@algolia/requester-browser-xhr@4.12.0": - version "4.12.0" - resolved "https://registry.yarnpkg.com/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.12.0.tgz#64e8e4d4f0724e477421454215195400351cfe61" - integrity sha512-rGlHNMM3jIZBwSpz33CVkeXHilzuzHuFXEEW1icP/k3KW7kwBrKFJwBy42RzAJa5BYlLsTCFTS3xkPhYwTQKLg== +"@algolia/autocomplete-plugin-algolia-insights@1.9.3": + version "1.9.3" + resolved "https://registry.npmjs.org/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.9.3.tgz" + integrity sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg== dependencies: - "@algolia/requester-common" "4.12.0" + "@algolia/autocomplete-shared" "1.9.3" -"@algolia/requester-common@4.12.0": - version "4.12.0" - resolved "https://registry.yarnpkg.com/@algolia/requester-common/-/requester-common-4.12.0.tgz#b4d96f3cbd73206b6042e523d414a34cc005c2e2" - integrity sha512-qgfdc73nXqpVyOMr6CMTx3nXvud9dP6GcMGDqPct+fnxogGcJsp24cY2nMqUrAfgmTJe9Nmy7Lddv0FyHjONMg== - -"@algolia/requester-node-http@4.12.0": - version "4.12.0" - resolved "https://registry.yarnpkg.com/@algolia/requester-node-http/-/requester-node-http-4.12.0.tgz#8d8e1b67edbaec8e8e8b8c7c606945b969667267" - integrity sha512-mOTRGf/v/dXshBoZKNhMG00ZGxoUH9QdSpuMKYnuWwIgstN24uj3DQx+Ho3c+uq0TYfq7n2v71uoJWuiW32NMQ== +"@algolia/autocomplete-preset-algolia@1.9.3": + version "1.9.3" + resolved "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.9.3.tgz" + integrity sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA== dependencies: - "@algolia/requester-common" "4.12.0" + "@algolia/autocomplete-shared" "1.9.3" -"@algolia/transporter@4.12.0": - version "4.12.0" - resolved "https://registry.yarnpkg.com/@algolia/transporter/-/transporter-4.12.0.tgz#e375e10731df95f1be3593b32e86b5c6452cc213" - integrity sha512-MOQVHZ4BcBpf3LtOY/3fqXHAcvI8MahrXDHk9QrBE/iGensQhDiZby5Dn3o2JN/zd9FMnVbdPQ8gnkiMwZiakQ== - dependencies: - "@algolia/cache-common" "4.12.0" - "@algolia/logger-common" "4.12.0" - "@algolia/requester-common" "4.12.0" +"@algolia/autocomplete-shared@1.9.3": + version "1.9.3" + resolved "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.9.3.tgz" + integrity sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ== + +"@algolia/cache-browser-local-storage@4.24.0": + version "4.24.0" + resolved "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.24.0.tgz" + integrity sha512-t63W9BnoXVrGy9iYHBgObNXqYXM3tYXCjDSHeNwnsc324r4o5UiVKUiAB4THQ5z9U5hTj6qUvwg/Ez43ZD85ww== + dependencies: + "@algolia/cache-common" "4.24.0" + +"@algolia/cache-common@4.24.0": + version "4.24.0" + resolved "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.24.0.tgz" + integrity sha512-emi+v+DmVLpMGhp0V9q9h5CdkURsNmFC+cOS6uK9ndeJm9J4TiqSvPYVu+THUP8P/S08rxf5x2P+p3CfID0Y4g== + +"@algolia/cache-in-memory@4.24.0": + version "4.24.0" + resolved "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.24.0.tgz" + integrity sha512-gDrt2so19jW26jY3/MkFg5mEypFIPbPoXsQGQWAi6TrCPsNOSEYepBMPlucqWigsmEy/prp5ug2jy/N3PVG/8w== + dependencies: + "@algolia/cache-common" "4.24.0" + +"@algolia/client-account@4.24.0": + version "4.24.0" + resolved "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.24.0.tgz" + integrity sha512-adcvyJ3KjPZFDybxlqnf+5KgxJtBjwTPTeyG2aOyoJvx0Y8dUQAEOEVOJ/GBxX0WWNbmaSrhDURMhc+QeevDsA== + dependencies: + "@algolia/client-common" "4.24.0" + "@algolia/client-search" "4.24.0" + "@algolia/transporter" "4.24.0" + +"@algolia/client-analytics@4.24.0": + version "4.24.0" + resolved "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.24.0.tgz" + integrity sha512-y8jOZt1OjwWU4N2qr8G4AxXAzaa8DBvyHTWlHzX/7Me1LX8OayfgHexqrsL4vSBcoMmVw2XnVW9MhL+Y2ZDJXg== + dependencies: + "@algolia/client-common" "4.24.0" + "@algolia/client-search" "4.24.0" + "@algolia/requester-common" "4.24.0" + "@algolia/transporter" "4.24.0" + +"@algolia/client-common@4.24.0": + version "4.24.0" + resolved "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.24.0.tgz" + integrity sha512-bc2ROsNL6w6rqpl5jj/UywlIYC21TwSSoFHKl01lYirGMW+9Eek6r02Tocg4gZ8HAw3iBvu6XQiM3BEbmEMoiA== + dependencies: + "@algolia/requester-common" "4.24.0" + "@algolia/transporter" "4.24.0" + +"@algolia/client-personalization@4.24.0": + version "4.24.0" + resolved "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.24.0.tgz" + integrity sha512-l5FRFm/yngztweU0HdUzz1rC4yoWCFo3IF+dVIVTfEPg906eZg5BOd1k0K6rZx5JzyyoP4LdmOikfkfGsKVE9w== + dependencies: + "@algolia/client-common" "4.24.0" + "@algolia/requester-common" "4.24.0" + "@algolia/transporter" "4.24.0" + +"@algolia/client-search@4.24.0": + version "4.24.0" + resolved "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.24.0.tgz" + integrity sha512-uRW6EpNapmLAD0mW47OXqTP8eiIx5F6qN9/x/7HHO6owL3N1IXqydGwW5nhDFBrV+ldouro2W1VX3XlcUXEFCA== + dependencies: + "@algolia/client-common" "4.24.0" + "@algolia/requester-common" "4.24.0" + "@algolia/transporter" "4.24.0" + +"@algolia/logger-common@4.24.0": + version "4.24.0" + resolved "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.24.0.tgz" + integrity sha512-LLUNjkahj9KtKYrQhFKCzMx0BY3RnNP4FEtO+sBybCjJ73E8jNdaKJ/Dd8A/VA4imVHP5tADZ8pn5B8Ga/wTMA== + +"@algolia/logger-console@4.24.0": + version "4.24.0" + resolved "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.24.0.tgz" + integrity sha512-X4C8IoHgHfiUROfoRCV+lzSy+LHMgkoEEU1BbKcsfnV0i0S20zyy0NLww9dwVHUWNfPPxdMU+/wKmLGYf96yTg== + dependencies: + "@algolia/logger-common" "4.24.0" + +"@algolia/recommend@4.24.0": + version "4.24.0" + resolved "https://registry.npmjs.org/@algolia/recommend/-/recommend-4.24.0.tgz" + integrity sha512-P9kcgerfVBpfYHDfVZDvvdJv0lEoCvzNlOy2nykyt5bK8TyieYyiD0lguIJdRZZYGre03WIAFf14pgE+V+IBlw== + dependencies: + "@algolia/cache-browser-local-storage" "4.24.0" + "@algolia/cache-common" "4.24.0" + "@algolia/cache-in-memory" "4.24.0" + "@algolia/client-common" "4.24.0" + "@algolia/client-search" "4.24.0" + "@algolia/logger-common" "4.24.0" + "@algolia/logger-console" "4.24.0" + "@algolia/requester-browser-xhr" "4.24.0" + "@algolia/requester-common" "4.24.0" + "@algolia/requester-node-http" "4.24.0" + "@algolia/transporter" "4.24.0" + +"@algolia/requester-browser-xhr@4.24.0": + version "4.24.0" + resolved "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.24.0.tgz" + integrity sha512-Z2NxZMb6+nVXSjF13YpjYTdvV3032YTBSGm2vnYvYPA6mMxzM3v5rsCiSspndn9rzIW4Qp1lPHBvuoKJV6jnAA== + dependencies: + "@algolia/requester-common" "4.24.0" + +"@algolia/requester-common@4.24.0": + version "4.24.0" + resolved "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.24.0.tgz" + integrity sha512-k3CXJ2OVnvgE3HMwcojpvY6d9kgKMPRxs/kVohrwF5WMr2fnqojnycZkxPoEg+bXm8fi5BBfFmOqgYztRtHsQA== + +"@algolia/requester-node-http@4.24.0": + version "4.24.0" + resolved "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.24.0.tgz" + integrity sha512-JF18yTjNOVYvU/L3UosRcvbPMGT9B+/GQWNWnenIImglzNVGpyzChkXLnrSf6uxwVNO6ESGu6oN8MqcGQcjQJw== + dependencies: + "@algolia/requester-common" "4.24.0" + +"@algolia/transporter@4.24.0": + version "4.24.0" + resolved "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.24.0.tgz" + integrity sha512-86nI7w6NzWxd1Zp9q3413dRshDqAzSbsQjhcDhPIatEFiZrL1/TjnHL8S7jVKFePlIMzDsZWXAXwXzcok9c5oA== + dependencies: + "@algolia/cache-common" "4.24.0" + "@algolia/logger-common" "4.24.0" + "@algolia/requester-common" "4.24.0" "@alloc/quick-lru@^5.2.0": version "5.2.0" - resolved "https://registry.yarnpkg.com/@alloc/quick-lru/-/quick-lru-5.2.0.tgz#7bf68b20c0a350f936915fcae06f58e32007ce30" + resolved "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz" integrity sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw== "@ampproject/remapping@^2.1.0": version "2.2.0" - resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d" + resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz" integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w== dependencies: "@jridgewell/gen-mapping" "^0.1.0" "@jridgewell/trace-mapping" "^0.3.9" -"@babel/code-frame@7.12.11": - version "7.12.11" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" - integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== - dependencies: - "@babel/highlight" "^7.10.4" - "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.16.7": version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789" + resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz" integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg== dependencies: "@babel/highlight" "^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" + resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz" integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== dependencies: "@babel/highlight" "^7.18.6" +"@babel/code-frame@7.12.11": + version "7.12.11" + resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz" + integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== + dependencies: + "@babel/highlight" "^7.10.4" + "@babel/compat-data@^7.19.0": version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.19.0.tgz#2a592fd89bacb1fcde68de31bee4f2f2dacb0e86" + resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.19.0.tgz" integrity sha512-y5rqgTTPTmaF5e2nVhOxw+Ur9HDJLsWb6U/KpgUzRZEdPfE6VOubXBKLdbcUTijzRptednSBDQbYZBOSqJxpJw== "@babel/core@^7.12.9": version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.19.0.tgz#d2f5f4f2033c00de8096be3c9f45772563e150c3" + resolved "https://registry.npmjs.org/@babel/core/-/core-7.19.0.tgz" integrity sha512-reM4+U7B9ss148rh2n1Qs9ASS+w94irYXga7c2jaQv9RVzpS7Mv1a9rnYYwuDa45G+DkORt9g6An2k/V4d9LbQ== dependencies: "@ampproject/remapping" "^2.1.0" @@ -187,7 +212,7 @@ "@babel/generator@^7.16.8": version "7.16.8" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.16.8.tgz#359d44d966b8cd059d543250ce79596f792f2ebe" + resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.16.8.tgz" integrity sha512-1ojZwE9+lOXzcWdWmO6TbUzDfqLD39CmEhN8+2cX9XkDo5yW1OpgfejfliysR2AWLpMamTiOiAp/mtroaymhpw== dependencies: "@babel/types" "^7.16.8" @@ -196,7 +221,7 @@ "@babel/generator@^7.19.0": version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.19.0.tgz#785596c06425e59334df2ccee63ab166b738419a" + resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.19.0.tgz" integrity sha512-S1ahxf1gZ2dpoiFgA+ohK9DIpz50bJ0CWs7Zlzb54Z4sG8qmdIrGrVqmy1sAtTVRb+9CU6U8VqT9L0Zj7hxHVg== dependencies: "@babel/types" "^7.19.0" @@ -205,14 +230,14 @@ "@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" + resolved "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz" integrity sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA== dependencies: "@babel/types" "^7.18.6" "@babel/helper-compilation-targets@^7.19.0": version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.0.tgz#537ec8339d53e806ed422f1e06c8f17d55b96bb0" + resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.0.tgz" integrity sha512-Ai5bNWXIvwDvWM7njqsG3feMlL9hCVQsPYXodsZyLwshYkZVJt59Gftau4VrE8S9IT9asd2uSP1hG6wCNw+sXA== dependencies: "@babel/compat-data" "^7.19.0" @@ -222,19 +247,19 @@ "@babel/helper-environment-visitor@^7.16.7": version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz#ff484094a839bde9d89cd63cba017d7aae80ecd7" + resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz" integrity sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag== dependencies: "@babel/types" "^7.16.7" "@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" + resolved "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz" integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg== "@babel/helper-function-name@^7.16.7": version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz#f1ec51551fb1c8956bc8dd95f38523b6cf375f8f" + resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz" integrity sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA== dependencies: "@babel/helper-get-function-arity" "^7.16.7" @@ -243,7 +268,7 @@ "@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" + resolved "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz" integrity sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w== dependencies: "@babel/template" "^7.18.10" @@ -251,35 +276,35 @@ "@babel/helper-get-function-arity@^7.16.7": version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz#ea08ac753117a669f1508ba06ebcc49156387419" + resolved "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz" integrity sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw== dependencies: "@babel/types" "^7.16.7" "@babel/helper-hoist-variables@^7.16.7": version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz#86bcb19a77a509c7b77d0e22323ef588fa58c246" + resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz" integrity sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg== dependencies: "@babel/types" "^7.16.7" "@babel/helper-hoist-variables@^7.18.6": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678" + resolved "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz" integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q== dependencies: "@babel/types" "^7.18.6" "@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" + resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz" integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA== dependencies: "@babel/types" "^7.18.6" "@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.19.0": version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.19.0.tgz#309b230f04e22c58c6a2c0c0c7e50b216d350c30" + resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.0.tgz" integrity sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ== dependencies: "@babel/helper-environment-visitor" "^7.18.9" @@ -293,53 +318,53 @@ "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.19.0": version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz#4796bb14961521f0f8715990bee2fb6e51ce21bf" + resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz" integrity sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw== "@babel/helper-simple-access@^7.18.6": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz#d6d8f51f4ac2978068df934b569f08f29788c7ea" + resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz" integrity sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g== dependencies: "@babel/types" "^7.18.6" "@babel/helper-split-export-declaration@^7.16.7": version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz#0b648c0c42da9d3920d85ad585f2778620b8726b" + resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz" integrity sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw== dependencies: "@babel/types" "^7.16.7" "@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" + resolved "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz" integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA== dependencies: "@babel/types" "^7.18.6" "@babel/helper-string-parser@^7.18.10": version "7.18.10" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz#181f22d28ebe1b3857fa575f5c290b1aaf659b56" + resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz" integrity sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw== "@babel/helper-validator-identifier@^7.16.7": version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad" + resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz" integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw== "@babel/helper-validator-identifier@^7.18.6": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz#9c97e30d31b2b8c72a1d08984f2ca9b574d7a076" + resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz" integrity sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g== "@babel/helper-validator-option@^7.18.6": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz#bf0d2b5a509b1f336099e4ff36e1a63aa5db4db8" + resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz" integrity sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw== "@babel/helpers@^7.19.0": version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.19.0.tgz#f30534657faf246ae96551d88dd31e9d1fa1fc18" + resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.19.0.tgz" integrity sha512-DRBCKGwIEdqY3+rPJgG/dKfQy9+08rHIAJx8q2p+HSWP87s2HCrQmaAMMyMll2kIXKCW0cO1RdQskx15Xakftg== dependencies: "@babel/template" "^7.18.10" @@ -348,7 +373,7 @@ "@babel/highlight@^7.10.4", "@babel/highlight@^7.16.7": version "7.16.10" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.10.tgz#744f2eb81579d6eea753c227b0f570ad785aba88" + resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz" integrity sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw== dependencies: "@babel/helper-validator-identifier" "^7.16.7" @@ -357,7 +382,7 @@ "@babel/highlight@^7.18.6": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" + resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz" integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== dependencies: "@babel/helper-validator-identifier" "^7.18.6" @@ -366,24 +391,29 @@ "@babel/parser@^7.16.10", "@babel/parser@^7.16.7", "@babel/parser@^7.7.0": version "7.16.12" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.12.tgz#9474794f9a650cf5e2f892444227f98e28cdf8b6" + resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.16.12.tgz" integrity sha512-VfaV15po8RiZssrkPweyvbGVSe4x2y+aciFCgn0n0/SJMR22cwofRV1mtnJQYcSB1wUTaA/X1LnA3es66MCO5A== -"@babel/parser@^7.18.10", "@babel/parser@^7.19.0": +"@babel/parser@^7.18.10": + version "7.19.0" + resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.19.0.tgz" + integrity sha512-74bEXKX2h+8rrfQUfsBfuZZHzsEs6Eql4pqy/T4Nn6Y9wNPggQOqD6z6pn5Bl8ZfysKouFZT/UXEH94ummEeQw== + +"@babel/parser@^7.19.0": version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.19.0.tgz#497fcafb1d5b61376959c1c338745ef0577aa02c" + resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.19.0.tgz" integrity sha512-74bEXKX2h+8rrfQUfsBfuZZHzsEs6Eql4pqy/T4Nn6Y9wNPggQOqD6z6pn5Bl8ZfysKouFZT/UXEH94ummEeQw== "@babel/plugin-syntax-jsx@^7.18.6": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz#a8feef63b010150abd97f1649ec296e849943ca0" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz" integrity sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q== dependencies: "@babel/helper-plugin-utils" "^7.18.6" "@babel/plugin-transform-modules-commonjs@^7.18.6": version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz#afd243afba166cca69892e24a8fd8c9f2ca87883" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz" integrity sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q== dependencies: "@babel/helper-module-transforms" "^7.18.6" @@ -393,21 +423,21 @@ "@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" + resolved "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.18.6.tgz" 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" + resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.18.6.tgz" integrity sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA== dependencies: "@babel/plugin-transform-react-jsx" "^7.18.6" "@babel/plugin-transform-react-jsx@^7.18.6": version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.19.0.tgz#b3cbb7c3a00b92ec8ae1027910e331ba5c500eb9" + resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.19.0.tgz" integrity sha512-UVEvX3tXie3Szm3emi1+G63jyw1w5IcMY0FSKM+CRnKRI5Mr1YbCNgsSTwoTwKphQEG9P+QqmuRFneJPZuHNhg== dependencies: "@babel/helper-annotate-as-pure" "^7.18.6" @@ -418,7 +448,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" + resolved "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.18.6.tgz" integrity sha512-I8VfEPg9r2TRDdvnHgPepTKvuRomzA8+u+nhY7qSI1fR2hRNebasZEETLyM5mAUr0Ku56OkXJ0I7NHJnO6cJiQ== dependencies: "@babel/helper-annotate-as-pure" "^7.18.6" @@ -426,7 +456,7 @@ "@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" + resolved "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.18.6.tgz" integrity sha512-zXr6atUmyYdiWRVLOZahakYmOBHtWc2WGCkP8PYTgZi0iJXDY2CN180TdrIW4OGOAdLc7TifzDIvtx6izaRIzg== dependencies: "@babel/helper-plugin-utils" "^7.18.6" @@ -438,29 +468,36 @@ "@babel/runtime-corejs3@^7.10.2": version "7.16.8" - resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.16.8.tgz#ea533d96eda6fdc76b1812248e9fbd0c11d4a1a7" + resolved "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.16.8.tgz" integrity sha512-3fKhuICS1lMz0plI5ktOE/yEtBRMVxplzRkdn6mJQ197XiY0JnrzYV0+Mxozq3JZ8SBV9Ecurmw1XsGbwOf+Sg== dependencies: core-js-pure "^3.20.2" regenerator-runtime "^0.13.4" -"@babel/runtime@^7.10.2", "@babel/runtime@^7.16.3": +"@babel/runtime@^7.10.2": version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.16.7.tgz#03ff99f64106588c9c403c6ecb8c3bafbbdff1fa" + resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.7.tgz" integrity sha512-9E9FJowqAsytyOY6LG+1KuueckRL+aQW+mKvXRXnuFGyRAyepJPmEo9vgMfXUA6O9u3IeEdv9MAkppFcaQwogQ== dependencies: regenerator-runtime "^0.13.4" "@babel/runtime@^7.13.10": version "7.24.7" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.24.7.tgz#f4f0d5530e8dbdf59b3451b9b3e594b6ba082e12" + resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.7.tgz" integrity sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw== dependencies: regenerator-runtime "^0.14.0" +"@babel/runtime@^7.16.3": + version "7.16.7" + resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.7.tgz" + integrity sha512-9E9FJowqAsytyOY6LG+1KuueckRL+aQW+mKvXRXnuFGyRAyepJPmEo9vgMfXUA6O9u3IeEdv9MAkppFcaQwogQ== + dependencies: + regenerator-runtime "^0.13.4" + "@babel/template@^7.16.7": version "7.16.7" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155" + resolved "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz" integrity sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w== dependencies: "@babel/code-frame" "^7.16.7" @@ -469,7 +506,7 @@ "@babel/template@^7.18.10": version "7.18.10" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.18.10.tgz#6f9134835970d1dbf0835c0d100c9f38de0c5e71" + resolved "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz" integrity sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA== dependencies: "@babel/code-frame" "^7.18.6" @@ -478,7 +515,7 @@ "@babel/traverse@^7.19.0": version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.19.0.tgz#eb9c561c7360005c592cc645abafe0c3c4548eed" + resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.19.0.tgz" integrity sha512-4pKpFRDh+utd2mbRC8JLnlsMUii3PMHjpL6a0SZ4NMZy7YFP9aXORxEhdMVOc9CpWtDF09IkciQLEhK7Ml7gRA== dependencies: "@babel/code-frame" "^7.18.6" @@ -494,7 +531,7 @@ "@babel/traverse@^7.7.0": version "7.16.10" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.16.10.tgz#448f940defbe95b5a8029975b051f75993e8239f" + resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.10.tgz" integrity sha512-yzuaYXoRJBGMlBhsMJoUW7G1UmSb/eXr/JHYM/MsOJgavJibLwASijW7oXBdw3NQ6T0bW7Ty5P/VarOs9cHmqw== dependencies: "@babel/code-frame" "^7.16.7" @@ -510,7 +547,7 @@ "@babel/types@^7.16.7", "@babel/types@^7.16.8", "@babel/types@^7.7.0": version "7.16.8" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.16.8.tgz#0ba5da91dd71e0a4e7781a30f22770831062e3c1" + resolved "https://registry.npmjs.org/@babel/types/-/types-7.16.8.tgz" integrity sha512-smN2DQc5s4M7fntyjGtyIPbRJv6wW4rU/94fmYJ7PKQuZkC0qGMHXJbg6sNGt12JmVr4k5YaptI/XtiLJBnmIg== dependencies: "@babel/helper-validator-identifier" "^7.16.7" @@ -518,7 +555,7 @@ "@babel/types@^7.18.10", "@babel/types@^7.18.6", "@babel/types@^7.19.0": version "7.19.0" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.19.0.tgz#75f21d73d73dc0351f3368d28db73465f4814600" + resolved "https://registry.npmjs.org/@babel/types/-/types-7.19.0.tgz" integrity sha512-YuGopBq3ke25BVSiS6fgF49Ul9gH1x70Bcr6bqRLjWCkcX8Hre1/5+z+IiWOIerRMSSEfGZVB9z9kyq7wVs9YA== dependencies: "@babel/helper-string-parser" "^7.18.10" @@ -527,7 +564,7 @@ "@codemirror/autocomplete@^6.0.0", "@codemirror/autocomplete@^6.4.0": version "6.4.2" - resolved "https://registry.yarnpkg.com/@codemirror/autocomplete/-/autocomplete-6.4.2.tgz#938b25223bd21f97b2a6d85474643355f98b505b" + resolved "https://registry.npmjs.org/@codemirror/autocomplete/-/autocomplete-6.4.2.tgz" integrity sha512-8WE2xp+D0MpWEv5lZ6zPW1/tf4AGb358T5GWYiKEuCP8MvFfT3tH2mIF9Y2yr2e3KbHuSvsVhosiEyqCpiJhZQ== dependencies: "@codemirror/language" "^6.0.0" @@ -537,7 +574,7 @@ "@codemirror/commands@^6.1.3": version "6.2.2" - resolved "https://registry.yarnpkg.com/@codemirror/commands/-/commands-6.2.2.tgz#437d9ba275107dbc629f0bfa3b150e0e43f2a218" + resolved "https://registry.npmjs.org/@codemirror/commands/-/commands-6.2.2.tgz" integrity sha512-s9lPVW7TxXrI/7voZ+HmD/yiAlwAYn9PH5SUVSUhsxXHhv4yl5eZ3KLntSoTynfdgVYM0oIpccQEWRBQgmNZyw== dependencies: "@codemirror/language" "^6.0.0" @@ -547,7 +584,7 @@ "@codemirror/lang-css@^6.0.0", "@codemirror/lang-css@^6.0.1": version "6.1.1" - resolved "https://registry.yarnpkg.com/@codemirror/lang-css/-/lang-css-6.1.1.tgz#8c4414d399df14e796f9891a8152e411264ef535" + resolved "https://registry.npmjs.org/@codemirror/lang-css/-/lang-css-6.1.1.tgz" integrity sha512-P6jdNEHyRcqqDgbvHYyC9Wxkek0rnG3a9aVSRi4a7WrjPbQtBTaOmvYpXmm13zZMAatO4Oqpac+0QZs7sy+LnQ== dependencies: "@codemirror/autocomplete" "^6.0.0" @@ -557,7 +594,7 @@ "@codemirror/lang-html@^6.4.0": version "6.4.3" - resolved "https://registry.yarnpkg.com/@codemirror/lang-html/-/lang-html-6.4.3.tgz#dec78f76d9d0261cbe9f2a3a247a1b546327f700" + resolved "https://registry.npmjs.org/@codemirror/lang-html/-/lang-html-6.4.3.tgz" integrity sha512-VKzQXEC8nL69Jg2hvAFPBwOdZNvL8tMFOrdFwWpU+wc6a6KEkndJ/19R5xSaglNX6v2bttm8uIEFYxdQDcIZVQ== dependencies: "@codemirror/autocomplete" "^6.0.0" @@ -572,7 +609,7 @@ "@codemirror/lang-javascript@^6.0.0", "@codemirror/lang-javascript@^6.1.2": version "6.1.5" - resolved "https://registry.yarnpkg.com/@codemirror/lang-javascript/-/lang-javascript-6.1.5.tgz#58a2eecddc2134f6fdd7b580ef3a25a22112e1ca" + resolved "https://registry.npmjs.org/@codemirror/lang-javascript/-/lang-javascript-6.1.5.tgz" integrity sha512-BS2SmI1IXxWqMPhbJ0DC3eAHAK9V9XvdHMSqwvTBnmh5xFALt+cVDg7XE/A1dxdxzXYXyeqGddgqx1rQv7AYaw== dependencies: "@codemirror/autocomplete" "^6.0.0" @@ -585,7 +622,7 @@ "@codemirror/language@^6.0.0", "@codemirror/language@^6.3.2", "@codemirror/language@^6.4.0", "@codemirror/language@^6.6.0": version "6.6.0" - resolved "https://registry.yarnpkg.com/@codemirror/language/-/language-6.6.0.tgz#2204407174a38a68053715c19e28ad61f491779f" + resolved "https://registry.npmjs.org/@codemirror/language/-/language-6.6.0.tgz" integrity sha512-cwUd6lzt3MfNYOobdjf14ZkLbJcnv4WtndYaoBkbor/vF+rCNguMPK0IRtvZJG4dsWiaWPcK8x1VijhvSxnstg== dependencies: "@codemirror/state" "^6.0.0" @@ -597,7 +634,7 @@ "@codemirror/lint@^6.0.0": version "6.2.0" - resolved "https://registry.yarnpkg.com/@codemirror/lint/-/lint-6.2.0.tgz#25cdab7425fcda1b38a9d63f230f833c8b6b369f" + resolved "https://registry.npmjs.org/@codemirror/lint/-/lint-6.2.0.tgz" integrity sha512-KVCECmR2fFeYBr1ZXDVue7x3q5PMI0PzcIbA+zKufnkniMBo1325t0h1jM85AKp8l3tj67LRxVpZfgDxEXlQkg== dependencies: "@codemirror/state" "^6.0.0" @@ -606,12 +643,12 @@ "@codemirror/state@^6.0.0", "@codemirror/state@^6.1.4", "@codemirror/state@^6.2.0": version "6.2.0" - resolved "https://registry.yarnpkg.com/@codemirror/state/-/state-6.2.0.tgz#a0fb08403ced8c2a68d1d0acee926bd20be922f2" + resolved "https://registry.npmjs.org/@codemirror/state/-/state-6.2.0.tgz" integrity sha512-69QXtcrsc3RYtOtd+GsvczJ319udtBf1PTrr2KbLWM/e2CXUPnh0Nz9AUo8WfhSQ7GeL8dPVNUmhQVgpmuaNGA== "@codemirror/view@^6.0.0", "@codemirror/view@^6.2.2", "@codemirror/view@^6.6.0", "@codemirror/view@^6.7.1": version "6.9.4" - resolved "https://registry.yarnpkg.com/@codemirror/view/-/view-6.9.4.tgz#2cee977dd0df74d27ede6beb01f9de20eeda8f76" + resolved "https://registry.npmjs.org/@codemirror/view/-/view-6.9.4.tgz" integrity sha512-Ov2H9gwlGUxiH94zWxlLtTlyogSFaQDIYjtSEcfzgh7MkKmKVchkmr4JbtR5zBev3jY5DVtKvUC8yjd1bKW55A== dependencies: "@codemirror/state" "^6.1.4" @@ -620,7 +657,7 @@ "@codesandbox/nodebox@0.1.8": version "0.1.8" - resolved "https://registry.yarnpkg.com/@codesandbox/nodebox/-/nodebox-0.1.8.tgz#2dc701005cedefac386f17a69a4c9a4f38c2325d" + resolved "https://registry.npmjs.org/@codesandbox/nodebox/-/nodebox-0.1.8.tgz" integrity sha512-2VRS6JDSk+M+pg56GA6CryyUSGPjBEe8Pnae0QL3jJF1mJZJVMDKr93gJRtBbLkfZN6LD/DwMtf+2L0bpWrjqg== dependencies: outvariant "^1.4.0" @@ -628,7 +665,7 @@ "@codesandbox/sandpack-client@^2.13.2": version "2.13.2" - resolved "https://registry.yarnpkg.com/@codesandbox/sandpack-client/-/sandpack-client-2.13.2.tgz#8e573e96d341d3284ce579a71c6c57f16aefc80e" + resolved "https://registry.npmjs.org/@codesandbox/sandpack-client/-/sandpack-client-2.13.2.tgz" integrity sha512-uAuxQOF7p8y4m7H0ojedDcWRf62xVK7UIYIJoX5LkhcV0SW1BTXcRkVNuR0/MSCSv+Og1dBeV8+Xpye9PX0quA== dependencies: "@codesandbox/nodebox" "0.1.8" @@ -639,7 +676,7 @@ "@codesandbox/sandpack-react@2.13.5": version "2.13.5" - resolved "https://registry.yarnpkg.com/@codesandbox/sandpack-react/-/sandpack-react-2.13.5.tgz#bc4b3fe43b74fdb011f69d3d9a117415110c709e" + resolved "https://registry.npmjs.org/@codesandbox/sandpack-react/-/sandpack-react-2.13.5.tgz" integrity sha512-MWzh2P/Asck0JSCKY3y7WecdUBBEqB0NFi4p+ohoZMTYqHWTaYfd7nbPlNmGIE1xcGppSZEqPVDjOpAfeQ0zFw== dependencies: "@codemirror/autocomplete" "^6.4.0" @@ -664,27 +701,27 @@ "@csstools/convert-colors@^1.4.0": version "1.4.0" - resolved "https://registry.yarnpkg.com/@csstools/convert-colors/-/convert-colors-1.4.0.tgz#ad495dc41b12e75d588c6db8b9834f08fa131eb7" + resolved "https://registry.npmjs.org/@csstools/convert-colors/-/convert-colors-1.4.0.tgz" integrity sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw== -"@docsearch/css@3.0.0-alpha.41": - version "3.0.0-alpha.41" - resolved "https://registry.yarnpkg.com/@docsearch/css/-/css-3.0.0-alpha.41.tgz#c5c8e803541bd157ad86e764c2c1e9f1b5a68592" - integrity sha512-AP1jqcF/9jCrm4s0lcES3QAtHueyipKjd14L/pguk0CZYK7uI7hC0FWodmRmrgK3/HST9jiHa1waUMR6ZYedlQ== +"@docsearch/css@^3.6.1", "@docsearch/css@3.6.1": + version "3.6.1" + resolved "https://registry.npmjs.org/@docsearch/css/-/css-3.6.1.tgz" + integrity sha512-VtVb5DS+0hRIprU2CO6ZQjK2Zg4QU5HrDM1+ix6rT0umsYvFvatMAnf97NHZlVWDaaLlx7GRfR/7FikANiM2Fg== -"@docsearch/react@3.0.0-alpha.41": - version "3.0.0-alpha.41" - resolved "https://registry.yarnpkg.com/@docsearch/react/-/react-3.0.0-alpha.41.tgz#07e85a664e85f251ce3d13153abce65a4d5997ab" - integrity sha512-UL0Gdter/NUea04lGuBGH0GzQ2/2q/hBfn7Rjo71rRKbjtfkQCM92leJ9tZ+9j9sFLoyuHb9XMm/B8vCjWwTEg== +"@docsearch/react@^3.6.1": + version "3.6.1" + resolved "https://registry.npmjs.org/@docsearch/react/-/react-3.6.1.tgz" + integrity sha512-qXZkEPvybVhSXj0K7U3bXc233tk5e8PfhoZ6MhPOiik/qUQxYC+Dn9DnoS7CxHQQhHfCvTiN0eY9M12oRghEXw== dependencies: - "@algolia/autocomplete-core" "1.2.2" - "@algolia/autocomplete-preset-algolia" "1.2.2" - "@docsearch/css" "3.0.0-alpha.41" - algoliasearch "^4.0.0" + "@algolia/autocomplete-core" "1.9.3" + "@algolia/autocomplete-preset-algolia" "1.9.3" + "@docsearch/css" "3.6.1" + algoliasearch "^4.19.1" "@eslint/eslintrc@^0.4.3": version "0.4.3" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c" + resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz" integrity sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw== dependencies: ajv "^6.12.4" @@ -699,14 +736,14 @@ "@floating-ui/core@^1.0.0": version "1.6.2" - resolved "https://registry.yarnpkg.com/@floating-ui/core/-/core-1.6.2.tgz#d37f3e0ac1f1c756c7de45db13303a266226851a" + resolved "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.2.tgz" integrity sha512-+2XpQV9LLZeanU4ZevzRnGFg2neDeKHgFLjP6YLW+tly0IvrhqT4u8enLGjLH3qeh85g19xY5rsAusfwTdn5lg== dependencies: "@floating-ui/utils" "^0.2.0" "@floating-ui/dom@^1.0.0": version "1.6.5" - resolved "https://registry.yarnpkg.com/@floating-ui/dom/-/dom-1.6.5.tgz#323f065c003f1d3ecf0ff16d2c2c4d38979f4cb9" + resolved "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.5.tgz" integrity sha512-Nsdud2X65Dz+1RHjAIP0t8z5e2ff/IRbei6BqFrl1urT8sDVzM1HMQ+R0XcU5ceRfyO3I6ayeqIfh+6Wb8LGTw== dependencies: "@floating-ui/core" "^1.0.0" @@ -714,24 +751,24 @@ "@floating-ui/react-dom@^2.0.0": version "2.1.0" - resolved "https://registry.yarnpkg.com/@floating-ui/react-dom/-/react-dom-2.1.0.tgz#4f0e5e9920137874b2405f7d6c862873baf4beff" + resolved "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.0.tgz" integrity sha512-lNzj5EQmEKn5FFKc04+zasr09h/uX8RtJRNj5gUXsSQIXHVWTVh+hVAg1vOMCexkX8EgvemMvIFpQfkosnVNyA== dependencies: "@floating-ui/dom" "^1.0.0" "@floating-ui/utils@^0.2.0": version "0.2.2" - resolved "https://registry.yarnpkg.com/@floating-ui/utils/-/utils-0.2.2.tgz#d8bae93ac8b815b2bd7a98078cf91e2724ef11e5" + resolved "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.2.tgz" integrity sha512-J4yDIIthosAsRZ5CPYP/jQvUAQtlZTTD/4suA08/FEnlxqW3sKS9iAhgsa9VYLZ6vDHn/ixJgIqRQPotoBjxIw== "@headlessui/react@^1.7.0": version "1.7.0" - resolved "https://registry.yarnpkg.com/@headlessui/react/-/react-1.7.0.tgz#7e36e6bbc25a24b02011527ae157a000dda88b85" + resolved "https://registry.npmjs.org/@headlessui/react/-/react-1.7.0.tgz" integrity sha512-/nDsijOXRwXVLpUBEiYuWguIBSIN3ZbKyah+KPUiD8bdIKtX1U/k+qLYUEr7NCQnSF2e4w1dr8me42ECuG3cvw== "@humanwhocodes/config-array@^0.5.0": version "0.5.0" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9" + resolved "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz" integrity sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg== dependencies: "@humanwhocodes/object-schema" "^1.2.0" @@ -740,12 +777,12 @@ "@humanwhocodes/object-schema@^1.2.0": version "1.2.1" - resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" + resolved "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz" integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== "@jridgewell/gen-mapping@^0.1.0": version "0.1.1" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996" + resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz" integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w== dependencies: "@jridgewell/set-array" "^1.0.0" @@ -753,7 +790,7 @@ "@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" + resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz" integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== dependencies: "@jridgewell/set-array" "^1.0.1" @@ -762,22 +799,22 @@ "@jridgewell/resolve-uri@^3.0.3": version "3.1.0" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" + resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz" integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== "@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1": version "1.1.2" - resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" + resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz" integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== "@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" + resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz" integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== "@jridgewell/trace-mapping@^0.3.9": version "0.3.15" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz#aba35c48a38d3fd84b37e66c9c0423f9744f9774" + resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz" integrity sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g== dependencies: "@jridgewell/resolve-uri" "^3.0.3" @@ -785,12 +822,12 @@ "@lezer/common@^1.0.0": version "1.0.2" - resolved "https://registry.yarnpkg.com/@lezer/common/-/common-1.0.2.tgz#8fb9b86bdaa2ece57e7d59e5ffbcb37d71815087" + resolved "https://registry.npmjs.org/@lezer/common/-/common-1.0.2.tgz" integrity sha512-SVgiGtMnMnW3ActR8SXgsDhw7a0w0ChHSYAyAUxxrOiJ1OqYWEKk/xJd84tTSPo1mo6DXLObAJALNnd0Hrv7Ng== "@lezer/css@^1.0.0", "@lezer/css@^1.1.0": version "1.1.1" - resolved "https://registry.yarnpkg.com/@lezer/css/-/css-1.1.1.tgz#c36dcb0789317cb80c3740767dd3b85e071ad082" + resolved "https://registry.npmjs.org/@lezer/css/-/css-1.1.1.tgz" integrity sha512-mSjx+unLLapEqdOYDejnGBokB5+AiJKZVclmud0MKQOKx3DLJ5b5VTCstgDDknR6iIV4gVrN6euzsCnj0A2gQA== dependencies: "@lezer/highlight" "^1.0.0" @@ -798,14 +835,14 @@ "@lezer/highlight@^1.0.0", "@lezer/highlight@^1.1.3": version "1.1.4" - resolved "https://registry.yarnpkg.com/@lezer/highlight/-/highlight-1.1.4.tgz#98ed821e89f72981b7ba590474e6ee86c8185619" + resolved "https://registry.npmjs.org/@lezer/highlight/-/highlight-1.1.4.tgz" integrity sha512-IECkFmw2l7sFcYXrV8iT9GeY4W0fU4CxX0WMwhmhMIVjoDdD1Hr6q3G2NqVtLg/yVe5n7i4menG3tJ2r4eCrPQ== dependencies: "@lezer/common" "^1.0.0" "@lezer/html@^1.3.0": version "1.3.4" - resolved "https://registry.yarnpkg.com/@lezer/html/-/html-1.3.4.tgz#7a5c5498dae6c93aee3de208bfb01aa3a0a932e3" + resolved "https://registry.npmjs.org/@lezer/html/-/html-1.3.4.tgz" integrity sha512-HdJYMVZcT4YsMo7lW3ipL4NoyS2T67kMPuSVS5TgLGqmaCjEU/D6xv7zsa1ktvTK5lwk7zzF1e3eU6gBZIPm5g== dependencies: "@lezer/common" "^1.0.0" @@ -814,7 +851,7 @@ "@lezer/javascript@^1.0.0": version "1.4.2" - resolved "https://registry.yarnpkg.com/@lezer/javascript/-/javascript-1.4.2.tgz#aee4e18f573b496756294c558965d36320bfca47" + resolved "https://registry.npmjs.org/@lezer/javascript/-/javascript-1.4.2.tgz" integrity sha512-77qdAD4zanmImPiAu4ibrMUzRc79UHoccdPa+Ey5iwS891TAkhnMAodUe17T7zV7tnF7e9HXM0pfmjoGEhrppg== dependencies: "@lezer/highlight" "^1.1.3" @@ -822,14 +859,14 @@ "@lezer/lr@^1.0.0", "@lezer/lr@^1.3.0": version "1.3.3" - resolved "https://registry.yarnpkg.com/@lezer/lr/-/lr-1.3.3.tgz#0ac6c889f1235874f33c45a1b9785d7054f60708" + resolved "https://registry.npmjs.org/@lezer/lr/-/lr-1.3.3.tgz" integrity sha512-JPQe3mwJlzEVqy67iQiiGozhcngbO8QBgpqZM6oL1Wj/dXckrEexpBLeFkq0edtW5IqnPRFxA24BHJni8Js69w== dependencies: "@lezer/common" "^1.0.0" "@mdx-js/mdx@^2.1.3": version "2.1.3" - resolved "https://registry.yarnpkg.com/@mdx-js/mdx/-/mdx-2.1.3.tgz#d5821920ebe546b45192f4c7a64dcc68a658f7f9" + resolved "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-2.1.3.tgz" integrity sha512-ahbb47HJIJ4xnifaL06tDJiSyLEy1EhFAStO7RZIm3GTa7yGW3NGhZaj+GUCveFgl5oI54pY4BgiLmYm97y+zg== dependencies: "@types/estree-jsx" "^1.0.0" @@ -852,77 +889,37 @@ "@next/env@13.4.1": version "13.4.1" - resolved "https://registry.yarnpkg.com/@next/env/-/env-13.4.1.tgz#57322da2630b6bb6d7204577b0a18f6f9324db0c" + resolved "https://registry.npmjs.org/@next/env/-/env-13.4.1.tgz" integrity sha512-eD6WCBMFjLFooLM19SIhSkWBHtaFrZFfg2Cxnyl3vS3DAdFRfnx5TY2RxlkuKXdIRCC0ySbtK9JXXt8qLCqzZg== "@next/eslint-plugin-next@12.0.3": version "12.0.3" - resolved "https://registry.yarnpkg.com/@next/eslint-plugin-next/-/eslint-plugin-next-12.0.3.tgz#3945c251d551bacc3712d4a18d6ca56d2938f175" + resolved "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-12.0.3.tgz" integrity sha512-P7i+bMypneQcoRN+CX79xssvvIJCaw7Fndzbe7/lB0+LyRbVvGVyMUsFmLLbSxtZq4hvFMJ1p8wML/gsulMZWQ== dependencies: glob "7.1.7" "@next/swc-darwin-arm64@13.4.1": version "13.4.1" - resolved "https://registry.yarnpkg.com/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.4.1.tgz#3748040d2dd0d89d3cdcc897f96aeda5130eed8f" + resolved "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.4.1.tgz" integrity sha512-eF8ARHtYfnoYtDa6xFHriUKA/Mfj/cCbmKb3NofeKhMccs65G6/loZ15a6wYCCx4rPAd6x4t1WmVYtri7EdeBg== -"@next/swc-darwin-x64@13.4.1": - version "13.4.1" - resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-13.4.1.tgz#c59fc270005f17e04eb7eab4fd68793d0e3409a4" - integrity sha512-7cmDgF9tGWTgn5Gw+vP17miJbH4wcraMHDCOHTYWkO/VeKT73dUWG23TNRLfgtCNSPgH4V5B4uLHoZTanx9bAw== - -"@next/swc-linux-arm64-gnu@13.4.1": - version "13.4.1" - resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.4.1.tgz#1aef371bcef5d832d7f7e3aec3e68cfb98282393" - integrity sha512-qwJqmCri2ie8aTtE5gjTSr8S6O8B67KCYgVZhv9gKH44yvc/zXbAY8u23QGULsYOyh1islWE5sWfQNLOj9iryg== - -"@next/swc-linux-arm64-musl@13.4.1": - version "13.4.1" - resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.4.1.tgz#2522927cb0af6918405a49f5a1d1687d6847f3ec" - integrity sha512-qcC54tWNGDv/VVIFkazxhqH1Bnagjfs4enzELVRlUOoJPD2BGJTPI7z08pQPbbgxLtRiu8gl2mXvpB8WlOkMeA== - -"@next/swc-linux-x64-gnu@13.4.1": - version "13.4.1" - resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.4.1.tgz#5ec9418a35510048a5ceb79ed300463e1a9b312d" - integrity sha512-9TeWFlpLsBosZ+tsm/rWBaMwt5It9tPH8m3nawZqFUUrZyGRfGcI67js774vtx0k3rL9qbyY6+3pw9BCVpaYUA== - -"@next/swc-linux-x64-musl@13.4.1": - version "13.4.1" - resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.4.1.tgz#3478b9c89b75c1d0e7def9f35a9a77cb15d1a115" - integrity sha512-sNDGaWmSqTS4QRUzw61wl4mVPeSqNIr1OOjLlQTRuyInxMxtqImRqdvzDvFTlDfdeUMU/DZhWGYoHrXLlZXe6A== - -"@next/swc-win32-arm64-msvc@13.4.1": - version "13.4.1" - resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.4.1.tgz#efe53d48ff51d2485eabb910ab7caee78425fc01" - integrity sha512-+CXZC7u1iXdLRudecoUYbhbsXpglYv8KFYsFxKBPn7kg+bk7eJo738wAA4jXIl8grTF2mPdmO93JOQym+BlYGA== - -"@next/swc-win32-ia32-msvc@13.4.1": - version "13.4.1" - resolved "https://registry.yarnpkg.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.4.1.tgz#952cdf1c53df46a90d5151d99310195d2c384e55" - integrity sha512-vIoXVVc7UYO68VwVMDKwJC2+HqAZQtCYiVlApyKEeIPIQpz2gpufzGxk1z3/gwrJt/kJ5CDZjlhYDCzd3hdz+g== - -"@next/swc-win32-x64-msvc@13.4.1": - version "13.4.1" - resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.4.1.tgz#447b7dcee5f5d4824cdff331a4ec34b13d0b449d" - integrity sha512-n8V5ImLQZibKTu10UUdI3nIeTLkliEXe628qxqW9v8My3BAH2a7H0SaCqkV2OgqFnn8sG1wxKYw9/SNJ632kSA== - "@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" + resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== dependencies: "@nodelib/fs.stat" "2.0.5" run-parallel "^1.1.9" -"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": +"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5": version "2.0.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" + resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== "@nodelib/fs.walk@^1.2.3": version "1.2.8" - resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" + resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== dependencies: "@nodelib/fs.scandir" "2.1.5" @@ -930,24 +927,24 @@ "@open-draft/deferred-promise@^2.1.0": version "2.1.0" - resolved "https://registry.yarnpkg.com/@open-draft/deferred-promise/-/deferred-promise-2.1.0.tgz#4fb33ebdf5c05a0e47a26490ed9037ca36275a66" + resolved "https://registry.npmjs.org/@open-draft/deferred-promise/-/deferred-promise-2.1.0.tgz" integrity sha512-Rzd5JrXZX8zErHzgcGyngh4fmEbSHqTETdGj9rXtejlqMIgXFlyKBA7Jn1Xp0Ls0M0Y22+xHcWiEzbmdWl0BOA== "@polka/url@^1.0.0-next.20": version "1.0.0-next.21" - resolved "https://registry.yarnpkg.com/@polka/url/-/url-1.0.0-next.21.tgz#5de5a2385a35309427f6011992b544514d559aa1" + resolved "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.21.tgz" integrity sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g== "@radix-ui/primitive@1.0.1": version "1.0.1" - resolved "https://registry.yarnpkg.com/@radix-ui/primitive/-/primitive-1.0.1.tgz#e46f9958b35d10e9f6dc71c497305c22e3e55dbd" + resolved "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.0.1.tgz" integrity sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw== dependencies: "@babel/runtime" "^7.13.10" "@radix-ui/react-arrow@1.0.3": version "1.0.3" - resolved "https://registry.yarnpkg.com/@radix-ui/react-arrow/-/react-arrow-1.0.3.tgz#c24f7968996ed934d57fe6cde5d6ec7266e1d25d" + resolved "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.0.3.tgz" integrity sha512-wSP+pHsB/jQRaL6voubsQ/ZlrGBHHrOjmBnr19hxYgtS0WvAFwZhK2WP/YY5yF9uKECCEEDGxuLxq1NBK51wFA== dependencies: "@babel/runtime" "^7.13.10" @@ -955,7 +952,7 @@ "@radix-ui/react-collection@1.0.3": version "1.0.3" - resolved "https://registry.yarnpkg.com/@radix-ui/react-collection/-/react-collection-1.0.3.tgz#9595a66e09026187524a36c6e7e9c7d286469159" + resolved "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-1.0.3.tgz" integrity sha512-3SzW+0PW7yBBoQlT8wNcGtaxaD0XSu0uLUFgrtHY08Acx05TaHaOmVLR73c0j/cqpDy53KBMO7s0dx2wmOIDIA== dependencies: "@babel/runtime" "^7.13.10" @@ -966,14 +963,14 @@ "@radix-ui/react-compose-refs@1.0.1": version "1.0.1" - resolved "https://registry.yarnpkg.com/@radix-ui/react-compose-refs/-/react-compose-refs-1.0.1.tgz#7ed868b66946aa6030e580b1ffca386dd4d21989" + resolved "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.0.1.tgz" integrity sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw== dependencies: "@babel/runtime" "^7.13.10" "@radix-ui/react-context-menu@^2.1.5": version "2.1.5" - resolved "https://registry.yarnpkg.com/@radix-ui/react-context-menu/-/react-context-menu-2.1.5.tgz#1bdbd72761439f9166f75dc4598f276265785c83" + resolved "https://registry.npmjs.org/@radix-ui/react-context-menu/-/react-context-menu-2.1.5.tgz" integrity sha512-R5XaDj06Xul1KGb+WP8qiOh7tKJNz2durpLBXAGZjSVtctcRFCuEvy2gtMwRJGePwQQE5nV77gs4FwRi8T+r2g== dependencies: "@babel/runtime" "^7.13.10" @@ -986,21 +983,21 @@ "@radix-ui/react-context@1.0.1": version "1.0.1" - resolved "https://registry.yarnpkg.com/@radix-ui/react-context/-/react-context-1.0.1.tgz#fe46e67c96b240de59187dcb7a1a50ce3e2ec00c" + resolved "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.0.1.tgz" integrity sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg== dependencies: "@babel/runtime" "^7.13.10" "@radix-ui/react-direction@1.0.1": version "1.0.1" - resolved "https://registry.yarnpkg.com/@radix-ui/react-direction/-/react-direction-1.0.1.tgz#9cb61bf2ccf568f3421422d182637b7f47596c9b" + resolved "https://registry.npmjs.org/@radix-ui/react-direction/-/react-direction-1.0.1.tgz" integrity sha512-RXcvnXgyvYvBEOhCBuddKecVkoMiI10Jcm5cTI7abJRAHYfFxeu+FBQs/DvdxSYucxR5mna0dNsL6QFlds5TMA== dependencies: "@babel/runtime" "^7.13.10" "@radix-ui/react-dismissable-layer@1.0.5": version "1.0.5" - resolved "https://registry.yarnpkg.com/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.0.5.tgz#3f98425b82b9068dfbab5db5fff3df6ebf48b9d4" + resolved "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.0.5.tgz" integrity sha512-aJeDjQhywg9LBu2t/At58hCvr7pEm0o2Ke1x33B+MhjNmmZ17sy4KImo0KPLgsnc/zN7GPdce8Cnn0SWvwZO7g== dependencies: "@babel/runtime" "^7.13.10" @@ -1012,14 +1009,14 @@ "@radix-ui/react-focus-guards@1.0.1": version "1.0.1" - resolved "https://registry.yarnpkg.com/@radix-ui/react-focus-guards/-/react-focus-guards-1.0.1.tgz#1ea7e32092216b946397866199d892f71f7f98ad" + resolved "https://registry.npmjs.org/@radix-ui/react-focus-guards/-/react-focus-guards-1.0.1.tgz" integrity sha512-Rect2dWbQ8waGzhMavsIbmSVCgYxkXLxxR3ZvCX79JOglzdEy4JXMb98lq4hPxUbLr77nP0UOGf4rcMU+s1pUA== dependencies: "@babel/runtime" "^7.13.10" "@radix-ui/react-focus-scope@1.0.4": version "1.0.4" - resolved "https://registry.yarnpkg.com/@radix-ui/react-focus-scope/-/react-focus-scope-1.0.4.tgz#2ac45fce8c5bb33eb18419cdc1905ef4f1906525" + resolved "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.0.4.tgz" integrity sha512-sL04Mgvf+FmyvZeYfNu1EPAaaxD+aw7cYeIB9L9Fvq8+urhltTRaEo5ysKOpHuKPclsZcSUMKlN05x4u+CINpA== dependencies: "@babel/runtime" "^7.13.10" @@ -1029,7 +1026,7 @@ "@radix-ui/react-id@1.0.1": version "1.0.1" - resolved "https://registry.yarnpkg.com/@radix-ui/react-id/-/react-id-1.0.1.tgz#73cdc181f650e4df24f0b6a5b7aa426b912c88c0" + resolved "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.0.1.tgz" integrity sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ== dependencies: "@babel/runtime" "^7.13.10" @@ -1037,7 +1034,7 @@ "@radix-ui/react-menu@2.0.6": version "2.0.6" - resolved "https://registry.yarnpkg.com/@radix-ui/react-menu/-/react-menu-2.0.6.tgz#2c9e093c1a5d5daa87304b2a2f884e32288ae79e" + resolved "https://registry.npmjs.org/@radix-ui/react-menu/-/react-menu-2.0.6.tgz" integrity sha512-BVkFLS+bUC8HcImkRKPSiVumA1VPOOEC5WBMiT+QAVsPzW1FJzI9KnqgGxVDPBcql5xXrHkD3JOVoXWEXD8SYA== dependencies: "@babel/runtime" "^7.13.10" @@ -1062,7 +1059,7 @@ "@radix-ui/react-popper@1.1.3": version "1.1.3" - resolved "https://registry.yarnpkg.com/@radix-ui/react-popper/-/react-popper-1.1.3.tgz#24c03f527e7ac348fabf18c89795d85d21b00b42" + resolved "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.1.3.tgz" integrity sha512-cKpopj/5RHZWjrbF2846jBNacjQVwkP068DfmgrNJXpvVWrOvlAmE9xSiy5OqeE+Gi8D9fP+oDhUnPqNMY8/5w== dependencies: "@babel/runtime" "^7.13.10" @@ -1079,7 +1076,7 @@ "@radix-ui/react-portal@1.0.4": version "1.0.4" - resolved "https://registry.yarnpkg.com/@radix-ui/react-portal/-/react-portal-1.0.4.tgz#df4bfd353db3b1e84e639e9c63a5f2565fb00e15" + resolved "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.0.4.tgz" integrity sha512-Qki+C/EuGUVCQTOTD5vzJzJuMUlewbzuKyUy+/iHM2uwGiru9gZeBJtHAPKAEkB5KWGi9mP/CHKcY0wt1aW45Q== dependencies: "@babel/runtime" "^7.13.10" @@ -1087,7 +1084,7 @@ "@radix-ui/react-presence@1.0.1": version "1.0.1" - resolved "https://registry.yarnpkg.com/@radix-ui/react-presence/-/react-presence-1.0.1.tgz#491990ba913b8e2a5db1b06b203cb24b5cdef9ba" + resolved "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.0.1.tgz" integrity sha512-UXLW4UAbIY5ZjcvzjfRFo5gxva8QirC9hF7wRE4U5gz+TP0DbRk+//qyuAQ1McDxBt1xNMBTaciFGvEmJvAZCg== dependencies: "@babel/runtime" "^7.13.10" @@ -1096,7 +1093,7 @@ "@radix-ui/react-primitive@1.0.3": version "1.0.3" - resolved "https://registry.yarnpkg.com/@radix-ui/react-primitive/-/react-primitive-1.0.3.tgz#d49ea0f3f0b2fe3ab1cb5667eb03e8b843b914d0" + resolved "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-1.0.3.tgz" integrity sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g== dependencies: "@babel/runtime" "^7.13.10" @@ -1104,7 +1101,7 @@ "@radix-ui/react-roving-focus@1.0.4": version "1.0.4" - resolved "https://registry.yarnpkg.com/@radix-ui/react-roving-focus/-/react-roving-focus-1.0.4.tgz#e90c4a6a5f6ac09d3b8c1f5b5e81aab2f0db1974" + resolved "https://registry.npmjs.org/@radix-ui/react-roving-focus/-/react-roving-focus-1.0.4.tgz" integrity sha512-2mUg5Mgcu001VkGy+FfzZyzbmuUWzgWkj3rvv4yu+mLw03+mTzbxZHvfcGyFp2b8EkQeMkpRQ5FiA2Vr2O6TeQ== dependencies: "@babel/runtime" "^7.13.10" @@ -1120,7 +1117,7 @@ "@radix-ui/react-slot@1.0.2": version "1.0.2" - resolved "https://registry.yarnpkg.com/@radix-ui/react-slot/-/react-slot-1.0.2.tgz#a9ff4423eade67f501ffb32ec22064bc9d3099ab" + resolved "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.0.2.tgz" integrity sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg== dependencies: "@babel/runtime" "^7.13.10" @@ -1128,14 +1125,14 @@ "@radix-ui/react-use-callback-ref@1.0.1": version "1.0.1" - resolved "https://registry.yarnpkg.com/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.0.1.tgz#f4bb1f27f2023c984e6534317ebc411fc181107a" + resolved "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.0.1.tgz" integrity sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ== dependencies: "@babel/runtime" "^7.13.10" "@radix-ui/react-use-controllable-state@1.0.1": version "1.0.1" - resolved "https://registry.yarnpkg.com/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.0.1.tgz#ecd2ced34e6330caf89a82854aa2f77e07440286" + resolved "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.0.1.tgz" integrity sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA== dependencies: "@babel/runtime" "^7.13.10" @@ -1143,7 +1140,7 @@ "@radix-ui/react-use-escape-keydown@1.0.3": version "1.0.3" - resolved "https://registry.yarnpkg.com/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.0.3.tgz#217b840c250541609c66f67ed7bab2b733620755" + resolved "https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.0.3.tgz" integrity sha512-vyL82j40hcFicA+M4Ex7hVkB9vHgSse1ZWomAqV2Je3RleKGO5iM8KMOEtfoSB0PnIelMd2lATjTGMYqN5ylTg== dependencies: "@babel/runtime" "^7.13.10" @@ -1151,14 +1148,14 @@ "@radix-ui/react-use-layout-effect@1.0.1": version "1.0.1" - resolved "https://registry.yarnpkg.com/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.0.1.tgz#be8c7bc809b0c8934acf6657b577daf948a75399" + resolved "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.0.1.tgz" integrity sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ== dependencies: "@babel/runtime" "^7.13.10" "@radix-ui/react-use-rect@1.0.1": version "1.0.1" - resolved "https://registry.yarnpkg.com/@radix-ui/react-use-rect/-/react-use-rect-1.0.1.tgz#fde50b3bb9fd08f4a1cd204572e5943c244fcec2" + resolved "https://registry.npmjs.org/@radix-ui/react-use-rect/-/react-use-rect-1.0.1.tgz" integrity sha512-Cq5DLuSiuYVKNU8orzJMbl15TXilTnJKUCltMVQg53BQOF1/C5toAaGrowkgksdBQ9H+SRL23g0HDmg9tvmxXw== dependencies: "@babel/runtime" "^7.13.10" @@ -1166,7 +1163,7 @@ "@radix-ui/react-use-size@1.0.1": version "1.0.1" - resolved "https://registry.yarnpkg.com/@radix-ui/react-use-size/-/react-use-size-1.0.1.tgz#1c5f5fea940a7d7ade77694bb98116fb49f870b2" + resolved "https://registry.npmjs.org/@radix-ui/react-use-size/-/react-use-size-1.0.1.tgz" integrity sha512-ibay+VqrgcaI6veAojjofPATwledXiSmX+C0KrBk/xgpX9rBzPV3OsfwlhQdUOFbh+LKQorLYT+xTXW9V8yd0g== dependencies: "@babel/runtime" "^7.13.10" @@ -1174,14 +1171,14 @@ "@radix-ui/rect@1.0.1": version "1.0.1" - resolved "https://registry.yarnpkg.com/@radix-ui/rect/-/rect-1.0.1.tgz#bf8e7d947671996da2e30f4904ece343bc4a883f" + resolved "https://registry.npmjs.org/@radix-ui/rect/-/rect-1.0.1.tgz" integrity sha512-fyrgCaedtvMg9NK3en0pnOYJdtfwxUcNolezkNPUsoX57X8oQk+NkqcvzHXD2uKNij6GXmWU9NDru2IWjrO4BQ== dependencies: "@babel/runtime" "^7.13.10" "@react-hook/intersection-observer@^3.1.1": version "3.1.1" - resolved "https://registry.yarnpkg.com/@react-hook/intersection-observer/-/intersection-observer-3.1.1.tgz#6b8fdb80d133c9c28bc8318368ecb3a1f8befc50" + resolved "https://registry.npmjs.org/@react-hook/intersection-observer/-/intersection-observer-3.1.1.tgz" integrity sha512-OTDx8/wFaRvzFtKl1dEUEXSOqK2zVJHporiTTdC2xO++0e9FEx9wIrPis5q3lqtXeZH9zYGLbk+aB75qNFbbuw== dependencies: "@react-hook/passive-layout-effect" "^1.2.0" @@ -1189,145 +1186,145 @@ "@react-hook/passive-layout-effect@^1.2.0": version "1.2.1" - resolved "https://registry.yarnpkg.com/@react-hook/passive-layout-effect/-/passive-layout-effect-1.2.1.tgz#c06dac2d011f36d61259aa1c6df4f0d5e28bc55e" + resolved "https://registry.npmjs.org/@react-hook/passive-layout-effect/-/passive-layout-effect-1.2.1.tgz" integrity sha512-IwEphTD75liO8g+6taS+4oqz+nnroocNfWVHWz7j+N+ZO2vYrc6PV1q7GQhuahL0IOR7JccFTsFKQ/mb6iZWAg== "@rushstack/eslint-patch@^1.0.6": version "1.1.0" - resolved "https://registry.yarnpkg.com/@rushstack/eslint-patch/-/eslint-patch-1.1.0.tgz#7f698254aadf921e48dda8c0a6b304026b8a9323" + resolved "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.1.0.tgz" integrity sha512-JLo+Y592QzIE+q7Dl2pMUtt4q8SKYI5jDrZxrozEQxnGVOyYE+GWK9eLkwTaeN9DDctlaRAQ3TBmzZ1qdLE30A== "@stitches/core@^1.2.6": version "1.2.8" - resolved "https://registry.yarnpkg.com/@stitches/core/-/core-1.2.8.tgz#dce3b8fdc764fbc6dbea30c83b73bfb52cf96173" + resolved "https://registry.npmjs.org/@stitches/core/-/core-1.2.8.tgz" integrity sha512-Gfkvwk9o9kE9r9XNBmJRfV8zONvXThnm1tcuojL04Uy5uRyqg93DC83lDebl0rocZCfKSjUv+fWYtMQmEDJldg== "@swc/helpers@0.5.1": version "0.5.1" - resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.5.1.tgz#e9031491aa3f26bfcc974a67f48bd456c8a5357a" + resolved "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.1.tgz" integrity sha512-sJ902EfIzn1Fa+qYmjdQqh8tPsoxyBz+8yBKC2HKUxyezKJFwPGOn7pv4WY6QuQW//ySQi5lJjA/ZT9sNWWNTg== dependencies: tslib "^2.4.0" "@types/acorn@^4.0.0": version "4.0.6" - resolved "https://registry.yarnpkg.com/@types/acorn/-/acorn-4.0.6.tgz#d61ca5480300ac41a7d973dd5b84d0a591154a22" + resolved "https://registry.npmjs.org/@types/acorn/-/acorn-4.0.6.tgz" integrity sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ== dependencies: "@types/estree" "*" "@types/body-scroll-lock@^2.6.1": version "2.6.2" - resolved "https://registry.yarnpkg.com/@types/body-scroll-lock/-/body-scroll-lock-2.6.2.tgz#ce56d17e1bf8383c08a074733c4e9e536a59ae61" + resolved "https://registry.npmjs.org/@types/body-scroll-lock/-/body-scroll-lock-2.6.2.tgz" integrity sha512-PhoQPbwPYspXqf7lkwtF7aJzAwL88t+9E/e0b2X84tlHpU8ZuS9UNnLtkT0XhyZJYHpET5qRfIdZ0HBIxuc7HQ== "@types/classnames@^2.2.10": version "2.3.1" - resolved "https://registry.yarnpkg.com/@types/classnames/-/classnames-2.3.1.tgz#3c2467aa0f1a93f1f021e3b9bcf938bd5dfdc0dd" + resolved "https://registry.npmjs.org/@types/classnames/-/classnames-2.3.1.tgz" integrity sha512-zeOWb0JGBoVmlQoznvqXbE0tEC/HONsnoUNH19Hc96NFsTAwTXbTqb8FMYkru1F/iqp7a18Ws3nWJvtA1sHD1A== dependencies: classnames "*" "@types/debounce@^1.2.1": version "1.2.1" - resolved "https://registry.yarnpkg.com/@types/debounce/-/debounce-1.2.1.tgz#79b65710bc8b6d44094d286aecf38e44f9627852" + resolved "https://registry.npmjs.org/@types/debounce/-/debounce-1.2.1.tgz" integrity sha512-epMsEE85fi4lfmJUH/89/iV/LI+F5CvNIvmgs5g5jYFPfhO2S/ae8WSsLOKWdwtoaZw9Q2IhJ4tQ5tFCcS/4HA== "@types/debug@^4.0.0": version "4.1.7" - resolved "https://registry.yarnpkg.com/@types/debug/-/debug-4.1.7.tgz#7cc0ea761509124709b8b2d1090d8f6c17aadb82" + resolved "https://registry.npmjs.org/@types/debug/-/debug-4.1.7.tgz" integrity sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg== dependencies: "@types/ms" "*" "@types/estree-jsx@^1.0.0": version "1.0.0" - resolved "https://registry.yarnpkg.com/@types/estree-jsx/-/estree-jsx-1.0.0.tgz#7bfc979ab9f692b492017df42520f7f765e98df1" + resolved "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.0.tgz" integrity sha512-3qvGd0z8F2ENTGr/GG1yViqfiKmRfrXVx5sJyHGFu3z7m5g5utCQtGp/g29JnjflhtQJBv1WDQukHiT58xPcYQ== dependencies: "@types/estree" "*" "@types/estree@*", "@types/estree@^1.0.0": version "1.0.0" - resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.0.tgz#5fb2e536c1ae9bf35366eed879e827fa59ca41c2" + resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz" integrity sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ== "@types/github-slugger@^1.3.0": version "1.3.0" - resolved "https://registry.yarnpkg.com/@types/github-slugger/-/github-slugger-1.3.0.tgz#16ab393b30d8ae2a111ac748a015ac05a1fc5524" + resolved "https://registry.npmjs.org/@types/github-slugger/-/github-slugger-1.3.0.tgz" integrity sha512-J/rMZa7RqiH/rT29TEVZO4nBoDP9XJOjnbbIofg7GQKs4JIduEO3WLpte+6WeUz/TcrXKlY+bM7FYrp8yFB+3g== "@types/hast@^2.0.0", "@types/hast@^2.3.2": version "2.3.4" - resolved "https://registry.yarnpkg.com/@types/hast/-/hast-2.3.4.tgz#8aa5ef92c117d20d974a82bdfb6a648b08c0bafc" + resolved "https://registry.npmjs.org/@types/hast/-/hast-2.3.4.tgz" integrity sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g== dependencies: "@types/unist" "*" "@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" + resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz" integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== "@types/json5@^0.0.29": version "0.0.29" - resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" + resolved "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz" integrity sha1-7ihweulOEdK4J7y+UnC86n8+ce4= "@types/mdast@^3.0.0": version "3.0.10" - resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-3.0.10.tgz#4724244a82a4598884cbbe9bcfd73dff927ee8af" + resolved "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.10.tgz" integrity sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA== dependencies: "@types/unist" "*" "@types/mdurl@^1.0.0": version "1.0.2" - resolved "https://registry.yarnpkg.com/@types/mdurl/-/mdurl-1.0.2.tgz#e2ce9d83a613bacf284c7be7d491945e39e1f8e9" + resolved "https://registry.npmjs.org/@types/mdurl/-/mdurl-1.0.2.tgz" integrity sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA== "@types/mdx-js__react@^1.5.2": version "1.5.5" - resolved "https://registry.yarnpkg.com/@types/mdx-js__react/-/mdx-js__react-1.5.5.tgz#fa6daa1a28336d77b6cf071aacc7e497600de9ee" + resolved "https://registry.npmjs.org/@types/mdx-js__react/-/mdx-js__react-1.5.5.tgz" integrity sha512-k8pnaP6JXVlQh18HgL5X6sYFNC/qZnzO7R2+HsmwrwUd+JnnsU0d9lyyT0RQrHg1anxDU36S98TI/fsGtmYqqg== dependencies: "@types/react" "*" "@types/mdx@^2.0.0": version "2.0.2" - resolved "https://registry.yarnpkg.com/@types/mdx/-/mdx-2.0.2.tgz#64be19baddba4323ae7893e077e98759316fe279" + resolved "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.2.tgz" integrity sha512-mJGfgj4aWpiKb8C0nnJJchs1sHBHn0HugkVfqqyQi7Wn6mBRksLeQsPOFvih/Pu8L1vlDzfe/LidhVHBeUk3aQ== "@types/ms@*": version "0.7.31" - resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.31.tgz#31b7ca6407128a3d2bbc27fe2d21b345397f6197" + resolved "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz" integrity sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA== "@types/node@^14.6.4": version "14.18.9" - resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.9.tgz#0e5944eefe2b287391279a19b407aa98bd14436d" + resolved "https://registry.npmjs.org/@types/node/-/node-14.18.9.tgz" integrity sha512-j11XSuRuAlft6vLDEX4RvhqC0KxNxx6QIyMXNb0vHHSNPXTPeiy3algESWmOOIzEtiEL0qiowPU3ewW9hHVa7Q== "@types/parse-numeric-range@^0.0.1": version "0.0.1" - resolved "https://registry.yarnpkg.com/@types/parse-numeric-range/-/parse-numeric-range-0.0.1.tgz#1a807487565a753f486cb3ee4b2145937d49759d" + resolved "https://registry.npmjs.org/@types/parse-numeric-range/-/parse-numeric-range-0.0.1.tgz" integrity sha512-nI3rPGKk8BxedokP2VilnW5JyZHYNjGCUDsAZ2JQgISgDflHNUO0wXMfGYP8CkihrKYDm5tilD52XfGhO/ZFCA== "@types/prop-types@*": version "15.7.4" - resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.4.tgz#fcf7205c25dff795ee79af1e30da2c9790808f11" + resolved "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.4.tgz" integrity sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ== "@types/react-dom@^18.0.5": version "18.0.5" - resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.0.5.tgz#330b2d472c22f796e5531446939eacef8378444a" + resolved "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.5.tgz" integrity sha512-OWPWTUrY/NIrjsAPkAk1wW9LZeIjSvkXRhclsFO8CZcZGCOg2G0YZy4ft+rOyYxy8B7ui5iZzi9OkDebZ7/QSA== dependencies: "@types/react" "*" "@types/react@*": version "17.0.38" - resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.38.tgz#f24249fefd89357d5fa71f739a686b8d7c7202bd" + resolved "https://registry.npmjs.org/@types/react/-/react-17.0.38.tgz" integrity sha512-SI92X1IA+FMnP3qM5m4QReluXzhcmovhZnLNm3pyeQlooi02qI7sLiepEYqT678uNiyc25XfCqxREFpy3W7YhQ== dependencies: "@types/prop-types" "*" @@ -1336,7 +1333,7 @@ "@types/react@^18.0.9": version "18.0.9" - resolved "https://registry.yarnpkg.com/@types/react/-/react-18.0.9.tgz#d6712a38bd6cd83469603e7359511126f122e878" + resolved "https://registry.npmjs.org/@types/react/-/react-18.0.9.tgz" integrity sha512-9bjbg1hJHUm4De19L1cHiW0Jvx3geel6Qczhjd0qY5VKVE2X5+x77YxAepuCwVh4vrgZJdgEJw48zrhRIeF4Nw== dependencies: "@types/prop-types" "*" @@ -1345,17 +1342,17 @@ "@types/scheduler@*": version "0.16.2" - resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.2.tgz#1a62f89525723dde24ba1b01b092bf5df8ad4d39" + resolved "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz" integrity sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew== "@types/unist@*", "@types/unist@^2.0.0", "@types/unist@^2.0.2": version "2.0.6" - resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.6.tgz#250a7b16c3b91f672a24552ec64678eeb1d3a08d" + resolved "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz" integrity sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ== "@typescript-eslint/eslint-plugin@^5.36.2": version "5.36.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.36.2.tgz#6df092a20e0f9ec748b27f293a12cb39d0c1fe4d" + resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.36.2.tgz" integrity sha512-OwwR8LRwSnI98tdc2z7mJYgY60gf7I9ZfGjN5EjCwwns9bdTuQfAXcsjSB2wSQ/TVNYSGKf4kzVXbNGaZvwiXw== dependencies: "@typescript-eslint/scope-manager" "5.36.2" @@ -1370,7 +1367,7 @@ "@typescript-eslint/parser@^4.20.0": version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.33.0.tgz#dfe797570d9694e560528d18eecad86c8c744899" + resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.33.0.tgz" integrity sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA== dependencies: "@typescript-eslint/scope-manager" "4.33.0" @@ -1380,7 +1377,7 @@ "@typescript-eslint/parser@^5.36.2": version "5.36.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.36.2.tgz#3ddf323d3ac85a25295a55fcb9c7a49ab4680ddd" + resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.36.2.tgz" integrity sha512-qS/Kb0yzy8sR0idFspI9Z6+t7mqk/oRjnAYfewG+VN73opAUvmYL3oPIMmgOX6CnQS6gmVIXGshlb5RY/R22pA== dependencies: "@typescript-eslint/scope-manager" "5.36.2" @@ -1390,7 +1387,7 @@ "@typescript-eslint/scope-manager@4.33.0": version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz#d38e49280d983e8772e29121cf8c6e9221f280a3" + resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz" integrity sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ== dependencies: "@typescript-eslint/types" "4.33.0" @@ -1398,7 +1395,7 @@ "@typescript-eslint/scope-manager@5.36.2": version "5.36.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.36.2.tgz#a75eb588a3879ae659514780831370642505d1cd" + resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.36.2.tgz" integrity sha512-cNNP51L8SkIFSfce8B1NSUBTJTu2Ts4nWeWbFrdaqjmn9yKrAaJUBHkyTZc0cL06OFHpb+JZq5AUHROS398Orw== dependencies: "@typescript-eslint/types" "5.36.2" @@ -1406,7 +1403,7 @@ "@typescript-eslint/type-utils@5.36.2": version "5.36.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.36.2.tgz#752373f4babf05e993adf2cd543a763632826391" + resolved "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.36.2.tgz" integrity sha512-rPQtS5rfijUWLouhy6UmyNquKDPhQjKsaKH0WnY6hl/07lasj8gPaH2UD8xWkePn6SC+jW2i9c2DZVDnL+Dokw== dependencies: "@typescript-eslint/typescript-estree" "5.36.2" @@ -1416,17 +1413,17 @@ "@typescript-eslint/types@4.33.0": version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.33.0.tgz#a1e59036a3b53ae8430ceebf2a919dc7f9af6d72" + resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.33.0.tgz" integrity sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ== "@typescript-eslint/types@5.36.2": version "5.36.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.36.2.tgz#a5066e500ebcfcee36694186ccc57b955c05faf9" + resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.36.2.tgz" integrity sha512-9OJSvvwuF1L5eS2EQgFUbECb99F0mwq501w0H0EkYULkhFa19Qq7WFbycdw1PexAc929asupbZcgjVIe6OK/XQ== "@typescript-eslint/typescript-estree@4.33.0": version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz#0dfb51c2908f68c5c08d82aefeaf166a17c24609" + resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz" integrity sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA== dependencies: "@typescript-eslint/types" "4.33.0" @@ -1439,7 +1436,7 @@ "@typescript-eslint/typescript-estree@5.36.2": version "5.36.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.36.2.tgz#0c93418b36c53ba0bc34c61fe9405c4d1d8fe560" + resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.36.2.tgz" integrity sha512-8fyH+RfbKc0mTspfuEjlfqA4YywcwQK2Amcf6TDOwaRLg7Vwdu4bZzyvBZp4bjt1RRjQ5MDnOZahxMrt2l5v9w== dependencies: "@typescript-eslint/types" "5.36.2" @@ -1452,7 +1449,7 @@ "@typescript-eslint/utils@5.36.2": version "5.36.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.36.2.tgz#b01a76f0ab244404c7aefc340c5015d5ce6da74c" + resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.36.2.tgz" integrity sha512-uNcopWonEITX96v9pefk9DC1bWMdkweeSsewJ6GeC7L6j2t0SJywisgkr9wUTtXk90fi2Eljj90HSHm3OGdGRg== dependencies: "@types/json-schema" "^7.0.9" @@ -1464,7 +1461,7 @@ "@typescript-eslint/visitor-keys@4.33.0": version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz#2a22f77a41604289b7a186586e9ec48ca92ef1dd" + resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz" integrity sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg== dependencies: "@typescript-eslint/types" "4.33.0" @@ -1472,7 +1469,7 @@ "@typescript-eslint/visitor-keys@5.36.2": version "5.36.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.36.2.tgz#2f8f78da0a3bad3320d2ac24965791ac39dace5a" + resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.36.2.tgz" integrity sha512-BtRvSR6dEdrNt7Net2/XDjbYKU5Ml6GqJgVfXT0CxTCJlnIqK7rAGreuWKMT2t8cFUT2Msv5oxw0GMRD7T5J7A== dependencies: "@typescript-eslint/types" "5.36.2" @@ -1480,17 +1477,17 @@ "@yarnpkg/lockfile@^1.1.0": version "1.1.0" - resolved "https://registry.yarnpkg.com/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz#e77a97fbd345b76d83245edcd17d393b1b41fb31" + resolved "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz" integrity sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ== absolute-path@^0.0.0: version "0.0.0" - resolved "https://registry.yarnpkg.com/absolute-path/-/absolute-path-0.0.0.tgz#a78762fbdadfb5297be99b15d35a785b2f095bf7" + resolved "https://registry.npmjs.org/absolute-path/-/absolute-path-0.0.0.tgz" integrity sha512-HQiug4c+/s3WOvEnDRxXVmNtSG5s2gJM9r19BTcqjp7BWcE48PB+Y2G6jE65kqI0LpsQeMZygt/b60Gi4KxGyA== accepts@~1.3.8: version "1.3.8" - resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" + resolved "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz" integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== dependencies: mime-types "~2.1.34" @@ -1498,32 +1495,32 @@ accepts@~1.3.8: acorn-jsx@^5.0.0, acorn-jsx@^5.3.1: version "5.3.2" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" + resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== acorn-walk@^8.0.0: version "8.2.0" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" + resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz" integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== acorn@^7.4.0: version "7.4.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" + resolved "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== acorn@^8.0.0: version "8.8.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.0.tgz#88c0187620435c7f6015803f5539dae05a9dbea8" + resolved "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz" integrity sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w== acorn@^8.0.4: version "8.7.0" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.0.tgz#90951fde0f8f09df93549481e5fc141445b791cf" + resolved "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz" integrity sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ== aggregate-error@^3.0.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" + resolved "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz" integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== dependencies: clean-stack "^2.0.0" @@ -1531,7 +1528,7 @@ aggregate-error@^3.0.0: ajv@^6.10.0, ajv@^6.12.4: version "6.12.6" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" + resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== dependencies: fast-deep-equal "^3.1.1" @@ -1541,7 +1538,7 @@ ajv@^6.10.0, ajv@^6.12.4: ajv@^8.0.1: version "8.9.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.9.0.tgz#738019146638824dea25edcf299dcba1b0e7eb18" + resolved "https://registry.npmjs.org/ajv/-/ajv-8.9.0.tgz" integrity sha512-qOKJyNj/h+OWx7s5DePL6Zu1KeM9jPZhwBqs+7DzP6bGOvqzVCSf0xueYmVuaC/oQ/VtS2zLMLHdQFbkka+XDQ== dependencies: fast-deep-equal "^3.1.1" @@ -1549,80 +1546,81 @@ ajv@^8.0.1: require-from-string "^2.0.2" uri-js "^4.2.2" -algoliasearch@^4.0.0: - version "4.12.0" - resolved "https://registry.yarnpkg.com/algoliasearch/-/algoliasearch-4.12.0.tgz#30f2619b6e3a5b79b6aa0f18ab66fbce88240aba" - integrity sha512-fZOMMm+F3Bi5M/MoFIz7hiuyCitJza0Hu+r8Wzz4LIQClC6YGMRq7kT6NNU1fSSoFDSeJIwMfedbbi5G9dJoVQ== - dependencies: - "@algolia/cache-browser-local-storage" "4.12.0" - "@algolia/cache-common" "4.12.0" - "@algolia/cache-in-memory" "4.12.0" - "@algolia/client-account" "4.12.0" - "@algolia/client-analytics" "4.12.0" - "@algolia/client-common" "4.12.0" - "@algolia/client-personalization" "4.12.0" - "@algolia/client-search" "4.12.0" - "@algolia/logger-common" "4.12.0" - "@algolia/logger-console" "4.12.0" - "@algolia/requester-browser-xhr" "4.12.0" - "@algolia/requester-common" "4.12.0" - "@algolia/requester-node-http" "4.12.0" - "@algolia/transporter" "4.12.0" +algoliasearch@^4.19.1: + version "4.24.0" + resolved "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.24.0.tgz" + integrity sha512-bf0QV/9jVejssFBmz2HQLxUadxk574t4iwjCKp5E7NBzwKkrDEhKPISIIjAU/p6K5qDx3qoeh4+26zWN1jmw3g== + dependencies: + "@algolia/cache-browser-local-storage" "4.24.0" + "@algolia/cache-common" "4.24.0" + "@algolia/cache-in-memory" "4.24.0" + "@algolia/client-account" "4.24.0" + "@algolia/client-analytics" "4.24.0" + "@algolia/client-common" "4.24.0" + "@algolia/client-personalization" "4.24.0" + "@algolia/client-search" "4.24.0" + "@algolia/logger-common" "4.24.0" + "@algolia/logger-console" "4.24.0" + "@algolia/recommend" "4.24.0" + "@algolia/requester-browser-xhr" "4.24.0" + "@algolia/requester-common" "4.24.0" + "@algolia/requester-node-http" "4.24.0" + "@algolia/transporter" "4.24.0" anser@^2.1.1: version "2.1.1" - resolved "https://registry.yarnpkg.com/anser/-/anser-2.1.1.tgz#8afae28d345424c82de89cc0e4d1348eb0c5af7c" + resolved "https://registry.npmjs.org/anser/-/anser-2.1.1.tgz" integrity sha512-nqLm4HxOTpeLOxcmB3QWmV5TcDFhW9y/fyQ+hivtDFcK4OQ+pQ5fzPnXHM1Mfcm0VkLtvVi1TCPr++Qy0Q/3EQ== ansi-colors@^4.1.1: version "4.1.1" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" + resolved "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz" integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== ansi-escapes@^4.3.0: version "4.3.2" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" + resolved "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz" integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== dependencies: type-fest "^0.21.3" ansi-regex@^5.0.1: version "5.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== ansi-regex@^6.0.1: version "6.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-6.0.1.tgz#3183e38fae9a65d7cb5e53945cd5897d0260a06a" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz" integrity sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== ansi-styles@^3.2.1: version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz" integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== dependencies: color-convert "^1.9.0" ansi-styles@^4.0.0, ansi-styles@^4.1.0: version "4.3.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== dependencies: color-convert "^2.0.1" ansi-styles@^6.0.0: version "6.1.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.1.0.tgz#87313c102b8118abd57371afab34618bf7350ed3" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.1.0.tgz" integrity sha512-VbqNsoz55SYGczauuup0MFUyXNQviSpFTj1RQtFzmQLk18qbVSpTFFGMT293rmDaQuKCT6InmbuEyUne4mTuxQ== any-promise@^1.0.0: version "1.3.0" - resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" + resolved "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz" integrity sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A== anymatch@~3.1.2: version "3.1.2" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716" + resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz" integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg== dependencies: normalize-path "^3.0.0" @@ -1630,26 +1628,26 @@ anymatch@~3.1.2: arg@^5.0.2: version "5.0.2" - resolved "https://registry.yarnpkg.com/arg/-/arg-5.0.2.tgz#c81433cc427c92c4dcf4865142dbca6f15acd59c" + resolved "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz" integrity sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg== argparse@^1.0.7: version "1.0.10" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" + resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== dependencies: sprintf-js "~1.0.2" aria-hidden@^1.1.1: version "1.2.4" - resolved "https://registry.yarnpkg.com/aria-hidden/-/aria-hidden-1.2.4.tgz#b78e383fdbc04d05762c78b4a25a501e736c4522" + resolved "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.4.tgz" integrity sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A== dependencies: tslib "^2.0.0" aria-query@^4.2.2: version "4.2.2" - resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-4.2.2.tgz#0d2ca6c9aceb56b8977e9fed6aed7e15bbd2f83b" + resolved "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz" integrity sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA== dependencies: "@babel/runtime" "^7.10.2" @@ -1657,12 +1655,12 @@ aria-query@^4.2.2: array-flatten@1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" + resolved "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz" integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== array-includes@^3.1.3, array-includes@^3.1.4: version "3.1.4" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.4.tgz#f5b493162c760f3539631f005ba2bb46acb45ba9" + resolved "https://registry.npmjs.org/array-includes/-/array-includes-3.1.4.tgz" integrity sha512-ZTNSQkmWumEbiHO2GF4GmWxYVTiQyJy2XOTa15sdQSrvKn7l+180egQMqlrMOUMCyLMD7pmyQe4mMDUT6Behrw== dependencies: call-bind "^1.0.2" @@ -1673,17 +1671,17 @@ array-includes@^3.1.3, array-includes@^3.1.4: array-iterate@^1.0.0: version "1.1.4" - resolved "https://registry.yarnpkg.com/array-iterate/-/array-iterate-1.1.4.tgz#add1522e9dd9749bb41152d08b845bd08d6af8b7" + resolved "https://registry.npmjs.org/array-iterate/-/array-iterate-1.1.4.tgz" integrity sha512-sNRaPGh9nnmdC8Zf+pT3UqP8rnWj5Hf9wiFGsX3wUQ2yVSIhO2ShFwCoceIPpB41QF6i2OEmrHmCo36xronCVA== array-union@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" + resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== array.prototype.flat@^1.2.5: version "1.2.5" - resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.2.5.tgz#07e0975d84bbc7c48cd1879d609e682598d33e13" + resolved "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.5.tgz" integrity sha512-KaYU+S+ndVqyUnignHftkwc58o3uVU1jzczILJ1tN2YaIZpFIKBiP/x/j97E5MVPsaCloPbqWLB/8qCTVvT2qg== dependencies: call-bind "^1.0.2" @@ -1692,7 +1690,7 @@ array.prototype.flat@^1.2.5: array.prototype.flatmap@^1.2.5: version "1.2.5" - resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.5.tgz#908dc82d8a406930fdf38598d51e7411d18d4446" + resolved "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.2.5.tgz" integrity sha512-08u6rVyi1Lj7oqWbS9nUxliETrtIROT4XGTA4D/LWGten6E3ocm7cy9SIrmNHOL5XVbVuckUp3X6Xyg8/zpvHA== dependencies: call-bind "^1.0.0" @@ -1701,32 +1699,32 @@ array.prototype.flatmap@^1.2.5: ast-types-flow@^0.0.7: version "0.0.7" - resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" + resolved "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz" integrity sha1-9wtzXGvKGlycItmCw+Oef+ujva0= astral-regex@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" + resolved "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz" integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== astring@^1.8.0: version "1.8.3" - resolved "https://registry.yarnpkg.com/astring/-/astring-1.8.3.tgz#1a0ae738c7cc558f8e5ddc8e3120636f5cebcb85" + resolved "https://registry.npmjs.org/astring/-/astring-1.8.3.tgz" integrity sha512-sRpyiNrx2dEYIMmUXprS8nlpRg2Drs8m9ElX9vVEXaCB4XEAJhKfs7IcX0IwShjuOAjLR6wzIrgoptz1n19i1A== asyncro@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/asyncro/-/asyncro-3.0.0.tgz#3c7a732e263bc4a42499042f48d7d858e9c0134e" + resolved "https://registry.npmjs.org/asyncro/-/asyncro-3.0.0.tgz" integrity sha512-nEnWYfrBmA3taTiuiOoZYmgJ/CNrSoQLeLs29SeLcPu60yaw/mHDBHV0iOZ051fTvsTHxpCY+gXibqT9wbQYfg== at-least-node@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" + resolved "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz" integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== autoprefixer@^10.4.2: version "10.4.2" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.2.tgz#25e1df09a31a9fba5c40b578936b90d35c9d4d3b" + resolved "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.2.tgz" integrity sha512-9fOPpHKuDW1w/0EKfRmVnxTDt8166MAnLI3mgZ1JCnhNtYWxcJ6Ud5CO/AVOZi/AvFa8DY9RTy3h3+tFBlrrdQ== dependencies: browserslist "^4.19.1" @@ -1738,7 +1736,7 @@ autoprefixer@^10.4.2: autoprefixer@^9.6.1: version "9.8.8" - resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-9.8.8.tgz#fd4bd4595385fa6f06599de749a4d5f7a474957a" + resolved "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.8.tgz" integrity sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA== dependencies: browserslist "^4.12.0" @@ -1751,17 +1749,17 @@ autoprefixer@^9.6.1: axe-core@^4.3.5: version "4.3.5" - resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.3.5.tgz#78d6911ba317a8262bfee292aeafcc1e04b49cc5" + resolved "https://registry.npmjs.org/axe-core/-/axe-core-4.3.5.tgz" integrity sha512-WKTW1+xAzhMS5dJsxWkliixlO/PqC4VhmO9T4juNYcaTg9jzWiJsou6m5pxWYGfigWbwzJWeFY6z47a+4neRXA== axobject-query@^2.2.0: version "2.2.0" - resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.2.0.tgz#943d47e10c0b704aa42275e20edf3722648989be" + resolved "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz" integrity sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA== babel-eslint@10.x: version "10.1.0" - resolved "https://registry.yarnpkg.com/babel-eslint/-/babel-eslint-10.1.0.tgz#6968e568a910b78fb3779cdd8b6ac2f479943232" + resolved "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz" integrity sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg== dependencies: "@babel/code-frame" "^7.0.0" @@ -1773,39 +1771,39 @@ babel-eslint@10.x: babel-plugin-dynamic-import-node@^2.3.3: version "2.3.3" - resolved "https://registry.yarnpkg.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3" + resolved "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz" integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ== dependencies: object.assign "^4.1.0" bail@^1.0.0: version "1.0.5" - resolved "https://registry.yarnpkg.com/bail/-/bail-1.0.5.tgz#b6fa133404a392cbc1f8c4bf63f5953351e7a776" + resolved "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz" integrity sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ== bail@^2.0.0: version "2.0.2" - resolved "https://registry.yarnpkg.com/bail/-/bail-2.0.2.tgz#d26f5cd8fe5d6f832a31517b9f7c356040ba6d5d" + resolved "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz" integrity sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw== balanced-match@^1.0.0: version "1.0.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" + resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== base64-js@^1.3.1: version "1.5.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" + resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== binary-extensions@^2.0.0: version "2.2.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" + resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== -body-parser@1.20.0, body-parser@^1.19.0: +body-parser@^1.19.0, body-parser@1.20.0: version "1.20.0" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.0.tgz#3de69bd89011c11573d7bfee6a64f11b6bd27cc5" + resolved "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz" integrity sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg== dependencies: bytes "3.1.2" @@ -1823,12 +1821,12 @@ body-parser@1.20.0, body-parser@^1.19.0: body-scroll-lock@^3.1.3: version "3.1.5" - resolved "https://registry.yarnpkg.com/body-scroll-lock/-/body-scroll-lock-3.1.5.tgz#c1392d9217ed2c3e237fee1e910f6cdd80b7aaec" + resolved "https://registry.npmjs.org/body-scroll-lock/-/body-scroll-lock-3.1.5.tgz" integrity sha512-Yi1Xaml0EvNA0OYWxXiYNqY24AfWkbA6w5vxE7GWxtKfzIbZM+Qw+aSmkgsbWzbHiy/RCSkUZBplVxTA+E4jJg== brace-expansion@^1.1.7: version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" + resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== dependencies: balanced-match "^1.0.0" @@ -1836,14 +1834,14 @@ brace-expansion@^1.1.7: braces@^3.0.1, braces@^3.0.2, braces@~3.0.2: version "3.0.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" + resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== dependencies: fill-range "^7.0.1" browserslist@^4.12.0, browserslist@^4.19.1, browserslist@^4.6.4: version "4.19.1" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.19.1.tgz#4ac0435b35ab655896c31d53018b6dd5e9e4c9a3" + resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.19.1.tgz" integrity sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A== dependencies: caniuse-lite "^1.0.30001286" @@ -1854,7 +1852,7 @@ browserslist@^4.12.0, browserslist@^4.19.1, browserslist@^4.6.4: browserslist@^4.20.2: version "4.21.3" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.3.tgz#5df277694eb3c48bc5c4b05af3e8b7e09c5a6d1a" + resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.21.3.tgz" integrity sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ== dependencies: caniuse-lite "^1.0.30001370" @@ -1864,7 +1862,7 @@ browserslist@^4.20.2: buffer@^6.0.3: version "6.0.3" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" + resolved "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz" integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== dependencies: base64-js "^1.3.1" @@ -1872,19 +1870,19 @@ buffer@^6.0.3: busboy@1.6.0: version "1.6.0" - resolved "https://registry.yarnpkg.com/busboy/-/busboy-1.6.0.tgz#966ea36a9502e43cdb9146962523b92f531f6893" + resolved "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz" integrity sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA== dependencies: streamsearch "^1.1.0" bytes@3.1.2: version "3.1.2" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" + resolved "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz" integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== call-bind@^1.0.0, call-bind@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" + resolved "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz" integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== dependencies: function-bind "^1.1.1" @@ -1892,51 +1890,59 @@ call-bind@^1.0.0, call-bind@^1.0.2: callsites@^3.0.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" + resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== camelcase-css@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5" + resolved "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz" integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA== caniuse-lite@^1.0.30000981, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001286, caniuse-lite@^1.0.30001297: version "1.0.30001301" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001301.tgz#ebc9086026534cab0dab99425d9c3b4425e5f450" + resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001301.tgz" integrity sha512-csfD/GpHMqgEL3V3uIgosvh+SVIQvCh43SNu9HRbP1lnxkKm1kjDG4f32PP571JplkLjfS+mg2p1gxR7MYrrIA== caniuse-lite@^1.0.30001370: version "1.0.30001390" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001390.tgz#158a43011e7068ef7fc73590e9fd91a7cece5e7f" + resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001390.tgz" integrity sha512-sS4CaUM+/+vqQUlCvCJ2WtDlV81aWtHhqeEVkLokVJJa3ViN4zDxAGfq9R8i1m90uGHxo99cy10Od+lvn3hf0g== caniuse-lite@^1.0.30001406: version "1.0.30001410" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001410.tgz#b5a86366fbbf439d75dd3db1d21137a73e829f44" + resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001410.tgz" integrity sha512-QoblBnuE+rG0lc3Ur9ltP5q47lbguipa/ncNMyyGuqPk44FxbScWAeEO+k5fSQ8WekdAK4mWqNs1rADDAiN5xQ== ccount@^1.0.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/ccount/-/ccount-1.1.0.tgz#246687debb6014735131be8abab2d93898f8d043" + resolved "https://registry.npmjs.org/ccount/-/ccount-1.1.0.tgz" integrity sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg== ccount@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/ccount/-/ccount-2.0.1.tgz#17a3bf82302e0870d6da43a01311a8bc02a3ecf5" + resolved "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz" integrity sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg== chalk@^2.0.0, chalk@^2.4.1, chalk@^2.4.2: version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" + resolved "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz" integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== dependencies: ansi-styles "^3.2.1" escape-string-regexp "^1.0.5" supports-color "^5.3.0" -chalk@^4.0.0, chalk@^4.1.0: +chalk@^4.0.0: + version "4.1.2" + resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +chalk@^4.1.0: version "4.1.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" + resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== dependencies: ansi-styles "^4.1.0" @@ -1944,47 +1950,47 @@ chalk@^4.0.0, chalk@^4.1.0: character-entities-html4@^1.0.0: version "1.1.4" - resolved "https://registry.yarnpkg.com/character-entities-html4/-/character-entities-html4-1.1.4.tgz#0e64b0a3753ddbf1fdc044c5fd01d0199a02e125" + resolved "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-1.1.4.tgz" integrity sha512-HRcDxZuZqMx3/a+qrzxdBKBPUpxWEq9xw2OPZ3a/174ihfrQKVsFhqtthBInFy1zZ9GgZyFXOatNujm8M+El3g== character-entities-html4@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/character-entities-html4/-/character-entities-html4-2.1.0.tgz#1f1adb940c971a4b22ba39ddca6b618dc6e56b2b" + resolved "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz" integrity sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA== character-entities-legacy@^1.0.0: version "1.1.4" - resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz#94bc1845dce70a5bb9d2ecc748725661293d8fc1" + resolved "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz" integrity sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA== character-entities-legacy@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz#76bc83a90738901d7bc223a9e93759fdd560125b" + resolved "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz" integrity sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ== character-entities@^1.0.0: version "1.2.4" - resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-1.2.4.tgz#e12c3939b7eaf4e5b15e7ad4c5e28e1d48c5b16b" + resolved "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz" integrity sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw== character-entities@^2.0.0: version "2.0.2" - resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-2.0.2.tgz#2d09c2e72cd9523076ccb21157dff66ad43fcc22" + resolved "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz" integrity sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ== character-reference-invalid@^1.0.0: version "1.1.4" - resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz#083329cda0eae272ab3dbbf37e9a382c13af1560" + resolved "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz" integrity sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg== character-reference-invalid@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz#85c66b041e43b47210faf401278abf808ac45cb9" + resolved "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz" integrity sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw== chokidar@^3.4.0, chokidar@^3.5.3: version "3.5.3" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" + resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz" integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== dependencies: anymatch "~3.1.2" @@ -1999,39 +2005,39 @@ chokidar@^3.4.0, chokidar@^3.5.3: ci-info@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" + resolved "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz" integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== ci-info@^3.2.0: version "3.3.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.3.0.tgz#b4ed1fb6818dea4803a55c623041f9165d2066b2" + resolved "https://registry.npmjs.org/ci-info/-/ci-info-3.3.0.tgz" integrity sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw== classnames@*, classnames@^2.2.6: version "2.3.1" - resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.3.1.tgz#dfcfa3891e306ec1dad105d0e88f4417b8535e8e" + resolved "https://registry.npmjs.org/classnames/-/classnames-2.3.1.tgz" integrity sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA== clean-set@^1.1.2: version "1.1.2" - resolved "https://registry.yarnpkg.com/clean-set/-/clean-set-1.1.2.tgz#76d8bf238c3e27827bfa73073ecdfdc767187070" + resolved "https://registry.npmjs.org/clean-set/-/clean-set-1.1.2.tgz" integrity sha512-cA8uCj0qSoG9e0kevyOWXwPaELRPVg5Pxp6WskLMwerx257Zfnh8Nl0JBH59d7wQzij2CK7qEfJQK3RjuKKIug== clean-stack@^2.0.0: version "2.2.0" - resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" + resolved "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz" integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== cli-cursor@^3.1.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" + resolved "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz" integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== dependencies: restore-cursor "^3.1.0" cli-truncate@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7" + resolved "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz" integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg== dependencies: slice-ansi "^3.0.0" @@ -2039,7 +2045,7 @@ cli-truncate@^2.1.0: cli-truncate@^3.1.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-3.1.0.tgz#3f23ab12535e3d73e839bb43e73c9de487db1389" + resolved "https://registry.npmjs.org/cli-truncate/-/cli-truncate-3.1.0.tgz" integrity sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA== dependencies: slice-ansi "^5.0.0" @@ -2047,125 +2053,125 @@ cli-truncate@^3.1.0: client-only@0.0.1: version "0.0.1" - resolved "https://registry.yarnpkg.com/client-only/-/client-only-0.0.1.tgz#38bba5d403c41ab150bff64a95c85013cf73bca1" + resolved "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz" integrity sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA== collapse-white-space@^1.0.2: version "1.0.6" - resolved "https://registry.yarnpkg.com/collapse-white-space/-/collapse-white-space-1.0.6.tgz#e63629c0016665792060dbbeb79c42239d2c5287" + resolved "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.6.tgz" integrity sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ== color-convert@^1.9.0: version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz" integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== dependencies: color-name "1.1.3" color-convert@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== dependencies: color-name "~1.1.4" -color-name@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= - color-name@~1.1.4: version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== +color-name@1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" + integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= + colorette@^2.0.16: version "2.0.16" - resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.16.tgz#713b9af84fdb000139f04546bd4a93f62a5085da" + resolved "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz" integrity sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g== comma-separated-tokens@^1.0.0: version "1.0.8" - resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz#632b80b6117867a158f1080ad498b2fbe7e3f5ea" + resolved "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz" integrity sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw== comma-separated-tokens@^2.0.0: version "2.0.2" - resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-2.0.2.tgz#d4c25abb679b7751c880be623c1179780fe1dd98" + resolved "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.2.tgz" integrity sha512-G5yTt3KQN4Yn7Yk4ed73hlZ1evrFKXeUW3086p3PRFNp7m2vIjI6Pg+Kgb+oyzhd9F2qdcoj67+y3SdxL5XWsg== commander@^4.0.0: version "4.1.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-4.1.1.tgz#9fd602bd936294e9e9ef46a3f4d6964044b18068" + resolved "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz" integrity sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA== commander@^5.0.0: version "5.1.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-5.1.0.tgz#46abbd1652f8e059bddaef99bbdcb2ad9cf179ae" + resolved "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz" integrity sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg== commander@^7.2.0: version "7.2.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-7.2.0.tgz#a36cb57d0b501ce108e4d20559a150a391d97ab7" + resolved "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz" integrity sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw== commander@^8.3.0: version "8.3.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66" + resolved "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz" integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== concat-map@0.0.1: version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" + resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= confusing-browser-globals@^1.0.9: version "1.0.11" - resolved "https://registry.yarnpkg.com/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz#ae40e9b57cdd3915408a2805ebd3a5585608dc81" + resolved "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz" integrity sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA== content-disposition@0.5.4: version "0.5.4" - resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" + resolved "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz" 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" + resolved "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz" integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA== convert-source-map@^1.7.0: version "1.8.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.8.0.tgz#f3373c32d21b4d780dd8004514684fb791ca4369" + resolved "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz" integrity sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA== dependencies: safe-buffer "~5.1.1" cookie-signature@1.0.6: version "1.0.6" - resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" + resolved "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz" integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== cookie@0.5.0: version "0.5.0" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b" + resolved "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz" integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== core-js-pure@^3.20.2: version "3.20.3" - resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.20.3.tgz#6cc4f36da06c61d95254efc54024fe4797fd5d02" + resolved "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.20.3.tgz" integrity sha512-Q2H6tQ5MtPtcC7f3HxJ48i4Q7T9ybPKgvWyuH7JXIoNa2pm0KuBnycsET/qw1SLLZYfbsbrZQNMeIOClb+6WIA== crelt@^1.0.5: version "1.0.5" - resolved "https://registry.yarnpkg.com/crelt/-/crelt-1.0.5.tgz#57c0d52af8c859e354bace1883eb2e1eb182bb94" + resolved "https://registry.npmjs.org/crelt/-/crelt-1.0.5.tgz" integrity sha512-+BO9wPPi+DWTDcNYhr/W90myha8ptzftZT+LwcmUbbok0rcP/fequmFYCw8NMoH7pkAZQzU78b3kYrlua5a9eA== cross-spawn@^6.0.5: version "6.0.5" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" + resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz" integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== dependencies: nice-try "^1.0.4" @@ -2174,9 +2180,18 @@ cross-spawn@^6.0.5: shebang-command "^1.2.0" which "^1.2.9" -cross-spawn@^7.0.2, cross-spawn@^7.0.3: +cross-spawn@^7.0.2: version "7.0.3" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" + resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +cross-spawn@^7.0.3: + version "7.0.3" + resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== dependencies: path-key "^3.1.0" @@ -2185,14 +2200,14 @@ cross-spawn@^7.0.2, cross-spawn@^7.0.3: css-blank-pseudo@^0.1.4: version "0.1.4" - resolved "https://registry.yarnpkg.com/css-blank-pseudo/-/css-blank-pseudo-0.1.4.tgz#dfdefd3254bf8a82027993674ccf35483bfcb3c5" + resolved "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-0.1.4.tgz" integrity sha512-LHz35Hr83dnFeipc7oqFDmsjHdljj3TQtxGGiNWSOsTLIAubSm4TEz8qCaKFpk7idaQ1GfWscF4E6mgpBysA1w== dependencies: postcss "^7.0.5" css-has-pseudo@^0.10.0: version "0.10.0" - resolved "https://registry.yarnpkg.com/css-has-pseudo/-/css-has-pseudo-0.10.0.tgz#3c642ab34ca242c59c41a125df9105841f6966ee" + resolved "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-0.10.0.tgz" integrity sha512-Z8hnfsZu4o/kt+AuFzeGpLVhFOGO9mluyHBaA2bA8aCGTwah5sT3WV/fTHH8UNZUytOIImuGPrl/prlb4oX4qQ== dependencies: postcss "^7.0.6" @@ -2200,34 +2215,34 @@ css-has-pseudo@^0.10.0: css-prefers-color-scheme@^3.1.1: version "3.1.1" - resolved "https://registry.yarnpkg.com/css-prefers-color-scheme/-/css-prefers-color-scheme-3.1.1.tgz#6f830a2714199d4f0d0d0bb8a27916ed65cff1f4" + resolved "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-3.1.1.tgz" integrity sha512-MTu6+tMs9S3EUqzmqLXEcgNRbNkkD/TGFvowpeoWJn5Vfq7FMgsmRQs9X5NXAURiOBmOxm/lLjsDNXDE6k9bhg== dependencies: postcss "^7.0.5" cssdb@^4.4.0: version "4.4.0" - resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-4.4.0.tgz#3bf2f2a68c10f5c6a08abd92378331ee803cddb0" + resolved "https://registry.npmjs.org/cssdb/-/cssdb-4.4.0.tgz" integrity sha512-LsTAR1JPEM9TpGhl/0p3nQecC2LJ0kD8X5YARu1hk/9I1gril5vDtMZyNxcEpxxDj34YNck/ucjuoUd66K03oQ== cssesc@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-2.0.0.tgz#3b13bd1bb1cb36e1bcb5a4dcd27f54c5dcb35703" + resolved "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz" integrity sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg== cssesc@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee" + resolved "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz" integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg== csstype@^3.0.2: version "3.0.10" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.10.tgz#2ad3a7bed70f35b965707c092e5f30b327c290e5" + resolved "https://registry.npmjs.org/csstype/-/csstype-3.0.10.tgz" integrity sha512-2u44ZG2OcNUO9HDp/Jl8C07x6pU/eTR3ncV91SiK3dhG9TWvRVsCoJw14Ckx5DgWkzGA3waZWO3d7pgqpUI/XA== -d@1, d@^1.0.1: +d@^1.0.1, d@1: version "1.0.1" - resolved "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a" + resolved "https://registry.npmjs.org/d/-/d-1.0.1.tgz" integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA== dependencies: es5-ext "^0.10.50" @@ -2235,69 +2250,83 @@ d@1, d@^1.0.1: damerau-levenshtein@^1.0.7: version "1.0.8" - resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz#b43d286ccbd36bc5b2f7ed41caf2d0aba1f8a6e7" + resolved "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz" integrity sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA== date-fns@^2.16.1: version "2.28.0" - resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.28.0.tgz#9570d656f5fc13143e50c975a3b6bbeb46cd08b2" + resolved "https://registry.npmjs.org/date-fns/-/date-fns-2.28.0.tgz" integrity sha512-8d35hViGYx/QH0icHYCeLmsLmMUheMmTyV9Fcm6gvNwdw31yXXH+O85sOBJ+OLnLQMKZowvpKb6FgMIQjcpvQw== debounce@^1.2.1: version "1.2.1" - resolved "https://registry.yarnpkg.com/debounce/-/debounce-1.2.1.tgz#38881d8f4166a5c5848020c11827b834bcb3e0a5" + resolved "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz" integrity sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug== -debug@2.6.9, debug@^2.6.9: +debug@^2.6.9: version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" + resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" 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" + resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== dependencies: ms "^2.1.1" -debug@^4.0.0, debug@^4.3.4: +debug@^4.0.0: version "4.3.4" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" + resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== dependencies: ms "2.1.2" debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.3: version "4.3.3" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664" + resolved "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz" integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q== dependencies: ms "2.1.2" +debug@^4.3.4: + version "4.3.4" + resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + +debug@2.6.9: + version "2.6.9" + resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" + integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== + dependencies: + ms "2.0.0" + decode-named-character-reference@^1.0.0: version "1.0.2" - resolved "https://registry.yarnpkg.com/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz#daabac9690874c394c81e4162a0304b35d824f0e" + resolved "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz" integrity sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg== dependencies: character-entities "^2.0.0" deep-is@^0.1.3: version "0.1.4" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" + resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== define-properties@^1.1.3: version "1.1.3" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1" + resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz" integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ== dependencies: object-keys "^1.0.12" define-properties@^1.1.4: version "1.1.4" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.4.tgz#0b14d7bd7fbeb2f3572c3a7eda80ea5d57fb05b1" + resolved "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz" integrity sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA== dependencies: has-property-descriptors "^1.0.0" @@ -2305,122 +2334,122 @@ define-properties@^1.1.4: depd@2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" + resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz" integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== dequal@^2.0.0, dequal@^2.0.2: version "2.0.3" - resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be" + resolved "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz" integrity sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== destroy@1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" + resolved "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz" integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== detect-node-es@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/detect-node-es/-/detect-node-es-1.1.0.tgz#163acdf643330caa0b4cd7c21e7ee7755d6fa493" + resolved "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz" integrity sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ== didyoumean@^1.2.2: version "1.2.2" - resolved "https://registry.yarnpkg.com/didyoumean/-/didyoumean-1.2.2.tgz#989346ffe9e839b4555ecf5666edea0d3e8ad037" + resolved "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz" integrity sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw== diff@^5.0.0: version "5.1.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-5.1.0.tgz#bc52d298c5ea8df9194800224445ed43ffc87e40" + resolved "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz" integrity sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw== dir-glob@^3.0.1: version "3.0.1" - resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" + resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== dependencies: path-type "^4.0.0" dlv@^1.1.3: version "1.1.3" - resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.3.tgz#5c198a8a11453596e751494d49874bc7732f2e79" + resolved "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz" integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== doctrine@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" + resolved "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz" integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== dependencies: esutils "^2.0.2" doctrine@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" + resolved "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz" integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== dependencies: esutils "^2.0.2" dotenv@^16.0.3: version "16.0.3" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-16.0.3.tgz#115aec42bac5053db3c456db30cc243a5a836a07" + resolved "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz" integrity sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ== duplexer@^0.1.2: version "0.1.2" - resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" + resolved "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz" integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg== eastasianwidth@^0.2.0: version "0.2.0" - resolved "https://registry.yarnpkg.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb" + resolved "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz" 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" + resolved "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz" integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== electron-to-chromium@^1.4.17: version "1.4.51" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.51.tgz#a432f5a5d983ace79278a33057300cf949627e63" + resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.51.tgz" integrity sha512-JNEmcYl3mk1tGQmy0EvL5eik/CKSBuzAyGP0QFdG6LIgxQe3II0BL1m2zKc2MZMf3uGqHWE1TFddJML0RpjSHQ== electron-to-chromium@^1.4.202: version "1.4.241" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.241.tgz#5aa03ab94db590d8269f4518157c24b1efad34d6" + resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.241.tgz" integrity sha512-e7Wsh4ilaioBZ5bMm6+F4V5c11dh56/5Jwz7Hl5Tu1J7cnB+Pqx5qIF2iC7HPpfyQMqGSvvLP5bBAIDd2gAtGw== emoji-regex@^8.0.0: version "8.0.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" + resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== emoji-regex@^9.2.2: version "9.2.2" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" + resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz" integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== encodeurl@~1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" + resolved "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz" integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== enquirer@^2.3.5: version "2.3.6" - resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" + resolved "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz" integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== dependencies: ansi-colors "^4.1.1" error-ex@^1.3.1: version "1.3.2" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" + resolved "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz" integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== dependencies: is-arrayish "^0.2.1" es-abstract@^1.19.0, es-abstract@^1.19.1: version "1.19.1" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.19.1.tgz#d4885796876916959de78edaa0df456627115ec3" + resolved "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.1.tgz" integrity sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w== dependencies: call-bind "^1.0.2" @@ -2446,7 +2475,7 @@ es-abstract@^1.19.0, es-abstract@^1.19.1: es-to-primitive@^1.2.1: version "1.2.1" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" + resolved "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz" integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== dependencies: is-callable "^1.1.4" @@ -2455,7 +2484,7 @@ es-to-primitive@^1.2.1: es5-ext@^0.10.35, es5-ext@^0.10.50: version "0.10.62" - resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.62.tgz#5e6adc19a6da524bf3d1e02bbc8960e5eb49a9a5" + resolved "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.62.tgz" integrity sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA== dependencies: es6-iterator "^2.0.3" @@ -2464,7 +2493,7 @@ es5-ext@^0.10.35, es5-ext@^0.10.50: es6-iterator@^2.0.3: version "2.0.3" - resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" + resolved "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz" integrity sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g== dependencies: d "1" @@ -2473,7 +2502,7 @@ es6-iterator@^2.0.3: es6-symbol@^3, es6-symbol@^3.1.1, es6-symbol@^3.1.3: version "3.1.3" - resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18" + resolved "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz" integrity sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA== dependencies: d "^1.0.1" @@ -2481,37 +2510,37 @@ es6-symbol@^3, es6-symbol@^3.1.1, es6-symbol@^3.1.3: escalade@^3.1.1: version "3.1.1" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" + resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz" integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== escape-carriage@^1.3.1: version "1.3.1" - resolved "https://registry.yarnpkg.com/escape-carriage/-/escape-carriage-1.3.1.tgz#842658e5422497b1232585e517dc813fc6a86170" + resolved "https://registry.npmjs.org/escape-carriage/-/escape-carriage-1.3.1.tgz" integrity sha512-GwBr6yViW3ttx1kb7/Oh+gKQ1/TrhYwxKqVmg5gS+BK+Qe2KrOa/Vh7w3HPBvgGf0LfcDGoY9I6NHKoA5Hozhw== escape-html@~1.0.3: version "1.0.3" - resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" + resolved "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz" 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" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ= escape-string-regexp@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== escape-string-regexp@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz#4683126b500b61762f2dbebace1806e8be31b1c8" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz" integrity sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw== eslint-config-next@12.0.3: version "12.0.3" - resolved "https://registry.yarnpkg.com/eslint-config-next/-/eslint-config-next-12.0.3.tgz#a85ad423997f098b41b61c279472e0642e200a9e" + resolved "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-12.0.3.tgz" integrity sha512-q+mX6jhk3HrCo39G18MLhiC6f8zJnTA00f30RSuVUWsv45SQUm6r62oXVqrbAgMEybe0yx/GDRvfA6LvSolw6Q== dependencies: "@next/eslint-plugin-next" "12.0.3" @@ -2526,14 +2555,14 @@ eslint-config-next@12.0.3: eslint-config-react-app@^5.2.1: version "5.2.1" - resolved "https://registry.yarnpkg.com/eslint-config-react-app/-/eslint-config-react-app-5.2.1.tgz#698bf7aeee27f0cea0139eaef261c7bf7dd623df" + resolved "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-5.2.1.tgz" integrity sha512-pGIZ8t0mFLcV+6ZirRgYK6RVqUIKRIi9MmgzUEmrIknsn3AdO0I32asO86dJgloHq+9ZPl8UIg8mYrvgP5u2wQ== dependencies: confusing-browser-globals "^1.0.9" eslint-import-resolver-node@^0.3.4, eslint-import-resolver-node@^0.3.6: version "0.3.6" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz#4048b958395da89668252001dbd9eca6b83bacbd" + resolved "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz" integrity sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw== dependencies: debug "^3.2.7" @@ -2541,7 +2570,7 @@ eslint-import-resolver-node@^0.3.4, eslint-import-resolver-node@^0.3.6: eslint-import-resolver-typescript@^2.4.0: version "2.5.0" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-2.5.0.tgz#07661966b272d14ba97f597b51e1a588f9722f0a" + resolved "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-2.5.0.tgz" integrity sha512-qZ6e5CFr+I7K4VVhQu3M/9xGv9/YmwsEXrsm3nimw8vWaVHRDrQRp26BgCypTxBp3vUp4o5aVEJRiy0F2DFddQ== dependencies: debug "^4.3.1" @@ -2552,7 +2581,7 @@ eslint-import-resolver-typescript@^2.4.0: eslint-module-utils@^2.7.2: version "2.7.2" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.2.tgz#1d0aa455dcf41052339b63cada8ab5fd57577129" + resolved "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.2.tgz" integrity sha512-zquepFnWCY2ISMFwD/DqzaM++H+7PDzOpUvotJWm/y1BAFt5R4oeULgdrTejKqLkz7MA/tgstsUMNYc7wNdTrg== dependencies: debug "^3.2.7" @@ -2560,14 +2589,14 @@ eslint-module-utils@^2.7.2: eslint-plugin-flowtype@4.x: version "4.7.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-flowtype/-/eslint-plugin-flowtype-4.7.0.tgz#903a6ea3eb5cbf4c7ba7fa73cc43fc39ab7e4a70" + resolved "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-4.7.0.tgz" integrity sha512-M+hxhSCk5QBEValO5/UqrS4UunT+MgplIJK5wA1sCtXjzBcZkpTGRwxmLHhGpbHcrmQecgt6ZL/KDdXWqGB7VA== dependencies: lodash "^4.17.15" -eslint-plugin-import@2.x, eslint-plugin-import@^2.22.1: +eslint-plugin-import@^2.22.1, eslint-plugin-import@2.x: version "2.25.4" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.25.4.tgz#322f3f916a4e9e991ac7af32032c25ce313209f1" + resolved "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.25.4.tgz" integrity sha512-/KJBASVFxpu0xg1kIBn9AUa8hQVnszpwgE7Ld0lKAlx7Ie87yzEzCgSkekt+le/YVhiaosO4Y14GDAOc41nfxA== dependencies: array-includes "^3.1.4" @@ -2584,9 +2613,9 @@ eslint-plugin-import@2.x, eslint-plugin-import@^2.22.1: resolve "^1.20.0" tsconfig-paths "^3.12.0" -eslint-plugin-jsx-a11y@6.x, eslint-plugin-jsx-a11y@^6.4.1: +eslint-plugin-jsx-a11y@^6.4.1, eslint-plugin-jsx-a11y@6.x: version "6.5.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.5.1.tgz#cdbf2df901040ca140b6ec14715c988889c2a6d8" + resolved "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.5.1.tgz" integrity sha512-sVCFKX9fllURnXT2JwLN5Qgo24Ug5NF6dxhkmxsMEUZhXRcGg+X3e1JbJ84YePQKBl5E0ZjAH5Q4rkdcGY99+g== dependencies: "@babel/runtime" "^7.16.3" @@ -2604,17 +2633,17 @@ eslint-plugin-jsx-a11y@6.x, eslint-plugin-jsx-a11y@^6.4.1: eslint-plugin-react-hooks@^0.0.0-experimental-fabef7a6b-20221215: version "0.0.0-experimental-fabef7a6b-20221215" - resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-0.0.0-experimental-fabef7a6b-20221215.tgz#ceb8c59f1c363cc2f733b0be36661a8a722a89a1" + resolved "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-0.0.0-experimental-fabef7a6b-20221215.tgz" integrity sha512-y1lJAS4gWXyP6kXl2jA9ZJdFFfcMwNjMEZEEXn9LHOWEhnAgKgcqZ/NhNWAphiJLYOZ33kne1hbhDlGCcrdx5g== eslint-plugin-react-hooks@^4.2.0: version "4.3.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.3.0.tgz#318dbf312e06fab1c835a4abef00121751ac1172" + resolved "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.3.0.tgz" integrity sha512-XslZy0LnMn+84NEG9jSGR6eGqaZB3133L8xewQo3fQagbQuGt7a63gf+P1NGKZavEYEC3UXaWEAA/AqDkuN6xA== -eslint-plugin-react@7.x, eslint-plugin-react@^7.23.1: +eslint-plugin-react@^7.23.1, eslint-plugin-react@7.x: version "7.28.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.28.0.tgz#8f3ff450677571a659ce76efc6d80b6a525adbdf" + resolved "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.28.0.tgz" integrity sha512-IOlFIRHzWfEQQKcAD4iyYDndHwTQiCMcJVJjxempf203jnNLUnW34AXLrV33+nEXoifJE2ZEGmcjKPL8957eSw== dependencies: array-includes "^3.1.4" @@ -2634,7 +2663,7 @@ eslint-plugin-react@7.x, eslint-plugin-react@^7.23.1: eslint-scope@^5.1.1: version "5.1.1" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" + resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== dependencies: esrecurse "^4.3.0" @@ -2642,36 +2671,36 @@ eslint-scope@^5.1.1: eslint-utils@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" + resolved "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz" integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== dependencies: eslint-visitor-keys "^1.1.0" eslint-utils@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" + resolved "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz" integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== dependencies: eslint-visitor-keys "^2.0.0" eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: version "1.3.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" + resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz" integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== eslint-visitor-keys@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" + resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz" integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== eslint-visitor-keys@^3.3.0: version "3.3.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" + resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz" integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== eslint@7.x: version "7.32.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.32.0.tgz#c6d328a14be3fb08c8d1d21e12c02fdb7a2a812d" + resolved "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz" integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA== dependencies: "@babel/code-frame" "7.12.11" @@ -2717,7 +2746,7 @@ eslint@7.x: espree@^7.3.0, espree@^7.3.1: version "7.3.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6" + resolved "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz" integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== dependencies: acorn "^7.4.0" @@ -2726,43 +2755,43 @@ espree@^7.3.0, espree@^7.3.1: esprima@^4.0.0: version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" + resolved "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== esquery@^1.4.0: version "1.4.0" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5" + resolved "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz" integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w== dependencies: estraverse "^5.1.0" esrecurse@^4.3.0: version "4.3.0" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" + resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== dependencies: estraverse "^5.2.0" estraverse@^4.1.1: version "4.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" + resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: version "5.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" + resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== estree-util-attach-comments@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/estree-util-attach-comments/-/estree-util-attach-comments-2.1.0.tgz#47d69900588bcbc6bf58c3798803ec5f1f3008de" + resolved "https://registry.npmjs.org/estree-util-attach-comments/-/estree-util-attach-comments-2.1.0.tgz" integrity sha512-rJz6I4L0GaXYtHpoMScgDIwM0/Vwbu5shbMeER596rB2D1EWF6+Gj0e0UKzJPZrpoOc87+Q2kgVFHfjAymIqmw== dependencies: "@types/estree" "^1.0.0" estree-util-build-jsx@^2.0.0: version "2.2.0" - resolved "https://registry.yarnpkg.com/estree-util-build-jsx/-/estree-util-build-jsx-2.2.0.tgz#d4307bbeee28c14eb4d63b75c9aad28fa61d84f5" + resolved "https://registry.npmjs.org/estree-util-build-jsx/-/estree-util-build-jsx-2.2.0.tgz" integrity sha512-apsfRxF9uLrqosApvHVtYZjISPvTJ+lBiIydpC+9wE6cF6ssbhnjyQLqaIjgzGxvC2Hbmec1M7g91PoBayYoQQ== dependencies: "@types/estree-jsx" "^1.0.0" @@ -2771,12 +2800,12 @@ estree-util-build-jsx@^2.0.0: estree-util-is-identifier-name@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/estree-util-is-identifier-name/-/estree-util-is-identifier-name-2.0.1.tgz#cf07867f42705892718d9d89eb2d85eaa8f0fcb5" + resolved "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-2.0.1.tgz" integrity sha512-rxZj1GkQhY4x1j/CSnybK9cGuMFQYFPLq0iNyopqf14aOVLFtMv7Esika+ObJWPWiOHuMOAHz3YkWoLYYRnzWQ== estree-util-to-js@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/estree-util-to-js/-/estree-util-to-js-1.1.0.tgz#3bd9bb86354063537cc3d81259be2f0d4c3af39f" + resolved "https://registry.npmjs.org/estree-util-to-js/-/estree-util-to-js-1.1.0.tgz" integrity sha512-490lbfCcpLk+ofK6HCgqDfYs4KAfq6QVvDw3+Bm1YoKRgiOjKiKYGAVQE1uwh7zVxBgWhqp4FDtp5SqunpUk1A== dependencies: "@types/estree-jsx" "^1.0.0" @@ -2785,7 +2814,7 @@ estree-util-to-js@^1.1.0: estree-util-visit@^1.0.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/estree-util-visit/-/estree-util-visit-1.2.0.tgz#aa0311a9c2f2aa56e9ae5e8b9d87eac14e4ec8f8" + resolved "https://registry.npmjs.org/estree-util-visit/-/estree-util-visit-1.2.0.tgz" integrity sha512-wdsoqhWueuJKsh5hqLw3j8lwFqNStm92VcwtAOAny8g/KS/l5Y8RISjR4k5W6skCj3Nirag/WUCMS0Nfy3sgsg== dependencies: "@types/estree-jsx" "^1.0.0" @@ -2793,22 +2822,22 @@ estree-util-visit@^1.0.0: estree-walker@^3.0.0: version "3.0.1" - resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-3.0.1.tgz#c2a9fb4a30232f5039b7c030b37ead691932debd" + resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.1.tgz" integrity sha512-woY0RUD87WzMBUiZLx8NsYr23N5BKsOMZHhu2hoNRVh6NXGfoiT1KOL8G3UHlJAnEDGmfa5ubNA/AacfG+Kb0g== esutils@^2.0.2: version "2.0.3" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" + resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" 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" + resolved "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz" integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== execa@^5.1.1: version "5.1.1" - resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" + resolved "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz" integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== dependencies: cross-spawn "^7.0.3" @@ -2823,7 +2852,7 @@ execa@^5.1.1: express@^4.17.1: version "4.18.1" - resolved "https://registry.yarnpkg.com/express/-/express-4.18.1.tgz#7797de8b9c72c857b9cd0e14a5eea80666267caf" + resolved "https://registry.npmjs.org/express/-/express-4.18.1.tgz" integrity sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q== dependencies: accepts "~1.3.8" @@ -2860,31 +2889,31 @@ express@^4.17.1: ext@^1.1.2: version "1.7.0" - resolved "https://registry.yarnpkg.com/ext/-/ext-1.7.0.tgz#0ea4383c0103d60e70be99e9a7f11027a33c4f5f" + resolved "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz" integrity sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw== dependencies: type "^2.7.2" extend-shallow@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" + resolved "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz" integrity sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8= dependencies: is-extendable "^0.1.0" extend@^3.0.0: version "3.0.2" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" + resolved "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz" integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== 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" + resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== fast-glob@^3.2.9: version "3.2.11" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9" + resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz" integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew== dependencies: "@nodelib/fs.stat" "^2.0.2" @@ -2895,7 +2924,7 @@ fast-glob@^3.2.9: fast-glob@^3.3.0: version "3.3.2" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.2.tgz#a904501e57cfdd2ffcded45e99a54fef55e46129" + resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz" integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== dependencies: "@nodelib/fs.stat" "^2.0.2" @@ -2906,45 +2935,45 @@ fast-glob@^3.3.0: fast-json-stable-stringify@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" + resolved "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== fast-levenshtein@^2.0.6: version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" + resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc= fastq@^1.6.0: version "1.13.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c" + resolved "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz" integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw== dependencies: reusify "^1.0.4" fault@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/fault/-/fault-2.0.1.tgz#d47ca9f37ca26e4bd38374a7c500b5a384755b6c" + resolved "https://registry.npmjs.org/fault/-/fault-2.0.1.tgz" integrity sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ== dependencies: format "^0.2.0" file-entry-cache@^6.0.1: version "6.0.1" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" + resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz" integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== dependencies: flat-cache "^3.0.4" fill-range@^7.0.1: version "7.0.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" + resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== 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" + resolved "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz" integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== dependencies: debug "2.6.9" @@ -2957,21 +2986,21 @@ finalhandler@1.2.0: find-up@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" + resolved "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz" integrity sha1-RdG35QbHF93UgndaK3eSCjwMV6c= dependencies: locate-path "^2.0.0" find-yarn-workspace-root@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz#f47fb8d239c900eb78179aa81b66673eac88f7bd" + resolved "https://registry.npmjs.org/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz" integrity sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ== dependencies: micromatch "^4.0.2" flat-cache@^3.0.4: version "3.0.4" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" + resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz" integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== dependencies: flatted "^3.1.0" @@ -2979,37 +3008,37 @@ flat-cache@^3.0.4: flatted@^3.1.0: version "3.2.4" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.4.tgz#28d9969ea90661b5134259f312ab6aa7929ac5e2" + resolved "https://registry.npmjs.org/flatted/-/flatted-3.2.4.tgz" integrity sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw== flatten@^1.0.2: version "1.0.3" - resolved "https://registry.yarnpkg.com/flatten/-/flatten-1.0.3.tgz#c1283ac9f27b368abc1e36d1ff7b04501a30356b" + resolved "https://registry.npmjs.org/flatten/-/flatten-1.0.3.tgz" integrity sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg== format@^0.2.0: version "0.2.2" - resolved "https://registry.yarnpkg.com/format/-/format-0.2.2.tgz#d6170107e9efdc4ed30c9dc39016df942b5cb58b" + resolved "https://registry.npmjs.org/format/-/format-0.2.2.tgz" integrity sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww== forwarded@0.2.0: version "0.2.0" - resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" + resolved "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz" integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== fraction.js@^4.1.2: version "4.1.2" - resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.1.2.tgz#13e420a92422b6cf244dff8690ed89401029fbe8" + resolved "https://registry.npmjs.org/fraction.js/-/fraction.js-4.1.2.tgz" integrity sha512-o2RiJQ6DZaR/5+Si0qJUIy637QMRudSi9kU/FFzx9EZazrIdnBgpU+3sEWCxAVhH2RtxW2Oz+T4p2o8uOPVcgA== fresh@0.5.2: version "0.5.2" - resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" + resolved "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz" integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== fs-extra@^7.0.1: version "7.0.1" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" + resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz" integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== dependencies: graceful-fs "^4.1.2" @@ -3018,7 +3047,7 @@ fs-extra@^7.0.1: fs-extra@^9.0.1: version "9.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" + resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz" integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== dependencies: at-least-node "^1.0.0" @@ -3028,32 +3057,32 @@ fs-extra@^9.0.1: fs.realpath@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" + resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8= fsevents@~2.3.2: version "2.3.2" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" + resolved "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz" integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== function-bind@^1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" + resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz" integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== functional-red-black-tree@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" + resolved "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz" integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc= 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" + resolved "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz" integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6" + resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz" integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q== dependencies: function-bind "^1.1.1" @@ -3062,17 +3091,17 @@ get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: get-nonce@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/get-nonce/-/get-nonce-1.0.1.tgz#fdf3f0278073820d2ce9426c18f07481b1e0cdf3" + resolved "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz" integrity sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q== get-stream@^6.0.0: version "6.0.1" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" + resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz" integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== get-symbol-description@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" + resolved "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz" integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== dependencies: call-bind "^1.0.2" @@ -3080,27 +3109,27 @@ get-symbol-description@^1.0.0: github-slugger@^1.0.0, github-slugger@^1.3.0: version "1.4.0" - resolved "https://registry.yarnpkg.com/github-slugger/-/github-slugger-1.4.0.tgz#206eb96cdb22ee56fdc53a28d5a302338463444e" + resolved "https://registry.npmjs.org/github-slugger/-/github-slugger-1.4.0.tgz" integrity sha512-w0dzqw/nt51xMVmlaV1+JRzN+oCa1KfcgGEWhxUG16wbdA+Xnt/yoFO8Z8x/V82ZcZ0wy6ln9QDup5avbhiDhQ== 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" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== dependencies: is-glob "^4.0.1" glob-parent@^6.0.2: version "6.0.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== dependencies: is-glob "^4.0.3" -glob@7.1.6: - version "7.1.6" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6" - integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== +glob@^7.1.3, glob@^7.1.7: + version "7.2.0" + resolved "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz" + integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" @@ -3109,10 +3138,10 @@ glob@7.1.6: once "^1.3.0" path-is-absolute "^1.0.0" -glob@7.1.7: - version "7.1.7" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.7.tgz#3b193e9233f01d42d0b3f78294bbeeb418f94a90" - integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== +glob@7.1.6: + version "7.1.6" + resolved "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz" + integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA== dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" @@ -3121,10 +3150,10 @@ glob@7.1.7: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^7.1.3, glob@^7.1.7: - version "7.2.0" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" - integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== +glob@7.1.7: + version "7.1.7" + resolved "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz" + integrity sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ== dependencies: fs.realpath "^1.0.0" inflight "^1.0.4" @@ -3135,19 +3164,26 @@ glob@^7.1.3, glob@^7.1.7: globals@^11.1.0: version "11.12.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" + resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== -globals@^13.6.0, globals@^13.9.0: +globals@^13.6.0: + version "13.12.0" + resolved "https://registry.npmjs.org/globals/-/globals-13.12.0.tgz" + integrity sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg== + dependencies: + type-fest "^0.20.2" + +globals@^13.9.0: version "13.12.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.12.0.tgz#4d733760304230a0082ed96e21e5c565f898089e" + resolved "https://registry.npmjs.org/globals/-/globals-13.12.0.tgz" integrity sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg== dependencies: type-fest "^0.20.2" globby@^11.0.1, globby@^11.0.3, globby@^11.1.0: version "11.1.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" + resolved "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz" integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== dependencies: array-union "^2.1.0" @@ -3159,12 +3195,12 @@ globby@^11.0.1, globby@^11.0.3, globby@^11.1.0: graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0: version "4.2.9" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96" + resolved "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz" integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ== gray-matter@^4.0.2: version "4.0.3" - resolved "https://registry.yarnpkg.com/gray-matter/-/gray-matter-4.0.3.tgz#e893c064825de73ea1f5f7d88c7a9f7274288798" + resolved "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz" integrity sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q== dependencies: js-yaml "^3.13.1" @@ -3174,72 +3210,72 @@ gray-matter@^4.0.2: gzip-size@^6.0.0: version "6.0.0" - resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-6.0.0.tgz#065367fd50c239c0671cbcbad5be3e2eeb10e462" + resolved "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz" integrity sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q== dependencies: duplexer "^0.1.2" has-bigints@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113" + resolved "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz" integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA== has-flag@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz" integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0= has-flag@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== has-property-descriptors@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861" + resolved "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz" integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== dependencies: get-intrinsic "^1.1.1" has-symbols@^1.0.1, has-symbols@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423" + resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz" integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw== has-symbols@^1.0.3: version "1.0.3" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" + resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz" integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== has-tostringtag@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" + resolved "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz" integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== dependencies: has-symbols "^1.0.2" has@^1.0.3: version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" + resolved "https://registry.npmjs.org/has/-/has-1.0.3.tgz" integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== dependencies: function-bind "^1.1.1" hast-util-is-element@^1.0.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/hast-util-is-element/-/hast-util-is-element-1.1.0.tgz#3b3ed5159a2707c6137b48637fbfe068e175a425" + resolved "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-1.1.0.tgz" integrity sha512-oUmNua0bFbdrD/ELDSSEadRVtWZOf3iF6Lbv81naqsIV99RnSCieTbWuWCY8BAeEfKJTKl0gRdokv+dELutHGQ== hast-util-sanitize@^3.0.0: version "3.0.2" - resolved "https://registry.yarnpkg.com/hast-util-sanitize/-/hast-util-sanitize-3.0.2.tgz#b0b783220af528ba8fe6999f092d138908678520" + resolved "https://registry.npmjs.org/hast-util-sanitize/-/hast-util-sanitize-3.0.2.tgz" integrity sha512-+2I0x2ZCAyiZOO/sb4yNLFmdwPBnyJ4PBkVTUMKMqBwYNA+lXSgOmoRXlJFazoyid9QPogRRKgKhVEodv181sA== dependencies: xtend "^4.0.0" hast-util-to-estree@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/hast-util-to-estree/-/hast-util-to-estree-2.1.0.tgz#aeac70aad0102ae309570907b3f56a08231d5323" + resolved "https://registry.npmjs.org/hast-util-to-estree/-/hast-util-to-estree-2.1.0.tgz" integrity sha512-Vwch1etMRmm89xGgz+voWXvVHba2iiMdGMKmaMfYt35rbVtFDq8JNwwAIvi8zHMkO6Gvqo9oTMwJTmzVRfXh4g== dependencies: "@types/estree" "^1.0.0" @@ -3260,7 +3296,7 @@ hast-util-to-estree@^2.0.0: hast-util-to-html@^7.0.0: version "7.1.3" - resolved "https://registry.yarnpkg.com/hast-util-to-html/-/hast-util-to-html-7.1.3.tgz#9f339ca9bea71246e565fc79ff7dbfe98bb50f5e" + resolved "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-7.1.3.tgz" integrity sha512-yk2+1p3EJTEE9ZEUkgHsUSVhIpCsL/bvT8E5GzmWc+N1Po5gBw+0F8bo7dpxXR0nu0bQVxVZGX2lBGF21CmeDw== dependencies: ccount "^1.0.0" @@ -3276,27 +3312,27 @@ hast-util-to-html@^7.0.0: hast-util-whitespace@^1.0.0: version "1.0.4" - resolved "https://registry.yarnpkg.com/hast-util-whitespace/-/hast-util-whitespace-1.0.4.tgz#e4fe77c4a9ae1cb2e6c25e02df0043d0164f6e41" + resolved "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-1.0.4.tgz" integrity sha512-I5GTdSfhYfAPNztx2xJRQpG8cuDSNt599/7YUn7Gx/WxNMsG+a835k97TDkFgk123cwjfwINaZknkKkphx/f2A== hast-util-whitespace@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/hast-util-whitespace/-/hast-util-whitespace-2.0.0.tgz#4fc1086467cc1ef5ba20673cb6b03cec3a970f1c" + resolved "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-2.0.0.tgz" integrity sha512-Pkw+xBHuV6xFeJprJe2BBEoDV+AvQySaz3pPDRUs5PNZEMQjpXJJueqrpcHIXxnWTcAGi/UOCgVShlkY6kLoqg== 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" + resolved "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz" integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== html-void-elements@^1.0.0: version "1.0.5" - resolved "https://registry.yarnpkg.com/html-void-elements/-/html-void-elements-1.0.5.tgz#ce9159494e86d95e45795b166c2021c2cfca4483" + resolved "https://registry.npmjs.org/html-void-elements/-/html-void-elements-1.0.5.tgz" integrity sha512-uE/TxKuyNIcx44cIWnjr/rfIATDH7ZaOMmstu0CwhFG1Dunhlp4OC6/NMbhiwoq5BpW0ubi303qnEk/PZj614w== http-errors@2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" + resolved "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz" integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== dependencies: depd "2.0.0" @@ -3307,39 +3343,39 @@ http-errors@2.0.0: human-signals@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" + resolved "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz" integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== husky@^7.0.4: version "7.0.4" - resolved "https://registry.yarnpkg.com/husky/-/husky-7.0.4.tgz#242048245dc49c8fb1bf0cc7cfb98dd722531535" + resolved "https://registry.npmjs.org/husky/-/husky-7.0.4.tgz" integrity sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ== iconv-lite@0.4.24: version "0.4.24" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" + resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz" integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== dependencies: safer-buffer ">= 2.1.2 < 3" ieee754@^1.2.1: version "1.2.1" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" + resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz" integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== ignore@^4.0.6: version "4.0.6" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" + resolved "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz" integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== ignore@^5.2.0: version "5.2.0" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" + resolved "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz" integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== import-fresh@^3.0.0, import-fresh@^3.2.1: version "3.3.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" + resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== dependencies: parent-module "^1.0.0" @@ -3347,40 +3383,40 @@ import-fresh@^3.0.0, import-fresh@^3.2.1: imurmurhash@^0.1.4: version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" + resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" integrity sha1-khi5srkoojixPcT7a21XbyMUU+o= indent-string@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" + resolved "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz" integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== indexes-of@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607" + resolved "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz" integrity sha1-8w9xbI4r00bHtn0985FVZqfAVgc= inflight@^1.0.4: version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" + resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk= dependencies: once "^1.3.0" wrappy "1" -inherits@2, inherits@2.0.4, inherits@^2.0.0: +inherits@^2.0.0, inherits@2, inherits@2.0.4: version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" + resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== inline-style-parser@0.1.1: version "0.1.1" - resolved "https://registry.yarnpkg.com/inline-style-parser/-/inline-style-parser-0.1.1.tgz#ec8a3b429274e9c0a1f1c4ffa9453a7fef72cea1" + resolved "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz" integrity sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q== internal-slot@^1.0.3: version "1.0.3" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c" + resolved "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz" integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA== dependencies: get-intrinsic "^1.1.0" @@ -3389,44 +3425,44 @@ internal-slot@^1.0.3: intersection-observer@^0.10.0: version "0.10.0" - resolved "https://registry.yarnpkg.com/intersection-observer/-/intersection-observer-0.10.0.tgz#4d11d63c1ff67e21e62987be24d55218da1a1a69" + resolved "https://registry.npmjs.org/intersection-observer/-/intersection-observer-0.10.0.tgz" integrity sha512-fn4bQ0Xq8FTej09YC/jqKZwtijpvARlRp6wxL5WTA6yPe2YWSJ5RJh7Nm79rK2qB0wr6iDQzH60XGq5V/7u8YQ== invariant@^2.2.4: version "2.2.4" - resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" + resolved "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz" integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== dependencies: loose-envify "^1.0.0" ipaddr.js@1.9.1: version "1.9.1" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" + resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz" 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" + resolved "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz" integrity sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q== is-alphabetical@^1.0.0: version "1.0.4" - resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-1.0.4.tgz#9e7d6b94916be22153745d184c298cbf986a686d" + resolved "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz" integrity sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg== is-alphabetical@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-2.0.1.tgz#01072053ea7c1036df3c7d19a6daaec7f19e789b" + resolved "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz" integrity sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ== is-alphanumeric@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/is-alphanumeric/-/is-alphanumeric-1.0.0.tgz#4a9cef71daf4c001c1d81d63d140cf53fd6889f4" + resolved "https://registry.npmjs.org/is-alphanumeric/-/is-alphanumeric-1.0.0.tgz" integrity sha1-Spzvcdr0wAHB2B1j0UDPU/1oifQ= is-alphanumerical@^1.0.0: version "1.0.4" - resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz#7eb9a2431f855f6b1ef1a78e326df515696c4dbf" + resolved "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz" integrity sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A== dependencies: is-alphabetical "^1.0.0" @@ -3434,7 +3470,7 @@ is-alphanumerical@^1.0.0: is-alphanumerical@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz#7c03fbe96e3e931113e57f964b0a368cc2dfd875" + resolved "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz" integrity sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw== dependencies: is-alphabetical "^2.0.0" @@ -3442,26 +3478,26 @@ is-alphanumerical@^2.0.0: is-arrayish@^0.2.1: version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" + resolved "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz" integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0= is-bigint@^1.0.1: version "1.0.4" - resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" + resolved "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz" integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== dependencies: has-bigints "^1.0.1" is-binary-path@~2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" + resolved "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz" integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== dependencies: binary-extensions "^2.0.0" is-boolean-object@^1.1.0: version "1.1.2" - resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" + resolved "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz" integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== dependencies: call-bind "^1.0.2" @@ -3469,138 +3505,138 @@ is-boolean-object@^1.1.0: is-buffer@^2.0.0: version "2.0.5" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191" + resolved "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz" integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== is-callable@^1.1.4, is-callable@^1.2.4: version "1.2.4" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945" + resolved "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz" integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w== is-ci@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" + resolved "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz" integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== dependencies: ci-info "^2.0.0" is-ci@^3.0.1: version "3.0.1" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-3.0.1.tgz#db6ecbed1bd659c43dac0f45661e7674103d1867" + resolved "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz" integrity sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ== dependencies: ci-info "^3.2.0" is-core-module@^2.11.0: version "2.12.1" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.12.1.tgz#0c0b6885b6f80011c71541ce15c8d66cf5a4f9fd" + resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz" integrity sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg== dependencies: has "^1.0.3" is-core-module@^2.2.0, is-core-module@^2.8.0, is-core-module@^2.8.1: version "2.8.1" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.1.tgz#f59fdfca701d5879d0a6b100a40aa1560ce27211" + resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz" integrity sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA== dependencies: has "^1.0.3" is-date-object@^1.0.1: version "1.0.5" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" + resolved "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz" integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== dependencies: has-tostringtag "^1.0.0" is-decimal@^1.0.0: version "1.0.4" - resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-1.0.4.tgz#65a3a5958a1c5b63a706e1b333d7cd9f630d3fa5" + resolved "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz" integrity sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw== is-decimal@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-2.0.1.tgz#9469d2dc190d0214fd87d78b78caecc0cc14eef7" + resolved "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz" integrity sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A== is-docker@^2.0.0: version "2.2.1" - resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" + resolved "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz" integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== is-extendable@^0.1.0: version "0.1.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" + resolved "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz" integrity sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik= is-extglob@^2.1.1: version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" + resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI= is-fullwidth-code-point@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" + resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== is-fullwidth-code-point@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz#fae3167c729e7463f8461ce512b080a49268aa88" + resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz" integrity sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ== 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" + resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== dependencies: is-extglob "^2.1.1" is-hexadecimal@^1.0.0: version "1.0.4" - resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz#cc35c97588da4bd49a8eedd6bc4082d44dcb23a7" + resolved "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz" integrity sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw== is-hexadecimal@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz#86b5bf668fca307498d319dfc03289d781a90027" + resolved "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz" integrity sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg== is-negative-zero@^2.0.1: version "2.0.2" - resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" + resolved "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz" integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== is-number-object@^1.0.4: version "1.0.6" - resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.6.tgz#6a7aaf838c7f0686a50b4553f7e54a96494e89f0" + resolved "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.6.tgz" integrity sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g== dependencies: has-tostringtag "^1.0.0" is-number@^7.0.0: version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" + resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== is-plain-obj@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" + resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz" integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== is-plain-obj@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-4.0.0.tgz#06c0999fd7574edf5a906ba5644ad0feb3a84d22" + resolved "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.0.0.tgz" integrity sha512-NXRbBtUdBioI73y/HmOhogw/U5msYPC9DAtGkJXeFcFWSFZw0mCUsPxk/snTuJHzNKA8kLBK4rH97RMB1BfCXw== is-reference@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/is-reference/-/is-reference-3.0.0.tgz#b1380c03d96ddf7089709781e3208fceb0c92cd6" + resolved "https://registry.npmjs.org/is-reference/-/is-reference-3.0.0.tgz" integrity sha512-Eo1W3wUoHWoCoVM4GVl/a+K0IgiqE5aIo4kJABFyMum1ZORlPkC+UC357sSQUL5w5QCE5kCC9upl75b7+7CY/Q== dependencies: "@types/estree" "*" is-regex@^1.1.4: version "1.1.4" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" + resolved "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz" integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== dependencies: call-bind "^1.0.2" @@ -3608,75 +3644,75 @@ is-regex@^1.1.4: is-shared-array-buffer@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz#97b0c85fbdacb59c9c446fe653b82cf2b5b7cfe6" + resolved "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz" integrity sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA== is-stream@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" + resolved "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz" integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== is-string@^1.0.5, is-string@^1.0.7: version "1.0.7" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" + resolved "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz" integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== dependencies: has-tostringtag "^1.0.0" is-symbol@^1.0.2, is-symbol@^1.0.3: version "1.0.4" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" + resolved "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz" integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== dependencies: has-symbols "^1.0.2" is-url@^1.2.2: version "1.2.4" - resolved "https://registry.yarnpkg.com/is-url/-/is-url-1.2.4.tgz#04a4df46d28c4cff3d73d01ff06abeb318a1aa52" + resolved "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz" integrity sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww== is-weakref@^1.0.1: version "1.0.2" - resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" + resolved "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz" integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== dependencies: call-bind "^1.0.2" is-whitespace-character@^1.0.0: version "1.0.4" - resolved "https://registry.yarnpkg.com/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz#0858edd94a95594c7c9dd0b5c174ec6e45ee4aa7" + resolved "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz" integrity sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w== is-word-character@^1.0.0: version "1.0.4" - resolved "https://registry.yarnpkg.com/is-word-character/-/is-word-character-1.0.4.tgz#ce0e73216f98599060592f62ff31354ddbeb0230" + resolved "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.4.tgz" integrity sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA== is-wsl@^2.1.1: version "2.2.0" - resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" + resolved "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz" integrity sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww== dependencies: is-docker "^2.0.0" isexe@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" + resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= jiti@^1.19.1: version "1.21.0" - resolved "https://registry.yarnpkg.com/jiti/-/jiti-1.21.0.tgz#7c97f8fe045724e136a397f7340475244156105d" + resolved "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz" integrity sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q== "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" + resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz" integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== js-yaml@^3.13.1: version "3.14.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" + resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz" integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== dependencies: argparse "^1.0.7" @@ -3684,51 +3720,51 @@ js-yaml@^3.13.1: jsesc@^2.5.1: version "2.5.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" + resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz" integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== json-parse-better-errors@^1.0.1: version "1.0.2" - resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9" + resolved "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz" integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw== json-schema-traverse@^0.4.1: version "0.4.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" + resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz" integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== json-schema-traverse@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" + resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz" integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== json-stable-stringify-without-jsonify@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" + resolved "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz" integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE= json5@^1.0.1: version "1.0.2" - resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" + resolved "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz" integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== dependencies: minimist "^1.2.0" json5@^2.2.1: version "2.2.1" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.1.tgz#655d50ed1e6f95ad1a3caababd2b0efda10b395c" + resolved "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz" integrity sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA== jsonfile@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" + resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz" integrity sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss= optionalDependencies: graceful-fs "^4.1.6" jsonfile@^6.0.1: version "6.1.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" + resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz" integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== dependencies: universalify "^2.0.0" @@ -3737,7 +3773,7 @@ jsonfile@^6.0.1: "jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.2.1: version "3.2.1" - resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.2.1.tgz#720b97bfe7d901b927d87c3773637ae8ea48781b" + resolved "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.2.1.tgz" integrity sha512-uP5vu8xfy2F9A6LGC22KO7e2/vGTS1MhP+18f++ZNlf0Ohaxbc9nIEwHAsejlJKyzfZzU5UIhe5ItYkitcZnZA== dependencies: array-includes "^3.1.3" @@ -3745,59 +3781,59 @@ jsonfile@^6.0.1: kind-of@^6.0.0, kind-of@^6.0.2: version "6.0.3" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" + resolved "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== klaw-sync@^6.0.0: version "6.0.0" - resolved "https://registry.yarnpkg.com/klaw-sync/-/klaw-sync-6.0.0.tgz#1fd2cfd56ebb6250181114f0a581167099c2b28c" + resolved "https://registry.npmjs.org/klaw-sync/-/klaw-sync-6.0.0.tgz" integrity sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ== dependencies: graceful-fs "^4.1.11" kleur@^4.0.3: version "4.1.5" - resolved "https://registry.yarnpkg.com/kleur/-/kleur-4.1.5.tgz#95106101795f7050c6c650f350c683febddb1780" + resolved "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz" integrity sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ== language-subtag-registry@~0.3.2: version "0.3.21" - resolved "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.21.tgz#04ac218bea46f04cb039084602c6da9e788dd45a" + resolved "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.21.tgz" integrity sha512-L0IqwlIXjilBVVYKFT37X9Ih11Um5NEl9cbJIuU/SwP/zEEAbBPOnEeeuxVMf45ydWQRDQN3Nqc96OgbH1K+Pg== language-tags@^1.0.5: version "1.0.5" - resolved "https://registry.yarnpkg.com/language-tags/-/language-tags-1.0.5.tgz#d321dbc4da30ba8bf3024e040fa5c14661f9193a" + resolved "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz" integrity sha1-0yHbxNowuovzAk4ED6XBRmH5GTo= dependencies: language-subtag-registry "~0.3.2" levn@^0.4.1: version "0.4.1" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" + resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== dependencies: prelude-ls "^1.2.1" type-check "~0.4.0" -lilconfig@2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.4.tgz#f4507d043d7058b380b6a8f5cb7bcd4b34cee082" - integrity sha512-bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA== - lilconfig@^2.0.5, lilconfig@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.1.0.tgz#78e23ac89ebb7e1bfbf25b18043de756548e7f52" + resolved "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz" integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ== +lilconfig@2.0.4: + version "2.0.4" + resolved "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.4.tgz" + integrity sha512-bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA== + lines-and-columns@^1.1.6: version "1.2.4" - resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" + resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== lint-staged@>=10: version "12.3.1" - resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-12.3.1.tgz#d475b0c0d0a12d91dde58a429ac6268dea485f06" + resolved "https://registry.npmjs.org/lint-staged/-/lint-staged-12.3.1.tgz" integrity sha512-Ocht/eT+4/siWOZDJpNUKcKX2UeWW/pDbohJ4gRsrafAjBi79JK8kiNVk2ciIVNKdw0Q4ABptl2nr6uQAlRImw== dependencies: cli-truncate "^3.1.0" @@ -3816,7 +3852,7 @@ lint-staged@>=10: listr2@^4.0.1: version "4.0.1" - resolved "https://registry.yarnpkg.com/listr2/-/listr2-4.0.1.tgz#e050c1fd390276e191f582603d6e3531cd6fd2b3" + resolved "https://registry.npmjs.org/listr2/-/listr2-4.0.1.tgz" integrity sha512-D65Nl+zyYHL2jQBGmxtH/pU8koPZo5C8iCNE8EoB04RwPgQG1wuaKwVbeZv9LJpiH4Nxs0FCp+nNcG8OqpniiA== dependencies: cli-truncate "^2.1.0" @@ -3830,7 +3866,7 @@ listr2@^4.0.1: load-json-file@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/load-json-file/-/load-json-file-4.0.0.tgz#2f5f45ab91e33216234fd53adab668eb4ec0993b" + resolved "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz" integrity sha1-L19Fq5HjMhYjT9U62rZo607AmTs= dependencies: graceful-fs "^4.1.2" @@ -3840,7 +3876,7 @@ load-json-file@^4.0.0: locate-path@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz" integrity sha1-K1aLJl7slExtnA3pw9u7ygNUzY4= dependencies: p-locate "^2.0.0" @@ -3848,27 +3884,27 @@ locate-path@^2.0.0: lodash.merge@^4.6.2: version "4.6.2" - resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" + resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== lodash.throttle@^4.1.1: version "4.1.1" - resolved "https://registry.yarnpkg.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz#c23e91b710242ac70c37f1e1cda9274cc39bf2f4" + resolved "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz" integrity sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ== lodash.truncate@^4.4.2: version "4.4.2" - resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" + resolved "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz" integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM= lodash@^4.17.15, lodash@^4.17.20: version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" + resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== log-update@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/log-update/-/log-update-4.0.0.tgz#589ecd352471f2a1c0c570287543a64dfd20e0a1" + resolved "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz" integrity sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg== dependencies: ansi-escapes "^4.3.0" @@ -3878,72 +3914,72 @@ log-update@^4.0.0: longest-streak@^2.0.1: version "2.0.4" - resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-2.0.4.tgz#b8599957da5b5dab64dee3fe316fa774597d90e4" + resolved "https://registry.npmjs.org/longest-streak/-/longest-streak-2.0.4.tgz" integrity sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg== longest-streak@^3.0.0: version "3.0.1" - resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-3.0.1.tgz#c97315b7afa0e7d9525db9a5a2953651432bdc5d" + resolved "https://registry.npmjs.org/longest-streak/-/longest-streak-3.0.1.tgz" integrity sha512-cHlYSUpL2s7Fb3394mYxwTYj8niTaNHUCLr0qdiCXQfSjfuA7CKofpX2uSwEfFDQ0EB7JcnMnm+GjbqqoinYYg== loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: version "1.4.0" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" + resolved "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz" integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== dependencies: js-tokens "^3.0.0 || ^4.0.0" lru-cache@^6.0.0: version "6.0.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== dependencies: yallist "^4.0.0" lz-string@^1.4.4: version "1.4.4" - resolved "https://registry.yarnpkg.com/lz-string/-/lz-string-1.4.4.tgz#c0d8eaf36059f705796e1e344811cf4c498d3a26" + resolved "https://registry.npmjs.org/lz-string/-/lz-string-1.4.4.tgz" integrity sha1-wNjq82BZ9wV5bh40SBHPTEmNOiY= markdown-escapes@^1.0.0: version "1.0.4" - resolved "https://registry.yarnpkg.com/markdown-escapes/-/markdown-escapes-1.0.4.tgz#c95415ef451499d7602b91095f3c8e8975f78535" + resolved "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.4.tgz" integrity sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg== markdown-extensions@^1.0.0: version "1.1.1" - resolved "https://registry.yarnpkg.com/markdown-extensions/-/markdown-extensions-1.1.1.tgz#fea03b539faeaee9b4ef02a3769b455b189f7fc3" + resolved "https://registry.npmjs.org/markdown-extensions/-/markdown-extensions-1.1.1.tgz" integrity sha512-WWC0ZuMzCyDHYCasEGs4IPvLyTGftYwh6wIEOULOF0HXcqZlhwRzrK0w2VUlxWA98xnvb/jszw4ZSkJ6ADpM6Q== markdown-table@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-2.0.0.tgz#194a90ced26d31fe753d8b9434430214c011865b" + resolved "https://registry.npmjs.org/markdown-table/-/markdown-table-2.0.0.tgz" integrity sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A== dependencies: repeat-string "^1.0.0" markdown-table@^3.0.0: version "3.0.2" - resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-3.0.2.tgz#9b59eb2c1b22fe71954a65ff512887065a7bb57c" + resolved "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.2.tgz" integrity sha512-y8j3a5/DkJCmS5x4dMCQL+OR0+2EAq3DOtio1COSHsmW2BGXnNCK3v12hJt1LrUz5iZH5g0LmuYOjDdI+czghA== mdast-util-compact@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/mdast-util-compact/-/mdast-util-compact-2.0.1.tgz#cabc69a2f43103628326f35b1acf735d55c99490" + resolved "https://registry.npmjs.org/mdast-util-compact/-/mdast-util-compact-2.0.1.tgz" integrity sha512-7GlnT24gEwDrdAwEHrU4Vv5lLWrEer4KOkAiKT9nYstsTad7Oc1TwqT2zIMKRdZF7cTuaf+GA1E4Kv7jJh8mPA== dependencies: unist-util-visit "^2.0.0" mdast-util-definitions@^3.0.0: version "3.0.1" - resolved "https://registry.yarnpkg.com/mdast-util-definitions/-/mdast-util-definitions-3.0.1.tgz#06af6c49865fc63d6d7d30125569e2f7ae3d0a86" + resolved "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-3.0.1.tgz" integrity sha512-BAv2iUm/e6IK/b2/t+Fx69EL/AGcq/IG2S+HxHjDJGfLJtd6i9SZUS76aC9cig+IEucsqxKTR0ot3m933R3iuA== dependencies: unist-util-visit "^2.0.0" mdast-util-definitions@^5.0.0: version "5.1.1" - resolved "https://registry.yarnpkg.com/mdast-util-definitions/-/mdast-util-definitions-5.1.1.tgz#2c1d684b28e53f84938bb06317944bee8efa79db" + resolved "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-5.1.1.tgz" integrity sha512-rQ+Gv7mHttxHOBx2dkF4HWTg+EE+UR78ptQWDylzPKaQuVGdG4HIoY3SrS/pCp80nZ04greFvXbVFHT+uf0JVQ== dependencies: "@types/mdast" "^3.0.0" @@ -3952,7 +3988,7 @@ mdast-util-definitions@^5.0.0: mdast-util-find-and-replace@^2.0.0: version "2.2.1" - resolved "https://registry.yarnpkg.com/mdast-util-find-and-replace/-/mdast-util-find-and-replace-2.2.1.tgz#249901ef43c5f41d6e8a8d446b3b63b17e592d7c" + resolved "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-2.2.1.tgz" integrity sha512-SobxkQXFAdd4b5WmEakmkVoh18icjQRxGy5OWTCzgsLRm1Fu/KCtwD1HIQSsmq5ZRjVH0Ehwg6/Fn3xIUk+nKw== dependencies: escape-string-regexp "^5.0.0" @@ -3961,7 +3997,7 @@ mdast-util-find-and-replace@^2.0.0: mdast-util-from-markdown@^1.0.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/mdast-util-from-markdown/-/mdast-util-from-markdown-1.2.0.tgz#84df2924ccc6c995dec1e2368b2b208ad0a76268" + resolved "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.2.0.tgz" integrity sha512-iZJyyvKD1+K7QX1b5jXdE7Sc5dtoTry1vzV28UZZe8Z1xVnB/czKntJ7ZAkG0tANqRnBF6p3p7GpU1y19DTf2Q== dependencies: "@types/mdast" "^3.0.0" @@ -3979,14 +4015,14 @@ mdast-util-from-markdown@^1.0.0: mdast-util-frontmatter@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/mdast-util-frontmatter/-/mdast-util-frontmatter-1.0.0.tgz#ef12469379782e4a0fd995fed60cc3b871e6c819" + resolved "https://registry.npmjs.org/mdast-util-frontmatter/-/mdast-util-frontmatter-1.0.0.tgz" integrity sha512-7itKvp0arEVNpCktOET/eLFAYaZ+0cNjVtFtIPxgQ5tV+3i+D4SDDTjTzPWl44LT59PC+xdx+glNTawBdF98Mw== dependencies: micromark-extension-frontmatter "^1.0.0" mdast-util-gfm-autolink-literal@^1.0.0: version "1.0.2" - resolved "https://registry.yarnpkg.com/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-1.0.2.tgz#4032dcbaddaef7d4f2f3768ed830475bb22d3970" + resolved "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-1.0.2.tgz" integrity sha512-FzopkOd4xTTBeGXhXSBU0OCDDh5lUj2rd+HQqG92Ld+jL4lpUfgX2AT2OHAVP9aEeDKp7G92fuooSZcYJA3cRg== dependencies: "@types/mdast" "^3.0.0" @@ -3996,7 +4032,7 @@ mdast-util-gfm-autolink-literal@^1.0.0: mdast-util-gfm-footnote@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-1.0.1.tgz#11d2d40a1a673a399c459e467fa85e00223191fe" + resolved "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-1.0.1.tgz" integrity sha512-p+PrYlkw9DeCRkTVw1duWqPRHX6Ywh2BNKJQcZbCwAuP/59B0Lk9kakuAd7KbQprVO4GzdW8eS5++A9PUSqIyw== dependencies: "@types/mdast" "^3.0.0" @@ -4005,7 +4041,7 @@ mdast-util-gfm-footnote@^1.0.0: mdast-util-gfm-strikethrough@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-1.0.1.tgz#a4a74c36864ec6a6e3bbd31e1977f29beb475789" + resolved "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-1.0.1.tgz" integrity sha512-zKJbEPe+JP6EUv0mZ0tQUyLQOC+FADt0bARldONot/nefuISkaZFlmVK4tU6JgfyZGrky02m/I6PmehgAgZgqg== dependencies: "@types/mdast" "^3.0.0" @@ -4013,7 +4049,7 @@ mdast-util-gfm-strikethrough@^1.0.0: mdast-util-gfm-table@^1.0.0: version "1.0.6" - resolved "https://registry.yarnpkg.com/mdast-util-gfm-table/-/mdast-util-gfm-table-1.0.6.tgz#184e900979fe790745fc3dabf77a4114595fcd7f" + resolved "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-1.0.6.tgz" integrity sha512-uHR+fqFq3IvB3Rd4+kzXW8dmpxUhvgCQZep6KdjsLK4O6meK5dYZEayLtIxNus1XO3gfjfcIFe8a7L0HZRGgag== dependencies: "@types/mdast" "^3.0.0" @@ -4023,7 +4059,7 @@ mdast-util-gfm-table@^1.0.0: mdast-util-gfm-task-list-item@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-1.0.1.tgz#6f35f09c6e2bcbe88af62fdea02ac199cc802c5c" + resolved "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-1.0.1.tgz" integrity sha512-KZ4KLmPdABXOsfnM6JHUIjxEvcx2ulk656Z/4Balw071/5qgnhz+H1uGtf2zIGnrnvDC8xR4Fj9uKbjAFGNIeA== dependencies: "@types/mdast" "^3.0.0" @@ -4031,7 +4067,7 @@ mdast-util-gfm-task-list-item@^1.0.0: mdast-util-gfm@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/mdast-util-gfm/-/mdast-util-gfm-2.0.1.tgz#16fcf70110ae689a06d77e8f4e346223b64a0ea6" + resolved "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-2.0.1.tgz" integrity sha512-42yHBbfWIFisaAfV1eixlabbsa6q7vHeSPY+cg+BBjX51M8xhgMacqH9g6TftB/9+YkcI0ooV4ncfrJslzm/RQ== dependencies: mdast-util-from-markdown "^1.0.0" @@ -4044,7 +4080,7 @@ mdast-util-gfm@^2.0.0: mdast-util-mdx-expression@^1.0.0: version "1.3.0" - resolved "https://registry.yarnpkg.com/mdast-util-mdx-expression/-/mdast-util-mdx-expression-1.3.0.tgz#fed063cc6320da1005c8e50338bb374d6dac69ba" + resolved "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-1.3.0.tgz" integrity sha512-9kTO13HaL/ChfzVCIEfDRdp1m5hsvsm6+R8yr67mH+KS2ikzZ0ISGLPTbTswOFpLLlgVHO9id3cul4ajutCvCA== dependencies: "@types/estree-jsx" "^1.0.0" @@ -4055,7 +4091,7 @@ mdast-util-mdx-expression@^1.0.0: mdast-util-mdx-jsx@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-2.1.0.tgz#029f5a9c38485dbb5cf482059557ee7d788f1947" + resolved "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-2.1.0.tgz" integrity sha512-KzgzfWMhdteDkrY4mQtyvTU5bc/W4ppxhe9SzelO6QUUiwLAM+Et2Dnjjprik74a336kHdo0zKm7Tp+n6FFeRg== dependencies: "@types/estree-jsx" "^1.0.0" @@ -4071,7 +4107,7 @@ mdast-util-mdx-jsx@^2.0.0: mdast-util-mdx@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/mdast-util-mdx/-/mdast-util-mdx-2.0.0.tgz#dd4f6c993cf27da32725e50a04874f595b7b63fb" + resolved "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-2.0.0.tgz" integrity sha512-M09lW0CcBT1VrJUaF/PYxemxxHa7SLDHdSn94Q9FhxjCQfuW7nMAWKWimTmA3OyDMSTH981NN1csW1X+HPSluw== dependencies: mdast-util-mdx-expression "^1.0.0" @@ -4080,7 +4116,7 @@ mdast-util-mdx@^2.0.0: mdast-util-mdxjs-esm@^1.0.0: version "1.3.0" - resolved "https://registry.yarnpkg.com/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-1.3.0.tgz#137345ef827169aeeeb6069277cd3e090830ce9a" + resolved "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-1.3.0.tgz" integrity sha512-7N5ihsOkAEGjFotIX9p/YPdl4TqUoMxL4ajNz7PbT89BqsdWJuBC9rvgt6wpbwTZqWWR0jKWqQbwsOWDBUZv4g== dependencies: "@types/estree-jsx" "^1.0.0" @@ -4091,7 +4127,7 @@ mdast-util-mdxjs-esm@^1.0.0: mdast-util-to-hast@^12.1.0: version "12.2.2" - resolved "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-12.2.2.tgz#2bd8cf985a67c90c181eadcfdd8d31b8798ed9a1" + resolved "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-12.2.2.tgz" integrity sha512-lVkUttV9wqmdXFtEBXKcepvU/zfwbhjbkM5rxrquLW55dS1DfOrnAXCk5mg1be1sfY/WfMmayGy1NsbK1GLCYQ== dependencies: "@types/hast" "^2.0.0" @@ -4108,7 +4144,7 @@ mdast-util-to-hast@^12.1.0: mdast-util-to-hast@^9.0.0: version "9.1.2" - resolved "https://registry.yarnpkg.com/mdast-util-to-hast/-/mdast-util-to-hast-9.1.2.tgz#10fa5ed9d45bf3755891e5801d0f32e2584a9423" + resolved "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-9.1.2.tgz" integrity sha512-OpkFLBC2VnNAb2FNKcKWu9FMbJhQKog+FCT8nuKmQNIKXyT1n3SIskE7uWDep6x+cA20QXlK5AETHQtYmQmxtQ== dependencies: "@types/mdast" "^3.0.0" @@ -4122,7 +4158,7 @@ mdast-util-to-hast@^9.0.0: mdast-util-to-markdown@^1.0.0, mdast-util-to-markdown@^1.3.0: version "1.3.0" - resolved "https://registry.yarnpkg.com/mdast-util-to-markdown/-/mdast-util-to-markdown-1.3.0.tgz#38b6cdc8dc417de642a469c4fc2abdf8c931bd1e" + resolved "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-1.3.0.tgz" integrity sha512-6tUSs4r+KK4JGTTiQ7FfHmVOaDrLQJPmpjD6wPMlHGUVXoG9Vjc3jIeP+uyBWRf8clwB2blM+W7+KrlMYQnftA== dependencies: "@types/mdast" "^3.0.0" @@ -4135,52 +4171,57 @@ mdast-util-to-markdown@^1.0.0, mdast-util-to-markdown@^1.3.0: mdast-util-to-string@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-1.1.0.tgz#27055500103f51637bd07d01da01eb1967a43527" + resolved "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-1.1.0.tgz" integrity sha512-jVU0Nr2B9X3MU4tSK7JP1CMkSvOj7X5l/GboG1tKRw52lLF1x2Ju92Ms9tNetCcbfX3hzlM73zYo2NKkWSfF/A== -mdast-util-to-string@^3.0.0, mdast-util-to-string@^3.1.0: +mdast-util-to-string@^3.0.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/mdast-util-to-string/-/mdast-util-to-string-3.1.0.tgz#56c506d065fbf769515235e577b5a261552d56e9" + resolved "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.1.0.tgz" + integrity sha512-n4Vypz/DZgwo0iMHLQL49dJzlp7YtAJP+N07MZHpjPf/5XJuHUWstviF4Mn2jEiR/GNmtnRRqnwsXExk3igfFA== + +mdast-util-to-string@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.1.0.tgz" integrity sha512-n4Vypz/DZgwo0iMHLQL49dJzlp7YtAJP+N07MZHpjPf/5XJuHUWstviF4Mn2jEiR/GNmtnRRqnwsXExk3igfFA== mdurl@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-1.0.1.tgz#fe85b2ec75a59037f2adfec100fd6c601761152e" + resolved "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz" integrity sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4= media-typer@0.3.0: version "0.3.0" - resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" + resolved "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz" integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== memorystream@^0.3.1: version "0.3.1" - resolved "https://registry.yarnpkg.com/memorystream/-/memorystream-0.3.1.tgz#86d7090b30ce455d63fbae12dda51a47ddcaf9b2" + resolved "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz" integrity sha1-htcJCzDORV1j+64S3aUaR93K+bI= merge-descriptors@1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" + resolved "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz" 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" + resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== merge2@^1.3.0, merge2@^1.4.1: version "1.4.1" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" + resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== methods@~1.1.2: version "1.1.2" - resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" + resolved "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz" integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== metro-cache@0.72.2: version "0.72.2" - resolved "https://registry.yarnpkg.com/metro-cache/-/metro-cache-0.72.2.tgz#114e62dad3539c41cf5625045b9a6e5181499f20" + resolved "https://registry.npmjs.org/metro-cache/-/metro-cache-0.72.2.tgz" integrity sha512-0Yw3J32eYTp7x7bAAg+a9ScBG/mpib6Wq4WPSYvhoNilPFHzh7knLDMil3WGVCQlI1r+5xtpw/FDhNVKuypQqg== dependencies: metro-core "0.72.2" @@ -4188,7 +4229,7 @@ metro-cache@0.72.2: metro-core@0.72.2: version "0.72.2" - resolved "https://registry.yarnpkg.com/metro-core/-/metro-core-0.72.2.tgz#ca975cfebce5c89f51dca905777bc3877008ae69" + resolved "https://registry.npmjs.org/metro-core/-/metro-core-0.72.2.tgz" integrity sha512-OXNH8UbKIhvpyHGJrdQYnPUmyPHSuVY4OO6pQxODdTW+uiO68PPPgIIVN67vlCAirZolxRFpma70N7m0sGCZyg== dependencies: lodash.throttle "^4.1.1" @@ -4196,14 +4237,14 @@ metro-core@0.72.2: metro-resolver@0.72.2: version "0.72.2" - resolved "https://registry.yarnpkg.com/metro-resolver/-/metro-resolver-0.72.2.tgz#332ecd646d683a47923fc403e3df37a7cf96da3b" + resolved "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.72.2.tgz" integrity sha512-5KTWolUgA6ivLkg3DmFS2WltphBPQW7GT7An+6Izk/NU+y/6crmsoaLmNxjpZo4Fv+i/FxDSXqpbpQ6KrRWvlQ== dependencies: absolute-path "^0.0.0" micromark-core-commonmark@^1.0.0, micromark-core-commonmark@^1.0.1: version "1.0.6" - resolved "https://registry.yarnpkg.com/micromark-core-commonmark/-/micromark-core-commonmark-1.0.6.tgz#edff4c72e5993d93724a3c206970f5a15b0585ad" + resolved "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-1.0.6.tgz" integrity sha512-K+PkJTxqjFfSNkfAhp4GB+cZPfQd6dxtTXnf+RjZOV7T4EEXnvgzOcnp+eSTmpGk9d1S9sL6/lqrgSNn/s0HZA== dependencies: decode-named-character-reference "^1.0.0" @@ -4225,7 +4266,7 @@ micromark-core-commonmark@^1.0.0, micromark-core-commonmark@^1.0.1: micromark-extension-frontmatter@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/micromark-extension-frontmatter/-/micromark-extension-frontmatter-1.0.0.tgz#612498e6dad87c132c95e25f0918e7cc0cd535f6" + resolved "https://registry.npmjs.org/micromark-extension-frontmatter/-/micromark-extension-frontmatter-1.0.0.tgz" integrity sha512-EXjmRnupoX6yYuUJSQhrQ9ggK0iQtQlpi6xeJzVD5xscyAI+giqco5fdymayZhJMbIFecjnE2yz85S9NzIgQpg== dependencies: fault "^2.0.0" @@ -4234,7 +4275,7 @@ micromark-extension-frontmatter@^1.0.0: micromark-extension-gfm-autolink-literal@^1.0.0: version "1.0.3" - resolved "https://registry.yarnpkg.com/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-1.0.3.tgz#dc589f9c37eaff31a175bab49f12290edcf96058" + resolved "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-1.0.3.tgz" integrity sha512-i3dmvU0htawfWED8aHMMAzAVp/F0Z+0bPh3YrbTPPL1v4YAlCZpy5rBO5p0LPYiZo0zFVkoYh7vDU7yQSiCMjg== dependencies: micromark-util-character "^1.0.0" @@ -4245,7 +4286,7 @@ micromark-extension-gfm-autolink-literal@^1.0.0: micromark-extension-gfm-footnote@^1.0.0: version "1.0.4" - resolved "https://registry.yarnpkg.com/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-1.0.4.tgz#cbfd8873b983e820c494498c6dac0105920818d5" + resolved "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-1.0.4.tgz" integrity sha512-E/fmPmDqLiMUP8mLJ8NbJWJ4bTw6tS+FEQS8CcuDtZpILuOb2kjLqPEeAePF1djXROHXChM/wPJw0iS4kHCcIg== dependencies: micromark-core-commonmark "^1.0.0" @@ -4259,7 +4300,7 @@ micromark-extension-gfm-footnote@^1.0.0: micromark-extension-gfm-strikethrough@^1.0.0: version "1.0.4" - resolved "https://registry.yarnpkg.com/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-1.0.4.tgz#162232c284ffbedd8c74e59c1525bda217295e18" + resolved "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-1.0.4.tgz" integrity sha512-/vjHU/lalmjZCT5xt7CcHVJGq8sYRm80z24qAKXzaHzem/xsDYb2yLL+NNVbYvmpLx3O7SYPuGL5pzusL9CLIQ== dependencies: micromark-util-chunked "^1.0.0" @@ -4271,7 +4312,7 @@ micromark-extension-gfm-strikethrough@^1.0.0: micromark-extension-gfm-table@^1.0.0: version "1.0.5" - resolved "https://registry.yarnpkg.com/micromark-extension-gfm-table/-/micromark-extension-gfm-table-1.0.5.tgz#7b708b728f8dc4d95d486b9e7a2262f9cddbcbb4" + resolved "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-1.0.5.tgz" integrity sha512-xAZ8J1X9W9K3JTJTUL7G6wSKhp2ZYHrFk5qJgY/4B33scJzE2kpfRL6oiw/veJTbt7jiM/1rngLlOKPWr1G+vg== dependencies: micromark-factory-space "^1.0.0" @@ -4282,14 +4323,14 @@ micromark-extension-gfm-table@^1.0.0: micromark-extension-gfm-tagfilter@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-1.0.1.tgz#fb2e303f7daf616db428bb6a26e18fda14a90a4d" + resolved "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-1.0.1.tgz" integrity sha512-Ty6psLAcAjboRa/UKUbbUcwjVAv5plxmpUTy2XC/3nJFL37eHej8jrHrRzkqcpipJliuBH30DTs7+3wqNcQUVA== dependencies: micromark-util-types "^1.0.0" micromark-extension-gfm-task-list-item@^1.0.0: version "1.0.3" - resolved "https://registry.yarnpkg.com/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-1.0.3.tgz#7683641df5d4a09795f353574d7f7f66e47b7fc4" + resolved "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-1.0.3.tgz" integrity sha512-PpysK2S1Q/5VXi72IIapbi/jliaiOFzv7THH4amwXeYXLq3l1uo8/2Be0Ac1rEwK20MQEsGH2ltAZLNY2KI/0Q== dependencies: micromark-factory-space "^1.0.0" @@ -4300,7 +4341,7 @@ micromark-extension-gfm-task-list-item@^1.0.0: micromark-extension-gfm@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/micromark-extension-gfm/-/micromark-extension-gfm-2.0.1.tgz#40f3209216127a96297c54c67f5edc7ef2d1a2a2" + resolved "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-2.0.1.tgz" integrity sha512-p2sGjajLa0iYiGQdT0oelahRYtMWvLjy8J9LOCxzIQsllMCGLbsLW+Nc+N4vi02jcRJvedVJ68cjelKIO6bpDA== dependencies: micromark-extension-gfm-autolink-literal "^1.0.0" @@ -4314,7 +4355,7 @@ micromark-extension-gfm@^2.0.0: micromark-extension-mdx-expression@^1.0.0: version "1.0.3" - resolved "https://registry.yarnpkg.com/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-1.0.3.tgz#cd3843573921bf55afcfff4ae0cd2e857a16dcfa" + resolved "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-1.0.3.tgz" integrity sha512-TjYtjEMszWze51NJCZmhv7MEBcgYRgb3tJeMAJ+HQCAaZHHRBaDCccqQzGizR/H4ODefP44wRTgOn2vE5I6nZA== dependencies: micromark-factory-mdx-expression "^1.0.0" @@ -4327,7 +4368,7 @@ micromark-extension-mdx-expression@^1.0.0: micromark-extension-mdx-jsx@^1.0.0: version "1.0.3" - resolved "https://registry.yarnpkg.com/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-1.0.3.tgz#9f196be5f65eb09d2a49b237a7b3398bba2999be" + resolved "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-1.0.3.tgz" integrity sha512-VfA369RdqUISF0qGgv2FfV7gGjHDfn9+Qfiv5hEwpyr1xscRj/CiVRkU7rywGFCO7JwJ5L0e7CJz60lY52+qOA== dependencies: "@types/acorn" "^4.0.0" @@ -4342,14 +4383,14 @@ micromark-extension-mdx-jsx@^1.0.0: micromark-extension-mdx-md@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/micromark-extension-mdx-md/-/micromark-extension-mdx-md-1.0.0.tgz#382f5df9ee3706dd120b51782a211f31f4760d22" + resolved "https://registry.npmjs.org/micromark-extension-mdx-md/-/micromark-extension-mdx-md-1.0.0.tgz" integrity sha512-xaRAMoSkKdqZXDAoSgp20Azm0aRQKGOl0RrS81yGu8Hr/JhMsBmfs4wR7m9kgVUIO36cMUQjNyiyDKPrsv8gOw== dependencies: micromark-util-types "^1.0.0" micromark-extension-mdxjs-esm@^1.0.0: version "1.0.3" - resolved "https://registry.yarnpkg.com/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-1.0.3.tgz#630d9dc9db2c2fd470cac8c1e7a824851267404d" + resolved "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-1.0.3.tgz" integrity sha512-2N13ol4KMoxb85rdDwTAC6uzs8lMX0zeqpcyx7FhS7PxXomOnLactu8WI8iBNXW8AVyea3KIJd/1CKnUmwrK9A== dependencies: micromark-core-commonmark "^1.0.0" @@ -4363,7 +4404,7 @@ micromark-extension-mdxjs-esm@^1.0.0: micromark-extension-mdxjs@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/micromark-extension-mdxjs/-/micromark-extension-mdxjs-1.0.0.tgz#772644e12fc8299a33e50f59c5aa15727f6689dd" + resolved "https://registry.npmjs.org/micromark-extension-mdxjs/-/micromark-extension-mdxjs-1.0.0.tgz" integrity sha512-TZZRZgeHvtgm+IhtgC2+uDMR7h8eTKF0QUX9YsgoL9+bADBpBY6SiLvWqnBlLbCEevITmTqmEuY3FoxMKVs1rQ== dependencies: acorn "^8.0.0" @@ -4377,7 +4418,7 @@ micromark-extension-mdxjs@^1.0.0: micromark-factory-destination@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/micromark-factory-destination/-/micromark-factory-destination-1.0.0.tgz#fef1cb59ad4997c496f887b6977aa3034a5a277e" + resolved "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-1.0.0.tgz" integrity sha512-eUBA7Rs1/xtTVun9TmV3gjfPz2wEwgK5R5xcbIM5ZYAtvGF6JkyaDsj0agx8urXnO31tEO6Ug83iVH3tdedLnw== dependencies: micromark-util-character "^1.0.0" @@ -4386,7 +4427,7 @@ micromark-factory-destination@^1.0.0: micromark-factory-label@^1.0.0: version "1.0.2" - resolved "https://registry.yarnpkg.com/micromark-factory-label/-/micromark-factory-label-1.0.2.tgz#6be2551fa8d13542fcbbac478258fb7a20047137" + resolved "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-1.0.2.tgz" integrity sha512-CTIwxlOnU7dEshXDQ+dsr2n+yxpP0+fn271pu0bwDIS8uqfFcumXpj5mLn3hSC8iw2MUr6Gx8EcKng1dD7i6hg== dependencies: micromark-util-character "^1.0.0" @@ -4396,7 +4437,7 @@ micromark-factory-label@^1.0.0: micromark-factory-mdx-expression@^1.0.0: version "1.0.6" - resolved "https://registry.yarnpkg.com/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-1.0.6.tgz#917e17d16e6e9c2551f3a862e6a9ebdd22056476" + resolved "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-1.0.6.tgz" integrity sha512-WRQIc78FV7KrCfjsEf/sETopbYjElh3xAmNpLkd1ODPqxEngP42eVRGbiPEQWpRV27LzqW+XVTvQAMIIRLPnNA== dependencies: micromark-factory-space "^1.0.0" @@ -4410,7 +4451,7 @@ micromark-factory-mdx-expression@^1.0.0: micromark-factory-space@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/micromark-factory-space/-/micromark-factory-space-1.0.0.tgz#cebff49968f2b9616c0fcb239e96685cb9497633" + resolved "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.0.0.tgz" integrity sha512-qUmqs4kj9a5yBnk3JMLyjtWYN6Mzfcx8uJfi5XAveBniDevmZasdGBba5b4QsvRcAkmvGo5ACmSUmyGiKTLZew== dependencies: micromark-util-character "^1.0.0" @@ -4418,7 +4459,7 @@ micromark-factory-space@^1.0.0: micromark-factory-title@^1.0.0: version "1.0.2" - resolved "https://registry.yarnpkg.com/micromark-factory-title/-/micromark-factory-title-1.0.2.tgz#7e09287c3748ff1693930f176e1c4a328382494f" + resolved "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-1.0.2.tgz" integrity sha512-zily+Nr4yFqgMGRKLpTVsNl5L4PMu485fGFDOQJQBl2NFpjGte1e86zC0da93wf97jrc4+2G2GQudFMHn3IX+A== dependencies: micromark-factory-space "^1.0.0" @@ -4429,7 +4470,7 @@ micromark-factory-title@^1.0.0: micromark-factory-whitespace@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/micromark-factory-whitespace/-/micromark-factory-whitespace-1.0.0.tgz#e991e043ad376c1ba52f4e49858ce0794678621c" + resolved "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-1.0.0.tgz" integrity sha512-Qx7uEyahU1lt1RnsECBiuEbfr9INjQTGa6Err+gF3g0Tx4YEviPbqqGKNv/NrBaE7dVHdn1bVZKM/n5I/Bak7A== dependencies: micromark-factory-space "^1.0.0" @@ -4439,7 +4480,7 @@ micromark-factory-whitespace@^1.0.0: micromark-util-character@^1.0.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-util-character/-/micromark-util-character-1.1.0.tgz#d97c54d5742a0d9611a68ca0cd4124331f264d86" + resolved "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.1.0.tgz" integrity sha512-agJ5B3unGNJ9rJvADMJ5ZiYjBRyDpzKAOk01Kpi1TKhlT1APx3XZk6eN7RtSz1erbWHC2L8T3xLZ81wdtGRZzg== dependencies: micromark-util-symbol "^1.0.0" @@ -4447,14 +4488,14 @@ micromark-util-character@^1.0.0: micromark-util-chunked@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/micromark-util-chunked/-/micromark-util-chunked-1.0.0.tgz#5b40d83f3d53b84c4c6bce30ed4257e9a4c79d06" + resolved "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-1.0.0.tgz" integrity sha512-5e8xTis5tEZKgesfbQMKRCyzvffRRUX+lK/y+DvsMFdabAicPkkZV6gO+FEWi9RfuKKoxxPwNL+dFF0SMImc1g== dependencies: micromark-util-symbol "^1.0.0" micromark-util-classify-character@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/micromark-util-classify-character/-/micromark-util-classify-character-1.0.0.tgz#cbd7b447cb79ee6997dd274a46fc4eb806460a20" + resolved "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-1.0.0.tgz" integrity sha512-F8oW2KKrQRb3vS5ud5HIqBVkCqQi224Nm55o5wYLzY/9PwHGXC01tr3d7+TqHHz6zrKQ72Okwtvm/xQm6OVNZA== dependencies: micromark-util-character "^1.0.0" @@ -4463,7 +4504,7 @@ micromark-util-classify-character@^1.0.0: micromark-util-combine-extensions@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.0.0.tgz#91418e1e74fb893e3628b8d496085639124ff3d5" + resolved "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.0.0.tgz" integrity sha512-J8H058vFBdo/6+AsjHp2NF7AJ02SZtWaVUjsayNFeAiydTxUwViQPxN0Hf8dp4FmCQi0UUFovFsEyRSUmFH3MA== dependencies: micromark-util-chunked "^1.0.0" @@ -4471,14 +4512,14 @@ micromark-util-combine-extensions@^1.0.0: micromark-util-decode-numeric-character-reference@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.0.0.tgz#dcc85f13b5bd93ff8d2868c3dba28039d490b946" + resolved "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.0.0.tgz" integrity sha512-OzO9AI5VUtrTD7KSdagf4MWgHMtET17Ua1fIpXTpuhclCqD8egFWo85GxSGvxgkGS74bEahvtM0WP0HjvV0e4w== dependencies: micromark-util-symbol "^1.0.0" micromark-util-decode-string@^1.0.0: version "1.0.2" - resolved "https://registry.yarnpkg.com/micromark-util-decode-string/-/micromark-util-decode-string-1.0.2.tgz#942252ab7a76dec2dbf089cc32505ee2bc3acf02" + resolved "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-1.0.2.tgz" integrity sha512-DLT5Ho02qr6QWVNYbRZ3RYOSSWWFuH3tJexd3dgN1odEuPNxCngTCXJum7+ViRAd9BbdxCvMToPOD/IvVhzG6Q== dependencies: decode-named-character-reference "^1.0.0" @@ -4488,12 +4529,12 @@ micromark-util-decode-string@^1.0.0: micromark-util-encode@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/micromark-util-encode/-/micromark-util-encode-1.0.1.tgz#2c1c22d3800870ad770ece5686ebca5920353383" + resolved "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-1.0.1.tgz" integrity sha512-U2s5YdnAYexjKDel31SVMPbfi+eF8y1U4pfiRW/Y8EFVCy/vgxk/2wWTxzcqE71LHtCuCzlBDRU2a5CQ5j+mQA== micromark-util-events-to-acorn@^1.0.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-1.2.0.tgz#65785cb77299d791bfefdc6a5213ab57ceead115" + resolved "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-1.2.0.tgz" integrity sha512-WWp3bf7xT9MppNuw3yPjpnOxa8cj5ACivEzXJKu0WwnjBYfzaBvIAT9KfeyI0Qkll+bfQtfftSwdgTH6QhTOKw== dependencies: "@types/acorn" "^4.0.0" @@ -4506,26 +4547,26 @@ micromark-util-events-to-acorn@^1.0.0: micromark-util-html-tag-name@^1.0.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.1.0.tgz#eb227118befd51f48858e879b7a419fc0df20497" + resolved "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.1.0.tgz" integrity sha512-BKlClMmYROy9UiV03SwNmckkjn8QHVaWkqoAqzivabvdGcwNGMMMH/5szAnywmsTBUzDsU57/mFi0sp4BQO6dA== micromark-util-normalize-identifier@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.0.0.tgz#4a3539cb8db954bbec5203952bfe8cedadae7828" + resolved "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.0.0.tgz" integrity sha512-yg+zrL14bBTFrQ7n35CmByWUTFsgst5JhA4gJYoty4Dqzj4Z4Fr/DHekSS5aLfH9bdlfnSvKAWsAgJhIbogyBg== dependencies: micromark-util-symbol "^1.0.0" micromark-util-resolve-all@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/micromark-util-resolve-all/-/micromark-util-resolve-all-1.0.0.tgz#a7c363f49a0162e931960c44f3127ab58f031d88" + resolved "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-1.0.0.tgz" integrity sha512-CB/AGk98u50k42kvgaMM94wzBqozSzDDaonKU7P7jwQIuH2RU0TeBqGYJz2WY1UdihhjweivStrJ2JdkdEmcfw== dependencies: micromark-util-types "^1.0.0" micromark-util-sanitize-uri@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.0.0.tgz#27dc875397cd15102274c6c6da5585d34d4f12b2" + resolved "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.0.0.tgz" integrity sha512-cCxvBKlmac4rxCGx6ejlIviRaMKZc0fWm5HdCHEeDWRSkn44l6NdYVRyU+0nT1XC72EQJMZV8IPHF+jTr56lAg== dependencies: micromark-util-character "^1.0.0" @@ -4534,7 +4575,7 @@ micromark-util-sanitize-uri@^1.0.0: micromark-util-subtokenize@^1.0.0: version "1.0.2" - resolved "https://registry.yarnpkg.com/micromark-util-subtokenize/-/micromark-util-subtokenize-1.0.2.tgz#ff6f1af6ac836f8bfdbf9b02f40431760ad89105" + resolved "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-1.0.2.tgz" integrity sha512-d90uqCnXp/cy4G881Ub4psE57Sf8YD0pim9QdjCRNjfas2M1u6Lbt+XZK9gnHL2XFhnozZiEdCa9CNfXSfQ6xA== dependencies: micromark-util-chunked "^1.0.0" @@ -4544,17 +4585,17 @@ micromark-util-subtokenize@^1.0.0: micromark-util-symbol@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/micromark-util-symbol/-/micromark-util-symbol-1.0.1.tgz#b90344db62042ce454f351cf0bebcc0a6da4920e" + resolved "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.0.1.tgz" integrity sha512-oKDEMK2u5qqAptasDAwWDXq0tG9AssVwAx3E9bBF3t/shRIGsWIRG+cGafs2p/SnDSOecnt6hZPCE2o6lHfFmQ== micromark-util-types@^1.0.0, micromark-util-types@^1.0.1: version "1.0.2" - resolved "https://registry.yarnpkg.com/micromark-util-types/-/micromark-util-types-1.0.2.tgz#f4220fdb319205812f99c40f8c87a9be83eded20" + resolved "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.0.2.tgz" integrity sha512-DCfg/T8fcrhrRKTPjRrw/5LLvdGV7BHySf/1LOZx7TzWZdYRjogNtyNq885z3nNallwr3QUKARjqvHqX1/7t+w== micromark@^3.0.0: version "3.0.10" - resolved "https://registry.yarnpkg.com/micromark/-/micromark-3.0.10.tgz#1eac156f0399d42736458a14b0ca2d86190b457c" + resolved "https://registry.npmjs.org/micromark/-/micromark-3.0.10.tgz" integrity sha512-ryTDy6UUunOXy2HPjelppgJ2sNfcPz1pLlMdA6Rz9jPzhLikWXv/irpWV/I2jd68Uhmny7hHxAlAhk4+vWggpg== dependencies: "@types/debug" "^4.0.0" @@ -4577,7 +4618,7 @@ micromark@^3.0.0: micromatch@^4.0.2, micromatch@^4.0.4: version "4.0.4" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9" + resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz" integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg== dependencies: braces "^3.0.1" @@ -4585,86 +4626,91 @@ 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" + resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== dependencies: braces "^3.0.2" picomatch "^2.3.1" -mime-db@1.52.0, mime-db@^1.52.0: +mime-db@^1.52.0, mime-db@1.52.0: version "1.52.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" + resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== mime-db@~1.25.0: version "1.25.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.25.0.tgz#c18dbd7c73a5dbf6f44a024dc0d165a1e7b1c392" + resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.25.0.tgz" integrity sha1-wY29fHOl2/b0SgJNwNFloeexw5I= -mime-types@2.1.13: - version "2.1.13" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.13.tgz#e07aaa9c6c6b9a7ca3012c69003ad25a39e92a88" - integrity sha1-4HqqnGxrmnyjASxpADrSWjnpKog= - dependencies: - mime-db "~1.25.0" - 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" + resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== dependencies: mime-db "1.52.0" +mime-types@2.1.13: + version "2.1.13" + resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.13.tgz" + integrity sha1-4HqqnGxrmnyjASxpADrSWjnpKog= + dependencies: + mime-db "~1.25.0" + mime@1.6.0: version "1.6.0" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" + resolved "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz" integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== mimic-fn@^2.1.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" + resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== minimatch@^3.0.4: version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz" integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== dependencies: brace-expansion "^1.1.7" minimist@^1.2.0: version "1.2.7" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.7.tgz#daa1c4d91f507390437c6a8bc01078e7000c4d18" + resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz" integrity sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g== mri@^1.1.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/mri/-/mri-1.2.0.tgz#6721480fec2a11a4889861115a48b6cbe7cc8f0b" + resolved "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz" integrity sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA== mrmime@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/mrmime/-/mrmime-1.0.0.tgz#14d387f0585a5233d291baba339b063752a2398b" + resolved "https://registry.npmjs.org/mrmime/-/mrmime-1.0.0.tgz" integrity sha512-a70zx7zFfVO7XpnQ2IX1Myh9yY4UYvfld/dikWRnsXxbyvMcfz+u6UfgNAtH+k2QqtJuzVpv6eLTx1G2+WKZbQ== +ms@^2.1.1: + version "2.1.3" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + ms@2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" + resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g= ms@2.1.2: version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -ms@2.1.3, ms@^2.1.1: +ms@2.1.3: version "2.1.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== mz@^2.7.0: version "2.7.0" - resolved "https://registry.yarnpkg.com/mz/-/mz-2.7.0.tgz#95008057a56cafadc2bc63dde7f9ff6955948e32" + resolved "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz" integrity sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q== dependencies: any-promise "^1.0.0" @@ -4673,32 +4719,32 @@ mz@^2.7.0: nanoid@^3.2.0: version "3.3.1" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.1.tgz#6347a18cac88af88f58af0b3594b723d5e99bb35" + resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.1.tgz" integrity sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw== nanoid@^3.3.4: version "3.3.4" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab" + resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz" integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== nanoid@^3.3.6: version "3.3.6" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.6.tgz#443380c856d6e9f9824267d960b4236ad583ea4c" + resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz" integrity sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA== natural-compare@^1.4.0: version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" + resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc= negotiator@0.6.3: version "0.6.3" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" + resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz" integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== next-remote-watch@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/next-remote-watch/-/next-remote-watch-1.0.0.tgz#34c5a015b1bd191f906479c00baabd1a33cf04f5" + resolved "https://registry.npmjs.org/next-remote-watch/-/next-remote-watch-1.0.0.tgz" integrity sha512-kV+pglCwcnKyqJIXPHUUrnZr9d3rCqCIEQWBkFYC02GDXHyKVmcFytoY6q0+wMIQqh/izIAQL1x6OKXZhksjLA== dependencies: body-parser "^1.19.0" @@ -4709,12 +4755,12 @@ next-remote-watch@^1.0.0: next-tick@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" + resolved "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz" integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== next@^13.4.1: version "13.4.1" - resolved "https://registry.yarnpkg.com/next/-/next-13.4.1.tgz#8d23f94c81b3f9cc8b34165ad528457e5befd726" + resolved "https://registry.npmjs.org/next/-/next-13.4.1.tgz" integrity sha512-JBw2kAIyhKDpjhEWvNVoFeIzNp9xNxg8wrthDOtMctfn3EpqGCmW0FSviNyGgOSOSn6zDaX48pmvbdf6X2W9xA== dependencies: "@next/env" "13.4.1" @@ -4737,27 +4783,27 @@ next@^13.4.1: nice-try@^1.0.4: version "1.0.5" - resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" + resolved "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz" integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== nlcst-to-string@^2.0.0: version "2.0.4" - resolved "https://registry.yarnpkg.com/nlcst-to-string/-/nlcst-to-string-2.0.4.tgz#9315dfab80882bbfd86ddf1b706f53622dc400cc" + resolved "https://registry.npmjs.org/nlcst-to-string/-/nlcst-to-string-2.0.4.tgz" integrity sha512-3x3jwTd6UPG7vi5k4GEzvxJ5rDA7hVUIRNHPblKuMVP9Z3xmlsd9cgLcpAMkc5uPOBna82EeshROFhsPkbnTZg== node-releases@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.1.tgz#3d1d395f204f1f2f29a54358b9fb678765ad2fc5" + resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz" integrity sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA== node-releases@^2.0.6: version "2.0.6" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.6.tgz#8a7088c63a55e493845683ebf3c828d8c51c5503" + resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz" integrity sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg== normalize-package-data@^2.3.2: version "2.5.0" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8" + resolved "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz" integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== dependencies: hosted-git-info "^2.1.4" @@ -4767,17 +4813,17 @@ normalize-package-data@^2.3.2: normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" + resolved "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== normalize-range@^0.1.2: version "0.1.2" - resolved "https://registry.yarnpkg.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942" + resolved "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz" integrity sha1-LRDAa9/TEuqXd2laTShDlFa3WUI= npm-run-all@^4.1.5: version "4.1.5" - resolved "https://registry.yarnpkg.com/npm-run-all/-/npm-run-all-4.1.5.tgz#04476202a15ee0e2e214080861bff12a51d98fba" + resolved "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz" integrity sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ== dependencies: ansi-styles "^3.2.1" @@ -4792,39 +4838,39 @@ npm-run-all@^4.1.5: npm-run-path@^4.0.1: version "4.0.1" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" + resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz" integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== dependencies: path-key "^3.0.0" num2fraction@^1.2.2: version "1.2.2" - resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede" + resolved "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz" integrity sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4= object-assign@^4.0.1, object-assign@^4.1.1: version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" + resolved "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz" integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= object-hash@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-3.0.0.tgz#73f97f753e7baffc0e2cc9d6e079079744ac82e9" + resolved "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz" integrity sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw== object-inspect@^1.11.0, object-inspect@^1.12.0, object-inspect@^1.9.0: version "1.12.0" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.0.tgz#6e2c120e868fd1fd18cb4f18c31741d0d6e776f0" + resolved "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz" integrity sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g== object-keys@^1.0.12, object-keys@^1.1.1: version "1.1.1" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" + resolved "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz" integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== object.assign@^4.1.0: version "4.1.4" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f" + resolved "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz" integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== dependencies: call-bind "^1.0.2" @@ -4834,7 +4880,7 @@ object.assign@^4.1.0: object.assign@^4.1.2: version "4.1.2" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940" + resolved "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz" integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ== dependencies: call-bind "^1.0.0" @@ -4844,7 +4890,7 @@ object.assign@^4.1.2: object.entries@^1.1.5: version "1.1.5" - resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.5.tgz#e1acdd17c4de2cd96d5a08487cfb9db84d881861" + resolved "https://registry.npmjs.org/object.entries/-/object.entries-1.1.5.tgz" integrity sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g== dependencies: call-bind "^1.0.2" @@ -4853,7 +4899,7 @@ object.entries@^1.1.5: object.fromentries@^2.0.5: version "2.0.5" - resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.5.tgz#7b37b205109c21e741e605727fe8b0ad5fa08251" + resolved "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.5.tgz" integrity sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw== dependencies: call-bind "^1.0.2" @@ -4862,7 +4908,7 @@ object.fromentries@^2.0.5: object.hasown@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.0.tgz#7232ed266f34d197d15cac5880232f7a4790afe5" + resolved "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.0.tgz" integrity sha512-MhjYRfj3GBlhSkDHo6QmvgjRLXQ2zndabdf3nX0yTyZK9rPfxb6uRpAac8HXNLy1GpqWtZ81Qh4v3uOls2sRAg== dependencies: define-properties "^1.1.3" @@ -4870,7 +4916,7 @@ object.hasown@^1.1.0: object.values@^1.1.5: version "1.1.5" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.5.tgz#959f63e3ce9ef108720333082131e4a459b716ac" + resolved "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz" integrity sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg== dependencies: call-bind "^1.0.2" @@ -4879,28 +4925,28 @@ object.values@^1.1.5: on-finished@2.4.1: version "2.4.1" - resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" + resolved "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz" integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== dependencies: ee-first "1.1.1" once@^1.3.0: version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" + resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E= dependencies: wrappy "1" onetime@^5.1.0, onetime@^5.1.2: version "5.1.2" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" + resolved "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz" integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== dependencies: mimic-fn "^2.1.0" open@^7.4.2: version "7.4.2" - resolved "https://registry.yarnpkg.com/open/-/open-7.4.2.tgz#b8147e26dcf3e426316c730089fd71edd29c2321" + resolved "https://registry.npmjs.org/open/-/open-7.4.2.tgz" integrity sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q== dependencies: is-docker "^2.0.0" @@ -4908,12 +4954,12 @@ open@^7.4.2: opener@^1.5.2: version "1.5.2" - resolved "https://registry.yarnpkg.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598" + resolved "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz" integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A== optionator@^0.9.1: version "0.9.1" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" + resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz" integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== dependencies: deep-is "^0.1.3" @@ -4925,55 +4971,55 @@ optionator@^0.9.1: os-tmpdir@~1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" + resolved "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz" integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= -outvariant@1.4.0, outvariant@^1.3.0: +outvariant@^1.3.0, outvariant@1.4.0: version "1.4.0" - resolved "https://registry.yarnpkg.com/outvariant/-/outvariant-1.4.0.tgz#e742e4bda77692da3eca698ef5bfac62d9fba06e" + resolved "https://registry.npmjs.org/outvariant/-/outvariant-1.4.0.tgz" integrity sha512-AlWY719RF02ujitly7Kk/0QlV+pXGFDHrHf9O2OKqyqgBieaPOIeuSkL8sRK6j2WK+/ZAURq2kZsY0d8JapUiw== outvariant@^1.4.0: version "1.4.2" - resolved "https://registry.yarnpkg.com/outvariant/-/outvariant-1.4.2.tgz#f54f19240eeb7f15b28263d5147405752d8e2066" + resolved "https://registry.npmjs.org/outvariant/-/outvariant-1.4.2.tgz" integrity sha512-Ou3dJ6bA/UJ5GVHxah4LnqDwZRwAmWxrG3wtrHrbGnP4RnLCtA64A4F+ae7Y8ww660JaddSoArUR5HjipWSHAQ== p-limit@^1.1.0: version "1.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz" integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== dependencies: p-try "^1.0.0" p-locate@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz" integrity sha1-IKAQOyIqcMj9OcwuWAaA893l7EM= dependencies: p-limit "^1.1.0" p-map@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" + resolved "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz" integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== dependencies: aggregate-error "^3.0.0" p-try@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" + resolved "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz" integrity sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M= parent-module@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" + resolved "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz" integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== dependencies: callsites "^3.0.0" parse-entities@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-2.0.0.tgz#53c6eb5b9314a1f4ec99fa0fdf7ce01ecda0cbe8" + resolved "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz" integrity sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ== dependencies: character-entities "^1.0.0" @@ -4985,7 +5031,7 @@ parse-entities@^2.0.0: parse-entities@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-4.0.0.tgz#f67c856d4e3fe19b1a445c3fabe78dcdc1053eeb" + resolved "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.0.tgz" integrity sha512-5nk9Fn03x3rEhGaX1FU6IDwG/k+GxLXlFAkgrbM1asuAFl3BhdQWvASaIsmwWypRNcZKHPYnIuOSfIWEyEQnPQ== dependencies: "@types/unist" "^2.0.0" @@ -4999,7 +5045,7 @@ parse-entities@^4.0.0: parse-json@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0" + resolved "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz" integrity sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA= dependencies: error-ex "^1.3.1" @@ -5007,7 +5053,7 @@ parse-json@^4.0.0: parse-latin@^4.0.0: version "4.3.0" - resolved "https://registry.yarnpkg.com/parse-latin/-/parse-latin-4.3.0.tgz#1a70fc5601743baa06c5f12253c334fc94b4a917" + resolved "https://registry.npmjs.org/parse-latin/-/parse-latin-4.3.0.tgz" integrity sha512-TYKL+K98dcAWoCw/Ac1yrPviU8Trk+/gmjQVaoWEFDZmVD4KRg6c/80xKqNNFQObo2mTONgF8trzAf2UTwKafw== dependencies: nlcst-to-string "^2.0.0" @@ -5016,17 +5062,17 @@ parse-latin@^4.0.0: parse-numeric-range@^1.2.0: version "1.3.0" - resolved "https://registry.yarnpkg.com/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz#7c63b61190d61e4d53a1197f0c83c47bb670ffa3" + resolved "https://registry.npmjs.org/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz" integrity sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ== parseurl@~1.3.3: version "1.3.3" - resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" + resolved "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz" integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== patch-package@^6.2.2: version "6.4.7" - resolved "https://registry.yarnpkg.com/patch-package/-/patch-package-6.4.7.tgz#2282d53c397909a0d9ef92dae3fdeb558382b148" + resolved "https://registry.npmjs.org/patch-package/-/patch-package-6.4.7.tgz" integrity sha512-S0vh/ZEafZ17hbhgqdnpunKDfzHQibQizx9g8yEf5dcVk3KOflOfdufRXQX8CSEkyOQwuM/bNz1GwKvFj54kaQ== dependencies: "@yarnpkg/lockfile" "^1.1.0" @@ -5045,49 +5091,49 @@ patch-package@^6.2.2: path-exists@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" + resolved "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz" integrity sha1-zg6+ql94yxiSXqfYENe1mwEP1RU= path-is-absolute@^1.0.0: version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" + resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= path-key@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" + resolved "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz" integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A= path-key@^3.0.0, path-key@^3.1.0: version "3.1.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" + resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== path-parse@^1.0.6, path-parse@^1.0.7: version "1.0.7" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" + resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" 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" + resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz" 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" + resolved "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz" integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg== dependencies: pify "^3.0.0" path-type@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" + resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== periscopic@^3.0.0: version "3.0.4" - resolved "https://registry.yarnpkg.com/periscopic/-/periscopic-3.0.4.tgz#b3fbed0d1bc844976b977173ca2cd4a0ef4fa8d1" + resolved "https://registry.npmjs.org/periscopic/-/periscopic-3.0.4.tgz" integrity sha512-SFx68DxCv0Iyo6APZuw/AKewkkThGwssmU0QWtTlvov3VAtPX+QJ4CadwSaz8nrT5jPIuxdvJWB4PnD2KNDxQg== dependencies: estree-walker "^3.0.0" @@ -5095,42 +5141,42 @@ periscopic@^3.0.0: picocolors@^0.2.1: version "0.2.1" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-0.2.1.tgz#570670f793646851d1ba135996962abad587859f" + resolved "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz" integrity sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA== picocolors@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" + resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.1: version "2.3.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== pidtree@^0.3.0: version "0.3.1" - resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.3.1.tgz#ef09ac2cc0533df1f3250ccf2c4d366b0d12114a" + resolved "https://registry.npmjs.org/pidtree/-/pidtree-0.3.1.tgz" integrity sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA== pify@^2.3.0: version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" + resolved "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz" integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== pify@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" + resolved "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz" integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= pirates@^4.0.1: version "4.0.6" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.6.tgz#3018ae32ecfcff6c29ba2267cbf21166ac1f36b9" + resolved "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz" integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg== postcss-attribute-case-insensitive@^4.0.1: version "4.0.2" - resolved "https://registry.yarnpkg.com/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-4.0.2.tgz#d93e46b504589e94ac7277b0463226c68041a880" + resolved "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-4.0.2.tgz" integrity sha512-clkFxk/9pcdb4Vkn0hAHq3YnxBQ2p0CGD1dy24jN+reBck+EWxMbxSUqN4Yj7t0w8csl87K6p0gxBe1utkJsYA== dependencies: postcss "^7.0.2" @@ -5138,7 +5184,7 @@ postcss-attribute-case-insensitive@^4.0.1: postcss-color-functional-notation@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/postcss-color-functional-notation/-/postcss-color-functional-notation-2.0.1.tgz#5efd37a88fbabeb00a2966d1e53d98ced93f74e0" + resolved "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-2.0.1.tgz" integrity sha512-ZBARCypjEDofW4P6IdPVTLhDNXPRn8T2s1zHbZidW6rPaaZvcnCS2soYFIQJrMZSxiePJ2XIYTlcb2ztr/eT2g== dependencies: postcss "^7.0.2" @@ -5146,7 +5192,7 @@ postcss-color-functional-notation@^2.0.1: postcss-color-gray@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-color-gray/-/postcss-color-gray-5.0.0.tgz#532a31eb909f8da898ceffe296fdc1f864be8547" + resolved "https://registry.npmjs.org/postcss-color-gray/-/postcss-color-gray-5.0.0.tgz" integrity sha512-q6BuRnAGKM/ZRpfDascZlIZPjvwsRye7UDNalqVz3s7GDxMtqPY6+Q871liNxsonUw8oC61OG+PSaysYpl1bnw== dependencies: "@csstools/convert-colors" "^1.4.0" @@ -5155,7 +5201,7 @@ postcss-color-gray@^5.0.0: postcss-color-hex-alpha@^5.0.3: version "5.0.3" - resolved "https://registry.yarnpkg.com/postcss-color-hex-alpha/-/postcss-color-hex-alpha-5.0.3.tgz#a8d9ca4c39d497c9661e374b9c51899ef0f87388" + resolved "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-5.0.3.tgz" integrity sha512-PF4GDel8q3kkreVXKLAGNpHKilXsZ6xuu+mOQMHWHLPNyjiUBOr75sp5ZKJfmv1MCus5/DWUGcK9hm6qHEnXYw== dependencies: postcss "^7.0.14" @@ -5163,7 +5209,7 @@ postcss-color-hex-alpha@^5.0.3: postcss-color-mod-function@^3.0.3: version "3.0.3" - resolved "https://registry.yarnpkg.com/postcss-color-mod-function/-/postcss-color-mod-function-3.0.3.tgz#816ba145ac11cc3cb6baa905a75a49f903e4d31d" + resolved "https://registry.npmjs.org/postcss-color-mod-function/-/postcss-color-mod-function-3.0.3.tgz" integrity sha512-YP4VG+xufxaVtzV6ZmhEtc+/aTXH3d0JLpnYfxqTvwZPbJhWqp8bSY3nfNzNRFLgB4XSaBA82OE4VjOOKpCdVQ== dependencies: "@csstools/convert-colors" "^1.4.0" @@ -5172,7 +5218,7 @@ postcss-color-mod-function@^3.0.3: postcss-color-rebeccapurple@^4.0.1: version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-4.0.1.tgz#c7a89be872bb74e45b1e3022bfe5748823e6de77" + resolved "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-4.0.1.tgz" integrity sha512-aAe3OhkS6qJXBbqzvZth2Au4V3KieR5sRQ4ptb2b2O8wgvB3SJBsdG+jsn2BZbbwekDG8nTfcCNKcSfe/lEy8g== dependencies: postcss "^7.0.2" @@ -5180,14 +5226,14 @@ postcss-color-rebeccapurple@^4.0.1: postcss-custom-media@^7.0.8: version "7.0.8" - resolved "https://registry.yarnpkg.com/postcss-custom-media/-/postcss-custom-media-7.0.8.tgz#fffd13ffeffad73621be5f387076a28b00294e0c" + resolved "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-7.0.8.tgz" integrity sha512-c9s5iX0Ge15o00HKbuRuTqNndsJUbaXdiNsksnVH8H4gdc+zbLzr/UasOwNG6CTDpLFekVY4672eWdiiWu2GUg== dependencies: postcss "^7.0.14" postcss-custom-properties@^8.0.11: version "8.0.11" - resolved "https://registry.yarnpkg.com/postcss-custom-properties/-/postcss-custom-properties-8.0.11.tgz#2d61772d6e92f22f5e0d52602df8fae46fa30d97" + resolved "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-8.0.11.tgz" integrity sha512-nm+o0eLdYqdnJ5abAJeXp4CEU1c1k+eB2yMCvhgzsds/e0umabFrN6HoTy/8Q4K5ilxERdl/JD1LO5ANoYBeMA== dependencies: postcss "^7.0.17" @@ -5195,7 +5241,7 @@ postcss-custom-properties@^8.0.11: postcss-custom-selectors@^5.1.2: version "5.1.2" - resolved "https://registry.yarnpkg.com/postcss-custom-selectors/-/postcss-custom-selectors-5.1.2.tgz#64858c6eb2ecff2fb41d0b28c9dd7b3db4de7fba" + resolved "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-5.1.2.tgz" integrity sha512-DSGDhqinCqXqlS4R7KGxL1OSycd1lydugJ1ky4iRXPHdBRiozyMHrdu0H3o7qNOCiZwySZTUI5MV0T8QhCLu+w== dependencies: postcss "^7.0.2" @@ -5203,7 +5249,7 @@ postcss-custom-selectors@^5.1.2: postcss-dir-pseudo-class@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-5.0.0.tgz#6e3a4177d0edb3abcc85fdb6fbb1c26dabaeaba2" + resolved "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-5.0.0.tgz" integrity sha512-3pm4oq8HYWMZePJY+5ANriPs3P07q+LW6FAdTlkFH2XqDdP4HeeJYMOzn0HYLhRSjBO3fhiqSwwU9xEULSrPgw== dependencies: postcss "^7.0.2" @@ -5211,7 +5257,7 @@ postcss-dir-pseudo-class@^5.0.0: postcss-double-position-gradients@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/postcss-double-position-gradients/-/postcss-double-position-gradients-1.0.0.tgz#fc927d52fddc896cb3a2812ebc5df147e110522e" + resolved "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-1.0.0.tgz" integrity sha512-G+nV8EnQq25fOI8CH/B6krEohGWnF5+3A6H/+JEpOncu5dCnkS1QQ6+ct3Jkaepw1NGVqqOZH6lqrm244mCftA== dependencies: postcss "^7.0.5" @@ -5219,7 +5265,7 @@ postcss-double-position-gradients@^1.0.0: postcss-env-function@^2.0.2: version "2.0.2" - resolved "https://registry.yarnpkg.com/postcss-env-function/-/postcss-env-function-2.0.2.tgz#0f3e3d3c57f094a92c2baf4b6241f0b0da5365d7" + resolved "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-2.0.2.tgz" integrity sha512-rwac4BuZlITeUbiBq60h/xbLzXY43qOsIErngWa4l7Mt+RaSkT7QBjXVGTcBHupykkblHMDrBFh30zchYPaOUw== dependencies: postcss "^7.0.2" @@ -5227,42 +5273,42 @@ postcss-env-function@^2.0.2: postcss-flexbugs-fixes@4.2.1: version "4.2.1" - resolved "https://registry.yarnpkg.com/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-4.2.1.tgz#9218a65249f30897deab1033aced8578562a6690" + resolved "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-4.2.1.tgz" integrity sha512-9SiofaZ9CWpQWxOwRh1b/r85KD5y7GgvsNt1056k6OYLvWUun0czCvogfJgylC22uJTwW1KzY3Gz65NZRlvoiQ== dependencies: postcss "^7.0.26" postcss-focus-visible@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-focus-visible/-/postcss-focus-visible-4.0.0.tgz#477d107113ade6024b14128317ade2bd1e17046e" + resolved "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-4.0.0.tgz" integrity sha512-Z5CkWBw0+idJHSV6+Bgf2peDOFf/x4o+vX/pwcNYrWpXFrSfTkQ3JQ1ojrq9yS+upnAlNRHeg8uEwFTgorjI8g== dependencies: postcss "^7.0.2" postcss-focus-within@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-focus-within/-/postcss-focus-within-3.0.0.tgz#763b8788596cee9b874c999201cdde80659ef680" + resolved "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-3.0.0.tgz" integrity sha512-W0APui8jQeBKbCGZudW37EeMCjDeVxKgiYfIIEo8Bdh5SpB9sxds/Iq8SEuzS0Q4YFOlG7EPFulbbxujpkrV2w== dependencies: postcss "^7.0.2" postcss-font-variant@^4.0.0: version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-font-variant/-/postcss-font-variant-4.0.1.tgz#42d4c0ab30894f60f98b17561eb5c0321f502641" + resolved "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-4.0.1.tgz" integrity sha512-I3ADQSTNtLTTd8uxZhtSOrTCQ9G4qUVKPjHiDk0bV75QSxXjVWiJVJ2VLdspGUi9fbW9BcjKJoRvxAH1pckqmA== dependencies: postcss "^7.0.2" postcss-gap-properties@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/postcss-gap-properties/-/postcss-gap-properties-2.0.0.tgz#431c192ab3ed96a3c3d09f2ff615960f902c1715" + resolved "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-2.0.0.tgz" integrity sha512-QZSqDaMgXCHuHTEzMsS2KfVDOq7ZFiknSpkrPJY6jmxbugUPTuSzs/vuE5I3zv0WAS+3vhrlqhijiprnuQfzmg== dependencies: postcss "^7.0.2" postcss-image-set-function@^3.0.1: version "3.0.1" - resolved "https://registry.yarnpkg.com/postcss-image-set-function/-/postcss-image-set-function-3.0.1.tgz#28920a2f29945bed4c3198d7df6496d410d3f288" + resolved "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-3.0.1.tgz" integrity sha512-oPTcFFip5LZy8Y/whto91L9xdRHCWEMs3e1MdJxhgt4jy2WYXfhkng59fH5qLXSCPN8k4n94p1Czrfe5IOkKUw== dependencies: postcss "^7.0.2" @@ -5270,7 +5316,7 @@ postcss-image-set-function@^3.0.1: postcss-import@^15.1.0: version "15.1.0" - resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-15.1.0.tgz#41c64ed8cc0e23735a9698b3249ffdbf704adc70" + resolved "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz" integrity sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew== dependencies: postcss-value-parser "^4.0.0" @@ -5279,21 +5325,21 @@ postcss-import@^15.1.0: postcss-initial@^3.0.0: version "3.0.4" - resolved "https://registry.yarnpkg.com/postcss-initial/-/postcss-initial-3.0.4.tgz#9d32069a10531fe2ecafa0b6ac750ee0bc7efc53" + resolved "https://registry.npmjs.org/postcss-initial/-/postcss-initial-3.0.4.tgz" integrity sha512-3RLn6DIpMsK1l5UUy9jxQvoDeUN4gP939tDcKUHD/kM8SGSKbFAnvkpFpj3Bhtz3HGk1jWY5ZNWX6mPta5M9fg== dependencies: postcss "^7.0.2" postcss-js@^4.0.1: version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-js/-/postcss-js-4.0.1.tgz#61598186f3703bab052f1c4f7d805f3991bee9d2" + resolved "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz" integrity sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw== dependencies: camelcase-css "^2.0.1" postcss-lab-function@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/postcss-lab-function/-/postcss-lab-function-2.0.1.tgz#bb51a6856cd12289ab4ae20db1e3821ef13d7d2e" + resolved "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-2.0.1.tgz" integrity sha512-whLy1IeZKY+3fYdqQFuDBf8Auw+qFuVnChWjmxm/UhHWqNHZx+B99EwxTvGYmUBqe3Fjxs4L1BoZTJmPu6usVg== dependencies: "@csstools/convert-colors" "^1.4.0" @@ -5302,7 +5348,7 @@ postcss-lab-function@^2.0.1: postcss-load-config@^4.0.1: version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-load-config/-/postcss-load-config-4.0.1.tgz#152383f481c2758274404e4962743191d73875bd" + resolved "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz" integrity sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA== dependencies: lilconfig "^2.0.5" @@ -5310,49 +5356,49 @@ postcss-load-config@^4.0.1: postcss-logical@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-logical/-/postcss-logical-3.0.0.tgz#2495d0f8b82e9f262725f75f9401b34e7b45d5b5" + resolved "https://registry.npmjs.org/postcss-logical/-/postcss-logical-3.0.0.tgz" integrity sha512-1SUKdJc2vuMOmeItqGuNaC+N8MzBWFWEkAnRnLpFYj1tGGa7NqyVBujfRtgNa2gXR+6RkGUiB2O5Vmh7E2RmiA== dependencies: postcss "^7.0.2" postcss-media-minmax@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-media-minmax/-/postcss-media-minmax-4.0.0.tgz#b75bb6cbc217c8ac49433e12f22048814a4f5ed5" + resolved "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-4.0.0.tgz" integrity sha512-fo9moya6qyxsjbFAYl97qKO9gyre3qvbMnkOZeZwlsW6XYFsvs2DMGDlchVLfAd8LHPZDxivu/+qW2SMQeTHBw== dependencies: postcss "^7.0.2" postcss-nested@^6.0.1: version "6.0.1" - resolved "https://registry.yarnpkg.com/postcss-nested/-/postcss-nested-6.0.1.tgz#f83dc9846ca16d2f4fa864f16e9d9f7d0961662c" + resolved "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz" integrity sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ== dependencies: postcss-selector-parser "^6.0.11" postcss-nesting@^7.0.0: version "7.0.1" - resolved "https://registry.yarnpkg.com/postcss-nesting/-/postcss-nesting-7.0.1.tgz#b50ad7b7f0173e5b5e3880c3501344703e04c052" + resolved "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-7.0.1.tgz" integrity sha512-FrorPb0H3nuVq0Sff7W2rnc3SmIcruVC6YwpcS+k687VxyxO33iE1amna7wHuRVzM8vfiYofXSBHNAZ3QhLvYg== dependencies: postcss "^7.0.2" postcss-overflow-shorthand@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/postcss-overflow-shorthand/-/postcss-overflow-shorthand-2.0.0.tgz#31ecf350e9c6f6ddc250a78f0c3e111f32dd4c30" + resolved "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-2.0.0.tgz" integrity sha512-aK0fHc9CBNx8jbzMYhshZcEv8LtYnBIRYQD5i7w/K/wS9c2+0NSR6B3OVMu5y0hBHYLcMGjfU+dmWYNKH0I85g== dependencies: postcss "^7.0.2" postcss-page-break@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/postcss-page-break/-/postcss-page-break-2.0.0.tgz#add52d0e0a528cabe6afee8b46e2abb277df46bf" + resolved "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-2.0.0.tgz" integrity sha512-tkpTSrLpfLfD9HvgOlJuigLuk39wVTbbd8RKcy8/ugV2bNBUW3xU+AIqyxhDrQr1VUj1RmyJrBn1YWrqUm9zAQ== dependencies: postcss "^7.0.2" postcss-place@^4.0.1: version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-place/-/postcss-place-4.0.1.tgz#e9f39d33d2dc584e46ee1db45adb77ca9d1dcc62" + resolved "https://registry.npmjs.org/postcss-place/-/postcss-place-4.0.1.tgz" integrity sha512-Zb6byCSLkgRKLODj/5mQugyuj9bvAAw9LqJJjgwz5cYryGeXfFZfSXoP1UfveccFmeq0b/2xxwcTEVScnqGxBg== dependencies: postcss "^7.0.2" @@ -5360,7 +5406,7 @@ postcss-place@^4.0.1: postcss-preset-env@^6.7.0: version "6.7.0" - resolved "https://registry.yarnpkg.com/postcss-preset-env/-/postcss-preset-env-6.7.0.tgz#c34ddacf8f902383b35ad1e030f178f4cdf118a5" + resolved "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-6.7.0.tgz" integrity sha512-eU4/K5xzSFwUFJ8hTdTQzo2RBLbDVt83QZrAvI07TULOkmyQlnYlpwep+2yIK+K+0KlZO4BvFcleOCCcUtwchg== dependencies: autoprefixer "^9.6.1" @@ -5403,7 +5449,7 @@ postcss-preset-env@^6.7.0: postcss-pseudo-class-any-link@^6.0.0: version "6.0.0" - resolved "https://registry.yarnpkg.com/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-6.0.0.tgz#2ed3eed393b3702879dec4a87032b210daeb04d1" + resolved "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-6.0.0.tgz" integrity sha512-lgXW9sYJdLqtmw23otOzrtbDXofUdfYzNm4PIpNE322/swES3VU9XlXHeJS46zT2onFO7V1QFdD4Q9LiZj8mew== dependencies: postcss "^7.0.2" @@ -5411,14 +5457,14 @@ postcss-pseudo-class-any-link@^6.0.0: postcss-replace-overflow-wrap@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-3.0.0.tgz#61b360ffdaedca84c7c918d2b0f0d0ea559ab01c" + resolved "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-3.0.0.tgz" integrity sha512-2T5hcEHArDT6X9+9dVSPQdo7QHzG4XKclFT8rU5TzJPDN7RIRTbO9c4drUISOVemLj03aezStHCR2AIcr8XLpw== dependencies: postcss "^7.0.2" postcss-selector-matches@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/postcss-selector-matches/-/postcss-selector-matches-4.0.0.tgz#71c8248f917ba2cc93037c9637ee09c64436fcff" + resolved "https://registry.npmjs.org/postcss-selector-matches/-/postcss-selector-matches-4.0.0.tgz" integrity sha512-LgsHwQR/EsRYSqlwdGzeaPKVT0Ml7LAT6E75T8W8xLJY62CE4S/l03BWIt3jT8Taq22kXP08s2SfTSzaraoPww== dependencies: balanced-match "^1.0.0" @@ -5426,7 +5472,7 @@ postcss-selector-matches@^4.0.0: postcss-selector-not@^4.0.0: version "4.0.1" - resolved "https://registry.yarnpkg.com/postcss-selector-not/-/postcss-selector-not-4.0.1.tgz#263016eef1cf219e0ade9a913780fc1f48204cbf" + resolved "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-4.0.1.tgz" integrity sha512-YolvBgInEK5/79C+bdFMyzqTg6pkYqDbzZIST/PDMqa/o3qtXenD05apBG2jLgT0/BQ77d4U2UK12jWpilqMAQ== dependencies: balanced-match "^1.0.0" @@ -5434,7 +5480,7 @@ postcss-selector-not@^4.0.0: postcss-selector-parser@^5.0.0-rc.3, postcss-selector-parser@^5.0.0-rc.4: version "5.0.0" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz#249044356697b33b64f1a8f7c80922dddee7195c" + resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz" integrity sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ== dependencies: cssesc "^2.0.0" @@ -5443,7 +5489,7 @@ postcss-selector-parser@^5.0.0-rc.3, postcss-selector-parser@^5.0.0-rc.4: postcss-selector-parser@^6.0.11: version "6.0.13" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz#d05d8d76b1e8e173257ef9d60b706a8e5e99bf1b" + resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz" integrity sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ== dependencies: cssesc "^3.0.0" @@ -5451,7 +5497,7 @@ postcss-selector-parser@^6.0.11: postcss-selector-parser@^6.0.2: version "6.0.9" - resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.9.tgz#ee71c3b9ff63d9cd130838876c13a2ec1a992b2f" + resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.9.tgz" integrity sha512-UO3SgnZOVTwu4kyLR22UQ1xZh086RyNZppb7lLAKBFK8a32ttG5i87Y/P3+2bRSjZNyJ1B7hfFNo273tKe9YxQ== dependencies: cssesc "^3.0.0" @@ -5459,30 +5505,61 @@ postcss-selector-parser@^6.0.2: postcss-value-parser@^4.0.0, 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" + resolved "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz" integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ== postcss-values-parser@^2.0.0, postcss-values-parser@^2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/postcss-values-parser/-/postcss-values-parser-2.0.1.tgz#da8b472d901da1e205b47bdc98637b9e9e550e5f" + resolved "https://registry.npmjs.org/postcss-values-parser/-/postcss-values-parser-2.0.1.tgz" integrity sha512-2tLuBsA6P4rYTNKCXYG/71C7j1pU6pK503suYOmn4xYrQIzW+opD+7FAFNuGSdZC/3Qfy334QbeMu7MEb8gOxg== dependencies: flatten "^1.0.2" indexes-of "^1.0.1" uniq "^1.0.1" -postcss@8.4.14: - version "8.4.14" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.14.tgz#ee9274d5622b4858c1007a74d76e42e56fd21caf" - integrity sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig== +postcss@^7.0.14: + version "7.0.39" + resolved "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz" + integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA== dependencies: - nanoid "^3.3.4" - picocolors "^1.0.0" - source-map-js "^1.0.2" + picocolors "^0.2.1" + source-map "^0.6.1" + +postcss@^7.0.17, postcss@^7.0.32: + version "7.0.39" + resolved "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz" + integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA== + dependencies: + picocolors "^0.2.1" + source-map "^0.6.1" + +postcss@^7.0.2: + version "7.0.39" + resolved "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz" + integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA== + dependencies: + picocolors "^0.2.1" + source-map "^0.6.1" + +postcss@^7.0.26: + version "7.0.39" + resolved "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz" + integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA== + dependencies: + picocolors "^0.2.1" + source-map "^0.6.1" + +postcss@^7.0.5: + version "7.0.39" + resolved "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz" + integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA== + dependencies: + picocolors "^0.2.1" + source-map "^0.6.1" -postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.26, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6: +postcss@^7.0.6: version "7.0.39" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-7.0.39.tgz#9624375d965630e2e1f2c02a935c82a59cb48309" + resolved "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz" integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA== dependencies: picocolors "^0.2.1" @@ -5490,7 +5567,7 @@ postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.26, postcss@^7.0. postcss@^8.4.23: version "8.4.25" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.25.tgz#4a133f5e379eda7f61e906c3b1aaa9b81292726f" + resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.25.tgz" integrity sha512-7taJ/8t2av0Z+sQEvNzCkpDynl0tX3uJMCODi6nT3PfASC7dYCWV9aQ+uiCf+KBD4SEFcu+GvJdGdwzQ6OSjCw== dependencies: nanoid "^3.3.6" @@ -5499,31 +5576,40 @@ postcss@^8.4.23: postcss@^8.4.5: version "8.4.6" - resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.6.tgz#c5ff3c3c457a23864f32cb45ac9b741498a09ae1" + resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.6.tgz" integrity sha512-OovjwIzs9Te46vlEx7+uXB0PLijpwjXGKXjVGGPIGubGpq7uh5Xgf6D6FiJ/SzJMBosHDp6a2hiXOS97iBXcaA== dependencies: nanoid "^3.2.0" picocolors "^1.0.0" source-map-js "^1.0.2" +postcss@8.4.14: + version "8.4.14" + resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz" + integrity sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig== + dependencies: + nanoid "^3.3.4" + picocolors "^1.0.0" + source-map-js "^1.0.2" + prelude-ls@^1.2.1: version "1.2.1" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" + resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== prettier@^2.5.1: version "2.5.1" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.5.1.tgz#fff75fa9d519c54cf0fce328c1017d94546bc56a" + resolved "https://registry.npmjs.org/prettier/-/prettier-2.5.1.tgz" integrity sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg== progress@^2.0.0: version "2.0.3" - resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" + resolved "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz" integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== prop-types@^15.7.2: version "15.8.1" - resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" + resolved "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz" integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== dependencies: loose-envify "^1.4.0" @@ -5532,19 +5618,19 @@ prop-types@^15.7.2: property-information@^5.0.0: version "5.6.0" - resolved "https://registry.yarnpkg.com/property-information/-/property-information-5.6.0.tgz#61675545fb23002f245c6540ec46077d4da3ed69" + resolved "https://registry.npmjs.org/property-information/-/property-information-5.6.0.tgz" integrity sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA== dependencies: xtend "^4.0.0" property-information@^6.0.0: version "6.1.1" - resolved "https://registry.yarnpkg.com/property-information/-/property-information-6.1.1.tgz#5ca85510a3019726cb9afed4197b7b8ac5926a22" + resolved "https://registry.npmjs.org/property-information/-/property-information-6.1.1.tgz" integrity sha512-hrzC564QIl0r0vy4l6MvRLhafmUowhO/O3KgVSoXIbbA2Sz4j8HGpJc6T2cubRVwMwpdiG/vKGfhT4IixmKN9w== proxy-addr@~2.0.7: version "2.0.7" - resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" + resolved "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz" integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== dependencies: forwarded "0.2.0" @@ -5552,29 +5638,29 @@ proxy-addr@~2.0.7: punycode@^2.1.0: version "2.1.1" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec" + resolved "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz" integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A== qs@6.10.3: version "6.10.3" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.3.tgz#d6cde1b2ffca87b5aa57889816c5f81535e22e8e" + resolved "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz" integrity sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ== dependencies: side-channel "^1.0.4" queue-microtask@^1.2.2: version "1.2.3" - resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" + resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== range-parser@~1.2.1: version "1.2.1" - resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" + resolved "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz" integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== raw-body@2.5.1: version "2.5.1" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.1.tgz#fe1b1628b181b700215e5fd42389f98b71392857" + resolved "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz" integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig== dependencies: bytes "3.1.2" @@ -5584,21 +5670,21 @@ raw-body@2.5.1: react-collapsed@4.0.4: version "4.0.4" - resolved "https://registry.yarnpkg.com/react-collapsed/-/react-collapsed-4.0.4.tgz#4c6bce3a15286d43e95b6730ad70ec387a54caa9" + resolved "https://registry.npmjs.org/react-collapsed/-/react-collapsed-4.0.4.tgz" integrity sha512-8avvmnQxDYTgGZYVP9+3Z7doomxVEBoCkukpTmUHEIrAYvELZ5jNNfYCt/hCpHB6GmQbzZoDmnDupjsnQVgcCQ== dependencies: tiny-warning "^1.0.3" react-devtools-inline@4.4.0: version "4.4.0" - resolved "https://registry.yarnpkg.com/react-devtools-inline/-/react-devtools-inline-4.4.0.tgz#e032a6eb17a9977b682306f84b46e683adf4bf68" + resolved "https://registry.npmjs.org/react-devtools-inline/-/react-devtools-inline-4.4.0.tgz" integrity sha512-ES0GolSrKO8wsKbsEkVeiR/ZAaHQTY4zDh1UW8DImVmm8oaGLl3ijJDvSGe+qDRKPZdPRnDtWWnSvvrgxXdThQ== dependencies: es6-symbol "^3" react-dom@^0.0.0-experimental-16d053d59-20230506: version "0.0.0-experimental-16d053d59-20230506" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-0.0.0-experimental-16d053d59-20230506.tgz#1870c355f1027262992b2226191810ba15eedab3" + resolved "https://registry.npmjs.org/react-dom/-/react-dom-0.0.0-experimental-16d053d59-20230506.tgz" integrity sha512-I4PIT9ZAdDgpbav9BxfzPv2p5otJz6BEbFEBvFwd1BnQJmtkKKApUU7RYdGKnwY2/r6hdfxPm2pne+NhiyBkzg== dependencies: loose-envify "^1.1.0" @@ -5606,17 +5692,17 @@ react-dom@^0.0.0-experimental-16d053d59-20230506: react-is@^16.13.1: version "16.13.1" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" + resolved "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== react-is@^17.0.2: version "17.0.2" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" + resolved "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz" integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== react-remove-scroll-bar@^2.3.3: version "2.3.6" - resolved "https://registry.yarnpkg.com/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.6.tgz#3e585e9d163be84a010180b18721e851ac81a29c" + resolved "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.6.tgz" integrity sha512-DtSYaao4mBmX+HDo5YWYdBWQwYIQQshUV/dVxFxK+KM26Wjwp1gZ6rv6OC3oujI6Bfu6Xyg3TwK533AQutsn/g== dependencies: react-style-singleton "^2.2.1" @@ -5624,7 +5710,7 @@ react-remove-scroll-bar@^2.3.3: react-remove-scroll@2.5.5: version "2.5.5" - resolved "https://registry.yarnpkg.com/react-remove-scroll/-/react-remove-scroll-2.5.5.tgz#1e31a1260df08887a8a0e46d09271b52b3a37e77" + resolved "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.5.5.tgz" integrity sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw== dependencies: react-remove-scroll-bar "^2.3.3" @@ -5635,7 +5721,7 @@ react-remove-scroll@2.5.5: react-style-singleton@^2.2.1: version "2.2.1" - resolved "https://registry.yarnpkg.com/react-style-singleton/-/react-style-singleton-2.2.1.tgz#f99e420492b2d8f34d38308ff660b60d0b1205b4" + resolved "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.1.tgz" integrity sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g== dependencies: get-nonce "^1.0.0" @@ -5644,21 +5730,21 @@ react-style-singleton@^2.2.1: react@^0.0.0-experimental-16d053d59-20230506: version "0.0.0-experimental-16d053d59-20230506" - resolved "https://registry.yarnpkg.com/react/-/react-0.0.0-experimental-16d053d59-20230506.tgz#98a7a9d19ab1820f882111ce4fc4e23f3cb8aaad" + resolved "https://registry.npmjs.org/react/-/react-0.0.0-experimental-16d053d59-20230506.tgz" integrity sha512-8PdloFcanNcryJLohpr4rVQfB4oJvsL0Z+TzJ8B66RxauwF95QqUNorGsK1heESrtj4As0oHCmiZkoYzA4uW8w== dependencies: loose-envify "^1.1.0" read-cache@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/read-cache/-/read-cache-1.0.0.tgz#e664ef31161166c9751cdbe8dbcf86b5fb58f774" + resolved "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz" integrity sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA== dependencies: pify "^2.3.0" read-pkg@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/read-pkg/-/read-pkg-3.0.0.tgz#9cbc686978fee65d16c00e2b19c237fcf6e38389" + resolved "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz" integrity sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k= dependencies: load-json-file "^4.0.0" @@ -5667,29 +5753,29 @@ read-pkg@^3.0.0: readdirp@~3.6.0: version "3.6.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" + resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz" integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== dependencies: picomatch "^2.2.1" reading-time@^1.2.0: version "1.5.0" - resolved "https://registry.yarnpkg.com/reading-time/-/reading-time-1.5.0.tgz#d2a7f1b6057cb2e169beaf87113cc3411b5bc5bb" + resolved "https://registry.npmjs.org/reading-time/-/reading-time-1.5.0.tgz" integrity sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg== regenerator-runtime@^0.13.4: version "0.13.9" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" + resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz" integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== regenerator-runtime@^0.14.0: version "0.14.1" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#356ade10263f685dda125100cd862c1db895327f" + resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz" integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== regexp.prototype.flags@^1.3.1: version "1.4.1" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.1.tgz#b3f4c0059af9e47eca9f3f660e51d81307e72307" + resolved "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.1.tgz" integrity sha512-pMR7hBVUUGI7PMA37m2ofIdQCsomVnas+Jn5UPGAHQ+/LlwKm/aTLJHdasmHRzlfeZwHiAOaRSo2rbBDm3nNUQ== dependencies: call-bind "^1.0.2" @@ -5697,12 +5783,12 @@ regexp.prototype.flags@^1.3.1: regexpp@^3.1.0, regexpp@^3.2.0: version "3.2.0" - resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" + resolved "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz" integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== remark-external-links@^7.0.0: version "7.0.1" - resolved "https://registry.yarnpkg.com/remark-external-links/-/remark-external-links-7.0.1.tgz#c71ca81ea4cca48f067a9659645e4e87a94e54d5" + resolved "https://registry.npmjs.org/remark-external-links/-/remark-external-links-7.0.1.tgz" integrity sha512-a98JnTMRln8GseQq0buE4Aq6yYjYF4aRIlrPVxL9PT1pcy+yMJij24dEYAqvdluF9GHgNs/De+8y6kzqsjH1jQ== dependencies: extend "^3.0.0" @@ -5713,7 +5799,7 @@ remark-external-links@^7.0.0: remark-frontmatter@^4.0.1: version "4.0.1" - resolved "https://registry.yarnpkg.com/remark-frontmatter/-/remark-frontmatter-4.0.1.tgz#84560f7ccef114ef076d3d3735be6d69f8922309" + resolved "https://registry.npmjs.org/remark-frontmatter/-/remark-frontmatter-4.0.1.tgz" integrity sha512-38fJrB0KnmD3E33a5jZC/5+gGAC2WKNiPw1/fdXJvijBlhA7RCsvJklrYJakS0HedninvaCYW8lQGf9C918GfA== dependencies: "@types/mdast" "^3.0.0" @@ -5723,7 +5809,7 @@ remark-frontmatter@^4.0.1: remark-gfm@^3.0.1: version "3.0.1" - resolved "https://registry.yarnpkg.com/remark-gfm/-/remark-gfm-3.0.1.tgz#0b180f095e3036545e9dddac0e8df3fa5cfee54f" + resolved "https://registry.npmjs.org/remark-gfm/-/remark-gfm-3.0.1.tgz" integrity sha512-lEFDoi2PICJyNrACFOfDD3JlLkuSbOa5Wd8EPt06HUdptv8Gn0bxYTdbU/XXQ3swAPkEaGxxPN9cbnMHvVu1Ig== dependencies: "@types/mdast" "^3.0.0" @@ -5733,7 +5819,7 @@ remark-gfm@^3.0.1: remark-html@^12.0.0: version "12.0.0" - resolved "https://registry.yarnpkg.com/remark-html/-/remark-html-12.0.0.tgz#f39d2a5e173cce777981cb4171b4ea860313d72a" + resolved "https://registry.npmjs.org/remark-html/-/remark-html-12.0.0.tgz" integrity sha512-M104NMHs48+uswChJkCDXCdabzxAinpHikpt6kS3gmGMyIvPZ5kn53tB9shFsL2O4HUJ9DIEsah1SX1Ve5FXHA== dependencies: hast-util-sanitize "^3.0.0" @@ -5743,7 +5829,7 @@ remark-html@^12.0.0: remark-images@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/remark-images/-/remark-images-2.0.0.tgz#7621a406364c3a0a6e4250c3ee63909cc14a2388" + resolved "https://registry.npmjs.org/remark-images/-/remark-images-2.0.0.tgz" integrity sha512-1X6XTBQZW489HSwU0k+aU3xAlVe3TyPll6N2Mt1onwINTIqcTk9QTC57937Z8NQDJ8h7gKGXy9d4TJug2dm8lg== dependencies: is-url "^1.2.2" @@ -5752,7 +5838,7 @@ remark-images@^2.0.0: remark-mdx@^2.0.0: version "2.1.3" - resolved "https://registry.yarnpkg.com/remark-mdx/-/remark-mdx-2.1.3.tgz#6273e8b94d27ade35407a63bc8cdd04592f7be9f" + resolved "https://registry.npmjs.org/remark-mdx/-/remark-mdx-2.1.3.tgz" integrity sha512-3SmtXOy9+jIaVctL8Cs3VAQInjRLGOwNXfrBB9KCT+EpJpKD3PQiy0x8hUNGyjQmdyOs40BqgPU7kYtH9uoR6w== dependencies: mdast-util-mdx "^2.0.0" @@ -5760,7 +5846,7 @@ remark-mdx@^2.0.0: remark-parse@^10.0.0: version "10.0.1" - resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-10.0.1.tgz#6f60ae53edbf0cf38ea223fe643db64d112e0775" + resolved "https://registry.npmjs.org/remark-parse/-/remark-parse-10.0.1.tgz" integrity sha512-1fUyHr2jLsVOkhbvPRBJ5zTKZZyD6yZzYaWCS6BPBdQ8vEMBCH+9zNCDA6tET/zHCi/jLqjCWtlJZUPk+DbnFw== dependencies: "@types/mdast" "^3.0.0" @@ -5769,7 +5855,7 @@ remark-parse@^10.0.0: remark-parse@^8.0.0: version "8.0.3" - resolved "https://registry.yarnpkg.com/remark-parse/-/remark-parse-8.0.3.tgz#9c62aa3b35b79a486454c690472906075f40c7e1" + resolved "https://registry.npmjs.org/remark-parse/-/remark-parse-8.0.3.tgz" integrity sha512-E1K9+QLGgggHxCQtLt++uXltxEprmWzNfg+MxpfHsZlrddKzZ/hZyWHDbK3/Ap8HJQqYJRXP+jHczdL6q6i85Q== dependencies: ccount "^1.0.0" @@ -5791,7 +5877,7 @@ remark-parse@^8.0.0: remark-rehype@^10.0.0: version "10.1.0" - resolved "https://registry.yarnpkg.com/remark-rehype/-/remark-rehype-10.1.0.tgz#32dc99d2034c27ecaf2e0150d22a6dcccd9a6279" + resolved "https://registry.npmjs.org/remark-rehype/-/remark-rehype-10.1.0.tgz" integrity sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw== dependencies: "@types/hast" "^2.0.0" @@ -5801,7 +5887,7 @@ remark-rehype@^10.0.0: remark-slug@^7.0.0: version "7.0.1" - resolved "https://registry.yarnpkg.com/remark-slug/-/remark-slug-7.0.1.tgz#9827ce6d6ee81ca82b79891b0e5931a8123ce63b" + resolved "https://registry.npmjs.org/remark-slug/-/remark-slug-7.0.1.tgz" integrity sha512-NRvYePr69LdeCkEGwL4KYAmq7kdWG5rEavCXMzUR4qndLoXHJAOLSUmPY6Qm4NJfKix7/EmgObyVaYivONAFhg== dependencies: "@types/hast" "^2.3.2" @@ -5813,7 +5899,7 @@ remark-slug@^7.0.0: remark-stringify@^8.0.0: version "8.1.1" - resolved "https://registry.yarnpkg.com/remark-stringify/-/remark-stringify-8.1.1.tgz#e2a9dc7a7bf44e46a155ec78996db896780d8ce5" + resolved "https://registry.npmjs.org/remark-stringify/-/remark-stringify-8.1.1.tgz" integrity sha512-q4EyPZT3PcA3Eq7vPpT6bIdokXzFGp9i85igjmhRyXWmPs0Y6/d2FYwUNotKAWyLch7g0ASZJn/KHHcHZQ163A== dependencies: ccount "^1.0.0" @@ -5833,7 +5919,7 @@ remark-stringify@^8.0.0: remark-unwrap-images@^2.0.0: version "2.1.0" - resolved "https://registry.yarnpkg.com/remark-unwrap-images/-/remark-unwrap-images-2.1.0.tgz#1dda005e8397c6f1792e4c8d38ed29602f9284cc" + resolved "https://registry.npmjs.org/remark-unwrap-images/-/remark-unwrap-images-2.1.0.tgz" integrity sha512-DpM7oEIXNjS3aDQpzxWrTWhUJcd5b8LznbSZnSPi1Yc3fJgLYJlx9uzkj5ekyp01PSBbSbPM2jq4959mcIetvA== dependencies: hast-util-whitespace "^1.0.0" @@ -5841,7 +5927,7 @@ remark-unwrap-images@^2.0.0: remark@^12.0.1: version "12.0.1" - resolved "https://registry.yarnpkg.com/remark/-/remark-12.0.1.tgz#f1ddf68db7be71ca2bad0a33cd3678b86b9c709f" + resolved "https://registry.npmjs.org/remark/-/remark-12.0.1.tgz" integrity sha512-gS7HDonkdIaHmmP/+shCPejCEEW+liMp/t/QwmF0Xt47Rpuhl32lLtDV1uKWvGoq+kxr5jSgg5oAIpGuyULjUw== dependencies: remark-parse "^8.0.0" @@ -5850,22 +5936,22 @@ remark@^12.0.1: repeat-string@^1.0.0, repeat-string@^1.5.4: version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" + resolved "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz" integrity sha1-jcrkcOHIirwtYA//Sndihtp15jc= require-from-string@^2.0.2: version "2.0.2" - resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" + resolved "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz" integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== resolve-from@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" + resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== resolve@^1.1.7, resolve@^1.22.2: version "1.22.2" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.2.tgz#0ed0943d4e301867955766c9f3e1ae6d01c6845f" + resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz" integrity sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g== dependencies: is-core-module "^2.11.0" @@ -5874,7 +5960,7 @@ resolve@^1.1.7, resolve@^1.22.2: resolve@^1.10.0, resolve@^1.12.0, resolve@^1.20.0: version "1.22.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198" + resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz" integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw== dependencies: is-core-module "^2.8.1" @@ -5883,7 +5969,7 @@ resolve@^1.10.0, resolve@^1.12.0, resolve@^1.20.0: resolve@^2.0.0-next.3: version "2.0.0-next.3" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.3.tgz#d41016293d4a8586a39ca5d9b5f15cbea1f55e46" + resolved "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.3.tgz" integrity sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q== dependencies: is-core-module "^2.2.0" @@ -5891,7 +5977,7 @@ resolve@^2.0.0-next.3: restore-cursor@^3.1.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" + resolved "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz" integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== dependencies: onetime "^5.1.0" @@ -5899,7 +5985,7 @@ restore-cursor@^3.1.0: retext-latin@^2.0.0: version "2.0.4" - resolved "https://registry.yarnpkg.com/retext-latin/-/retext-latin-2.0.4.tgz#ef5d34ae7641ae56b0675ea391095e8ee762b251" + resolved "https://registry.npmjs.org/retext-latin/-/retext-latin-2.0.4.tgz" integrity sha512-fOoSSoQgDZ+l/uS81oxI3alBghDUPja0JEl0TpQxI6MN+dhM6fLFumPJwMZ4PJTyL5FFAgjlsdv8IX+6IRuwMw== dependencies: parse-latin "^4.0.0" @@ -5907,7 +5993,7 @@ retext-latin@^2.0.0: retext-smartypants@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/retext-smartypants/-/retext-smartypants-4.0.0.tgz#77478bd9775b4d7505122b0799594339e08d4fda" + resolved "https://registry.npmjs.org/retext-smartypants/-/retext-smartypants-4.0.0.tgz" integrity sha512-Mknd05zuIycr4Z/hNDxA8ktqv7pG7wYdTZc68a2MJF+Ibg/WloR5bbyrEjijwNwHRR+xWsovkLH4OQIz/mghdw== dependencies: nlcst-to-string "^2.0.0" @@ -5915,14 +6001,14 @@ retext-smartypants@^4.0.0: retext-stringify@^2.0.0: version "2.0.4" - resolved "https://registry.yarnpkg.com/retext-stringify/-/retext-stringify-2.0.4.tgz#496d6c532f7dc6d15e4b262de0266e828f72efa9" + resolved "https://registry.npmjs.org/retext-stringify/-/retext-stringify-2.0.4.tgz" integrity sha512-xOtx5mFJBoT3j7PBtiY2I+mEGERNniofWktI1cKXvjMEJPOuqve0dghLHO1+gz/gScLn4zqspDGv4kk2wS5kSA== dependencies: nlcst-to-string "^2.0.0" retext@^7.0.1: version "7.0.1" - resolved "https://registry.yarnpkg.com/retext/-/retext-7.0.1.tgz#04b7965ab78fe6e5e3a489304545b460d41bf5aa" + resolved "https://registry.npmjs.org/retext/-/retext-7.0.1.tgz" integrity sha512-N0IaEDkvUjqyfn3/gwxVfI51IxfGzOiVXqPLWnKeCDbiQdxSg0zebzHPxXWnL7TeplAJ+RE4uqrXyYN//s9HjQ== dependencies: retext-latin "^2.0.0" @@ -5931,31 +6017,31 @@ retext@^7.0.1: reusify@^1.0.4: version "1.0.4" - resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" + resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== rfdc@^1.3.0: version "1.3.0" - resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.0.tgz#d0b7c441ab2720d05dc4cf26e01c89631d9da08b" + resolved "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz" integrity sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA== rimraf@^2.5.4, rimraf@^2.6.3: version "2.7.1" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" + resolved "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz" 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" + resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== dependencies: glob "^7.1.3" rss@^1.2.2: version "1.2.2" - resolved "https://registry.yarnpkg.com/rss/-/rss-1.2.2.tgz#50a1698876138133a74f9a05d2bdc8db8d27a921" + resolved "https://registry.npmjs.org/rss/-/rss-1.2.2.tgz" integrity sha1-UKFpiHYTgTOnT5oF0r3I240nqSE= dependencies: mime-types "2.1.13" @@ -5963,82 +6049,89 @@ rss@^1.2.2: run-parallel@^1.1.9: version "1.2.0" - resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" + resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== dependencies: queue-microtask "^1.2.2" rxjs@^7.5.2: version "7.5.2" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.2.tgz#11e4a3a1dfad85dbf7fb6e33cbba17668497490b" + resolved "https://registry.npmjs.org/rxjs/-/rxjs-7.5.2.tgz" integrity sha512-PwDt186XaL3QN5qXj/H9DGyHhP3/RYYgZZwqBv9Tv8rsAaiwFH1IsJJlcgD37J7UW5a6O67qX0KWKS3/pu0m4w== dependencies: tslib "^2.1.0" sade@^1.7.3: version "1.8.1" - resolved "https://registry.yarnpkg.com/sade/-/sade-1.8.1.tgz#0a78e81d658d394887be57d2a409bf703a3b2701" + resolved "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz" integrity sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A== dependencies: mri "^1.1.0" -safe-buffer@5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - safe-buffer@~5.1.1: version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" + resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== +safe-buffer@5.2.1: + version "5.2.1" + resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + "safer-buffer@>= 2.1.2 < 3": version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" + resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== scheduler@0.0.0-experimental-16d053d59-20230506: version "0.0.0-experimental-16d053d59-20230506" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.0.0-experimental-16d053d59-20230506.tgz#cb76957af2849452a5e40c82fb53168da255e32f" + resolved "https://registry.npmjs.org/scheduler/-/scheduler-0.0.0-experimental-16d053d59-20230506.tgz" integrity sha512-gGnyU4CkC/+msd1dOQW9zuquI3GoEziuS42soP0AvbTCvRkeU4qhR/mRRaU+/a7JK/OFeSSudcz7enkrkZdSPA== dependencies: loose-envify "^1.1.0" section-matter@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/section-matter/-/section-matter-1.0.0.tgz#e9041953506780ec01d59f292a19c7b850b84167" + resolved "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz" integrity sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA== dependencies: extend-shallow "^2.0.1" kind-of "^6.0.0" -"semver@2 || 3 || 4 || 5", semver@^5.5.0, semver@^5.6.0: +semver@^5.5.0, semver@^5.6.0, "semver@2 || 3 || 4 || 5": version "5.7.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" + resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== semver@^6.3.0: version "6.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" + resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== -semver@^7.2.1, semver@^7.3.5: +semver@^7.2.1: + version "7.3.5" + resolved "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz" + integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== + dependencies: + lru-cache "^6.0.0" + +semver@^7.3.5: version "7.3.5" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" + resolved "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz" integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== dependencies: lru-cache "^6.0.0" semver@^7.3.7: version "7.3.7" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f" + resolved "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz" integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== dependencies: lru-cache "^6.0.0" send@0.18.0: version "0.18.0" - resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" + resolved "https://registry.npmjs.org/send/-/send-0.18.0.tgz" integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== dependencies: debug "2.6.9" @@ -6057,7 +6150,7 @@ send@0.18.0: serve-static@1.15.0: version "1.15.0" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540" + resolved "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz" integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== dependencies: encodeurl "~1.0.2" @@ -6067,41 +6160,41 @@ serve-static@1.15.0: setprototypeof@1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" + resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz" integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== shebang-command@^1.2.0: version "1.2.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" + resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz" integrity sha1-RKrGW2lbAzmJaMOfNj/uXer98eo= dependencies: shebang-regex "^1.0.0" shebang-command@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" + resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== dependencies: shebang-regex "^3.0.0" shebang-regex@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" + resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz" integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM= shebang-regex@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" + resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== shell-quote@^1.6.1: version "1.7.3" - resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.3.tgz#aa40edac170445b9a431e17bb62c0b881b9c4123" + resolved "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.3.tgz" integrity sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw== side-channel@^1.0.4: version "1.0.4" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" + resolved "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz" integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== dependencies: call-bind "^1.0.0" @@ -6110,12 +6203,12 @@ side-channel@^1.0.4: signal-exit@^3.0.2, signal-exit@^3.0.3: version "3.0.6" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.6.tgz#24e630c4b0f03fea446a2bd299e62b4a6ca8d0af" + resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz" integrity sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ== sirv@^1.0.7: version "1.0.19" - resolved "https://registry.yarnpkg.com/sirv/-/sirv-1.0.19.tgz#1d73979b38c7fe91fcba49c85280daa9c2363b49" + resolved "https://registry.npmjs.org/sirv/-/sirv-1.0.19.tgz" integrity sha512-JuLThK3TnZG1TAKDwNIqNq6QA2afLOCcm+iE8D1Kj3GA40pSPsxQjjJl0J8X3tsR7T+CP1GavpzLwYkgVLWrZQ== dependencies: "@polka/url" "^1.0.0-next.20" @@ -6124,17 +6217,17 @@ sirv@^1.0.7: slash@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" + resolved "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz" integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== slash@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" + resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== slice-ansi@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787" + resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz" integrity sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ== dependencies: ansi-styles "^4.0.0" @@ -6143,7 +6236,7 @@ slice-ansi@^3.0.0: slice-ansi@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" + resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz" integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== dependencies: ansi-styles "^4.0.0" @@ -6152,7 +6245,7 @@ slice-ansi@^4.0.0: slice-ansi@^5.0.0: version "5.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-5.0.0.tgz#b73063c57aa96f9cd881654b15294d95d285c42a" + resolved "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz" integrity sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ== dependencies: ansi-styles "^6.0.0" @@ -6160,37 +6253,37 @@ slice-ansi@^5.0.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" + resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz" integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== source-map@^0.5.0: version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz" integrity sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w= source-map@^0.6.1: version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== source-map@^0.7.0: version "0.7.4" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz" integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== 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" + resolved "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz" integrity sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA== space-separated-tokens@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-2.0.1.tgz#43193cec4fb858a2ce934b7f98b7f2c18107098b" + resolved "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.1.tgz" integrity sha512-ekwEbFp5aqSPKaqeY1PGrlGQxPNaq+Cnx4+bE2D8sciBQrHpbwoBbawqTN2+6jPs9IdWxxiUcN0K2pkczD3zmw== spdx-correct@^3.0.0: version "3.1.1" - resolved "https://registry.yarnpkg.com/spdx-correct/-/spdx-correct-3.1.1.tgz#dece81ac9c1e6713e5f7d1b6f17d468fa53d89a9" + resolved "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz" integrity sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w== dependencies: spdx-expression-parse "^3.0.0" @@ -6198,12 +6291,12 @@ spdx-correct@^3.0.0: spdx-exceptions@^2.1.0: version "2.3.0" - resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d" + resolved "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz" integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A== spdx-expression-parse@^3.0.0: version "3.0.1" - resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679" + resolved "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz" integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== dependencies: spdx-exceptions "^2.1.0" @@ -6211,22 +6304,22 @@ spdx-expression-parse@^3.0.0: spdx-license-ids@^3.0.0: version "3.0.11" - resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz#50c0d8c40a14ec1bf449bae69a0ea4685a9d9f95" + resolved "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz" integrity sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g== sprintf-js@~1.0.2: version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" + resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= state-toggle@^1.0.0: version "1.0.3" - resolved "https://registry.yarnpkg.com/state-toggle/-/state-toggle-1.0.3.tgz#e123b16a88e143139b09c6852221bc9815917dfe" + resolved "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.3.tgz" integrity sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ== static-browser-server@1.0.3: version "1.0.3" - resolved "https://registry.yarnpkg.com/static-browser-server/-/static-browser-server-1.0.3.tgz#9030d141b99ed92c8eec1a7546b87548fd036f5d" + resolved "https://registry.npmjs.org/static-browser-server/-/static-browser-server-1.0.3.tgz" integrity sha512-ZUyfgGDdFRbZGGJQ1YhiM930Yczz5VlbJObrQLlk24+qNHVQx4OlLcYswEUo3bIyNAbQUIUR9Yr5/Hqjzqb4zA== dependencies: "@open-draft/deferred-promise" "^2.1.0" @@ -6236,27 +6329,27 @@ static-browser-server@1.0.3: statuses@2.0.1: version "2.0.1" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" + resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz" integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== streamsearch@^1.1.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-1.1.0.tgz#404dd1e2247ca94af554e841a8ef0eaa238da764" + resolved "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz" integrity sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg== strict-event-emitter@^0.4.3: version "0.4.6" - resolved "https://registry.yarnpkg.com/strict-event-emitter/-/strict-event-emitter-0.4.6.tgz#ff347c8162b3e931e3ff5f02cfce6772c3b07eb3" + resolved "https://registry.npmjs.org/strict-event-emitter/-/strict-event-emitter-0.4.6.tgz" integrity sha512-12KWeb+wixJohmnwNFerbyiBrAlq5qJLwIt38etRtKtmmHyDSoGlIqFE9wx+4IwG0aDjI7GV8tc8ZccjWZZtTg== string-argv@^0.3.1: version "0.3.1" - resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da" + resolved "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz" integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg== string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== dependencies: emoji-regex "^8.0.0" @@ -6265,7 +6358,7 @@ string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: string-width@^5.0.0: version "5.1.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-5.1.0.tgz#5ab00980cfb29f43e736b113a120a73a0fb569d3" + resolved "https://registry.npmjs.org/string-width/-/string-width-5.1.0.tgz" integrity sha512-7x54QnN21P+XL/v8SuNKvfgsUre6PXpN7mc77N3HlZv+f1SBRGmjxtOud2Z6FZ8DmdkD/IdjCaf9XXbnqmTZGQ== dependencies: eastasianwidth "^0.2.0" @@ -6274,7 +6367,7 @@ string-width@^5.0.0: string.prototype.matchall@^4.0.6: version "4.0.6" - resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.6.tgz#5abb5dabc94c7b0ea2380f65ba610b3a544b15fa" + resolved "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.6.tgz" integrity sha512-6WgDX8HmQqvEd7J+G6VtAahhsQIssiZ8zl7zKh1VDMFyL3hRTJP4FTNA3RbIp2TOQ9AYNDcc7e3fH0Qbup+DBg== dependencies: call-bind "^1.0.2" @@ -6288,7 +6381,7 @@ string.prototype.matchall@^4.0.6: string.prototype.padend@^3.0.0: version "3.1.3" - resolved "https://registry.yarnpkg.com/string.prototype.padend/-/string.prototype.padend-3.1.3.tgz#997a6de12c92c7cb34dc8a201a6c53d9bd88a5f1" + resolved "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.3.tgz" integrity sha512-jNIIeokznm8SD/TZISQsZKYu7RJyheFNt84DUPrh482GC8RVp2MKqm2O5oBRdGxbDQoXrhhWtPIWQOiy20svUg== dependencies: call-bind "^1.0.2" @@ -6297,7 +6390,7 @@ string.prototype.padend@^3.0.0: string.prototype.trimend@^1.0.4: version "1.0.4" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80" + resolved "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz" integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A== dependencies: call-bind "^1.0.2" @@ -6305,7 +6398,7 @@ string.prototype.trimend@^1.0.4: string.prototype.trimstart@^1.0.4: version "1.0.4" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed" + resolved "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz" integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw== dependencies: call-bind "^1.0.2" @@ -6313,7 +6406,7 @@ string.prototype.trimstart@^1.0.4: stringify-entities@^3.0.0, stringify-entities@^3.0.1: version "3.1.0" - resolved "https://registry.yarnpkg.com/stringify-entities/-/stringify-entities-3.1.0.tgz#b8d3feac256d9ffcc9fa1fefdcf3ca70576ee903" + resolved "https://registry.npmjs.org/stringify-entities/-/stringify-entities-3.1.0.tgz" integrity sha512-3FP+jGMmMV/ffZs86MoghGqAoqXAdxLrJP4GUdrDN1aIScYih5tuIO3eF4To5AJZ79KDZ8Fpdy7QJnK8SsL1Vg== dependencies: character-entities-html4 "^1.0.0" @@ -6322,7 +6415,7 @@ stringify-entities@^3.0.0, stringify-entities@^3.0.1: stringify-entities@^4.0.0: version "4.0.3" - resolved "https://registry.yarnpkg.com/stringify-entities/-/stringify-entities-4.0.3.tgz#cfabd7039d22ad30f3cc435b0ca2c1574fc88ef8" + resolved "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.3.tgz" integrity sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g== dependencies: character-entities-html4 "^2.0.0" @@ -6330,60 +6423,60 @@ stringify-entities@^4.0.0: strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== dependencies: ansi-regex "^5.0.1" strip-ansi@^7.0.1: version "7.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.0.1.tgz#61740a08ce36b61e50e65653f07060d000975fb2" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz" integrity sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw== dependencies: ansi-regex "^6.0.1" strip-bom-string@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-bom-string/-/strip-bom-string-1.0.0.tgz#e5211e9224369fbb81d633a2f00044dc8cedad92" + resolved "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz" integrity sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI= strip-bom@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" + resolved "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz" integrity sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM= strip-final-newline@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" + resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz" integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== 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" + resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== style-mod@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/style-mod/-/style-mod-4.0.0.tgz#97e7c2d68b592975f2ca7a63d0dd6fcacfe35a01" + resolved "https://registry.npmjs.org/style-mod/-/style-mod-4.0.0.tgz" integrity sha512-OPhtyEjyyN9x3nhPsu76f52yUGXiZcgvsrFVtvTkyGRQJ0XK+GPc6ov1z+lRpbeabka+MYEQxOYRnt5nF30aMw== style-to-object@^0.3.0: version "0.3.0" - resolved "https://registry.yarnpkg.com/style-to-object/-/style-to-object-0.3.0.tgz#b1b790d205991cc783801967214979ee19a76e46" + resolved "https://registry.npmjs.org/style-to-object/-/style-to-object-0.3.0.tgz" integrity sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA== dependencies: inline-style-parser "0.1.1" styled-jsx@5.1.1: version "5.1.1" - resolved "https://registry.yarnpkg.com/styled-jsx/-/styled-jsx-5.1.1.tgz#839a1c3aaacc4e735fed0781b8619ea5d0009d1f" + resolved "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.1.tgz" integrity sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw== dependencies: client-only "0.0.1" sucrase@^3.32.0: version "3.32.0" - resolved "https://registry.yarnpkg.com/sucrase/-/sucrase-3.32.0.tgz#c4a95e0f1e18b6847127258a75cf360bc568d4a7" + resolved "https://registry.npmjs.org/sucrase/-/sucrase-3.32.0.tgz" integrity sha512-ydQOU34rpSyj2TGyz4D2p8rbktIOZ8QY9s+DGLvFU1i5pWJE8vkpruCjGCMHsdXwnD7JDcS+noSwM/a7zyNFDQ== dependencies: "@jridgewell/gen-mapping" "^0.3.2" @@ -6396,31 +6489,31 @@ sucrase@^3.32.0: supports-color@^5.3.0: version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz" integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== dependencies: has-flag "^3.0.0" supports-color@^7.1.0: version "7.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== dependencies: has-flag "^4.0.0" supports-color@^9.2.1: version "9.2.1" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-9.2.1.tgz#599dc9d45acf74c6176e0d880bab1d7d718fe891" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-9.2.1.tgz" integrity sha512-Obv7ycoCTG51N7y175StI9BlAXrmgZrFhZOb0/PyjHBher/NmsdBgbbQ1Inhq+gIhz6+7Gb+jWF2Vqi7Mf1xnQ== supports-preserve-symlinks-flag@^1.0.0: version "1.0.0" - resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" + resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== table@^6.0.9: version "6.8.0" - resolved "https://registry.yarnpkg.com/table/-/table-6.8.0.tgz#87e28f14fa4321c3377ba286f07b79b281a3b3ca" + resolved "https://registry.npmjs.org/table/-/table-6.8.0.tgz" integrity sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA== dependencies: ajv "^8.0.1" @@ -6431,7 +6524,7 @@ table@^6.0.9: tailwindcss@^3.4.1: version "3.4.1" - resolved "https://registry.yarnpkg.com/tailwindcss/-/tailwindcss-3.4.1.tgz#f512ca5d1dd4c9503c7d3d28a968f1ad8f5c839d" + resolved "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.1.tgz" integrity sha512-qAYmXRfk3ENzuPBakNK0SRrUDipP8NQnEY6772uDhflcQz5EhRdD7JNZxyrFHVQNCwULPBn6FNPp9brpO7ctcA== dependencies: "@alloc/quick-lru" "^5.2.0" @@ -6459,95 +6552,95 @@ tailwindcss@^3.4.1: text-table@^0.2.0: version "0.2.0" - resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" + resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ= thenify-all@^1.0.0: version "1.6.0" - resolved "https://registry.yarnpkg.com/thenify-all/-/thenify-all-1.6.0.tgz#1a1918d402d8fc3f98fbf234db0bcc8cc10e9726" + resolved "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz" integrity sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA== dependencies: thenify ">= 3.1.0 < 4" "thenify@>= 3.1.0 < 4": version "3.3.1" - resolved "https://registry.yarnpkg.com/thenify/-/thenify-3.3.1.tgz#8932e686a4066038a016dd9e2ca46add9838a95f" + resolved "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz" integrity sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw== dependencies: any-promise "^1.0.0" through@^2.3.8: version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" + resolved "https://registry.npmjs.org/through/-/through-2.3.8.tgz" integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU= tiny-warning@^1.0.3: version "1.0.3" - resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754" + resolved "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz" integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA== tmp@^0.0.33: version "0.0.33" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" + resolved "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz" integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== dependencies: os-tmpdir "~1.0.2" to-fast-properties@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" + resolved "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz" integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= to-regex-range@^5.0.1: version "5.0.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" + resolved "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz" integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== dependencies: is-number "^7.0.0" toidentifier@1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" + resolved "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz" integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== totalist@^1.0.0: version "1.1.0" - resolved "https://registry.yarnpkg.com/totalist/-/totalist-1.1.0.tgz#a4d65a3e546517701e3e5c37a47a70ac97fe56df" + resolved "https://registry.npmjs.org/totalist/-/totalist-1.1.0.tgz" integrity sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g== trim-lines@^3.0.0: version "3.0.1" - resolved "https://registry.yarnpkg.com/trim-lines/-/trim-lines-3.0.1.tgz#d802e332a07df861c48802c04321017b1bd87338" + resolved "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz" integrity sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg== trim-trailing-lines@^1.0.0: version "1.1.4" - resolved "https://registry.yarnpkg.com/trim-trailing-lines/-/trim-trailing-lines-1.1.4.tgz#bd4abbec7cc880462f10b2c8b5ce1d8d1ec7c2c0" + resolved "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.4.tgz" integrity sha512-rjUWSqnfTNrjbB9NQWfPMH/xRK1deHeGsHoVfpxJ++XeYXE0d6B1En37AHfw3jtfTU7dzMzZL2jjpe8Qb5gLIQ== trim@0.0.1: version "0.0.1" - resolved "https://registry.yarnpkg.com/trim/-/trim-0.0.1.tgz#5858547f6b290757ee95cccc666fb50084c460dd" + resolved "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz" integrity sha1-WFhUf2spB1fulczMZm+1AITEYN0= trough@^1.0.0: version "1.0.5" - resolved "https://registry.yarnpkg.com/trough/-/trough-1.0.5.tgz#b8b639cefad7d0bb2abd37d433ff8293efa5f406" + resolved "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz" integrity sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA== trough@^2.0.0: version "2.0.2" - resolved "https://registry.yarnpkg.com/trough/-/trough-2.0.2.tgz#94a3aa9d5ce379fc561f6244905b3f36b7458d96" + resolved "https://registry.npmjs.org/trough/-/trough-2.0.2.tgz" integrity sha512-FnHq5sTMxC0sk957wHDzRnemFnNBvt/gSY99HzK8F7UP5WAbvP70yX5bd7CjEQkN+TjdxwI7g7lJ6podqrG2/w== 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" + resolved "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz" integrity sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA== tsconfig-paths@^3.12.0, tsconfig-paths@^3.9.0: version "3.12.0" - resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.12.0.tgz#19769aca6ee8f6a1a341e38c8fa45dd9fb18899b" + resolved "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.12.0.tgz" integrity sha512-e5adrnOYT6zqVnWqZu7i/BQ3BnhzvGbjEjejFXO20lKIKpwTaupkCPgEfv4GZK1IBciJUEhYs3J3p75FdaTFVg== dependencies: "@types/json5" "^0.0.29" @@ -6557,51 +6650,51 @@ tsconfig-paths@^3.12.0, tsconfig-paths@^3.9.0: tslib@^1.8.1: version "1.14.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" + resolved "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== tslib@^2.0.0: version "2.6.3" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.6.3.tgz#0438f810ad7a9edcde7a241c3d80db693c8cbfe0" + resolved "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz" integrity sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ== tslib@^2.1.0: version "2.3.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" + resolved "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz" integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== tslib@^2.4.0: version "2.4.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" + resolved "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz" integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== tsutils@^3.21.0: version "3.21.0" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" + resolved "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz" integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== dependencies: tslib "^1.8.1" type-check@^0.4.0, type-check@~0.4.0: version "0.4.0" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" + resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== dependencies: prelude-ls "^1.2.1" type-fest@^0.20.2: version "0.20.2" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz" integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== type-fest@^0.21.3: version "0.21.3" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz" integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== type-is@~1.6.18: version "1.6.18" - resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" + resolved "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz" integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== dependencies: media-typer "0.3.0" @@ -6609,22 +6702,22 @@ type-is@~1.6.18: type@^1.0.1: version "1.2.0" - resolved "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0" + resolved "https://registry.npmjs.org/type/-/type-1.2.0.tgz" integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg== type@^2.7.2: version "2.7.2" - resolved "https://registry.yarnpkg.com/type/-/type-2.7.2.tgz#2376a15a3a28b1efa0f5350dcf72d24df6ef98d0" + resolved "https://registry.npmjs.org/type/-/type-2.7.2.tgz" integrity sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw== typescript@^4.0.2: version "4.5.5" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.5.5.tgz#d8c953832d28924a9e3d37c73d729c846c5896f3" + resolved "https://registry.npmjs.org/typescript/-/typescript-4.5.5.tgz" integrity sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA== unbox-primitive@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" + resolved "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz" integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw== dependencies: function-bind "^1.1.1" @@ -6634,7 +6727,7 @@ unbox-primitive@^1.0.1: unherit@^1.0.4: version "1.1.3" - resolved "https://registry.yarnpkg.com/unherit/-/unherit-1.1.3.tgz#6c9b503f2b41b262330c80e91c8614abdaa69c22" + resolved "https://registry.npmjs.org/unherit/-/unherit-1.1.3.tgz" integrity sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ== dependencies: inherits "^2.0.0" @@ -6642,7 +6735,7 @@ unherit@^1.0.4: unified@^10.0.0: version "10.1.1" - resolved "https://registry.yarnpkg.com/unified/-/unified-10.1.1.tgz#345e349e3ab353ab612878338eb9d57b4dea1d46" + resolved "https://registry.npmjs.org/unified/-/unified-10.1.1.tgz" integrity sha512-v4ky1+6BN9X3pQrOdkFIPWAaeDsHPE1svRDxq7YpTc2plkIqFMwukfqM+l0ewpP9EfwARlt9pPFAeWYhHm8X9w== dependencies: "@types/unist" "^2.0.0" @@ -6655,7 +6748,7 @@ unified@^10.0.0: unified@^8.0.0: version "8.4.2" - resolved "https://registry.yarnpkg.com/unified/-/unified-8.4.2.tgz#13ad58b4a437faa2751a4a4c6a16f680c500fff1" + resolved "https://registry.npmjs.org/unified/-/unified-8.4.2.tgz" integrity sha512-JCrmN13jI4+h9UAyKEoGcDZV+i1E7BLFuG7OsaDvTXI5P0qhHX+vZO/kOhz9jn8HGENDKbwSeB0nVOg4gVStGA== dependencies: bail "^1.0.0" @@ -6666,7 +6759,7 @@ unified@^8.0.0: unified@^9.0.0: version "9.2.2" - resolved "https://registry.yarnpkg.com/unified/-/unified-9.2.2.tgz#67649a1abfc3ab85d2969502902775eb03146975" + resolved "https://registry.npmjs.org/unified/-/unified-9.2.2.tgz" integrity sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ== dependencies: bail "^1.0.0" @@ -6678,77 +6771,77 @@ unified@^9.0.0: uniq@^1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff" + resolved "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz" integrity sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8= unist-builder@^2.0.0: version "2.0.3" - resolved "https://registry.yarnpkg.com/unist-builder/-/unist-builder-2.0.3.tgz#77648711b5d86af0942f334397a33c5e91516436" + resolved "https://registry.npmjs.org/unist-builder/-/unist-builder-2.0.3.tgz" integrity sha512-f98yt5pnlMWlzP539tPc4grGMsFaQQlP/vM396b00jngsiINumNmsY8rkXjfoi1c6QaM8nQ3vaGDuoKWbe/1Uw== unist-builder@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/unist-builder/-/unist-builder-3.0.0.tgz#728baca4767c0e784e1e64bb44b5a5a753021a04" + resolved "https://registry.npmjs.org/unist-builder/-/unist-builder-3.0.0.tgz" integrity sha512-GFxmfEAa0vi9i5sd0R2kcrI9ks0r82NasRq5QHh2ysGngrc6GiqD5CDf1FjPenY4vApmFASBIIlk/jj5J5YbmQ== dependencies: "@types/unist" "^2.0.0" unist-util-generated@^1.0.0: version "1.1.6" - resolved "https://registry.yarnpkg.com/unist-util-generated/-/unist-util-generated-1.1.6.tgz#5ab51f689e2992a472beb1b35f2ce7ff2f324d4b" + resolved "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-1.1.6.tgz" integrity sha512-cln2Mm1/CZzN5ttGK7vkoGw+RZ8VcUH6BtGbq98DDtRGquAAOXig1mrBQYelOwMXYS8rK+vZDyyojSjp7JX+Lg== unist-util-generated@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/unist-util-generated/-/unist-util-generated-2.0.0.tgz#86fafb77eb6ce9bfa6b663c3f5ad4f8e56a60113" + resolved "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-2.0.0.tgz" integrity sha512-TiWE6DVtVe7Ye2QxOVW9kqybs6cZexNwTwSMVgkfjEReqy/xwGpAXb99OxktoWwmL+Z+Epb0Dn8/GNDYP1wnUw== 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" + resolved "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz" integrity sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg== unist-util-is@^5.0.0: version "5.1.1" - resolved "https://registry.yarnpkg.com/unist-util-is/-/unist-util-is-5.1.1.tgz#e8aece0b102fa9bc097b0fef8f870c496d4a6236" + resolved "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.1.1.tgz" integrity sha512-F5CZ68eYzuSvJjGhCLPL3cYx45IxkqXSetCcRgUXtbcm50X2L9oOWQlfUfDdAf+6Pd27YDblBfdtmsThXmwpbQ== unist-util-modify-children@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/unist-util-modify-children/-/unist-util-modify-children-2.0.0.tgz#9c9c30d4e32502aabb3fde10d7872a17c86801e2" + resolved "https://registry.npmjs.org/unist-util-modify-children/-/unist-util-modify-children-2.0.0.tgz" integrity sha512-HGrj7JQo9DwZt8XFsX8UD4gGqOsIlCih9opG6Y+N11XqkBGKzHo8cvDi+MfQQgiZ7zXRUiQREYHhjOBHERTMdg== dependencies: array-iterate "^1.0.0" unist-util-position-from-estree@^1.0.0, unist-util-position-from-estree@^1.1.0: version "1.1.1" - resolved "https://registry.yarnpkg.com/unist-util-position-from-estree/-/unist-util-position-from-estree-1.1.1.tgz#96f4d543dfb0428edc01ebb928570b602d280c4c" + resolved "https://registry.npmjs.org/unist-util-position-from-estree/-/unist-util-position-from-estree-1.1.1.tgz" integrity sha512-xtoY50b5+7IH8tFbkw64gisG9tMSpxDjhX9TmaJJae/XuxQ9R/Kc8Nv1eOsf43Gt4KV/LkriMy9mptDr7XLcaw== dependencies: "@types/unist" "^2.0.0" unist-util-position@^3.0.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/unist-util-position/-/unist-util-position-3.1.0.tgz#1c42ee6301f8d52f47d14f62bbdb796571fa2d47" + resolved "https://registry.npmjs.org/unist-util-position/-/unist-util-position-3.1.0.tgz" integrity sha512-w+PkwCbYSFw8vpgWD0v7zRCl1FpY3fjDSQ3/N/wNd9Ffa4gPi8+4keqt99N3XW6F99t/mUzp2xAhNmfKWp95QA== unist-util-position@^4.0.0: version "4.0.3" - resolved "https://registry.yarnpkg.com/unist-util-position/-/unist-util-position-4.0.3.tgz#5290547b014f6222dff95c48d5c3c13a88fadd07" + resolved "https://registry.npmjs.org/unist-util-position/-/unist-util-position-4.0.3.tgz" integrity sha512-p/5EMGIa1qwbXjA+QgcBXaPWjSnZfQ2Sc3yBEEfgPwsEmJd8Qh+DSk3LGnmOM4S1bY2C0AjmMnB8RuEYxpPwXQ== dependencies: "@types/unist" "^2.0.0" unist-util-remove-position@^2.0.0: version "2.0.1" - resolved "https://registry.yarnpkg.com/unist-util-remove-position/-/unist-util-remove-position-2.0.1.tgz#5d19ca79fdba712301999b2b73553ca8f3b352cc" + resolved "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-2.0.1.tgz" integrity sha512-fDZsLYIe2uT+oGFnuZmy73K6ZxOPG/Qcm+w7jbEjaFcJgbQ6cqjs/eSPzXhsmGpAsWPkqZM9pYjww5QTn3LHMA== dependencies: unist-util-visit "^2.0.0" unist-util-remove-position@^4.0.0: version "4.0.1" - resolved "https://registry.yarnpkg.com/unist-util-remove-position/-/unist-util-remove-position-4.0.1.tgz#d5b46a7304ac114c8d91990ece085ca7c2c135c8" + resolved "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-4.0.1.tgz" integrity sha512-0yDkppiIhDlPrfHELgB+NLQD5mfjup3a8UYclHruTJWmY74je8g+CIFr79x5f6AkmzSwlvKLbs63hC0meOMowQ== dependencies: "@types/unist" "^2.0.0" @@ -6756,26 +6849,26 @@ unist-util-remove-position@^4.0.0: unist-util-stringify-position@^2.0.0: version "2.0.3" - resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz#cce3bfa1cdf85ba7375d1d5b17bdc4cada9bd9da" + resolved "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz" integrity sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g== dependencies: "@types/unist" "^2.0.2" unist-util-stringify-position@^3.0.0: version "3.0.0" - resolved "https://registry.yarnpkg.com/unist-util-stringify-position/-/unist-util-stringify-position-3.0.0.tgz#d517d2883d74d0daa0b565adc3d10a02b4a8cde9" + resolved "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.0.tgz" integrity sha512-SdfAl8fsDclywZpfMDTVDxA2V7LjtRDTOFd44wUJamgl6OlVngsqWjxvermMYf60elWHbxhuRCZml7AnuXCaSA== dependencies: "@types/unist" "^2.0.0" unist-util-visit-children@^1.0.0: version "1.1.4" - resolved "https://registry.yarnpkg.com/unist-util-visit-children/-/unist-util-visit-children-1.1.4.tgz#e8a087e58a33a2815f76ea1901c15dec2cb4b432" + resolved "https://registry.npmjs.org/unist-util-visit-children/-/unist-util-visit-children-1.1.4.tgz" integrity sha512-sA/nXwYRCQVRwZU2/tQWUqJ9JSFM1X3x7JIOsIgSzrFHcfVt6NkzDtKzyxg2cZWkCwGF9CO8x4QNZRJRMK8FeQ== 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" + resolved "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz" integrity sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg== dependencies: "@types/unist" "^2.0.0" @@ -6783,7 +6876,7 @@ unist-util-visit-parents@^3.0.0: unist-util-visit-parents@^5.0.0: version "5.1.0" - resolved "https://registry.yarnpkg.com/unist-util-visit-parents/-/unist-util-visit-parents-5.1.0.tgz#44bbc5d25f2411e7dfc5cecff12de43296aa8521" + resolved "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.0.tgz" integrity sha512-y+QVLcY5eR/YVpqDsLf/xh9R3Q2Y4HxkZTp7ViLDU6WtJCEcPmRzW1gpdWDCDIqIlhuPDXOgttqPlykrHYDekg== dependencies: "@types/unist" "^2.0.0" @@ -6791,7 +6884,7 @@ unist-util-visit-parents@^5.0.0: unist-util-visit@^2.0.0, unist-util-visit@^2.0.3: version "2.0.3" - resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-2.0.3.tgz#c3703893146df47203bb8a9795af47d7b971208c" + resolved "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz" integrity sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q== dependencies: "@types/unist" "^2.0.0" @@ -6800,7 +6893,7 @@ unist-util-visit@^2.0.0, unist-util-visit@^2.0.3: unist-util-visit@^4.0.0: version "4.1.0" - resolved "https://registry.yarnpkg.com/unist-util-visit/-/unist-util-visit-4.1.0.tgz#f41e407a9e94da31594e6b1c9811c51ab0b3d8f5" + resolved "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.0.tgz" integrity sha512-n7lyhFKJfVZ9MnKtqbsqkQEk5P1KShj0+//V7mAcoI6bpbUjh3C/OG8HVD+pBihfh6Ovl01m8dkcv9HNqYajmQ== dependencies: "@types/unist" "^2.0.0" @@ -6809,22 +6902,22 @@ unist-util-visit@^4.0.0: universalify@^0.1.0: version "0.1.2" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" + resolved "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz" integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== universalify@^2.0.0: version "2.0.0" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" + resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz" integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== -unpipe@1.0.0, 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" + resolved "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== update-browserslist-db@^1.0.5: version "1.0.7" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.7.tgz#16279639cff1d0f800b14792de43d97df2d11b7d" + resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.7.tgz" integrity sha512-iN/XYesmZ2RmmWAiI4Z5rq0YqSiv0brj9Ce9CfhNE4xIW2h+MFxcgkxIzZ+ShkFPUkjU3gQ+3oypadD3RAMtrg== dependencies: escalade "^3.1.1" @@ -6832,21 +6925,21 @@ update-browserslist-db@^1.0.5: uri-js@^4.2.2: version "4.4.1" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" + resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== dependencies: punycode "^2.1.0" use-callback-ref@^1.3.0: version "1.3.2" - resolved "https://registry.yarnpkg.com/use-callback-ref/-/use-callback-ref-1.3.2.tgz#6134c7f6ff76e2be0b56c809b17a650c942b1693" + resolved "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.2.tgz" integrity sha512-elOQwe6Q8gqZgDA8mrh44qRTQqpIHDcZ3hXTLjBe1i4ph8XpNJnO+aQf3NaG+lriLopI4HMx9VjQLfPQ6vhnoA== dependencies: tslib "^2.0.0" use-sidecar@^1.1.2: version "1.1.2" - resolved "https://registry.yarnpkg.com/use-sidecar/-/use-sidecar-1.1.2.tgz#2f43126ba2d7d7e117aa5855e5d8f0276dfe73c2" + resolved "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.2.tgz" integrity sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw== dependencies: detect-node-es "^1.1.0" @@ -6854,17 +6947,17 @@ use-sidecar@^1.1.2: util-deprecate@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" + resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= utils-merge@1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" + resolved "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz" integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== uvu@^0.5.0: version "0.5.6" - resolved "https://registry.yarnpkg.com/uvu/-/uvu-0.5.6.tgz#2754ca20bcb0bb59b64e9985e84d2e81058502df" + resolved "https://registry.npmjs.org/uvu/-/uvu-0.5.6.tgz" integrity sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA== dependencies: dequal "^2.0.0" @@ -6874,12 +6967,12 @@ uvu@^0.5.0: v8-compile-cache@^2.0.3: version "2.3.0" - resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" + resolved "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz" integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== validate-npm-package-license@^3.0.1: version "3.0.4" - resolved "https://registry.yarnpkg.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a" + resolved "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz" integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== dependencies: spdx-correct "^3.0.0" @@ -6887,17 +6980,17 @@ validate-npm-package-license@^3.0.1: vary@~1.1.2: version "1.1.2" - resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" + resolved "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz" integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== vfile-location@^3.0.0: version "3.2.0" - resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-3.2.0.tgz#d8e41fbcbd406063669ebf6c33d56ae8721d0f3c" + resolved "https://registry.npmjs.org/vfile-location/-/vfile-location-3.2.0.tgz" integrity sha512-aLEIZKv/oxuCDZ8lkJGhuhztf/BW4M+iHdCwglA/eWc+vtuRFJj8EtgceYFX4LRjOhCAAiNHsKGssC6onJ+jbA== vfile-location@^4.0.0: version "4.0.1" - resolved "https://registry.yarnpkg.com/vfile-location/-/vfile-location-4.0.1.tgz#06f2b9244a3565bef91f099359486a08b10d3a95" + resolved "https://registry.npmjs.org/vfile-location/-/vfile-location-4.0.1.tgz" integrity sha512-JDxPlTbZrZCQXogGheBHjbRWjESSPEak770XwWPfw5mTc1v1nWGLB/apzZxsx8a0SJVfF8HK8ql8RD308vXRUw== dependencies: "@types/unist" "^2.0.0" @@ -6905,7 +6998,7 @@ vfile-location@^4.0.0: vfile-message@^2.0.0: version "2.0.4" - resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-2.0.4.tgz#5b43b88171d409eae58477d13f23dd41d52c371a" + resolved "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz" integrity sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ== dependencies: "@types/unist" "^2.0.0" @@ -6913,7 +7006,7 @@ vfile-message@^2.0.0: vfile-message@^3.0.0: version "3.1.0" - resolved "https://registry.yarnpkg.com/vfile-message/-/vfile-message-3.1.0.tgz#5437035aa43185ff4b9210d32fada6c640e59143" + resolved "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.0.tgz" integrity sha512-4QJbBk+DkPEhBXq3f260xSaWtjE4gPKOfulzfMFF8ZNwaPZieWsg3iVlcmF04+eebzpcpeXOOFMfrYzJHVYg+g== dependencies: "@types/unist" "^2.0.0" @@ -6921,7 +7014,7 @@ vfile-message@^3.0.0: vfile@^4.0.0: version "4.2.1" - resolved "https://registry.yarnpkg.com/vfile/-/vfile-4.2.1.tgz#03f1dce28fc625c625bc6514350fbdb00fa9e624" + resolved "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz" integrity sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA== dependencies: "@types/unist" "^2.0.0" @@ -6931,7 +7024,7 @@ vfile@^4.0.0: vfile@^5.0.0: version "5.3.0" - resolved "https://registry.yarnpkg.com/vfile/-/vfile-5.3.0.tgz#4990c78cb3157005590ee8c930b71cd7fa6a006e" + resolved "https://registry.npmjs.org/vfile/-/vfile-5.3.0.tgz" integrity sha512-Tj44nY/48OQvarrE4FAjUfrv7GZOYzPbl5OD65HxVKwLJKMPU7zmfV8cCgCnzKWnSfYG2f3pxu+ALqs7j22xQQ== dependencies: "@types/unist" "^2.0.0" @@ -6941,12 +7034,12 @@ vfile@^5.0.0: w3c-keyname@^2.2.4: version "2.2.4" - resolved "https://registry.yarnpkg.com/w3c-keyname/-/w3c-keyname-2.2.4.tgz#4ade6916f6290224cdbd1db8ac49eab03d0eef6b" + resolved "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.4.tgz" integrity sha512-tOhfEwEzFLJzf6d1ZPkYfGj+FWhIpBux9ppoP3rlclw3Z0BZv3N7b7030Z1kYth+6rDuAsXUFr+d0VE6Ed1ikw== webpack-bundle-analyzer@^4.5.0: version "4.5.0" - resolved "https://registry.yarnpkg.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.5.0.tgz#1b0eea2947e73528754a6f9af3e91b2b6e0f79d5" + resolved "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.5.0.tgz" integrity sha512-GUMZlM3SKwS8Z+CKeIFx7CVoHn3dXFcUAjT/dcZQQmfSZGvitPfMob2ipjai7ovFFqPvTqkEZ/leL4O0YOdAYQ== dependencies: acorn "^8.0.4" @@ -6961,7 +7054,7 @@ webpack-bundle-analyzer@^4.5.0: which-boxed-primitive@^1.0.2: version "1.0.2" - resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" + resolved "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz" integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== dependencies: is-bigint "^1.0.1" @@ -6972,26 +7065,26 @@ which-boxed-primitive@^1.0.2: which@^1.2.9: version "1.3.1" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" + resolved "https://registry.npmjs.org/which/-/which-1.3.1.tgz" integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== dependencies: isexe "^2.0.0" which@^2.0.1: version "2.0.2" - resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" + resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== dependencies: isexe "^2.0.0" word-wrap@^1.2.3: version "1.2.3" - resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c" + resolved "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz" integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ== wrap-ansi@^6.2.0: version "6.2.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz" integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA== dependencies: ansi-styles "^4.0.0" @@ -7000,7 +7093,7 @@ wrap-ansi@^6.2.0: wrap-ansi@^7.0.0: version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + resolved "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== dependencies: ansi-styles "^4.0.0" @@ -7009,45 +7102,45 @@ wrap-ansi@^7.0.0: wrappy@1: version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" + resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8= ws@^7.3.1: version "7.5.6" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.6.tgz#e59fc509fb15ddfb65487ee9765c5a51dec5fe7b" + resolved "https://registry.npmjs.org/ws/-/ws-7.5.6.tgz" integrity sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA== xml@1.0.1: version "1.0.1" - resolved "https://registry.yarnpkg.com/xml/-/xml-1.0.1.tgz#78ba72020029c5bc87b8a81a3cfcd74b4a2fc1e5" + resolved "https://registry.npmjs.org/xml/-/xml-1.0.1.tgz" integrity sha1-eLpyAgApxbyHuKgaPPzXS0ovweU= xtend@^4.0.0, xtend@^4.0.1: version "4.0.2" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" + resolved "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz" integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== yallist@^4.0.0: version "4.0.0" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" + resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== yaml@^1.10.2: version "1.10.2" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" + resolved "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz" integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== yaml@^2.1.1: version "2.3.1" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.3.1.tgz#02fe0975d23cd441242aa7204e09fc28ac2ac33b" + resolved "https://registry.npmjs.org/yaml/-/yaml-2.3.1.tgz" integrity sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ== zod@3.21.4: version "3.21.4" - resolved "https://registry.yarnpkg.com/zod/-/zod-3.21.4.tgz#10882231d992519f0a10b5dd58a38c9dabbb64db" + resolved "https://registry.npmjs.org/zod/-/zod-3.21.4.tgz" integrity sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw== zwitch@^2.0.0: version "2.0.2" - resolved "https://registry.yarnpkg.com/zwitch/-/zwitch-2.0.2.tgz#91f8d0e901ffa3d66599756dde7f57b17c95dce1" + resolved "https://registry.npmjs.org/zwitch/-/zwitch-2.0.2.tgz" integrity sha512-JZxotl7SxAJH0j7dN4pxsTV6ZLXoLdGME+PsjkL/DaBrVryK9kTGq06GfKrwcSOqypP+fdXGoCHE36b99fWVoA== From ec8f70f7171e50be531ac6588037194029a1fa9e Mon Sep 17 00:00:00 2001 From: Ricky Hanlon <rickhanlonii@gmail.com> Date: Mon, 23 Sep 2024 15:59:26 -0400 Subject: [PATCH 359/382] rm insights prop to unbreak main --- src/components/Search.tsx | 1 - 1 file changed, 1 deletion(-) diff --git a/src/components/Search.tsx b/src/components/Search.tsx index bdc4702a..f5c963f6 100644 --- a/src/components/Search.tsx +++ b/src/components/Search.tsx @@ -121,7 +121,6 @@ export function Search({ <DocSearchModal {...options} searchParameters={searchParameters} - insights={true} onClose={onClose} navigator={{ navigate({itemUrl}: any) { From 8e6e81efe3ac12312fd8ab6b9cf4dd8f7981e0d1 Mon Sep 17 00:00:00 2001 From: Ricky <rickhanlonii@fb.com> Date: Mon, 23 Sep 2024 16:23:19 -0400 Subject: [PATCH 360/382] rm package-lock.json (#7184) --- package-lock.json | 14544 -------------------------------------------- yarn.lock | 289 +- 2 files changed, 111 insertions(+), 14722 deletions(-) delete mode 100644 package-lock.json diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index 745ae782..00000000 --- a/package-lock.json +++ /dev/null @@ -1,14544 +0,0 @@ -{ - "name": "react-dev", - "version": "1.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "react-dev", - "version": "1.0.0", - "hasInstallScript": true, - "license": "CC", - "dependencies": { - "@codesandbox/sandpack-react": "2.13.5", - "@docsearch/css": "^3.6.1", - "@docsearch/react": "^3.6.1", - "@headlessui/react": "^1.7.0", - "@radix-ui/react-context-menu": "^2.1.5", - "body-scroll-lock": "^3.1.3", - "classnames": "^2.2.6", - "date-fns": "^2.16.1", - "debounce": "^1.2.1", - "github-slugger": "^1.3.0", - "next": "^13.4.1", - "next-remote-watch": "^1.0.0", - "parse-numeric-range": "^1.2.0", - "react": "^0.0.0-experimental-16d053d59-20230506", - "react-collapsed": "4.0.4", - "react-dom": "^0.0.0-experimental-16d053d59-20230506", - "remark-frontmatter": "^4.0.1", - "remark-gfm": "^3.0.1" - }, - "devDependencies": { - "@babel/core": "^7.12.9", - "@babel/plugin-transform-modules-commonjs": "^7.18.6", - "@babel/preset-react": "^7.18.6", - "@mdx-js/mdx": "^2.1.3", - "@types/body-scroll-lock": "^2.6.1", - "@types/classnames": "^2.2.10", - "@types/debounce": "^1.2.1", - "@types/github-slugger": "^1.3.0", - "@types/mdx-js__react": "^1.5.2", - "@types/node": "^14.6.4", - "@types/parse-numeric-range": "^0.0.1", - "@types/react": "^18.0.9", - "@types/react-dom": "^18.0.5", - "@typescript-eslint/eslint-plugin": "^5.36.2", - "@typescript-eslint/parser": "^5.36.2", - "asyncro": "^3.0.0", - "autoprefixer": "^10.4.2", - "babel-eslint": "10.x", - "eslint": "7.x", - "eslint-config-next": "12.0.3", - "eslint-config-react-app": "^5.2.1", - "eslint-plugin-flowtype": "4.x", - "eslint-plugin-import": "2.x", - "eslint-plugin-jsx-a11y": "6.x", - "eslint-plugin-react": "7.x", - "eslint-plugin-react-hooks": "^0.0.0-experimental-fabef7a6b-20221215", - "fs-extra": "^9.0.1", - "globby": "^11.0.1", - "gray-matter": "^4.0.2", - "husky": "^7.0.4", - "is-ci": "^3.0.1", - "lint-staged": ">=10", - "mdast-util-to-string": "^1.1.0", - "metro-cache": "0.72.2", - "npm-run-all": "^4.1.5", - "patch-package": "^6.2.2", - "postcss": "^8.4.5", - "postcss-flexbugs-fixes": "4.2.1", - "postcss-preset-env": "^6.7.0", - "prettier": "^2.5.1", - "reading-time": "^1.2.0", - "remark": "^12.0.1", - "remark-external-links": "^7.0.0", - "remark-html": "^12.0.0", - "remark-images": "^2.0.0", - "remark-slug": "^7.0.0", - "remark-unwrap-images": "^2.0.0", - "retext": "^7.0.1", - "retext-smartypants": "^4.0.0", - "rss": "^1.2.2", - "tailwindcss": "^3.4.1", - "typescript": "^4.0.2", - "unist-util-visit": "^2.0.3", - "webpack-bundle-analyzer": "^4.5.0" - }, - "engines": { - "node": ">=16.8.0" - } - }, - "node_modules/@algolia/autocomplete-core": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.9.3.tgz", - "integrity": "sha512-009HdfugtGCdC4JdXUbVJClA0q0zh24yyePn+KUGk3rP7j8FEe/m5Yo/z65gn6nP/cM39PxpzqKrL7A6fP6PPw==", - "dependencies": { - "@algolia/autocomplete-plugin-algolia-insights": "1.9.3", - "@algolia/autocomplete-shared": "1.9.3" - } - }, - "node_modules/@algolia/autocomplete-plugin-algolia-insights": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.9.3.tgz", - "integrity": "sha512-a/yTUkcO/Vyy+JffmAnTWbr4/90cLzw+CC3bRbhnULr/EM0fGNvM13oQQ14f2moLMcVDyAx/leczLlAOovhSZg==", - "dependencies": { - "@algolia/autocomplete-shared": "1.9.3" - }, - "peerDependencies": { - "search-insights": ">= 1 < 3" - } - }, - "node_modules/@algolia/autocomplete-preset-algolia": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.9.3.tgz", - "integrity": "sha512-d4qlt6YmrLMYy95n5TB52wtNDr6EgAIPH81dvvvW8UmuWRgxEtY0NJiPwl/h95JtG2vmRM804M0DSwMCNZlzRA==", - "dependencies": { - "@algolia/autocomplete-shared": "1.9.3" - }, - "peerDependencies": { - "@algolia/client-search": ">= 4.9.1 < 6", - "algoliasearch": ">= 4.9.1 < 6" - } - }, - "node_modules/@algolia/autocomplete-shared": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.9.3.tgz", - "integrity": "sha512-Wnm9E4Ye6Rl6sTTqjoymD+l8DjSTHsHboVRYrKgEt8Q7UHm9nYbqhN/i0fhUYA3OAEH7WA8x3jfpnmJm3rKvaQ==", - "peerDependencies": { - "@algolia/client-search": ">= 4.9.1 < 6", - "algoliasearch": ">= 4.9.1 < 6" - } - }, - "node_modules/@algolia/cache-browser-local-storage": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@algolia/cache-browser-local-storage/-/cache-browser-local-storage-4.24.0.tgz", - "integrity": "sha512-t63W9BnoXVrGy9iYHBgObNXqYXM3tYXCjDSHeNwnsc324r4o5UiVKUiAB4THQ5z9U5hTj6qUvwg/Ez43ZD85ww==", - "dependencies": { - "@algolia/cache-common": "4.24.0" - } - }, - "node_modules/@algolia/cache-common": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@algolia/cache-common/-/cache-common-4.24.0.tgz", - "integrity": "sha512-emi+v+DmVLpMGhp0V9q9h5CdkURsNmFC+cOS6uK9ndeJm9J4TiqSvPYVu+THUP8P/S08rxf5x2P+p3CfID0Y4g==" - }, - "node_modules/@algolia/cache-in-memory": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@algolia/cache-in-memory/-/cache-in-memory-4.24.0.tgz", - "integrity": "sha512-gDrt2so19jW26jY3/MkFg5mEypFIPbPoXsQGQWAi6TrCPsNOSEYepBMPlucqWigsmEy/prp5ug2jy/N3PVG/8w==", - "dependencies": { - "@algolia/cache-common": "4.24.0" - } - }, - "node_modules/@algolia/client-account": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@algolia/client-account/-/client-account-4.24.0.tgz", - "integrity": "sha512-adcvyJ3KjPZFDybxlqnf+5KgxJtBjwTPTeyG2aOyoJvx0Y8dUQAEOEVOJ/GBxX0WWNbmaSrhDURMhc+QeevDsA==", - "dependencies": { - "@algolia/client-common": "4.24.0", - "@algolia/client-search": "4.24.0", - "@algolia/transporter": "4.24.0" - } - }, - "node_modules/@algolia/client-analytics": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-4.24.0.tgz", - "integrity": "sha512-y8jOZt1OjwWU4N2qr8G4AxXAzaa8DBvyHTWlHzX/7Me1LX8OayfgHexqrsL4vSBcoMmVw2XnVW9MhL+Y2ZDJXg==", - "dependencies": { - "@algolia/client-common": "4.24.0", - "@algolia/client-search": "4.24.0", - "@algolia/requester-common": "4.24.0", - "@algolia/transporter": "4.24.0" - } - }, - "node_modules/@algolia/client-common": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-4.24.0.tgz", - "integrity": "sha512-bc2ROsNL6w6rqpl5jj/UywlIYC21TwSSoFHKl01lYirGMW+9Eek6r02Tocg4gZ8HAw3iBvu6XQiM3BEbmEMoiA==", - "dependencies": { - "@algolia/requester-common": "4.24.0", - "@algolia/transporter": "4.24.0" - } - }, - "node_modules/@algolia/client-personalization": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-4.24.0.tgz", - "integrity": "sha512-l5FRFm/yngztweU0HdUzz1rC4yoWCFo3IF+dVIVTfEPg906eZg5BOd1k0K6rZx5JzyyoP4LdmOikfkfGsKVE9w==", - "dependencies": { - "@algolia/client-common": "4.24.0", - "@algolia/requester-common": "4.24.0", - "@algolia/transporter": "4.24.0" - } - }, - "node_modules/@algolia/client-search": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-4.24.0.tgz", - "integrity": "sha512-uRW6EpNapmLAD0mW47OXqTP8eiIx5F6qN9/x/7HHO6owL3N1IXqydGwW5nhDFBrV+ldouro2W1VX3XlcUXEFCA==", - "dependencies": { - "@algolia/client-common": "4.24.0", - "@algolia/requester-common": "4.24.0", - "@algolia/transporter": "4.24.0" - } - }, - "node_modules/@algolia/logger-common": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@algolia/logger-common/-/logger-common-4.24.0.tgz", - "integrity": "sha512-LLUNjkahj9KtKYrQhFKCzMx0BY3RnNP4FEtO+sBybCjJ73E8jNdaKJ/Dd8A/VA4imVHP5tADZ8pn5B8Ga/wTMA==" - }, - "node_modules/@algolia/logger-console": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@algolia/logger-console/-/logger-console-4.24.0.tgz", - "integrity": "sha512-X4C8IoHgHfiUROfoRCV+lzSy+LHMgkoEEU1BbKcsfnV0i0S20zyy0NLww9dwVHUWNfPPxdMU+/wKmLGYf96yTg==", - "dependencies": { - "@algolia/logger-common": "4.24.0" - } - }, - "node_modules/@algolia/recommend": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-4.24.0.tgz", - "integrity": "sha512-P9kcgerfVBpfYHDfVZDvvdJv0lEoCvzNlOy2nykyt5bK8TyieYyiD0lguIJdRZZYGre03WIAFf14pgE+V+IBlw==", - "dependencies": { - "@algolia/cache-browser-local-storage": "4.24.0", - "@algolia/cache-common": "4.24.0", - "@algolia/cache-in-memory": "4.24.0", - "@algolia/client-common": "4.24.0", - "@algolia/client-search": "4.24.0", - "@algolia/logger-common": "4.24.0", - "@algolia/logger-console": "4.24.0", - "@algolia/requester-browser-xhr": "4.24.0", - "@algolia/requester-common": "4.24.0", - "@algolia/requester-node-http": "4.24.0", - "@algolia/transporter": "4.24.0" - } - }, - "node_modules/@algolia/requester-browser-xhr": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-4.24.0.tgz", - "integrity": "sha512-Z2NxZMb6+nVXSjF13YpjYTdvV3032YTBSGm2vnYvYPA6mMxzM3v5rsCiSspndn9rzIW4Qp1lPHBvuoKJV6jnAA==", - "dependencies": { - "@algolia/requester-common": "4.24.0" - } - }, - "node_modules/@algolia/requester-common": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@algolia/requester-common/-/requester-common-4.24.0.tgz", - "integrity": "sha512-k3CXJ2OVnvgE3HMwcojpvY6d9kgKMPRxs/kVohrwF5WMr2fnqojnycZkxPoEg+bXm8fi5BBfFmOqgYztRtHsQA==" - }, - "node_modules/@algolia/requester-node-http": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-4.24.0.tgz", - "integrity": "sha512-JF18yTjNOVYvU/L3UosRcvbPMGT9B+/GQWNWnenIImglzNVGpyzChkXLnrSf6uxwVNO6ESGu6oN8MqcGQcjQJw==", - "dependencies": { - "@algolia/requester-common": "4.24.0" - } - }, - "node_modules/@algolia/transporter": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/@algolia/transporter/-/transporter-4.24.0.tgz", - "integrity": "sha512-86nI7w6NzWxd1Zp9q3413dRshDqAzSbsQjhcDhPIatEFiZrL1/TjnHL8S7jVKFePlIMzDsZWXAXwXzcok9c5oA==", - "dependencies": { - "@algolia/cache-common": "4.24.0", - "@algolia/logger-common": "4.24.0", - "@algolia/requester-common": "4.24.0" - } - }, - "node_modules/@alloc/quick-lru": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", - "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@ampproject/remapping": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", - "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@jridgewell/gen-mapping": "^0.1.0", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@ampproject/remapping/node_modules/@jridgewell/gen-mapping": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", - "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/set-array": "^1.0.0", - "@jridgewell/sourcemap-codec": "^1.4.10" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", - "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/highlight": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.19.0.tgz", - "integrity": "sha512-y5rqgTTPTmaF5e2nVhOxw+Ur9HDJLsWb6U/KpgUzRZEdPfE6VOubXBKLdbcUTijzRptednSBDQbYZBOSqJxpJw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.0.tgz", - "integrity": "sha512-reM4+U7B9ss148rh2n1Qs9ASS+w94irYXga7c2jaQv9RVzpS7Mv1a9rnYYwuDa45G+DkORt9g6An2k/V4d9LbQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@ampproject/remapping": "^2.1.0", - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.19.0", - "@babel/helper-compilation-targets": "^7.19.0", - "@babel/helper-module-transforms": "^7.19.0", - "@babel/helpers": "^7.19.0", - "@babel/parser": "^7.19.0", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.0", - "@babel/types": "^7.19.0", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.1", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/core/node_modules/@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/highlight": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core/node_modules/@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core/node_modules/@babel/parser": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.0.tgz", - "integrity": "sha512-74bEXKX2h+8rrfQUfsBfuZZHzsEs6Eql4pqy/T4Nn6Y9wNPggQOqD6z6pn5Bl8ZfysKouFZT/UXEH94ummEeQw==", - "dev": true, - "license": "MIT", - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/core/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/generator": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.19.0.tgz", - "integrity": "sha512-S1ahxf1gZ2dpoiFgA+ohK9DIpz50bJ0CWs7Zlzb54Z4sG8qmdIrGrVqmy1sAtTVRb+9CU6U8VqT9L0Zj7hxHVg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.19.0", - "@jridgewell/gen-mapping": "^0.3.2", - "jsesc": "^2.5.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", - "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.19.0.tgz", - "integrity": "sha512-Ai5bNWXIvwDvWM7njqsG3feMlL9hCVQsPYXodsZyLwshYkZVJt59Gftau4VrE8S9IT9asd2uSP1hG6wCNw+sXA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.19.0", - "@babel/helper-validator-option": "^7.18.6", - "browserslist": "^4.20.2", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/browserslist": { - "version": "4.21.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.3.tgz", - "integrity": "sha512-898rgRXLAyRkM1GryrrBHGkqA5hlpkV5MhtZwg9QXeiyLUYs2k00Un05aX5l2/yJIOObYKOpS2JNo8nJDE7fWQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - ], - "license": "MIT", - "dependencies": { - "caniuse-lite": "^1.0.30001370", - "electron-to-chromium": "^1.4.202", - "node-releases": "^2.0.6", - "update-browserslist-db": "^1.0.5" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/caniuse-lite": { - "version": "1.0.30001390", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001390.tgz", - "integrity": "sha512-sS4CaUM+/+vqQUlCvCJ2WtDlV81aWtHhqeEVkLokVJJa3ViN4zDxAGfq9R8i1m90uGHxo99cy10Od+lvn3hf0g==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - } - ], - "license": "CC-BY-4.0" - }, - "node_modules/@babel/helper-compilation-targets/node_modules/electron-to-chromium": { - "version": "1.4.241", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.241.tgz", - "integrity": "sha512-e7Wsh4ilaioBZ5bMm6+F4V5c11dh56/5Jwz7Hl5Tu1J7cnB+Pqx5qIF2iC7HPpfyQMqGSvvLP5bBAIDd2gAtGw==", - "dev": true, - "license": "ISC" - }, - "node_modules/@babel/helper-compilation-targets/node_modules/node-releases": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.6.tgz", - "integrity": "sha512-PiVXnNuFm5+iYkLBNeq5211hvO38y63T0i2KKh2KnUs3RpzJ+JtODFjkD8yjLwnDkTYF1eKXheUwdssR+NRZdg==", - "dev": true, - "license": "MIT" - }, - "node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/update-browserslist-db": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.7.tgz", - "integrity": "sha512-iN/XYesmZ2RmmWAiI4Z5rq0YqSiv0brj9Ce9CfhNE4xIW2h+MFxcgkxIzZ+ShkFPUkjU3gQ+3oypadD3RAMtrg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - ], - "license": "MIT", - "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - }, - "bin": { - "browserslist-lint": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.18.9", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz", - "integrity": "sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.19.0.tgz", - "integrity": "sha512-WAwHBINyrpqywkUH0nTnNgI5ina5TFn85HKS0pbPDfxFfhyR/aNQEn4hGi1P1JyT//I0t4OgXUlofzWILRvS5w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/template": "^7.18.10", - "@babel/types": "^7.19.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-get-function-arity": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz", - "integrity": "sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-get-function-arity/node_modules/@babel/helper-validator-identifier": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", - "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-get-function-arity/node_modules/@babel/types": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.16.8.tgz", - "integrity": "sha512-smN2DQc5s4M7fntyjGtyIPbRJv6wW4rU/94fmYJ7PKQuZkC0qGMHXJbg6sNGt12JmVr4k5YaptI/XtiLJBnmIg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-validator-identifier": "^7.16.7", - "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", - "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz", - "integrity": "sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.19.0.tgz", - "integrity": "sha512-3HBZ377Fe14RbLIA+ac3sY4PTgpxHVkFrESaWhoI5PuyXPBBX8+C34qblV9G89ZtycGJCmCI/Ut+VUDK4bltNQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-environment-visitor": "^7.18.9", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-simple-access": "^7.18.6", - "@babel/helper-split-export-declaration": "^7.18.6", - "@babel/helper-validator-identifier": "^7.18.6", - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.0", - "@babel/types": "^7.19.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.19.0.tgz", - "integrity": "sha512-40Ryx7I8mT+0gaNxm8JGTZFUITNqdLAgdg0hXzeVZxVD6nFsdhQvip6v8dqkRHzsz1VFpFAaOCHNn0vKBL7Czw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.6.tgz", - "integrity": "sha512-iNpIgTgyAvDQpDj76POqg+YEt8fPxx3yaNBg3S30dxNKm2SWfYhD0TGrK/Eu9wHpUW63VQU894TsTg+GLbUa1g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", - "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz", - "integrity": "sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz", - "integrity": "sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.18.6.tgz", - "integrity": "sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.19.0.tgz", - "integrity": "sha512-DRBCKGwIEdqY3+rPJgG/dKfQy9+08rHIAJx8q2p+HSWP87s2HCrQmaAMMyMll2kIXKCW0cO1RdQskx15Xakftg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/template": "^7.18.10", - "@babel/traverse": "^7.19.0", - "@babel/types": "^7.19.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.16.10", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz", - "integrity": "sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-validator-identifier": "^7.16.7", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight/node_modules/@babel/helper-validator-identifier": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", - "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.16.12", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.16.12.tgz", - "integrity": "sha512-VfaV15po8RiZssrkPweyvbGVSe4x2y+aciFCgn0n0/SJMR22cwofRV1mtnJQYcSB1wUTaA/X1LnA3es66MCO5A==", - "dev": true, - "license": "MIT", - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.18.6.tgz", - "integrity": "sha512-6mmljtAedFGTWu2p/8WIORGwy+61PLgOMPOdazc7YoJ9ZCWUyFy3A6CpPkRKLKD1ToAesxX8KGEViAiLo9N+7Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.6.tgz", - "integrity": "sha512-Qfv2ZOWikpvmedXQJDSbxNqy7Xr/j2Y8/KfijM0iJyKkBTmWuvCA1yeH1yDM7NJhBW/2aXxeucLj6i80/LAJ/Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-module-transforms": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6", - "@babel/helper-simple-access": "^7.18.6", - "babel-plugin-dynamic-import-node": "^2.3.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-display-name": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.18.6.tgz", - "integrity": "sha512-TV4sQ+T013n61uMoygyMRm+xf04Bd5oqFpv2jAEQwSZ8NwQA7zeRPg1LMVg2PWi3zWBz+CLKD+v5bcpZ/BS0aA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.19.0.tgz", - "integrity": "sha512-UVEvX3tXie3Szm3emi1+G63jyw1w5IcMY0FSKM+CRnKRI5Mr1YbCNgsSTwoTwKphQEG9P+QqmuRFneJPZuHNhg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-module-imports": "^7.18.6", - "@babel/helper-plugin-utils": "^7.19.0", - "@babel/plugin-syntax-jsx": "^7.18.6", - "@babel/types": "^7.19.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-development": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.18.6.tgz", - "integrity": "sha512-SA6HEjwYFKF7WDjWcMcMGUimmw/nhNRDWxr+KaLSCrkD/LMDBvWRmHAYgE1HDeF8KUuI8OAu+RT6EOtKxSW2qA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/plugin-transform-react-jsx": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-pure-annotations": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.18.6.tgz", - "integrity": "sha512-I8VfEPg9r2TRDdvnHgPepTKvuRomzA8+u+nhY7qSI1fR2hRNebasZEETLyM5mAUr0Ku56OkXJ0I7NHJnO6cJiQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-react": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.18.6.tgz", - "integrity": "sha512-zXr6atUmyYdiWRVLOZahakYmOBHtWc2WGCkP8PYTgZi0iJXDY2CN180TdrIW4OGOAdLc7TifzDIvtx6izaRIzg==", - "dev": true, - "license": "MIT", - "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" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/runtime": { - "version": "7.24.7", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.7.tgz", - "integrity": "sha512-UwgBRMjJP+xv857DCngvqXI3Iq6J4v0wXmwc6sapg+zyhbwmQX67LUEFrkK5tbyJ30jGuG3ZvWpBiB9LCy1kWw==", - "license": "MIT", - "dependencies": { - "regenerator-runtime": "^0.14.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/runtime-corejs3": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.16.8.tgz", - "integrity": "sha512-3fKhuICS1lMz0plI5ktOE/yEtBRMVxplzRkdn6mJQ197XiY0JnrzYV0+Mxozq3JZ8SBV9Ecurmw1XsGbwOf+Sg==", - "dev": true, - "license": "MIT", - "dependencies": { - "core-js-pure": "^3.20.2", - "regenerator-runtime": "^0.13.4" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/runtime/node_modules/regenerator-runtime": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", - "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", - "license": "MIT" - }, - "node_modules/@babel/template": { - "version": "7.18.10", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.18.10.tgz", - "integrity": "sha512-TI+rCtooWHr3QJ27kJxfjutghu44DLnasDMwpDqCXVTal9RLp3RSYNh4NdBrRP2cQAoG9A8juOQl6P6oZG4JxA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.18.6", - "@babel/parser": "^7.18.10", - "@babel/types": "^7.18.10" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/template/node_modules/@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/highlight": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/template/node_modules/@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/template/node_modules/@babel/parser": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.0.tgz", - "integrity": "sha512-74bEXKX2h+8rrfQUfsBfuZZHzsEs6Eql4pqy/T4Nn6Y9wNPggQOqD6z6pn5Bl8ZfysKouFZT/UXEH94ummEeQw==", - "dev": true, - "license": "MIT", - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.19.0.tgz", - "integrity": "sha512-4pKpFRDh+utd2mbRC8JLnlsMUii3PMHjpL6a0SZ4NMZy7YFP9aXORxEhdMVOc9CpWtDF09IkciQLEhK7Ml7gRA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.18.6", - "@babel/generator": "^7.19.0", - "@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.19.0", - "@babel/types": "^7.19.0", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse/node_modules/@babel/code-frame": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.18.6.tgz", - "integrity": "sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/highlight": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse/node_modules/@babel/highlight": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", - "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-validator-identifier": "^7.18.6", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse/node_modules/@babel/parser": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.19.0.tgz", - "integrity": "sha512-74bEXKX2h+8rrfQUfsBfuZZHzsEs6Eql4pqy/T4Nn6Y9wNPggQOqD6z6pn5Bl8ZfysKouFZT/UXEH94ummEeQw==", - "dev": true, - "license": "MIT", - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/types": { - "version": "7.19.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.19.0.tgz", - "integrity": "sha512-YuGopBq3ke25BVSiS6fgF49Ul9gH1x70Bcr6bqRLjWCkcX8Hre1/5+z+IiWOIerRMSSEfGZVB9z9kyq7wVs9YA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-string-parser": "^7.18.10", - "@babel/helper-validator-identifier": "^7.18.6", - "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@codemirror/autocomplete": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/@codemirror/autocomplete/-/autocomplete-6.4.2.tgz", - "integrity": "sha512-8WE2xp+D0MpWEv5lZ6zPW1/tf4AGb358T5GWYiKEuCP8MvFfT3tH2mIF9Y2yr2e3KbHuSvsVhosiEyqCpiJhZQ==", - "license": "MIT", - "dependencies": { - "@codemirror/language": "^6.0.0", - "@codemirror/state": "^6.0.0", - "@codemirror/view": "^6.6.0", - "@lezer/common": "^1.0.0" - }, - "peerDependencies": { - "@codemirror/language": "^6.0.0", - "@codemirror/state": "^6.0.0", - "@codemirror/view": "^6.0.0", - "@lezer/common": "^1.0.0" - } - }, - "node_modules/@codemirror/commands": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/@codemirror/commands/-/commands-6.2.2.tgz", - "integrity": "sha512-s9lPVW7TxXrI/7voZ+HmD/yiAlwAYn9PH5SUVSUhsxXHhv4yl5eZ3KLntSoTynfdgVYM0oIpccQEWRBQgmNZyw==", - "license": "MIT", - "dependencies": { - "@codemirror/language": "^6.0.0", - "@codemirror/state": "^6.2.0", - "@codemirror/view": "^6.0.0", - "@lezer/common": "^1.0.0" - } - }, - "node_modules/@codemirror/lang-css": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/@codemirror/lang-css/-/lang-css-6.1.1.tgz", - "integrity": "sha512-P6jdNEHyRcqqDgbvHYyC9Wxkek0rnG3a9aVSRi4a7WrjPbQtBTaOmvYpXmm13zZMAatO4Oqpac+0QZs7sy+LnQ==", - "license": "MIT", - "dependencies": { - "@codemirror/autocomplete": "^6.0.0", - "@codemirror/language": "^6.0.0", - "@codemirror/state": "^6.0.0", - "@lezer/css": "^1.0.0" - } - }, - "node_modules/@codemirror/lang-html": { - "version": "6.4.3", - "resolved": "https://registry.npmjs.org/@codemirror/lang-html/-/lang-html-6.4.3.tgz", - "integrity": "sha512-VKzQXEC8nL69Jg2hvAFPBwOdZNvL8tMFOrdFwWpU+wc6a6KEkndJ/19R5xSaglNX6v2bttm8uIEFYxdQDcIZVQ==", - "license": "MIT", - "dependencies": { - "@codemirror/autocomplete": "^6.0.0", - "@codemirror/lang-css": "^6.0.0", - "@codemirror/lang-javascript": "^6.0.0", - "@codemirror/language": "^6.4.0", - "@codemirror/state": "^6.0.0", - "@codemirror/view": "^6.2.2", - "@lezer/common": "^1.0.0", - "@lezer/css": "^1.1.0", - "@lezer/html": "^1.3.0" - } - }, - "node_modules/@codemirror/lang-javascript": { - "version": "6.1.5", - "resolved": "https://registry.npmjs.org/@codemirror/lang-javascript/-/lang-javascript-6.1.5.tgz", - "integrity": "sha512-BS2SmI1IXxWqMPhbJ0DC3eAHAK9V9XvdHMSqwvTBnmh5xFALt+cVDg7XE/A1dxdxzXYXyeqGddgqx1rQv7AYaw==", - "license": "MIT", - "dependencies": { - "@codemirror/autocomplete": "^6.0.0", - "@codemirror/language": "^6.6.0", - "@codemirror/lint": "^6.0.0", - "@codemirror/state": "^6.0.0", - "@codemirror/view": "^6.0.0", - "@lezer/common": "^1.0.0", - "@lezer/javascript": "^1.0.0" - } - }, - "node_modules/@codemirror/language": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/@codemirror/language/-/language-6.6.0.tgz", - "integrity": "sha512-cwUd6lzt3MfNYOobdjf14ZkLbJcnv4WtndYaoBkbor/vF+rCNguMPK0IRtvZJG4dsWiaWPcK8x1VijhvSxnstg==", - "license": "MIT", - "dependencies": { - "@codemirror/state": "^6.0.0", - "@codemirror/view": "^6.0.0", - "@lezer/common": "^1.0.0", - "@lezer/highlight": "^1.0.0", - "@lezer/lr": "^1.0.0", - "style-mod": "^4.0.0" - } - }, - "node_modules/@codemirror/lint": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/@codemirror/lint/-/lint-6.2.0.tgz", - "integrity": "sha512-KVCECmR2fFeYBr1ZXDVue7x3q5PMI0PzcIbA+zKufnkniMBo1325t0h1jM85AKp8l3tj67LRxVpZfgDxEXlQkg==", - "license": "MIT", - "dependencies": { - "@codemirror/state": "^6.0.0", - "@codemirror/view": "^6.0.0", - "crelt": "^1.0.5" - } - }, - "node_modules/@codemirror/state": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/@codemirror/state/-/state-6.2.0.tgz", - "integrity": "sha512-69QXtcrsc3RYtOtd+GsvczJ319udtBf1PTrr2KbLWM/e2CXUPnh0Nz9AUo8WfhSQ7GeL8dPVNUmhQVgpmuaNGA==", - "license": "MIT" - }, - "node_modules/@codemirror/view": { - "version": "6.9.4", - "resolved": "https://registry.npmjs.org/@codemirror/view/-/view-6.9.4.tgz", - "integrity": "sha512-Ov2H9gwlGUxiH94zWxlLtTlyogSFaQDIYjtSEcfzgh7MkKmKVchkmr4JbtR5zBev3jY5DVtKvUC8yjd1bKW55A==", - "license": "MIT", - "dependencies": { - "@codemirror/state": "^6.1.4", - "style-mod": "^4.0.0", - "w3c-keyname": "^2.2.4" - } - }, - "node_modules/@codesandbox/nodebox": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/@codesandbox/nodebox/-/nodebox-0.1.8.tgz", - "integrity": "sha512-2VRS6JDSk+M+pg56GA6CryyUSGPjBEe8Pnae0QL3jJF1mJZJVMDKr93gJRtBbLkfZN6LD/DwMtf+2L0bpWrjqg==", - "license": "SEE LICENSE IN ./LICENSE", - "dependencies": { - "outvariant": "^1.4.0", - "strict-event-emitter": "^0.4.3" - } - }, - "node_modules/@codesandbox/nodebox/node_modules/outvariant": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/outvariant/-/outvariant-1.4.2.tgz", - "integrity": "sha512-Ou3dJ6bA/UJ5GVHxah4LnqDwZRwAmWxrG3wtrHrbGnP4RnLCtA64A4F+ae7Y8ww660JaddSoArUR5HjipWSHAQ==", - "license": "MIT" - }, - "node_modules/@codesandbox/sandpack-client": { - "version": "2.13.2", - "resolved": "https://registry.npmjs.org/@codesandbox/sandpack-client/-/sandpack-client-2.13.2.tgz", - "integrity": "sha512-uAuxQOF7p8y4m7H0ojedDcWRf62xVK7UIYIJoX5LkhcV0SW1BTXcRkVNuR0/MSCSv+Og1dBeV8+Xpye9PX0quA==", - "license": "Apache-2.0", - "dependencies": { - "@codesandbox/nodebox": "0.1.8", - "buffer": "^6.0.3", - "dequal": "^2.0.2", - "outvariant": "1.4.0", - "static-browser-server": "1.0.3" - } - }, - "node_modules/@codesandbox/sandpack-react": { - "version": "2.13.5", - "resolved": "https://registry.npmjs.org/@codesandbox/sandpack-react/-/sandpack-react-2.13.5.tgz", - "integrity": "sha512-MWzh2P/Asck0JSCKY3y7WecdUBBEqB0NFi4p+ohoZMTYqHWTaYfd7nbPlNmGIE1xcGppSZEqPVDjOpAfeQ0zFw==", - "license": "Apache-2.0", - "dependencies": { - "@codemirror/autocomplete": "^6.4.0", - "@codemirror/commands": "^6.1.3", - "@codemirror/lang-css": "^6.0.1", - "@codemirror/lang-html": "^6.4.0", - "@codemirror/lang-javascript": "^6.1.2", - "@codemirror/language": "^6.3.2", - "@codemirror/state": "^6.2.0", - "@codemirror/view": "^6.7.1", - "@codesandbox/sandpack-client": "^2.13.2", - "@lezer/highlight": "^1.1.3", - "@react-hook/intersection-observer": "^3.1.1", - "@stitches/core": "^1.2.6", - "anser": "^2.1.1", - "clean-set": "^1.1.2", - "dequal": "^2.0.2", - "escape-carriage": "^1.3.1", - "lz-string": "^1.4.4", - "react-devtools-inline": "4.4.0", - "react-is": "^17.0.2" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17 || ^18", - "react-dom": "^16.8.0 || ^17 || ^18" - } - }, - "node_modules/@csstools/convert-colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@csstools/convert-colors/-/convert-colors-1.4.0.tgz", - "integrity": "sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw==", - "dev": true, - "license": "CC0-1.0", - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/@docsearch/css": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.6.1.tgz", - "integrity": "sha512-VtVb5DS+0hRIprU2CO6ZQjK2Zg4QU5HrDM1+ix6rT0umsYvFvatMAnf97NHZlVWDaaLlx7GRfR/7FikANiM2Fg==" - }, - "node_modules/@docsearch/react": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-3.6.1.tgz", - "integrity": "sha512-qXZkEPvybVhSXj0K7U3bXc233tk5e8PfhoZ6MhPOiik/qUQxYC+Dn9DnoS7CxHQQhHfCvTiN0eY9M12oRghEXw==", - "dependencies": { - "@algolia/autocomplete-core": "1.9.3", - "@algolia/autocomplete-preset-algolia": "1.9.3", - "@docsearch/css": "3.6.1", - "algoliasearch": "^4.19.1" - }, - "peerDependencies": { - "@types/react": ">= 16.8.0 < 19.0.0", - "react": ">= 16.8.0 < 19.0.0", - "react-dom": ">= 16.8.0 < 19.0.0", - "search-insights": ">= 1 < 3" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "react": { - "optional": true - }, - "react-dom": { - "optional": true - }, - "search-insights": { - "optional": true - } - } - }, - "node_modules/@eslint/eslintrc": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.4.3.tgz", - "integrity": "sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==", - "dev": true, - "license": "MIT", - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.1.1", - "espree": "^7.3.0", - "globals": "^13.9.0", - "ignore": "^4.0.6", - "import-fresh": "^3.2.1", - "js-yaml": "^3.13.1", - "minimatch": "^3.0.4", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.12.0.tgz", - "integrity": "sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg==", - "dev": true, - "license": "MIT", - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@floating-ui/core": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.2.tgz", - "integrity": "sha512-+2XpQV9LLZeanU4ZevzRnGFg2neDeKHgFLjP6YLW+tly0IvrhqT4u8enLGjLH3qeh85g19xY5rsAusfwTdn5lg==", - "license": "MIT", - "dependencies": { - "@floating-ui/utils": "^0.2.0" - } - }, - "node_modules/@floating-ui/dom": { - "version": "1.6.5", - "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.5.tgz", - "integrity": "sha512-Nsdud2X65Dz+1RHjAIP0t8z5e2ff/IRbei6BqFrl1urT8sDVzM1HMQ+R0XcU5ceRfyO3I6ayeqIfh+6Wb8LGTw==", - "license": "MIT", - "dependencies": { - "@floating-ui/core": "^1.0.0", - "@floating-ui/utils": "^0.2.0" - } - }, - "node_modules/@floating-ui/react-dom": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.1.0.tgz", - "integrity": "sha512-lNzj5EQmEKn5FFKc04+zasr09h/uX8RtJRNj5gUXsSQIXHVWTVh+hVAg1vOMCexkX8EgvemMvIFpQfkosnVNyA==", - "license": "MIT", - "dependencies": { - "@floating-ui/dom": "^1.0.0" - }, - "peerDependencies": { - "react": ">=16.8.0", - "react-dom": ">=16.8.0" - } - }, - "node_modules/@floating-ui/utils": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.2.tgz", - "integrity": "sha512-J4yDIIthosAsRZ5CPYP/jQvUAQtlZTTD/4suA08/FEnlxqW3sKS9iAhgsa9VYLZ6vDHn/ixJgIqRQPotoBjxIw==", - "license": "MIT" - }, - "node_modules/@headlessui/react": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/@headlessui/react/-/react-1.7.0.tgz", - "integrity": "sha512-/nDsijOXRwXVLpUBEiYuWguIBSIN3ZbKyah+KPUiD8bdIKtX1U/k+qLYUEr7NCQnSF2e4w1dr8me42ECuG3cvw==", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "react": "^16 || ^17 || ^18", - "react-dom": "^16 || ^17 || ^18" - } - }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.5.0.tgz", - "integrity": "sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@humanwhocodes/object-schema": "^1.2.0", - "debug": "^4.1.1", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz", - "integrity": "sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.15", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.15.tgz", - "integrity": "sha512-oWZNOULl+UbhsgB51uuZzglikfIKSUBO/M9W2OfEjn7cmqoAiCgmv9lyACTUacZwBz0ITnJ2NqjU8Tx0DHL88g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, - "node_modules/@lezer/common": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@lezer/common/-/common-1.0.2.tgz", - "integrity": "sha512-SVgiGtMnMnW3ActR8SXgsDhw7a0w0ChHSYAyAUxxrOiJ1OqYWEKk/xJd84tTSPo1mo6DXLObAJALNnd0Hrv7Ng==", - "license": "MIT" - }, - "node_modules/@lezer/css": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@lezer/css/-/css-1.1.1.tgz", - "integrity": "sha512-mSjx+unLLapEqdOYDejnGBokB5+AiJKZVclmud0MKQOKx3DLJ5b5VTCstgDDknR6iIV4gVrN6euzsCnj0A2gQA==", - "license": "MIT", - "dependencies": { - "@lezer/highlight": "^1.0.0", - "@lezer/lr": "^1.0.0" - } - }, - "node_modules/@lezer/highlight": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/@lezer/highlight/-/highlight-1.1.4.tgz", - "integrity": "sha512-IECkFmw2l7sFcYXrV8iT9GeY4W0fU4CxX0WMwhmhMIVjoDdD1Hr6q3G2NqVtLg/yVe5n7i4menG3tJ2r4eCrPQ==", - "license": "MIT", - "dependencies": { - "@lezer/common": "^1.0.0" - } - }, - "node_modules/@lezer/html": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/@lezer/html/-/html-1.3.4.tgz", - "integrity": "sha512-HdJYMVZcT4YsMo7lW3ipL4NoyS2T67kMPuSVS5TgLGqmaCjEU/D6xv7zsa1ktvTK5lwk7zzF1e3eU6gBZIPm5g==", - "license": "MIT", - "dependencies": { - "@lezer/common": "^1.0.0", - "@lezer/highlight": "^1.0.0", - "@lezer/lr": "^1.0.0" - } - }, - "node_modules/@lezer/javascript": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/@lezer/javascript/-/javascript-1.4.2.tgz", - "integrity": "sha512-77qdAD4zanmImPiAu4ibrMUzRc79UHoccdPa+Ey5iwS891TAkhnMAodUe17T7zV7tnF7e9HXM0pfmjoGEhrppg==", - "license": "MIT", - "dependencies": { - "@lezer/highlight": "^1.1.3", - "@lezer/lr": "^1.3.0" - } - }, - "node_modules/@lezer/lr": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/@lezer/lr/-/lr-1.3.3.tgz", - "integrity": "sha512-JPQe3mwJlzEVqy67iQiiGozhcngbO8QBgpqZM6oL1Wj/dXckrEexpBLeFkq0edtW5IqnPRFxA24BHJni8Js69w==", - "license": "MIT", - "dependencies": { - "@lezer/common": "^1.0.0" - } - }, - "node_modules/@mdx-js/mdx": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-2.1.3.tgz", - "integrity": "sha512-ahbb47HJIJ4xnifaL06tDJiSyLEy1EhFAStO7RZIm3GTa7yGW3NGhZaj+GUCveFgl5oI54pY4BgiLmYm97y+zg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "@types/mdx": "^2.0.0", - "estree-util-build-jsx": "^2.0.0", - "estree-util-is-identifier-name": "^2.0.0", - "estree-util-to-js": "^1.1.0", - "estree-walker": "^3.0.0", - "hast-util-to-estree": "^2.0.0", - "markdown-extensions": "^1.0.0", - "periscopic": "^3.0.0", - "remark-mdx": "^2.0.0", - "remark-parse": "^10.0.0", - "remark-rehype": "^10.0.0", - "unified": "^10.0.0", - "unist-util-position-from-estree": "^1.0.0", - "unist-util-stringify-position": "^3.0.0", - "unist-util-visit": "^4.0.0", - "vfile": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/@mdx-js/mdx/node_modules/unist-util-is": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.1.1.tgz", - "integrity": "sha512-F5CZ68eYzuSvJjGhCLPL3cYx45IxkqXSetCcRgUXtbcm50X2L9oOWQlfUfDdAf+6Pd27YDblBfdtmsThXmwpbQ==", - "dev": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/@mdx-js/mdx/node_modules/unist-util-visit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.0.tgz", - "integrity": "sha512-n7lyhFKJfVZ9MnKtqbsqkQEk5P1KShj0+//V7mAcoI6bpbUjh3C/OG8HVD+pBihfh6Ovl01m8dkcv9HNqYajmQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^5.0.0", - "unist-util-visit-parents": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/@mdx-js/mdx/node_modules/unist-util-visit-parents": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.0.tgz", - "integrity": "sha512-y+QVLcY5eR/YVpqDsLf/xh9R3Q2Y4HxkZTp7ViLDU6WtJCEcPmRzW1gpdWDCDIqIlhuPDXOgttqPlykrHYDekg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/@next/env": { - "version": "13.4.1", - "resolved": "https://registry.npmjs.org/@next/env/-/env-13.4.1.tgz", - "integrity": "sha512-eD6WCBMFjLFooLM19SIhSkWBHtaFrZFfg2Cxnyl3vS3DAdFRfnx5TY2RxlkuKXdIRCC0ySbtK9JXXt8qLCqzZg==", - "license": "MIT" - }, - "node_modules/@next/eslint-plugin-next": { - "version": "12.0.3", - "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-12.0.3.tgz", - "integrity": "sha512-P7i+bMypneQcoRN+CX79xssvvIJCaw7Fndzbe7/lB0+LyRbVvGVyMUsFmLLbSxtZq4hvFMJ1p8wML/gsulMZWQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "glob": "7.1.7" - } - }, - "node_modules/@next/eslint-plugin-next/node_modules/glob": { - "version": "7.1.7", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz", - "integrity": "sha512-OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@next/swc-darwin-arm64": { - "version": "13.4.1", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.4.1.tgz", - "integrity": "sha512-eF8ARHtYfnoYtDa6xFHriUKA/Mfj/cCbmKb3NofeKhMccs65G6/loZ15a6wYCCx4rPAd6x4t1WmVYtri7EdeBg==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@open-draft/deferred-promise": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@open-draft/deferred-promise/-/deferred-promise-2.1.0.tgz", - "integrity": "sha512-Rzd5JrXZX8zErHzgcGyngh4fmEbSHqTETdGj9rXtejlqMIgXFlyKBA7Jn1Xp0Ls0M0Y22+xHcWiEzbmdWl0BOA==", - "license": "MIT" - }, - "node_modules/@polka/url": { - "version": "1.0.0-next.21", - "resolved": "https://registry.npmjs.org/@polka/url/-/url-1.0.0-next.21.tgz", - "integrity": "sha512-a5Sab1C4/icpTZVzZc5Ghpz88yQtGOyNqYXcZgOssB2uuAr+wF/MvN6bgtW32q7HHrvBki+BsZ0OuNv6EV3K9g==", - "dev": true, - "license": "MIT" - }, - "node_modules/@radix-ui/primitive": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/primitive/-/primitive-1.0.1.tgz", - "integrity": "sha512-yQ8oGX2GVsEYMWGxcovu1uGWPCxV5BFfeeYxqPmuAzUyLT9qmaMXSAhXpb0WrspIeqYzdJpkh2vHModJPgRIaw==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.13.10" - } - }, - "node_modules/@radix-ui/react-arrow": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-arrow/-/react-arrow-1.0.3.tgz", - "integrity": "sha512-wSP+pHsB/jQRaL6voubsQ/ZlrGBHHrOjmBnr19hxYgtS0WvAFwZhK2WP/YY5yF9uKECCEEDGxuLxq1NBK51wFA==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-primitive": "1.0.3" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-collection": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-collection/-/react-collection-1.0.3.tgz", - "integrity": "sha512-3SzW+0PW7yBBoQlT8wNcGtaxaD0XSu0uLUFgrtHY08Acx05TaHaOmVLR73c0j/cqpDy53KBMO7s0dx2wmOIDIA==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-compose-refs": "1.0.1", - "@radix-ui/react-context": "1.0.1", - "@radix-ui/react-primitive": "1.0.3", - "@radix-ui/react-slot": "1.0.2" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-compose-refs": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.0.1.tgz", - "integrity": "sha512-fDSBgd44FKHa1FRMU59qBMPFcl2PZE+2nmqunj+BWFyYYjnhIDWL2ItDs3rrbJDQOtzt5nIebLCQc4QRfz6LJw==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.13.10" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-context": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-context/-/react-context-1.0.1.tgz", - "integrity": "sha512-ebbrdFoYTcuZ0v4wG5tedGnp9tzcV8awzsxYph7gXUyvnNLuTIcCk1q17JEbnVhXAKG9oX3KtchwiMIAYp9NLg==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.13.10" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-context-menu": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@radix-ui/react-context-menu/-/react-context-menu-2.1.5.tgz", - "integrity": "sha512-R5XaDj06Xul1KGb+WP8qiOh7tKJNz2durpLBXAGZjSVtctcRFCuEvy2gtMwRJGePwQQE5nV77gs4FwRi8T+r2g==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/primitive": "1.0.1", - "@radix-ui/react-context": "1.0.1", - "@radix-ui/react-menu": "2.0.6", - "@radix-ui/react-primitive": "1.0.3", - "@radix-ui/react-use-callback-ref": "1.0.1", - "@radix-ui/react-use-controllable-state": "1.0.1" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-direction": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-direction/-/react-direction-1.0.1.tgz", - "integrity": "sha512-RXcvnXgyvYvBEOhCBuddKecVkoMiI10Jcm5cTI7abJRAHYfFxeu+FBQs/DvdxSYucxR5mna0dNsL6QFlds5TMA==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.13.10" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-dismissable-layer": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@radix-ui/react-dismissable-layer/-/react-dismissable-layer-1.0.5.tgz", - "integrity": "sha512-aJeDjQhywg9LBu2t/At58hCvr7pEm0o2Ke1x33B+MhjNmmZ17sy4KImo0KPLgsnc/zN7GPdce8Cnn0SWvwZO7g==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/primitive": "1.0.1", - "@radix-ui/react-compose-refs": "1.0.1", - "@radix-ui/react-primitive": "1.0.3", - "@radix-ui/react-use-callback-ref": "1.0.1", - "@radix-ui/react-use-escape-keydown": "1.0.3" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-focus-guards": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-guards/-/react-focus-guards-1.0.1.tgz", - "integrity": "sha512-Rect2dWbQ8waGzhMavsIbmSVCgYxkXLxxR3ZvCX79JOglzdEy4JXMb98lq4hPxUbLr77nP0UOGf4rcMU+s1pUA==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.13.10" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-focus-scope": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@radix-ui/react-focus-scope/-/react-focus-scope-1.0.4.tgz", - "integrity": "sha512-sL04Mgvf+FmyvZeYfNu1EPAaaxD+aw7cYeIB9L9Fvq8+urhltTRaEo5ysKOpHuKPclsZcSUMKlN05x4u+CINpA==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-compose-refs": "1.0.1", - "@radix-ui/react-primitive": "1.0.3", - "@radix-ui/react-use-callback-ref": "1.0.1" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-id": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-id/-/react-id-1.0.1.tgz", - "integrity": "sha512-tI7sT/kqYp8p96yGWY1OAnLHrqDgzHefRBKQ2YAkBS5ja7QLcZ9Z/uY7bEjPUatf8RomoXM8/1sMj1IJaE5UzQ==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-use-layout-effect": "1.0.1" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-menu": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@radix-ui/react-menu/-/react-menu-2.0.6.tgz", - "integrity": "sha512-BVkFLS+bUC8HcImkRKPSiVumA1VPOOEC5WBMiT+QAVsPzW1FJzI9KnqgGxVDPBcql5xXrHkD3JOVoXWEXD8SYA==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/primitive": "1.0.1", - "@radix-ui/react-collection": "1.0.3", - "@radix-ui/react-compose-refs": "1.0.1", - "@radix-ui/react-context": "1.0.1", - "@radix-ui/react-direction": "1.0.1", - "@radix-ui/react-dismissable-layer": "1.0.5", - "@radix-ui/react-focus-guards": "1.0.1", - "@radix-ui/react-focus-scope": "1.0.4", - "@radix-ui/react-id": "1.0.1", - "@radix-ui/react-popper": "1.1.3", - "@radix-ui/react-portal": "1.0.4", - "@radix-ui/react-presence": "1.0.1", - "@radix-ui/react-primitive": "1.0.3", - "@radix-ui/react-roving-focus": "1.0.4", - "@radix-ui/react-slot": "1.0.2", - "@radix-ui/react-use-callback-ref": "1.0.1", - "aria-hidden": "^1.1.1", - "react-remove-scroll": "2.5.5" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-popper": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-popper/-/react-popper-1.1.3.tgz", - "integrity": "sha512-cKpopj/5RHZWjrbF2846jBNacjQVwkP068DfmgrNJXpvVWrOvlAmE9xSiy5OqeE+Gi8D9fP+oDhUnPqNMY8/5w==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.13.10", - "@floating-ui/react-dom": "^2.0.0", - "@radix-ui/react-arrow": "1.0.3", - "@radix-ui/react-compose-refs": "1.0.1", - "@radix-ui/react-context": "1.0.1", - "@radix-ui/react-primitive": "1.0.3", - "@radix-ui/react-use-callback-ref": "1.0.1", - "@radix-ui/react-use-layout-effect": "1.0.1", - "@radix-ui/react-use-rect": "1.0.1", - "@radix-ui/react-use-size": "1.0.1", - "@radix-ui/rect": "1.0.1" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-portal": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@radix-ui/react-portal/-/react-portal-1.0.4.tgz", - "integrity": "sha512-Qki+C/EuGUVCQTOTD5vzJzJuMUlewbzuKyUy+/iHM2uwGiru9gZeBJtHAPKAEkB5KWGi9mP/CHKcY0wt1aW45Q==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-primitive": "1.0.3" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-presence": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-presence/-/react-presence-1.0.1.tgz", - "integrity": "sha512-UXLW4UAbIY5ZjcvzjfRFo5gxva8QirC9hF7wRE4U5gz+TP0DbRk+//qyuAQ1McDxBt1xNMBTaciFGvEmJvAZCg==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-compose-refs": "1.0.1", - "@radix-ui/react-use-layout-effect": "1.0.1" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-primitive": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-primitive/-/react-primitive-1.0.3.tgz", - "integrity": "sha512-yi58uVyoAcK/Nq1inRY56ZSjKypBNKTa/1mcL8qdl6oJeEaDbOldlzrGn7P6Q3Id5d+SYNGc5AJgc4vGhjs5+g==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-slot": "1.0.2" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-roving-focus": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@radix-ui/react-roving-focus/-/react-roving-focus-1.0.4.tgz", - "integrity": "sha512-2mUg5Mgcu001VkGy+FfzZyzbmuUWzgWkj3rvv4yu+mLw03+mTzbxZHvfcGyFp2b8EkQeMkpRQ5FiA2Vr2O6TeQ==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/primitive": "1.0.1", - "@radix-ui/react-collection": "1.0.3", - "@radix-ui/react-compose-refs": "1.0.1", - "@radix-ui/react-context": "1.0.1", - "@radix-ui/react-direction": "1.0.1", - "@radix-ui/react-id": "1.0.1", - "@radix-ui/react-primitive": "1.0.3", - "@radix-ui/react-use-callback-ref": "1.0.1", - "@radix-ui/react-use-controllable-state": "1.0.1" - }, - "peerDependencies": { - "@types/react": "*", - "@types/react-dom": "*", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-slot": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.0.2.tgz", - "integrity": "sha512-YeTpuq4deV+6DusvVUW4ivBgnkHwECUu0BiN43L5UCDFgdhsRUWAghhTF5MbvNTPzmiFOx90asDSUjWuCNapwg==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-compose-refs": "1.0.1" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-use-callback-ref": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-callback-ref/-/react-use-callback-ref-1.0.1.tgz", - "integrity": "sha512-D94LjX4Sp0xJFVaoQOd3OO9k7tpBYNOXdVhkltUbGv2Qb9OXdrg/CpsjlZv7ia14Sylv398LswWBVVu5nqKzAQ==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.13.10" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-use-controllable-state": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-controllable-state/-/react-use-controllable-state-1.0.1.tgz", - "integrity": "sha512-Svl5GY5FQeN758fWKrjM6Qb7asvXeiZltlT4U2gVfl8Gx5UAv2sMR0LWo8yhsIZh2oQ0eFdZ59aoOOMV7b47VA==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-use-callback-ref": "1.0.1" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-use-escape-keydown": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-escape-keydown/-/react-use-escape-keydown-1.0.3.tgz", - "integrity": "sha512-vyL82j40hcFicA+M4Ex7hVkB9vHgSse1ZWomAqV2Je3RleKGO5iM8KMOEtfoSB0PnIelMd2lATjTGMYqN5ylTg==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-use-callback-ref": "1.0.1" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-use-layout-effect": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-layout-effect/-/react-use-layout-effect-1.0.1.tgz", - "integrity": "sha512-v/5RegiJWYdoCvMnITBkNNx6bCj20fiaJnWtRkU18yITptraXjffz5Qbn05uOiQnOvi+dbkznkoaMltz1GnszQ==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.13.10" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-use-rect": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-rect/-/react-use-rect-1.0.1.tgz", - "integrity": "sha512-Cq5DLuSiuYVKNU8orzJMbl15TXilTnJKUCltMVQg53BQOF1/C5toAaGrowkgksdBQ9H+SRL23g0HDmg9tvmxXw==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/rect": "1.0.1" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-use-size": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/react-use-size/-/react-use-size-1.0.1.tgz", - "integrity": "sha512-ibay+VqrgcaI6veAojjofPATwledXiSmX+C0KrBk/xgpX9rBzPV3OsfwlhQdUOFbh+LKQorLYT+xTXW9V8yd0g==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.13.10", - "@radix-ui/react-use-layout-effect": "1.0.1" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/rect": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@radix-ui/rect/-/rect-1.0.1.tgz", - "integrity": "sha512-fyrgCaedtvMg9NK3en0pnOYJdtfwxUcNolezkNPUsoX57X8oQk+NkqcvzHXD2uKNij6GXmWU9NDru2IWjrO4BQ==", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.13.10" - } - }, - "node_modules/@react-hook/intersection-observer": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@react-hook/intersection-observer/-/intersection-observer-3.1.1.tgz", - "integrity": "sha512-OTDx8/wFaRvzFtKl1dEUEXSOqK2zVJHporiTTdC2xO++0e9FEx9wIrPis5q3lqtXeZH9zYGLbk+aB75qNFbbuw==", - "license": "MIT", - "dependencies": { - "@react-hook/passive-layout-effect": "^1.2.0", - "intersection-observer": "^0.10.0" - }, - "peerDependencies": { - "react": ">=16.8" - } - }, - "node_modules/@react-hook/passive-layout-effect": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@react-hook/passive-layout-effect/-/passive-layout-effect-1.2.1.tgz", - "integrity": "sha512-IwEphTD75liO8g+6taS+4oqz+nnroocNfWVHWz7j+N+ZO2vYrc6PV1q7GQhuahL0IOR7JccFTsFKQ/mb6iZWAg==", - "license": "MIT", - "peerDependencies": { - "react": ">=16.8" - } - }, - "node_modules/@rushstack/eslint-patch": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.1.0.tgz", - "integrity": "sha512-JLo+Y592QzIE+q7Dl2pMUtt4q8SKYI5jDrZxrozEQxnGVOyYE+GWK9eLkwTaeN9DDctlaRAQ3TBmzZ1qdLE30A==", - "dev": true, - "license": "MIT" - }, - "node_modules/@stitches/core": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@stitches/core/-/core-1.2.8.tgz", - "integrity": "sha512-Gfkvwk9o9kE9r9XNBmJRfV8zONvXThnm1tcuojL04Uy5uRyqg93DC83lDebl0rocZCfKSjUv+fWYtMQmEDJldg==", - "license": "MIT" - }, - "node_modules/@swc/helpers": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.1.tgz", - "integrity": "sha512-sJ902EfIzn1Fa+qYmjdQqh8tPsoxyBz+8yBKC2HKUxyezKJFwPGOn7pv4WY6QuQW//ySQi5lJjA/ZT9sNWWNTg==", - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@swc/helpers/node_modules/tslib": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", - "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", - "license": "0BSD" - }, - "node_modules/@types/acorn": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/@types/acorn/-/acorn-4.0.6.tgz", - "integrity": "sha512-veQTnWP+1D/xbxVrPC3zHnCZRjSrKfhbMUlEA43iMZLu7EsnTtkJklIuwrCPbOi8YkvDQAiW05VQQFvvz9oieQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree": "*" - } - }, - "node_modules/@types/body-scroll-lock": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/@types/body-scroll-lock/-/body-scroll-lock-2.6.2.tgz", - "integrity": "sha512-PhoQPbwPYspXqf7lkwtF7aJzAwL88t+9E/e0b2X84tlHpU8ZuS9UNnLtkT0XhyZJYHpET5qRfIdZ0HBIxuc7HQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/classnames": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/@types/classnames/-/classnames-2.3.1.tgz", - "integrity": "sha512-zeOWb0JGBoVmlQoznvqXbE0tEC/HONsnoUNH19Hc96NFsTAwTXbTqb8FMYkru1F/iqp7a18Ws3nWJvtA1sHD1A==", - "dev": true, - "license": "MIT", - "dependencies": { - "classnames": "*" - } - }, - "node_modules/@types/debounce": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@types/debounce/-/debounce-1.2.1.tgz", - "integrity": "sha512-epMsEE85fi4lfmJUH/89/iV/LI+F5CvNIvmgs5g5jYFPfhO2S/ae8WSsLOKWdwtoaZw9Q2IhJ4tQ5tFCcS/4HA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/debug": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.7.tgz", - "integrity": "sha512-9AonUzyTjXXhEOa0DnqpzZi6VHlqKMswga9EXjpXnnqxwLtdvPPtlO8evrI5D9S6asFRCQ6v+wpiUKbw+vKqyg==", - "license": "MIT", - "dependencies": { - "@types/ms": "*" - } - }, - "node_modules/@types/estree": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.0.tgz", - "integrity": "sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/estree-jsx": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.0.tgz", - "integrity": "sha512-3qvGd0z8F2ENTGr/GG1yViqfiKmRfrXVx5sJyHGFu3z7m5g5utCQtGp/g29JnjflhtQJBv1WDQukHiT58xPcYQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree": "*" - } - }, - "node_modules/@types/github-slugger": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@types/github-slugger/-/github-slugger-1.3.0.tgz", - "integrity": "sha512-J/rMZa7RqiH/rT29TEVZO4nBoDP9XJOjnbbIofg7GQKs4JIduEO3WLpte+6WeUz/TcrXKlY+bM7FYrp8yFB+3g==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/hast": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.4.tgz", - "integrity": "sha512-wLEm0QvaoawEDoTRwzTXp4b4jpwiJDvR5KMnFnVodm3scufTlBOWRD6N1OBf9TZMhjlNsSfcO5V+7AF4+Vy+9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "*" - } - }, - "node_modules/@types/json-schema": { - "version": "7.0.11", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", - "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/mdast": { - "version": "3.0.10", - "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-3.0.10.tgz", - "integrity": "sha512-W864tg/Osz1+9f4lrGTZpCSO5/z4608eUp19tbozkq2HJK6i3z1kT0H9tlADXuYIb1YYOBByU4Jsqkk75q48qA==", - "license": "MIT", - "dependencies": { - "@types/unist": "*" - } - }, - "node_modules/@types/mdurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-1.0.2.tgz", - "integrity": "sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/mdx": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.2.tgz", - "integrity": "sha512-mJGfgj4aWpiKb8C0nnJJchs1sHBHn0HugkVfqqyQi7Wn6mBRksLeQsPOFvih/Pu8L1vlDzfe/LidhVHBeUk3aQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/mdx-js__react": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@types/mdx-js__react/-/mdx-js__react-1.5.5.tgz", - "integrity": "sha512-k8pnaP6JXVlQh18HgL5X6sYFNC/qZnzO7R2+HsmwrwUd+JnnsU0d9lyyT0RQrHg1anxDU36S98TI/fsGtmYqqg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/react": "*" - } - }, - "node_modules/@types/mdx-js__react/node_modules/@types/react": { - "version": "17.0.38", - "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.38.tgz", - "integrity": "sha512-SI92X1IA+FMnP3qM5m4QReluXzhcmovhZnLNm3pyeQlooi02qI7sLiepEYqT678uNiyc25XfCqxREFpy3W7YhQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" - } - }, - "node_modules/@types/ms": { - "version": "0.7.31", - "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.31.tgz", - "integrity": "sha512-iiUgKzV9AuaEkZqkOLDIvlQiL6ltuZd9tGcW3gwpnX8JbuiuhFlEGmmFXEXkN50Cvq7Os88IY2v0dkDqXYWVgA==", - "license": "MIT" - }, - "node_modules/@types/node": { - "version": "14.18.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-14.18.9.tgz", - "integrity": "sha512-j11XSuRuAlft6vLDEX4RvhqC0KxNxx6QIyMXNb0vHHSNPXTPeiy3algESWmOOIzEtiEL0qiowPU3ewW9hHVa7Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/parse-numeric-range": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/@types/parse-numeric-range/-/parse-numeric-range-0.0.1.tgz", - "integrity": "sha512-nI3rPGKk8BxedokP2VilnW5JyZHYNjGCUDsAZ2JQgISgDflHNUO0wXMfGYP8CkihrKYDm5tilD52XfGhO/ZFCA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/prop-types": { - "version": "15.7.4", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.4.tgz", - "integrity": "sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/react": { - "version": "18.0.9", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.0.9.tgz", - "integrity": "sha512-9bjbg1hJHUm4De19L1cHiW0Jvx3geel6Qczhjd0qY5VKVE2X5+x77YxAepuCwVh4vrgZJdgEJw48zrhRIeF4Nw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" - } - }, - "node_modules/@types/react-dom": { - "version": "18.0.5", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.5.tgz", - "integrity": "sha512-OWPWTUrY/NIrjsAPkAk1wW9LZeIjSvkXRhclsFO8CZcZGCOg2G0YZy4ft+rOyYxy8B7ui5iZzi9OkDebZ7/QSA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/react": "*" - } - }, - "node_modules/@types/react-dom/node_modules/@types/react": { - "version": "17.0.38", - "resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.38.tgz", - "integrity": "sha512-SI92X1IA+FMnP3qM5m4QReluXzhcmovhZnLNm3pyeQlooi02qI7sLiepEYqT678uNiyc25XfCqxREFpy3W7YhQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" - } - }, - "node_modules/@types/scheduler": { - "version": "0.16.2", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.2.tgz", - "integrity": "sha512-hppQEBDmlwhFAXKJX2KnWLYu5yMfi91yazPb2l+lbJiwW+wdo1gNeRA+3RgNSO39WYX2euey41KEwnqesU2Jew==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/unist": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.6.tgz", - "integrity": "sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ==", - "license": "MIT" - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.36.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.36.2.tgz", - "integrity": "sha512-OwwR8LRwSnI98tdc2z7mJYgY60gf7I9ZfGjN5EjCwwns9bdTuQfAXcsjSB2wSQ/TVNYSGKf4kzVXbNGaZvwiXw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/scope-manager": "5.36.2", - "@typescript-eslint/type-utils": "5.36.2", - "@typescript-eslint/utils": "5.36.2", - "debug": "^4.3.4", - "functional-red-black-tree": "^1.0.1", - "ignore": "^5.2.0", - "regexpp": "^3.2.0", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^5.0.0", - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", - "dev": true, - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/parser": { - "version": "5.36.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.36.2.tgz", - "integrity": "sha512-qS/Kb0yzy8sR0idFspI9Z6+t7mqk/oRjnAYfewG+VN73opAUvmYL3oPIMmgOX6CnQS6gmVIXGshlb5RY/R22pA==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@typescript-eslint/scope-manager": "5.36.2", - "@typescript-eslint/types": "5.36.2", - "@typescript-eslint/typescript-estree": "5.36.2", - "debug": "^4.3.4" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/parser/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "5.36.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.36.2.tgz", - "integrity": "sha512-cNNP51L8SkIFSfce8B1NSUBTJTu2Ts4nWeWbFrdaqjmn9yKrAaJUBHkyTZc0cL06OFHpb+JZq5AUHROS398Orw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "5.36.2", - "@typescript-eslint/visitor-keys": "5.36.2" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/scope-manager/node_modules/@typescript-eslint/visitor-keys": { - "version": "5.36.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.36.2.tgz", - "integrity": "sha512-BtRvSR6dEdrNt7Net2/XDjbYKU5Ml6GqJgVfXT0CxTCJlnIqK7rAGreuWKMT2t8cFUT2Msv5oxw0GMRD7T5J7A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "5.36.2", - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/scope-manager/node_modules/eslint-visitor-keys": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", - "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/@typescript-eslint/type-utils": { - "version": "5.36.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.36.2.tgz", - "integrity": "sha512-rPQtS5rfijUWLouhy6UmyNquKDPhQjKsaKH0WnY6hl/07lasj8gPaH2UD8xWkePn6SC+jW2i9c2DZVDnL+Dokw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/typescript-estree": "5.36.2", - "@typescript-eslint/utils": "5.36.2", - "debug": "^4.3.4", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "*" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/type-utils/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/types": { - "version": "5.36.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.36.2.tgz", - "integrity": "sha512-9OJSvvwuF1L5eS2EQgFUbECb99F0mwq501w0H0EkYULkhFa19Qq7WFbycdw1PexAc929asupbZcgjVIe6OK/XQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.36.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.36.2.tgz", - "integrity": "sha512-8fyH+RfbKc0mTspfuEjlfqA4YywcwQK2Amcf6TDOwaRLg7Vwdu4bZzyvBZp4bjt1RRjQ5MDnOZahxMrt2l5v9w==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@typescript-eslint/types": "5.36.2", - "@typescript-eslint/visitor-keys": "5.36.2", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/@typescript-eslint/visitor-keys": { - "version": "5.36.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.36.2.tgz", - "integrity": "sha512-BtRvSR6dEdrNt7Net2/XDjbYKU5Ml6GqJgVfXT0CxTCJlnIqK7rAGreuWKMT2t8cFUT2Msv5oxw0GMRD7T5J7A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "5.36.2", - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/eslint-visitor-keys": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", - "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", - "dev": true, - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/utils": { - "version": "5.36.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.36.2.tgz", - "integrity": "sha512-uNcopWonEITX96v9pefk9DC1bWMdkweeSsewJ6GeC7L6j2t0SJywisgkr9wUTtXk90fi2Eljj90HSHm3OGdGRg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.36.2", - "@typescript-eslint/types": "5.36.2", - "@typescript-eslint/typescript-estree": "5.36.2", - "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/@typescript-eslint/utils/node_modules/eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^2.0.0" - }, - "engines": { - "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=5" - } - }, - "node_modules/@typescript-eslint/utils/node_modules/eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz", - "integrity": "sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "4.33.0", - "eslint-visitor-keys": "^2.0.0" - }, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/visitor-keys/node_modules/@typescript-eslint/types": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.33.0.tgz", - "integrity": "sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=10" - } - }, - "node_modules/@yarnpkg/lockfile": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", - "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", - "dev": true, - "license": "BSD-2-Clause" - }, - "node_modules/absolute-path": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/absolute-path/-/absolute-path-0.0.0.tgz", - "integrity": "sha512-HQiug4c+/s3WOvEnDRxXVmNtSG5s2gJM9r19BTcqjp7BWcE48PB+Y2G6jE65kqI0LpsQeMZygt/b60Gi4KxGyA==", - "dev": true, - "license": "MIT" - }, - "node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", - "license": "MIT", - "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/acorn": { - "version": "7.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", - "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dev": true, - "license": "MIT", - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/algoliasearch": { - "version": "4.24.0", - "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-4.24.0.tgz", - "integrity": "sha512-bf0QV/9jVejssFBmz2HQLxUadxk574t4iwjCKp5E7NBzwKkrDEhKPISIIjAU/p6K5qDx3qoeh4+26zWN1jmw3g==", - "dependencies": { - "@algolia/cache-browser-local-storage": "4.24.0", - "@algolia/cache-common": "4.24.0", - "@algolia/cache-in-memory": "4.24.0", - "@algolia/client-account": "4.24.0", - "@algolia/client-analytics": "4.24.0", - "@algolia/client-common": "4.24.0", - "@algolia/client-personalization": "4.24.0", - "@algolia/client-search": "4.24.0", - "@algolia/logger-common": "4.24.0", - "@algolia/logger-console": "4.24.0", - "@algolia/recommend": "4.24.0", - "@algolia/requester-browser-xhr": "4.24.0", - "@algolia/requester-common": "4.24.0", - "@algolia/requester-node-http": "4.24.0", - "@algolia/transporter": "4.24.0" - } - }, - "node_modules/anser": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/anser/-/anser-2.1.1.tgz", - "integrity": "sha512-nqLm4HxOTpeLOxcmB3QWmV5TcDFhW9y/fyQ+hivtDFcK4OQ+pQ5fzPnXHM1Mfcm0VkLtvVi1TCPr++Qy0Q/3EQ==", - "license": "MIT" - }, - "node_modules/ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "type-fest": "^0.21.3" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ansi-escapes/node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/any-promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", - "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", - "dev": true, - "license": "MIT" - }, - "node_modules/anymatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", - "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", - "license": "ISC", - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/arg": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", - "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", - "dev": true, - "license": "MIT" - }, - "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "license": "MIT", - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/aria-hidden": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.4.tgz", - "integrity": "sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A==", - "license": "MIT", - "dependencies": { - "tslib": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/aria-query": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-4.2.2.tgz", - "integrity": "sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@babel/runtime": "^7.10.2", - "@babel/runtime-corejs3": "^7.10.2" - }, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/aria-query/node_modules/@babel/runtime": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.7.tgz", - "integrity": "sha512-9E9FJowqAsytyOY6LG+1KuueckRL+aQW+mKvXRXnuFGyRAyepJPmEo9vgMfXUA6O9u3IeEdv9MAkppFcaQwogQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "regenerator-runtime": "^0.13.4" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", - "license": "MIT" - }, - "node_modules/array-includes": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.4.tgz", - "integrity": "sha512-ZTNSQkmWumEbiHO2GF4GmWxYVTiQyJy2XOTa15sdQSrvKn7l+180egQMqlrMOUMCyLMD7pmyQe4mMDUT6Behrw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1", - "get-intrinsic": "^1.1.1", - "is-string": "^1.0.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array-iterate": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/array-iterate/-/array-iterate-1.1.4.tgz", - "integrity": "sha512-sNRaPGh9nnmdC8Zf+pT3UqP8rnWj5Hf9wiFGsX3wUQ2yVSIhO2ShFwCoceIPpB41QF6i2OEmrHmCo36xronCVA==", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/array.prototype.flat": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.5.tgz", - "integrity": "sha512-KaYU+S+ndVqyUnignHftkwc58o3uVU1jzczILJ1tN2YaIZpFIKBiP/x/j97E5MVPsaCloPbqWLB/8qCTVvT2qg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flatmap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.2.5.tgz", - "integrity": "sha512-08u6rVyi1Lj7oqWbS9nUxliETrtIROT4XGTA4D/LWGten6E3ocm7cy9SIrmNHOL5XVbVuckUp3X6Xyg8/zpvHA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ast-types-flow": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", - "integrity": "sha1-9wtzXGvKGlycItmCw+Oef+ujva0=", - "dev": true, - "license": "ISC" - }, - "node_modules/astral-regex": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-2.0.0.tgz", - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/astring": { - "version": "1.8.3", - "resolved": "https://registry.npmjs.org/astring/-/astring-1.8.3.tgz", - "integrity": "sha512-sRpyiNrx2dEYIMmUXprS8nlpRg2Drs8m9ElX9vVEXaCB4XEAJhKfs7IcX0IwShjuOAjLR6wzIrgoptz1n19i1A==", - "dev": true, - "license": "MIT", - "bin": { - "astring": "bin/astring" - } - }, - "node_modules/asyncro": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/asyncro/-/asyncro-3.0.0.tgz", - "integrity": "sha512-nEnWYfrBmA3taTiuiOoZYmgJ/CNrSoQLeLs29SeLcPu60yaw/mHDBHV0iOZ051fTvsTHxpCY+gXibqT9wbQYfg==", - "dev": true, - "license": "MIT" - }, - "node_modules/at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/autoprefixer": { - "version": "10.4.2", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.2.tgz", - "integrity": "sha512-9fOPpHKuDW1w/0EKfRmVnxTDt8166MAnLI3mgZ1JCnhNtYWxcJ6Ud5CO/AVOZi/AvFa8DY9RTy3h3+tFBlrrdQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "browserslist": "^4.19.1", - "caniuse-lite": "^1.0.30001297", - "fraction.js": "^4.1.2", - "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", - "postcss-value-parser": "^4.2.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" - }, - "engines": { - "node": "^10 || ^12 || >=14" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/axe-core": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.3.5.tgz", - "integrity": "sha512-WKTW1+xAzhMS5dJsxWkliixlO/PqC4VhmO9T4juNYcaTg9jzWiJsou6m5pxWYGfigWbwzJWeFY6z47a+4neRXA==", - "dev": true, - "license": "MPL-2.0", - "engines": { - "node": ">=4" - } - }, - "node_modules/axobject-query": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.2.0.tgz", - "integrity": "sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA==", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/babel-eslint": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz", - "integrity": "sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.7.0", - "@babel/traverse": "^7.7.0", - "@babel/types": "^7.7.0", - "eslint-visitor-keys": "^1.0.0", - "resolve": "^1.12.0" - }, - "engines": { - "node": ">=6" - }, - "peerDependencies": { - "eslint": ">= 4.12.1" - } - }, - "node_modules/babel-eslint/node_modules/@babel/generator": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.16.8.tgz", - "integrity": "sha512-1ojZwE9+lOXzcWdWmO6TbUzDfqLD39CmEhN8+2cX9XkDo5yW1OpgfejfliysR2AWLpMamTiOiAp/mtroaymhpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.16.8", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/babel-eslint/node_modules/@babel/helper-environment-visitor": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz", - "integrity": "sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/babel-eslint/node_modules/@babel/helper-function-name": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz", - "integrity": "sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-get-function-arity": "^7.16.7", - "@babel/template": "^7.16.7", - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/babel-eslint/node_modules/@babel/helper-hoist-variables": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz", - "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/babel-eslint/node_modules/@babel/helper-split-export-declaration": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz", - "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/babel-eslint/node_modules/@babel/helper-validator-identifier": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", - "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/babel-eslint/node_modules/@babel/template": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz", - "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.16.7", - "@babel/parser": "^7.16.7", - "@babel/types": "^7.16.7" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/babel-eslint/node_modules/@babel/traverse": { - "version": "7.16.10", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.10.tgz", - "integrity": "sha512-yzuaYXoRJBGMlBhsMJoUW7G1UmSb/eXr/JHYM/MsOJgavJibLwASijW7oXBdw3NQ6T0bW7Ty5P/VarOs9cHmqw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.16.8", - "@babel/helper-environment-visitor": "^7.16.7", - "@babel/helper-function-name": "^7.16.7", - "@babel/helper-hoist-variables": "^7.16.7", - "@babel/helper-split-export-declaration": "^7.16.7", - "@babel/parser": "^7.16.10", - "@babel/types": "^7.16.8", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/babel-eslint/node_modules/@babel/types": { - "version": "7.16.8", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.16.8.tgz", - "integrity": "sha512-smN2DQc5s4M7fntyjGtyIPbRJv6wW4rU/94fmYJ7PKQuZkC0qGMHXJbg6sNGt12JmVr4k5YaptI/XtiLJBnmIg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-validator-identifier": "^7.16.7", - "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/babel-eslint/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/babel-plugin-dynamic-import-node": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", - "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "object.assign": "^4.1.0" - } - }, - "node_modules/babel-plugin-dynamic-import-node/node_modules/define-properties": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", - "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/babel-plugin-dynamic-import-node/node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/babel-plugin-dynamic-import-node/node_modules/object.assign": { - "version": "4.1.4", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", - "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.4", - "has-symbols": "^1.0.3", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/bail": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/bail/-/bail-1.0.5.tgz", - "integrity": "sha512-xFbRxM1tahm08yHBP16MMjVUAvDaBMD38zsM9EMAUN61omwLmKlOpB/Zku5QkjZ8TZ4vn53pj+t518cH0S03RQ==", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true, - "license": "MIT" - }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/body-parser": { - "version": "1.20.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", - "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==", - "license": "MIT", - "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.10.3", - "raw-body": "2.5.1", - "type-is": "~1.6.18", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/body-parser/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/body-parser/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "license": "MIT" - }, - "node_modules/body-scroll-lock": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/body-scroll-lock/-/body-scroll-lock-3.1.5.tgz", - "integrity": "sha512-Yi1Xaml0EvNA0OYWxXiYNqY24AfWkbA6w5vxE7GWxtKfzIbZM+Qw+aSmkgsbWzbHiy/RCSkUZBplVxTA+E4jJg==", - "license": "MIT" - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "license": "MIT", - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browserslist": { - "version": "4.19.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.19.1.tgz", - "integrity": "sha512-u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==", - "dev": true, - "license": "MIT", - "dependencies": { - "caniuse-lite": "^1.0.30001286", - "electron-to-chromium": "^1.4.17", - "escalade": "^3.1.1", - "node-releases": "^2.0.1", - "picocolors": "^1.0.0" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - } - }, - "node_modules/buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, - "node_modules/busboy": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", - "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", - "dependencies": { - "streamsearch": "^1.1.0" - }, - "engines": { - "node": ">=10.16.0" - } - }, - "node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/camelcase-css": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", - "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001301", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001301.tgz", - "integrity": "sha512-csfD/GpHMqgEL3V3uIgosvh+SVIQvCh43SNu9HRbP1lnxkKm1kjDG4f32PP571JplkLjfS+mg2p1gxR7MYrrIA==", - "dev": true, - "license": "CC-BY-4.0", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - } - }, - "node_modules/ccount": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/ccount/-/ccount-1.1.0.tgz", - "integrity": "sha512-vlNK021QdI7PNeiUh/lKkC/mNHHfV0m/Ad5JoI0TYtlBnJAslM/JIkm/tGC88bkLIwO6OQ5uV6ztS6kVAtCDlg==", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/chalk/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/chalk/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/chalk/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true, - "license": "MIT" - }, - "node_modules/character-entities": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", - "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/character-entities-html4": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-1.1.4.tgz", - "integrity": "sha512-HRcDxZuZqMx3/a+qrzxdBKBPUpxWEq9xw2OPZ3a/174ihfrQKVsFhqtthBInFy1zZ9GgZyFXOatNujm8M+El3g==", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/character-entities-legacy": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz", - "integrity": "sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA==", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/character-reference-invalid": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz", - "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], - "license": "MIT", - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/ci-info": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.3.0.tgz", - "integrity": "sha512-riT/3vI5YpVH6/qomlDnJow6TBee2PBKSEpx3O32EGPYbWGIRsIlGRms3Sm74wYE1JMo8RnO04Hb12+v1J5ICw==", - "dev": true, - "license": "MIT" - }, - "node_modules/classnames": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.1.tgz", - "integrity": "sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA==", - "license": "MIT" - }, - "node_modules/clean-set": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/clean-set/-/clean-set-1.1.2.tgz", - "integrity": "sha512-cA8uCj0qSoG9e0kevyOWXwPaELRPVg5Pxp6WskLMwerx257Zfnh8Nl0JBH59d7wQzij2CK7qEfJQK3RjuKKIug==", - "license": "MIT" - }, - "node_modules/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dev": true, - "license": "MIT", - "dependencies": { - "restore-cursor": "^3.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cli-truncate": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-3.1.0.tgz", - "integrity": "sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==", - "dev": true, - "license": "MIT", - "dependencies": { - "slice-ansi": "^5.0.0", - "string-width": "^5.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cli-truncate/node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/cli-truncate/node_modules/ansi-styles": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.1.0.tgz", - "integrity": "sha512-VbqNsoz55SYGczauuup0MFUyXNQviSpFTj1RQtFzmQLk18qbVSpTFFGMT293rmDaQuKCT6InmbuEyUne4mTuxQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/cli-truncate/node_modules/is-fullwidth-code-point": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", - "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cli-truncate/node_modules/slice-ansi": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", - "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^6.0.0", - "is-fullwidth-code-point": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" - } - }, - "node_modules/cli-truncate/node_modules/string-width": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.0.tgz", - "integrity": "sha512-7x54QnN21P+XL/v8SuNKvfgsUre6PXpN7mc77N3HlZv+f1SBRGmjxtOud2Z6FZ8DmdkD/IdjCaf9XXbnqmTZGQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cli-truncate/node_modules/strip-ansi": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", - "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/client-only": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", - "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==", - "license": "MIT" - }, - "node_modules/collapse-white-space": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-1.0.6.tgz", - "integrity": "sha512-jEovNnrhMuqyCcjfEJA56v0Xq8SkIoPKDyaHahwo3POf4qcSXqMYuwNcOTzp74vTsR9Tn08z4MxWqAhcekogkQ==", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "license": "MIT" - }, - "node_modules/colorette": { - "version": "2.0.16", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz", - "integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==", - "dev": true, - "license": "MIT" - }, - "node_modules/comma-separated-tokens": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz", - "integrity": "sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw==", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/commander": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-5.1.0.tgz", - "integrity": "sha512-P0CysNDQ7rtVw4QIQtm+MRxV66vKFSvlsQvGYXZWR3qFU0jlMKHZZZgw8e+8DSah4UDKMqnknRDQz+xuQXQ/Zg==", - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true, - "license": "MIT" - }, - "node_modules/confusing-browser-globals": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/confusing-browser-globals/-/confusing-browser-globals-1.0.11.tgz", - "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==", - "dev": true, - "license": "MIT" - }, - "node_modules/content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", - "license": "MIT", - "dependencies": { - "safe-buffer": "5.2.1" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/convert-source-map": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", - "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.1" - } - }, - "node_modules/convert-source-map/node_modules/safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true, - "license": "MIT" - }, - "node_modules/cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", - "license": "MIT" - }, - "node_modules/core-js-pure": { - "version": "3.20.3", - "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.20.3.tgz", - "integrity": "sha512-Q2H6tQ5MtPtcC7f3HxJ48i4Q7T9ybPKgvWyuH7JXIoNa2pm0KuBnycsET/qw1SLLZYfbsbrZQNMeIOClb+6WIA==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/crelt": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/crelt/-/crelt-1.0.5.tgz", - "integrity": "sha512-+BO9wPPi+DWTDcNYhr/W90myha8ptzftZT+LwcmUbbok0rcP/fequmFYCw8NMoH7pkAZQzU78b3kYrlua5a9eA==", - "license": "MIT" - }, - "node_modules/cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "engines": { - "node": ">=4.8" - } - }, - "node_modules/cross-spawn/node_modules/path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/css-blank-pseudo": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/css-blank-pseudo/-/css-blank-pseudo-0.1.4.tgz", - "integrity": "sha512-LHz35Hr83dnFeipc7oqFDmsjHdljj3TQtxGGiNWSOsTLIAubSm4TEz8qCaKFpk7idaQ1GfWscF4E6mgpBysA1w==", - "dev": true, - "license": "CC0-1.0", - "dependencies": { - "postcss": "^7.0.5" - }, - "bin": { - "css-blank-pseudo": "cli.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/css-blank-pseudo/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true, - "license": "ISC" - }, - "node_modules/css-blank-pseudo/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "license": "MIT", - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/css-has-pseudo": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-0.10.0.tgz", - "integrity": "sha512-Z8hnfsZu4o/kt+AuFzeGpLVhFOGO9mluyHBaA2bA8aCGTwah5sT3WV/fTHH8UNZUytOIImuGPrl/prlb4oX4qQ==", - "dev": true, - "license": "CC0-1.0", - "dependencies": { - "postcss": "^7.0.6", - "postcss-selector-parser": "^5.0.0-rc.4" - }, - "bin": { - "css-has-pseudo": "cli.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/css-has-pseudo/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true, - "license": "ISC" - }, - "node_modules/css-has-pseudo/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "license": "MIT", - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/css-prefers-color-scheme": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-3.1.1.tgz", - "integrity": "sha512-MTu6+tMs9S3EUqzmqLXEcgNRbNkkD/TGFvowpeoWJn5Vfq7FMgsmRQs9X5NXAURiOBmOxm/lLjsDNXDE6k9bhg==", - "dev": true, - "license": "CC0-1.0", - "dependencies": { - "postcss": "^7.0.5" - }, - "bin": { - "css-prefers-color-scheme": "cli.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/css-prefers-color-scheme/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true, - "license": "ISC" - }, - "node_modules/css-prefers-color-scheme/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "license": "MIT", - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/cssdb": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-4.4.0.tgz", - "integrity": "sha512-LsTAR1JPEM9TpGhl/0p3nQecC2LJ0kD8X5YARu1hk/9I1gril5vDtMZyNxcEpxxDj34YNck/ucjuoUd66K03oQ==", - "dev": true, - "license": "CC0-1.0" - }, - "node_modules/cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true, - "license": "MIT", - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/csstype": { - "version": "3.0.10", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.10.tgz", - "integrity": "sha512-2u44ZG2OcNUO9HDp/Jl8C07x6pU/eTR3ncV91SiK3dhG9TWvRVsCoJw14Ckx5DgWkzGA3waZWO3d7pgqpUI/XA==", - "dev": true, - "license": "MIT" - }, - "node_modules/d": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", - "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", - "license": "ISC", - "dependencies": { - "es5-ext": "^0.10.50", - "type": "^1.0.1" - } - }, - "node_modules/damerau-levenshtein": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", - "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", - "dev": true, - "license": "BSD-2-Clause" - }, - "node_modules/date-fns": { - "version": "2.28.0", - "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.28.0.tgz", - "integrity": "sha512-8d35hViGYx/QH0icHYCeLmsLmMUheMmTyV9Fcm6gvNwdw31yXXH+O85sOBJ+OLnLQMKZowvpKb6FgMIQjcpvQw==", - "license": "MIT", - "engines": { - "node": ">=0.11" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/date-fns" - } - }, - "node_modules/debounce": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz", - "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==", - "license": "MIT" - }, - "node_modules/debug": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz", - "integrity": "sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decode-named-character-reference": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", - "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==", - "license": "MIT", - "dependencies": { - "character-entities": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "object-keys": "^1.0.12" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/dequal": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", - "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", - "license": "MIT", - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/detect-node-es": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/detect-node-es/-/detect-node-es-1.1.0.tgz", - "integrity": "sha512-ypdmJU/TbBby2Dxibuv7ZLW3Bs1QEmM7nHjEANfohJLvE0XVujisn1qPJcZxg+qDucsr+bP6fLD1rPS3AhJ7EQ==", - "license": "MIT" - }, - "node_modules/didyoumean": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", - "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/diff": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", - "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dir-glob/node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/dlv": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", - "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", - "dev": true, - "license": "MIT" - }, - "node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/dotenv": { - "version": "16.0.3", - "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz", - "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==", - "license": "BSD-2-Clause", - "engines": { - "node": ">=12" - } - }, - "node_modules/duplexer": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", - "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", - "dev": true, - "license": "MIT" - }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "dev": true, - "license": "MIT" - }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", - "license": "MIT" - }, - "node_modules/electron-to-chromium": { - "version": "1.4.51", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.51.tgz", - "integrity": "sha512-JNEmcYl3mk1tGQmy0EvL5eik/CKSBuzAyGP0QFdG6LIgxQe3II0BL1m2zKc2MZMf3uGqHWE1TFddJML0RpjSHQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true, - "license": "MIT" - }, - "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/enquirer": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", - "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-colors": "^4.1.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/es-abstract": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.19.1.tgz", - "integrity": "sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.1.1", - "get-symbol-description": "^1.0.0", - "has": "^1.0.3", - "has-symbols": "^1.0.2", - "internal-slot": "^1.0.3", - "is-callable": "^1.2.4", - "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.1", - "is-string": "^1.0.7", - "is-weakref": "^1.0.1", - "object-inspect": "^1.11.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "string.prototype.trimend": "^1.0.4", - "string.prototype.trimstart": "^1.0.4", - "unbox-primitive": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/es5-ext": { - "version": "0.10.62", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.62.tgz", - "integrity": "sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA==", - "hasInstallScript": true, - "license": "ISC", - "dependencies": { - "es6-iterator": "^2.0.3", - "es6-symbol": "^3.1.3", - "next-tick": "^1.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/es6-iterator": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", - "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", - "license": "MIT", - "dependencies": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" - } - }, - "node_modules/es6-symbol": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", - "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", - "license": "ISC", - "dependencies": { - "d": "^1.0.1", - "ext": "^1.1.2" - } - }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-carriage": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/escape-carriage/-/escape-carriage-1.3.1.tgz", - "integrity": "sha512-GwBr6yViW3ttx1kb7/Oh+gKQ1/TrhYwxKqVmg5gS+BK+Qe2KrOa/Vh7w3HPBvgGf0LfcDGoY9I6NHKoA5Hozhw==", - "license": "MIT" - }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", - "license": "MIT" - }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/eslint": { - "version": "7.32.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.32.0.tgz", - "integrity": "sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "7.12.11", - "@eslint/eslintrc": "^0.4.3", - "@humanwhocodes/config-array": "^0.5.0", - "ajv": "^6.10.0", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", - "debug": "^4.0.1", - "doctrine": "^3.0.0", - "enquirer": "^2.3.5", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^5.1.1", - "eslint-utils": "^2.1.0", - "eslint-visitor-keys": "^2.0.0", - "espree": "^7.3.1", - "esquery": "^1.4.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "functional-red-black-tree": "^1.0.1", - "glob-parent": "^5.1.2", - "globals": "^13.6.0", - "ignore": "^4.0.6", - "import-fresh": "^3.0.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "js-yaml": "^3.13.1", - "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.0.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "progress": "^2.0.0", - "regexpp": "^3.1.0", - "semver": "^7.2.1", - "strip-ansi": "^6.0.0", - "strip-json-comments": "^3.1.0", - "table": "^6.0.9", - "text-table": "^0.2.0", - "v8-compile-cache": "^2.0.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-config-next": { - "version": "12.0.3", - "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-12.0.3.tgz", - "integrity": "sha512-q+mX6jhk3HrCo39G18MLhiC6f8zJnTA00f30RSuVUWsv45SQUm6r62oXVqrbAgMEybe0yx/GDRvfA6LvSolw6Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@next/eslint-plugin-next": "12.0.3", - "@rushstack/eslint-patch": "^1.0.6", - "@typescript-eslint/parser": "^4.20.0", - "eslint-import-resolver-node": "^0.3.4", - "eslint-import-resolver-typescript": "^2.4.0", - "eslint-plugin-import": "^2.22.1", - "eslint-plugin-jsx-a11y": "^6.4.1", - "eslint-plugin-react": "^7.23.1", - "eslint-plugin-react-hooks": "^4.2.0" - }, - "peerDependencies": { - "eslint": "^7.23.0", - "next": ">=10.2.0", - "typescript": ">=3.3.1" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/eslint-config-next/node_modules/@typescript-eslint/parser": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.33.0.tgz", - "integrity": "sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@typescript-eslint/scope-manager": "4.33.0", - "@typescript-eslint/types": "4.33.0", - "@typescript-eslint/typescript-estree": "4.33.0", - "debug": "^4.3.1" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^5.0.0 || ^6.0.0 || ^7.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/eslint-config-next/node_modules/@typescript-eslint/scope-manager": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz", - "integrity": "sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "4.33.0", - "@typescript-eslint/visitor-keys": "4.33.0" - }, - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/eslint-config-next/node_modules/@typescript-eslint/types": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-4.33.0.tgz", - "integrity": "sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": "^8.10.0 || ^10.13.0 || >=11.10.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/eslint-config-next/node_modules/@typescript-eslint/typescript-estree": { - "version": "4.33.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz", - "integrity": "sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "@typescript-eslint/types": "4.33.0", - "@typescript-eslint/visitor-keys": "4.33.0", - "debug": "^4.3.1", - "globby": "^11.0.3", - "is-glob": "^4.0.1", - "semver": "^7.3.5", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/eslint-config-next/node_modules/eslint-plugin-react-hooks": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.3.0.tgz", - "integrity": "sha512-XslZy0LnMn+84NEG9jSGR6eGqaZB3133L8xewQo3fQagbQuGt7a63gf+P1NGKZavEYEC3UXaWEAA/AqDkuN6xA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" - } - }, - "node_modules/eslint-config-next/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint-config-react-app": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/eslint-config-react-app/-/eslint-config-react-app-5.2.1.tgz", - "integrity": "sha512-pGIZ8t0mFLcV+6ZirRgYK6RVqUIKRIi9MmgzUEmrIknsn3AdO0I32asO86dJgloHq+9ZPl8UIg8mYrvgP5u2wQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "confusing-browser-globals": "^1.0.9" - }, - "peerDependencies": { - "@typescript-eslint/eslint-plugin": "2.x", - "@typescript-eslint/parser": "2.x", - "babel-eslint": "10.x", - "eslint": "6.x", - "eslint-plugin-flowtype": "3.x || 4.x", - "eslint-plugin-import": "2.x", - "eslint-plugin-jsx-a11y": "6.x", - "eslint-plugin-react": "7.x", - "eslint-plugin-react-hooks": "1.x || 2.x" - } - }, - "node_modules/eslint-import-resolver-node": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.6.tgz", - "integrity": "sha512-0En0w03NRVMn9Uiyn8YRPDKvWjxCWkslUEhGNTdGx15RvPJYQ+lbOlqrlNI2vEAs4pDYK4f/HN2TbDmk5TP0iw==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^3.2.7", - "resolve": "^1.20.0" - } - }, - "node_modules/eslint-import-resolver-node/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-import-resolver-node/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/eslint-import-resolver-typescript": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-2.5.0.tgz", - "integrity": "sha512-qZ6e5CFr+I7K4VVhQu3M/9xGv9/YmwsEXrsm3nimw8vWaVHRDrQRp26BgCypTxBp3vUp4o5aVEJRiy0F2DFddQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "debug": "^4.3.1", - "glob": "^7.1.7", - "is-glob": "^4.0.1", - "resolve": "^1.20.0", - "tsconfig-paths": "^3.9.0" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "*", - "eslint-plugin-import": "*" - } - }, - "node_modules/eslint-module-utils": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.7.2.tgz", - "integrity": "sha512-zquepFnWCY2ISMFwD/DqzaM++H+7PDzOpUvotJWm/y1BAFt5R4oeULgdrTejKqLkz7MA/tgstsUMNYc7wNdTrg==", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "^3.2.7", - "find-up": "^2.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint-module-utils/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-module-utils/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/eslint-plugin-flowtype": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-flowtype/-/eslint-plugin-flowtype-4.7.0.tgz", - "integrity": "sha512-M+hxhSCk5QBEValO5/UqrS4UunT+MgplIJK5wA1sCtXjzBcZkpTGRwxmLHhGpbHcrmQecgt6ZL/KDdXWqGB7VA==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "lodash": "^4.17.15" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": ">=6.1.0" - } - }, - "node_modules/eslint-plugin-import": { - "version": "2.25.4", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.25.4.tgz", - "integrity": "sha512-/KJBASVFxpu0xg1kIBn9AUa8hQVnszpwgE7Ld0lKAlx7Ie87yzEzCgSkekt+le/YVhiaosO4Y14GDAOc41nfxA==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-includes": "^3.1.4", - "array.prototype.flat": "^1.2.5", - "debug": "^2.6.9", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.6", - "eslint-module-utils": "^2.7.2", - "has": "^1.0.3", - "is-core-module": "^2.8.0", - "is-glob": "^4.0.3", - "minimatch": "^3.0.4", - "object.values": "^1.1.5", - "resolve": "^1.20.0", - "tsconfig-paths": "^3.12.0" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8" - } - }, - "node_modules/eslint-plugin-import/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/eslint-plugin-import/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true, - "license": "MIT" - }, - "node_modules/eslint-plugin-jsx-a11y": { - "version": "6.5.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.5.1.tgz", - "integrity": "sha512-sVCFKX9fllURnXT2JwLN5Qgo24Ug5NF6dxhkmxsMEUZhXRcGg+X3e1JbJ84YePQKBl5E0ZjAH5Q4rkdcGY99+g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.16.3", - "aria-query": "^4.2.2", - "array-includes": "^3.1.4", - "ast-types-flow": "^0.0.7", - "axe-core": "^4.3.5", - "axobject-query": "^2.2.0", - "damerau-levenshtein": "^1.0.7", - "emoji-regex": "^9.2.2", - "has": "^1.0.3", - "jsx-ast-utils": "^3.2.1", - "language-tags": "^1.0.5", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=4.0" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" - } - }, - "node_modules/eslint-plugin-jsx-a11y/node_modules/@babel/runtime": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.7.tgz", - "integrity": "sha512-9E9FJowqAsytyOY6LG+1KuueckRL+aQW+mKvXRXnuFGyRAyepJPmEo9vgMfXUA6O9u3IeEdv9MAkppFcaQwogQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "regenerator-runtime": "^0.13.4" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/eslint-plugin-react": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.28.0.tgz", - "integrity": "sha512-IOlFIRHzWfEQQKcAD4iyYDndHwTQiCMcJVJjxempf203jnNLUnW34AXLrV33+nEXoifJE2ZEGmcjKPL8957eSw==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-includes": "^3.1.4", - "array.prototype.flatmap": "^1.2.5", - "doctrine": "^2.1.0", - "estraverse": "^5.3.0", - "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "minimatch": "^3.0.4", - "object.entries": "^1.1.5", - "object.fromentries": "^2.0.5", - "object.hasown": "^1.1.0", - "object.values": "^1.1.5", - "prop-types": "^15.7.2", - "resolve": "^2.0.0-next.3", - "semver": "^6.3.0", - "string.prototype.matchall": "^4.0.6" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" - } - }, - "node_modules/eslint-plugin-react-hooks": { - "version": "0.0.0-experimental-fabef7a6b-20221215", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-0.0.0-experimental-fabef7a6b-20221215.tgz", - "integrity": "sha512-y1lJAS4gWXyP6kXl2jA9ZJdFFfcMwNjMEZEEXn9LHOWEhnAgKgcqZ/NhNWAphiJLYOZ33kne1hbhDlGCcrdx5g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0" - } - }, - "node_modules/eslint-plugin-react/node_modules/resolve": { - "version": "2.0.0-next.3", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.3.tgz", - "integrity": "sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-core-module": "^2.2.0", - "path-parse": "^1.0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/eslint-plugin-react/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/eslint-scope/node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/eslint-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-2.1.0.tgz", - "integrity": "sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==", - "dev": true, - "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^1.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", - "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=4" - } - }, - "node_modules/eslint/node_modules/@babel/code-frame": { - "version": "7.12.11", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", - "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/highlight": "^7.10.4" - } - }, - "node_modules/eslint/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/eslint/node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/eslint/node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/eslint/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint/node_modules/globals": { - "version": "13.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.12.0.tgz", - "integrity": "sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg==", - "dev": true, - "license": "MIT", - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/semver": { - "version": "7.3.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz", - "integrity": "sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/eslint/node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/espree": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-7.3.1.tgz", - "integrity": "sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^7.4.0", - "acorn-jsx": "^5.3.1", - "eslint-visitor-keys": "^1.3.0" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true, - "license": "BSD-2-Clause", - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estree-util-attach-comments": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/estree-util-attach-comments/-/estree-util-attach-comments-2.1.0.tgz", - "integrity": "sha512-rJz6I4L0GaXYtHpoMScgDIwM0/Vwbu5shbMeER596rB2D1EWF6+Gj0e0UKzJPZrpoOc87+Q2kgVFHfjAymIqmw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/estree-util-build-jsx": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/estree-util-build-jsx/-/estree-util-build-jsx-2.2.0.tgz", - "integrity": "sha512-apsfRxF9uLrqosApvHVtYZjISPvTJ+lBiIydpC+9wE6cF6ssbhnjyQLqaIjgzGxvC2Hbmec1M7g91PoBayYoQQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "estree-util-is-identifier-name": "^2.0.0", - "estree-walker": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/estree-util-is-identifier-name": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-2.0.1.tgz", - "integrity": "sha512-rxZj1GkQhY4x1j/CSnybK9cGuMFQYFPLq0iNyopqf14aOVLFtMv7Esika+ObJWPWiOHuMOAHz3YkWoLYYRnzWQ==", - "dev": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/estree-util-to-js": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/estree-util-to-js/-/estree-util-to-js-1.1.0.tgz", - "integrity": "sha512-490lbfCcpLk+ofK6HCgqDfYs4KAfq6QVvDw3+Bm1YoKRgiOjKiKYGAVQE1uwh7zVxBgWhqp4FDtp5SqunpUk1A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "astring": "^1.8.0", - "source-map": "^0.7.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/estree-util-to-js/node_modules/source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">= 8" - } - }, - "node_modules/estree-util-visit": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/estree-util-visit/-/estree-util-visit-1.2.0.tgz", - "integrity": "sha512-wdsoqhWueuJKsh5hqLw3j8lwFqNStm92VcwtAOAny8g/KS/l5Y8RISjR4k5W6skCj3Nirag/WUCMS0Nfy3sgsg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "@types/unist": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/estree-walker": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.1.tgz", - "integrity": "sha512-woY0RUD87WzMBUiZLx8NsYr23N5BKsOMZHhu2hoNRVh6NXGfoiT1KOL8G3UHlJAnEDGmfa5ubNA/AacfG+Kb0g==", - "dev": true, - "license": "MIT" - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "license": "MIT", - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/execa/node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/execa/node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/execa/node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/execa/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/express": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz", - "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==", - "license": "MIT", - "dependencies": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.0", - "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.10.3", - "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" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/express/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/express/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "license": "MIT" - }, - "node_modules/ext": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/ext/-/ext-1.7.0.tgz", - "integrity": "sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==", - "license": "ISC", - "dependencies": { - "type": "^2.7.2" - } - }, - "node_modules/ext/node_modules/type": { - "version": "2.7.2", - "resolved": "https://registry.npmjs.org/type/-/type-2.7.2.tgz", - "integrity": "sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==", - "license": "ISC" - }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "license": "MIT" - }, - "node_modules/extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extendable": "^0.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-glob": { - "version": "3.2.11", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", - "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", - "dev": true, - "license": "MIT" - }, - "node_modules/fastq": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", - "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", - "dev": true, - "license": "ISC", - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/fault": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fault/-/fault-2.0.1.tgz", - "integrity": "sha512-WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==", - "license": "MIT", - "dependencies": { - "format": "^0.2.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", - "dev": true, - "license": "MIT", - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "license": "MIT", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", - "license": "MIT", - "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" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/finalhandler/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/finalhandler/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "license": "MIT" - }, - "node_modules/find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/find-yarn-workspace-root": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/find-yarn-workspace-root/-/find-yarn-workspace-root-2.0.0.tgz", - "integrity": "sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "micromatch": "^4.0.2" - } - }, - "node_modules/flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", - "dev": true, - "license": "MIT", - "dependencies": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/flat-cache/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "license": "ISC", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/flatted": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.4.tgz", - "integrity": "sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw==", - "dev": true, - "license": "ISC" - }, - "node_modules/flatten": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.3.tgz", - "integrity": "sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg==", - "dev": true, - "license": "MIT" - }, - "node_modules/format": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/format/-/format-0.2.2.tgz", - "integrity": "sha512-wzsgA6WOq+09wrU1tsJ09udeR/YZRaeArL9e1wPbFg3GG2yDnC2ldKpxs4xunpFF9DgqCqOIra3bc1HWrJ37Ww==", - "engines": { - "node": ">=0.4.x" - } - }, - "node_modules/forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fraction.js": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.1.2.tgz", - "integrity": "sha512-o2RiJQ6DZaR/5+Si0qJUIy637QMRudSi9kU/FFzx9EZazrIdnBgpU+3sEWCxAVhH2RtxW2Oz+T4p2o8uOPVcgA==", - "dev": true, - "license": "MIT", - "engines": { - "node": "*" - }, - "funding": { - "type": "patreon", - "url": "https://www.patreon.com/infusion" - } - }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fs-extra": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", - "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true, - "license": "ISC" - }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "license": "MIT" - }, - "node_modules/functional-red-black-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", - "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", - "dev": true, - "license": "MIT" - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-intrinsic": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", - "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-nonce": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-nonce/-/get-nonce-1.0.1.tgz", - "integrity": "sha512-FJhYRoDaiatfEkUK8HKlicmu/3SGFD51q3itKDGoSTysQJBnfOcxU5GxnhE1E6soB76MbT0MBtnKJuXyAx+96Q==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/get-symbol-description": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", - "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/github-slugger": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-1.4.0.tgz", - "integrity": "sha512-w0dzqw/nt51xMVmlaV1+JRzN+oCa1KfcgGEWhxUG16wbdA+Xnt/yoFO8Z8x/V82ZcZ0wy6ln9QDup5avbhiDhQ==", - "license": "ISC" - }, - "node_modules/glob": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz", - "integrity": "sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globby/node_modules/ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/globby/node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.9", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz", - "integrity": "sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/gray-matter": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz", - "integrity": "sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "js-yaml": "^3.13.1", - "kind-of": "^6.0.2", - "section-matter": "^1.0.0", - "strip-bom-string": "^1.0.0" - }, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/gzip-size": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-6.0.0.tgz", - "integrity": "sha512-ax7ZYomf6jqPTQ4+XCpUGyXKHk5WweS+e05MBO4/y3WJ5RkmPXNKvX+bx1behVILVwr6JSQvZAku021CHPXG3Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "duplexer": "^0.1.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/has-bigints": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.1.tgz", - "integrity": "sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", - "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.1.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz", - "integrity": "sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-tostringtag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", - "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/hast-util-is-element": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-1.1.0.tgz", - "integrity": "sha512-oUmNua0bFbdrD/ELDSSEadRVtWZOf3iF6Lbv81naqsIV99RnSCieTbWuWCY8BAeEfKJTKl0gRdokv+dELutHGQ==", - "dev": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-sanitize": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/hast-util-sanitize/-/hast-util-sanitize-3.0.2.tgz", - "integrity": "sha512-+2I0x2ZCAyiZOO/sb4yNLFmdwPBnyJ4PBkVTUMKMqBwYNA+lXSgOmoRXlJFazoyid9QPogRRKgKhVEodv181sA==", - "dev": true, - "license": "MIT", - "dependencies": { - "xtend": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-to-estree": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/hast-util-to-estree/-/hast-util-to-estree-2.1.0.tgz", - "integrity": "sha512-Vwch1etMRmm89xGgz+voWXvVHba2iiMdGMKmaMfYt35rbVtFDq8JNwwAIvi8zHMkO6Gvqo9oTMwJTmzVRfXh4g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^2.0.0", - "@types/unist": "^2.0.0", - "comma-separated-tokens": "^2.0.0", - "estree-util-attach-comments": "^2.0.0", - "estree-util-is-identifier-name": "^2.0.0", - "hast-util-whitespace": "^2.0.0", - "mdast-util-mdx-expression": "^1.0.0", - "mdast-util-mdxjs-esm": "^1.0.0", - "property-information": "^6.0.0", - "space-separated-tokens": "^2.0.0", - "style-to-object": "^0.3.0", - "unist-util-position": "^4.0.0", - "zwitch": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-to-estree/node_modules/comma-separated-tokens": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.2.tgz", - "integrity": "sha512-G5yTt3KQN4Yn7Yk4ed73hlZ1evrFKXeUW3086p3PRFNp7m2vIjI6Pg+Kgb+oyzhd9F2qdcoj67+y3SdxL5XWsg==", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/hast-util-to-estree/node_modules/hast-util-whitespace": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-2.0.0.tgz", - "integrity": "sha512-Pkw+xBHuV6xFeJprJe2BBEoDV+AvQySaz3pPDRUs5PNZEMQjpXJJueqrpcHIXxnWTcAGi/UOCgVShlkY6kLoqg==", - "dev": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-to-estree/node_modules/property-information": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.1.1.tgz", - "integrity": "sha512-hrzC564QIl0r0vy4l6MvRLhafmUowhO/O3KgVSoXIbbA2Sz4j8HGpJc6T2cubRVwMwpdiG/vKGfhT4IixmKN9w==", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/hast-util-to-estree/node_modules/space-separated-tokens": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.1.tgz", - "integrity": "sha512-ekwEbFp5aqSPKaqeY1PGrlGQxPNaq+Cnx4+bE2D8sciBQrHpbwoBbawqTN2+6jPs9IdWxxiUcN0K2pkczD3zmw==", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/hast-util-to-html": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-7.1.3.tgz", - "integrity": "sha512-yk2+1p3EJTEE9ZEUkgHsUSVhIpCsL/bvT8E5GzmWc+N1Po5gBw+0F8bo7dpxXR0nu0bQVxVZGX2lBGF21CmeDw==", - "dev": true, - "license": "MIT", - "dependencies": { - "ccount": "^1.0.0", - "comma-separated-tokens": "^1.0.0", - "hast-util-is-element": "^1.0.0", - "hast-util-whitespace": "^1.0.0", - "html-void-elements": "^1.0.0", - "property-information": "^5.0.0", - "space-separated-tokens": "^1.0.0", - "stringify-entities": "^3.0.1", - "unist-util-is": "^4.0.0", - "xtend": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hast-util-whitespace": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-1.0.4.tgz", - "integrity": "sha512-I5GTdSfhYfAPNztx2xJRQpG8cuDSNt599/7YUn7Gx/WxNMsG+a835k97TDkFgk123cwjfwINaZknkKkphx/f2A==", - "dev": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/hosted-git-info": { - "version": "2.8.9", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", - "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", - "dev": true, - "license": "ISC" - }, - "node_modules/html-void-elements": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-1.0.5.tgz", - "integrity": "sha512-uE/TxKuyNIcx44cIWnjr/rfIATDH7ZaOMmstu0CwhFG1Dunhlp4OC6/NMbhiwoq5BpW0ubi303qnEk/PZj614w==", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "license": "MIT", - "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=10.17.0" - } - }, - "node_modules/husky": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/husky/-/husky-7.0.4.tgz", - "integrity": "sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ==", - "dev": true, - "license": "MIT", - "bin": { - "husky": "lib/bin.js" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/typicode" - } - }, - "node_modules/iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "license": "MIT", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "BSD-3-Clause" - }, - "node_modules/ignore": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", - "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "license": "MIT", - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/indexes-of": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", - "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", - "dev": true, - "license": "MIT" - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, - "license": "ISC", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "license": "ISC" - }, - "node_modules/inline-style-parser": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.1.1.tgz", - "integrity": "sha512-7NXolsK4CAS5+xvdj5OMMbI962hU/wvwoxk+LWR9Ek9bVtyuuYScDN6eS0rUm6TxApFpw7CX1o4uJzcd4AyD3Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/internal-slot": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", - "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", - "dev": true, - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.1.0", - "has": "^1.0.3", - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/intersection-observer": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/intersection-observer/-/intersection-observer-0.10.0.tgz", - "integrity": "sha512-fn4bQ0Xq8FTej09YC/jqKZwtijpvARlRp6wxL5WTA6yPe2YWSJ5RJh7Nm79rK2qB0wr6iDQzH60XGq5V/7u8YQ==", - "license": "W3C-20150513" - }, - "node_modules/invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.0.0" - } - }, - "node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "license": "MIT", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/is-absolute-url": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", - "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-alphabetical": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz", - "integrity": "sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg==", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-alphanumeric": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-alphanumeric/-/is-alphanumeric-1.0.0.tgz", - "integrity": "sha1-Spzvcdr0wAHB2B1j0UDPU/1oifQ=", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-alphanumerical": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz", - "integrity": "sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-alphabetical": "^1.0.0", - "is-decimal": "^1.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true, - "license": "MIT" - }, - "node_modules/is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-bigints": "^1.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "license": "MIT", - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-boolean-object": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", - "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-buffer": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-2.0.5.tgz", - "integrity": "sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/is-callable": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", - "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-ci": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-3.0.1.tgz", - "integrity": "sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ci-info": "^3.2.0" - }, - "bin": { - "is-ci": "bin.js" - } - }, - "node_modules/is-core-module": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz", - "integrity": "sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==", - "dev": true, - "license": "MIT", - "dependencies": { - "has": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-decimal": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-1.0.4.tgz", - "integrity": "sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw==", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "dev": true, - "license": "MIT", - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-hexadecimal": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz", - "integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-negative-zero": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", - "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "license": "MIT", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-number-object": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.6.tgz", - "integrity": "sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-plain-obj": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", - "integrity": "sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-reference": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.0.tgz", - "integrity": "sha512-Eo1W3wUoHWoCoVM4GVl/a+K0IgiqE5aIo4kJABFyMum1ZORlPkC+UC357sSQUL5w5QCE5kCC9upl75b7+7CY/Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree": "*" - } - }, - "node_modules/is-regex": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", - "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz", - "integrity": "sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-string": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", - "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-symbols": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-url": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/is-url/-/is-url-1.2.4.tgz", - "integrity": "sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==", - "dev": true, - "license": "MIT" - }, - "node_modules/is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-whitespace-character": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-whitespace-character/-/is-whitespace-character-1.0.4.tgz", - "integrity": "sha512-SDweEzfIZM0SJV0EUga669UTKlmL0Pq8Lno0QDQsPnvECB3IM2aP0gdx5TrU0A01MAPfViaZiI2V1QMZLaKK5w==", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-word-character": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-word-character/-/is-word-character-1.0.4.tgz", - "integrity": "sha512-5SMO8RVennx3nZrqtKwCGyyetPE9VDba5ugvKLaD4KopPG5kR4mQ7tNt/r7feL5yt5h3lpuBbIUmCOG2eSzXHA==", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-docker": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true, - "license": "ISC" - }, - "node_modules/jiti": { - "version": "1.21.0", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", - "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==", - "dev": true, - "license": "MIT", - "bin": { - "jiti": "bin/jiti.js" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "license": "MIT" - }, - "node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true, - "license": "MIT", - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", - "dev": true, - "license": "MIT" - }, - "node_modules/json5": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", - "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", - "dev": true, - "license": "MIT", - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "universalify": "^2.0.0" - }, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/jsx-ast-utils": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.2.1.tgz", - "integrity": "sha512-uP5vu8xfy2F9A6LGC22KO7e2/vGTS1MhP+18f++ZNlf0Ohaxbc9nIEwHAsejlJKyzfZzU5UIhe5ItYkitcZnZA==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-includes": "^3.1.3", - "object.assign": "^4.1.2" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/klaw-sync": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/klaw-sync/-/klaw-sync-6.0.0.tgz", - "integrity": "sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.1.11" - } - }, - "node_modules/kleur": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", - "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/language-subtag-registry": { - "version": "0.3.21", - "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.21.tgz", - "integrity": "sha512-L0IqwlIXjilBVVYKFT37X9Ih11Um5NEl9cbJIuU/SwP/zEEAbBPOnEeeuxVMf45ydWQRDQN3Nqc96OgbH1K+Pg==", - "dev": true, - "license": "ODC-By-1.0" - }, - "node_modules/language-tags": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.5.tgz", - "integrity": "sha1-0yHbxNowuovzAk4ED6XBRmH5GTo=", - "dev": true, - "license": "MIT", - "dependencies": { - "language-subtag-registry": "~0.3.2" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/lilconfig": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", - "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - } - }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true, - "license": "MIT" - }, - "node_modules/lint-staged": { - "version": "12.3.1", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-12.3.1.tgz", - "integrity": "sha512-Ocht/eT+4/siWOZDJpNUKcKX2UeWW/pDbohJ4gRsrafAjBi79JK8kiNVk2ciIVNKdw0Q4ABptl2nr6uQAlRImw==", - "dev": true, - "license": "MIT", - "dependencies": { - "cli-truncate": "^3.1.0", - "colorette": "^2.0.16", - "commander": "^8.3.0", - "debug": "^4.3.3", - "execa": "^5.1.1", - "lilconfig": "2.0.4", - "listr2": "^4.0.1", - "micromatch": "^4.0.4", - "normalize-path": "^3.0.0", - "object-inspect": "^1.12.0", - "string-argv": "^0.3.1", - "supports-color": "^9.2.1", - "yaml": "^1.10.2" - }, - "bin": { - "lint-staged": "bin/lint-staged.js" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/lint-staged" - } - }, - "node_modules/lint-staged/node_modules/commander": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", - "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 12" - } - }, - "node_modules/lint-staged/node_modules/lilconfig": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.4.tgz", - "integrity": "sha512-bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - } - }, - "node_modules/lint-staged/node_modules/supports-color": { - "version": "9.2.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-9.2.1.tgz", - "integrity": "sha512-Obv7ycoCTG51N7y175StI9BlAXrmgZrFhZOb0/PyjHBher/NmsdBgbbQ1Inhq+gIhz6+7Gb+jWF2Vqi7Mf1xnQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/listr2": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-4.0.1.tgz", - "integrity": "sha512-D65Nl+zyYHL2jQBGmxtH/pU8koPZo5C8iCNE8EoB04RwPgQG1wuaKwVbeZv9LJpiH4Nxs0FCp+nNcG8OqpniiA==", - "dev": true, - "license": "MIT", - "dependencies": { - "cli-truncate": "^2.1.0", - "colorette": "^2.0.16", - "log-update": "^4.0.0", - "p-map": "^4.0.0", - "rfdc": "^1.3.0", - "rxjs": "^7.5.2", - "through": "^2.3.8", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - }, - "peerDependencies": { - "enquirer": ">= 2.3.0 < 3" - }, - "peerDependenciesMeta": { - "enquirer": { - "optional": true - } - } - }, - "node_modules/listr2/node_modules/cli-truncate": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-2.1.0.tgz", - "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", - "dev": true, - "license": "MIT", - "dependencies": { - "slice-ansi": "^3.0.0", - "string-width": "^4.2.0" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/listr2/node_modules/slice-ansi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-3.0.0.tgz", - "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/load-json-file": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.throttle": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", - "integrity": "sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.truncate": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.truncate/-/lodash.truncate-4.4.2.tgz", - "integrity": "sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=", - "dev": true, - "license": "MIT" - }, - "node_modules/log-update": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/log-update/-/log-update-4.0.0.tgz", - "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-escapes": "^4.3.0", - "cli-cursor": "^3.1.0", - "slice-ansi": "^4.0.0", - "wrap-ansi": "^6.2.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/log-update/node_modules/wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/longest-streak": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-2.0.4.tgz", - "integrity": "sha512-vM6rUVCVUJJt33bnmHiZEvr7wPT78ztX7rojL+LW51bHtLh6HTjx84LA5W4+oa6aKEJA7jJu5LR6vQRBpA5DVg==", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "license": "MIT", - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" - } - }, - "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/lz-string": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/lz-string/-/lz-string-1.4.4.tgz", - "integrity": "sha1-wNjq82BZ9wV5bh40SBHPTEmNOiY=", - "license": "WTFPL", - "bin": { - "lz-string": "bin/bin.js" - } - }, - "node_modules/markdown-escapes": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/markdown-escapes/-/markdown-escapes-1.0.4.tgz", - "integrity": "sha512-8z4efJYk43E0upd0NbVXwgSTQs6cT3T06etieCMEg7dRbzCbxUCK/GHlX8mhHRDcp+OLlHkPKsvqQTCvsRl2cg==", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/markdown-extensions": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/markdown-extensions/-/markdown-extensions-1.1.1.tgz", - "integrity": "sha512-WWC0ZuMzCyDHYCasEGs4IPvLyTGftYwh6wIEOULOF0HXcqZlhwRzrK0w2VUlxWA98xnvb/jszw4ZSkJ6ADpM6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/markdown-table": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-2.0.0.tgz", - "integrity": "sha512-Ezda85ToJUBhM6WGaG6veasyym+Tbs3cMAw/ZhOPqXiYsr0jgocBV3j3nx+4lk47plLlIqjwuTm/ywVI+zjJ/A==", - "dev": true, - "license": "MIT", - "dependencies": { - "repeat-string": "^1.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/mdast-util-compact": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-compact/-/mdast-util-compact-2.0.1.tgz", - "integrity": "sha512-7GlnT24gEwDrdAwEHrU4Vv5lLWrEer4KOkAiKT9nYstsTad7Oc1TwqT2zIMKRdZF7cTuaf+GA1E4Kv7jJh8mPA==", - "dev": true, - "license": "MIT", - "dependencies": { - "unist-util-visit": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-definitions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-3.0.1.tgz", - "integrity": "sha512-BAv2iUm/e6IK/b2/t+Fx69EL/AGcq/IG2S+HxHjDJGfLJtd6i9SZUS76aC9cig+IEucsqxKTR0ot3m933R3iuA==", - "dev": true, - "license": "MIT", - "dependencies": { - "unist-util-visit": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-find-and-replace": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-2.2.1.tgz", - "integrity": "sha512-SobxkQXFAdd4b5WmEakmkVoh18icjQRxGy5OWTCzgsLRm1Fu/KCtwD1HIQSsmq5ZRjVH0Ehwg6/Fn3xIUk+nKw==", - "license": "MIT", - "dependencies": { - "escape-string-regexp": "^5.0.0", - "unist-util-is": "^5.0.0", - "unist-util-visit-parents": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-find-and-replace/node_modules/escape-string-regexp": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", - "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/mdast-util-find-and-replace/node_modules/unist-util-is": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.1.1.tgz", - "integrity": "sha512-F5CZ68eYzuSvJjGhCLPL3cYx45IxkqXSetCcRgUXtbcm50X2L9oOWQlfUfDdAf+6Pd27YDblBfdtmsThXmwpbQ==", - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-find-and-replace/node_modules/unist-util-visit-parents": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.0.tgz", - "integrity": "sha512-y+QVLcY5eR/YVpqDsLf/xh9R3Q2Y4HxkZTp7ViLDU6WtJCEcPmRzW1gpdWDCDIqIlhuPDXOgttqPlykrHYDekg==", - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-from-markdown": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-1.2.0.tgz", - "integrity": "sha512-iZJyyvKD1+K7QX1b5jXdE7Sc5dtoTry1vzV28UZZe8Z1xVnB/czKntJ7ZAkG0tANqRnBF6p3p7GpU1y19DTf2Q==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^3.0.0", - "@types/unist": "^2.0.0", - "decode-named-character-reference": "^1.0.0", - "mdast-util-to-string": "^3.1.0", - "micromark": "^3.0.0", - "micromark-util-decode-numeric-character-reference": "^1.0.0", - "micromark-util-decode-string": "^1.0.0", - "micromark-util-normalize-identifier": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "unist-util-stringify-position": "^3.0.0", - "uvu": "^0.5.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-from-markdown/node_modules/mdast-util-to-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.1.0.tgz", - "integrity": "sha512-n4Vypz/DZgwo0iMHLQL49dJzlp7YtAJP+N07MZHpjPf/5XJuHUWstviF4Mn2jEiR/GNmtnRRqnwsXExk3igfFA==", - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-frontmatter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-frontmatter/-/mdast-util-frontmatter-1.0.0.tgz", - "integrity": "sha512-7itKvp0arEVNpCktOET/eLFAYaZ+0cNjVtFtIPxgQ5tV+3i+D4SDDTjTzPWl44LT59PC+xdx+glNTawBdF98Mw==", - "license": "MIT", - "dependencies": { - "micromark-extension-frontmatter": "^1.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-2.0.1.tgz", - "integrity": "sha512-42yHBbfWIFisaAfV1eixlabbsa6q7vHeSPY+cg+BBjX51M8xhgMacqH9g6TftB/9+YkcI0ooV4ncfrJslzm/RQ==", - "license": "MIT", - "dependencies": { - "mdast-util-from-markdown": "^1.0.0", - "mdast-util-gfm-autolink-literal": "^1.0.0", - "mdast-util-gfm-footnote": "^1.0.0", - "mdast-util-gfm-strikethrough": "^1.0.0", - "mdast-util-gfm-table": "^1.0.0", - "mdast-util-gfm-task-list-item": "^1.0.0", - "mdast-util-to-markdown": "^1.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-autolink-literal": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-1.0.2.tgz", - "integrity": "sha512-FzopkOd4xTTBeGXhXSBU0OCDDh5lUj2rd+HQqG92Ld+jL4lpUfgX2AT2OHAVP9aEeDKp7G92fuooSZcYJA3cRg==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^3.0.0", - "ccount": "^2.0.0", - "mdast-util-find-and-replace": "^2.0.0", - "micromark-util-character": "^1.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-autolink-literal/node_modules/ccount": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", - "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/mdast-util-gfm-footnote": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-1.0.1.tgz", - "integrity": "sha512-p+PrYlkw9DeCRkTVw1duWqPRHX6Ywh2BNKJQcZbCwAuP/59B0Lk9kakuAd7KbQprVO4GzdW8eS5++A9PUSqIyw==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^3.0.0", - "mdast-util-to-markdown": "^1.3.0", - "micromark-util-normalize-identifier": "^1.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-strikethrough": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-1.0.1.tgz", - "integrity": "sha512-zKJbEPe+JP6EUv0mZ0tQUyLQOC+FADt0bARldONot/nefuISkaZFlmVK4tU6JgfyZGrky02m/I6PmehgAgZgqg==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^3.0.0", - "mdast-util-to-markdown": "^1.3.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-table": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-1.0.6.tgz", - "integrity": "sha512-uHR+fqFq3IvB3Rd4+kzXW8dmpxUhvgCQZep6KdjsLK4O6meK5dYZEayLtIxNus1XO3gfjfcIFe8a7L0HZRGgag==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^3.0.0", - "markdown-table": "^3.0.0", - "mdast-util-from-markdown": "^1.0.0", - "mdast-util-to-markdown": "^1.3.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-gfm-table/node_modules/markdown-table": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.2.tgz", - "integrity": "sha512-y8j3a5/DkJCmS5x4dMCQL+OR0+2EAq3DOtio1COSHsmW2BGXnNCK3v12hJt1LrUz5iZH5g0LmuYOjDdI+czghA==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/mdast-util-gfm-task-list-item": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-1.0.1.tgz", - "integrity": "sha512-KZ4KLmPdABXOsfnM6JHUIjxEvcx2ulk656Z/4Balw071/5qgnhz+H1uGtf2zIGnrnvDC8xR4Fj9uKbjAFGNIeA==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^3.0.0", - "mdast-util-to-markdown": "^1.3.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-mdx": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-2.0.0.tgz", - "integrity": "sha512-M09lW0CcBT1VrJUaF/PYxemxxHa7SLDHdSn94Q9FhxjCQfuW7nMAWKWimTmA3OyDMSTH981NN1csW1X+HPSluw==", - "dev": true, - "license": "MIT", - "dependencies": { - "mdast-util-mdx-expression": "^1.0.0", - "mdast-util-mdx-jsx": "^2.0.0", - "mdast-util-mdxjs-esm": "^1.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-mdx-expression": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-1.3.0.tgz", - "integrity": "sha512-9kTO13HaL/ChfzVCIEfDRdp1m5hsvsm6+R8yr67mH+KS2ikzZ0ISGLPTbTswOFpLLlgVHO9id3cul4ajutCvCA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^2.0.0", - "@types/mdast": "^3.0.0", - "mdast-util-from-markdown": "^1.0.0", - "mdast-util-to-markdown": "^1.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-mdx-jsx": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-2.1.0.tgz", - "integrity": "sha512-KzgzfWMhdteDkrY4mQtyvTU5bc/W4ppxhe9SzelO6QUUiwLAM+Et2Dnjjprik74a336kHdo0zKm7Tp+n6FFeRg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^2.0.0", - "@types/mdast": "^3.0.0", - "ccount": "^2.0.0", - "mdast-util-to-markdown": "^1.3.0", - "parse-entities": "^4.0.0", - "stringify-entities": "^4.0.0", - "unist-util-remove-position": "^4.0.0", - "unist-util-stringify-position": "^3.0.0", - "vfile-message": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-mdx-jsx/node_modules/ccount": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", - "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/mdast-util-mdx-jsx/node_modules/character-entities-html4": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", - "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/mdast-util-mdx-jsx/node_modules/character-entities-legacy": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", - "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/mdast-util-mdx-jsx/node_modules/character-reference-invalid": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", - "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/mdast-util-mdx-jsx/node_modules/is-alphabetical": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", - "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/mdast-util-mdx-jsx/node_modules/is-alphanumerical": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", - "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-alphabetical": "^2.0.0", - "is-decimal": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/mdast-util-mdx-jsx/node_modules/is-decimal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", - "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/mdast-util-mdx-jsx/node_modules/is-hexadecimal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", - "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/mdast-util-mdx-jsx/node_modules/parse-entities": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.0.tgz", - "integrity": "sha512-5nk9Fn03x3rEhGaX1FU6IDwG/k+GxLXlFAkgrbM1asuAFl3BhdQWvASaIsmwWypRNcZKHPYnIuOSfIWEyEQnPQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "character-entities": "^2.0.0", - "character-entities-legacy": "^3.0.0", - "character-reference-invalid": "^2.0.0", - "decode-named-character-reference": "^1.0.0", - "is-alphanumerical": "^2.0.0", - "is-decimal": "^2.0.0", - "is-hexadecimal": "^2.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/mdast-util-mdx-jsx/node_modules/stringify-entities": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.3.tgz", - "integrity": "sha512-BP9nNHMhhfcMbiuQKCqMjhDP5yBCAxsPu4pHFFzJ6Alo9dZgY4VLDPutXqIjpRiMoKdp7Av85Gr73Q5uH9k7+g==", - "dev": true, - "license": "MIT", - "dependencies": { - "character-entities-html4": "^2.0.0", - "character-entities-legacy": "^3.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/mdast-util-mdx-jsx/node_modules/unist-util-is": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.1.1.tgz", - "integrity": "sha512-F5CZ68eYzuSvJjGhCLPL3cYx45IxkqXSetCcRgUXtbcm50X2L9oOWQlfUfDdAf+6Pd27YDblBfdtmsThXmwpbQ==", - "dev": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-mdx-jsx/node_modules/unist-util-remove-position": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-4.0.1.tgz", - "integrity": "sha512-0yDkppiIhDlPrfHELgB+NLQD5mfjup3a8UYclHruTJWmY74je8g+CIFr79x5f6AkmzSwlvKLbs63hC0meOMowQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-visit": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-mdx-jsx/node_modules/unist-util-visit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.0.tgz", - "integrity": "sha512-n7lyhFKJfVZ9MnKtqbsqkQEk5P1KShj0+//V7mAcoI6bpbUjh3C/OG8HVD+pBihfh6Ovl01m8dkcv9HNqYajmQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^5.0.0", - "unist-util-visit-parents": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-mdx-jsx/node_modules/unist-util-visit-parents": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.0.tgz", - "integrity": "sha512-y+QVLcY5eR/YVpqDsLf/xh9R3Q2Y4HxkZTp7ViLDU6WtJCEcPmRzW1gpdWDCDIqIlhuPDXOgttqPlykrHYDekg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-mdxjs-esm": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-1.3.0.tgz", - "integrity": "sha512-7N5ihsOkAEGjFotIX9p/YPdl4TqUoMxL4ajNz7PbT89BqsdWJuBC9rvgt6wpbwTZqWWR0jKWqQbwsOWDBUZv4g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree-jsx": "^1.0.0", - "@types/hast": "^2.0.0", - "@types/mdast": "^3.0.0", - "mdast-util-from-markdown": "^1.0.0", - "mdast-util-to-markdown": "^1.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-hast": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-9.1.2.tgz", - "integrity": "sha512-OpkFLBC2VnNAb2FNKcKWu9FMbJhQKog+FCT8nuKmQNIKXyT1n3SIskE7uWDep6x+cA20QXlK5AETHQtYmQmxtQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/mdast": "^3.0.0", - "@types/unist": "^2.0.0", - "mdast-util-definitions": "^3.0.0", - "mdurl": "^1.0.0", - "unist-builder": "^2.0.0", - "unist-util-generated": "^1.0.0", - "unist-util-position": "^3.0.0", - "unist-util-visit": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-hast/node_modules/unist-util-position": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-3.1.0.tgz", - "integrity": "sha512-w+PkwCbYSFw8vpgWD0v7zRCl1FpY3fjDSQ3/N/wNd9Ffa4gPi8+4keqt99N3XW6F99t/mUzp2xAhNmfKWp95QA==", - "dev": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-markdown": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-1.3.0.tgz", - "integrity": "sha512-6tUSs4r+KK4JGTTiQ7FfHmVOaDrLQJPmpjD6wPMlHGUVXoG9Vjc3jIeP+uyBWRf8clwB2blM+W7+KrlMYQnftA==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^3.0.0", - "@types/unist": "^2.0.0", - "longest-streak": "^3.0.0", - "mdast-util-to-string": "^3.0.0", - "micromark-util-decode-string": "^1.0.0", - "unist-util-visit": "^4.0.0", - "zwitch": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-markdown/node_modules/longest-streak": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.0.1.tgz", - "integrity": "sha512-cHlYSUpL2s7Fb3394mYxwTYj8niTaNHUCLr0qdiCXQfSjfuA7CKofpX2uSwEfFDQ0EB7JcnMnm+GjbqqoinYYg==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/mdast-util-to-markdown/node_modules/mdast-util-to-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.1.0.tgz", - "integrity": "sha512-n4Vypz/DZgwo0iMHLQL49dJzlp7YtAJP+N07MZHpjPf/5XJuHUWstviF4Mn2jEiR/GNmtnRRqnwsXExk3igfFA==", - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-markdown/node_modules/unist-util-is": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.1.1.tgz", - "integrity": "sha512-F5CZ68eYzuSvJjGhCLPL3cYx45IxkqXSetCcRgUXtbcm50X2L9oOWQlfUfDdAf+6Pd27YDblBfdtmsThXmwpbQ==", - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-markdown/node_modules/unist-util-visit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.0.tgz", - "integrity": "sha512-n7lyhFKJfVZ9MnKtqbsqkQEk5P1KShj0+//V7mAcoI6bpbUjh3C/OG8HVD+pBihfh6Ovl01m8dkcv9HNqYajmQ==", - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^5.0.0", - "unist-util-visit-parents": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-markdown/node_modules/unist-util-visit-parents": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.0.tgz", - "integrity": "sha512-y+QVLcY5eR/YVpqDsLf/xh9R3Q2Y4HxkZTp7ViLDU6WtJCEcPmRzW1gpdWDCDIqIlhuPDXOgttqPlykrHYDekg==", - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdast-util-to-string": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-1.1.0.tgz", - "integrity": "sha512-jVU0Nr2B9X3MU4tSK7JP1CMkSvOj7X5l/GboG1tKRw52lLF1x2Ju92Ms9tNetCcbfX3hzlM73zYo2NKkWSfF/A==", - "dev": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/mdurl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", - "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=", - "dev": true, - "license": "MIT" - }, - "node_modules/media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/memorystream": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/memorystream/-/memorystream-0.3.1.tgz", - "integrity": "sha1-htcJCzDORV1j+64S3aUaR93K+bI=", - "dev": true, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", - "license": "MIT" - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true, - "license": "MIT" - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/metro-cache": { - "version": "0.72.2", - "resolved": "https://registry.npmjs.org/metro-cache/-/metro-cache-0.72.2.tgz", - "integrity": "sha512-0Yw3J32eYTp7x7bAAg+a9ScBG/mpib6Wq4WPSYvhoNilPFHzh7knLDMil3WGVCQlI1r+5xtpw/FDhNVKuypQqg==", - "dev": true, - "license": "MIT", - "dependencies": { - "metro-core": "0.72.2", - "rimraf": "^2.5.4" - } - }, - "node_modules/metro-core": { - "version": "0.72.2", - "resolved": "https://registry.npmjs.org/metro-core/-/metro-core-0.72.2.tgz", - "integrity": "sha512-OXNH8UbKIhvpyHGJrdQYnPUmyPHSuVY4OO6pQxODdTW+uiO68PPPgIIVN67vlCAirZolxRFpma70N7m0sGCZyg==", - "dev": true, - "license": "MIT", - "dependencies": { - "lodash.throttle": "^4.1.1", - "metro-resolver": "0.72.2" - } - }, - "node_modules/metro-resolver": { - "version": "0.72.2", - "resolved": "https://registry.npmjs.org/metro-resolver/-/metro-resolver-0.72.2.tgz", - "integrity": "sha512-5KTWolUgA6ivLkg3DmFS2WltphBPQW7GT7An+6Izk/NU+y/6crmsoaLmNxjpZo4Fv+i/FxDSXqpbpQ6KrRWvlQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "absolute-path": "^0.0.0" - } - }, - "node_modules/micromark": { - "version": "3.0.10", - "resolved": "https://registry.npmjs.org/micromark/-/micromark-3.0.10.tgz", - "integrity": "sha512-ryTDy6UUunOXy2HPjelppgJ2sNfcPz1pLlMdA6Rz9jPzhLikWXv/irpWV/I2jd68Uhmny7hHxAlAhk4+vWggpg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "@types/debug": "^4.0.0", - "debug": "^4.0.0", - "decode-named-character-reference": "^1.0.0", - "micromark-core-commonmark": "^1.0.1", - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-chunked": "^1.0.0", - "micromark-util-combine-extensions": "^1.0.0", - "micromark-util-decode-numeric-character-reference": "^1.0.0", - "micromark-util-encode": "^1.0.0", - "micromark-util-normalize-identifier": "^1.0.0", - "micromark-util-resolve-all": "^1.0.0", - "micromark-util-sanitize-uri": "^1.0.0", - "micromark-util-subtokenize": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.1", - "uvu": "^0.5.0" - } - }, - "node_modules/micromark-core-commonmark": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-1.0.6.tgz", - "integrity": "sha512-K+PkJTxqjFfSNkfAhp4GB+cZPfQd6dxtTXnf+RjZOV7T4EEXnvgzOcnp+eSTmpGk9d1S9sL6/lqrgSNn/s0HZA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "decode-named-character-reference": "^1.0.0", - "micromark-factory-destination": "^1.0.0", - "micromark-factory-label": "^1.0.0", - "micromark-factory-space": "^1.0.0", - "micromark-factory-title": "^1.0.0", - "micromark-factory-whitespace": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-chunked": "^1.0.0", - "micromark-util-classify-character": "^1.0.0", - "micromark-util-html-tag-name": "^1.0.0", - "micromark-util-normalize-identifier": "^1.0.0", - "micromark-util-resolve-all": "^1.0.0", - "micromark-util-subtokenize": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.1", - "uvu": "^0.5.0" - } - }, - "node_modules/micromark-extension-frontmatter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-frontmatter/-/micromark-extension-frontmatter-1.0.0.tgz", - "integrity": "sha512-EXjmRnupoX6yYuUJSQhrQ9ggK0iQtQlpi6xeJzVD5xscyAI+giqco5fdymayZhJMbIFecjnE2yz85S9NzIgQpg==", - "license": "MIT", - "dependencies": { - "fault": "^2.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-2.0.1.tgz", - "integrity": "sha512-p2sGjajLa0iYiGQdT0oelahRYtMWvLjy8J9LOCxzIQsllMCGLbsLW+Nc+N4vi02jcRJvedVJ68cjelKIO6bpDA==", - "license": "MIT", - "dependencies": { - "micromark-extension-gfm-autolink-literal": "^1.0.0", - "micromark-extension-gfm-footnote": "^1.0.0", - "micromark-extension-gfm-strikethrough": "^1.0.0", - "micromark-extension-gfm-table": "^1.0.0", - "micromark-extension-gfm-tagfilter": "^1.0.0", - "micromark-extension-gfm-task-list-item": "^1.0.0", - "micromark-util-combine-extensions": "^1.0.0", - "micromark-util-types": "^1.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-autolink-literal": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-1.0.3.tgz", - "integrity": "sha512-i3dmvU0htawfWED8aHMMAzAVp/F0Z+0bPh3YrbTPPL1v4YAlCZpy5rBO5p0LPYiZo0zFVkoYh7vDU7yQSiCMjg==", - "license": "MIT", - "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-sanitize-uri": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-footnote": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-1.0.4.tgz", - "integrity": "sha512-E/fmPmDqLiMUP8mLJ8NbJWJ4bTw6tS+FEQS8CcuDtZpILuOb2kjLqPEeAePF1djXROHXChM/wPJw0iS4kHCcIg==", - "license": "MIT", - "dependencies": { - "micromark-core-commonmark": "^1.0.0", - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-normalize-identifier": "^1.0.0", - "micromark-util-sanitize-uri": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-strikethrough": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-1.0.4.tgz", - "integrity": "sha512-/vjHU/lalmjZCT5xt7CcHVJGq8sYRm80z24qAKXzaHzem/xsDYb2yLL+NNVbYvmpLx3O7SYPuGL5pzusL9CLIQ==", - "license": "MIT", - "dependencies": { - "micromark-util-chunked": "^1.0.0", - "micromark-util-classify-character": "^1.0.0", - "micromark-util-resolve-all": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-table": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-1.0.5.tgz", - "integrity": "sha512-xAZ8J1X9W9K3JTJTUL7G6wSKhp2ZYHrFk5qJgY/4B33scJzE2kpfRL6oiw/veJTbt7jiM/1rngLlOKPWr1G+vg==", - "license": "MIT", - "dependencies": { - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-tagfilter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-1.0.1.tgz", - "integrity": "sha512-Ty6psLAcAjboRa/UKUbbUcwjVAv5plxmpUTy2XC/3nJFL37eHej8jrHrRzkqcpipJliuBH30DTs7+3wqNcQUVA==", - "license": "MIT", - "dependencies": { - "micromark-util-types": "^1.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-gfm-task-list-item": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-1.0.3.tgz", - "integrity": "sha512-PpysK2S1Q/5VXi72IIapbi/jliaiOFzv7THH4amwXeYXLq3l1uo8/2Be0Ac1rEwK20MQEsGH2ltAZLNY2KI/0Q==", - "license": "MIT", - "dependencies": { - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-mdx-expression": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-1.0.3.tgz", - "integrity": "sha512-TjYtjEMszWze51NJCZmhv7MEBcgYRgb3tJeMAJ+HQCAaZHHRBaDCccqQzGizR/H4ODefP44wRTgOn2vE5I6nZA==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-factory-mdx-expression": "^1.0.0", - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-events-to-acorn": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" - } - }, - "node_modules/micromark-extension-mdx-jsx": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-1.0.3.tgz", - "integrity": "sha512-VfA369RdqUISF0qGgv2FfV7gGjHDfn9+Qfiv5hEwpyr1xscRj/CiVRkU7rywGFCO7JwJ5L0e7CJz60lY52+qOA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/acorn": "^4.0.0", - "estree-util-is-identifier-name": "^2.0.0", - "micromark-factory-mdx-expression": "^1.0.0", - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0", - "vfile-message": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-mdx-md": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-mdx-md/-/micromark-extension-mdx-md-1.0.0.tgz", - "integrity": "sha512-xaRAMoSkKdqZXDAoSgp20Azm0aRQKGOl0RrS81yGu8Hr/JhMsBmfs4wR7m9kgVUIO36cMUQjNyiyDKPrsv8gOw==", - "dev": true, - "license": "MIT", - "dependencies": { - "micromark-util-types": "^1.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-mdxjs": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs/-/micromark-extension-mdxjs-1.0.0.tgz", - "integrity": "sha512-TZZRZgeHvtgm+IhtgC2+uDMR7h8eTKF0QUX9YsgoL9+bADBpBY6SiLvWqnBlLbCEevITmTqmEuY3FoxMKVs1rQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "acorn": "^8.0.0", - "acorn-jsx": "^5.0.0", - "micromark-extension-mdx-expression": "^1.0.0", - "micromark-extension-mdx-jsx": "^1.0.0", - "micromark-extension-mdx-md": "^1.0.0", - "micromark-extension-mdxjs-esm": "^1.0.0", - "micromark-util-combine-extensions": "^1.0.0", - "micromark-util-types": "^1.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-mdxjs-esm": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-1.0.3.tgz", - "integrity": "sha512-2N13ol4KMoxb85rdDwTAC6uzs8lMX0zeqpcyx7FhS7PxXomOnLactu8WI8iBNXW8AVyea3KIJd/1CKnUmwrK9A==", - "dev": true, - "license": "MIT", - "dependencies": { - "micromark-core-commonmark": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-events-to-acorn": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "unist-util-position-from-estree": "^1.1.0", - "uvu": "^0.5.0", - "vfile-message": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-extension-mdxjs/node_modules/acorn": { - "version": "8.8.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.0.tgz", - "integrity": "sha512-QOxyigPVrpZ2GXT+PFyZTl6TtOFc5egxHIP9IlQ+RbupQuX4RkT/Bee4/kQuC02Xkzg84JcT7oLYtDIQxp+v7w==", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/micromark-factory-destination": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-1.0.0.tgz", - "integrity": "sha512-eUBA7Rs1/xtTVun9TmV3gjfPz2wEwgK5R5xcbIM5ZYAtvGF6JkyaDsj0agx8urXnO31tEO6Ug83iVH3tdedLnw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/micromark-factory-label": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-1.0.2.tgz", - "integrity": "sha512-CTIwxlOnU7dEshXDQ+dsr2n+yxpP0+fn271pu0bwDIS8uqfFcumXpj5mLn3hSC8iw2MUr6Gx8EcKng1dD7i6hg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" - } - }, - "node_modules/micromark-factory-mdx-expression": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-1.0.6.tgz", - "integrity": "sha512-WRQIc78FV7KrCfjsEf/sETopbYjElh3xAmNpLkd1ODPqxEngP42eVRGbiPEQWpRV27LzqW+XVTvQAMIIRLPnNA==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-events-to-acorn": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "unist-util-position-from-estree": "^1.0.0", - "uvu": "^0.5.0", - "vfile-message": "^3.0.0" - } - }, - "node_modules/micromark-factory-space": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-1.0.0.tgz", - "integrity": "sha512-qUmqs4kj9a5yBnk3JMLyjtWYN6Mzfcx8uJfi5XAveBniDevmZasdGBba5b4QsvRcAkmvGo5ACmSUmyGiKTLZew==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/micromark-factory-title": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-1.0.2.tgz", - "integrity": "sha512-zily+Nr4yFqgMGRKLpTVsNl5L4PMu485fGFDOQJQBl2NFpjGte1e86zC0da93wf97jrc4+2G2GQudFMHn3IX+A==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" - } - }, - "node_modules/micromark-factory-whitespace": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-1.0.0.tgz", - "integrity": "sha512-Qx7uEyahU1lt1RnsECBiuEbfr9INjQTGa6Err+gF3g0Tx4YEviPbqqGKNv/NrBaE7dVHdn1bVZKM/n5I/Bak7A==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-factory-space": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/micromark-util-character": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-1.1.0.tgz", - "integrity": "sha512-agJ5B3unGNJ9rJvADMJ5ZiYjBRyDpzKAOk01Kpi1TKhlT1APx3XZk6eN7RtSz1erbWHC2L8T3xLZ81wdtGRZzg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/micromark-util-chunked": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-1.0.0.tgz", - "integrity": "sha512-5e8xTis5tEZKgesfbQMKRCyzvffRRUX+lK/y+DvsMFdabAicPkkZV6gO+FEWi9RfuKKoxxPwNL+dFF0SMImc1g==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^1.0.0" - } - }, - "node_modules/micromark-util-classify-character": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-1.0.0.tgz", - "integrity": "sha512-F8oW2KKrQRb3vS5ud5HIqBVkCqQi224Nm55o5wYLzY/9PwHGXC01tr3d7+TqHHz6zrKQ72Okwtvm/xQm6OVNZA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/micromark-util-combine-extensions": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-1.0.0.tgz", - "integrity": "sha512-J8H058vFBdo/6+AsjHp2NF7AJ02SZtWaVUjsayNFeAiydTxUwViQPxN0Hf8dp4FmCQi0UUFovFsEyRSUmFH3MA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-chunked": "^1.0.0", - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/micromark-util-decode-numeric-character-reference": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-1.0.0.tgz", - "integrity": "sha512-OzO9AI5VUtrTD7KSdagf4MWgHMtET17Ua1fIpXTpuhclCqD8egFWo85GxSGvxgkGS74bEahvtM0WP0HjvV0e4w==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^1.0.0" - } - }, - "node_modules/micromark-util-decode-string": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-1.0.2.tgz", - "integrity": "sha512-DLT5Ho02qr6QWVNYbRZ3RYOSSWWFuH3tJexd3dgN1odEuPNxCngTCXJum7+ViRAd9BbdxCvMToPOD/IvVhzG6Q==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "decode-named-character-reference": "^1.0.0", - "micromark-util-character": "^1.0.0", - "micromark-util-decode-numeric-character-reference": "^1.0.0", - "micromark-util-symbol": "^1.0.0" - } - }, - "node_modules/micromark-util-encode": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-1.0.1.tgz", - "integrity": "sha512-U2s5YdnAYexjKDel31SVMPbfi+eF8y1U4pfiRW/Y8EFVCy/vgxk/2wWTxzcqE71LHtCuCzlBDRU2a5CQ5j+mQA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-util-events-to-acorn": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-1.2.0.tgz", - "integrity": "sha512-WWp3bf7xT9MppNuw3yPjpnOxa8cj5ACivEzXJKu0WwnjBYfzaBvIAT9KfeyI0Qkll+bfQtfftSwdgTH6QhTOKw==", - "dev": true, - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "@types/acorn": "^4.0.0", - "@types/estree": "^1.0.0", - "estree-util-visit": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0", - "vfile-location": "^4.0.0", - "vfile-message": "^3.0.0" - } - }, - "node_modules/micromark-util-events-to-acorn/node_modules/vfile-location": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-4.0.1.tgz", - "integrity": "sha512-JDxPlTbZrZCQXogGheBHjbRWjESSPEak770XwWPfw5mTc1v1nWGLB/apzZxsx8a0SJVfF8HK8ql8RD308vXRUw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "vfile": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/micromark-util-html-tag-name": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-1.1.0.tgz", - "integrity": "sha512-BKlClMmYROy9UiV03SwNmckkjn8QHVaWkqoAqzivabvdGcwNGMMMH/5szAnywmsTBUzDsU57/mFi0sp4BQO6dA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-util-normalize-identifier": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-1.0.0.tgz", - "integrity": "sha512-yg+zrL14bBTFrQ7n35CmByWUTFsgst5JhA4gJYoty4Dqzj4Z4Fr/DHekSS5aLfH9bdlfnSvKAWsAgJhIbogyBg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-symbol": "^1.0.0" - } - }, - "node_modules/micromark-util-resolve-all": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-1.0.0.tgz", - "integrity": "sha512-CB/AGk98u50k42kvgaMM94wzBqozSzDDaonKU7P7jwQIuH2RU0TeBqGYJz2WY1UdihhjweivStrJ2JdkdEmcfw==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-types": "^1.0.0" - } - }, - "node_modules/micromark-util-sanitize-uri": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-1.0.0.tgz", - "integrity": "sha512-cCxvBKlmac4rxCGx6ejlIviRaMKZc0fWm5HdCHEeDWRSkn44l6NdYVRyU+0nT1XC72EQJMZV8IPHF+jTr56lAg==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-character": "^1.0.0", - "micromark-util-encode": "^1.0.0", - "micromark-util-symbol": "^1.0.0" - } - }, - "node_modules/micromark-util-subtokenize": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-1.0.2.tgz", - "integrity": "sha512-d90uqCnXp/cy4G881Ub4psE57Sf8YD0pim9QdjCRNjfas2M1u6Lbt+XZK9gnHL2XFhnozZiEdCa9CNfXSfQ6xA==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT", - "dependencies": { - "micromark-util-chunked": "^1.0.0", - "micromark-util-symbol": "^1.0.0", - "micromark-util-types": "^1.0.0", - "uvu": "^0.5.0" - } - }, - "node_modules/micromark-util-symbol": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-1.0.1.tgz", - "integrity": "sha512-oKDEMK2u5qqAptasDAwWDXq0tG9AssVwAx3E9bBF3t/shRIGsWIRG+cGafs2p/SnDSOecnt6hZPCE2o6lHfFmQ==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark-util-types": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-1.0.2.tgz", - "integrity": "sha512-DCfg/T8fcrhrRKTPjRrw/5LLvdGV7BHySf/1LOZx7TzWZdYRjogNtyNq885z3nNallwr3QUKARjqvHqX1/7t+w==", - "funding": [ - { - "type": "GitHub Sponsors", - "url": "https://github.com/sponsors/unifiedjs" - }, - { - "type": "OpenCollective", - "url": "https://opencollective.com/unified" - } - ], - "license": "MIT" - }, - "node_modules/micromark/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "license": "MIT", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", - "dev": true, - "license": "MIT", - "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "license": "MIT", - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "license": "MIT", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.7.tgz", - "integrity": "sha512-bzfL1YUZsP41gmu/qjrEk0Q6i2ix/cVeAhbCbqH9u3zYutS1cLg00qhrD0M2MVdCcx4Sc0UpP2eBWo9rotpq6g==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/mri": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/mri/-/mri-1.2.0.tgz", - "integrity": "sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/mrmime": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.0.tgz", - "integrity": "sha512-a70zx7zFfVO7XpnQ2IX1Myh9yY4UYvfld/dikWRnsXxbyvMcfz+u6UfgNAtH+k2QqtJuzVpv6eLTx1G2+WKZbQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - } - }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "license": "MIT" - }, - "node_modules/mz": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", - "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "any-promise": "^1.0.0", - "object-assign": "^4.0.1", - "thenify-all": "^1.0.0" - } - }, - "node_modules/nanoid": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.1.tgz", - "integrity": "sha512-n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==", - "dev": true, - "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", - "dev": true, - "license": "MIT" - }, - "node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/next": { - "version": "13.4.1", - "resolved": "https://registry.npmjs.org/next/-/next-13.4.1.tgz", - "integrity": "sha512-JBw2kAIyhKDpjhEWvNVoFeIzNp9xNxg8wrthDOtMctfn3EpqGCmW0FSviNyGgOSOSn6zDaX48pmvbdf6X2W9xA==", - "license": "MIT", - "dependencies": { - "@next/env": "13.4.1", - "@swc/helpers": "0.5.1", - "busboy": "1.6.0", - "caniuse-lite": "^1.0.30001406", - "postcss": "8.4.14", - "styled-jsx": "5.1.1", - "zod": "3.21.4" - }, - "bin": { - "next": "dist/bin/next" - }, - "engines": { - "node": ">=16.8.0" - }, - "optionalDependencies": { - "@next/swc-darwin-arm64": "13.4.1", - "@next/swc-darwin-x64": "13.4.1", - "@next/swc-linux-arm64-gnu": "13.4.1", - "@next/swc-linux-arm64-musl": "13.4.1", - "@next/swc-linux-x64-gnu": "13.4.1", - "@next/swc-linux-x64-musl": "13.4.1", - "@next/swc-win32-arm64-msvc": "13.4.1", - "@next/swc-win32-ia32-msvc": "13.4.1", - "@next/swc-win32-x64-msvc": "13.4.1" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.1.0", - "fibers": ">= 3.1.0", - "node-sass": "^6.0.0 || ^7.0.0", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "sass": "^1.3.0" - }, - "peerDependenciesMeta": { - "@opentelemetry/api": { - "optional": true - }, - "fibers": { - "optional": true - }, - "node-sass": { - "optional": true - }, - "sass": { - "optional": true - } - } - }, - "node_modules/next-remote-watch": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/next-remote-watch/-/next-remote-watch-1.0.0.tgz", - "integrity": "sha512-kV+pglCwcnKyqJIXPHUUrnZr9d3rCqCIEQWBkFYC02GDXHyKVmcFytoY6q0+wMIQqh/izIAQL1x6OKXZhksjLA==", - "license": "MPL-2.0", - "dependencies": { - "body-parser": "^1.19.0", - "chalk": "^4.0.0", - "chokidar": "^3.4.0", - "commander": "^5.0.0", - "express": "^4.17.1" - }, - "bin": { - "next-remote-watch": "bin/next-remote-watch" - } - }, - "node_modules/next-remote-watch/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/next-remote-watch/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/next-remote-watch/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/next-tick": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", - "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==", - "license": "ISC" - }, - "node_modules/next/node_modules/caniuse-lite": { - "version": "1.0.30001410", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001410.tgz", - "integrity": "sha512-QoblBnuE+rG0lc3Ur9ltP5q47lbguipa/ncNMyyGuqPk44FxbScWAeEO+k5fSQ8WekdAK4mWqNs1rADDAiN5xQ==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - } - ], - "license": "CC-BY-4.0" - }, - "node_modules/next/node_modules/nanoid": { - "version": "3.3.4", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", - "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", - "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/next/node_modules/postcss": { - "version": "8.4.14", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz", - "integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - } - ], - "license": "MIT", - "dependencies": { - "nanoid": "^3.3.4", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/nlcst-to-string": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/nlcst-to-string/-/nlcst-to-string-2.0.4.tgz", - "integrity": "sha512-3x3jwTd6UPG7vi5k4GEzvxJ5rDA7hVUIRNHPblKuMVP9Z3xmlsd9cgLcpAMkc5uPOBna82EeshROFhsPkbnTZg==", - "dev": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/node-releases": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz", - "integrity": "sha512-CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==", - "dev": true, - "license": "MIT" - }, - "node_modules/normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/npm-run-all": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz", - "integrity": "sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^3.2.1", - "chalk": "^2.4.1", - "cross-spawn": "^6.0.5", - "memorystream": "^0.3.1", - "minimatch": "^3.0.4", - "pidtree": "^0.3.0", - "read-pkg": "^3.0.0", - "shell-quote": "^1.6.1", - "string.prototype.padend": "^3.0.0" - }, - "bin": { - "npm-run-all": "bin/npm-run-all/index.js", - "run-p": "bin/run-p/index.js", - "run-s": "bin/run-s/index.js" - }, - "engines": { - "node": ">= 4" - } - }, - "node_modules/npm-run-all/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/npm-run-all/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/npm-run-all/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true, - "license": "MIT" - }, - "node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/num2fraction": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", - "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", - "dev": true, - "license": "MIT" - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-hash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", - "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, - "node_modules/object-inspect": { - "version": "1.12.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", - "integrity": "sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.entries": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.5.tgz", - "integrity": "sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.fromentries": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.5.tgz", - "integrity": "sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.hasown": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.0.tgz", - "integrity": "sha512-MhjYRfj3GBlhSkDHo6QmvgjRLXQ2zndabdf3nX0yTyZK9rPfxb6uRpAac8HXNLy1GpqWtZ81Qh4v3uOls2sRAg==", - "dev": true, - "license": "MIT", - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.values": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.5.tgz", - "integrity": "sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", - "license": "MIT", - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, - "license": "ISC", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "license": "MIT", - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/open": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-7.4.2.tgz", - "integrity": "sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-docker": "^2.0.0", - "is-wsl": "^2.1.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/opener": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", - "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", - "dev": true, - "license": "(WTFPL OR MIT)", - "bin": { - "opener": "bin/opener-bin.js" - } - }, - "node_modules/optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", - "dev": true, - "license": "MIT", - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/outvariant": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/outvariant/-/outvariant-1.4.0.tgz", - "integrity": "sha512-AlWY719RF02ujitly7Kk/0QlV+pXGFDHrHf9O2OKqyqgBieaPOIeuSkL8sRK6j2WK+/ZAURq2kZsY0d8JapUiw==", - "license": "MIT" - }, - "node_modules/p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "p-try": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "aggregate-error": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "license": "MIT", - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-entities": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-2.0.0.tgz", - "integrity": "sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "character-entities": "^1.0.0", - "character-entities-legacy": "^1.0.0", - "character-reference-invalid": "^1.0.0", - "is-alphanumerical": "^1.0.0", - "is-decimal": "^1.0.0", - "is-hexadecimal": "^1.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/parse-entities/node_modules/character-entities": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-1.2.4.tgz", - "integrity": "sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw==", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "dev": true, - "license": "MIT", - "dependencies": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/parse-latin": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/parse-latin/-/parse-latin-4.3.0.tgz", - "integrity": "sha512-TYKL+K98dcAWoCw/Ac1yrPviU8Trk+/gmjQVaoWEFDZmVD4KRg6c/80xKqNNFQObo2mTONgF8trzAf2UTwKafw==", - "dev": true, - "license": "MIT", - "dependencies": { - "nlcst-to-string": "^2.0.0", - "unist-util-modify-children": "^2.0.0", - "unist-util-visit-children": "^1.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/parse-numeric-range": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/parse-numeric-range/-/parse-numeric-range-1.3.0.tgz", - "integrity": "sha512-twN+njEipszzlMJd4ONUYgSfZPDxgHhT9Ahed5uTigpQn90FggW4SA/AIPq/6a149fTbE9qBEcSwE3FAEp6wQQ==", - "license": "ISC" - }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/patch-package": { - "version": "6.4.7", - "resolved": "https://registry.npmjs.org/patch-package/-/patch-package-6.4.7.tgz", - "integrity": "sha512-S0vh/ZEafZ17hbhgqdnpunKDfzHQibQizx9g8yEf5dcVk3KOflOfdufRXQX8CSEkyOQwuM/bNz1GwKvFj54kaQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@yarnpkg/lockfile": "^1.1.0", - "chalk": "^2.4.2", - "cross-spawn": "^6.0.5", - "find-yarn-workspace-root": "^2.0.0", - "fs-extra": "^7.0.1", - "is-ci": "^2.0.0", - "klaw-sync": "^6.0.0", - "minimist": "^1.2.0", - "open": "^7.4.2", - "rimraf": "^2.6.3", - "semver": "^5.6.0", - "slash": "^2.0.0", - "tmp": "^0.0.33" - }, - "bin": { - "patch-package": "index.js" - }, - "engines": { - "npm": ">5" - } - }, - "node_modules/patch-package/node_modules/ci-info": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/patch-package/node_modules/fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/patch-package/node_modules/is-ci": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", - "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", - "dev": true, - "license": "MIT", - "dependencies": { - "ci-info": "^2.0.0" - }, - "bin": { - "is-ci": "bin.js" - } - }, - "node_modules/patch-package/node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", - "dev": true, - "license": "MIT", - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/patch-package/node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true, - "license": "MIT" - }, - "node_modules/path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", - "license": "MIT" - }, - "node_modules/path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "dev": true, - "license": "MIT", - "dependencies": { - "pify": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/periscopic": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/periscopic/-/periscopic-3.0.4.tgz", - "integrity": "sha512-SFx68DxCv0Iyo6APZuw/AKewkkThGwssmU0QWtTlvov3VAtPX+QJ4CadwSaz8nrT5jPIuxdvJWB4PnD2KNDxQg==", - "dev": true, - "license": "MIT", - "dependencies": { - "estree-walker": "^3.0.0", - "is-reference": "^3.0.0" - } - }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "license": "ISC" - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pidtree": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/pidtree/-/pidtree-0.3.1.tgz", - "integrity": "sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==", - "dev": true, - "license": "MIT", - "bin": { - "pidtree": "bin/pidtree.js" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/pirates": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", - "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, - "node_modules/postcss": { - "version": "8.4.6", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.6.tgz", - "integrity": "sha512-OovjwIzs9Te46vlEx7+uXB0PLijpwjXGKXjVGGPIGubGpq7uh5Xgf6D6FiJ/SzJMBosHDp6a2hiXOS97iBXcaA==", - "dev": true, - "license": "MIT", - "dependencies": { - "nanoid": "^3.2.0", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-attribute-case-insensitive": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-attribute-case-insensitive/-/postcss-attribute-case-insensitive-4.0.2.tgz", - "integrity": "sha512-clkFxk/9pcdb4Vkn0hAHq3YnxBQ2p0CGD1dy24jN+reBck+EWxMbxSUqN4Yj7t0w8csl87K6p0gxBe1utkJsYA==", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss": "^7.0.2", - "postcss-selector-parser": "^6.0.2" - } - }, - "node_modules/postcss-attribute-case-insensitive/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true, - "license": "ISC" - }, - "node_modules/postcss-attribute-case-insensitive/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "license": "MIT", - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-attribute-case-insensitive/node_modules/postcss-selector-parser": { - "version": "6.0.9", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.9.tgz", - "integrity": "sha512-UO3SgnZOVTwu4kyLR22UQ1xZh086RyNZppb7lLAKBFK8a32ttG5i87Y/P3+2bRSjZNyJ1B7hfFNo273tKe9YxQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-color-functional-notation": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-2.0.1.tgz", - "integrity": "sha512-ZBARCypjEDofW4P6IdPVTLhDNXPRn8T2s1zHbZidW6rPaaZvcnCS2soYFIQJrMZSxiePJ2XIYTlcb2ztr/eT2g==", - "dev": true, - "license": "CC0-1.0", - "dependencies": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-color-functional-notation/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true, - "license": "ISC" - }, - "node_modules/postcss-color-functional-notation/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "license": "MIT", - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-color-gray": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-color-gray/-/postcss-color-gray-5.0.0.tgz", - "integrity": "sha512-q6BuRnAGKM/ZRpfDascZlIZPjvwsRye7UDNalqVz3s7GDxMtqPY6+Q871liNxsonUw8oC61OG+PSaysYpl1bnw==", - "dev": true, - "license": "ISC", - "dependencies": { - "@csstools/convert-colors": "^1.4.0", - "postcss": "^7.0.5", - "postcss-values-parser": "^2.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-color-gray/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true, - "license": "ISC" - }, - "node_modules/postcss-color-gray/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "license": "MIT", - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-color-hex-alpha": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/postcss-color-hex-alpha/-/postcss-color-hex-alpha-5.0.3.tgz", - "integrity": "sha512-PF4GDel8q3kkreVXKLAGNpHKilXsZ6xuu+mOQMHWHLPNyjiUBOr75sp5ZKJfmv1MCus5/DWUGcK9hm6qHEnXYw==", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss": "^7.0.14", - "postcss-values-parser": "^2.0.1" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-color-hex-alpha/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true, - "license": "ISC" - }, - "node_modules/postcss-color-hex-alpha/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "license": "MIT", - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-color-mod-function": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/postcss-color-mod-function/-/postcss-color-mod-function-3.0.3.tgz", - "integrity": "sha512-YP4VG+xufxaVtzV6ZmhEtc+/aTXH3d0JLpnYfxqTvwZPbJhWqp8bSY3nfNzNRFLgB4XSaBA82OE4VjOOKpCdVQ==", - "dev": true, - "license": "CC0-1.0", - "dependencies": { - "@csstools/convert-colors": "^1.4.0", - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-color-mod-function/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true, - "license": "ISC" - }, - "node_modules/postcss-color-mod-function/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "license": "MIT", - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-color-rebeccapurple": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-color-rebeccapurple/-/postcss-color-rebeccapurple-4.0.1.tgz", - "integrity": "sha512-aAe3OhkS6qJXBbqzvZth2Au4V3KieR5sRQ4ptb2b2O8wgvB3SJBsdG+jsn2BZbbwekDG8nTfcCNKcSfe/lEy8g==", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-color-rebeccapurple/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true, - "license": "ISC" - }, - "node_modules/postcss-color-rebeccapurple/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "license": "MIT", - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-custom-media": { - "version": "7.0.8", - "resolved": "https://registry.npmjs.org/postcss-custom-media/-/postcss-custom-media-7.0.8.tgz", - "integrity": "sha512-c9s5iX0Ge15o00HKbuRuTqNndsJUbaXdiNsksnVH8H4gdc+zbLzr/UasOwNG6CTDpLFekVY4672eWdiiWu2GUg==", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss": "^7.0.14" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-custom-media/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true, - "license": "ISC" - }, - "node_modules/postcss-custom-media/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "license": "MIT", - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-custom-properties": { - "version": "8.0.11", - "resolved": "https://registry.npmjs.org/postcss-custom-properties/-/postcss-custom-properties-8.0.11.tgz", - "integrity": "sha512-nm+o0eLdYqdnJ5abAJeXp4CEU1c1k+eB2yMCvhgzsds/e0umabFrN6HoTy/8Q4K5ilxERdl/JD1LO5ANoYBeMA==", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss": "^7.0.17", - "postcss-values-parser": "^2.0.1" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-custom-properties/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true, - "license": "ISC" - }, - "node_modules/postcss-custom-properties/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "license": "MIT", - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-custom-selectors": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/postcss-custom-selectors/-/postcss-custom-selectors-5.1.2.tgz", - "integrity": "sha512-DSGDhqinCqXqlS4R7KGxL1OSycd1lydugJ1ky4iRXPHdBRiozyMHrdu0H3o7qNOCiZwySZTUI5MV0T8QhCLu+w==", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss": "^7.0.2", - "postcss-selector-parser": "^5.0.0-rc.3" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-custom-selectors/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true, - "license": "ISC" - }, - "node_modules/postcss-custom-selectors/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "license": "MIT", - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-dir-pseudo-class": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-dir-pseudo-class/-/postcss-dir-pseudo-class-5.0.0.tgz", - "integrity": "sha512-3pm4oq8HYWMZePJY+5ANriPs3P07q+LW6FAdTlkFH2XqDdP4HeeJYMOzn0HYLhRSjBO3fhiqSwwU9xEULSrPgw==", - "dev": true, - "license": "CC0-1.0", - "dependencies": { - "postcss": "^7.0.2", - "postcss-selector-parser": "^5.0.0-rc.3" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/postcss-dir-pseudo-class/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true, - "license": "ISC" - }, - "node_modules/postcss-dir-pseudo-class/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "license": "MIT", - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-double-position-gradients": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/postcss-double-position-gradients/-/postcss-double-position-gradients-1.0.0.tgz", - "integrity": "sha512-G+nV8EnQq25fOI8CH/B6krEohGWnF5+3A6H/+JEpOncu5dCnkS1QQ6+ct3Jkaepw1NGVqqOZH6lqrm244mCftA==", - "dev": true, - "license": "CC0-1.0", - "dependencies": { - "postcss": "^7.0.5", - "postcss-values-parser": "^2.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-double-position-gradients/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true, - "license": "ISC" - }, - "node_modules/postcss-double-position-gradients/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "license": "MIT", - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-env-function": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/postcss-env-function/-/postcss-env-function-2.0.2.tgz", - "integrity": "sha512-rwac4BuZlITeUbiBq60h/xbLzXY43qOsIErngWa4l7Mt+RaSkT7QBjXVGTcBHupykkblHMDrBFh30zchYPaOUw==", - "dev": true, - "license": "CC0-1.0", - "dependencies": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-env-function/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true, - "license": "ISC" - }, - "node_modules/postcss-env-function/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "license": "MIT", - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-flexbugs-fixes": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-4.2.1.tgz", - "integrity": "sha512-9SiofaZ9CWpQWxOwRh1b/r85KD5y7GgvsNt1056k6OYLvWUun0czCvogfJgylC22uJTwW1KzY3Gz65NZRlvoiQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss": "^7.0.26" - } - }, - "node_modules/postcss-flexbugs-fixes/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true, - "license": "ISC" - }, - "node_modules/postcss-flexbugs-fixes/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "license": "MIT", - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-focus-visible": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-focus-visible/-/postcss-focus-visible-4.0.0.tgz", - "integrity": "sha512-Z5CkWBw0+idJHSV6+Bgf2peDOFf/x4o+vX/pwcNYrWpXFrSfTkQ3JQ1ojrq9yS+upnAlNRHeg8uEwFTgorjI8g==", - "dev": true, - "license": "CC0-1.0", - "dependencies": { - "postcss": "^7.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-focus-visible/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true, - "license": "ISC" - }, - "node_modules/postcss-focus-visible/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "license": "MIT", - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-focus-within": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-focus-within/-/postcss-focus-within-3.0.0.tgz", - "integrity": "sha512-W0APui8jQeBKbCGZudW37EeMCjDeVxKgiYfIIEo8Bdh5SpB9sxds/Iq8SEuzS0Q4YFOlG7EPFulbbxujpkrV2w==", - "dev": true, - "license": "CC0-1.0", - "dependencies": { - "postcss": "^7.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-focus-within/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true, - "license": "ISC" - }, - "node_modules/postcss-focus-within/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "license": "MIT", - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-font-variant": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-4.0.1.tgz", - "integrity": "sha512-I3ADQSTNtLTTd8uxZhtSOrTCQ9G4qUVKPjHiDk0bV75QSxXjVWiJVJ2VLdspGUi9fbW9BcjKJoRvxAH1pckqmA==", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss": "^7.0.2" - } - }, - "node_modules/postcss-font-variant/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true, - "license": "ISC" - }, - "node_modules/postcss-font-variant/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "license": "MIT", - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-gap-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-2.0.0.tgz", - "integrity": "sha512-QZSqDaMgXCHuHTEzMsS2KfVDOq7ZFiknSpkrPJY6jmxbugUPTuSzs/vuE5I3zv0WAS+3vhrlqhijiprnuQfzmg==", - "dev": true, - "license": "CC0-1.0", - "dependencies": { - "postcss": "^7.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-gap-properties/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true, - "license": "ISC" - }, - "node_modules/postcss-gap-properties/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "license": "MIT", - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-image-set-function": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/postcss-image-set-function/-/postcss-image-set-function-3.0.1.tgz", - "integrity": "sha512-oPTcFFip5LZy8Y/whto91L9xdRHCWEMs3e1MdJxhgt4jy2WYXfhkng59fH5qLXSCPN8k4n94p1Czrfe5IOkKUw==", - "dev": true, - "license": "CC0-1.0", - "dependencies": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-image-set-function/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true, - "license": "ISC" - }, - "node_modules/postcss-image-set-function/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "license": "MIT", - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-initial": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-3.0.4.tgz", - "integrity": "sha512-3RLn6DIpMsK1l5UUy9jxQvoDeUN4gP939tDcKUHD/kM8SGSKbFAnvkpFpj3Bhtz3HGk1jWY5ZNWX6mPta5M9fg==", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss": "^7.0.2" - } - }, - "node_modules/postcss-initial/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true, - "license": "ISC" - }, - "node_modules/postcss-initial/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "license": "MIT", - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-lab-function": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-2.0.1.tgz", - "integrity": "sha512-whLy1IeZKY+3fYdqQFuDBf8Auw+qFuVnChWjmxm/UhHWqNHZx+B99EwxTvGYmUBqe3Fjxs4L1BoZTJmPu6usVg==", - "dev": true, - "license": "CC0-1.0", - "dependencies": { - "@csstools/convert-colors": "^1.4.0", - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-lab-function/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true, - "license": "ISC" - }, - "node_modules/postcss-lab-function/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "license": "MIT", - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-logical": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-3.0.0.tgz", - "integrity": "sha512-1SUKdJc2vuMOmeItqGuNaC+N8MzBWFWEkAnRnLpFYj1tGGa7NqyVBujfRtgNa2gXR+6RkGUiB2O5Vmh7E2RmiA==", - "dev": true, - "license": "CC0-1.0", - "dependencies": { - "postcss": "^7.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-logical/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true, - "license": "ISC" - }, - "node_modules/postcss-logical/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "license": "MIT", - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-media-minmax": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-4.0.0.tgz", - "integrity": "sha512-fo9moya6qyxsjbFAYl97qKO9gyre3qvbMnkOZeZwlsW6XYFsvs2DMGDlchVLfAd8LHPZDxivu/+qW2SMQeTHBw==", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss": "^7.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-media-minmax/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true, - "license": "ISC" - }, - "node_modules/postcss-media-minmax/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "license": "MIT", - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-nesting": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/postcss-nesting/-/postcss-nesting-7.0.1.tgz", - "integrity": "sha512-FrorPb0H3nuVq0Sff7W2rnc3SmIcruVC6YwpcS+k687VxyxO33iE1amna7wHuRVzM8vfiYofXSBHNAZ3QhLvYg==", - "dev": true, - "license": "CC0-1.0", - "dependencies": { - "postcss": "^7.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-nesting/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true, - "license": "ISC" - }, - "node_modules/postcss-nesting/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "license": "MIT", - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-overflow-shorthand": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-overflow-shorthand/-/postcss-overflow-shorthand-2.0.0.tgz", - "integrity": "sha512-aK0fHc9CBNx8jbzMYhshZcEv8LtYnBIRYQD5i7w/K/wS9c2+0NSR6B3OVMu5y0hBHYLcMGjfU+dmWYNKH0I85g==", - "dev": true, - "license": "CC0-1.0", - "dependencies": { - "postcss": "^7.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-overflow-shorthand/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true, - "license": "ISC" - }, - "node_modules/postcss-overflow-shorthand/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "license": "MIT", - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-page-break": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-2.0.0.tgz", - "integrity": "sha512-tkpTSrLpfLfD9HvgOlJuigLuk39wVTbbd8RKcy8/ugV2bNBUW3xU+AIqyxhDrQr1VUj1RmyJrBn1YWrqUm9zAQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss": "^7.0.2" - } - }, - "node_modules/postcss-page-break/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true, - "license": "ISC" - }, - "node_modules/postcss-page-break/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "license": "MIT", - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-place": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-place/-/postcss-place-4.0.1.tgz", - "integrity": "sha512-Zb6byCSLkgRKLODj/5mQugyuj9bvAAw9LqJJjgwz5cYryGeXfFZfSXoP1UfveccFmeq0b/2xxwcTEVScnqGxBg==", - "dev": true, - "license": "CC0-1.0", - "dependencies": { - "postcss": "^7.0.2", - "postcss-values-parser": "^2.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-place/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true, - "license": "ISC" - }, - "node_modules/postcss-place/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "license": "MIT", - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-preset-env": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-6.7.0.tgz", - "integrity": "sha512-eU4/K5xzSFwUFJ8hTdTQzo2RBLbDVt83QZrAvI07TULOkmyQlnYlpwep+2yIK+K+0KlZO4BvFcleOCCcUtwchg==", - "dev": true, - "license": "CC0-1.0", - "dependencies": { - "autoprefixer": "^9.6.1", - "browserslist": "^4.6.4", - "caniuse-lite": "^1.0.30000981", - "css-blank-pseudo": "^0.1.4", - "css-has-pseudo": "^0.10.0", - "css-prefers-color-scheme": "^3.1.1", - "cssdb": "^4.4.0", - "postcss": "^7.0.17", - "postcss-attribute-case-insensitive": "^4.0.1", - "postcss-color-functional-notation": "^2.0.1", - "postcss-color-gray": "^5.0.0", - "postcss-color-hex-alpha": "^5.0.3", - "postcss-color-mod-function": "^3.0.3", - "postcss-color-rebeccapurple": "^4.0.1", - "postcss-custom-media": "^7.0.8", - "postcss-custom-properties": "^8.0.11", - "postcss-custom-selectors": "^5.1.2", - "postcss-dir-pseudo-class": "^5.0.0", - "postcss-double-position-gradients": "^1.0.0", - "postcss-env-function": "^2.0.2", - "postcss-focus-visible": "^4.0.0", - "postcss-focus-within": "^3.0.0", - "postcss-font-variant": "^4.0.0", - "postcss-gap-properties": "^2.0.0", - "postcss-image-set-function": "^3.0.1", - "postcss-initial": "^3.0.0", - "postcss-lab-function": "^2.0.1", - "postcss-logical": "^3.0.0", - "postcss-media-minmax": "^4.0.0", - "postcss-nesting": "^7.0.0", - "postcss-overflow-shorthand": "^2.0.0", - "postcss-page-break": "^2.0.0", - "postcss-place": "^4.0.1", - "postcss-pseudo-class-any-link": "^6.0.0", - "postcss-replace-overflow-wrap": "^3.0.0", - "postcss-selector-matches": "^4.0.0", - "postcss-selector-not": "^4.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-preset-env/node_modules/autoprefixer": { - "version": "9.8.8", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.8.tgz", - "integrity": "sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==", - "dev": true, - "license": "MIT", - "dependencies": { - "browserslist": "^4.12.0", - "caniuse-lite": "^1.0.30001109", - "normalize-range": "^0.1.2", - "num2fraction": "^1.2.2", - "picocolors": "^0.2.1", - "postcss": "^7.0.32", - "postcss-value-parser": "^4.1.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" - }, - "funding": { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" - } - }, - "node_modules/postcss-preset-env/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true, - "license": "ISC" - }, - "node_modules/postcss-preset-env/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "license": "MIT", - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-pseudo-class-any-link": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/postcss-pseudo-class-any-link/-/postcss-pseudo-class-any-link-6.0.0.tgz", - "integrity": "sha512-lgXW9sYJdLqtmw23otOzrtbDXofUdfYzNm4PIpNE322/swES3VU9XlXHeJS46zT2onFO7V1QFdD4Q9LiZj8mew==", - "dev": true, - "license": "CC0-1.0", - "dependencies": { - "postcss": "^7.0.2", - "postcss-selector-parser": "^5.0.0-rc.3" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/postcss-pseudo-class-any-link/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true, - "license": "ISC" - }, - "node_modules/postcss-pseudo-class-any-link/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "license": "MIT", - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-replace-overflow-wrap": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-3.0.0.tgz", - "integrity": "sha512-2T5hcEHArDT6X9+9dVSPQdo7QHzG4XKclFT8rU5TzJPDN7RIRTbO9c4drUISOVemLj03aezStHCR2AIcr8XLpw==", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss": "^7.0.2" - } - }, - "node_modules/postcss-replace-overflow-wrap/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true, - "license": "ISC" - }, - "node_modules/postcss-replace-overflow-wrap/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "license": "MIT", - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-selector-matches": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-matches/-/postcss-selector-matches-4.0.0.tgz", - "integrity": "sha512-LgsHwQR/EsRYSqlwdGzeaPKVT0Ml7LAT6E75T8W8xLJY62CE4S/l03BWIt3jT8Taq22kXP08s2SfTSzaraoPww==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "postcss": "^7.0.2" - } - }, - "node_modules/postcss-selector-matches/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true, - "license": "ISC" - }, - "node_modules/postcss-selector-matches/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "license": "MIT", - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-selector-not": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-selector-not/-/postcss-selector-not-4.0.1.tgz", - "integrity": "sha512-YolvBgInEK5/79C+bdFMyzqTg6pkYqDbzZIST/PDMqa/o3qtXenD05apBG2jLgT0/BQ77d4U2UK12jWpilqMAQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "postcss": "^7.0.2" - } - }, - "node_modules/postcss-selector-not/node_modules/picocolors": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", - "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", - "dev": true, - "license": "ISC" - }, - "node_modules/postcss-selector-not/node_modules/postcss": { - "version": "7.0.39", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", - "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", - "dev": true, - "license": "MIT", - "dependencies": { - "picocolors": "^0.2.1", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=6.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - } - }, - "node_modules/postcss-selector-parser": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz", - "integrity": "sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "cssesc": "^2.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-selector-parser/node_modules/cssesc": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-2.0.0.tgz", - "integrity": "sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==", - "dev": true, - "license": "MIT", - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/postcss-values-parser": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/postcss-values-parser/-/postcss-values-parser-2.0.1.tgz", - "integrity": "sha512-2tLuBsA6P4rYTNKCXYG/71C7j1pU6pK503suYOmn4xYrQIzW+opD+7FAFNuGSdZC/3Qfy334QbeMu7MEb8gOxg==", - "dev": true, - "license": "MIT", - "dependencies": { - "flatten": "^1.0.2", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - }, - "engines": { - "node": ">=6.14.4" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/prettier": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.5.1.tgz", - "integrity": "sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==", - "dev": true, - "license": "MIT", - "bin": { - "prettier": "bin-prettier.js" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", - "dev": true, - "license": "MIT", - "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" - } - }, - "node_modules/prop-types/node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/property-information": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/property-information/-/property-information-5.6.0.tgz", - "integrity": "sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA==", - "dev": true, - "license": "MIT", - "dependencies": { - "xtend": "^4.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - "license": "MIT", - "dependencies": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/qs": { - "version": "6.10.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", - "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", - "license": "BSD-3-Clause", - "dependencies": { - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/raw-body": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", - "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", - "license": "MIT", - "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/react": { - "version": "0.0.0-experimental-16d053d59-20230506", - "resolved": "https://registry.npmjs.org/react/-/react-0.0.0-experimental-16d053d59-20230506.tgz", - "integrity": "sha512-8PdloFcanNcryJLohpr4rVQfB4oJvsL0Z+TzJ8B66RxauwF95QqUNorGsK1heESrtj4As0oHCmiZkoYzA4uW8w==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-collapsed": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/react-collapsed/-/react-collapsed-4.0.4.tgz", - "integrity": "sha512-8avvmnQxDYTgGZYVP9+3Z7doomxVEBoCkukpTmUHEIrAYvELZ5jNNfYCt/hCpHB6GmQbzZoDmnDupjsnQVgcCQ==", - "license": "MIT", - "dependencies": { - "tiny-warning": "^1.0.3" - }, - "peerDependencies": { - "react": "^16.9.0 || ^17 || ^18", - "react-dom": "^16.9.0 || ^17 || ^18" - } - }, - "node_modules/react-devtools-inline": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/react-devtools-inline/-/react-devtools-inline-4.4.0.tgz", - "integrity": "sha512-ES0GolSrKO8wsKbsEkVeiR/ZAaHQTY4zDh1UW8DImVmm8oaGLl3ijJDvSGe+qDRKPZdPRnDtWWnSvvrgxXdThQ==", - "license": "MIT", - "dependencies": { - "es6-symbol": "^3" - } - }, - "node_modules/react-dom": { - "version": "0.0.0-experimental-16d053d59-20230506", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-0.0.0-experimental-16d053d59-20230506.tgz", - "integrity": "sha512-I4PIT9ZAdDgpbav9BxfzPv2p5otJz6BEbFEBvFwd1BnQJmtkKKApUU7RYdGKnwY2/r6hdfxPm2pne+NhiyBkzg==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.1.0", - "scheduler": "0.0.0-experimental-16d053d59-20230506" - }, - "peerDependencies": { - "react": "0.0.0-experimental-16d053d59-20230506" - } - }, - "node_modules/react-is": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", - "integrity": "sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==", - "license": "MIT" - }, - "node_modules/react-remove-scroll": { - "version": "2.5.5", - "resolved": "https://registry.npmjs.org/react-remove-scroll/-/react-remove-scroll-2.5.5.tgz", - "integrity": "sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw==", - "license": "MIT", - "dependencies": { - "react-remove-scroll-bar": "^2.3.3", - "react-style-singleton": "^2.2.1", - "tslib": "^2.1.0", - "use-callback-ref": "^1.3.0", - "use-sidecar": "^1.1.2" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/react-remove-scroll-bar": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.6.tgz", - "integrity": "sha512-DtSYaao4mBmX+HDo5YWYdBWQwYIQQshUV/dVxFxK+KM26Wjwp1gZ6rv6OC3oujI6Bfu6Xyg3TwK533AQutsn/g==", - "license": "MIT", - "dependencies": { - "react-style-singleton": "^2.2.1", - "tslib": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/react-remove-scroll/node_modules/tslib": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", - "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", - "license": "0BSD" - }, - "node_modules/react-style-singleton": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/react-style-singleton/-/react-style-singleton-2.2.1.tgz", - "integrity": "sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==", - "license": "MIT", - "dependencies": { - "get-nonce": "^1.0.0", - "invariant": "^2.2.4", - "tslib": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/read-cache": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", - "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", - "dev": true, - "license": "MIT", - "dependencies": { - "pify": "^2.3.0" - } - }, - "node_modules/read-cache/node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/read-pkg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", - "dev": true, - "license": "MIT", - "dependencies": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "license": "MIT", - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/reading-time": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/reading-time/-/reading-time-1.5.0.tgz", - "integrity": "sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg==", - "dev": true, - "license": "MIT" - }, - "node_modules/regenerator-runtime": { - "version": "0.13.9", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", - "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", - "dev": true, - "license": "MIT" - }, - "node_modules/regexp.prototype.flags": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.1.tgz", - "integrity": "sha512-pMR7hBVUUGI7PMA37m2ofIdQCsomVnas+Jn5UPGAHQ+/LlwKm/aTLJHdasmHRzlfeZwHiAOaRSo2rbBDm3nNUQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, - "node_modules/remark": { - "version": "12.0.1", - "resolved": "https://registry.npmjs.org/remark/-/remark-12.0.1.tgz", - "integrity": "sha512-gS7HDonkdIaHmmP/+shCPejCEEW+liMp/t/QwmF0Xt47Rpuhl32lLtDV1uKWvGoq+kxr5jSgg5oAIpGuyULjUw==", - "dev": true, - "license": "MIT", - "dependencies": { - "remark-parse": "^8.0.0", - "remark-stringify": "^8.0.0", - "unified": "^9.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-external-links": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/remark-external-links/-/remark-external-links-7.0.1.tgz", - "integrity": "sha512-a98JnTMRln8GseQq0buE4Aq6yYjYF4aRIlrPVxL9PT1pcy+yMJij24dEYAqvdluF9GHgNs/De+8y6kzqsjH1jQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "extend": "^3.0.0", - "is-absolute-url": "^3.0.0", - "mdast-util-definitions": "^3.0.0", - "space-separated-tokens": "^1.0.0", - "unist-util-visit": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-frontmatter": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/remark-frontmatter/-/remark-frontmatter-4.0.1.tgz", - "integrity": "sha512-38fJrB0KnmD3E33a5jZC/5+gGAC2WKNiPw1/fdXJvijBlhA7RCsvJklrYJakS0HedninvaCYW8lQGf9C918GfA==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^3.0.0", - "mdast-util-frontmatter": "^1.0.0", - "micromark-extension-frontmatter": "^1.0.0", - "unified": "^10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-gfm": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-3.0.1.tgz", - "integrity": "sha512-lEFDoi2PICJyNrACFOfDD3JlLkuSbOa5Wd8EPt06HUdptv8Gn0bxYTdbU/XXQ3swAPkEaGxxPN9cbnMHvVu1Ig==", - "license": "MIT", - "dependencies": { - "@types/mdast": "^3.0.0", - "mdast-util-gfm": "^2.0.0", - "micromark-extension-gfm": "^2.0.0", - "unified": "^10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-html": { - "version": "12.0.0", - "resolved": "https://registry.npmjs.org/remark-html/-/remark-html-12.0.0.tgz", - "integrity": "sha512-M104NMHs48+uswChJkCDXCdabzxAinpHikpt6kS3gmGMyIvPZ5kn53tB9shFsL2O4HUJ9DIEsah1SX1Ve5FXHA==", - "dev": true, - "license": "MIT", - "dependencies": { - "hast-util-sanitize": "^3.0.0", - "hast-util-to-html": "^7.0.0", - "mdast-util-to-hast": "^9.0.0", - "xtend": "^4.0.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-images": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/remark-images/-/remark-images-2.0.0.tgz", - "integrity": "sha512-1X6XTBQZW489HSwU0k+aU3xAlVe3TyPll6N2Mt1onwINTIqcTk9QTC57937Z8NQDJ8h7gKGXy9d4TJug2dm8lg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-url": "^1.2.2", - "unist-util-is": "^4.0.0", - "unist-util-visit-parents": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-mdx": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-2.1.3.tgz", - "integrity": "sha512-3SmtXOy9+jIaVctL8Cs3VAQInjRLGOwNXfrBB9KCT+EpJpKD3PQiy0x8hUNGyjQmdyOs40BqgPU7kYtH9uoR6w==", - "dev": true, - "license": "MIT", - "dependencies": { - "mdast-util-mdx": "^2.0.0", - "micromark-extension-mdxjs": "^1.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-parse": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-10.0.1.tgz", - "integrity": "sha512-1fUyHr2jLsVOkhbvPRBJ5zTKZZyD6yZzYaWCS6BPBdQ8vEMBCH+9zNCDA6tET/zHCi/jLqjCWtlJZUPk+DbnFw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/mdast": "^3.0.0", - "mdast-util-from-markdown": "^1.0.0", - "unified": "^10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-rehype": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-10.1.0.tgz", - "integrity": "sha512-EFmR5zppdBp0WQeDVZ/b66CWJipB2q2VLNFMabzDSGR66Z2fQii83G5gTBbgGEnEEA0QRussvrFHxk1HWGJskw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/hast": "^2.0.0", - "@types/mdast": "^3.0.0", - "mdast-util-to-hast": "^12.1.0", - "unified": "^10.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-rehype/node_modules/mdast-util-definitions": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-5.1.1.tgz", - "integrity": "sha512-rQ+Gv7mHttxHOBx2dkF4HWTg+EE+UR78ptQWDylzPKaQuVGdG4HIoY3SrS/pCp80nZ04greFvXbVFHT+uf0JVQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/mdast": "^3.0.0", - "@types/unist": "^2.0.0", - "unist-util-visit": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-rehype/node_modules/mdast-util-to-hast": { - "version": "12.2.2", - "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-12.2.2.tgz", - "integrity": "sha512-lVkUttV9wqmdXFtEBXKcepvU/zfwbhjbkM5rxrquLW55dS1DfOrnAXCk5mg1be1sfY/WfMmayGy1NsbK1GLCYQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/hast": "^2.0.0", - "@types/mdast": "^3.0.0", - "@types/mdurl": "^1.0.0", - "mdast-util-definitions": "^5.0.0", - "mdurl": "^1.0.0", - "micromark-util-sanitize-uri": "^1.0.0", - "trim-lines": "^3.0.0", - "unist-builder": "^3.0.0", - "unist-util-generated": "^2.0.0", - "unist-util-position": "^4.0.0", - "unist-util-visit": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-rehype/node_modules/unist-builder": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/unist-builder/-/unist-builder-3.0.0.tgz", - "integrity": "sha512-GFxmfEAa0vi9i5sd0R2kcrI9ks0r82NasRq5QHh2ysGngrc6GiqD5CDf1FjPenY4vApmFASBIIlk/jj5J5YbmQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-rehype/node_modules/unist-util-generated": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-2.0.0.tgz", - "integrity": "sha512-TiWE6DVtVe7Ye2QxOVW9kqybs6cZexNwTwSMVgkfjEReqy/xwGpAXb99OxktoWwmL+Z+Epb0Dn8/GNDYP1wnUw==", - "dev": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-rehype/node_modules/unist-util-is": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.1.1.tgz", - "integrity": "sha512-F5CZ68eYzuSvJjGhCLPL3cYx45IxkqXSetCcRgUXtbcm50X2L9oOWQlfUfDdAf+6Pd27YDblBfdtmsThXmwpbQ==", - "dev": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-rehype/node_modules/unist-util-visit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.0.tgz", - "integrity": "sha512-n7lyhFKJfVZ9MnKtqbsqkQEk5P1KShj0+//V7mAcoI6bpbUjh3C/OG8HVD+pBihfh6Ovl01m8dkcv9HNqYajmQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^5.0.0", - "unist-util-visit-parents": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-rehype/node_modules/unist-util-visit-parents": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.0.tgz", - "integrity": "sha512-y+QVLcY5eR/YVpqDsLf/xh9R3Q2Y4HxkZTp7ViLDU6WtJCEcPmRzW1gpdWDCDIqIlhuPDXOgttqPlykrHYDekg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-slug": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/remark-slug/-/remark-slug-7.0.1.tgz", - "integrity": "sha512-NRvYePr69LdeCkEGwL4KYAmq7kdWG5rEavCXMzUR4qndLoXHJAOLSUmPY6Qm4NJfKix7/EmgObyVaYivONAFhg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/hast": "^2.3.2", - "@types/mdast": "^3.0.0", - "github-slugger": "^1.0.0", - "mdast-util-to-string": "^3.0.0", - "unified": "^10.0.0", - "unist-util-visit": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-slug/node_modules/mdast-util-to-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.1.0.tgz", - "integrity": "sha512-n4Vypz/DZgwo0iMHLQL49dJzlp7YtAJP+N07MZHpjPf/5XJuHUWstviF4Mn2jEiR/GNmtnRRqnwsXExk3igfFA==", - "dev": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-slug/node_modules/unist-util-is": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-5.1.1.tgz", - "integrity": "sha512-F5CZ68eYzuSvJjGhCLPL3cYx45IxkqXSetCcRgUXtbcm50X2L9oOWQlfUfDdAf+6Pd27YDblBfdtmsThXmwpbQ==", - "dev": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-slug/node_modules/unist-util-visit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-4.1.0.tgz", - "integrity": "sha512-n7lyhFKJfVZ9MnKtqbsqkQEk5P1KShj0+//V7mAcoI6bpbUjh3C/OG8HVD+pBihfh6Ovl01m8dkcv9HNqYajmQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^5.0.0", - "unist-util-visit-parents": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-slug/node_modules/unist-util-visit-parents": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-5.1.0.tgz", - "integrity": "sha512-y+QVLcY5eR/YVpqDsLf/xh9R3Q2Y4HxkZTp7ViLDU6WtJCEcPmRzW1gpdWDCDIqIlhuPDXOgttqPlykrHYDekg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-stringify": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-8.1.1.tgz", - "integrity": "sha512-q4EyPZT3PcA3Eq7vPpT6bIdokXzFGp9i85igjmhRyXWmPs0Y6/d2FYwUNotKAWyLch7g0ASZJn/KHHcHZQ163A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ccount": "^1.0.0", - "is-alphanumeric": "^1.0.0", - "is-decimal": "^1.0.0", - "is-whitespace-character": "^1.0.0", - "longest-streak": "^2.0.1", - "markdown-escapes": "^1.0.0", - "markdown-table": "^2.0.0", - "mdast-util-compact": "^2.0.0", - "parse-entities": "^2.0.0", - "repeat-string": "^1.5.4", - "state-toggle": "^1.0.0", - "stringify-entities": "^3.0.0", - "unherit": "^1.0.4", - "xtend": "^4.0.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark-unwrap-images": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/remark-unwrap-images/-/remark-unwrap-images-2.1.0.tgz", - "integrity": "sha512-DpM7oEIXNjS3aDQpzxWrTWhUJcd5b8LznbSZnSPi1Yc3fJgLYJlx9uzkj5ekyp01PSBbSbPM2jq4959mcIetvA==", - "dev": true, - "license": "MIT", - "dependencies": { - "hast-util-whitespace": "^1.0.0", - "unist-util-visit": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark/node_modules/remark-parse": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-8.0.3.tgz", - "integrity": "sha512-E1K9+QLGgggHxCQtLt++uXltxEprmWzNfg+MxpfHsZlrddKzZ/hZyWHDbK3/Ap8HJQqYJRXP+jHczdL6q6i85Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "ccount": "^1.0.0", - "collapse-white-space": "^1.0.2", - "is-alphabetical": "^1.0.0", - "is-decimal": "^1.0.0", - "is-whitespace-character": "^1.0.0", - "is-word-character": "^1.0.0", - "markdown-escapes": "^1.0.0", - "parse-entities": "^2.0.0", - "repeat-string": "^1.5.4", - "state-toggle": "^1.0.0", - "trim": "0.0.1", - "trim-trailing-lines": "^1.0.0", - "unherit": "^1.0.4", - "unist-util-remove-position": "^2.0.0", - "vfile-location": "^3.0.0", - "xtend": "^4.0.1" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark/node_modules/unified": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/unified/-/unified-9.2.2.tgz", - "integrity": "sha512-Sg7j110mtefBD+qunSLO1lqOEKdrwBFBrR6Qd8f4uwkhWNlbkaqwHse6e7QvD3AP/MNoJdEDLaf8OxYyoWgorQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "bail": "^1.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", - "is-plain-obj": "^2.0.0", - "trough": "^1.0.0", - "vfile": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark/node_modules/unist-util-stringify-position": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz", - "integrity": "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark/node_modules/vfile": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz", - "integrity": "sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "is-buffer": "^2.0.0", - "unist-util-stringify-position": "^2.0.0", - "vfile-message": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/remark/node_modules/vfile-message": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz", - "integrity": "sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-stringify-position": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10" - } - }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/resolve": { - "version": "1.22.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", - "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-core-module": "^2.8.1", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dev": true, - "license": "MIT", - "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/retext": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/retext/-/retext-7.0.1.tgz", - "integrity": "sha512-N0IaEDkvUjqyfn3/gwxVfI51IxfGzOiVXqPLWnKeCDbiQdxSg0zebzHPxXWnL7TeplAJ+RE4uqrXyYN//s9HjQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "retext-latin": "^2.0.0", - "retext-stringify": "^2.0.0", - "unified": "^8.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/retext-latin": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/retext-latin/-/retext-latin-2.0.4.tgz", - "integrity": "sha512-fOoSSoQgDZ+l/uS81oxI3alBghDUPja0JEl0TpQxI6MN+dhM6fLFumPJwMZ4PJTyL5FFAgjlsdv8IX+6IRuwMw==", - "dev": true, - "license": "MIT", - "dependencies": { - "parse-latin": "^4.0.0", - "unherit": "^1.0.4" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/retext-smartypants": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/retext-smartypants/-/retext-smartypants-4.0.0.tgz", - "integrity": "sha512-Mknd05zuIycr4Z/hNDxA8ktqv7pG7wYdTZc68a2MJF+Ibg/WloR5bbyrEjijwNwHRR+xWsovkLH4OQIz/mghdw==", - "dev": true, - "license": "MIT", - "dependencies": { - "nlcst-to-string": "^2.0.0", - "unist-util-visit": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/retext-stringify": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/retext-stringify/-/retext-stringify-2.0.4.tgz", - "integrity": "sha512-xOtx5mFJBoT3j7PBtiY2I+mEGERNniofWktI1cKXvjMEJPOuqve0dghLHO1+gz/gScLn4zqspDGv4kk2wS5kSA==", - "dev": true, - "license": "MIT", - "dependencies": { - "nlcst-to-string": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/retext/node_modules/unified": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/unified/-/unified-8.4.2.tgz", - "integrity": "sha512-JCrmN13jI4+h9UAyKEoGcDZV+i1E7BLFuG7OsaDvTXI5P0qhHX+vZO/kOhz9jn8HGENDKbwSeB0nVOg4gVStGA==", - "dev": true, - "license": "MIT", - "dependencies": { - "bail": "^1.0.0", - "extend": "^3.0.0", - "is-plain-obj": "^2.0.0", - "trough": "^1.0.0", - "vfile": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/retext/node_modules/unist-util-stringify-position": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-2.0.3.tgz", - "integrity": "sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/retext/node_modules/vfile": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-4.2.1.tgz", - "integrity": "sha512-O6AE4OskCG5S1emQ/4gl8zK586RqA3srz3nfK/Viy0UPToBc5Trp9BVFb1u0CjsKrAWwnpr4ifM/KBXPWwJbCA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "is-buffer": "^2.0.0", - "unist-util-stringify-position": "^2.0.0", - "vfile-message": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/retext/node_modules/vfile-message": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-2.0.4.tgz", - "integrity": "sha512-DjssxRGkMvifUOJre00juHoP9DPWuzjxKuMDrhNbk2TdaYYBNMStsNhEOt3idrtI12VQYM/1+iM0KOzXi4pxwQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-stringify-position": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true, - "license": "MIT", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rfdc": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", - "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", - "dev": true, - "license": "MIT" - }, - "node_modules/rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "license": "ISC", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - } - }, - "node_modules/rss": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/rss/-/rss-1.2.2.tgz", - "integrity": "sha1-UKFpiHYTgTOnT5oF0r3I240nqSE=", - "dev": true, - "license": "MIT", - "dependencies": { - "mime-types": "2.1.13", - "xml": "1.0.1" - } - }, - "node_modules/rss/node_modules/mime-db": { - "version": "1.25.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.25.0.tgz", - "integrity": "sha1-wY29fHOl2/b0SgJNwNFloeexw5I=", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/rss/node_modules/mime-types": { - "version": "2.1.13", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.13.tgz", - "integrity": "sha1-4HqqnGxrmnyjASxpADrSWjnpKog=", - "dev": true, - "license": "MIT", - "dependencies": { - "mime-db": "~1.25.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/rxjs": { - "version": "7.5.2", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.2.tgz", - "integrity": "sha512-PwDt186XaL3QN5qXj/H9DGyHhP3/RYYgZZwqBv9Tv8rsAaiwFH1IsJJlcgD37J7UW5a6O67qX0KWKS3/pu0m4w==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "tslib": "^2.1.0" - } - }, - "node_modules/rxjs/node_modules/tslib": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", - "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==", - "dev": true, - "license": "0BSD" - }, - "node_modules/sade": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/sade/-/sade-1.8.1.tgz", - "integrity": "sha512-xal3CZX1Xlo/k4ApwCFrHVACi9fBqJ7V+mwhBsuf/1IOKbBy098Fex+Wa/5QMubw09pSZ/u8EY8PWgevJsXp1A==", - "license": "MIT", - "dependencies": { - "mri": "^1.1.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "license": "MIT" - }, - "node_modules/scheduler": { - "version": "0.0.0-experimental-16d053d59-20230506", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.0.0-experimental-16d053d59-20230506.tgz", - "integrity": "sha512-gGnyU4CkC/+msd1dOQW9zuquI3GoEziuS42soP0AvbTCvRkeU4qhR/mRRaU+/a7JK/OFeSSudcz7enkrkZdSPA==", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.1.0" - } - }, - "node_modules/section-matter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz", - "integrity": "sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==", - "dev": true, - "license": "MIT", - "dependencies": { - "extend-shallow": "^2.0.1", - "kind-of": "^6.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", - "license": "MIT", - "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" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/send/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "license": "MIT", - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/send/node_modules/debug/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "license": "MIT" - }, - "node_modules/send/node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "license": "MIT" - }, - "node_modules/serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", - "license": "MIT", - "dependencies": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.18.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "license": "ISC" - }, - "node_modules/shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/shell-quote": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.3.tgz", - "integrity": "sha512-Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw==", - "dev": true, - "license": "MIT" - }, - "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/signal-exit": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz", - "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/sirv": { - "version": "1.0.19", - "resolved": "https://registry.npmjs.org/sirv/-/sirv-1.0.19.tgz", - "integrity": "sha512-JuLThK3TnZG1TAKDwNIqNq6QA2afLOCcm+iE8D1Kj3GA40pSPsxQjjJl0J8X3tsR7T+CP1GavpzLwYkgVLWrZQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@polka/url": "^1.0.0-next.20", - "mrmime": "^1.0.0", - "totalist": "^1.0.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/slash": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", - "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/slice-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-4.0.0.tgz", - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "astral-regex": "^2.0.0", - "is-fullwidth-code-point": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" - } - }, - "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/space-separated-tokens": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz", - "integrity": "sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA==", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/spdx-correct": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", - "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", - "dev": true, - "license": "CC-BY-3.0" - }, - "node_modules/spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-license-ids": { - "version": "3.0.11", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz", - "integrity": "sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==", - "dev": true, - "license": "CC0-1.0" - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true, - "license": "BSD-3-Clause" - }, - "node_modules/state-toggle": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/state-toggle/-/state-toggle-1.0.3.tgz", - "integrity": "sha512-d/5Z4/2iiCnHw6Xzghyhb+GcmF89bxwgXG60wjIiZaxnymbyOmI8Hk4VqHXiVVp6u2ysaskFfXg3ekCj4WNftQ==", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/static-browser-server": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/static-browser-server/-/static-browser-server-1.0.3.tgz", - "integrity": "sha512-ZUyfgGDdFRbZGGJQ1YhiM930Yczz5VlbJObrQLlk24+qNHVQx4OlLcYswEUo3bIyNAbQUIUR9Yr5/Hqjzqb4zA==", - "license": "Apache-2.0", - "dependencies": { - "@open-draft/deferred-promise": "^2.1.0", - "dotenv": "^16.0.3", - "mime-db": "^1.52.0", - "outvariant": "^1.3.0" - } - }, - "node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/streamsearch": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", - "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/strict-event-emitter": { - "version": "0.4.6", - "resolved": "https://registry.npmjs.org/strict-event-emitter/-/strict-event-emitter-0.4.6.tgz", - "integrity": "sha512-12KWeb+wixJohmnwNFerbyiBrAlq5qJLwIt38etRtKtmmHyDSoGlIqFE9wx+4IwG0aDjI7GV8tc8ZccjWZZtTg==", - "license": "MIT" - }, - "node_modules/string-argv": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz", - "integrity": "sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.6.19" - } - }, - "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true, - "license": "MIT" - }, - "node_modules/string.prototype.matchall": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.6.tgz", - "integrity": "sha512-6WgDX8HmQqvEd7J+G6VtAahhsQIssiZ8zl7zKh1VDMFyL3hRTJP4FTNA3RbIp2TOQ9AYNDcc7e3fH0Qbup+DBg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1", - "get-intrinsic": "^1.1.1", - "has-symbols": "^1.0.2", - "internal-slot": "^1.0.3", - "regexp.prototype.flags": "^1.3.1", - "side-channel": "^1.0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.padend": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.3.tgz", - "integrity": "sha512-jNIIeokznm8SD/TZISQsZKYu7RJyheFNt84DUPrh482GC8RVp2MKqm2O5oBRdGxbDQoXrhhWtPIWQOiy20svUg==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3", - "es-abstract": "^1.19.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimend": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz", - "integrity": "sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz", - "integrity": "sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==", - "dev": true, - "license": "MIT", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/stringify-entities": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-3.1.0.tgz", - "integrity": "sha512-3FP+jGMmMV/ffZs86MoghGqAoqXAdxLrJP4GUdrDN1aIScYih5tuIO3eF4To5AJZ79KDZ8Fpdy7QJnK8SsL1Vg==", - "dev": true, - "license": "MIT", - "dependencies": { - "character-entities-html4": "^1.0.0", - "character-entities-legacy": "^1.0.0", - "xtend": "^4.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/strip-bom-string": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-bom-string/-/strip-bom-string-1.0.0.tgz", - "integrity": "sha1-5SEekiQ2n7uB1jOi8ABE3IztrZI=", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/style-mod": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/style-mod/-/style-mod-4.0.0.tgz", - "integrity": "sha512-OPhtyEjyyN9x3nhPsu76f52yUGXiZcgvsrFVtvTkyGRQJ0XK+GPc6ov1z+lRpbeabka+MYEQxOYRnt5nF30aMw==", - "license": "MIT" - }, - "node_modules/style-to-object": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-0.3.0.tgz", - "integrity": "sha512-CzFnRRXhzWIdItT3OmF8SQfWyahHhjq3HwcMNCNLn+N7klOOqPjMeG/4JSu77D7ypZdGvSzvkrbyeTMizz2VrA==", - "dev": true, - "license": "MIT", - "dependencies": { - "inline-style-parser": "0.1.1" - } - }, - "node_modules/styled-jsx": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.1.tgz", - "integrity": "sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==", - "license": "MIT", - "dependencies": { - "client-only": "0.0.1" - }, - "engines": { - "node": ">= 12.0.0" - }, - "peerDependencies": { - "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0" - }, - "peerDependenciesMeta": { - "@babel/core": { - "optional": true - }, - "babel-plugin-macros": { - "optional": true - } - } - }, - "node_modules/sucrase": { - "version": "3.32.0", - "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.32.0.tgz", - "integrity": "sha512-ydQOU34rpSyj2TGyz4D2p8rbktIOZ8QY9s+DGLvFU1i5pWJE8vkpruCjGCMHsdXwnD7JDcS+noSwM/a7zyNFDQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.2", - "commander": "^4.0.0", - "glob": "7.1.6", - "lines-and-columns": "^1.1.6", - "mz": "^2.7.0", - "pirates": "^4.0.1", - "ts-interface-checker": "^0.1.9" - }, - "bin": { - "sucrase": "bin/sucrase", - "sucrase-node": "bin/sucrase-node" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/sucrase/node_modules/commander": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, - "node_modules/sucrase/node_modules/glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/table": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/table/-/table-6.8.0.tgz", - "integrity": "sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "ajv": "^8.0.1", - "lodash.truncate": "^4.4.2", - "slice-ansi": "^4.0.0", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/table/node_modules/ajv": { - "version": "8.9.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.9.0.tgz", - "integrity": "sha512-qOKJyNj/h+OWx7s5DePL6Zu1KeM9jPZhwBqs+7DzP6bGOvqzVCSf0xueYmVuaC/oQ/VtS2zLMLHdQFbkka+XDQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/table/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true, - "license": "MIT" - }, - "node_modules/tailwindcss": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.1.tgz", - "integrity": "sha512-qAYmXRfk3ENzuPBakNK0SRrUDipP8NQnEY6772uDhflcQz5EhRdD7JNZxyrFHVQNCwULPBn6FNPp9brpO7ctcA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@alloc/quick-lru": "^5.2.0", - "arg": "^5.0.2", - "chokidar": "^3.5.3", - "didyoumean": "^1.2.2", - "dlv": "^1.1.3", - "fast-glob": "^3.3.0", - "glob-parent": "^6.0.2", - "is-glob": "^4.0.3", - "jiti": "^1.19.1", - "lilconfig": "^2.1.0", - "micromatch": "^4.0.5", - "normalize-path": "^3.0.0", - "object-hash": "^3.0.0", - "picocolors": "^1.0.0", - "postcss": "^8.4.23", - "postcss-import": "^15.1.0", - "postcss-js": "^4.0.1", - "postcss-load-config": "^4.0.1", - "postcss-nested": "^6.0.1", - "postcss-selector-parser": "^6.0.11", - "resolve": "^1.22.2", - "sucrase": "^3.32.0" - }, - "bin": { - "tailwind": "lib/cli.js", - "tailwindcss": "lib/cli.js" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/tailwindcss/node_modules/fast-glob": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", - "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/tailwindcss/node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/tailwindcss/node_modules/fast-glob/node_modules/micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", - "dev": true, - "license": "MIT", - "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/tailwindcss/node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/tailwindcss/node_modules/is-core-module": { - "version": "2.12.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz", - "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==", - "dev": true, - "license": "MIT", - "dependencies": { - "has": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/tailwindcss/node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dev": true, - "license": "MIT", - "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/tailwindcss/node_modules/nanoid": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", - "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/tailwindcss/node_modules/postcss": { - "version": "8.4.25", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.25.tgz", - "integrity": "sha512-7taJ/8t2av0Z+sQEvNzCkpDynl0tX3uJMCODi6nT3PfASC7dYCWV9aQ+uiCf+KBD4SEFcu+GvJdGdwzQ6OSjCw==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "nanoid": "^3.3.6", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/tailwindcss/node_modules/postcss-import": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", - "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss-value-parser": "^4.0.0", - "read-cache": "^1.0.0", - "resolve": "^1.1.7" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "postcss": "^8.0.0" - } - }, - "node_modules/tailwindcss/node_modules/postcss-js": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", - "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", - "dev": true, - "license": "MIT", - "dependencies": { - "camelcase-css": "^2.0.1" - }, - "engines": { - "node": "^12 || ^14 || >= 16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": "^8.4.21" - } - }, - "node_modules/tailwindcss/node_modules/postcss-load-config": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz", - "integrity": "sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==", - "dev": true, - "license": "MIT", - "dependencies": { - "lilconfig": "^2.0.5", - "yaml": "^2.1.1" - }, - "engines": { - "node": ">= 14" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": ">=8.0.9", - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "postcss": { - "optional": true - }, - "ts-node": { - "optional": true - } - } - }, - "node_modules/tailwindcss/node_modules/postcss-nested": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", - "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "postcss-selector-parser": "^6.0.11" - }, - "engines": { - "node": ">=12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": "^8.2.14" - } - }, - "node_modules/tailwindcss/node_modules/postcss-selector-parser": { - "version": "6.0.13", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", - "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/tailwindcss/node_modules/resolve": { - "version": "1.22.2", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", - "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-core-module": "^2.11.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/tailwindcss/node_modules/yaml": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.1.tgz", - "integrity": "sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">= 14" - } - }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", - "dev": true, - "license": "MIT" - }, - "node_modules/thenify": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", - "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", - "dev": true, - "license": "MIT", - "dependencies": { - "any-promise": "^1.0.0" - } - }, - "node_modules/thenify-all": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", - "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", - "dev": true, - "license": "MIT", - "dependencies": { - "thenify": ">= 3.1.0 < 4" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true, - "license": "MIT" - }, - "node_modules/tiny-warning": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", - "integrity": "sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA==", - "license": "MIT" - }, - "node_modules/tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, - "license": "MIT", - "dependencies": { - "os-tmpdir": "~1.0.2" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "license": "MIT", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "license": "MIT", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/totalist": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/totalist/-/totalist-1.1.0.tgz", - "integrity": "sha512-gduQwd1rOdDMGxFG1gEvhV88Oirdo2p+KjoYFU7k2g+i7n6AFFbDQ5kMPUsW0pNbfQsB/cwXvT1i4Bue0s9g5g==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/trim": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/trim/-/trim-0.0.1.tgz", - "integrity": "sha1-WFhUf2spB1fulczMZm+1AITEYN0=", - "dev": true - }, - "node_modules/trim-lines": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", - "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/trim-trailing-lines": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/trim-trailing-lines/-/trim-trailing-lines-1.1.4.tgz", - "integrity": "sha512-rjUWSqnfTNrjbB9NQWfPMH/xRK1deHeGsHoVfpxJ++XeYXE0d6B1En37AHfw3jtfTU7dzMzZL2jjpe8Qb5gLIQ==", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/trough": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/trough/-/trough-1.0.5.tgz", - "integrity": "sha512-rvuRbTarPXmMb79SmzEp8aqXNKcK+y0XaB298IXueQ8I2PsrATcPBCSPyK/dDNa2iWOhKlfNnOjdAOTBU/nkFA==", - "dev": true, - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/ts-interface-checker": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", - "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/tsconfig-paths": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.12.0.tgz", - "integrity": "sha512-e5adrnOYT6zqVnWqZu7i/BQ3BnhzvGbjEjejFXO20lKIKpwTaupkCPgEfv4GZK1IBciJUEhYs3J3p75FdaTFVg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/json5": "^0.0.29", - "json5": "^1.0.1", - "minimist": "^1.2.0", - "strip-bom": "^3.0.0" - } - }, - "node_modules/tsconfig-paths/node_modules/json5": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", - "dev": true, - "license": "MIT", - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "node_modules/tslib": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", - "integrity": "sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==", - "license": "0BSD" - }, - "node_modules/tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", - "dev": true, - "license": "MIT", - "dependencies": { - "tslib": "^1.8.1" - }, - "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" - } - }, - "node_modules/tsutils/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true, - "license": "0BSD" - }, - "node_modules/type": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", - "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==", - "license": "ISC" - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "license": "MIT", - "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/typescript": { - "version": "4.5.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.5.5.tgz", - "integrity": "sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=4.2.0" - } - }, - "node_modules/unbox-primitive": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.1.tgz", - "integrity": "sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==", - "dev": true, - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.1", - "has-bigints": "^1.0.1", - "has-symbols": "^1.0.2", - "which-boxed-primitive": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/unherit": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/unherit/-/unherit-1.1.3.tgz", - "integrity": "sha512-Ft16BJcnapDKp0+J/rqFC3Rrk6Y/Ng4nzsC028k2jdDII/rdZ7Wd3pPT/6+vIIxRagwRc9K0IUX0Ra4fKvw+WQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.0", - "xtend": "^4.0.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/unified": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/unified/-/unified-10.1.1.tgz", - "integrity": "sha512-v4ky1+6BN9X3pQrOdkFIPWAaeDsHPE1svRDxq7YpTc2plkIqFMwukfqM+l0ewpP9EfwARlt9pPFAeWYhHm8X9w==", - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "bail": "^2.0.0", - "extend": "^3.0.0", - "is-buffer": "^2.0.0", - "is-plain-obj": "^4.0.0", - "trough": "^2.0.0", - "vfile": "^5.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unified/node_modules/bail": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", - "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/unified/node_modules/is-plain-obj": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.0.0.tgz", - "integrity": "sha512-NXRbBtUdBioI73y/HmOhogw/U5msYPC9DAtGkJXeFcFWSFZw0mCUsPxk/snTuJHzNKA8kLBK4rH97RMB1BfCXw==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/unified/node_modules/trough": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/trough/-/trough-2.0.2.tgz", - "integrity": "sha512-FnHq5sTMxC0sk957wHDzRnemFnNBvt/gSY99HzK8F7UP5WAbvP70yX5bd7CjEQkN+TjdxwI7g7lJ6podqrG2/w==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/uniq": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", - "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", - "dev": true, - "license": "MIT" - }, - "node_modules/unist-builder": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/unist-builder/-/unist-builder-2.0.3.tgz", - "integrity": "sha512-f98yt5pnlMWlzP539tPc4grGMsFaQQlP/vM396b00jngsiINumNmsY8rkXjfoi1c6QaM8nQ3vaGDuoKWbe/1Uw==", - "dev": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-generated": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/unist-util-generated/-/unist-util-generated-1.1.6.tgz", - "integrity": "sha512-cln2Mm1/CZzN5ttGK7vkoGw+RZ8VcUH6BtGbq98DDtRGquAAOXig1mrBQYelOwMXYS8rK+vZDyyojSjp7JX+Lg==", - "dev": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-is": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz", - "integrity": "sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==", - "dev": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-modify-children": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unist-util-modify-children/-/unist-util-modify-children-2.0.0.tgz", - "integrity": "sha512-HGrj7JQo9DwZt8XFsX8UD4gGqOsIlCih9opG6Y+N11XqkBGKzHo8cvDi+MfQQgiZ7zXRUiQREYHhjOBHERTMdg==", - "dev": true, - "license": "MIT", - "dependencies": { - "array-iterate": "^1.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-position": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-4.0.3.tgz", - "integrity": "sha512-p/5EMGIa1qwbXjA+QgcBXaPWjSnZfQ2Sc3yBEEfgPwsEmJd8Qh+DSk3LGnmOM4S1bY2C0AjmMnB8RuEYxpPwXQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-position-from-estree": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unist-util-position-from-estree/-/unist-util-position-from-estree-1.1.1.tgz", - "integrity": "sha512-xtoY50b5+7IH8tFbkw64gisG9tMSpxDjhX9TmaJJae/XuxQ9R/Kc8Nv1eOsf43Gt4KV/LkriMy9mptDr7XLcaw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-remove-position": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-2.0.1.tgz", - "integrity": "sha512-fDZsLYIe2uT+oGFnuZmy73K6ZxOPG/Qcm+w7jbEjaFcJgbQ6cqjs/eSPzXhsmGpAsWPkqZM9pYjww5QTn3LHMA==", - "dev": true, - "license": "MIT", - "dependencies": { - "unist-util-visit": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-stringify-position": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-3.0.0.tgz", - "integrity": "sha512-SdfAl8fsDclywZpfMDTVDxA2V7LjtRDTOFd44wUJamgl6OlVngsqWjxvermMYf60elWHbxhuRCZml7AnuXCaSA==", - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-visit": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz", - "integrity": "sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^4.0.0", - "unist-util-visit-parents": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-visit-children": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/unist-util-visit-children/-/unist-util-visit-children-1.1.4.tgz", - "integrity": "sha512-sA/nXwYRCQVRwZU2/tQWUqJ9JSFM1X3x7JIOsIgSzrFHcfVt6NkzDtKzyxg2cZWkCwGF9CO8x4QNZRJRMK8FeQ==", - "dev": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/unist-util-visit-parents": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz", - "integrity": "sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-is": "^4.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/use-callback-ref": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/use-callback-ref/-/use-callback-ref-1.3.2.tgz", - "integrity": "sha512-elOQwe6Q8gqZgDA8mrh44qRTQqpIHDcZ3hXTLjBe1i4ph8XpNJnO+aQf3NaG+lriLopI4HMx9VjQLfPQ6vhnoA==", - "license": "MIT", - "dependencies": { - "tslib": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "@types/react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/use-sidecar": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/use-sidecar/-/use-sidecar-1.1.2.tgz", - "integrity": "sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==", - "license": "MIT", - "dependencies": { - "detect-node-es": "^1.1.0", - "tslib": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "@types/react": "^16.9.0 || ^17.0.0 || ^18.0.0", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true, - "license": "MIT" - }, - "node_modules/utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", - "license": "MIT", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/uvu": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/uvu/-/uvu-0.5.6.tgz", - "integrity": "sha512-+g8ENReyr8YsOc6fv/NVJs2vFdHBnBNdfE49rshrTzDWOlUx4Gq7KOS2GD8eqhy2j+Ejq29+SbKH8yjkAqXqoA==", - "license": "MIT", - "dependencies": { - "dequal": "^2.0.0", - "diff": "^5.0.0", - "kleur": "^4.0.3", - "sade": "^1.7.3" - }, - "bin": { - "uvu": "bin.js" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/v8-compile-cache": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", - "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", - "dev": true, - "license": "MIT" - }, - "node_modules/validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/vfile": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/vfile/-/vfile-5.3.0.tgz", - "integrity": "sha512-Tj44nY/48OQvarrE4FAjUfrv7GZOYzPbl5OD65HxVKwLJKMPU7zmfV8cCgCnzKWnSfYG2f3pxu+ALqs7j22xQQ==", - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "is-buffer": "^2.0.0", - "unist-util-stringify-position": "^3.0.0", - "vfile-message": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/vfile-location": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-3.2.0.tgz", - "integrity": "sha512-aLEIZKv/oxuCDZ8lkJGhuhztf/BW4M+iHdCwglA/eWc+vtuRFJj8EtgceYFX4LRjOhCAAiNHsKGssC6onJ+jbA==", - "dev": true, - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/vfile-message": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-3.1.0.tgz", - "integrity": "sha512-4QJbBk+DkPEhBXq3f260xSaWtjE4gPKOfulzfMFF8ZNwaPZieWsg3iVlcmF04+eebzpcpeXOOFMfrYzJHVYg+g==", - "license": "MIT", - "dependencies": { - "@types/unist": "^2.0.0", - "unist-util-stringify-position": "^3.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/unified" - } - }, - "node_modules/w3c-keyname": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.4.tgz", - "integrity": "sha512-tOhfEwEzFLJzf6d1ZPkYfGj+FWhIpBux9ppoP3rlclw3Z0BZv3N7b7030Z1kYth+6rDuAsXUFr+d0VE6Ed1ikw==", - "license": "MIT" - }, - "node_modules/webpack-bundle-analyzer": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.5.0.tgz", - "integrity": "sha512-GUMZlM3SKwS8Z+CKeIFx7CVoHn3dXFcUAjT/dcZQQmfSZGvitPfMob2ipjai7ovFFqPvTqkEZ/leL4O0YOdAYQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "acorn": "^8.0.4", - "acorn-walk": "^8.0.0", - "chalk": "^4.1.0", - "commander": "^7.2.0", - "gzip-size": "^6.0.0", - "lodash": "^4.17.20", - "opener": "^1.5.2", - "sirv": "^1.0.7", - "ws": "^7.3.1" - }, - "bin": { - "webpack-bundle-analyzer": "lib/bin/analyzer.js" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/webpack-bundle-analyzer/node_modules/acorn": { - "version": "8.7.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz", - "integrity": "sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==", - "dev": true, - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/webpack-bundle-analyzer/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/webpack-bundle-analyzer/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 10" - } - }, - "node_modules/webpack-bundle-analyzer/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/webpack-bundle-analyzer/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "dev": true, - "license": "MIT", - "dependencies": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/wrap-ansi": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true, - "license": "ISC" - }, - "node_modules/ws": { - "version": "7.5.6", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.5.6.tgz", - "integrity": "sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8.3.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/xml": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/xml/-/xml-1.0.1.tgz", - "integrity": "sha1-eLpyAgApxbyHuKgaPPzXS0ovweU=", - "dev": true, - "license": "MIT" - }, - "node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.4" - } - }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true, - "license": "ISC" - }, - "node_modules/yaml": { - "version": "1.10.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", - "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">= 6" - } - }, - "node_modules/zod": { - "version": "3.21.4", - "resolved": "https://registry.npmjs.org/zod/-/zod-3.21.4.tgz", - "integrity": "sha512-m46AKbrzKVzOzs/DZgVnG5H55N1sv1M8qZU3A8RIKbs3mrACDNeIOeilDymVb2HdmP8uwshOCF4uJ8uM9rCqJw==", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/colinhacks" - } - }, - "node_modules/zwitch": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.2.tgz", - "integrity": "sha512-JZxotl7SxAJH0j7dN4pxsTV6ZLXoLdGME+PsjkL/DaBrVryK9kTGq06GfKrwcSOqypP+fdXGoCHE36b99fWVoA==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, - "node_modules/@next/swc-darwin-x64": { - "version": "13.4.1", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-13.4.1.tgz", - "integrity": "sha512-7cmDgF9tGWTgn5Gw+vP17miJbH4wcraMHDCOHTYWkO/VeKT73dUWG23TNRLfgtCNSPgH4V5B4uLHoZTanx9bAw==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-linux-arm64-gnu": { - "version": "13.4.1", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.4.1.tgz", - "integrity": "sha512-qwJqmCri2ie8aTtE5gjTSr8S6O8B67KCYgVZhv9gKH44yvc/zXbAY8u23QGULsYOyh1islWE5sWfQNLOj9iryg==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-linux-arm64-musl": { - "version": "13.4.1", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.4.1.tgz", - "integrity": "sha512-qcC54tWNGDv/VVIFkazxhqH1Bnagjfs4enzELVRlUOoJPD2BGJTPI7z08pQPbbgxLtRiu8gl2mXvpB8WlOkMeA==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-linux-x64-gnu": { - "version": "13.4.1", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.4.1.tgz", - "integrity": "sha512-9TeWFlpLsBosZ+tsm/rWBaMwt5It9tPH8m3nawZqFUUrZyGRfGcI67js774vtx0k3rL9qbyY6+3pw9BCVpaYUA==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-linux-x64-musl": { - "version": "13.4.1", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.4.1.tgz", - "integrity": "sha512-sNDGaWmSqTS4QRUzw61wl4mVPeSqNIr1OOjLlQTRuyInxMxtqImRqdvzDvFTlDfdeUMU/DZhWGYoHrXLlZXe6A==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-win32-arm64-msvc": { - "version": "13.4.1", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.4.1.tgz", - "integrity": "sha512-+CXZC7u1iXdLRudecoUYbhbsXpglYv8KFYsFxKBPn7kg+bk7eJo738wAA4jXIl8grTF2mPdmO93JOQym+BlYGA==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-win32-ia32-msvc": { - "version": "13.4.1", - "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.4.1.tgz", - "integrity": "sha512-vIoXVVc7UYO68VwVMDKwJC2+HqAZQtCYiVlApyKEeIPIQpz2gpufzGxk1z3/gwrJt/kJ5CDZjlhYDCzd3hdz+g==", - "cpu": [ - "ia32" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-win32-x64-msvc": { - "version": "13.4.1", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.4.1.tgz", - "integrity": "sha512-n8V5ImLQZibKTu10UUdI3nIeTLkliEXe628qxqW9v8My3BAH2a7H0SaCqkV2OgqFnn8sG1wxKYw9/SNJ632kSA==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - } - } -} diff --git a/yarn.lock b/yarn.lock index 3afcb1fc..99a63336 100644 --- a/yarn.lock +++ b/yarn.lock @@ -163,6 +163,13 @@ "@jridgewell/gen-mapping" "^0.1.0" "@jridgewell/trace-mapping" "^0.3.9" +"@babel/code-frame@7.12.11": + version "7.12.11" + resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz" + integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== + dependencies: + "@babel/highlight" "^7.10.4" + "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.16.7": version "7.16.7" resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz" @@ -177,13 +184,6 @@ dependencies: "@babel/highlight" "^7.18.6" -"@babel/code-frame@7.12.11": - version "7.12.11" - resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz" - integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== - dependencies: - "@babel/highlight" "^7.10.4" - "@babel/compat-data@^7.19.0": version "7.19.0" resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.19.0.tgz" @@ -394,12 +394,7 @@ resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.16.12.tgz" integrity sha512-VfaV15po8RiZssrkPweyvbGVSe4x2y+aciFCgn0n0/SJMR22cwofRV1mtnJQYcSB1wUTaA/X1LnA3es66MCO5A== -"@babel/parser@^7.18.10": - version "7.19.0" - resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.19.0.tgz" - integrity sha512-74bEXKX2h+8rrfQUfsBfuZZHzsEs6Eql4pqy/T4Nn6Y9wNPggQOqD6z6pn5Bl8ZfysKouFZT/UXEH94ummEeQw== - -"@babel/parser@^7.19.0": +"@babel/parser@^7.18.10", "@babel/parser@^7.19.0": version "7.19.0" resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.19.0.tgz" integrity sha512-74bEXKX2h+8rrfQUfsBfuZZHzsEs6Eql4pqy/T4Nn6Y9wNPggQOqD6z6pn5Bl8ZfysKouFZT/UXEH94ummEeQw== @@ -474,7 +469,7 @@ core-js-pure "^3.20.2" regenerator-runtime "^0.13.4" -"@babel/runtime@^7.10.2": +"@babel/runtime@^7.10.2", "@babel/runtime@^7.16.3": version "7.16.7" resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.7.tgz" integrity sha512-9E9FJowqAsytyOY6LG+1KuueckRL+aQW+mKvXRXnuFGyRAyepJPmEo9vgMfXUA6O9u3IeEdv9MAkppFcaQwogQ== @@ -488,13 +483,6 @@ dependencies: regenerator-runtime "^0.14.0" -"@babel/runtime@^7.16.3": - version "7.16.7" - resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.7.tgz" - integrity sha512-9E9FJowqAsytyOY6LG+1KuueckRL+aQW+mKvXRXnuFGyRAyepJPmEo9vgMfXUA6O9u3IeEdv9MAkppFcaQwogQ== - dependencies: - regenerator-runtime "^0.13.4" - "@babel/template@^7.16.7": version "7.16.7" resolved "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz" @@ -704,7 +692,7 @@ resolved "https://registry.npmjs.org/@csstools/convert-colors/-/convert-colors-1.4.0.tgz" integrity sha512-5a6wqoJV/xEdbRNKVo6I4hO3VjyDq//8q2f9I6PBAvMesJHFauXDorcNCsr9RzvsZnaWi5NYCcfyqP1QeFHFbw== -"@docsearch/css@^3.6.1", "@docsearch/css@3.6.1": +"@docsearch/css@3.6.1", "@docsearch/css@^3.6.1": version "3.6.1" resolved "https://registry.npmjs.org/@docsearch/css/-/css-3.6.1.tgz" integrity sha512-VtVb5DS+0hRIprU2CO6ZQjK2Zg4QU5HrDM1+ix6rT0umsYvFvatMAnf97NHZlVWDaaLlx7GRfR/7FikANiM2Fg== @@ -904,6 +892,46 @@ resolved "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.4.1.tgz" integrity sha512-eF8ARHtYfnoYtDa6xFHriUKA/Mfj/cCbmKb3NofeKhMccs65G6/loZ15a6wYCCx4rPAd6x4t1WmVYtri7EdeBg== +"@next/swc-darwin-x64@13.4.1": + version "13.4.1" + resolved "https://registry.yarnpkg.com/@next/swc-darwin-x64/-/swc-darwin-x64-13.4.1.tgz#c59fc270005f17e04eb7eab4fd68793d0e3409a4" + integrity sha512-7cmDgF9tGWTgn5Gw+vP17miJbH4wcraMHDCOHTYWkO/VeKT73dUWG23TNRLfgtCNSPgH4V5B4uLHoZTanx9bAw== + +"@next/swc-linux-arm64-gnu@13.4.1": + version "13.4.1" + resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.4.1.tgz#1aef371bcef5d832d7f7e3aec3e68cfb98282393" + integrity sha512-qwJqmCri2ie8aTtE5gjTSr8S6O8B67KCYgVZhv9gKH44yvc/zXbAY8u23QGULsYOyh1islWE5sWfQNLOj9iryg== + +"@next/swc-linux-arm64-musl@13.4.1": + version "13.4.1" + resolved "https://registry.yarnpkg.com/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.4.1.tgz#2522927cb0af6918405a49f5a1d1687d6847f3ec" + integrity sha512-qcC54tWNGDv/VVIFkazxhqH1Bnagjfs4enzELVRlUOoJPD2BGJTPI7z08pQPbbgxLtRiu8gl2mXvpB8WlOkMeA== + +"@next/swc-linux-x64-gnu@13.4.1": + version "13.4.1" + resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.4.1.tgz#5ec9418a35510048a5ceb79ed300463e1a9b312d" + integrity sha512-9TeWFlpLsBosZ+tsm/rWBaMwt5It9tPH8m3nawZqFUUrZyGRfGcI67js774vtx0k3rL9qbyY6+3pw9BCVpaYUA== + +"@next/swc-linux-x64-musl@13.4.1": + version "13.4.1" + resolved "https://registry.yarnpkg.com/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.4.1.tgz#3478b9c89b75c1d0e7def9f35a9a77cb15d1a115" + integrity sha512-sNDGaWmSqTS4QRUzw61wl4mVPeSqNIr1OOjLlQTRuyInxMxtqImRqdvzDvFTlDfdeUMU/DZhWGYoHrXLlZXe6A== + +"@next/swc-win32-arm64-msvc@13.4.1": + version "13.4.1" + resolved "https://registry.yarnpkg.com/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.4.1.tgz#efe53d48ff51d2485eabb910ab7caee78425fc01" + integrity sha512-+CXZC7u1iXdLRudecoUYbhbsXpglYv8KFYsFxKBPn7kg+bk7eJo738wAA4jXIl8grTF2mPdmO93JOQym+BlYGA== + +"@next/swc-win32-ia32-msvc@13.4.1": + version "13.4.1" + resolved "https://registry.yarnpkg.com/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.4.1.tgz#952cdf1c53df46a90d5151d99310195d2c384e55" + integrity sha512-vIoXVVc7UYO68VwVMDKwJC2+HqAZQtCYiVlApyKEeIPIQpz2gpufzGxk1z3/gwrJt/kJ5CDZjlhYDCzd3hdz+g== + +"@next/swc-win32-x64-msvc@13.4.1": + version "13.4.1" + resolved "https://registry.yarnpkg.com/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.4.1.tgz#447b7dcee5f5d4824cdff331a4ec34b13d0b449d" + integrity sha512-n8V5ImLQZibKTu10UUdI3nIeTLkliEXe628qxqW9v8My3BAH2a7H0SaCqkV2OgqFnn8sG1wxKYw9/SNJ632kSA== + "@nodelib/fs.scandir@2.1.5": version "2.1.5" resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" @@ -912,7 +940,7 @@ "@nodelib/fs.stat" "2.0.5" run-parallel "^1.1.9" -"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5": +"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": version "2.0.5" resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== @@ -1801,7 +1829,7 @@ binary-extensions@^2.0.0: resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== -body-parser@^1.19.0, body-parser@1.20.0: +body-parser@1.20.0, body-parser@^1.19.0: version "1.20.0" resolved "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz" integrity sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg== @@ -1932,15 +1960,7 @@ chalk@^2.0.0, chalk@^2.4.1, chalk@^2.4.2: escape-string-regexp "^1.0.5" supports-color "^5.3.0" -chalk@^4.0.0: - version "4.1.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -chalk@^4.1.0: +chalk@^4.0.0, chalk@^4.1.0: version "4.1.2" resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== @@ -2075,16 +2095,16 @@ color-convert@^2.0.1: dependencies: color-name "~1.1.4" -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - color-name@1.1.3: version "1.1.3" resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU= +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + colorette@^2.0.16: version "2.0.16" resolved "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz" @@ -2180,16 +2200,7 @@ cross-spawn@^6.0.5: shebang-command "^1.2.0" which "^1.2.9" -cross-spawn@^7.0.2: - version "7.0.3" - resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -cross-spawn@^7.0.3: +cross-spawn@^7.0.2, cross-spawn@^7.0.3: version "7.0.3" resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== @@ -2240,7 +2251,7 @@ csstype@^3.0.2: resolved "https://registry.npmjs.org/csstype/-/csstype-3.0.10.tgz" integrity sha512-2u44ZG2OcNUO9HDp/Jl8C07x6pU/eTR3ncV91SiK3dhG9TWvRVsCoJw14Ckx5DgWkzGA3waZWO3d7pgqpUI/XA== -d@^1.0.1, d@1: +d@1, d@^1.0.1: version "1.0.1" resolved "https://registry.npmjs.org/d/-/d-1.0.1.tgz" integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA== @@ -2263,7 +2274,7 @@ debounce@^1.2.1: resolved "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz" integrity sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug== -debug@^2.6.9: +debug@2.6.9, debug@^2.6.9: version "2.6.9" resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== @@ -2277,7 +2288,7 @@ debug@^3.2.7: dependencies: ms "^2.1.1" -debug@^4.0.0: +debug@^4.0.0, debug@^4.3.4: version "4.3.4" resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== @@ -2291,20 +2302,6 @@ debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.3: dependencies: ms "2.1.2" -debug@^4.3.4: - version "4.3.4" - resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== - dependencies: - ms "2.1.2" - -debug@2.6.9: - version "2.6.9" - resolved "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - decode-named-character-reference@^1.0.0: version "1.0.2" resolved "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz" @@ -2594,7 +2591,7 @@ eslint-plugin-flowtype@4.x: dependencies: lodash "^4.17.15" -eslint-plugin-import@^2.22.1, eslint-plugin-import@2.x: +eslint-plugin-import@2.x, eslint-plugin-import@^2.22.1: version "2.25.4" resolved "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.25.4.tgz" integrity sha512-/KJBASVFxpu0xg1kIBn9AUa8hQVnszpwgE7Ld0lKAlx7Ie87yzEzCgSkekt+le/YVhiaosO4Y14GDAOc41nfxA== @@ -2613,7 +2610,7 @@ eslint-plugin-import@^2.22.1, eslint-plugin-import@2.x: resolve "^1.20.0" tsconfig-paths "^3.12.0" -eslint-plugin-jsx-a11y@^6.4.1, eslint-plugin-jsx-a11y@6.x: +eslint-plugin-jsx-a11y@6.x, eslint-plugin-jsx-a11y@^6.4.1: version "6.5.1" resolved "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.5.1.tgz" integrity sha512-sVCFKX9fllURnXT2JwLN5Qgo24Ug5NF6dxhkmxsMEUZhXRcGg+X3e1JbJ84YePQKBl5E0ZjAH5Q4rkdcGY99+g== @@ -2641,7 +2638,7 @@ eslint-plugin-react-hooks@^4.2.0: resolved "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.3.0.tgz" integrity sha512-XslZy0LnMn+84NEG9jSGR6eGqaZB3133L8xewQo3fQagbQuGt7a63gf+P1NGKZavEYEC3UXaWEAA/AqDkuN6xA== -eslint-plugin-react@^7.23.1, eslint-plugin-react@7.x: +eslint-plugin-react@7.x, eslint-plugin-react@^7.23.1: version "7.28.0" resolved "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.28.0.tgz" integrity sha512-IOlFIRHzWfEQQKcAD4iyYDndHwTQiCMcJVJjxempf203jnNLUnW34AXLrV33+nEXoifJE2ZEGmcjKPL8957eSw== @@ -3126,18 +3123,6 @@ glob-parent@^6.0.2: dependencies: is-glob "^4.0.3" -glob@^7.1.3, glob@^7.1.7: - version "7.2.0" - resolved "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz" - integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - glob@7.1.6: version "7.1.6" resolved "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz" @@ -3162,19 +3147,24 @@ glob@7.1.7: once "^1.3.0" path-is-absolute "^1.0.0" +glob@^7.1.3, glob@^7.1.7: + version "7.2.0" + resolved "https://registry.npmjs.org/glob/-/glob-7.2.0.tgz" + integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.0.4" + once "^1.3.0" + path-is-absolute "^1.0.0" + globals@^11.1.0: version "11.12.0" resolved "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== -globals@^13.6.0: - version "13.12.0" - resolved "https://registry.npmjs.org/globals/-/globals-13.12.0.tgz" - integrity sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg== - dependencies: - type-fest "^0.20.2" - -globals@^13.9.0: +globals@^13.6.0, globals@^13.9.0: version "13.12.0" resolved "https://registry.npmjs.org/globals/-/globals-13.12.0.tgz" integrity sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg== @@ -3404,7 +3394,7 @@ inflight@^1.0.4: once "^1.3.0" wrappy "1" -inherits@^2.0.0, inherits@2, inherits@2.0.4: +inherits@2, inherits@2.0.4, inherits@^2.0.0: version "2.0.4" resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== @@ -3816,16 +3806,16 @@ levn@^0.4.1: prelude-ls "^1.2.1" type-check "~0.4.0" -lilconfig@^2.0.5, lilconfig@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz" - integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ== - lilconfig@2.0.4: version "2.0.4" resolved "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.4.tgz" integrity sha512-bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA== +lilconfig@^2.0.5, lilconfig@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz" + integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ== + lines-and-columns@^1.1.6: version "1.2.4" resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz" @@ -4174,12 +4164,7 @@ mdast-util-to-string@^1.1.0: resolved "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-1.1.0.tgz" integrity sha512-jVU0Nr2B9X3MU4tSK7JP1CMkSvOj7X5l/GboG1tKRw52lLF1x2Ju92Ms9tNetCcbfX3hzlM73zYo2NKkWSfF/A== -mdast-util-to-string@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.1.0.tgz" - integrity sha512-n4Vypz/DZgwo0iMHLQL49dJzlp7YtAJP+N07MZHpjPf/5XJuHUWstviF4Mn2jEiR/GNmtnRRqnwsXExk3igfFA== - -mdast-util-to-string@^3.1.0: +mdast-util-to-string@^3.0.0, mdast-util-to-string@^3.1.0: version "3.1.0" resolved "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-3.1.0.tgz" integrity sha512-n4Vypz/DZgwo0iMHLQL49dJzlp7YtAJP+N07MZHpjPf/5XJuHUWstviF4Mn2jEiR/GNmtnRRqnwsXExk3igfFA== @@ -4632,7 +4617,7 @@ 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.52.0, mime-db@^1.52.0: version "1.52.0" resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== @@ -4642,13 +4627,6 @@ mime-db@~1.25.0: resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.25.0.tgz" integrity sha1-wY29fHOl2/b0SgJNwNFloeexw5I= -mime-types@~2.1.24, mime-types@~2.1.34: - version "2.1.35" - resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" - integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== - dependencies: - mime-db "1.52.0" - mime-types@2.1.13: version "2.1.13" resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.13.tgz" @@ -4656,6 +4634,13 @@ mime-types@2.1.13: dependencies: mime-db "~1.25.0" +mime-types@~2.1.24, mime-types@~2.1.34: + version "2.1.35" + resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + mime@1.6.0: version "1.6.0" resolved "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz" @@ -4688,11 +4673,6 @@ mrmime@^1.0.0: resolved "https://registry.npmjs.org/mrmime/-/mrmime-1.0.0.tgz" integrity sha512-a70zx7zFfVO7XpnQ2IX1Myh9yY4UYvfld/dikWRnsXxbyvMcfz+u6UfgNAtH+k2QqtJuzVpv6eLTx1G2+WKZbQ== -ms@^2.1.1: - version "2.1.3" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - ms@2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz" @@ -4703,7 +4683,7 @@ ms@2.1.2: resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -ms@2.1.3: +ms@2.1.3, ms@^2.1.1: version "2.1.3" resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== @@ -4974,7 +4954,7 @@ os-tmpdir@~1.0.2: resolved "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz" integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ= -outvariant@^1.3.0, outvariant@1.4.0: +outvariant@1.4.0, outvariant@^1.3.0: version "1.4.0" resolved "https://registry.npmjs.org/outvariant/-/outvariant-1.4.0.tgz" integrity sha512-AlWY719RF02ujitly7Kk/0QlV+pXGFDHrHf9O2OKqyqgBieaPOIeuSkL8sRK6j2WK+/ZAURq2kZsY0d8JapUiw== @@ -5517,47 +5497,16 @@ postcss-values-parser@^2.0.0, postcss-values-parser@^2.0.1: indexes-of "^1.0.1" uniq "^1.0.1" -postcss@^7.0.14: - version "7.0.39" - resolved "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz" - integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA== - dependencies: - picocolors "^0.2.1" - source-map "^0.6.1" - -postcss@^7.0.17, postcss@^7.0.32: - version "7.0.39" - resolved "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz" - integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA== - dependencies: - picocolors "^0.2.1" - source-map "^0.6.1" - -postcss@^7.0.2: - version "7.0.39" - resolved "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz" - integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA== - dependencies: - picocolors "^0.2.1" - source-map "^0.6.1" - -postcss@^7.0.26: - version "7.0.39" - resolved "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz" - integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA== - dependencies: - picocolors "^0.2.1" - source-map "^0.6.1" - -postcss@^7.0.5: - version "7.0.39" - resolved "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz" - integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA== +postcss@8.4.14: + version "8.4.14" + resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz" + integrity sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig== dependencies: - picocolors "^0.2.1" - source-map "^0.6.1" + nanoid "^3.3.4" + picocolors "^1.0.0" + source-map-js "^1.0.2" -postcss@^7.0.6: +postcss@^7.0.14, postcss@^7.0.17, postcss@^7.0.2, postcss@^7.0.26, postcss@^7.0.32, postcss@^7.0.5, postcss@^7.0.6: version "7.0.39" resolved "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz" integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA== @@ -5583,15 +5532,6 @@ postcss@^8.4.5: picocolors "^1.0.0" source-map-js "^1.0.2" -postcss@8.4.14: - version "8.4.14" - resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz" - integrity sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig== - dependencies: - nanoid "^3.3.4" - picocolors "^1.0.0" - source-map-js "^1.0.2" - prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" @@ -6068,16 +6008,16 @@ sade@^1.7.3: dependencies: mri "^1.1.0" -safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - safe-buffer@5.2.1: version "5.2.1" resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== +safe-buffer@~5.1.1: + version "5.1.2" + resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" + integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== + "safer-buffer@>= 2.1.2 < 3": version "2.1.2" resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" @@ -6098,7 +6038,7 @@ section-matter@^1.0.0: extend-shallow "^2.0.1" kind-of "^6.0.0" -semver@^5.5.0, semver@^5.6.0, "semver@2 || 3 || 4 || 5": +"semver@2 || 3 || 4 || 5", semver@^5.5.0, semver@^5.6.0: version "5.7.1" resolved "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== @@ -6108,14 +6048,7 @@ semver@^6.3.0: resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== -semver@^7.2.1: - version "7.3.5" - resolved "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz" - integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== - dependencies: - lru-cache "^6.0.0" - -semver@^7.3.5: +semver@^7.2.1, semver@^7.3.5: version "7.3.5" resolved "https://registry.npmjs.org/semver/-/semver-7.3.5.tgz" integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== @@ -6910,7 +6843,7 @@ universalify@^2.0.0: resolved "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz" integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== -unpipe@~1.0.0, unpipe@1.0.0: +unpipe@1.0.0, unpipe@~1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz" integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== From 8dba3199461d815f77c69104e1886cd9a8592b26 Mon Sep 17 00:00:00 2001 From: lxmarinkovic <lxmarinkovic@gmail.com> Date: Tue, 24 Sep 2024 06:54:39 +0200 Subject: [PATCH 361/382] reactjsday-2024-Verona (#7171) reactjsday 2024 React conference in Verona, Italy --- src/content/community/conferences.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/content/community/conferences.md b/src/content/community/conferences.md index cd0862b1..297294db 100644 --- a/src/content/community/conferences.md +++ b/src/content/community/conferences.md @@ -35,6 +35,11 @@ October 18, 2024. In-person in Brussels, Belgium (hybrid event) [Website](https://www.react.brussels/) - [Twitter](https://x.com/BrusselsReact) +### reactjsday 2024 {/*reactjsday-2024*/} +October 25, 2024. In-person in Verona, Italy + online (hybrid event) + +[Website](https://2024.reactjsday.it/) - [Twitter](https://x.com/reactjsday) - [Facebook](https://www.facebook.com/GrUSP/) - [YouTube](https://www.youtube.com/c/grusp) + ### React Advanced London 2024 {/*react-advanced-london-2024*/} October 25 & 28, 2024. In-person in London, UK + online (hybrid event) From fe37c42e0b51167d7f3c98593f50de997d666266 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=EB=A3=A8=EB=B0=80LuMir?= <rpfos@naver.com> Date: Mon, 30 Sep 2024 02:01:10 +0900 Subject: [PATCH 362/382] =?UTF-8?q?=E2=9C=A8KOREAN(ko.react.dev)=20Transla?= =?UTF-8?q?tion=20Completed=20(#7185)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/utils/finishedTranslations.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/utils/finishedTranslations.ts b/src/utils/finishedTranslations.ts index b2aceb17..6f509f0b 100644 --- a/src/utils/finishedTranslations.ts +++ b/src/utils/finishedTranslations.ts @@ -11,5 +11,6 @@ export const finishedTranslations = [ 'es', 'fr', 'ja', - 'tr' + 'tr', + 'ko' ]; From 7e59348f32bb3a23c6f5cf11bcd0eb4fb5497a5d Mon Sep 17 00:00:00 2001 From: Paul Jones <32859666+pauljones0@users.noreply.github.com> Date: Mon, 30 Sep 2024 09:59:43 -0600 Subject: [PATCH 363/382] Replace defunct placeKitten calls with loremFlicker and placeCat calls (#7189) --- .../learn/manipulating-the-dom-with-refs.md | 28 +++++++++---------- src/content/reference/react/useRef.md | 18 ++++++------ 2 files changed, 23 insertions(+), 23 deletions(-) diff --git a/src/content/learn/manipulating-the-dom-with-refs.md b/src/content/learn/manipulating-the-dom-with-refs.md index 2d44d735..e881c8a1 100644 --- a/src/content/learn/manipulating-the-dom-with-refs.md +++ b/src/content/learn/manipulating-the-dom-with-refs.md @@ -124,35 +124,35 @@ export default function CatFriends() { <> <nav> <button onClick={handleScrollToFirstCat}> - Tom + Neo </button> <button onClick={handleScrollToSecondCat}> - Maru + Millie </button> <button onClick={handleScrollToThirdCat}> - Jellylorum + Bella </button> </nav> <div> <ul> <li> <img - src="https://placekitten.com/g/200/200" - alt="Tom" + src="https://placecats.com/neo/300/200" + alt="Neo" ref={firstCatRef} /> </li> <li> <img - src="https://placekitten.com/g/300/200" - alt="Maru" + src="https://placecats.com/millie/200/200" + alt="Millie" ref={secondCatRef} /> </li> <li> <img - src="https://placekitten.com/g/250/200" - alt="Jellylorum" + src="https://placecats.com/bella/199/200" + alt="Bella" ref={thirdCatRef} /> </li> @@ -245,9 +245,9 @@ export default function CatFriends() { return ( <> <nav> - <button onClick={() => scrollToCat(catList[0])}>Tom</button> - <button onClick={() => scrollToCat(catList[5])}>Maru</button> - <button onClick={() => scrollToCat(catList[9])}>Jellylorum</button> + <button onClick={() => scrollToCat(catList[0])}>Neo</button> + <button onClick={() => scrollToCat(catList[5])}>Millie</button> + <button onClick={() => scrollToCat(catList[9])}>Bella</button> </nav> <div> <ul> @@ -948,7 +948,7 @@ const catList = []; for (let i = 0; i < 10; i++) { catList.push({ id: i, - imageUrl: 'https://placekitten.com/250/200?image=' + i + imageUrl: 'https://loremflickr.com/250/200/cat?lock=' + i }); } @@ -1065,7 +1065,7 @@ const catList = []; for (let i = 0; i < 10; i++) { catList.push({ id: i, - imageUrl: 'https://placekitten.com/250/200?image=' + i + imageUrl: 'https://loremflickr.com/250/200/cat?lock=' + i }); } diff --git a/src/content/reference/react/useRef.md b/src/content/reference/react/useRef.md index fcecae71..14cd9b2e 100644 --- a/src/content/reference/react/useRef.md +++ b/src/content/reference/react/useRef.md @@ -327,33 +327,33 @@ export default function CatFriends() { <> <nav> <button onClick={() => scrollToIndex(0)}> - Tom + Neo </button> <button onClick={() => scrollToIndex(1)}> - Maru + Millie </button> <button onClick={() => scrollToIndex(2)}> - Jellylorum + Bella </button> </nav> <div> <ul ref={listRef}> <li> <img - src="https://placekitten.com/g/200/200" - alt="Tom" + src="https://placecats.com/neo/300/200" + alt="Neo" /> </li> <li> <img - src="https://placekitten.com/g/300/200" - alt="Maru" + src="https://placecats.com/millie/200/200" + alt="Millie" /> </li> <li> <img - src="https://placekitten.com/g/250/200" - alt="Jellylorum" + src="https://placecats.com/bella/199/200" + alt="Bella" /> </li> </ul> From a5069837be74460fccf399d357c756d9c173283a Mon Sep 17 00:00:00 2001 From: Igor Shevchenko <39371503+bnzone@users.noreply.github.com> Date: Mon, 30 Sep 2024 11:00:08 -0500 Subject: [PATCH 364/382] chore(docs): fix typo (#7194) --- src/content/reference/react-dom/preinitModule.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/reference/react-dom/preinitModule.md b/src/content/reference/react-dom/preinitModule.md index 996c5a2e..5f9be6d5 100644 --- a/src/content/reference/react-dom/preinitModule.md +++ b/src/content/reference/react-dom/preinitModule.md @@ -51,7 +51,7 @@ The `preinitModule` function provides the browser with a hint that it should sta #### Parameters {/*parameters*/} -* `href`: a string. The URL of the module you want to download and exeucute. +* `href`: a string. The URL of the module you want to download and execute. * `options`: an object. It contains the following properties: * `as`: a required string. It must be `'script'`. * `crossOrigin`: a string. The [CORS policy](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/crossorigin) to use. Its possible values are `anonymous` and `use-credentials`. From 8a62ce3a12a99bdc4967150b5e18e59cd3aa82c1 Mon Sep 17 00:00:00 2001 From: Prem Singh <134128887+premdood@users.noreply.github.com> Date: Mon, 30 Sep 2024 21:30:38 +0530 Subject: [PATCH 365/382] Add files via upload (#7182) --- src/content/learn/synchronizing-with-effects.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/learn/synchronizing-with-effects.md b/src/content/learn/synchronizing-with-effects.md index 48e99cc2..11507516 100644 --- a/src/content/learn/synchronizing-with-effects.md +++ b/src/content/learn/synchronizing-with-effects.md @@ -627,7 +627,7 @@ See the examples below for how to handle common patterns. ### Controlling non-React widgets {/*controlling-non-react-widgets*/} -Sometimes you need to add UI widgets that aren't written to React. For example, let's say you're adding a map component to your page. It has a `setZoomLevel()` method, and you'd like to keep the zoom level in sync with a `zoomLevel` state variable in your React code. Your Effect would look similar to this: +Sometimes you need to add UI widgets that aren't written in React. For example, let's say you're adding a map component to your page. It has a `setZoomLevel()` method, and you'd like to keep the zoom level in sync with a `zoomLevel` state variable in your React code. Your Effect would look similar to this: ```js useEffect(() => { From ae9726a8532b99ed4a2c40946dfa96a82f8a12ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rado=C5=A1=20Mili=C4=87ev?= <40705899+rammba@users.noreply.github.com> Date: Mon, 30 Sep 2024 18:07:07 +0200 Subject: [PATCH 366/382] Docs: Fix typos in thinking-in-react.md (#7179) * Fix typos in thinking-in-react.md * Update src/content/learn/thinking-in-react.md --------- Co-authored-by: Ricky <rickhanlonii@gmail.com> --- src/content/learn/thinking-in-react.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/content/learn/thinking-in-react.md b/src/content/learn/thinking-in-react.md index 0f05a056..822891e6 100644 --- a/src/content/learn/thinking-in-react.md +++ b/src/content/learn/thinking-in-react.md @@ -268,8 +268,8 @@ Now let's run through our strategy for them: 1. **Identify components that use state:** * `ProductTable` needs to filter the product list based on that state (search text and checkbox value). * `SearchBar` needs to display that state (search text and checkbox value). -1. **Find their common parent:** The first parent component both components share is `FilterableProductTable`. -2. **Decide where the state lives**: We'll keep the filter text and checked state values in `FilterableProductTable`. +2. **Find their common parent:** The first parent component both components share is `FilterableProductTable`. +3. **Decide where the state lives**: We'll keep the filter text and checked state values in `FilterableProductTable`. So the state values will live in `FilterableProductTable`. From 6d2f3373d178a4f00b50ae201f0f2855cb468906 Mon Sep 17 00:00:00 2001 From: Mo Javad <34189022+mojavad@users.noreply.github.com> Date: Mon, 30 Sep 2024 17:21:44 +0100 Subject: [PATCH 367/382] Add React Native London Conf to the community conferences (#7173) --- src/content/community/conferences.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/content/community/conferences.md b/src/content/community/conferences.md index 297294db..aaa76121 100644 --- a/src/content/community/conferences.md +++ b/src/content/community/conferences.md @@ -45,6 +45,11 @@ October 25 & 28, 2024. In-person in London, UK + online (hybrid event) [Website](https://reactadvanced.com/) - [Twitter](https://x.com/reactadvanced) +### React Native London Conf 2024 {/*react-native-london-2024*/} +November 14 & 15, 2024. In-person in London, UK + +[Website](https://reactnativelondon.co.uk/) - [Twitter](https://x.com/RNLConf) + ### React Summit US 2024 {/*react-summit-us-2024*/} November 19 & 22, 2024. In-person in New York, USA + online (hybrid event) From d418485aedb956bb98ea6f39afc769d10c82e625 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Parth=20=E2=80=A2=20imParth?= <108121667+imparth7@users.noreply.github.com> Date: Mon, 30 Sep 2024 21:55:38 +0530 Subject: [PATCH 368/382] fix:#7158 issue (#7159) --- src/utils/rss.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/utils/rss.js b/src/utils/rss.js index c6fb8241..29e5511e 100644 --- a/src/utils/rss.js +++ b/src/utils/rss.js @@ -40,7 +40,7 @@ exports.generateRssFeed = function () { const files = filesByOldest.reverse(); for (const filePath of files) { - const id = filePath.split('/').slice(-1).join(''); + const id = path.basename(filePath); if (id !== 'index.md') { const content = fs.readFileSync(filePath, 'utf-8'); const {data} = matter(content); From c7392cbcc1d7dcefccd649b6485a5775271bded8 Mon Sep 17 00:00:00 2001 From: Reg Chiu <regx1385@gmail.com> Date: Tue, 1 Oct 2024 00:54:54 +0800 Subject: [PATCH 369/382] docs(act.md): correct ReactDOM to ReactDOMClient (#7156) * docs(act.md): correct ReactDOMClient to ReactDOM * docs(act.md): switch the import to ReactDOMClient instead --- src/content/reference/react/act.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/content/reference/react/act.md b/src/content/reference/react/act.md index 256befa3..c01f3cd6 100644 --- a/src/content/reference/react/act.md +++ b/src/content/reference/react/act.md @@ -90,7 +90,7 @@ To test the render output of a component, wrap the render inside `act()`: ```js {10,12} import {act} from 'react'; -import ReactDOM from 'react-dom/client'; +import ReactDOMClient from 'react-dom/client'; import Counter from './Counter'; it('can render and update a counter', async () => { @@ -99,7 +99,7 @@ it('can render and update a counter', async () => { // ✅ Render the component inside act(). await act(() => { - ReactDOM.createRoot(container).render(<Counter />); + ReactDOMClient.createRoot(container).render(<Counter />); }); const button = container.querySelector('button'); @@ -119,7 +119,7 @@ To test events, wrap the event dispatch inside `act()`: ```js {14,16} import {act} from 'react'; -import ReactDOM from 'react-dom/client'; +import ReactDOMClient from 'react-dom/client'; import Counter from './Counter'; it.only('can render and update a counter', async () => { @@ -174,4 +174,4 @@ global.IS_REACT_ACT_ENVIRONMENT=true In testing frameworks like [React Testing Library](https://testing-library.com/docs/react-testing-library/intro), `IS_REACT_ACT_ENVIRONMENT` is already set for you. -</Note> \ No newline at end of file +</Note> From 44364225ac337d84ecc62b8e8150d0c5c859cda5 Mon Sep 17 00:00:00 2001 From: Steven SAN <49305087+ssan93@users.noreply.github.com> Date: Tue, 1 Oct 2024 02:05:12 +0900 Subject: [PATCH 370/382] chore(typo): Fix comment to match code (#7147) Co-authored-by: san.s <san.s@sfeir.com> --- src/components/MDX/Sandpack/Preview.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/components/MDX/Sandpack/Preview.tsx b/src/components/MDX/Sandpack/Preview.tsx index 9669e5f4..7d7cdc5a 100644 --- a/src/components/MDX/Sandpack/Preview.tsx +++ b/src/components/MDX/Sandpack/Preview.tsx @@ -113,7 +113,7 @@ export function Preview({ /** * The spinner component transition might be longer than * the bundler loading, so we only show the spinner if - * it takes more than 1s to load the bundler. + * it takes more than 500s to load the bundler. */ timeout = setTimeout(() => { setShowLoading(true); From 7a8e256c898efec62914222ccf38ba4c3a6c560e Mon Sep 17 00:00:00 2001 From: Faris P <farispalayi@gmail.com> Date: Mon, 30 Sep 2024 22:39:24 +0530 Subject: [PATCH 371/382] Fix minor grammar issue in tutorial-tic-tac-toe.md (`a` to `an`) (#7136) --- src/content/learn/tutorial-tic-tac-toe.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/learn/tutorial-tic-tac-toe.md b/src/content/learn/tutorial-tic-tac-toe.md index f18ec493..6487e800 100644 --- a/src/content/learn/tutorial-tic-tac-toe.md +++ b/src/content/learn/tutorial-tic-tac-toe.md @@ -1133,7 +1133,7 @@ Calling the `setSquares` function lets React know the state of the component has <Note> -JavaScript supports [closures](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Closures) which means an inner function (e.g. `handleClick`) has access to variables and functions defined in a outer function (e.g. `Board`). The `handleClick` function can read the `squares` state and call the `setSquares` method because they are both defined inside of the `Board` function. +JavaScript supports [closures](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Closures) which means an inner function (e.g. `handleClick`) has access to variables and functions defined in an outer function (e.g. `Board`). The `handleClick` function can read the `squares` state and call the `setSquares` method because they are both defined inside of the `Board` function. </Note> From 4fe9c85bc0a9296e1ec152210bc4446d026626c7 Mon Sep 17 00:00:00 2001 From: youngvform <austinhbk@naver.com> Date: Tue, 1 Oct 2024 02:12:09 +0900 Subject: [PATCH 372/382] remove wrong reference of window (#7132) --- .../reference/rules/components-and-hooks-must-be-pure.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/reference/rules/components-and-hooks-must-be-pure.md b/src/content/reference/rules/components-and-hooks-must-be-pure.md index 733597c6..9da65d04 100644 --- a/src/content/reference/rules/components-and-hooks-must-be-pure.md +++ b/src/content/reference/rules/components-and-hooks-must-be-pure.md @@ -190,7 +190,7 @@ Side effects that are directly visible to the user are not allowed in the render ```js {2} function ProductDetailPage({ product }) { - document.window.title = product.title; // 🔴 Bad: Changes the DOM + document.title = product.title; // 🔴 Bad: Changes the DOM } ``` From 8fee25f4ec2bf87749ad82ae1f6b7ed4d0e8b138 Mon Sep 17 00:00:00 2001 From: Muhammad Saqib <segmentationfaulter@users.noreply.github.com> Date: Mon, 30 Sep 2024 22:14:50 +0500 Subject: [PATCH 373/382] Update renderToPipeableStream.md (#7131) --- .../reference/react-dom/server/renderToPipeableStream.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/reference/react-dom/server/renderToPipeableStream.md b/src/content/reference/react-dom/server/renderToPipeableStream.md index 20a5960e..7d0d1ab3 100644 --- a/src/content/reference/react-dom/server/renderToPipeableStream.md +++ b/src/content/reference/react-dom/server/renderToPipeableStream.md @@ -57,7 +57,7 @@ On the client, call [`hydrateRoot`](/reference/react-dom/client/hydrateRoot) to * **optional** `nonce`: A [`nonce`](http://developer.mozilla.org/en-US/docs/Web/HTML/Element/script#nonce) string to allow scripts for [`script-src` Content-Security-Policy](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/script-src). * **optional** `onAllReady`: A callback that fires when all rendering is complete, including both the [shell](#specifying-what-goes-into-the-shell) and all additional [content.](#streaming-more-content-as-it-loads) You can use this instead of `onShellReady` [for crawlers and static generation.](#waiting-for-all-content-to-load-for-crawlers-and-static-generation) If you start streaming here, you won't get any progressive loading. The stream will contain the final HTML. * **optional** `onError`: A callback that fires whenever there is a server error, whether [recoverable](#recovering-from-errors-outside-the-shell) or [not.](#recovering-from-errors-inside-the-shell) By default, this only calls `console.error`. If you override it to [log crash reports,](#logging-crashes-on-the-server) make sure that you still call `console.error`. You can also use it to [adjust the status code](#setting-the-status-code) before the shell is emitted. - * **optional** `onShellReady`: A callback that fires right after the [initial shell](#specifying-what-goes-into-the-shell) has been rendered. You can [set the status code](#setting-the-status-code) and call `pipe` here to start streaming. React will [stream the additional content](#streaming-more-content-as-it-loads) after the shell along with the inline `<script>` tags that place that replace the HTML loading fallbacks with the content. + * **optional** `onShellReady`: A callback that fires right after the [initial shell](#specifying-what-goes-into-the-shell) has been rendered. You can [set the status code](#setting-the-status-code) and call `pipe` here to start streaming. React will [stream the additional content](#streaming-more-content-as-it-loads) after the shell along with the inline `<script>` tags that replace the HTML loading fallbacks with the content. * **optional** `onShellError`: A callback that fires if there was an error rendering the initial shell. It receives the error as an argument. No bytes were emitted from the stream yet, and neither `onShellReady` nor `onAllReady` will get called, so you can [output a fallback HTML shell.](#recovering-from-errors-inside-the-shell) * **optional** `progressiveChunkSize`: The number of bytes in a chunk. [Read more about the default heuristic.](https://github.com/facebook/react/blob/14c2be8dac2d5482fda8a0906a31d239df8551fc/packages/react-server/src/ReactFizzServer.js#L210-L225) From 0f9283451418bad63caacab7268443d8c83d29fb Mon Sep 17 00:00:00 2001 From: Satoshi <102169197+dev-satoshi@users.noreply.github.com> Date: Tue, 1 Oct 2024 02:20:18 +0900 Subject: [PATCH 374/382] fix: add missing blank lines between import statements and code blocks in sample code (#7126) --- src/content/learn/updating-objects-in-state.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/content/learn/updating-objects-in-state.md b/src/content/learn/updating-objects-in-state.md index 923e4e18..9f3d21b2 100644 --- a/src/content/learn/updating-objects-in-state.md +++ b/src/content/learn/updating-objects-in-state.md @@ -57,6 +57,7 @@ This example holds an object in state to represent the current pointer position. ```js import { useState } from 'react'; + export default function MovingDot() { const [position, setPosition] = useState({ x: 0, @@ -127,6 +128,7 @@ Notice how the red dot now follows your pointer when you touch or hover over the ```js import { useState } from 'react'; + export default function MovingDot() { const [position, setPosition] = useState({ x: 0, From ca2051f56c1b9a68e60af3bed807488165300e1a Mon Sep 17 00:00:00 2001 From: Shubh Porwal <83606943+shubh73@users.noreply.github.com> Date: Mon, 30 Sep 2024 22:54:29 +0530 Subject: [PATCH 375/382] fix: `@testing-library/react-native` links (#7124) * fix: `@testing-library/react-native` links * Apply suggestions from code review --------- Co-authored-by: Ricky <rickhanlonii@gmail.com> --- src/content/blog/2024/04/25/react-19-upgrade-guide.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/content/blog/2024/04/25/react-19-upgrade-guide.md b/src/content/blog/2024/04/25/react-19-upgrade-guide.md index f464df95..5ead75a2 100644 --- a/src/content/blog/2024/04/25/react-19-upgrade-guide.md +++ b/src/content/blog/2024/04/25/react-19-upgrade-guide.md @@ -353,7 +353,7 @@ npm install react-shallow-renderer --save-dev ##### Please reconsider shallow rendering {/*please-reconsider-shallow-rendering*/} -Shallow rendering depends on React internals and can block you from future upgrades. We recommend migrating your tests to [@testing-library/react](https://testing-library.com/docs/react-testing-library/intro/) or [@testing-library/react-native](https://callstack.github.io/react-native-testing-library/docs/getting-started). +Shallow rendering depends on React internals and can block you from future upgrades. We recommend migrating your tests to [@testing-library/react](https://testing-library.com/docs/react-testing-library/intro/) or [@testing-library/react-native](https://testing-library.com/docs/react-native-testing-library/intro). </Note> @@ -524,7 +524,7 @@ We are deprecating `react-test-renderer` because it implements its own renderer The test renderer was created before there were more viable testing strategies available like [React Testing Library](https://testing-library.com), and we now recommend using a modern testing library instead. -In React 19, `react-test-renderer` logs a deprecation warning, and has switched to concurrent rendering. We recommend migrating your tests to [@testing-library/react](https://testing-library.com/docs/react-testing-library/intro/) or [@testing-library/react-native](https://callstack.github.io/react-native-testing-library/docs/getting-started) for a modern and well supported testing experience. +In React 19, `react-test-renderer` logs a deprecation warning, and has switched to concurrent rendering. We recommend migrating your tests to [@testing-library/react](https://testing-library.com/docs/react-testing-library/intro/) or [@testing-library/react-native](https://testing-library.com/docs/react-native-testing-library/intro) for a modern and well supported testing experience. ## Notable changes {/*notable-changes*/} From d6df8eb2532ff76b025f94d740da7d908926c82d Mon Sep 17 00:00:00 2001 From: Martin Heidegger <martin.heidegger@gmail.com> Date: Tue, 1 Oct 2024 03:28:57 +0900 Subject: [PATCH 376/382] Add React Osaka to meetups (#7100) --- src/content/community/meetups.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/content/community/meetups.md b/src/content/community/meetups.md index d8887c3d..bc058dc1 100644 --- a/src/content/community/meetups.md +++ b/src/content/community/meetups.md @@ -117,6 +117,9 @@ Do you have a local React.js meetup? Add it here! (Please keep the list alphabet ## Italy {/*italy*/} * [Milan](https://www.meetup.com/React-JS-Milano/) +## Japan {/*japan*/} +* [Osaka](https://react-osaka.connpass.com/) + ## Kenya {/*kenya*/} * [Nairobi - Reactdevske](https://kommunity.com/reactjs-developer-community-kenya-reactdevske) From d5aaa723e4454af0fd7a81d11e086064fa42ee79 Mon Sep 17 00:00:00 2001 From: cst9221 <chltmdxo3@gmail.com> Date: Tue, 1 Oct 2024 05:17:51 +0900 Subject: [PATCH 377/382] doc: Add missing return statement (#7081) --- src/content/reference/rsc/server-actions.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/reference/rsc/server-actions.md b/src/content/reference/rsc/server-actions.md index d24e896f..041f5e85 100644 --- a/src/content/reference/rsc/server-actions.md +++ b/src/content/reference/rsc/server-actions.md @@ -82,7 +82,7 @@ import {createNoteAction} from './actions'; function EmptyNote() { console.log(createNoteAction); // {$$typeof: Symbol.for("react.server.reference"), $$id: 'createNoteAction'} - <button onClick={createNoteAction} /> + return <button onClick={createNoteAction} /> } ``` From 589a1d3a8182d851718840f91bec80b0a13e2495 Mon Sep 17 00:00:00 2001 From: Batuhan Tomo <91488737+Rekl0w@users.noreply.github.com> Date: Mon, 30 Sep 2024 23:18:27 +0300 Subject: [PATCH 378/382] doc: fix typo in updating-objects-in-state.md (#7077) --- src/content/learn/updating-objects-in-state.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/learn/updating-objects-in-state.md b/src/content/learn/updating-objects-in-state.md index 9f3d21b2..93ea93bd 100644 --- a/src/content/learn/updating-objects-in-state.md +++ b/src/content/learn/updating-objects-in-state.md @@ -379,7 +379,7 @@ Note that the `...` spread syntax is "shallow"--it only copies things one level #### Using a single event handler for multiple fields {/*using-a-single-event-handler-for-multiple-fields*/} -You can also use the `[` and `]` braces inside your object definition to specify a property with dynamic name. Here is the same example, but with a single event handler instead of three different ones: +You can also use the `[` and `]` braces inside your object definition to specify a property with a dynamic name. Here is the same example, but with a single event handler instead of three different ones: <Sandpack> From 56b383273fb60f7d73af2496d6eb419cc2370d9e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rado=C5=A1=20Mili=C4=87ev?= <40705899+rammba@users.noreply.github.com> Date: Tue, 1 Oct 2024 21:34:40 +0200 Subject: [PATCH 379/382] Use correct link for translations progress site (#7199) --- src/content/community/acknowledgements.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/community/acknowledgements.md b/src/content/community/acknowledgements.md index aeb0787e..9a981efd 100644 --- a/src/content/community/acknowledgements.md +++ b/src/content/community/acknowledgements.md @@ -59,7 +59,7 @@ We'd like to recognize a few people who have made significant contributions to R This list is not exhaustive. -We'd like to give special thanks to [Tom Occhino](https://github.com/tomocchino) and [Adam Wolff](https://github.com/wolffiex) for their guidance and support over the years. We are also thankful to all the volunteers who [translated React into other languages.](https://translations.reactjs.org/) +We'd like to give special thanks to [Tom Occhino](https://github.com/tomocchino) and [Adam Wolff](https://github.com/wolffiex) for their guidance and support over the years. We are also thankful to all the volunteers who [translated React into other languages.](https://translations.react.dev/) ## Additional Thanks {/*additional-thanks*/} From 1697ae89a3bbafd76998dd7496754e5358bc1e9a Mon Sep 17 00:00:00 2001 From: Julio Cesar Garcia <juliogarciamelgarejo@gmail.com> Date: Thu, 3 Oct 2024 13:20:11 -0500 Subject: [PATCH 380/382] fix: remove broken links in community/meetups (#7205) --- src/content/community/meetups.md | 39 -------------------------------- 1 file changed, 39 deletions(-) diff --git a/src/content/community/meetups.md b/src/content/community/meetups.md index bc058dc1..14097aa4 100644 --- a/src/content/community/meetups.md +++ b/src/content/community/meetups.md @@ -30,15 +30,8 @@ Do you have a local React.js meetup? Add it here! (Please keep the list alphabet * [Belo Horizonte](https://www.meetup.com/reactbh/) * [Curitiba](https://www.meetup.com/pt-br/ReactJS-CWB/) * [Florianópolis](https://www.meetup.com/pt-br/ReactJS-Floripa/) -* [Goiânia](https://www.meetup.com/pt-br/React-Goiania/) * [Joinville](https://www.meetup.com/pt-BR/React-Joinville/) -* [Juiz de Fora](https://www.meetup.com/pt-br/React-Juiz-de-Fora/) -* [Maringá](https://www.meetup.com/pt-BR/React-Maringa/) -* [Porto Alegre](https://www.meetup.com/pt-BR/React-Porto-Alegre/) -* [Rio de Janeiro](https://www.meetup.com/pt-BR/React-Rio-de-Janeiro/) -* [Salvador](https://www.meetup.com/pt-BR/ReactSSA) * [São Paulo](https://www.meetup.com/pt-BR/ReactJS-SP/) -* [Vila Velha](https://www.meetup.com/pt-BR/React-ES/) ## Bolivia {/*bolivia*/} * [Bolivia](https://www.meetup.com/ReactBolivia/) @@ -51,24 +44,13 @@ Do you have a local React.js meetup? Add it here! (Please keep the list alphabet * [Saskatoon, SK](https://www.meetup.com/saskatoon-react-meetup/) * [Toronto, ON](https://www.meetup.com/Toronto-React-Native/events/) -## Chile {/*chile*/} -* [Santiago](https://www.meetup.com/es-ES/react-santiago/) - -## China {/*china*/} -* [Beijing](https://www.meetup.com/Beijing-ReactJS-Meetup/) - ## Colombia {/*colombia*/} -* [Bogotá](https://www.meetup.com/meetup-group-iHIeHykY/) * [Medellin](https://www.meetup.com/React-Medellin/) -* [Cali](https://www.meetup.com/reactcali/) ## Denmark {/*denmark*/} * [Aalborg](https://www.meetup.com/Aalborg-React-React-Native-Meetup/) * [Aarhus](https://www.meetup.com/Aarhus-ReactJS-Meetup/) -## Egypt {/*egypt*/} -* [Cairo](https://www.meetup.com/react-cairo/) - ## England (UK) {/*england-uk*/} * [Manchester](https://www.meetup.com/Manchester-React-User-Group/) * [React.JS Girls London](https://www.meetup.com/ReactJS-Girls-London/) @@ -76,7 +58,6 @@ Do you have a local React.js meetup? Add it here! (Please keep the list alphabet * [React Native London](https://guild.host/RNLDN) ## France {/*france*/} -* [Nantes](https://www.meetup.com/React-Nantes/) * [Lille](https://www.meetup.com/ReactBeerLille/) * [Paris](https://www.meetup.com/ReactJS-Paris/) @@ -93,9 +74,6 @@ Do you have a local React.js meetup? Add it here! (Please keep the list alphabet * [Athens](https://www.meetup.com/React-To-React-Athens-MeetUp/) * [Thessaloniki](https://www.meetup.com/Thessaloniki-ReactJS-Meetup/) -## Hungary {/*hungary*/} -* [Budapest](https://www.meetup.com/React-Budapest/) - ## India {/*india*/} * [Ahmedabad](https://www.meetup.com/react-ahmedabad/) * [Bangalore (React)](https://www.meetup.com/ReactJS-Bangalore/) @@ -141,12 +119,6 @@ Do you have a local React.js meetup? Add it here! (Please keep the list alphabet * [Karachi](https://www.facebook.com/groups/902678696597634/) * [Lahore](https://www.facebook.com/groups/ReactjsLahore/) -## Panama {/*panama*/} -* [Panama](https://www.meetup.com/React-Panama/) - -## Peru {/*peru*/} -* [Lima](https://www.meetup.com/ReactJS-Peru/) - ## Philippines {/*philippines*/} * [Manila](https://www.meetup.com/reactjs-developers-manila/) * [Manila - ReactJS PH](https://www.meetup.com/ReactJS-Philippines/) @@ -163,7 +135,6 @@ Do you have a local React.js meetup? Add it here! (Please keep the list alphabet ## Spain {/*spain*/} * [Barcelona](https://www.meetup.com/ReactJS-Barcelona/) -* [Canarias](https://www.meetup.com/React-Canarias/) ## Sweden {/*sweden*/} * [Goteborg](https://www.meetup.com/ReactJS-Goteborg/) @@ -179,7 +150,6 @@ Do you have a local React.js meetup? Add it here! (Please keep the list alphabet * [Kyiv](https://www.meetup.com/Kyiv-ReactJS-Meetup) ## US {/*us*/} -* [Ann Arbor, MI - ReactJS](https://www.meetup.com/AnnArbor-jsx/) * [Atlanta, GA - ReactJS](https://www.meetup.com/React-ATL/) * [Austin, TX - ReactJS](https://www.meetup.com/ReactJS-Austin-Meetup/) * [Boston, MA - ReactJS](https://www.meetup.com/ReactJS-Boston/) @@ -190,7 +160,6 @@ Do you have a local React.js meetup? Add it here! (Please keep the list alphabet * [Cleveland, OH - ReactJS](https://www.meetup.com/Cleveland-React/) * [Columbus, OH - ReactJS](https://www.meetup.com/ReactJS-Columbus-meetup/) * [Dallas, TX - ReactJS](https://www.meetup.com/ReactDallas/) -* [Dallas, TX - [Remote] React JS](https://www.meetup.com/React-JS-Group/) * [Detroit, MI - Detroit React User Group](https://www.meetup.com/Detroit-React-User-Group/) * [Indianapolis, IN - React.Indy](https://www.meetup.com/React-Indy) * [Irvine, CA - ReactJS](https://www.meetup.com/ReactJS-OC/) @@ -200,27 +169,19 @@ Do you have a local React.js meetup? Add it here! (Please keep the list alphabet * [Los Angeles, CA - ReactJS](https://www.meetup.com/socal-react/) * [Los Angeles, CA - React Native](https://www.meetup.com/React-Native-Los-Angeles/) * [Miami, FL - ReactJS](https://www.meetup.com/React-Miami/) -* [Nashville, TN - ReactJS](https://www.meetup.com/NashReact-Meetup/) * [New York, NY - ReactJS](https://www.meetup.com/NYC-Javascript-React-Group/) * [New York, NY - React Ladies](https://www.meetup.com/React-Ladies/) * [New York, NY - React Native](https://www.meetup.com/React-Native-NYC/) * [New York, NY - useReactNYC](https://www.meetup.com/useReactNYC/) * [New York, NY - React.NYC](https://guild.host/react-nyc) -* [Omaha, NE - ReactJS/React Native](https://www.meetup.com/omaha-react-meetup-group/) * [Palo Alto, CA - React Native](https://www.meetup.com/React-Native-Silicon-Valley/) -* [Philadelphia, PA - ReactJS](https://www.meetup.com/Reactadelphia/) * [Phoenix, AZ - ReactJS](https://www.meetup.com/ReactJS-Phoenix/) -* [Pittsburgh, PA - ReactJS/React Native](https://www.meetup.com/ReactPgh/) -* [Portland, OR - ReactJS](https://www.meetup.com/Portland-ReactJS/) * [Provo, UT - ReactJS](https://www.meetup.com/ReactJS-Utah/) -* [Sacramento, CA - ReactJS](https://www.meetup.com/Sacramento-ReactJS-Meetup/) * [San Diego, CA - San Diego JS](https://www.meetup.com/sandiegojs/) * [San Francisco - Real World React](https://www.meetup.com/Real-World-React) * [San Francisco - ReactJS](https://www.meetup.com/ReactJS-San-Francisco/) * [San Francisco, CA - React Native](https://www.meetup.com/React-Native-San-Francisco/) -* [San Ramon, CA - TriValley Coders](https://www.meetup.com/trivalleycoders/) * [Santa Monica, CA - ReactJS](https://www.meetup.com/Los-Angeles-ReactJS-User-Group/) -* [Seattle, WA - React Native](https://www.meetup.com/Seattle-React-Native-Meetup/) * [Seattle, WA - ReactJS](https://www.meetup.com/seattle-react-js/) * [Tampa, FL - ReactJS](https://www.meetup.com/ReactJS-Tampa-Bay/) * [Tucson, AZ - ReactJS](https://www.meetup.com/Tucson-ReactJS-Meetup/) From bb38630bc9c4aed40b72eaa171caf7e410a9e393 Mon Sep 17 00:00:00 2001 From: lauren <poteto@users.noreply.github.com> Date: Mon, 7 Oct 2024 19:14:43 -0400 Subject: [PATCH 381/382] Add react-compiler-runtime instructions to compiler docs (#7213) For users of React < 19, there is a new react-compiler-runtime package that can be used to provide a "polyfill" for runtime APIs needed for compiled code. This PR adds docs for that. --- src/content/learn/react-compiler.md | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/src/content/learn/react-compiler.md b/src/content/learn/react-compiler.md index 2920e864..5afaa4cf 100644 --- a/src/content/learn/react-compiler.md +++ b/src/content/learn/react-compiler.md @@ -20,8 +20,6 @@ These docs are still a work in progress. More documentation is available in the <Note> React Compiler is a new experimental compiler that we've open sourced to get early feedback from the community. It still has rough edges and is not yet fully ready for production. - -React Compiler requires React 19 RC. If you are unable to upgrade to React 19, you may try a userspace implementation of the cache function as described in the [Working Group](https://github.com/reactwg/react-compiler/discussions/6). However, please note that this is not recommended and you should upgrade to React 19 when possible. </Note> React Compiler is a new experimental compiler that we've open sourced to get early feedback from the community. It is a build-time only tool that automatically optimizes your React app. It works with plain JavaScript, and understands the [Rules of React](/reference/rules), so you don't need to rewrite any code to use it. @@ -226,6 +224,29 @@ module.exports = function () { `babel-plugin-react-compiler` should run first before other Babel plugins as the compiler requires the input source information for sound analysis. +React Compiler works best with React 19 RC. If you are unable to upgrade, you can install the extra `react-compiler-runtime` package which will allow the compiled code to run on versions prior to 19. However, note that the minimum supported version is 17. + +<TerminalBlock> +npm install react-compiler-runtime@experimental +</TerminalBlock> + +You should also add the correct `target` to your compiler config, where `target` is the major version of React you are targeting: + +```js {3} +// babel.config.js +const ReactCompilerConfig = { + target: '18' // '17' | '18' | '19' +}; + +module.exports = function () { + return { + plugins: [ + ['babel-plugin-react-compiler', ReactCompilerConfig], + ], + }; +}; +``` + ### Vite {/*usage-with-vite*/} If you use Vite, you can add the plugin to vite-plugin-react: From 2b2d0f2309f49c82cf5bb88ea62fb2e44661c634 Mon Sep 17 00:00:00 2001 From: Jake Saterlay <41985955+JakeSaterlay@users.noreply.github.com> Date: Tue, 8 Oct 2024 09:57:10 +0100 Subject: [PATCH 382/382] `useActionState` pending example (#6989) Co-authored-by: Sebastian "Sebbie" Silbermann <silbermann.sebastian@gmail.com> --- src/content/reference/react/useActionState.md | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/content/reference/react/useActionState.md b/src/content/reference/react/useActionState.md index 6f5924e3..52fba47e 100644 --- a/src/content/reference/react/useActionState.md +++ b/src/content/reference/react/useActionState.md @@ -20,7 +20,7 @@ In earlier React Canary versions, this API was part of React DOM and called `use `useActionState` is a Hook that allows you to update state based on the result of a form action. ```js -const [state, formAction] = useActionState(fn, initialState, permalink?); +const [state, formAction, isPending] = useActionState(fn, initialState, permalink?); ``` </Intro> @@ -35,7 +35,7 @@ const [state, formAction] = useActionState(fn, initialState, permalink?); {/* TODO T164397693: link to actions documentation once it exists */} -Call `useActionState` at the top level of your component to create component state that is updated [when a form action is invoked](/reference/react-dom/components/form). You pass `useActionState` an existing form action function as well as an initial state, and it returns a new action that you use in your form, along with the latest form state. The latest form state is also passed to the function that you provided. +Call `useActionState` at the top level of your component to create component state that is updated [when a form action is invoked](/reference/react-dom/components/form). You pass `useActionState` an existing form action function as well as an initial state, and it returns a new action that you use in your form, along with the latest form state and whether the Action is still pending. The latest form state is also passed to the function that you provided. ```js import { useActionState } from "react"; @@ -71,10 +71,11 @@ If used with a Server Action, `useActionState` allows the server's response from #### Returns {/*returns*/} -`useActionState` returns an array with exactly two values: +`useActionState` returns an array with the following values: 1. The current state. During the first render, it will match the `initialState` you have passed. After the action is invoked, it will match the value returned by the action. 2. A new action that you can pass as the `action` prop to your `form` component or `formAction` prop to any `button` component within the form. +3. The `isPending` flag that tells you whether there is a pending Transition. #### Caveats {/*caveats*/} @@ -104,10 +105,11 @@ function MyComponent() { } ``` -`useActionState` returns an array with exactly two items: +`useActionState` returns an array with the following items: 1. The <CodeStep step={1}>current state</CodeStep> of the form, which is initially set to the <CodeStep step={4}>initial state</CodeStep> you provided, and after the form is submitted is set to the return value of the <CodeStep step={3}>action</CodeStep> you provided. 2. A <CodeStep step={2}>new action</CodeStep> that you pass to `<form>` as its `action` prop. +3. A <CodeStep step={1}>pending state</CodeStep> that you can utilise whilst your action is processing. When the form is submitted, the <CodeStep step={3}>action</CodeStep> function that you provided will be called. Its return value will become the new <CodeStep step={1}>current state</CodeStep> of the form. @@ -133,13 +135,13 @@ import { useActionState, useState } from "react"; import { addToCart } from "./actions.js"; function AddToCartForm({itemID, itemTitle}) { - const [message, formAction] = useActionState(addToCart, null); + const [message, formAction, isPending] = useActionState(addToCart, null); return ( <form action={formAction}> <h2>{itemTitle}</h2> <input type="hidden" name="itemID" value={itemID} /> <button type="submit">Add to Cart</button> - {message} + {isPending ? "Loading..." : message} </form> ); } @@ -162,6 +164,10 @@ export async function addToCart(prevState, queryData) { if (itemID === "1") { return "Added to cart"; } else { + // Add a fake delay to make waiting noticeable. + await new Promise(resolve => { + setTimeout(resolve, 2000); + }); return "Couldn't add to cart: the item is sold out."; } }