8082.js.map (1924070B)
1 {"version":3,"file":"bundles/c63939549511ecf2b427/8082.js","mappings":"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","sources":["webpack://element-web/./node_modules/@matrix-org/react-sdk-module-api/lib/lifecycles/WrapperLifecycle.js","webpack://element-web/./node_modules/@vector-im/compound-design-tokens/assets/web/icons/arrow-left.js","webpack://element-web/./node_modules/@vector-im/compound-design-tokens/assets/web/icons/bug.js","webpack://element-web/./node_modules/@vector-im/compound-design-tokens/assets/web/icons/check-circle.js","webpack://element-web/./node_modules/@vector-im/compound-design-tokens/assets/web/icons/circle.js","webpack://element-web/./node_modules/@vector-im/compound-design-tokens/assets/web/icons/compose.js","webpack://element-web/./node_modules/@vector-im/compound-design-tokens/assets/web/icons/computer.js","webpack://element-web/./node_modules/@vector-im/compound-design-tokens/assets/web/icons/devices.js","webpack://element-web/./node_modules/@vector-im/compound-design-tokens/assets/web/icons/email-solid.js","webpack://element-web/./node_modules/@vector-im/compound-design-tokens/assets/web/icons/end-call.js","webpack://element-web/./node_modules/@vector-im/compound-design-tokens/assets/web/icons/explore.js","webpack://element-web/./node_modules/@vector-im/compound-design-tokens/assets/web/icons/export-archive.js","webpack://element-web/./node_modules/@vector-im/compound-design-tokens/assets/web/icons/extensions.js","webpack://element-web/./node_modules/@vector-im/compound-design-tokens/assets/web/icons/favourite.js","webpack://element-web/./node_modules/@vector-im/compound-design-tokens/assets/web/icons/help.js","webpack://element-web/./node_modules/@vector-im/compound-design-tokens/assets/web/icons/home.js","webpack://element-web/./node_modules/@vector-im/compound-design-tokens/assets/web/icons/key-solid.js","webpack://element-web/./node_modules/@vector-im/compound-design-tokens/assets/web/icons/key.js","webpack://element-web/./node_modules/@vector-im/compound-design-tokens/assets/web/icons/keyboard.js","webpack://element-web/./node_modules/@vector-im/compound-design-tokens/assets/web/icons/list-view.js","webpack://element-web/./node_modules/@vector-im/compound-design-tokens/assets/web/icons/lock-off.js","webpack://element-web/./node_modules/@vector-im/compound-design-tokens/assets/web/icons/mic-off-solid.js","webpack://element-web/./node_modules/@vector-im/compound-design-tokens/assets/web/icons/mic-on-solid.js","webpack://element-web/./node_modules/@vector-im/compound-design-tokens/assets/web/icons/mic-on.js","webpack://element-web/./node_modules/@vector-im/compound-design-tokens/assets/web/icons/minus.js","webpack://element-web/./node_modules/@vector-im/compound-design-tokens/assets/web/icons/mobile.js","webpack://element-web/./node_modules/@vector-im/compound-design-tokens/assets/web/icons/pin-solid.js","webpack://element-web/./node_modules/@vector-im/compound-design-tokens/assets/web/icons/presence-outline-8x8.js","webpack://element-web/./node_modules/@vector-im/compound-design-tokens/assets/web/icons/presence-solid-8x8.js","webpack://element-web/./node_modules/@vector-im/compound-design-tokens/assets/web/icons/presence-strikethrough-8x8.js","webpack://element-web/./node_modules/@vector-im/compound-design-tokens/assets/web/icons/qr-code.js","webpack://element-web/./node_modules/@vector-im/compound-design-tokens/assets/web/icons/reaction.js","webpack://element-web/./node_modules/@vector-im/compound-design-tokens/assets/web/icons/send-solid.js","webpack://element-web/./node_modules/@vector-im/compound-design-tokens/assets/web/icons/share-screen-solid.js","webpack://element-web/./node_modules/@vector-im/compound-design-tokens/assets/web/icons/sidebar.js","webpack://element-web/./node_modules/@vector-im/compound-design-tokens/assets/web/icons/sign-out.js","webpack://element-web/./node_modules/@vector-im/compound-design-tokens/assets/web/icons/space.js","webpack://element-web/./node_modules/@vector-im/compound-design-tokens/assets/web/icons/spotlight-view.js","webpack://element-web/./node_modules/@vector-im/compound-design-tokens/assets/web/icons/sticker.js","webpack://element-web/./node_modules/@vector-im/compound-design-tokens/assets/web/icons/stop-solid.js","webpack://element-web/./node_modules/@vector-im/compound-design-tokens/assets/web/icons/text-formatting.js","webpack://element-web/./node_modules/@vector-im/compound-design-tokens/assets/web/icons/theme.js","webpack://element-web/./node_modules/@vector-im/compound-design-tokens/assets/web/icons/threads-solid.js","webpack://element-web/./node_modules/@vector-im/compound-design-tokens/assets/web/icons/user-profile.js","webpack://element-web/./node_modules/@vector-im/compound-design-tokens/assets/web/icons/video-call-off-solid.js","webpack://element-web/./node_modules/@vector-im/compound-design-tokens/assets/web/icons/video-call.js","webpack://element-web/./node_modules/@vector-im/compound-design-tokens/assets/web/icons/web-browser.js","webpack://element-web/./node_modules/@vector-im/compound-design-tokens/icons/mac.svg","webpack://element-web/./node_modules/@vector-im/compound-web/src/components/ActivityMarker/Unread.tsx","webpack://element-web/./node_modules/@vector-im/compound-web/src/components/ActivityMarker/UnreadCounter.tsx","webpack://element-web/./node_modules/@vector-im/compound-web/src/components/Alert/Alert.tsx","webpack://element-web/./node_modules/@vector-im/compound-web/src/components/Breadcrumb/Breadcrumb.tsx","webpack://element-web/./node_modules/@vector-im/compound-web/src/components/ChatFilter/ChatFilter.tsx","webpack://element-web/./node_modules/@radix-ui/react-context-menu/dist/index.mjs","webpack://element-web/./node_modules/@vector-im/compound-web/src/components/Menu/ContextMenu.tsx","webpack://element-web/./node_modules/@vector-im/compound-web/src/components/Menu/RadioMenuItem.tsx","webpack://element-web/./node_modules/@vector-im/compound-web/src/components/Menu/ToggleMenuItem.tsx","webpack://element-web/./node_modules/@vector-im/compound-web/src/components/Search/Search.tsx","webpack://element-web/./node_modules/@vector-im/compound-web/src/components/Toast/Toast.tsx","webpack://element-web/./node_modules/@vector-im/compound-web/src/components/VisualList/VisualList.tsx","webpack://element-web/./node_modules/@vector-im/compound-web/src/components/VisualList/VisualListItem.tsx","webpack://element-web/./node_modules/src/index.ts","webpack://element-web/./node_modules/bloom-filters/dist/base-filter.js","webpack://element-web/./node_modules/bloom-filters/dist/bloom/bit-set.js","webpack://element-web/./node_modules/bloom-filters/dist/bloom/partitioned-bloom-filter.js","webpack://element-web/./node_modules/bloom-filters/dist/bloom/scalable-bloom-filter.js","webpack://element-web/./node_modules/bloom-filters/dist/exportable.js","webpack://element-web/./node_modules/bloom-filters/dist/hashing/hashing.js","webpack://element-web/./node_modules/bloom-filters/dist/utils.js","webpack://element-web/./node_modules/cuint/index.js","webpack://element-web/./node_modules/cuint/lib/uint32.js","webpack://element-web/./node_modules/cuint/lib/uint64.js","webpack://element-web/./node_modules/file-saver/src/FileSaver.js","webpack://element-web/./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","webpack://element-web/./node_modules/matrix-js-sdk/src/browser-index.ts","webpack://element-web/./node_modules/matrix-js-sdk/src/room-hierarchy.ts","webpack://element-web/./node_modules/@babel/runtime/helpers/esm/objectSpread2.js","webpack://element-web/./node_modules/redux/es/redux.js","webpack://element-web/./node_modules/react-redux/es/components/Context.js","webpack://element-web/./node_modules/react-redux/es/utils/batch.js","webpack://element-web/./node_modules/react-redux/es/utils/Subscription.js","webpack://element-web/./node_modules/react-redux/es/utils/useIsomorphicLayoutEffect.js","webpack://element-web/./node_modules/react-redux/es/components/Provider.js","webpack://element-web/./node_modules/react-redux/es/components/connectAdvanced.js","webpack://element-web/./node_modules/react-redux/es/utils/shallowEqual.js","webpack://element-web/./node_modules/react-redux/es/connect/wrapMapToProps.js","webpack://element-web/./node_modules/react-redux/es/connect/mapDispatchToProps.js","webpack://element-web/./node_modules/react-redux/es/utils/bindActionCreators.js","webpack://element-web/./node_modules/react-redux/es/connect/mapStateToProps.js","webpack://element-web/./node_modules/react-redux/es/connect/mergeProps.js","webpack://element-web/./node_modules/react-redux/es/connect/selectorFactory.js","webpack://element-web/./node_modules/react-redux/es/connect/connect.js","webpack://element-web/./node_modules/react-redux/es/hooks/useSelector.js","webpack://element-web/./node_modules/use-memo-one/dist/use-memo-one.esm.js","webpack://element-web/./node_modules/react-redux/es/index.js","webpack://element-web/./node_modules/tiny-invariant/dist/esm/tiny-invariant.js","webpack://element-web/./node_modules/css-box-model/dist/css-box-model.esm.js","webpack://element-web/./node_modules/react-beautiful-dnd/node_modules/memoize-one/dist/memoize-one.esm.js","webpack://element-web/./node_modules/raf-schd/dist/raf-schd.esm.js","webpack://element-web/./node_modules/react-beautiful-dnd/dist/react-beautiful-dnd.esm.js","webpack://element-web/./node_modules/react-dom/cjs/react-dom-server-legacy.browser.production.js","webpack://element-web/./node_modules/react-dom/cjs/react-dom-server.browser.production.js","webpack://element-web/./node_modules/react-dom/server.browser.js","webpack://element-web/./node_modules/react-is/cjs/react-is.production.min.js","webpack://element-web/./node_modules/react-is/index.js","webpack://element-web/./node_modules/react-redux/node_modules/react-is/cjs/react-is.production.min.js","webpack://element-web/./node_modules/react-redux/node_modules/react-is/index.js","webpack://element-web/./node_modules/react-virtuoso/dist/index.mjs","webpack://element-web/./node_modules/reflect-metadata/Reflect.js","webpack://element-web/./node_modules/sanitize-filename/index.js","webpack://element-web/./node_modules/seedrandom/index.js","webpack://element-web/./node_modules/seedrandom/lib/alea.js","webpack://element-web/./node_modules/seedrandom/lib/tychei.js","webpack://element-web/./node_modules/seedrandom/lib/xor128.js","webpack://element-web/./node_modules/seedrandom/lib/xor4096.js","webpack://element-web/./node_modules/seedrandom/lib/xorshift7.js","webpack://element-web/./node_modules/seedrandom/lib/xorwow.js","webpack://element-web/./node_modules/seedrandom/seedrandom.js","webpack://element-web/./node_modules/truncate-utf8-bytes/browser.js","webpack://element-web/./node_modules/truncate-utf8-bytes/lib/truncate.js","webpack://element-web/./node_modules/utf8-byte-length/browser.js","webpack://element-web/./node_modules/what-input/dist/what-input.js","webpack://element-web/./node_modules/xxhashjs/lib/index.js","webpack://element-web/./node_modules/xxhashjs/lib/xxhash.js","webpack://element-web/./node_modules/xxhashjs/lib/xxhash64.js"],"sourcesContent":["\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.WrapperLifecycle = void 0;\n\n/*\nCopyright 2023 Mikhail Aheichyk\nCopyright 2023 Nordeck IT + Consulting GmbH.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\n/**\n * Wrapper lifecycle events\n */\nvar WrapperLifecycle;\n/**\n * Opts object that is populated with a Wrapper.\n */\n\nexports.WrapperLifecycle = WrapperLifecycle;\n\n(function (WrapperLifecycle) {\n WrapperLifecycle[\"Wrapper\"] = \"wrapper\";\n})(WrapperLifecycle || (exports.WrapperLifecycle = WrapperLifecycle = {}));\n/**\n * Helper type that documents how to implement a wrapper listener.\n */","import { forwardRef } from \"react\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction ArrowLeftIcon(props, ref) {\n return /*#__PURE__*/_jsx(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"1em\",\n height: \"1em\",\n fill: \"currentColor\",\n viewBox: \"0 0 24 24\",\n ref: ref,\n ...props,\n children: /*#__PURE__*/_jsx(\"path\", {\n d: \"M12.207 5.293a1 1 0 0 1 0 1.414L7.914 11H18.5a1 1 0 1 1 0 2H7.914l4.293 4.293a1 1 0 0 1-1.414 1.414l-6-6a1 1 0 0 1 0-1.414l6-6a1 1 0 0 1 1.414 0\"\n })\n });\n}\n;\nArrowLeftIcon.displayName = \"ArrowLeftIcon\";\nexport default forwardRef(ArrowLeftIcon);","import { forwardRef } from \"react\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction BugIcon(props, ref) {\n return /*#__PURE__*/_jsx(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"1em\",\n height: \"1em\",\n fill: \"currentColor\",\n viewBox: \"0 0 24 24\",\n ref: ref,\n ...props,\n children: /*#__PURE__*/_jsx(\"path\", {\n d: \"M19 8h-1.81a6 6 0 0 0-1.82-1.96l.93-.93a.996.996 0 1 0-1.41-1.41l-1.47 1.47C12.96 5.06 12.49 5 12 5s-.96.06-1.41.17L9.11 3.7A.996.996 0 1 0 7.7 5.11l.92.93C7.88 6.55 7.26 7.22 6.81 8H5c-.55 0-1 .45-1 1s.45 1 1 1h1.09c-.05.33-.09.66-.09 1v1H5c-.55 0-1 .45-1 1s.45 1 1 1h1v1c0 .34.04.67.09 1H5c-.55 0-1 .45-1 1s.45 1 1 1h1.81c1.04 1.79 2.97 3 5.19 3s4.15-1.21 5.19-3H19c.55 0 1-.45 1-1s-.45-1-1-1h-1.09c.05-.33.09-.66.09-1v-1h1c.55 0 1-.45 1-1s-.45-1-1-1h-1v-1c0-.34-.04-.67-.09-1H19c.55 0 1-.45 1-1s-.45-1-1-1m-6 8h-2c-.55 0-1-.45-1-1s.45-1 1-1h2c.55 0 1 .45 1 1s-.45 1-1 1m0-4h-2c-.55 0-1-.45-1-1s.45-1 1-1h2c.55 0 1 .45 1 1s-.45 1-1 1\"\n })\n });\n}\n;\nBugIcon.displayName = \"BugIcon\";\nexport default forwardRef(BugIcon);","import { forwardRef } from \"react\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction CheckCircleIcon(props, ref) {\n return /*#__PURE__*/_jsx(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"1em\",\n height: \"1em\",\n fill: \"currentColor\",\n viewBox: \"0 0 24 24\",\n ref: ref,\n ...props,\n children: /*#__PURE__*/_jsx(\"path\", {\n d: \"m10.6 13.8-2.15-2.15a.95.95 0 0 0-.7-.275.95.95 0 0 0-.7.275.95.95 0 0 0-.275.7q0 .425.275.7L9.9 15.9q.3.3.7.3t.7-.3l5.65-5.65a.95.95 0 0 0 .275-.7.95.95 0 0 0-.275-.7.95.95 0 0 0-.7-.275.95.95 0 0 0-.7.275zM12 22a9.7 9.7 0 0 1-3.9-.788 10.1 10.1 0 0 1-3.175-2.137q-1.35-1.35-2.137-3.175A9.7 9.7 0 0 1 2 12q0-2.075.788-3.9a10.1 10.1 0 0 1 2.137-3.175q1.35-1.35 3.175-2.137A9.7 9.7 0 0 1 12 2q2.075 0 3.9.788a10.1 10.1 0 0 1 3.175 2.137q1.35 1.35 2.137 3.175A9.7 9.7 0 0 1 22 12a9.7 9.7 0 0 1-.788 3.9 10.1 10.1 0 0 1-2.137 3.175q-1.35 1.35-3.175 2.137A9.7 9.7 0 0 1 12 22m0-2q3.35 0 5.675-2.325T20 12t-2.325-5.675T12 4 6.325 6.325 4 12t2.325 5.675T12 20\"\n })\n });\n}\n;\nCheckCircleIcon.displayName = \"CheckCircleIcon\";\nexport default forwardRef(CheckCircleIcon);","import { forwardRef } from \"react\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction CircleIcon(props, ref) {\n return /*#__PURE__*/_jsx(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"1em\",\n height: \"1em\",\n fill: \"currentColor\",\n viewBox: \"0 0 24 24\",\n ref: ref,\n ...props,\n children: /*#__PURE__*/_jsx(\"path\", {\n d: \"M12 22a9.7 9.7 0 0 1-3.9-.788 10.1 10.1 0 0 1-3.175-2.137q-1.35-1.35-2.138-3.175A9.7 9.7 0 0 1 2 12q0-2.075.787-3.9a10.1 10.1 0 0 1 2.138-3.175q1.35-1.35 3.175-2.137A9.7 9.7 0 0 1 12 2q2.074 0 3.9.788a10.1 10.1 0 0 1 3.175 2.137q1.35 1.35 2.137 3.175A9.7 9.7 0 0 1 22 12a9.7 9.7 0 0 1-.788 3.9 10.1 10.1 0 0 1-2.137 3.175q-1.35 1.35-3.175 2.137A9.7 9.7 0 0 1 12 22m0-2q3.35 0 5.675-2.325T20 12t-2.325-5.675T12 4 6.325 6.325 4 12t2.325 5.675T12 20\"\n })\n });\n}\n;\nCircleIcon.displayName = \"CircleIcon\";\nexport default forwardRef(CircleIcon);","import { forwardRef } from \"react\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nfunction ComposeIcon(props, ref) {\n return /*#__PURE__*/_jsxs(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"1em\",\n height: \"1em\",\n fill: \"currentColor\",\n viewBox: \"0 0 24 24\",\n ref: ref,\n ...props,\n children: [/*#__PURE__*/_jsx(\"path\", {\n fillRule: \"evenodd\",\n d: \"M16.937 2.82a2 2 0 0 1 2.828 0l1.415 1.414a2 2 0 0 1 0 2.829l-7.071 7.07c-.195.196-.42.342-.66.44a1 1 0 0 1-.168.072l-3.993 1.331a1 1 0 0 1-1.265-1.265l1.331-3.992q.03-.09.073-.168m10.338-4.903-6.717 6.718-1.414-1.414 6.717-6.718z\",\n clipRule: \"evenodd\"\n }), /*#__PURE__*/_jsx(\"path\", {\n d: \"M3 5a2 2 0 0 1 2-2h6a1 1 0 1 1 0 2H5v14h14v-6a1 1 0 1 1 2 0v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z\"\n })]\n });\n}\n;\nComposeIcon.displayName = \"ComposeIcon\";\nexport default forwardRef(ComposeIcon);","import { forwardRef } from \"react\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction ComputerIcon(props, ref) {\n return /*#__PURE__*/_jsx(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"1em\",\n height: \"1em\",\n fill: \"currentColor\",\n viewBox: \"0 0 24 24\",\n ref: ref,\n ...props,\n children: /*#__PURE__*/_jsx(\"path\", {\n d: \"M4 18q-.824 0-1.412-.587A1.93 1.93 0 0 1 2 16V5q0-.824.587-1.412A1.93 1.93 0 0 1 4 3h16q.824 0 1.413.587Q22 4.176 22 5v11q0 .824-.587 1.413A1.93 1.93 0 0 1 20 18zm0-2h16V5H4zm-2 5a.97.97 0 0 1-.712-.288A.97.97 0 0 1 1 20q0-.424.288-.712A.97.97 0 0 1 2 19h20q.424 0 .712.288.288.287.288.712 0 .424-.288.712A.97.97 0 0 1 22 21z\"\n })\n });\n}\n;\nComputerIcon.displayName = \"ComputerIcon\";\nexport default forwardRef(ComputerIcon);","import { forwardRef } from \"react\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction DevicesIcon(props, ref) {\n return /*#__PURE__*/_jsx(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"1em\",\n height: \"1em\",\n fill: \"currentColor\",\n viewBox: \"0 0 24 24\",\n ref: ref,\n ...props,\n children: /*#__PURE__*/_jsx(\"path\", {\n d: \"M3.5 20q-.625 0-1.062-.437A1.45 1.45 0 0 1 2 18.5q0-.625.438-1.062A1.45 1.45 0 0 1 3.5 17H4V6q0-.824.588-1.412A1.93 1.93 0 0 1 6 4h14q.424 0 .712.287Q21 4.576 21 5t-.288.713A.97.97 0 0 1 20 6H6v11h4.5q.624 0 1.063.438.437.437.437 1.062t-.437 1.063A1.45 1.45 0 0 1 10.5 20zM15 20a.97.97 0 0 1-.713-.288A.97.97 0 0 1 14 19V9q0-.424.287-.713A.97.97 0 0 1 15 8h6q.424 0 .712.287Q22 8.576 22 9v10q0 .424-.288.712A.97.97 0 0 1 21 20zm1-3h4v-7h-4z\"\n })\n });\n}\n;\nDevicesIcon.displayName = \"DevicesIcon\";\nexport default forwardRef(DevicesIcon);","import { forwardRef } from \"react\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction EmailSolidIcon(props, ref) {\n return /*#__PURE__*/_jsx(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"1em\",\n height: \"1em\",\n fill: \"currentColor\",\n viewBox: \"0 0 24 24\",\n ref: ref,\n ...props,\n children: /*#__PURE__*/_jsx(\"path\", {\n d: \"M4 4h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2m0 5.111a1 1 0 0 0 .514.874l7 3.89a1 1 0 0 0 .972 0l7-3.89a1 1 0 1 0-.972-1.748L12 11.856 5.486 8.237A1 1 0 0 0 4 9.111\"\n })\n });\n}\n;\nEmailSolidIcon.displayName = \"EmailSolidIcon\";\nexport default forwardRef(EmailSolidIcon);","import { forwardRef } from \"react\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction EndCallIcon(props, ref) {\n return /*#__PURE__*/_jsx(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"1em\",\n height: \"1em\",\n fill: \"currentColor\",\n viewBox: \"0 0 24 24\",\n ref: ref,\n ...props,\n children: /*#__PURE__*/_jsx(\"path\", {\n d: \"m2.765 16.02-2.47-2.416A1.02 1.02 0 0 1 0 12.852q0-.456.295-.751a15.6 15.6 0 0 1 5.316-3.786A15.9 15.9 0 0 1 12 7q3.355 0 6.39 1.329a16 16 0 0 1 5.315 3.772q.295.294.295.751t-.295.752l-2.47 2.416a1.047 1.047 0 0 1-1.396.108l-3.114-2.363a1.1 1.1 0 0 1-.322-.376 1.1 1.1 0 0 1-.108-.483v-2.27a13.6 13.6 0 0 0-2.12-.524C13.459 9.996 12 9.937 12 9.937s-1.459.059-2.174.175q-1.074.174-2.121.523v2.271q0 .268-.108.483a1.1 1.1 0 0 1-.322.376l-3.114 2.363a1.047 1.047 0 0 1-1.396-.107\"\n })\n });\n}\n;\nEndCallIcon.displayName = \"EndCallIcon\";\nexport default forwardRef(EndCallIcon);","import { forwardRef } from \"react\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction ExploreIcon(props, ref) {\n return /*#__PURE__*/_jsx(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"1em\",\n height: \"1em\",\n fill: \"currentColor\",\n viewBox: \"0 0 24 24\",\n ref: ref,\n ...props,\n children: /*#__PURE__*/_jsx(\"path\", {\n d: \"M12 13a.97.97 0 0 1-.713-.287A.97.97 0 0 1 11 12q0-.424.287-.713A.97.97 0 0 1 12 11q.424 0 .713.287.287.288.287.713 0 .424-.287.713A.97.97 0 0 1 12 13m0 9a9.7 9.7 0 0 1-3.9-.788 10.1 10.1 0 0 1-3.175-2.137q-1.35-1.35-2.137-3.175A9.7 9.7 0 0 1 2 12q0-2.075.788-3.9a10.1 10.1 0 0 1 2.137-3.175q1.35-1.35 3.175-2.137A9.7 9.7 0 0 1 12 2q2.075 0 3.9.788a10.1 10.1 0 0 1 3.175 2.137q1.35 1.35 2.137 3.175A9.7 9.7 0 0 1 22 12a9.7 9.7 0 0 1-.788 3.9 10.1 10.1 0 0 1-2.137 3.175q-1.35 1.35-3.175 2.137A9.7 9.7 0 0 1 12 22m0-2q3.35 0 5.675-2.325T20 12t-2.325-5.675T12 4 6.325 6.325 4 12t2.325 5.675T12 20m0 0q-3.35 0-5.675-2.325T4 12t2.325-5.675T12 4t5.675 2.325T20 12t-2.325 5.675T12 20m1.675-5.85q.15-.075.275-.2t.2-.275l2.925-6.25q.125-.25-.062-.437-.188-.188-.438-.063l-6.25 2.925q-.15.075-.275.2t-.2.275l-2.925 6.25q-.125.25.063.438.186.186.437.062z\"\n })\n });\n}\n;\nExploreIcon.displayName = \"ExploreIcon\";\nexport default forwardRef(ExploreIcon);","import { forwardRef } from \"react\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction ExportArchiveIcon(props, ref) {\n return /*#__PURE__*/_jsx(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"1em\",\n height: \"1em\",\n fill: \"currentColor\",\n viewBox: \"0 0 24 24\",\n ref: ref,\n ...props,\n children: /*#__PURE__*/_jsx(\"path\", {\n d: \"M5 21q-.824 0-1.412-.587A1.93 1.93 0 0 1 3 19V6.5q0-.375.125-.675t.325-.575l1.4-1.7q.2-.274.5-.412T6 3h12q.35 0 .65.138.3.137.5.412l1.4 1.7q.2.275.325.575T21 6.5V19q0 .824-.587 1.413A1.93 1.93 0 0 1 19 21zm.4-15h13.2l-.85-1H6.25zM5 19h14V8H5zm7-1.425q.2 0 .375-.062a.9.9 0 0 0 .325-.213l2.6-2.6a.95.95 0 0 0 .275-.7.95.95 0 0 0-.275-.7.95.95 0 0 0-.7-.275.95.95 0 0 0-.7.275l-.9.9V11a.97.97 0 0 0-.287-.713A.97.97 0 0 0 12 10a.97.97 0 0 0-.713.287A.97.97 0 0 0 11 11v3.2l-.9-.9a.95.95 0 0 0-.7-.275.95.95 0 0 0-.7.275.95.95 0 0 0-.275.7q0 .425.275.7l2.6 2.6q.15.15.325.212.175.063.375.063\"\n })\n });\n}\n;\nExportArchiveIcon.displayName = \"ExportArchiveIcon\";\nexport default forwardRef(ExportArchiveIcon);","import { forwardRef } from \"react\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction ExtensionsIcon(props, ref) {\n return /*#__PURE__*/_jsx(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"1em\",\n height: \"1em\",\n fill: \"currentColor\",\n viewBox: \"0 0 24 24\",\n ref: ref,\n ...props,\n children: /*#__PURE__*/_jsx(\"path\", {\n d: \"M17.25 11.672a.9.9 0 0 1-.663-.282L12.61 7.413a.9.9 0 0 1-.282-.663q0-.381.282-.663l3.977-3.977a.9.9 0 0 1 .663-.282q.381 0 .663.282l3.977 3.977a.9.9 0 0 1 .282.663.9.9 0 0 1-.282.663l-3.977 3.977a.9.9 0 0 1-.663.282m2.475-4.922L17.25 4.275 14.775 6.75l2.475 2.475zM4 11a.97.97 0 0 1-.712-.287A.97.97 0 0 1 3 10V4q0-.424.288-.712A.97.97 0 0 1 4 3h6q.424 0 .713.288Q11 3.575 11 4v6q0 .424-.287.713A.97.97 0 0 1 10 11zm5-2V5H5v4zm5 12a.97.97 0 0 1-.713-.288A.97.97 0 0 1 13 20v-6q0-.424.287-.713A.97.97 0 0 1 14 13h6q.424 0 .712.287.288.288.288.713v6q0 .424-.288.712A.97.97 0 0 1 20 21zm5-2v-4h-4v4zM4 21a.97.97 0 0 1-.712-.288A.97.97 0 0 1 3 20v-6q0-.424.288-.713A.97.97 0 0 1 4 13h6q.424 0 .713.287.287.288.287.713v6q0 .424-.287.712A.97.97 0 0 1 10 21zm5-2v-4H5v4z\"\n })\n });\n}\n;\nExtensionsIcon.displayName = \"ExtensionsIcon\";\nexport default forwardRef(ExtensionsIcon);","import { forwardRef } from \"react\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction FavouriteIcon(props, ref) {\n return /*#__PURE__*/_jsx(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"1em\",\n height: \"1em\",\n fill: \"currentColor\",\n viewBox: \"0 0 24 24\",\n ref: ref,\n ...props,\n children: /*#__PURE__*/_jsx(\"path\", {\n d: \"M13.905 9.378 12 5.52l-1.905 3.86-4.259.618 3.082 3.004-.727 4.242L12 15.24l3.81 2.003-.728-4.242 3.082-3.004zM8.767 7.55l2.336-4.733a1 1 0 0 1 1.794 0l2.336 4.733 5.223.76a1 1 0 0 1 .555 1.705L17.23 13.7l.892 5.202a1 1 0 0 1-1.45 1.054L12 17.5l-4.672 2.456a1 1 0 0 1-1.451-1.054l.892-5.202-3.78-3.685a1 1 0 0 1 .555-1.706z\"\n })\n });\n}\n;\nFavouriteIcon.displayName = \"FavouriteIcon\";\nexport default forwardRef(FavouriteIcon);","import { forwardRef } from \"react\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nfunction HelpIcon(props, ref) {\n return /*#__PURE__*/_jsxs(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"1em\",\n height: \"1em\",\n fill: \"currentColor\",\n viewBox: \"0 0 24 24\",\n ref: ref,\n ...props,\n children: [/*#__PURE__*/_jsx(\"path\", {\n d: \"M12 8a1.5 1.5 0 0 0-1.5 1.5 1 1 0 1 1-2 0 3.5 3.5 0 1 1 6.01 2.439q-.183.188-.352.355c-.287.288-.54.54-.76.824-.293.375-.398.651-.398.882a1 1 0 1 1-2 0c0-.874.407-1.58.819-2.11.305-.392.688-.775 1-1.085l.257-.26A1.5 1.5 0 0 0 12 8m1 9a1 1 0 1 1-2 0 1 1 0 0 1 2 0\"\n }), /*#__PURE__*/_jsx(\"path\", {\n d: \"M8.1 21.213A9.7 9.7 0 0 0 12 22a9.7 9.7 0 0 0 3.9-.788 10.1 10.1 0 0 0 3.175-2.137q1.35-1.35 2.137-3.175A9.7 9.7 0 0 0 22 12a9.7 9.7 0 0 0-.788-3.9 10.1 10.1 0 0 0-2.137-3.175q-1.35-1.35-3.175-2.137A9.7 9.7 0 0 0 12 2a9.7 9.7 0 0 0-3.9.788 10.1 10.1 0 0 0-3.175 2.137Q3.575 6.275 2.788 8.1A9.7 9.7 0 0 0 2 12q0 2.075.788 3.9a10.1 10.1 0 0 0 2.137 3.175q1.35 1.35 3.175 2.137m9.575-3.538Q15.35 20 12 20t-5.675-2.325T4 12t2.325-5.675T12 4t5.675 2.325T20 12t-2.325 5.675\"\n })]\n });\n}\n;\nHelpIcon.displayName = \"HelpIcon\";\nexport default forwardRef(HelpIcon);","import { forwardRef } from \"react\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction HomeIcon(props, ref) {\n return /*#__PURE__*/_jsx(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"1em\",\n height: \"1em\",\n fill: \"currentColor\",\n viewBox: \"0 0 24 24\",\n ref: ref,\n ...props,\n children: /*#__PURE__*/_jsx(\"path\", {\n fillRule: \"evenodd\",\n d: \"M16 11v8h3V9.177l-7-3.889-7 3.889V19h3v-8zm-6 10H5a2 2 0 0 1-2-2V9.177a2 2 0 0 1 1.029-1.748l7-3.89a2 2 0 0 1 1.942 0l7 3.89A2 2 0 0 1 21 9.177V19a2 2 0 0 1-2 2h-5v-8h-4z\",\n clipRule: \"evenodd\"\n })\n });\n}\n;\nHomeIcon.displayName = \"HomeIcon\";\nexport default forwardRef(HomeIcon);","import { forwardRef } from \"react\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction KeySolidIcon(props, ref) {\n return /*#__PURE__*/_jsx(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"1em\",\n height: \"1em\",\n fill: \"currentColor\",\n viewBox: \"0 0 24 24\",\n ref: ref,\n ...props,\n children: /*#__PURE__*/_jsx(\"path\", {\n d: \"M10.475 16.9A5.86 5.86 0 0 1 7 18q-2.5 0-4.25-1.75T1 12t1.75-4.25T7 6q2.026 0 3.537 1.15Q12.05 8.3 12.65 10h7.95q.2 0 .387.075.189.075.338.225l1.025 1.025a1 1 0 0 1 .2.288q.075.162.075.362t-.062.375a1.1 1.1 0 0 1-.188.325l-2.25 2.575a.97.97 0 0 1-1.038.313 1 1 0 0 1-.337-.188L17 14l-1.3 1.3q-.15.15-.325.212a1.1 1.1 0 0 1-.375.063q-.2 0-.375-.062a.9.9 0 0 1-.325-.213L13 14h-.35a5.8 5.8 0 0 1-2.175 2.9m-4.887-3.487Q6.175 14 7 14q.824 0 1.412-.588Q9 12.826 9 12t-.588-1.412A1.93 1.93 0 0 0 7 10q-.824 0-1.412.588A1.93 1.93 0 0 0 5 12q0 .825.588 1.412\"\n })\n });\n}\n;\nKeySolidIcon.displayName = \"KeySolidIcon\";\nexport default forwardRef(KeySolidIcon);","import { forwardRef } from \"react\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction KeyIcon(props, ref) {\n return /*#__PURE__*/_jsx(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"1em\",\n height: \"1em\",\n fill: \"currentColor\",\n viewBox: \"0 0 24 24\",\n ref: ref,\n ...props,\n children: /*#__PURE__*/_jsx(\"path\", {\n d: \"M7 14q-.824 0-1.412-.588A1.93 1.93 0 0 1 5 12q0-.825.588-1.412A1.93 1.93 0 0 1 7 10q.824 0 1.412.588Q9 11.175 9 12t-.588 1.412A1.93 1.93 0 0 1 7 14m0 4q-2.5 0-4.25-1.75T1 12t1.75-4.25T7 6q1.676 0 3.037.825A6.2 6.2 0 0 1 12.2 9h8.375q.2 0 .387.075.188.075.338.225l2 2q.15.15.212.325.063.175.063.375t-.062.375a.9.9 0 0 1-.213.325l-3.175 3.175a1 1 0 0 1-.3.2q-.175.075-.35.1a.8.8 0 0 1-.35-.025.9.9 0 0 1-.325-.175L17.5 15l-1.425 1.075a.95.95 0 0 1-.887.15.9.9 0 0 1-.288-.15L13.375 15H12.2a6.2 6.2 0 0 1-2.162 2.175Q8.675 18 7 18m0-2q1.4 0 2.463-.85A4.03 4.03 0 0 0 10.875 13H14l1.45 1.025L17.5 12.5l1.775 1.375L21.15 12l-1-1h-9.275a4.03 4.03 0 0 0-1.412-2.15Q8.4 8 7 8 5.35 8 4.175 9.175T3 12t1.175 2.825T7 16\"\n })\n });\n}\n;\nKeyIcon.displayName = \"KeyIcon\";\nexport default forwardRef(KeyIcon);","import { forwardRef } from \"react\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nfunction KeyboardIcon(props, ref) {\n return /*#__PURE__*/_jsxs(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"1em\",\n height: \"1em\",\n fill: \"currentColor\",\n viewBox: \"0 0 24 24\",\n ref: ref,\n ...props,\n children: [/*#__PURE__*/_jsx(\"path\", {\n d: \"M5.188 8v2h2V8zm3.875 0v2h2V8zm3.875 0v2h2V8zm3.875 0v2h2V8zM5.188 11.531v2h2v-2zm3.875 0v2h2v-2zm3.875 0v2h2v-2zm3.875 0v2h2v-2zM9 15a1 1 0 1 0 0 2h6a1 1 0 1 0 0-2z\"\n }), /*#__PURE__*/_jsx(\"path\", {\n fillRule: \"evenodd\",\n d: \"M2 6a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2zm2 0h16v12H4z\",\n clipRule: \"evenodd\"\n })]\n });\n}\n;\nKeyboardIcon.displayName = \"KeyboardIcon\";\nexport default forwardRef(KeyboardIcon);","import { forwardRef } from \"react\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nfunction ListViewIcon(props, ref) {\n return /*#__PURE__*/_jsxs(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"1em\",\n height: \"1em\",\n fill: \"currentColor\",\n viewBox: \"0 0 24 24\",\n ref: ref,\n ...props,\n children: [/*#__PURE__*/_jsx(\"path\", {\n d: \"M17 5a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2z\"\n }), /*#__PURE__*/_jsx(\"path\", {\n fillRule: \"evenodd\",\n d: \"M4 7a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2zm8 2H4v6h8z\",\n clipRule: \"evenodd\"\n }), /*#__PURE__*/_jsx(\"path\", {\n d: \"M16 10a1 1 0 0 1 1-1h4a1 1 0 1 1 0 2h-4a1 1 0 0 1-1-1m0 4a1 1 0 0 1 1-1h4a1 1 0 1 1 0 2h-4a1 1 0 0 1-1-1m1 3a1 1 0 1 0 0 2h4a1 1 0 1 0 0-2z\"\n })]\n });\n}\n;\nListViewIcon.displayName = \"ListViewIcon\";\nexport default forwardRef(ListViewIcon);","import { forwardRef } from \"react\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction LockOffIcon(props, ref) {\n return /*#__PURE__*/_jsx(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"1em\",\n height: \"1em\",\n fill: \"currentColor\",\n viewBox: \"0 0 24 24\",\n ref: ref,\n ...props,\n children: /*#__PURE__*/_jsx(\"path\", {\n d: \"M6 22q-.825 0-1.412-.587A1.93 1.93 0 0 1 4 20V10q0-.825.588-1.412a2 2 0 0 1 .702-.463L1.333 4.167a1 1 0 0 1 1.414-1.414L7 7.006v-.012l13 13v.012l1.247 1.247a1 1 0 1 1-1.414 1.414l-.896-.896A1.94 1.94 0 0 1 18 22zm14-4.834V10q0-.825-.587-1.412A1.93 1.93 0 0 0 18 8h-1V6q0-2.075-1.463-3.537Q14.075 1 12 1T8.463 2.463a4.9 4.9 0 0 0-1.22 1.946L9 6.166V6q0-1.25.875-2.125A2.9 2.9 0 0 1 12 3q1.25 0 2.125.875T15 6v2h-4.166z\"\n })\n });\n}\n;\nLockOffIcon.displayName = \"LockOffIcon\";\nexport default forwardRef(LockOffIcon);","import { forwardRef } from \"react\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction MicOffSolidIcon(props, ref) {\n return /*#__PURE__*/_jsx(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"1em\",\n height: \"1em\",\n fill: \"currentColor\",\n viewBox: \"0 0 24 24\",\n ref: ref,\n ...props,\n children: /*#__PURE__*/_jsx(\"path\", {\n d: \"M8 8v-.006l6.831 6.832-.002.002 1.414 1.415.003-.003 1.414 1.414-.003.003L20.5 20.5a1 1 0 0 1-1.414 1.414l-3.022-3.022A7.95 7.95 0 0 1 13 19.938V21a1 1 0 0 1-2 0v-1.062A8 8 0 0 1 4 12a1 1 0 1 1 2 0 6 6 0 0 0 8.587 5.415l-1.55-1.55A4.005 4.005 0 0 1 8 12v-1.172L2.086 4.914A1 1 0 0 1 3.5 3.5zm9.417 6.583 1.478 1.477A7.96 7.96 0 0 0 20 12a1 1 0 0 0-2 0c0 .925-.21 1.8-.583 2.583M8.073 5.238l7.793 7.793q.132-.495.134-1.031V6a4 4 0 0 0-7.927-.762\"\n })\n });\n}\n;\nMicOffSolidIcon.displayName = \"MicOffSolidIcon\";\nexport default forwardRef(MicOffSolidIcon);","import { forwardRef } from \"react\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nfunction MicOnSolidIcon(props, ref) {\n return /*#__PURE__*/_jsxs(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"1em\",\n height: \"1em\",\n fill: \"currentColor\",\n viewBox: \"0 0 24 24\",\n ref: ref,\n ...props,\n children: [/*#__PURE__*/_jsx(\"path\", {\n d: \"M8 6a4 4 0 1 1 8 0v6a4 4 0 0 1-8 0z\"\n }), /*#__PURE__*/_jsx(\"path\", {\n d: \"M5 11a1 1 0 0 1 1 1 6 6 0 0 0 12 0 1 1 0 1 1 2 0 8 8 0 0 1-7 7.938V21a1 1 0 1 1-2 0v-1.062A8 8 0 0 1 4 12a1 1 0 0 1 1-1\"\n })]\n });\n}\n;\nMicOnSolidIcon.displayName = \"MicOnSolidIcon\";\nexport default forwardRef(MicOnSolidIcon);","import { forwardRef } from \"react\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nfunction MicOnIcon(props, ref) {\n return /*#__PURE__*/_jsxs(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"1em\",\n height: \"1em\",\n fill: \"currentColor\",\n viewBox: \"0 0 24 24\",\n ref: ref,\n ...props,\n children: [/*#__PURE__*/_jsx(\"path\", {\n d: \"M6 12a1 1 0 1 0-2 0 8 8 0 0 0 7 7.938V21a1 1 0 1 0 2 0v-1.062A8 8 0 0 0 20 12a1 1 0 1 0-2 0 6 6 0 0 1-12 0\"\n }), /*#__PURE__*/_jsx(\"path\", {\n fillRule: \"evenodd\",\n d: \"M14 12V6a2 2 0 1 0-4 0v6a2 2 0 1 0 4 0M12 2a4 4 0 0 0-4 4v6a4 4 0 0 0 8 0V6a4 4 0 0 0-4-4\",\n clipRule: \"evenodd\"\n })]\n });\n}\n;\nMicOnIcon.displayName = \"MicOnIcon\";\nexport default forwardRef(MicOnIcon);","import { forwardRef } from \"react\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction MinusIcon(props, ref) {\n return /*#__PURE__*/_jsx(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"1em\",\n height: \"1em\",\n fill: \"currentColor\",\n viewBox: \"0 0 24 24\",\n ref: ref,\n ...props,\n children: /*#__PURE__*/_jsx(\"path\", {\n d: \"M6 13a.97.97 0 0 1-.713-.287A.97.97 0 0 1 5 12q0-.424.287-.713A.97.97 0 0 1 6 11h12q.424 0 .712.287.288.288.288.713 0 .424-.288.713A.97.97 0 0 1 18 13z\"\n })\n });\n}\n;\nMinusIcon.displayName = \"MinusIcon\";\nexport default forwardRef(MinusIcon);","import { forwardRef } from \"react\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction MobileIcon(props, ref) {\n return /*#__PURE__*/_jsx(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"1em\",\n height: \"1em\",\n fill: \"currentColor\",\n viewBox: \"0 0 24 24\",\n ref: ref,\n ...props,\n children: /*#__PURE__*/_jsx(\"path\", {\n d: \"M7 23q-.824 0-1.412-.587A1.93 1.93 0 0 1 5 21V3q0-.824.588-1.412A1.93 1.93 0 0 1 7 1h10q.824 0 1.413.587Q19 2.176 19 3v18q0 .824-.587 1.413A1.93 1.93 0 0 1 17 23zm0-5h10V6H7z\"\n })\n });\n}\n;\nMobileIcon.displayName = \"MobileIcon\";\nexport default forwardRef(MobileIcon);","import { forwardRef } from \"react\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction PinSolidIcon(props, ref) {\n return /*#__PURE__*/_jsx(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"1em\",\n height: \"1em\",\n fill: \"currentColor\",\n viewBox: \"0 0 24 24\",\n ref: ref,\n ...props,\n children: /*#__PURE__*/_jsx(\"path\", {\n d: \"M5.769 2.857A.5.5 0 0 1 6.119 2h11.762a.5.5 0 0 1 .35.857L16.15 4.9a.5.5 0 0 0-.15.357v4.487a.5.5 0 0 0 .15.356l3.7 3.644a.5.5 0 0 1 .15.356v1.4a.5.5 0 0 1-.5.5H13v6a1 1 0 1 1-2 0v-6H4.5a.5.5 0 0 1-.5-.5v-1.4a.5.5 0 0 1 .15-.356l3.7-3.644A.5.5 0 0 0 8 9.744V5.257a.5.5 0 0 0-.15-.357z\"\n })\n });\n}\n;\nPinSolidIcon.displayName = \"PinSolidIcon\";\nexport default forwardRef(PinSolidIcon);","import { forwardRef } from \"react\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nfunction PresenceOutline8X8Icon(props, ref) {\n return /*#__PURE__*/_jsxs(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"1em\",\n height: \"1em\",\n fill: \"currentColor\",\n viewBox: \"0 0 8 8\",\n ref: ref,\n ...props,\n children: [/*#__PURE__*/_jsx(\"g\", {\n clipPath: \"url(#a)\",\n children: /*#__PURE__*/_jsx(\"path\", {\n fillRule: \"evenodd\",\n d: \"M4 6.5a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5M4 8a4 4 0 1 0 0-8 4 4 0 0 0 0 8\",\n clipRule: \"evenodd\"\n })\n }), /*#__PURE__*/_jsx(\"defs\", {\n children: /*#__PURE__*/_jsx(\"clipPath\", {\n id: \"a\",\n children: /*#__PURE__*/_jsx(\"path\", {\n d: \"M0 0h8v8H0z\"\n })\n })\n })]\n });\n}\n;\nPresenceOutline8X8Icon.displayName = \"PresenceOutline8X8Icon\";\nexport default forwardRef(PresenceOutline8X8Icon);","import { forwardRef } from \"react\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nfunction PresenceSolid8X8Icon(props, ref) {\n return /*#__PURE__*/_jsxs(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"1em\",\n height: \"1em\",\n fill: \"currentColor\",\n viewBox: \"0 0 8 8\",\n ref: ref,\n ...props,\n children: [/*#__PURE__*/_jsx(\"g\", {\n clipPath: \"url(#a)\",\n children: /*#__PURE__*/_jsx(\"path\", {\n d: \"M8 4a4 4 0 1 1-8 0 4 4 0 0 1 8 0\"\n })\n }), /*#__PURE__*/_jsx(\"defs\", {\n children: /*#__PURE__*/_jsx(\"clipPath\", {\n id: \"a\",\n children: /*#__PURE__*/_jsx(\"path\", {\n d: \"M0 0h8v8H0z\"\n })\n })\n })]\n });\n}\n;\nPresenceSolid8X8Icon.displayName = \"PresenceSolid8X8Icon\";\nexport default forwardRef(PresenceSolid8X8Icon);","import { forwardRef } from \"react\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nfunction PresenceStrikethrough8X8Icon(props, ref) {\n return /*#__PURE__*/_jsxs(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"1em\",\n height: \"1em\",\n fill: \"currentColor\",\n viewBox: \"0 0 8 8\",\n ref: ref,\n ...props,\n children: [/*#__PURE__*/_jsx(\"g\", {\n clipPath: \"url(#a)\",\n children: /*#__PURE__*/_jsx(\"path\", {\n fillRule: \"evenodd\",\n d: \"M8 4a4 4 0 1 1-8 0 4 4 0 0 1 8 0M5.435 6.048A2.5 2.5 0 0 1 1.687 3.05zm.914-1.19L2.648 1.897a2.5 2.5 0 0 1 3.701 2.961\",\n clipRule: \"evenodd\"\n })\n }), /*#__PURE__*/_jsx(\"defs\", {\n children: /*#__PURE__*/_jsx(\"clipPath\", {\n id: \"a\",\n children: /*#__PURE__*/_jsx(\"path\", {\n d: \"M0 0h8v8H0z\"\n })\n })\n })]\n });\n}\n;\nPresenceStrikethrough8X8Icon.displayName = \"PresenceStrikethrough8X8Icon\";\nexport default forwardRef(PresenceStrikethrough8X8Icon);","import { forwardRef } from \"react\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nfunction QrCodeIcon(props, ref) {\n return /*#__PURE__*/_jsxs(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"1em\",\n height: \"1em\",\n fill: \"currentColor\",\n viewBox: \"0 0 24 24\",\n ref: ref,\n ...props,\n children: [/*#__PURE__*/_jsx(\"path\", {\n fillRule: \"evenodd\",\n d: \"M3 4a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1zm2 5V5h4v4zm-2 5a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v6a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1zm2 5v-4h4v4zm9-16a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h6a1 1 0 0 0 1-1V4a1 1 0 0 0-1-1zm1 2v4h4V5z\",\n clipRule: \"evenodd\"\n }), /*#__PURE__*/_jsx(\"path\", {\n d: \"M15 16v-3h-2v3z\"\n }), /*#__PURE__*/_jsx(\"path\", {\n d: \"M17 16h-2v2h-2v3h2v-3h2v2h4v-2h-2v-5h-2z\"\n })]\n });\n}\n;\nQrCodeIcon.displayName = \"QrCodeIcon\";\nexport default forwardRef(QrCodeIcon);","import { forwardRef } from \"react\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nfunction ReactionIcon(props, ref) {\n return /*#__PURE__*/_jsxs(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"1em\",\n height: \"1em\",\n fill: \"currentColor\",\n viewBox: \"0 0 24 24\",\n ref: ref,\n ...props,\n children: [/*#__PURE__*/_jsx(\"path\", {\n d: \"M15.536 15.536a1 1 0 0 0-1.415-1.415 3 3 0 0 1-2.12.879 3 3 0 0 1-2.122-.879 1 1 0 1 0-1.414 1.415A5 5 0 0 0 12 17c1.38 0 2.632-.56 3.536-1.464M10 10.5a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0m5.5 1.5a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3\"\n }), /*#__PURE__*/_jsx(\"path\", {\n d: \"M22 12c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2s10 4.477 10 10m-2 0a8 8 0 1 0-16 0 8 8 0 0 0 16 0\"\n })]\n });\n}\n;\nReactionIcon.displayName = \"ReactionIcon\";\nexport default forwardRef(ReactionIcon);","import { forwardRef } from \"react\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction SendSolidIcon(props, ref) {\n return /*#__PURE__*/_jsx(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"1em\",\n height: \"1em\",\n fill: \"currentColor\",\n viewBox: \"0 0 24 24\",\n ref: ref,\n ...props,\n children: /*#__PURE__*/_jsx(\"path\", {\n d: \"m21.211 12.895-16.14 8.07c-.785.392-1.658-.342-1.406-1.182L5.7 13h6.55a1 1 0 1 0 0-2H5.7L3.665 4.217c-.252-.84.621-1.574 1.405-1.182l16.141 8.07a1 1 0 0 1 0 1.79\"\n })\n });\n}\n;\nSendSolidIcon.displayName = \"SendSolidIcon\";\nexport default forwardRef(SendSolidIcon);","import { forwardRef } from \"react\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction ShareScreenSolidIcon(props, ref) {\n return /*#__PURE__*/_jsx(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"1em\",\n height: \"1em\",\n fill: \"currentColor\",\n viewBox: \"0 0 24 24\",\n ref: ref,\n ...props,\n children: /*#__PURE__*/_jsx(\"path\", {\n d: \"M1.288 20.713Q1.575 21 2 21h20q.424 0 .712-.288A.97.97 0 0 0 23 20a.97.97 0 0 0-.288-.712A.97.97 0 0 0 22 19H2a.97.97 0 0 0-.712.288A.97.97 0 0 0 1 20q0 .424.288.712m1.3-3.299A1.93 1.93 0 0 1 2 16V5q0-.824.587-1.412A1.93 1.93 0 0 1 4 3h16q.824 0 1.413.587Q22 4.176 22 5v11q0 .824-.587 1.413A1.93 1.93 0 0 1 20 18H4q-.824 0-1.412-.587m10.12-10.12a1 1 0 0 0-1.415 0l-2.5 2.5a1 1 0 0 0 1.414 1.414l.793-.793V13a1 1 0 1 0 2 0v-2.586l.793.793a1 1 0 0 0 1.414-1.414z\"\n })\n });\n}\n;\nShareScreenSolidIcon.displayName = \"ShareScreenSolidIcon\";\nexport default forwardRef(ShareScreenSolidIcon);","import { forwardRef } from \"react\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction SidebarIcon(props, ref) {\n return /*#__PURE__*/_jsx(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"1em\",\n height: \"1em\",\n fill: \"currentColor\",\n viewBox: \"0 0 24 24\",\n ref: ref,\n ...props,\n children: /*#__PURE__*/_jsx(\"path\", {\n fillRule: \"evenodd\",\n d: \"M18 3a4 4 0 0 1 4 4v10a4 4 0 0 1-4 4H6a4 4 0 0 1-4-4V7a4 4 0 0 1 4-4zm-8 2h8a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2h-8zM8 19H6a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2h2z\",\n clipRule: \"evenodd\"\n })\n });\n}\n;\nSidebarIcon.displayName = \"SidebarIcon\";\nexport default forwardRef(SidebarIcon);","import { forwardRef } from \"react\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction SignOutIcon(props, ref) {\n return /*#__PURE__*/_jsx(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"1em\",\n height: \"1em\",\n fill: \"currentColor\",\n viewBox: \"0 0 24 24\",\n ref: ref,\n ...props,\n children: /*#__PURE__*/_jsx(\"path\", {\n d: \"M9 12.031q0-.424.288-.712A.97.97 0 0 1 10 11.03h7.15l-1.875-1.875a.96.96 0 0 1-.3-.7q0-.4.325-.725a.93.93 0 0 1 .712-.287.98.98 0 0 1 .688.287l3.6 3.6q.15.15.212.325.063.175.063.375 0 .201-.062.375a.9.9 0 0 1-.213.325l-3.6 3.6q-.3.3-.712.288a.98.98 0 0 1-.688-.288 1.02 1.02 0 0 1-.312-.712.93.93 0 0 1 .287-.713l1.875-1.875H10a.97.97 0 0 1-.712-.287A.97.97 0 0 1 9 12.03m-6-7q0-.824.588-1.412A1.93 1.93 0 0 1 5 3.03h6q.424 0 .713.288.287.287.287.712t-.287.713A.97.97 0 0 1 11 5.03H5v14h6q.424 0 .713.288.287.287.287.712t-.287.713a.97.97 0 0 1-.713.287H5q-.824 0-1.412-.587A1.93 1.93 0 0 1 3 19.03z\"\n })\n });\n}\n;\nSignOutIcon.displayName = \"SignOutIcon\";\nexport default forwardRef(SignOutIcon);","import { forwardRef } from \"react\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction SpaceIcon(props, ref) {\n return /*#__PURE__*/_jsx(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"1em\",\n height: \"1em\",\n fill: \"currentColor\",\n viewBox: \"0 0 24 24\",\n ref: ref,\n ...props,\n children: /*#__PURE__*/_jsx(\"path\", {\n d: \"M6 21q-1.65 0-2.825-1.175T2 17t1.175-2.825T6 13t2.825 1.175T10 17t-1.175 2.825T6 21m12 0q-1.65 0-2.825-1.175T14 17t1.175-2.825T18 13t2.825 1.175T22 17t-1.175 2.825T18 21M6 19q.824 0 1.412-.587Q8 17.825 8 17t-.588-1.412A1.93 1.93 0 0 0 6 15q-.824 0-1.412.588A1.93 1.93 0 0 0 4 17q0 .824.588 1.413Q5.175 19 6 19m12 0q.824 0 1.413-.587Q20 17.825 20 17t-.587-1.412A1.93 1.93 0 0 0 18 15q-.824 0-1.413.588A1.93 1.93 0 0 0 16 17q0 .824.587 1.413Q17.176 19 18 19m-6-8q-1.65 0-2.825-1.175T8 7t1.175-2.825T12 3t2.825 1.175T16 7t-1.175 2.825T12 11m0-2q.825 0 1.412-.588Q14 7.826 14 7q0-.824-.588-1.412A1.93 1.93 0 0 0 12 5q-.825 0-1.412.588A1.93 1.93 0 0 0 10 7q0 .824.588 1.412Q11.175 9 12 9\"\n })\n });\n}\n;\nSpaceIcon.displayName = \"SpaceIcon\";\nexport default forwardRef(SpaceIcon);","import { forwardRef } from \"react\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction SpotlightViewIcon(props, ref) {\n return /*#__PURE__*/_jsx(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"1em\",\n height: \"1em\",\n fill: \"currentColor\",\n viewBox: \"0 0 24 24\",\n ref: ref,\n ...props,\n children: /*#__PURE__*/_jsx(\"path\", {\n fillRule: \"evenodd\",\n d: \"M20 6H4v12h16zM4 4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2z\",\n clipRule: \"evenodd\"\n })\n });\n}\n;\nSpotlightViewIcon.displayName = \"SpotlightViewIcon\";\nexport default forwardRef(SpotlightViewIcon);","import { forwardRef } from \"react\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction StickerIcon(props, ref) {\n return /*#__PURE__*/_jsx(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"1em\",\n height: \"1em\",\n fill: \"currentColor\",\n viewBox: \"0 0 24 24\",\n ref: ref,\n ...props,\n children: /*#__PURE__*/_jsx(\"path\", {\n fillRule: \"evenodd\",\n d: \"M17 2a5 5 0 0 1 5 4.999v5.335a5 5 0 0 1-1.58 3.647l-4.978 4.667A5 5 0 0 1 12.023 22H7l-.258-.007A5 5 0 0 1 2 17V7a5 5 0 0 1 5-5zM7 4a3 3 0 0 0-3 3v10a3 3 0 0 0 2.999 3H12v-4a4 4 0 0 1 4-4h4V6.999A3 3 0 0 0 17 4zm9 10a2 2 0 0 0-2 2v3.251l.074-.062 4.978-4.666q.252-.238.441-.523z\",\n clipRule: \"evenodd\"\n })\n });\n}\n;\nStickerIcon.displayName = \"StickerIcon\";\nexport default forwardRef(StickerIcon);","import { forwardRef } from \"react\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction StopSolidIcon(props, ref) {\n return /*#__PURE__*/_jsx(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"1em\",\n height: \"1em\",\n fill: \"currentColor\",\n viewBox: \"0 0 24 24\",\n ref: ref,\n ...props,\n children: /*#__PURE__*/_jsx(\"path\", {\n d: \"M4 8a4 4 0 0 1 4-4h8a4 4 0 0 1 4 4v8a4 4 0 0 1-4 4H8a4 4 0 0 1-4-4z\"\n })\n });\n}\n;\nStopSolidIcon.displayName = \"StopSolidIcon\";\nexport default forwardRef(StopSolidIcon);","import { forwardRef } from \"react\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction TextFormattingIcon(props, ref) {\n return /*#__PURE__*/_jsx(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"1em\",\n height: \"1em\",\n fill: \"currentColor\",\n viewBox: \"0 0 24 24\",\n ref: ref,\n ...props,\n children: /*#__PURE__*/_jsx(\"path\", {\n d: \"M6 19a.97.97 0 0 1-.713-.288A.97.97 0 0 1 5 18q0-.424.287-.712A.97.97 0 0 1 6 17h12q.424 0 .712.288.288.287.288.712 0 .424-.288.712A.97.97 0 0 1 18 19zm1.35-5.2 3.425-9.2a.9.9 0 0 1 .338-.437A.93.93 0 0 1 11.65 4h.7q.3 0 .537.162.238.163.338.438l3.425 9.225q.15.425-.1.8a.8.8 0 0 1-.7.375.9.9 0 0 1-.512-.162A.9.9 0 0 1 15 14.4l-.75-2.2H9.8L9 14.425a.84.84 0 0 1-.325.425q-.225.15-.5.15a.84.84 0 0 1-.738-.387.82.82 0 0 1-.087-.813m3-3.2h3.3l-1.6-4.55h-.1z\"\n })\n });\n}\n;\nTextFormattingIcon.displayName = \"TextFormattingIcon\";\nexport default forwardRef(TextFormattingIcon);","import { forwardRef } from \"react\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction ThemeIcon(props, ref) {\n return /*#__PURE__*/_jsx(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"1em\",\n height: \"1em\",\n fill: \"currentColor\",\n viewBox: \"0 0 24 24\",\n ref: ref,\n ...props,\n children: /*#__PURE__*/_jsx(\"path\", {\n d: \"M12 22c5.52 0 10-4.48 10-10S17.52 2 12 2 2 6.48 2 12s4.48 10 10 10m1-17.93c3.94.49 7 3.85 7 7.93s-3.05 7.44-7 7.93z\"\n })\n });\n}\n;\nThemeIcon.displayName = \"ThemeIcon\";\nexport default forwardRef(ThemeIcon);","import { forwardRef } from \"react\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction ThreadsSolidIcon(props, ref) {\n return /*#__PURE__*/_jsx(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"1em\",\n height: \"1em\",\n fill: \"currentColor\",\n viewBox: \"0 0 24 24\",\n ref: ref,\n ...props,\n children: /*#__PURE__*/_jsx(\"path\", {\n d: \"M4 3h16a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H6l-2.293 2.293c-.63.63-1.707.184-1.707-.707V5a2 2 0 0 1 2-2m3 7h10q.424 0 .712-.287A.97.97 0 0 0 18 9a.97.97 0 0 0-.288-.713A.97.97 0 0 0 17 8H7a.97.97 0 0 0-.713.287A.97.97 0 0 0 6 9q0 .424.287.713Q6.576 10 7 10m0 4h6q.424 0 .713-.287A.97.97 0 0 0 14 13a.97.97 0 0 0-.287-.713A.97.97 0 0 0 13 12H7a.97.97 0 0 0-.713.287A.97.97 0 0 0 6 13q0 .424.287.713Q6.576 14 7 14\"\n })\n });\n}\n;\nThreadsSolidIcon.displayName = \"ThreadsSolidIcon\";\nexport default forwardRef(ThreadsSolidIcon);","import { forwardRef } from \"react\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nfunction UserProfileIcon(props, ref) {\n return /*#__PURE__*/_jsxs(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"1em\",\n height: \"1em\",\n fill: \"currentColor\",\n viewBox: \"0 0 24 24\",\n ref: ref,\n ...props,\n children: [/*#__PURE__*/_jsx(\"path\", {\n d: \"M9.175 13.825Q10.35 15 12 15t2.825-1.175T16 11t-1.175-2.825T12 7 9.175 8.175 8 11t1.175 2.825m4.237-1.412A1.93 1.93 0 0 1 12 13q-.825 0-1.412-.588A1.93 1.93 0 0 1 10 11q0-.825.588-1.412A1.93 1.93 0 0 1 12 9q.825 0 1.412.588Q14 10.175 14 11t-.588 1.412\"\n }), /*#__PURE__*/_jsx(\"path\", {\n d: \"M22 12c0 5.523-4.477 10-10 10S2 17.523 2 12 6.477 2 12 2s10 4.477 10 10m-2 0a8 8 0 1 0-16 0 8 8 0 0 0 16 0\"\n }), /*#__PURE__*/_jsx(\"path\", {\n d: \"M16.23 18.792a13 13 0 0 0-1.455-.455 11.6 11.6 0 0 0-5.55 0q-.73.18-1.455.455a8 8 0 0 1-1.729-1.454q1.336-.618 2.709-.95A13.8 13.8 0 0 1 12 16q1.65 0 3.25.387 1.373.333 2.709.95a8 8 0 0 1-1.73 1.455\"\n })]\n });\n}\n;\nUserProfileIcon.displayName = \"UserProfileIcon\";\nexport default forwardRef(UserProfileIcon);","import { forwardRef } from \"react\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction VideoCallOffSolidIcon(props, ref) {\n return /*#__PURE__*/_jsx(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"1em\",\n height: \"1em\",\n fill: \"currentColor\",\n viewBox: \"0 0 24 24\",\n ref: ref,\n ...props,\n children: /*#__PURE__*/_jsx(\"path\", {\n d: \"M2.747 2.753 4.35 4.355l.007-.003L18 17.994v.012l3.247 3.247a1 1 0 0 1-1.414 1.414l-2.898-2.898A2 2 0 0 1 16 20H6a4 4 0 0 1-4-4V8c0-.892.292-1.715.785-2.38L1.333 4.166a1 1 0 0 1 1.414-1.414M18 15.166 6.834 4H16a2 2 0 0 1 2 2v4.286l3.35-2.871a1 1 0 0 1 1.65.76v7.65a1 1 0 0 1-1.65.76L18 13.715z\"\n })\n });\n}\n;\nVideoCallOffSolidIcon.displayName = \"VideoCallOffSolidIcon\";\nexport default forwardRef(VideoCallOffSolidIcon);","import { forwardRef } from \"react\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction VideoCallIcon(props, ref) {\n return /*#__PURE__*/_jsx(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"1em\",\n height: \"1em\",\n fill: \"currentColor\",\n viewBox: \"0 0 24 24\",\n ref: ref,\n ...props,\n children: /*#__PURE__*/_jsx(\"path\", {\n d: \"M2 8a4 4 0 0 1 4-4h10a2 2 0 0 1 2 2v4.286l3.35-2.871a1 1 0 0 1 1.65.76v7.65a1 1 0 0 1-1.65.76L18 13.715V18a2 2 0 0 1-2 2H6a4 4 0 0 1-4-4zm4-2a2 2 0 0 0-2 2v8a2 2 0 0 0 2 2h10V6zm15 7.652v-3.303L19.073 12z\"\n })\n });\n}\n;\nVideoCallIcon.displayName = \"VideoCallIcon\";\nexport default forwardRef(VideoCallIcon);","import { forwardRef } from \"react\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction WebBrowserIcon(props, ref) {\n return /*#__PURE__*/_jsx(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"1em\",\n height: \"1em\",\n fill: \"currentColor\",\n viewBox: \"0 0 24 24\",\n ref: ref,\n ...props,\n children: /*#__PURE__*/_jsx(\"path\", {\n d: \"M4 20q-.824 0-1.412-.587A1.93 1.93 0 0 1 2 18V6q0-.824.587-1.412A1.93 1.93 0 0 1 4 4h16q.824 0 1.413.588Q22 5.175 22 6v12q0 .824-.587 1.413A1.93 1.93 0 0 1 20 20zm0-2h16V8H4z\"\n })\n });\n}\n;\nWebBrowserIcon.displayName = \"WebBrowserIcon\";\nexport default forwardRef(WebBrowserIcon);","var _path;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nimport { forwardRef } from \"react\";\nvar SvgMac = function SvgMac(props, ref) {\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"currentColor\",\n viewBox: \"0 0 24 24\",\n role: \"presentation\",\n \"aria-hidden\": true,\n ref: ref\n }, props), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M16.099 2.4a4.1 4.1 0 0 1-1.057 3.073c-.747.863-1.878 1.36-3.07 1.348-.075-1.081.315-2.146 1.085-2.96.78-.825 1.866-1.346 3.042-1.461m3.767 6.54c-1.37.783-2.214 2.163-2.234 3.657.002 1.69 1.092 3.215 2.768 3.873a9.4 9.4 0 0 1-1.44 2.723c-.848 1.178-1.737 2.329-3.149 2.35-.671.015-1.124-.165-1.596-.351-.493-.195-1.006-.398-1.809-.398-.852 0-1.388.21-1.905.412-.447.174-.88.343-1.49.367-1.343.046-2.37-1.258-3.25-2.425-1.756-2.383-3.124-6.716-1.29-9.664.86-1.437 2.471-2.349 4.241-2.402.763-.015 1.494.258 2.135.497.49.183.929.347 1.287.347.315 0 .74-.157 1.237-.34.78-.288 1.737-.64 2.71-.545 1.514.044 2.917.748 3.785 1.9\",\n clipRule: \"evenodd\"\n })));\n};\nvar ForwardRef = /*#__PURE__*/forwardRef(SvgMac);\nexport { ForwardRef as Icon };\nexport default \"icons/mac.ec9d93a.svg\";","/*\n * Copyright 2025 New Vector Ltd\n *\n * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial\n * Please see LICENSE files in the repository root for full details.\n */\n\nimport React, { type HTMLProps } from \"react\";\nimport styles from \"./Unread.module.css\";\n\nexport function Unread(props: HTMLProps<HTMLDivElement>) {\n return (\n <div {...props} className={styles.unread}>\n <div />\n </div>\n );\n}\n","/*\n * Copyright 2025 New Vector Ltd\n *\n * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial\n * Please see LICENSE files in the repository root for full details.\n */\n\nimport React, { type HTMLProps } from \"react\";\nimport styles from \"./UnreadCounter.module.css\";\n\ninterface UnreadCounterProps extends HTMLProps<HTMLDivElement> {\n /**\n * The number to display.\n * If `null`, the counter will be empty.\n */\n count: string | number | null;\n}\n\nexport function UnreadCounter({ count, ...props }: UnreadCounterProps) {\n if (count === null)\n return <div {...props} className={styles[\"unread-counter\"]} />;\n\n return (\n <span {...props} className={styles[\"unread-counter\"]}>\n {count}\n </span>\n );\n}\n","/*\nCopyright 2023 New Vector Ltd.\n\nSPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial\nPlease see LICENSE files in the repository root for full details.\n*/\n\nimport classNames from \"classnames\";\nimport React, { type PropsWithChildren, useCallback } from \"react\";\n\nimport CheckCircleIcon from \"@vector-im/compound-design-tokens/assets/web/icons/check-circle\";\nimport ErrorIcon from \"@vector-im/compound-design-tokens/assets/web/icons/error-solid\";\nimport InfoIcon from \"@vector-im/compound-design-tokens/assets/web/icons/info\";\nimport CloseIcon from \"@vector-im/compound-design-tokens/assets/web/icons/close\";\n\nimport styles from \"./Alert.module.css\";\nimport { Text } from \"../Typography/Text\";\nimport { IconButton } from \"../Button\";\n\ntype AlertProps = {\n /**\n * The type of alert\n */\n type: \"success\" | \"critical\" | \"info\";\n /**\n * The headline of the alert.\n */\n title: string;\n /**\n * The CSS class name.\n */\n className?: string;\n /**\n * Actions that will be displayed to the right of the content\n * Wraps and stacks actions under content when alert's size is <=600px\n * eg\n * ```\n * <Alert\n * title='Title'\n * actions={<Button onClick={doSomething}>Yes</Button>}\n * />\n * ```\n */\n actions?: React.ReactNode;\n /**\n * Event callback when dismissing the alert. Determines the display of the\n * \"close\" button at the top right of the alert.\n * @param e the event parameters\n */\n onClose?: (e: React.MouseEvent) => void;\n};\n\n/**\n * An alert component component that is dismissable when passing an `onClose`\n * property.\n */\nexport const Alert: React.FC<PropsWithChildren<AlertProps>> = ({\n type,\n title,\n children,\n className,\n actions,\n onClose,\n ...props\n}: PropsWithChildren<AlertProps>) => {\n const classes = classNames(styles.alert, className);\n\n const renderIcon = useCallback(\n (props: React.ComponentProps<typeof ErrorIcon>) => {\n switch (type) {\n case \"critical\":\n return <ErrorIcon {...props} />;\n case \"info\":\n return <InfoIcon {...props} />;\n case \"success\":\n return <CheckCircleIcon {...props} />;\n }\n },\n [type],\n );\n\n return (\n <div {...props} className={classes} data-type={type}>\n {renderIcon({\n width: 24,\n height: 24,\n className: styles.icon,\n \"aria-hidden\": true,\n })}\n <div className={styles.content}>\n <div className={styles[\"text-content\"]}>\n <Text size=\"md\" weight=\"semibold\">\n {title}\n </Text>\n <Text size=\"sm\" weight=\"regular\">\n {children}\n </Text>\n </div>\n {actions && <div className={styles.actions}>{actions}</div>}\n </div>\n {/* TODO: Setup an i18n function for the aria label below */}\n {onClose && (\n <IconButton\n onClick={onClose}\n aria-label=\"Close\"\n role=\"button\"\n className={styles.close}\n >\n <CloseIcon />\n </IconButton>\n )}\n </div>\n );\n};\n","/*\nCopyright 2024 New Vector Ltd.\n\nSPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial\nPlease see LICENSE files in the repository root for full details.\n*/\n\nimport React, {\n type HTMLProps,\n type JSX,\n type MouseEventHandler,\n type KeyboardEvent,\n} from \"react\";\nimport { IconButton } from \"../Button\";\nimport Chevron from \"@vector-im/compound-design-tokens/assets/web/icons/chevron-left\";\nimport styles from \"./Breadcrumb.module.css\";\nimport { Link } from \"../Link/Link.tsx\";\nimport classNames from \"classnames\";\n\ninterface BreadcrumbProps extends HTMLProps<HTMLElement> {\n /**\n * The label for the back button.\n */\n backLabel: string;\n /**\n * The click handler for the back button.\n */\n onBackClick: MouseEventHandler<HTMLButtonElement>;\n /**\n * The pages to display in the breadcrumb.\n * All the pages except the last one are displayed as links.\n */\n pages: string[];\n /**\n * The click handler for a page.\n * @param page - The page that was clicked.\n * @param index - The index of the page that was clicked.\n */\n onPageClick: (page: string, index: number) => void;\n}\n\n/**\n * A breadcrumb component.\n */\nexport function Breadcrumb({\n backLabel,\n onBackClick,\n pages,\n onPageClick,\n className,\n ...props\n}: BreadcrumbProps): JSX.Element {\n return (\n <nav className={classNames(styles.breadcrumb, className)} {...props}>\n <IconButton\n kind=\"secondary\"\n size=\"28px\"\n aria-label={backLabel}\n onClick={onBackClick}\n >\n <Chevron />\n </IconButton>\n <ol className={styles.pages}>\n {pages.map((page, index) => (\n <Page\n key={index}\n page={page}\n isLastPage={index === pages.length - 1}\n onClick={() => onPageClick(page, index)}\n />\n ))}\n </ol>\n </nav>\n );\n}\n\ninterface PageProps {\n /**\n * The page to display.\n */\n page: string;\n /**\n * Whether this is the last page in the breadcrumb.\n */\n isLastPage: boolean;\n /**\n * The click handler for the page, ignore for last page.\n */\n onClick: () => void;\n}\n\n/**\n * A breadcrumb page.\n * If not the last page, the page is displayed in a link.\n */\nfunction Page({ page, isLastPage, onClick }: PageProps): JSX.Element {\n const onKeyDown = (event: KeyboardEvent<HTMLAnchorElement>) => {\n if (event.key === \" \") {\n onClick();\n }\n };\n\n return (\n <li>\n {isLastPage ? (\n <span className={styles[\"last-page\"]} aria-current=\"page\">\n {page}\n </span>\n ) : (\n <Link\n size=\"small\"\n role=\"button\"\n onClick={onClick}\n onKeyDown={onKeyDown}\n tabIndex={0}\n >\n {page}\n </Link>\n )}\n </li>\n );\n}\n","/*\n * Copyright 2025 New Vector Ltd\n *\n * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial\n * Please see LICENSE files in the repository root for full details.\n */\n\nimport React, { type ForwardedRef, forwardRef } from \"react\";\nimport {\n UnstyledButton,\n type UnstyledButtonPropsFor,\n} from \"../Button/UnstyledButton\";\nimport styles from \"./ChatFilter.module.css\";\n\ntype ChatFilterProps = Omit<UnstyledButtonPropsFor<\"button\">, \"disabled\"> & {\n /**\n * Whether the filter is selected.\n */\n selected?: boolean;\n};\n\n/**\n * A chat filter button.\n */\nexport const ChatFilter = forwardRef(function ChatFilter(\n { children, selected, ...props }: ChatFilterProps,\n ref: ForwardedRef<HTMLButtonElement>,\n): React.ReactElement {\n return (\n <UnstyledButton\n {...props}\n className={styles[\"chat-filter\"]}\n aria-selected={selected}\n as=\"button\"\n ref={ref}\n tabIndex={0}\n >\n {children}\n </UnstyledButton>\n );\n});\n","\"use client\";\n\n// src/context-menu.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport * as MenuPrimitive from \"@radix-ui/react-menu\";\nimport { createMenuScope } from \"@radix-ui/react-menu\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport { Fragment, jsx, jsxs } from \"react/jsx-runtime\";\nvar CONTEXT_MENU_NAME = \"ContextMenu\";\nvar [createContextMenuContext, createContextMenuScope] = createContextScope(CONTEXT_MENU_NAME, [\n createMenuScope\n]);\nvar useMenuScope = createMenuScope();\nvar [ContextMenuProvider, useContextMenuContext] = createContextMenuContext(CONTEXT_MENU_NAME);\nvar ContextMenu = (props) => {\n const { __scopeContextMenu, children, onOpenChange, dir, modal = true } = props;\n const [open, setOpen] = React.useState(false);\n const menuScope = useMenuScope(__scopeContextMenu);\n const handleOpenChangeProp = useCallbackRef(onOpenChange);\n const handleOpenChange = React.useCallback(\n (open2) => {\n setOpen(open2);\n handleOpenChangeProp(open2);\n },\n [handleOpenChangeProp]\n );\n return /* @__PURE__ */ jsx(\n ContextMenuProvider,\n {\n scope: __scopeContextMenu,\n open,\n onOpenChange: handleOpenChange,\n modal,\n children: /* @__PURE__ */ jsx(\n MenuPrimitive.Root,\n {\n ...menuScope,\n dir,\n open,\n onOpenChange: handleOpenChange,\n modal,\n children\n }\n )\n }\n );\n};\nContextMenu.displayName = CONTEXT_MENU_NAME;\nvar TRIGGER_NAME = \"ContextMenuTrigger\";\nvar ContextMenuTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeContextMenu, disabled = false, ...triggerProps } = props;\n const context = useContextMenuContext(TRIGGER_NAME, __scopeContextMenu);\n const menuScope = useMenuScope(__scopeContextMenu);\n const pointRef = React.useRef({ x: 0, y: 0 });\n const virtualRef = React.useRef({\n getBoundingClientRect: () => DOMRect.fromRect({ width: 0, height: 0, ...pointRef.current })\n });\n const longPressTimerRef = React.useRef(0);\n const clearLongPress = React.useCallback(\n () => window.clearTimeout(longPressTimerRef.current),\n []\n );\n const handleOpen = (event) => {\n pointRef.current = { x: event.clientX, y: event.clientY };\n context.onOpenChange(true);\n };\n React.useEffect(() => clearLongPress, [clearLongPress]);\n React.useEffect(() => void (disabled && clearLongPress()), [disabled, clearLongPress]);\n return /* @__PURE__ */ jsxs(Fragment, { children: [\n /* @__PURE__ */ jsx(MenuPrimitive.Anchor, { ...menuScope, virtualRef }),\n /* @__PURE__ */ jsx(\n Primitive.span,\n {\n \"data-state\": context.open ? \"open\" : \"closed\",\n \"data-disabled\": disabled ? \"\" : void 0,\n ...triggerProps,\n ref: forwardedRef,\n style: { WebkitTouchCallout: \"none\", ...props.style },\n onContextMenu: disabled ? props.onContextMenu : composeEventHandlers(props.onContextMenu, (event) => {\n clearLongPress();\n handleOpen(event);\n event.preventDefault();\n }),\n onPointerDown: disabled ? props.onPointerDown : composeEventHandlers(\n props.onPointerDown,\n whenTouchOrPen((event) => {\n clearLongPress();\n longPressTimerRef.current = window.setTimeout(() => handleOpen(event), 700);\n })\n ),\n onPointerMove: disabled ? props.onPointerMove : composeEventHandlers(props.onPointerMove, whenTouchOrPen(clearLongPress)),\n onPointerCancel: disabled ? props.onPointerCancel : composeEventHandlers(props.onPointerCancel, whenTouchOrPen(clearLongPress)),\n onPointerUp: disabled ? props.onPointerUp : composeEventHandlers(props.onPointerUp, whenTouchOrPen(clearLongPress))\n }\n )\n ] });\n }\n);\nContextMenuTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"ContextMenuPortal\";\nvar ContextMenuPortal = (props) => {\n const { __scopeContextMenu, ...portalProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Portal, { ...menuScope, ...portalProps });\n};\nContextMenuPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"ContextMenuContent\";\nvar ContextMenuContent = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeContextMenu, ...contentProps } = props;\n const context = useContextMenuContext(CONTENT_NAME, __scopeContextMenu);\n const menuScope = useMenuScope(__scopeContextMenu);\n const hasInteractedOutsideRef = React.useRef(false);\n return /* @__PURE__ */ jsx(\n MenuPrimitive.Content,\n {\n ...menuScope,\n ...contentProps,\n ref: forwardedRef,\n side: \"right\",\n sideOffset: 2,\n align: \"start\",\n onCloseAutoFocus: (event) => {\n props.onCloseAutoFocus?.(event);\n if (!event.defaultPrevented && hasInteractedOutsideRef.current) {\n event.preventDefault();\n }\n hasInteractedOutsideRef.current = false;\n },\n onInteractOutside: (event) => {\n props.onInteractOutside?.(event);\n if (!event.defaultPrevented && !context.modal) hasInteractedOutsideRef.current = true;\n },\n style: {\n ...props.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-context-menu-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-context-menu-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-context-menu-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-context-menu-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-context-menu-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n );\n }\n);\nContextMenuContent.displayName = CONTENT_NAME;\nvar GROUP_NAME = \"ContextMenuGroup\";\nvar ContextMenuGroup = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeContextMenu, ...groupProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Group, { ...menuScope, ...groupProps, ref: forwardedRef });\n }\n);\nContextMenuGroup.displayName = GROUP_NAME;\nvar LABEL_NAME = \"ContextMenuLabel\";\nvar ContextMenuLabel = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeContextMenu, ...labelProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Label, { ...menuScope, ...labelProps, ref: forwardedRef });\n }\n);\nContextMenuLabel.displayName = LABEL_NAME;\nvar ITEM_NAME = \"ContextMenuItem\";\nvar ContextMenuItem = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeContextMenu, ...itemProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Item, { ...menuScope, ...itemProps, ref: forwardedRef });\n }\n);\nContextMenuItem.displayName = ITEM_NAME;\nvar CHECKBOX_ITEM_NAME = \"ContextMenuCheckboxItem\";\nvar ContextMenuCheckboxItem = React.forwardRef((props, forwardedRef) => {\n const { __scopeContextMenu, ...checkboxItemProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.CheckboxItem, { ...menuScope, ...checkboxItemProps, ref: forwardedRef });\n});\nContextMenuCheckboxItem.displayName = CHECKBOX_ITEM_NAME;\nvar RADIO_GROUP_NAME = \"ContextMenuRadioGroup\";\nvar ContextMenuRadioGroup = React.forwardRef((props, forwardedRef) => {\n const { __scopeContextMenu, ...radioGroupProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.RadioGroup, { ...menuScope, ...radioGroupProps, ref: forwardedRef });\n});\nContextMenuRadioGroup.displayName = RADIO_GROUP_NAME;\nvar RADIO_ITEM_NAME = \"ContextMenuRadioItem\";\nvar ContextMenuRadioItem = React.forwardRef((props, forwardedRef) => {\n const { __scopeContextMenu, ...radioItemProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.RadioItem, { ...menuScope, ...radioItemProps, ref: forwardedRef });\n});\nContextMenuRadioItem.displayName = RADIO_ITEM_NAME;\nvar INDICATOR_NAME = \"ContextMenuItemIndicator\";\nvar ContextMenuItemIndicator = React.forwardRef((props, forwardedRef) => {\n const { __scopeContextMenu, ...itemIndicatorProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.ItemIndicator, { ...menuScope, ...itemIndicatorProps, ref: forwardedRef });\n});\nContextMenuItemIndicator.displayName = INDICATOR_NAME;\nvar SEPARATOR_NAME = \"ContextMenuSeparator\";\nvar ContextMenuSeparator = React.forwardRef((props, forwardedRef) => {\n const { __scopeContextMenu, ...separatorProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Separator, { ...menuScope, ...separatorProps, ref: forwardedRef });\n});\nContextMenuSeparator.displayName = SEPARATOR_NAME;\nvar ARROW_NAME = \"ContextMenuArrow\";\nvar ContextMenuArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeContextMenu, ...arrowProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.Arrow, { ...menuScope, ...arrowProps, ref: forwardedRef });\n }\n);\nContextMenuArrow.displayName = ARROW_NAME;\nvar SUB_NAME = \"ContextMenuSub\";\nvar ContextMenuSub = (props) => {\n const { __scopeContextMenu, children, onOpenChange, open: openProp, defaultOpen } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: onOpenChange,\n caller: SUB_NAME\n });\n return /* @__PURE__ */ jsx(MenuPrimitive.Sub, { ...menuScope, open, onOpenChange: setOpen, children });\n};\nContextMenuSub.displayName = SUB_NAME;\nvar SUB_TRIGGER_NAME = \"ContextMenuSubTrigger\";\nvar ContextMenuSubTrigger = React.forwardRef((props, forwardedRef) => {\n const { __scopeContextMenu, ...triggerItemProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return /* @__PURE__ */ jsx(MenuPrimitive.SubTrigger, { ...menuScope, ...triggerItemProps, ref: forwardedRef });\n});\nContextMenuSubTrigger.displayName = SUB_TRIGGER_NAME;\nvar SUB_CONTENT_NAME = \"ContextMenuSubContent\";\nvar ContextMenuSubContent = React.forwardRef((props, forwardedRef) => {\n const { __scopeContextMenu, ...subContentProps } = props;\n const menuScope = useMenuScope(__scopeContextMenu);\n return /* @__PURE__ */ jsx(\n MenuPrimitive.SubContent,\n {\n ...menuScope,\n ...subContentProps,\n ref: forwardedRef,\n style: {\n ...props.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-context-menu-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-context-menu-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-context-menu-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-context-menu-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-context-menu-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n }\n }\n );\n});\nContextMenuSubContent.displayName = SUB_CONTENT_NAME;\nfunction whenTouchOrPen(handler) {\n return (event) => event.pointerType !== \"mouse\" ? handler(event) : void 0;\n}\nvar Root2 = ContextMenu;\nvar Trigger = ContextMenuTrigger;\nvar Portal2 = ContextMenuPortal;\nvar Content2 = ContextMenuContent;\nvar Group2 = ContextMenuGroup;\nvar Label2 = ContextMenuLabel;\nvar Item2 = ContextMenuItem;\nvar CheckboxItem2 = ContextMenuCheckboxItem;\nvar RadioGroup2 = ContextMenuRadioGroup;\nvar RadioItem2 = ContextMenuRadioItem;\nvar ItemIndicator2 = ContextMenuItemIndicator;\nvar Separator2 = ContextMenuSeparator;\nvar Arrow2 = ContextMenuArrow;\nvar Sub2 = ContextMenuSub;\nvar SubTrigger2 = ContextMenuSubTrigger;\nvar SubContent2 = ContextMenuSubContent;\nexport {\n Arrow2 as Arrow,\n CheckboxItem2 as CheckboxItem,\n Content2 as Content,\n ContextMenu,\n ContextMenuArrow,\n ContextMenuCheckboxItem,\n ContextMenuContent,\n ContextMenuGroup,\n ContextMenuItem,\n ContextMenuItemIndicator,\n ContextMenuLabel,\n ContextMenuPortal,\n ContextMenuRadioGroup,\n ContextMenuRadioItem,\n ContextMenuSeparator,\n ContextMenuSub,\n ContextMenuSubContent,\n ContextMenuSubTrigger,\n ContextMenuTrigger,\n Group2 as Group,\n Item2 as Item,\n ItemIndicator2 as ItemIndicator,\n Label2 as Label,\n Portal2 as Portal,\n RadioGroup2 as RadioGroup,\n RadioItem2 as RadioItem,\n Root2 as Root,\n Separator2 as Separator,\n Sub2 as Sub,\n SubContent2 as SubContent,\n SubTrigger2 as SubTrigger,\n Trigger,\n createContextMenuScope\n};\n//# sourceMappingURL=index.mjs.map\n","/*\nCopyright 2023 New Vector Ltd.\n\nSPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial\nPlease see LICENSE files in the repository root for full details.\n*/\n\nimport React, {\n type FC,\n type ReactNode,\n useCallback,\n useMemo,\n useState,\n} from \"react\";\nimport {\n Root,\n Trigger,\n Portal,\n Content,\n ContextMenuItem,\n} from \"@radix-ui/react-context-menu\";\nimport { FloatingMenu } from \"./FloatingMenu\";\nimport { Drawer } from \"vaul\";\nimport classnames from \"classnames\";\nimport drawerStyles from \"./DrawerMenu.module.css\";\nimport contextStyles from \"./ContextMenu.module.css\";\nimport {\n MenuContext,\n type MenuData,\n type MenuItemWrapperProps,\n} from \"./MenuContext\";\nimport { DrawerMenu } from \"./DrawerMenu\";\nimport { getPlatform } from \"../../utils/platform\";\n\ninterface Props {\n /**\n * The menu title.\n */\n title: string;\n /**\n * Wether the title is displayed.\n * @default true\n */\n showTitle?: boolean;\n /**\n * Event handler called when the open state of the menu changes.\n */\n onOpenChange?: (open: boolean) => void;\n /**\n * The trigger that can be right-clicked or long-pressed to open the menu.\n * This must be a component that accepts a ref and spreads props.\n * https://www.radix-ui.com/primitives/docs/guides/composition\n */\n trigger: ReactNode;\n /**\n * Whether the functionality of this menu is available through some other\n * keyboard-accessible means. Preferably this should be true, because context\n * menus are potentially difficult to discover, but if false the trigger will\n * become focusable so that it can be opened via keyboard navigation.\n */\n hasAccessibleAlternative: boolean;\n /**\n * The menu contents.\n */\n children: ReactNode;\n}\n\nconst ContextMenuItemWrapper: FC<MenuItemWrapperProps> = ({\n onSelect,\n children,\n}) => (\n <ContextMenuItem onSelect={onSelect ?? undefined} asChild>\n {children}\n </ContextMenuItem>\n);\n\n/**\n * A menu opened by right-clicking or long-pressing another UI element.\n */\nexport const ContextMenu: FC<Props> = ({\n title,\n showTitle = true,\n onOpenChange: onOpenChangeProp,\n trigger: triggerProp,\n hasAccessibleAlternative,\n children: childrenProp,\n}) => {\n const [open, setOpen] = useState(false);\n const onOpenChange = useCallback(\n (value: boolean) => {\n setOpen(value);\n onOpenChangeProp?.(value);\n },\n [setOpen, onOpenChangeProp],\n );\n\n // Normally, the menu takes the form of a floating box. But on Android and\n // iOS, the menu should morph into a drawer\n const platform = getPlatform();\n const drawer = platform === \"android\" || platform === \"ios\";\n const context: MenuData = useMemo(\n () => ({\n MenuItemWrapper: drawer ? null : ContextMenuItemWrapper,\n onOpenChange,\n }),\n [onOpenChange],\n );\n const children = (\n <MenuContext.Provider value={context}>{childrenProp}</MenuContext.Provider>\n );\n\n const trigger = (\n <Trigger\n aria-haspopup=\"menu\"\n tabIndex={hasAccessibleAlternative ? undefined : 0}\n asChild\n >\n {triggerProp}\n </Trigger>\n );\n\n // This is a small hack: Vaul drawers only support buttons as triggers, so\n // we end up mounting an empty Radix context menu tree alongside the\n // drawer tree, purely so we can use its Trigger component (which supports\n // touch for free). The resulting behavior and DOM tree looks exactly the\n // same as if Vaul provided a long-press trigger of its own, so I think\n // this is fine.\n return drawer ? (\n <>\n <Root onOpenChange={onOpenChange}>{trigger}</Root>\n <Drawer.Root open={open} onOpenChange={onOpenChange}>\n <Drawer.Portal>\n <Drawer.Overlay className={classnames(drawerStyles.bg)} />\n <Drawer.Content asChild>\n <DrawerMenu title={title}>{children}</DrawerMenu>\n </Drawer.Content>\n </Drawer.Portal>\n </Drawer.Root>\n </>\n ) : (\n <Root onOpenChange={onOpenChange}>\n {trigger}\n <Portal>\n <Content asChild className={classnames(contextStyles.content)}>\n <FloatingMenu showTitle={showTitle} title={title}>\n {children}\n </FloatingMenu>\n </Content>\n </Portal>\n </Root>\n );\n};\n","/*\n * Copyright 2025 New Vector Ltd\n *\n * SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial\n * Please see LICENSE files in the repository root for full details.\n */\n\nimport React, {\n type ComponentProps,\n forwardRef,\n useCallback,\n useId,\n} from \"react\";\nimport { MenuItem } from \"./MenuItem\";\nimport { RadioInput } from \"../Form\";\n\ntype Props = Pick<\n ComponentProps<typeof MenuItem>,\n \"className\" | \"label\" | \"onSelect\" | \"disabled\"\n> & {\n /**\n * Whether the radio is checked.\n */\n checked: boolean;\n};\n\n/**\n * A menu item with a radio control.\n * Must be used within a compound Menu or other `menu` or `menubar` aria role subtree.\n */\nexport const RadioMenuItem = forwardRef<HTMLInputElement, Props>(\n function RadioMenuItem(\n { className, label, onSelect, checked, disabled },\n ref,\n ) {\n const toggleId = useId();\n // The radio is controlled and we intend to ignore its events. We do need\n // to at least set onChange though to make React happy.\n const onChange = useCallback(() => {}, []);\n\n // <label> elements are not allowed to have a role like menuitemradio, so\n // we must instead use a plain <div> for the menu item and use aria-checked\n // etc. to communicate its state.\n return (\n <MenuItem\n as=\"div\"\n role=\"menuitemradio\"\n aria-checked={checked}\n className={className}\n label={label}\n onSelect={onSelect}\n disabled={disabled}\n Icon={\n <RadioInput\n id={toggleId}\n ref={ref}\n // This is purely cosmetic; really the whole MenuItem is the toggle.\n aria-hidden\n checked={checked}\n disabled={disabled}\n onChange={onChange}\n />\n }\n ></MenuItem>\n );\n },\n);\n","/*\nCopyright 2023, 2024 New Vector Ltd.\n\nSPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial\nPlease see LICENSE files in the repository root for full details.\n*/\n\nimport React, {\n type ComponentProps,\n forwardRef,\n useCallback,\n useId,\n} from \"react\";\nimport { MenuItem } from \"./MenuItem\";\nimport { ToggleInput } from \"../Form/Controls/Toggle\";\n\ntype Props = Pick<\n ComponentProps<typeof MenuItem>,\n \"className\" | \"Icon\" | \"label\" | \"onSelect\" | \"disabled\" | \"onClick\"\n> & {\n /**\n * Whether the toggle is checked.\n */\n checked: boolean;\n};\n\n/**\n * A menu item with a toggle control.\n * Must be used within a compound Menu or other `menu` or `menubar` aria role subtree.\n */\nexport const ToggleMenuItem = forwardRef<HTMLInputElement, Props>(\n function ToggleMenuItem(\n { className, Icon, label, onSelect, checked, disabled, onClick },\n ref,\n ) {\n const toggleId = useId();\n // The toggle is controlled and we intend to ignore its events. We do need\n // to at least set onChange though to make React happy.\n const onChange = useCallback(() => {}, []);\n\n // <label> elements are not allowed to have a role like menuitemcheckbox, so\n // we must instead use a plain <div> for the menu item and use aria-checked\n // etc. to communicate its state.\n return (\n <MenuItem\n as=\"button\"\n role=\"menuitemcheckbox\"\n aria-checked={checked}\n className={className}\n Icon={Icon}\n label={label}\n hideChevron\n onSelect={onSelect}\n disabled={disabled}\n onClick={onClick}\n >\n <ToggleInput\n id={toggleId}\n ref={ref}\n // This is purely cosmetic; really the whole MenuItem is the toggle.\n aria-hidden\n tabIndex={-1}\n checked={checked}\n disabled={disabled}\n onChange={onChange}\n />\n </MenuItem>\n );\n },\n);\n","/*\nCopyright 2023 New Vector Ltd.\n\nSPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial\nPlease see LICENSE files in the repository root for full details.\n*/\n\nimport classnames from \"classnames\";\nimport React, { type ComponentProps, forwardRef, useId } from \"react\";\nimport styles from \"./Search.module.css\";\nimport { Field, Label } from \"../Form\";\n\nimport SearchIcon from \"@vector-im/compound-design-tokens/assets/web/icons/search\";\n\ntype SearchProps = {\n /**\n * The CSS class name\n */\n className?: string;\n /**\n * The input placeholder.\n * @default \"Search…\"\n */\n placeholder?: string;\n /**\n * The field name.\n */\n name: React.ComponentProps<typeof Field>[\"name\"];\n} & Omit<ComponentProps<\"input\">, \"id\" | \"type\">;\n\n/**\n * A standalone search component\n */\nexport const Search = forwardRef<HTMLInputElement, SearchProps>(function Search(\n {\n className,\n onChange,\n // TODO: i18n needs to be setup\n placeholder = \"Search…\",\n name,\n ...props\n }: SearchProps,\n ref,\n) {\n const classes = classnames(styles.search, className);\n const id = useId();\n return (\n <Field name={name} asChild>\n <Label className={classes} htmlFor={id}>\n <SearchIcon className={styles.icon} width={20} height={20} />\n <input\n ref={ref}\n {...props}\n id={id}\n name={name}\n type=\"search\"\n placeholder={placeholder}\n onChange={onChange}\n className={styles.input}\n />\n </Label>\n </Field>\n );\n});\n","/*\nCopyright 2024 New Vector Ltd.\n\nSPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial\nPlease see LICENSE files in the repository root for full details.\n*/\n\nimport classnames from \"classnames\";\nimport React, { forwardRef, type PropsWithChildren } from \"react\";\nimport styles from \"./Toast.module.css\";\n\ntype ToastProps = {\n className?: string;\n} & React.HTMLAttributes<HTMLDivElement>;\n\nexport const Toast = forwardRef<HTMLDivElement, ToastProps>(function Toast(\n { children, className, ...props }: PropsWithChildren<ToastProps>,\n ref,\n) {\n const classes = classnames(styles[\"toast-container\"], className);\n return (\n <div {...props} className={classes} ref={ref}>\n {children}\n </div>\n );\n});\n","/*\nCopyright 2024 New Vector Ltd.\n\nSPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial\nPlease see LICENSE files in the repository root for full details.\n*/\n\nimport React, { type JSX, type PropsWithChildren } from \"react\";\nimport styles from \"./VisualList.module.css\";\nimport classNames from \"classnames\";\n\ninterface VisualListProps extends React.HTMLProps<HTMLUListElement> {\n /**\n * The CSS class name.\n */\n className?: string;\n}\n\n/**\n * A list component.\n */\nexport function VisualList({\n className,\n children,\n ...props\n}: PropsWithChildren<VisualListProps>): JSX.Element {\n return (\n <ul className={classNames(styles[\"visual-list\"], className)} {...props}>\n {children}\n </ul>\n );\n}\n","/*\nCopyright 2024 New Vector Ltd.\n\nSPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial\nPlease see LICENSE files in the repository root for full details.\n*/\n\nimport React, {\n type ComponentType,\n type JSX,\n type PropsWithChildren,\n} from \"react\";\nimport styles from \"./VisualListItem.module.css\";\nimport classNames from \"classnames\";\n\ninterface VisualListItemProps extends React.HTMLProps<HTMLLIElement> {\n /**\n * The CSS class name.\n */\n className?: string;\n /**\n * The icon component.\n */\n Icon: ComponentType<React.SVGAttributes<SVGElement>>;\n\n success?: boolean;\n destructive?: boolean;\n}\n\n/**\n * A list component.\n */\nexport function VisualListItem({\n className,\n children,\n Icon,\n success = false,\n destructive = false,\n ...props\n}: PropsWithChildren<VisualListItemProps>): JSX.Element {\n return (\n <li\n className={classNames(styles[\"visual-list-item\"], className)}\n {...props}\n >\n <Icon\n className={classNames(styles[\"visual-list-item-icon\"], {\n [styles[\"visual-list-item-icon-success\"]]: success,\n [styles[\"visual-list-item-icon-destructive\"]]: destructive,\n })}\n width=\"24px\"\n height=\"24px\"\n aria-hidden={true}\n />\n {children}\n </li>\n );\n}\n","const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n\n// Use a lookup table to find the index.\nconst lookup = typeof Uint8Array === 'undefined' ? [] : new Uint8Array(256);\nfor (let i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\n\nexport const encode = (arraybuffer: ArrayBuffer): string => {\n let bytes = new Uint8Array(arraybuffer),\n i,\n len = bytes.length,\n base64 = '';\n\n for (i = 0; i < len; i += 3) {\n base64 += chars[bytes[i] >> 2];\n base64 += chars[((bytes[i] & 3) << 4) | (bytes[i + 1] >> 4)];\n base64 += chars[((bytes[i + 1] & 15) << 2) | (bytes[i + 2] >> 6)];\n base64 += chars[bytes[i + 2] & 63];\n }\n\n if (len % 3 === 2) {\n base64 = base64.substring(0, base64.length - 1) + '=';\n } else if (len % 3 === 1) {\n base64 = base64.substring(0, base64.length - 2) + '==';\n }\n\n return base64;\n};\n\nexport const decode = (base64: string): ArrayBuffer => {\n let bufferLength = base64.length * 0.75,\n len = base64.length,\n i,\n p = 0,\n encoded1,\n encoded2,\n encoded3,\n encoded4;\n\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n\n const arraybuffer = new ArrayBuffer(bufferLength),\n bytes = new Uint8Array(arraybuffer);\n\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i + 1)];\n encoded3 = lookup[base64.charCodeAt(i + 2)];\n encoded4 = lookup[base64.charCodeAt(i + 3)];\n\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n\n return arraybuffer;\n};\n","\"use strict\";\n/* file : base-filter.ts\nMIT License\n\nCopyright (c) 2017-2020 Thomas Minier & Arnaud Grall\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n*/\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar seedrandom_1 = __importDefault(require(\"seedrandom\"));\nvar hashing_1 = __importDefault(require(\"./hashing/hashing\"));\nvar utils_1 = require(\"./utils\");\n/**\n * A base class for implementing probailistic filters\n * @author Thomas Minier\n * @author Arnaud Grall\n */\nvar BaseFilter = /** @class */ (function () {\n function BaseFilter() {\n this._seed = (0, utils_1.getDefaultSeed)();\n this._rng = (0, seedrandom_1.default)(\"\".concat(this._seed));\n this._hashing = new hashing_1.default();\n }\n Object.defineProperty(BaseFilter.prototype, \"seed\", {\n /**\n * Get the seed used in this structure\n */\n get: function () {\n return this._seed;\n },\n /**\n * Set the seed for this structure\n * @param seed the new seed that will be used in this structure\n */\n set: function (seed) {\n this._seed = seed;\n this._rng = (0, seedrandom_1.default)(\"\".concat(this._seed));\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BaseFilter.prototype, \"random\", {\n /**\n * Get a function used to draw random number\n * @return A factory function used to draw random integer\n */\n get: function () {\n return this._rng;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Return a next random seeded int32 integer\n * @returns\n */\n BaseFilter.prototype.nextInt32 = function () {\n return this._rng.int32();\n };\n /**\n * Save the current structure as a JSON\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n BaseFilter.prototype.saveAsJSON = function () {\n throw new Error('not-implemented');\n };\n /**\n * Load an Object from a provided JSON object\n * @param json the JSON object to load\n * @return Return the Object loaded from the provided JSON object\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unused-vars\n BaseFilter.fromJSON = function (json) {\n throw new Error(\"not-implemented\");\n };\n return BaseFilter;\n}());\nexports.default = BaseFilter;\n","\"use strict\";\n/* file : BitSet.ts\nMIT License\n\nCopyright (c) 2021 David Leppik\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n*/\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar base64_arraybuffer_1 = require(\"base64-arraybuffer\");\nvar bitsPerWord = 8;\n/**\n * A memory-efficient Boolean array. Contains just the minimal operations needed for our Bloom filter implementation.\n *\n * @author David Leppik\n */\nvar BitSet = /** @class */ (function () {\n /**\n * Constructor. All bits are initially set to false.\n * @param size the number of bits that can be stored. (This is NOT required to be a multiple of 8.)\n */\n function BitSet(size) {\n var diff = bitsPerWord - (size % bitsPerWord);\n this.size = size + ([0, 8].includes(diff) ? 0 : diff);\n this.array = new Uint8Array(Math.ceil(this.size / bitsPerWord));\n }\n /**\n * Returns the value of the bit at the given index\n * @param index position of the bit, zero-indexed\n */\n BitSet.prototype.has = function (index) {\n var wordIndex = Math.floor(index / bitsPerWord);\n var mask = 1 << index % bitsPerWord;\n return (this.array[wordIndex] & mask) !== 0;\n };\n /**\n * Set the bit to true\n * @param index position of the bit, zero-indexed\n */\n BitSet.prototype.add = function (index) {\n var wordIndex = Math.floor(index / bitsPerWord);\n var mask = 1 << index % bitsPerWord;\n this.array[wordIndex] = this.array[wordIndex] | mask;\n };\n /**\n * Returns the maximum true bit.\n */\n BitSet.prototype.max = function () {\n for (var i = this.array.length - 1; i >= 0; i--) {\n var bits = this.array[i];\n if (bits) {\n return BitSet.highBit(bits) + i * bitsPerWord;\n }\n }\n return 0;\n };\n /**\n * Returns the number of true bits.\n */\n BitSet.prototype.bitCount = function () {\n var result = 0;\n for (var i = 0; i < this.array.length; i++) {\n result += BitSet.countBits(this.array[i]); // Assumes we never have bits set beyond the end\n }\n return result;\n };\n /**\n * Returns true if the size and contents are identical.\n * @param other another BitSet\n */\n BitSet.prototype.equals = function (other) {\n if (other.size !== this.size) {\n return false;\n }\n for (var i = 0; i < this.array.length; i++) {\n if (this.array[i] !== other.array[i]) {\n return false;\n }\n }\n return true;\n };\n /**\n * Returns a JSON-encodable object readable by {@link import}.\n */\n BitSet.prototype.export = function () {\n return {\n size: this.size,\n content: (0, base64_arraybuffer_1.encode)(this.array),\n };\n };\n /**\n * Returns an object written by {@link export}.\n * @param data an object written by {@link export}\n */\n BitSet.import = function (data) {\n if (typeof data.size !== 'number') {\n throw Error('BitSet missing size');\n }\n if (typeof data.content !== 'string') {\n throw Error('BitSet: missing content');\n }\n var result = new BitSet(data.size);\n var buffer = (0, base64_arraybuffer_1.decode)(data.content);\n result.array = new Uint8Array(buffer);\n return result;\n };\n /**\n * Returns the index of the maximum bit in the number, or -1 for 0\n * @bits an unsigned 8-bit number\n * ```js\n * @example\n * BitSet.highBit(0) // returns -1\n * BitSet.highBit(5) // returns 2\n * ```\n */\n BitSet.highBit = function (bits) {\n var result = bitsPerWord - 1;\n var mask = 1 << result;\n while (result >= 0 && (mask & bits) !== mask) {\n mask >>>= 1;\n result--;\n }\n return result;\n };\n /**\n * Returns the number of true bits in the number\n * @bits an unsigned 8-bit number\n * @example\n * ```js\n * BitSet.countBits(0) // returns 0\n * BitSet.countBits(3) // returns 2\n * ```\n */\n BitSet.countBits = function (bits) {\n var result = bits & 1;\n while (bits !== 0) {\n bits = bits >>> 1;\n result += bits & 1;\n }\n return result;\n };\n return BitSet;\n}());\nexports.default = BitSet;\n","\"use strict\";\n/* file : partitioned-bloom-filter.ts\nMIT License\n\nCopyright (c) 2017-2020 Thomas Minier & Arnaud Grall\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n*/\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nvar __param = (this && this.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar base_filter_1 = __importDefault(require(\"../base-filter\"));\nvar exportable_1 = require(\"../exportable\");\nvar utils_1 = require(\"../utils\");\nvar bit_set_1 = __importDefault(require(\"./bit-set\"));\n/**\n * Return the optimal number of hashes needed for a given error rate and load factor\n * P = p^k <=> k = ln(P)/ln(p)\n * @param errorRate - The provided error rate\n * @param loadFactor - The load factor, ideally 0.5\n * @return The number of hash function to use\n */\nfunction computeOptimalNumberOfhashes(errorRate, loadFactor) {\n // P = p^k <=> k = ln(P)/ln(p)\n return Math.ceil(Math.log(errorRate) / Math.log(loadFactor));\n}\n/**\n * Return the total number of bits needed for this filter\n * n = M*(ln(p)ln(1-p))/(-ln(P)) <=> M = (n*-ln(P)/(ln(p)ln(1-p))\n * @param size - The number of desired items\n * @param rate - The error rate desired\n * @param loadFactor - The load factor desired\n * @return The total number of cells this filter will have\n */\nfunction computeOptimalNumberOfCells(size, rate, loadFactor) {\n // n=M*(ln(p)ln(1-p))/(-ln(P)) <=> M=(n*-ln(P)/(ln(p)ln(1-p))\n return Math.ceil((size * -Math.log(rate)) / (Math.log(loadFactor) * Math.log(1 - loadFactor)));\n}\n/**\n * Return the maximum number of items this filter can store\n * @param totalBits - The total number of cells in the filter\n * @param loadFactor - The load factor desired\n * @param nbHashes - The number of hash functions used\n * @return The maximum number of items this filter store\n */\nfunction computeNumberOfItems(totalBits, loadFactor, nbHashes) {\n return Math.ceil((totalBits * (Math.log(loadFactor) * Math.log(1 - loadFactor))) /\n -(nbHashes * Math.log(loadFactor)));\n}\n/**\n * A Partitioned Bloom Filter is a variation of a classic Bloom filter.\n *\n * This filter works by partitioning the M-sized bit array into k slices of size m = M/k bits, k = nb of hash functions in the filter.\n * Each hash function produces an index over m for its respective slice.\n * Thus, each element is described by exactly k bits, meaning the distribution of false positives is uniform across all elements.\n *\n * Be careful, as a Partitioned Bloom Filter have much higher collison risks that a classic Bloom Filter on small sets of data.\n *\n * Reference: Chang, F., Feng, W. C., & Li, K. (2004, March). Approximate caches for packet classification. In INFOCOM 2004. Twenty-third AnnualJoint Conference of the IEEE Computer and Communications Societies (Vol. 4, pp. 2196-2207). IEEE.\n * @see {@link https://pdfs.semanticscholar.org/0e18/e24b37a1f4196fddf8c9ff8e4368b74cfd88.pdf} for more details about Partitioned Bloom Filters\n * @author Thomas Minier & Arnaud Grall\n */\nvar PartitionedBloomFilter = /** @class */ (function (_super) {\n __extends(PartitionedBloomFilter, _super);\n /**\n * Constructor\n * @param size - The total number of cells\n * @param nbHashes - The number of hash functions\n * @param loadFactor - The load factor\n * @param capacity - The filter capacity\n */\n function PartitionedBloomFilter(size, nbHashes, loadFactor, capacity) {\n var _this = _super.call(this) || this;\n _this._size = size;\n _this._nbHashes = nbHashes;\n _this._loadFactor = loadFactor;\n _this._m = Math.ceil(_this._size / _this._nbHashes);\n _this._filter = (0, utils_1.allocateArray)(_this._nbHashes, function () { return new bit_set_1.default(_this._m); });\n _this._capacity =\n capacity !== undefined\n ? capacity\n : computeNumberOfItems(_this._size, loadFactor, nbHashes);\n return _this;\n }\n PartitionedBloomFilter_1 = PartitionedBloomFilter;\n /**\n * Return a PartitionedBloomFilter for a given number of elements and under a given error rate\n * @param size - The max allowable number of items to insert\n * @param errorRate - The desired error rate\n * @return A new PartitionedBloomFilter optimal for the given parameters\n */\n PartitionedBloomFilter.create = function (size, errorRate, loadFactor) {\n if (loadFactor === void 0) { loadFactor = 0.5; }\n var capacity = computeOptimalNumberOfCells(size, errorRate, loadFactor);\n var nbHashes = computeOptimalNumberOfhashes(errorRate, loadFactor);\n return new PartitionedBloomFilter_1(capacity, nbHashes, loadFactor, size);\n };\n /**\n * Build a new Partitioned Bloom Filter from an existing iterable with a fixed error rate\n * @param items - The iterable used to populate the filter\n * @param errorRate - The error rate, i.e. 'false positive' rate, targetted by the filter\n * @param loadFactor - The filter's load factor\n * @return A new Bloom Filter filled with the iterable's elements\n * @example\n * ```js\n * // create a filter with a false positive rate of 0.1\n * const filter = PartitionedBloomFilter.from(['alice', 'bob', 'carl'], 0.1);\n * ```\n */\n PartitionedBloomFilter.from = function (items, errorRate, loadFactor) {\n if (loadFactor === void 0) { loadFactor = 0.5; }\n var array = Array.from(items);\n var filter = PartitionedBloomFilter_1.create(array.length, errorRate, loadFactor);\n array.forEach(function (element) { return filter.add(element); });\n return filter;\n };\n Object.defineProperty(PartitionedBloomFilter.prototype, \"capacity\", {\n /**\n * Get the filter capacity, i.e. the maximum number of elements it will contains\n */\n get: function () {\n return this._capacity;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PartitionedBloomFilter.prototype, \"size\", {\n /**\n * Get the size of the filter\n */\n get: function () {\n return this._size;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(PartitionedBloomFilter.prototype, \"loadFactor\", {\n /**\n * Get the filter's load factor\n */\n get: function () {\n return this._loadFactor;\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Add an element to the filter\n * @param element - The element to add\n * @example\n * ```js\n * const filter = new PartitionedBloomFilter(15, 0.1);\n * filter.add('foo');\n * ```\n */\n PartitionedBloomFilter.prototype.add = function (element) {\n var indexes = this._hashing.getIndexes(element, this._m, this._nbHashes, this.seed);\n for (var i = 0; i < this._nbHashes; i++) {\n this._filter[i].add(indexes[i]);\n }\n };\n /**\n * Test an element for membership\n * @param element - The element to look for in the filter\n * @return False if the element is definitively not in the filter, True is the element might be in the filter\n * @example\n * ```js\n * const filter = new PartitionedBloomFilter(15, 0.1);\n * filter.add('foo');\n * console.log(filter.has('foo')); // output: true\n * console.log(filter.has('bar')); // output: false\n * ```\n */\n PartitionedBloomFilter.prototype.has = function (element) {\n var indexes = this._hashing.getIndexes(element, this._m, this._nbHashes, this.seed);\n for (var i = 0; i < this._nbHashes; i++) {\n if (!this._filter[i].has(indexes[i])) {\n return false;\n }\n }\n return true;\n };\n /**\n * Compute the current false positive rate (or error rate) of the filter\n * @return The current false positive rate of the filter\n * @example\n * ```js\n * const filter = PartitionedBloomFilter.create(15, 0.1);\n * console.log(filter.rate()); // output: something around 0.1\n * ```\n */\n PartitionedBloomFilter.prototype.rate = function () {\n // get the error rate for the first bucket (1 - (1 - 1/m)^n), where m is the size of a slice and n is the number of inserted elements\n var p = this._currentload();\n // P = p^k\n return Math.pow(p, this._nbHashes);\n };\n /**\n * Check if another Partitioned Bloom Filter is equal to this one\n * @param filter - The filter to compare to this one\n * @return True if they are equal, false otherwise\n */\n PartitionedBloomFilter.prototype.equals = function (other) {\n if (this._size !== other._size ||\n this._nbHashes !== other._nbHashes ||\n this._loadFactor !== other._loadFactor) {\n return false;\n }\n return this._filter.every(function (array, outerIndex) {\n return other._filter[outerIndex].equals(array);\n });\n };\n /**\n * Return the current load of this filter, iterate on all buckets\n * @return An integer between 0 and 1, where 0 = filter empty and 1 = filter full\n */\n PartitionedBloomFilter.prototype._currentload = function () {\n var values = this._filter.map(function (bucket) {\n return bucket.bitCount();\n });\n var used = values.reduce(function (a, b) { return a + b; }, 0);\n return used / this._size;\n };\n var PartitionedBloomFilter_1;\n __decorate([\n (0, exportable_1.Field)(),\n __metadata(\"design:type\", Number)\n ], PartitionedBloomFilter.prototype, \"_size\", void 0);\n __decorate([\n (0, exportable_1.Field)(),\n __metadata(\"design:type\", Number)\n ], PartitionedBloomFilter.prototype, \"_nbHashes\", void 0);\n __decorate([\n (0, exportable_1.Field)(),\n __metadata(\"design:type\", Number)\n ], PartitionedBloomFilter.prototype, \"_loadFactor\", void 0);\n __decorate([\n (0, exportable_1.Field)(),\n __metadata(\"design:type\", Number)\n ], PartitionedBloomFilter.prototype, \"_m\", void 0);\n __decorate([\n (0, exportable_1.Field)(function (sets) { return sets.map(function (s) { return s.export(); }); }, function (array) {\n return array.map(function (data) {\n // create the bitset from new and old array-based exported structure\n if (Array.isArray(data)) {\n var bs_1 = new bit_set_1.default(data.length);\n data.forEach(function (val, index) {\n if (val !== 0) {\n bs_1.add(index);\n }\n });\n return bs_1;\n }\n else {\n return bit_set_1.default.import(data);\n }\n });\n }),\n __metadata(\"design:type\", Array)\n ], PartitionedBloomFilter.prototype, \"_filter\", void 0);\n __decorate([\n (0, exportable_1.Field)(),\n __metadata(\"design:type\", Number)\n ], PartitionedBloomFilter.prototype, \"_capacity\", void 0);\n PartitionedBloomFilter = PartitionedBloomFilter_1 = __decorate([\n (0, exportable_1.AutoExportable)('PartitionedBloomFilter', ['_seed']),\n __param(0, (0, exportable_1.Parameter)('_size')),\n __param(1, (0, exportable_1.Parameter)('_nbHashes')),\n __param(2, (0, exportable_1.Parameter)('_loadFactor')),\n __param(3, (0, exportable_1.Parameter)('_capacity')),\n __metadata(\"design:paramtypes\", [Number, Number, Number, Number])\n ], PartitionedBloomFilter);\n return PartitionedBloomFilter;\n}(base_filter_1.default));\nexports.default = PartitionedBloomFilter;\n","\"use strict\";\n/* file : scalable-bloom-filter.ts\nMIT License\n\nCopyright (c) 2022 Thomas Minier & Arnaud Grall\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n*/\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n};\nvar __metadata = (this && this.__metadata) || function (k, v) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(k, v);\n};\nvar __param = (this && this.__param) || function (paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar base_filter_1 = __importDefault(require(\"../base-filter\"));\nvar exportable_1 = require(\"../exportable\");\nvar partitioned_bloom_filter_1 = __importDefault(require(\"./partitioned-bloom-filter\"));\nvar seedrandom_1 = __importDefault(require(\"seedrandom\"));\n/**\n * A Scalable Bloom Filter is a variant of Bloom Filters that can adapt dynamically to the\nnumber of elements stored, while assuring a maximum false positive probability\n *\n * Reference: ALMEIDA, Paulo Sérgio, BAQUERO, Carlos, PREGUIÇA, Nuno, et al. Scalable bloom filters. Information Processing Letters, 2007, vol. 101, no 6, p. 255-261.\n * @see {@link https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.725.390&rep=rep1&type=pdf}\n * @author Thomas Minier & Arnaud Grall\n */\nvar ScalableBloomFilter = /** @class */ (function (_super) {\n __extends(ScalableBloomFilter, _super);\n function ScalableBloomFilter(_initial_size, _error_rate, _ratio) {\n if (_initial_size === void 0) { _initial_size = 8; }\n if (_error_rate === void 0) { _error_rate = 0.01; }\n if (_ratio === void 0) { _ratio = 0.5; }\n var _this = _super.call(this) || this;\n /**\n * Internal Partition Bloom Filters\n */\n _this._filters = [];\n _this._initial_size = _initial_size;\n _this._error_rate = _error_rate;\n _this._ratio = _ratio;\n _this._filters.push(partitioned_bloom_filter_1.default.create(_this._initial_size, _this._error_rate, _this._ratio));\n _this._filters[_this._filters.length - 1].seed = _this.seed;\n return _this;\n }\n ScalableBloomFilter_1 = ScalableBloomFilter;\n Object.defineProperty(ScalableBloomFilter.prototype, \"seed\", {\n /**\n * @override\n * Return the current seed.\n * For obscure reason we must code this function...\n */\n get: function () {\n return this._seed;\n },\n /**\n * @override\n * Set the seed for this structure. If you override the seed after adding data,\n * all the filters will be updated and you may get wrong indexes for already indexed data\n * due to the seed change. So only change it once before adding data.\n * @param seed the new seed that will be used in this structure\n */\n set: function (seed) {\n var _this = this;\n this._seed = seed;\n this._rng = (0, seedrandom_1.default)(\"\".concat(this._seed));\n this._filters.forEach(function (filter) {\n filter.seed = _this.seed;\n });\n },\n enumerable: false,\n configurable: true\n });\n /**\n * Add a new element to the filter\n * @param element\n */\n ScalableBloomFilter.prototype.add = function (element) {\n // determine if we need to create a new filter\n var currentFilter = this._filters[this._filters.length - 1];\n if (currentFilter._currentload() > currentFilter._loadFactor) {\n // create a new filter\n var newSize = this._initial_size *\n Math.pow(ScalableBloomFilter_1._s, this._filters.length + 1) *\n Math.LN2;\n var newErrorRate = this._error_rate * Math.pow(this._ratio, this._filters.length);\n this._filters.push(partitioned_bloom_filter_1.default.create(newSize, newErrorRate, this._ratio));\n this._filters[this._filters.length - 1].seed = this.seed;\n }\n // get the newly created filter\n this._filters[this._filters.length - 1].add(element);\n };\n /**\n * Return True if the element has been found, false otherwise.\n * Check until we found the value in a filter otherwise stop on the first value found.\n * @param element\n * @returns\n */\n ScalableBloomFilter.prototype.has = function (element) {\n return this._filters.some(function (filter) { return filter.has(element); });\n };\n /**\n * Return the current capacity (number of elements) of this filter\n * @returns\n */\n ScalableBloomFilter.prototype.capacity = function () {\n return this._filters.map(function (f) { return f._capacity; }).reduce(function (p, c) { return p + c; }, 0);\n };\n /**\n * Return the current false positive rate of this structure\n * @returns\n */\n ScalableBloomFilter.prototype.rate = function () {\n return this._filters[this._filters.length - 1].rate();\n };\n /**\n * Check if two ScalableBloomFilter are equal\n * @param filter\n * @returns\n */\n ScalableBloomFilter.prototype.equals = function (filter) {\n // assert the seed, the ratio and the capacity are equals\n if (this.seed !== filter.seed ||\n this._ratio !== filter._ratio ||\n this.capacity() !== filter.capacity()) {\n return false;\n }\n return this._filters.every(function (currentFilter, index) {\n return filter._filters[index].equals(currentFilter);\n });\n };\n /**\n * Create a Scalable Bloom Filter based on Partitionned Bloom Filter.\n * @param _size the starting size of the filter\n * @param _error_rate ther error rate desired of the filter\n * @param _ratio the load factor desired\n * @returns\n */\n ScalableBloomFilter.create = function (_size, _error_rate, _ratio) {\n if (_ratio === void 0) { _ratio = 0.5; }\n return new ScalableBloomFilter_1(_size, _error_rate, _ratio);\n };\n var ScalableBloomFilter_1;\n /**\n * Static value, will power the size of the new set, by default we will follow a power of 2.\n */\n ScalableBloomFilter._s = 2;\n __decorate([\n (0, exportable_1.Field)(),\n __metadata(\"design:type\", Number)\n ], ScalableBloomFilter.prototype, \"_initial_size\", void 0);\n __decorate([\n (0, exportable_1.Field)(),\n __metadata(\"design:type\", Number)\n ], ScalableBloomFilter.prototype, \"_error_rate\", void 0);\n __decorate([\n (0, exportable_1.Field)(),\n __metadata(\"design:type\", Number)\n ], ScalableBloomFilter.prototype, \"_ratio\", void 0);\n __decorate([\n (0, exportable_1.Field)(function (filters) {\n return filters.map(function (filter) { return filter.saveAsJSON(); });\n }, // eslint-disable-line @typescript-eslint/no-unsafe-return\n function (array) {\n return array.map(function (data) { return partitioned_bloom_filter_1.default.fromJSON(data); });\n }),\n __metadata(\"design:type\", Array)\n ], ScalableBloomFilter.prototype, \"_filters\", void 0);\n ScalableBloomFilter = ScalableBloomFilter_1 = __decorate([\n (0, exportable_1.AutoExportable)('ScalableBloomFilter', ['_seed']),\n __param(0, (0, exportable_1.Parameter)('_initial_size')),\n __param(1, (0, exportable_1.Parameter)('_error_rate')),\n __param(2, (0, exportable_1.Parameter)('_ratio')),\n __metadata(\"design:paramtypes\", [Object, Object, Object])\n ], ScalableBloomFilter);\n return ScalableBloomFilter;\n}(base_filter_1.default));\nexports.default = ScalableBloomFilter;\n","\"use strict\";\n/* file : exportable.ts\nMIT License\n\nCopyright (c) 2017-2020 Thomas Minier & Arnaud Grall\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n*/\n// !disable all rules referring to `any` for exportable because we are dealing with all types so any is allowed\n/* eslint-disable @typescript-eslint/no-explicit-any, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-call, @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-argument */\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AutoExportable = exports.Parameter = exports.Field = exports.Exportable = exports.cloneObject = exports.cloneField = void 0;\nrequire(\"reflect-metadata\");\n/**\n * Clone a field of a filter (array, object or any primary type)\n * @param {*} v - Value to clone\n * @return {*} Cloned value\n */\nfunction cloneField(v) {\n if (v === null || v === undefined) {\n return v;\n }\n if (Array.isArray(v)) {\n return v.map(cloneField);\n }\n else if (typeof v === 'object') {\n if ('saveAsJSON' in v) {\n return v.saveAsJSON();\n }\n return Object.assign({}, v);\n }\n return v;\n}\nexports.cloneField = cloneField;\n/**\n * Get a function used to clone an object\n * @param type - Object type\n * @param fields - Object's fields to clone\n * @return A function that clones the given fields of an input object\n */\nfunction cloneObject(type) {\n var fields = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n fields[_i - 1] = arguments[_i];\n }\n return function (obj) {\n var json = { type: type };\n fields.forEach(function (field) {\n json[field] = cloneField(obj[field]);\n });\n return json;\n };\n}\nexports.cloneObject = cloneObject;\n/**\n * Turn a datastructure into an exportable one, so it can be serialized from/to JSON objects.\n * @param specs - An object that describes how the datastructure should be exported/imported\n * @author Thomas Minier\n */\nfunction Exportable(specs) {\n return function (target) {\n target.prototype.saveAsJSON = function () {\n return specs.export(this);\n };\n target.fromJSON = function (json) {\n return specs.import(json);\n };\n return target;\n };\n}\nexports.Exportable = Exportable;\nvar METADATA_CLASSNAME = Symbol('bloom-filters:exportable:class-name');\nvar METADATA_FIELDS = Symbol('bloom-filters:exportable:fields');\nvar METADATA_PARAMETERS = Symbol('bloom-filters:exportable:constructor-parameters');\n/**\n * Register a field to be exportable/importable\n * @param importer - Function invoked on the JSON field to convert it into JavaScript\n */\nfunction Field(exporter, importer) {\n if (exporter === undefined) {\n exporter = cloneField;\n }\n if (importer === undefined) {\n importer = function (v) { return v; };\n }\n return function (target, propertyKey) {\n var fields = [];\n if (Reflect.hasMetadata(METADATA_FIELDS, target)) {\n fields = Reflect.getMetadata(METADATA_FIELDS, target);\n }\n fields.push({\n name: propertyKey,\n exporter: exporter,\n importer: importer, // eslint-disable-line @typescript-eslint/no-non-null-assertion\n });\n Reflect.defineMetadata(METADATA_FIELDS, fields, target);\n };\n}\nexports.Field = Field;\nfunction Parameter(fieldName) {\n return function (target, propertyKey, parameterIndex) {\n var parameters = new Map();\n if (Reflect.hasMetadata(METADATA_PARAMETERS, target)) {\n parameters = Reflect.getMetadata(METADATA_PARAMETERS, target);\n }\n parameters.set(fieldName, parameterIndex);\n Reflect.defineMetadata(METADATA_PARAMETERS, parameters, target);\n };\n}\nexports.Parameter = Parameter;\n/**\n * Augment a TypeScript class to make it exportable/importable, using @Field and @Parameter decorator\n * @param className - Name of the exportable/importable class\n */\nfunction AutoExportable(className, otherFields) {\n if (otherFields === void 0) { otherFields = []; }\n return function (target) {\n Reflect.defineMetadata(METADATA_CLASSNAME, className, target.prototype);\n if (!Reflect.hasMetadata(METADATA_FIELDS, target.prototype) ||\n otherFields.length === 0) {\n throw new SyntaxError('No exported fields declared when @AutoExportable is called');\n }\n // define empty parameters map, for object with a constructor without parameters\n if (!Reflect.hasMetadata(METADATA_PARAMETERS, target)) {\n Reflect.defineMetadata(METADATA_PARAMETERS, new Map(), target);\n }\n target.prototype.saveAsJSON = function () {\n var _this = this;\n var json = {\n type: Reflect.getMetadata(METADATA_CLASSNAME, target.prototype),\n };\n // export fields defined using the @Field decorator\n var fields = Reflect.getMetadata(METADATA_FIELDS, target.prototype);\n fields.forEach(function (field) {\n json[field.name] = field.exporter(_this[field.name]);\n });\n // export fields declared through the otherFields parameter\n otherFields.forEach(function (field) {\n json[field] = cloneField(_this[field]);\n });\n return json;\n };\n target.fromJSON = function (json) {\n var className = Reflect.getMetadata(METADATA_CLASSNAME, target.prototype);\n var parameters = Reflect.getMetadata(METADATA_PARAMETERS, target);\n var fields = Reflect.getMetadata(METADATA_FIELDS, target.prototype);\n // validate the input JSON\n if (json.type !== className) {\n throw new Error(\"Cannot create an object \".concat(className, \" from a JSON export with type \\\"\").concat(json.type, \"\\\"\") // eslint-disable-line @typescript-eslint/restrict-template-expressions\n );\n }\n var constructorArgs = [];\n var copyFields = [];\n otherFields\n .map(function (name) { return ({ name: name, importer: function (v) { return v; } }); })\n .concat(fields)\n .forEach(function (field) {\n if (!(field.name in json)) {\n throw new Error(\"Invalid import: required field \\\"\".concat(field, \"\\\" not found in JSON export \\\"\").concat(json, \"\\\"\") // eslint-disable-line @typescript-eslint/restrict-template-expressions\n );\n }\n // build constructor/copy arguments\n if (parameters.has(field.name)) {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n constructorArgs[parameters.get(field.name)] = field.importer(json[field.name]);\n }\n else {\n copyFields.push({\n name: field.name,\n value: field.importer(json[field.name]),\n });\n }\n });\n // build new object\n var obj = new (target.bind.apply(target, __spreadArray([void 0], __read(constructorArgs), false)))();\n // write non-constructor exported fields\n copyFields.forEach(function (arg) {\n obj[arg.name] = arg.value;\n });\n return obj;\n };\n };\n}\nexports.AutoExportable = AutoExportable;\n","\"use strict\";\nvar __read = (this && this.__read) || function (o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n};\nvar __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar xxhashjs_1 = __importDefault(require(\"xxhashjs\"));\nvar utils_1 = require(\"../utils\");\nvar Hashing = /** @class */ (function () {\n function Hashing() {\n }\n /**\n * Apply enhanced Double Hashing to produce a n-hash\n * @see {@link http://peterd.org/pcd-diss.pdf} s6.5.4\n * @param n - The indice of the hash function we want to produce\n * @param hashA - The result of the first hash function applied to a value.\n * @param hashB - The result of the second hash function applied to a value.\n * @param size - The size of the datastructures associated to the hash context (ex: the size of a Bloom Filter)\n * @return The result of hash_n applied to a value.\n * @memberof Hashing\n * @author Thomas Minier\n * @author Arnaud Grall\n */\n Hashing.prototype.doubleHashing = function (n, hashA, hashB, size) {\n return Math.abs((hashA + n * hashB + Math.floor((Math.pow(n, 3) - n) / 6)) % size);\n };\n /**\n * Generate a set of distinct indexes on interval [0, size) using the double hashing technique\n * For generating efficiently distinct indexes we re-hash after detecting a cycle by changing slightly the seed.\n * It has the effect of generating faster distinct indexes without loosing entirely the utility of the double hashing.\n * For small number of indexes it will work perfectly. For a number close to the size, and size very large\n * Advise: do not generate `size` indexes for a large interval. In practice, size should be equal\n * to the number of hash functions used and is often low.\n *\n * @param element - The element to hash\n * @param size - the range on which we can generate an index [0, size) = size\n * @param number - The number of indexes desired\n * @param seed - The seed used\n * @return Array<number>\n * @author Arnaud Grall\n * @author Simon Woolf (SimonWoolf)\n */\n Hashing.prototype.getDistinctIndexes = function (element, size, number, seed) {\n if (seed === undefined) {\n seed = (0, utils_1.getDefaultSeed)();\n }\n var n = 0;\n var indexes = new Set();\n var hashes = this.hashTwice(element, seed);\n // let cycle = 0\n while (indexes.size < number) {\n var ind = hashes.first % size;\n if (!indexes.has(ind)) {\n indexes.add(ind);\n }\n hashes.first = (hashes.first + hashes.second) % size;\n hashes.second = (hashes.second + n) % size;\n n++;\n if (n > size) {\n // Enhanced double hashing stops cycles of length less than `size` in the case where\n // size is coprime with the second hash. But you still get cycles of length `size`.\n // So if we reach there and haven't finished, append a prime to the input and\n // rehash.\n seed++;\n hashes = this.hashTwice(element, seed);\n }\n }\n return __spreadArray([], __read(indexes.values()), false);\n };\n /**\n * Generate N indexes on range [0, size)\n * It uses the double hashing technique to generate the indexes.\n * It hash twice the value only once before generating the indexes.\n * Warning: you can have a lot of modulo collisions.\n * @param element - The element to hash\n * @param size - The range on which we can generate the index, exclusive\n * @param hashCount - The number of indexes we want\n * @return An array of indexes on range [0, size)\n */\n Hashing.prototype.getIndexes = function (element, size, hashCount, seed) {\n if (seed === undefined) {\n seed = (0, utils_1.getDefaultSeed)();\n }\n var arr = [];\n var hashes = this.hashTwice(element, seed);\n for (var i = 0; i < hashCount; i++) {\n arr.push(this.doubleHashing(i, hashes.first, hashes.second, size));\n }\n return arr;\n };\n /**\n * @internal\n * Hash an element of type {@link HashableInput} into {@link Number}\n * Can be overrided as long as you return a value of type {@link Number}\n * Don't forget to use the seed when hashing, otherwise if some kind of randomness is in the process\n * you may have inconsistent behaviors between 2 runs.\n * @param element\n * @param seed\n * @returns A 64bits floating point {@link Number}\n */\n Hashing.prototype.serialize = function (element, seed) {\n if (!seed) {\n seed = (0, utils_1.getDefaultSeed)();\n }\n return Number(xxhashjs_1.default.h64(element, seed).toNumber());\n };\n /**\n * (64-bits only) Hash a value into two values (in hex or integer format)\n * @param value - The value to hash\n * @param asInt - (optional) If True, the values will be returned as an integer. Otherwise, as hexadecimal values.\n * @param seed the seed used for hashing\n * @return The results of the hash functions applied to the value (in hex or integer)\n * @author Arnaud Grall & Thomas Minier\n */\n Hashing.prototype.hashTwice = function (value, seed) {\n if (seed === undefined) {\n seed = (0, utils_1.getDefaultSeed)();\n }\n return {\n first: this.serialize(value, seed + 1),\n second: this.serialize(value, seed + 2),\n };\n };\n /**\n * Hash twice an element into their HEX string representations\n * @param value\n * @param seed\n * @returns TwoHashesTemplated<string>\n */\n Hashing.prototype.hashTwiceAsString = function (value, seed) {\n var _a = this.hashTwice(value, seed), first = _a.first, second = _a.second;\n return {\n first: (0, utils_1.numberToHex)(first),\n second: (0, utils_1.numberToHex)(second),\n };\n };\n /**\n * (64-bits only) Same as hashTwice but return Numbers and String equivalent\n * @param val the value to hash\n * @param seed the seed to change when hashing\n * @return TwoHashesIntAndString\n * @author Arnaud Grall\n */\n Hashing.prototype.hashTwiceIntAndString = function (val, seed) {\n if (seed === undefined) {\n seed = (0, utils_1.getDefaultSeed)();\n }\n var one = this.hashIntAndString(val, seed + 1);\n var two = this.hashIntAndString(val, seed + 2);\n return {\n int: {\n first: one.int,\n second: two.int,\n },\n string: {\n first: one.string,\n second: two.string,\n },\n };\n };\n /**\n * Hash an item as an unsigned int\n * @param elem - Element to hash\n * @param seed - The hash seed. If its is UINT32 make sure to set the length to 32\n * @param length - The length of hashes (defaults to 32 bits)\n * @return The hash value as an unsigned int\n * @author Arnaud Grall\n */\n Hashing.prototype.hashAsInt = function (elem, seed) {\n if (seed === undefined) {\n seed = (0, utils_1.getDefaultSeed)();\n }\n return this.serialize(elem, seed);\n };\n /**\n * Hash an item and return its number and HEX string representation\n * @param elem - Element to hash\n * @param seed - The hash seed. If its is UINT32 make sure to set the length to 32\n * @param base - The base in which the string will be returned, default: 16\n * @param length - The length of hashes (defaults to 32 bits)\n * @return The item hased as an int and a string\n * @author Arnaud Grall\n */\n Hashing.prototype.hashIntAndString = function (elem, seed) {\n var hash = this.hashAsInt(elem, seed);\n return { int: hash, string: (0, utils_1.numberToHex)(hash) };\n };\n return Hashing;\n}());\nexports.default = Hashing;\n","\"use strict\";\n/* file : utils.ts\nMIT License\n\nCopyright (c) 2017-2020 Thomas Minier & Arnaud Grall\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n*/\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getDefaultSeed = exports.isEmptyBuffer = exports.xorBuffer = exports.randomInt = exports.numberToHex = exports.allocateArray = exports.BufferError = void 0;\n/**\n * BufferError\n */\nexports.BufferError = 'The buffer class must be available, if you are a browser user use the buffer package (https://www.npmjs.com/package/buffer)';\n/**\n * Create a new array fill with a base value\n * @param size - The size of the array\n * @param defaultValue - The default value used to fill the array. If it's a function, it will be invoked to get the default value.\n * @return A newly allocated array\n * @memberof Utils\n */\nfunction allocateArray(size, defaultValue) {\n var array = new Array(size);\n var getDefault = typeof defaultValue === 'function'\n ? defaultValue\n : function () { return defaultValue; };\n for (var ind = 0; ind < size; ind++) {\n array[ind] = getDefault();\n }\n return array;\n}\nexports.allocateArray = allocateArray;\n/**\n * Return a number to its Hex format by padding zeroes if length mod 4 != 0\n * @param elem the element to transform in HEX\n * @returns the HEX number padded of zeroes\n */\nfunction numberToHex(elem) {\n var e = Number(elem).toString(16);\n if (e.length % 4 !== 0) {\n e = '0'.repeat(4 - (e.length % 4)) + e;\n }\n return e;\n}\nexports.numberToHex = numberToHex;\n/**\n * Generate a random int between two bounds (included)\n * @param min - The lower bound\n * @param max - The upper bound\n * @param random - Function used to generate random floats\n * @return A random int bewteen lower and upper bound (included)\n * @memberof Utils\n * @author Thomas Minier\n */\nfunction randomInt(min, max, random) {\n if (random === undefined) {\n random = Math.random;\n }\n min = Math.ceil(min);\n max = Math.floor(max);\n var rn = random();\n return Math.floor(rn * (max - min + 1)) + min;\n}\nexports.randomInt = randomInt;\n/**\n * Return the non-destructive XOR of two buffers\n * @param a - The buffer to copy, then to xor with b\n * @param b - The buffer to xor with\n * @return The results of the XOR between the two buffers\n * @author Arnaud Grall\n */\nfunction xorBuffer(a, b) {\n var length = Math.max(a.length, b.length);\n var buffer = Buffer.allocUnsafe(length).fill(0);\n for (var i = 0; i < length; ++i) {\n if (i < a.length && i < b.length) {\n buffer[length - i - 1] = a[a.length - i - 1] ^ b[b.length - i - 1];\n }\n else if (i < a.length && i >= b.length) {\n buffer[length - i - 1] ^= a[a.length - i - 1];\n }\n else if (i < b.length && i >= a.length) {\n buffer[length - i - 1] ^= b[b.length - i - 1];\n }\n }\n // now need to remove leading zeros in the buffer if any\n var start = 0;\n var it = buffer.values();\n var value = it.next();\n while (!value.done && value.value === 0) {\n start++;\n value = it.next();\n }\n return buffer.slice(start);\n}\nexports.xorBuffer = xorBuffer;\n/**\n * Return true if the buffer is empty, i.e., all value are equals to 0.\n * @param buffer - The buffer to inspect\n * @return True if the buffer only contains zero, False otherwise\n * @author Arnaud Grall\n */\nfunction isEmptyBuffer(buffer) {\n var e_1, _a;\n if (buffer === null || !buffer)\n return true;\n try {\n for (var buffer_1 = __values(buffer), buffer_1_1 = buffer_1.next(); !buffer_1_1.done; buffer_1_1 = buffer_1.next()) {\n var value = buffer_1_1.value;\n if (value !== 0) {\n return false;\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (buffer_1_1 && !buffer_1_1.done && (_a = buffer_1.return)) _a.call(buffer_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return true;\n}\nexports.isEmptyBuffer = isEmptyBuffer;\n/**\n * Return the default seed used in the package\n * @return A seed as a floating point number\n * @author Arnaud Grall\n */\nfunction getDefaultSeed() {\n return 0x1234567890;\n}\nexports.getDefaultSeed = getDefaultSeed;\n","exports.UINT32 = require('./lib/uint32')\nexports.UINT64 = require('./lib/uint64')","/**\n\tC-like unsigned 32 bits integers in Javascript\n\tCopyright (C) 2013, Pierre Curto\n\tMIT license\n */\n;(function (root) {\n\n\t// Local cache for typical radices\n\tvar radixPowerCache = {\n\t\t36: UINT32( Math.pow(36, 5) )\n\t,\t16: UINT32( Math.pow(16, 7) )\n\t,\t10: UINT32( Math.pow(10, 9) )\n\t,\t2: UINT32( Math.pow(2, 30) )\n\t}\n\tvar radixCache = {\n\t\t36: UINT32(36)\n\t,\t16: UINT32(16)\n\t,\t10: UINT32(10)\n\t,\t2: UINT32(2)\n\t}\n\n\t/**\n\t *\tRepresents an unsigned 32 bits integer\n\t * @constructor\n\t * @param {Number|String|Number} low bits | integer as a string \t\t | integer as a number\n\t * @param {Number|Number|Undefined} high bits | radix (optional, default=10)\n\t * @return \n\t */\n\tfunction UINT32 (l, h) {\n\t\tif ( !(this instanceof UINT32) )\n\t\t\treturn new UINT32(l, h)\n\n\t\tthis._low = 0\n\t\tthis._high = 0\n\t\tthis.remainder = null\n\t\tif (typeof h == 'undefined')\n\t\t\treturn fromNumber.call(this, l)\n\n\t\tif (typeof l == 'string')\n\t\t\treturn fromString.call(this, l, h)\n\n\t\tfromBits.call(this, l, h)\n\t}\n\n\t/**\n\t * Set the current _UINT32_ object with its low and high bits\n\t * @method fromBits\n\t * @param {Number} low bits\n\t * @param {Number} high bits\n\t * @return ThisExpression\n\t */\n\tfunction fromBits (l, h) {\n\t\tthis._low = l | 0\n\t\tthis._high = h | 0\n\n\t\treturn this\n\t}\n\tUINT32.prototype.fromBits = fromBits\n\n\t/**\n\t * Set the current _UINT32_ object from a number\n\t * @method fromNumber\n\t * @param {Number} number\n\t * @return ThisExpression\n\t */\n\tfunction fromNumber (value) {\n\t\tthis._low = value & 0xFFFF\n\t\tthis._high = value >>> 16\n\n\t\treturn this\n\t}\n\tUINT32.prototype.fromNumber = fromNumber\n\n\t/**\n\t * Set the current _UINT32_ object from a string\n\t * @method fromString\n\t * @param {String} integer as a string\n\t * @param {Number} radix (optional, default=10)\n\t * @return ThisExpression\n\t */\n\tfunction fromString (s, radix) {\n\t\tvar value = parseInt(s, radix || 10)\n\n\t\tthis._low = value & 0xFFFF\n\t\tthis._high = value >>> 16\n\n\t\treturn this\n\t}\n\tUINT32.prototype.fromString = fromString\n\n\t/**\n\t * Convert this _UINT32_ to a number\n\t * @method toNumber\n\t * @return {Number} the converted UINT32\n\t */\n\tUINT32.prototype.toNumber = function () {\n\t\treturn (this._high * 65536) + this._low\n\t}\n\n\t/**\n\t * Convert this _UINT32_ to a string\n\t * @method toString\n\t * @param {Number} radix (optional, default=10)\n\t * @return {String} the converted UINT32\n\t */\n\tUINT32.prototype.toString = function (radix) {\n\t\treturn this.toNumber().toString(radix || 10)\n\t}\n\n\t/**\n\t * Add two _UINT32_. The current _UINT32_ stores the result\n\t * @method add\n\t * @param {Object} other UINT32\n\t * @return ThisExpression\n\t */\n\tUINT32.prototype.add = function (other) {\n\t\tvar a00 = this._low + other._low\n\t\tvar a16 = a00 >>> 16\n\n\t\ta16 += this._high + other._high\n\n\t\tthis._low = a00 & 0xFFFF\n\t\tthis._high = a16 & 0xFFFF\n\n\t\treturn this\n\t}\n\n\t/**\n\t * Subtract two _UINT32_. The current _UINT32_ stores the result\n\t * @method subtract\n\t * @param {Object} other UINT32\n\t * @return ThisExpression\n\t */\n\tUINT32.prototype.subtract = function (other) {\n\t\t//TODO inline\n\t\treturn this.add( other.clone().negate() )\n\t}\n\n\t/**\n\t * Multiply two _UINT32_. The current _UINT32_ stores the result\n\t * @method multiply\n\t * @param {Object} other UINT32\n\t * @return ThisExpression\n\t */\n\tUINT32.prototype.multiply = function (other) {\n\t\t/*\n\t\t\ta = a00 + a16\n\t\t\tb = b00 + b16\n\t\t\ta*b = (a00 + a16)(b00 + b16)\n\t\t\t\t= a00b00 + a00b16 + a16b00 + a16b16\n\n\t\t\ta16b16 overflows the 32bits\n\t\t */\n\t\tvar a16 = this._high\n\t\tvar a00 = this._low\n\t\tvar b16 = other._high\n\t\tvar b00 = other._low\n\n/* Removed to increase speed under normal circumstances (i.e. not multiplying by 0 or 1)\n\t\t// this == 0 or other == 1: nothing to do\n\t\tif ((a00 == 0 && a16 == 0) || (b00 == 1 && b16 == 0)) return this\n\n\t\t// other == 0 or this == 1: this = other\n\t\tif ((b00 == 0 && b16 == 0) || (a00 == 1 && a16 == 0)) {\n\t\t\tthis._low = other._low\n\t\t\tthis._high = other._high\n\t\t\treturn this\n\t\t}\n*/\n\n\t\tvar c16, c00\n\t\tc00 = a00 * b00\n\t\tc16 = c00 >>> 16\n\n\t\tc16 += a16 * b00\n\t\tc16 &= 0xFFFF\t\t// Not required but improves performance\n\t\tc16 += a00 * b16\n\n\t\tthis._low = c00 & 0xFFFF\n\t\tthis._high = c16 & 0xFFFF\n\n\t\treturn this\n\t}\n\n\t/**\n\t * Divide two _UINT32_. The current _UINT32_ stores the result.\n\t * The remainder is made available as the _remainder_ property on\n\t * the _UINT32_ object. It can be null, meaning there are no remainder.\n\t * @method div\n\t * @param {Object} other UINT32\n\t * @return ThisExpression\n\t */\n\tUINT32.prototype.div = function (other) {\n\t\tif ( (other._low == 0) && (other._high == 0) ) throw Error('division by zero')\n\n\t\t// other == 1\n\t\tif (other._high == 0 && other._low == 1) {\n\t\t\tthis.remainder = new UINT32(0)\n\t\t\treturn this\n\t\t}\n\n\t\t// other > this: 0\n\t\tif ( other.gt(this) ) {\n\t\t\tthis.remainder = this.clone()\n\t\t\tthis._low = 0\n\t\t\tthis._high = 0\n\t\t\treturn this\n\t\t}\n\t\t// other == this: 1\n\t\tif ( this.eq(other) ) {\n\t\t\tthis.remainder = new UINT32(0)\n\t\t\tthis._low = 1\n\t\t\tthis._high = 0\n\t\t\treturn this\n\t\t}\n\n\t\t// Shift the divisor left until it is higher than the dividend\n\t\tvar _other = other.clone()\n\t\tvar i = -1\n\t\twhile ( !this.lt(_other) ) {\n\t\t\t// High bit can overflow the default 16bits\n\t\t\t// Its ok since we right shift after this loop\n\t\t\t// The overflown bit must be kept though\n\t\t\t_other.shiftLeft(1, true)\n\t\t\ti++\n\t\t}\n\n\t\t// Set the remainder\n\t\tthis.remainder = this.clone()\n\t\t// Initialize the current result to 0\n\t\tthis._low = 0\n\t\tthis._high = 0\n\t\tfor (; i >= 0; i--) {\n\t\t\t_other.shiftRight(1)\n\t\t\t// If shifted divisor is smaller than the dividend\n\t\t\t// then subtract it from the dividend\n\t\t\tif ( !this.remainder.lt(_other) ) {\n\t\t\t\tthis.remainder.subtract(_other)\n\t\t\t\t// Update the current result\n\t\t\t\tif (i >= 16) {\n\t\t\t\t\tthis._high |= 1 << (i - 16)\n\t\t\t\t} else {\n\t\t\t\t\tthis._low |= 1 << i\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn this\n\t}\n\n\t/**\n\t * Negate the current _UINT32_\n\t * @method negate\n\t * @return ThisExpression\n\t */\n\tUINT32.prototype.negate = function () {\n\t\tvar v = ( ~this._low & 0xFFFF ) + 1\n\t\tthis._low = v & 0xFFFF\n\t\tthis._high = (~this._high + (v >>> 16)) & 0xFFFF\n\n\t\treturn this\n\t}\n\n\t/**\n\t * Equals\n\t * @method eq\n\t * @param {Object} other UINT32\n\t * @return {Boolean}\n\t */\n\tUINT32.prototype.equals = UINT32.prototype.eq = function (other) {\n\t\treturn (this._low == other._low) && (this._high == other._high)\n\t}\n\n\t/**\n\t * Greater than (strict)\n\t * @method gt\n\t * @param {Object} other UINT32\n\t * @return {Boolean}\n\t */\n\tUINT32.prototype.greaterThan = UINT32.prototype.gt = function (other) {\n\t\tif (this._high > other._high) return true\n\t\tif (this._high < other._high) return false\n\t\treturn this._low > other._low\n\t}\n\n\t/**\n\t * Less than (strict)\n\t * @method lt\n\t * @param {Object} other UINT32\n\t * @return {Boolean}\n\t */\n\tUINT32.prototype.lessThan = UINT32.prototype.lt = function (other) {\n\t\tif (this._high < other._high) return true\n\t\tif (this._high > other._high) return false\n\t\treturn this._low < other._low\n\t}\n\n\t/**\n\t * Bitwise OR\n\t * @method or\n\t * @param {Object} other UINT32\n\t * @return ThisExpression\n\t */\n\tUINT32.prototype.or = function (other) {\n\t\tthis._low |= other._low\n\t\tthis._high |= other._high\n\n\t\treturn this\n\t}\n\n\t/**\n\t * Bitwise AND\n\t * @method and\n\t * @param {Object} other UINT32\n\t * @return ThisExpression\n\t */\n\tUINT32.prototype.and = function (other) {\n\t\tthis._low &= other._low\n\t\tthis._high &= other._high\n\n\t\treturn this\n\t}\n\n\t/**\n\t * Bitwise NOT\n\t * @method not\n\t * @return ThisExpression\n\t */\n\tUINT32.prototype.not = function() {\n\t\tthis._low = ~this._low & 0xFFFF\n\t\tthis._high = ~this._high & 0xFFFF\n\n\t\treturn this\n\t}\n\n\t/**\n\t * Bitwise XOR\n\t * @method xor\n\t * @param {Object} other UINT32\n\t * @return ThisExpression\n\t */\n\tUINT32.prototype.xor = function (other) {\n\t\tthis._low ^= other._low\n\t\tthis._high ^= other._high\n\n\t\treturn this\n\t}\n\n\t/**\n\t * Bitwise shift right\n\t * @method shiftRight\n\t * @param {Number} number of bits to shift\n\t * @return ThisExpression\n\t */\n\tUINT32.prototype.shiftRight = UINT32.prototype.shiftr = function (n) {\n\t\tif (n > 16) {\n\t\t\tthis._low = this._high >> (n - 16)\n\t\t\tthis._high = 0\n\t\t} else if (n == 16) {\n\t\t\tthis._low = this._high\n\t\t\tthis._high = 0\n\t\t} else {\n\t\t\tthis._low = (this._low >> n) | ( (this._high << (16-n)) & 0xFFFF )\n\t\t\tthis._high >>= n\n\t\t}\n\n\t\treturn this\n\t}\n\n\t/**\n\t * Bitwise shift left\n\t * @method shiftLeft\n\t * @param {Number} number of bits to shift\n\t * @param {Boolean} allow overflow\n\t * @return ThisExpression\n\t */\n\tUINT32.prototype.shiftLeft = UINT32.prototype.shiftl = function (n, allowOverflow) {\n\t\tif (n > 16) {\n\t\t\tthis._high = this._low << (n - 16)\n\t\t\tthis._low = 0\n\t\t\tif (!allowOverflow) {\n\t\t\t\tthis._high &= 0xFFFF\n\t\t\t}\n\t\t} else if (n == 16) {\n\t\t\tthis._high = this._low\n\t\t\tthis._low = 0\n\t\t} else {\n\t\t\tthis._high = (this._high << n) | (this._low >> (16-n))\n\t\t\tthis._low = (this._low << n) & 0xFFFF\n\t\t\tif (!allowOverflow) {\n\t\t\t\t// Overflow only allowed on the high bits...\n\t\t\t\tthis._high &= 0xFFFF\n\t\t\t}\n\t\t}\n\n\t\treturn this\n\t}\n\n\t/**\n\t * Bitwise rotate left\n\t * @method rotl\n\t * @param {Number} number of bits to rotate\n\t * @return ThisExpression\n\t */\n\tUINT32.prototype.rotateLeft = UINT32.prototype.rotl = function (n) {\n\t\tvar v = (this._high << 16) | this._low\n\t\tv = (v << n) | (v >>> (32 - n))\n\t\tthis._low = v & 0xFFFF\n\t\tthis._high = v >>> 16\n\n\t\treturn this\n\t}\n\n\t/**\n\t * Bitwise rotate right\n\t * @method rotr\n\t * @param {Number} number of bits to rotate\n\t * @return ThisExpression\n\t */\n\tUINT32.prototype.rotateRight = UINT32.prototype.rotr = function (n) {\n\t\tvar v = (this._high << 16) | this._low\n\t\tv = (v >>> n) | (v << (32 - n))\n\t\tthis._low = v & 0xFFFF\n\t\tthis._high = v >>> 16\n\n\t\treturn this\n\t}\n\n\t/**\n\t * Clone the current _UINT32_\n\t * @method clone\n\t * @return {Object} cloned UINT32\n\t */\n\tUINT32.prototype.clone = function () {\n\t\treturn new UINT32(this._low, this._high)\n\t}\n\n\tif (typeof define != 'undefined' && define.amd) {\n\t\t// AMD / RequireJS\n\t\tdefine([], function () {\n\t\t\treturn UINT32\n\t\t})\n\t} else if (typeof module != 'undefined' && module.exports) {\n\t\t// Node.js\n\t\tmodule.exports = UINT32\n\t} else {\n\t\t// Browser\n\t\troot['UINT32'] = UINT32\n\t}\n\n})(this)\n","/**\n\tC-like unsigned 64 bits integers in Javascript\n\tCopyright (C) 2013, Pierre Curto\n\tMIT license\n */\n;(function (root) {\n\n\t// Local cache for typical radices\n\tvar radixPowerCache = {\n\t\t16: UINT64( Math.pow(16, 5) )\n\t,\t10: UINT64( Math.pow(10, 5) )\n\t,\t2: UINT64( Math.pow(2, 5) )\n\t}\n\tvar radixCache = {\n\t\t16: UINT64(16)\n\t,\t10: UINT64(10)\n\t,\t2: UINT64(2)\n\t}\n\n\t/**\n\t *\tRepresents an unsigned 64 bits integer\n\t * @constructor\n\t * @param {Number} first low bits (8)\n\t * @param {Number} second low bits (8)\n\t * @param {Number} first high bits (8)\n\t * @param {Number} second high bits (8)\n\t * or\n\t * @param {Number} low bits (32)\n\t * @param {Number} high bits (32)\n\t * or\n\t * @param {String|Number} integer as a string \t\t | integer as a number\n\t * @param {Number|Undefined} radix (optional, default=10)\n\t * @return \n\t */\n\tfunction UINT64 (a00, a16, a32, a48) {\n\t\tif ( !(this instanceof UINT64) )\n\t\t\treturn new UINT64(a00, a16, a32, a48)\n\n\t\tthis.remainder = null\n\t\tif (typeof a00 == 'string')\n\t\t\treturn fromString.call(this, a00, a16)\n\n\t\tif (typeof a16 == 'undefined')\n\t\t\treturn fromNumber.call(this, a00)\n\n\t\tfromBits.apply(this, arguments)\n\t}\n\n\t/**\n\t * Set the current _UINT64_ object with its low and high bits\n\t * @method fromBits\n\t * @param {Number} first low bits (8)\n\t * @param {Number} second low bits (8)\n\t * @param {Number} first high bits (8)\n\t * @param {Number} second high bits (8)\n\t * or\n\t * @param {Number} low bits (32)\n\t * @param {Number} high bits (32)\n\t * @return ThisExpression\n\t */\n\tfunction fromBits (a00, a16, a32, a48) {\n\t\tif (typeof a32 == 'undefined') {\n\t\t\tthis._a00 = a00 & 0xFFFF\n\t\t\tthis._a16 = a00 >>> 16\n\t\t\tthis._a32 = a16 & 0xFFFF\n\t\t\tthis._a48 = a16 >>> 16\n\t\t\treturn this\n\t\t}\n\n\t\tthis._a00 = a00 | 0\n\t\tthis._a16 = a16 | 0\n\t\tthis._a32 = a32 | 0\n\t\tthis._a48 = a48 | 0\n\n\t\treturn this\n\t}\n\tUINT64.prototype.fromBits = fromBits\n\n\t/**\n\t * Set the current _UINT64_ object from a number\n\t * @method fromNumber\n\t * @param {Number} number\n\t * @return ThisExpression\n\t */\n\tfunction fromNumber (value) {\n\t\tthis._a00 = value & 0xFFFF\n\t\tthis._a16 = value >>> 16\n\t\tthis._a32 = 0\n\t\tthis._a48 = 0\n\n\t\treturn this\n\t}\n\tUINT64.prototype.fromNumber = fromNumber\n\n\t/**\n\t * Set the current _UINT64_ object from a string\n\t * @method fromString\n\t * @param {String} integer as a string\n\t * @param {Number} radix (optional, default=10)\n\t * @return ThisExpression\n\t */\n\tfunction fromString (s, radix) {\n\t\tradix = radix || 10\n\n\t\tthis._a00 = 0\n\t\tthis._a16 = 0\n\t\tthis._a32 = 0\n\t\tthis._a48 = 0\n\n\t\t/*\n\t\t\tIn Javascript, bitwise operators only operate on the first 32 bits \n\t\t\tof a number, even though parseInt() encodes numbers with a 53 bits \n\t\t\tmantissa.\n\t\t\tTherefore UINT64(<Number>) can only work on 32 bits.\n\t\t\tThe radix maximum value is 36 (as per ECMA specs) (26 letters + 10 digits)\n\t\t\tmaximum input value is m = 32bits as 1 = 2^32 - 1\n\t\t\tSo the maximum substring length n is:\n\t\t\t36^(n+1) - 1 = 2^32 - 1\n\t\t\t36^(n+1) = 2^32\n\t\t\t(n+1)ln(36) = 32ln(2)\n\t\t\tn = 32ln(2)/ln(36) - 1\n\t\t\tn = 5.189644915687692\n\t\t\tn = 5\n\t\t */\n\t\tvar radixUint = radixPowerCache[radix] || new UINT64( Math.pow(radix, 5) )\n\n\t\tfor (var i = 0, len = s.length; i < len; i += 5) {\n\t\t\tvar size = Math.min(5, len - i)\n\t\t\tvar value = parseInt( s.slice(i, i + size), radix )\n\t\t\tthis.multiply(\n\t\t\t\t\tsize < 5\n\t\t\t\t\t\t? new UINT64( Math.pow(radix, size) )\n\t\t\t\t\t\t: radixUint\n\t\t\t\t)\n\t\t\t\t.add( new UINT64(value) )\n\t\t}\n\n\t\treturn this\n\t}\n\tUINT64.prototype.fromString = fromString\n\n\t/**\n\t * Convert this _UINT64_ to a number (last 32 bits are dropped)\n\t * @method toNumber\n\t * @return {Number} the converted UINT64\n\t */\n\tUINT64.prototype.toNumber = function () {\n\t\treturn (this._a16 * 65536) + this._a00\n\t}\n\n\t/**\n\t * Convert this _UINT64_ to a string\n\t * @method toString\n\t * @param {Number} radix (optional, default=10)\n\t * @return {String} the converted UINT64\n\t */\n\tUINT64.prototype.toString = function (radix) {\n\t\tradix = radix || 10\n\t\tvar radixUint = radixCache[radix] || new UINT64(radix)\n\n\t\tif ( !this.gt(radixUint) ) return this.toNumber().toString(radix)\n\n\t\tvar self = this.clone()\n\t\tvar res = new Array(64)\n\t\tfor (var i = 63; i >= 0; i--) {\n\t\t\tself.div(radixUint)\n\t\t\tres[i] = self.remainder.toNumber().toString(radix)\n\t\t\tif ( !self.gt(radixUint) ) break\n\t\t}\n\t\tres[i-1] = self.toNumber().toString(radix)\n\n\t\treturn res.join('')\n\t}\n\n\t/**\n\t * Add two _UINT64_. The current _UINT64_ stores the result\n\t * @method add\n\t * @param {Object} other UINT64\n\t * @return ThisExpression\n\t */\n\tUINT64.prototype.add = function (other) {\n\t\tvar a00 = this._a00 + other._a00\n\n\t\tvar a16 = a00 >>> 16\n\t\ta16 += this._a16 + other._a16\n\n\t\tvar a32 = a16 >>> 16\n\t\ta32 += this._a32 + other._a32\n\n\t\tvar a48 = a32 >>> 16\n\t\ta48 += this._a48 + other._a48\n\n\t\tthis._a00 = a00 & 0xFFFF\n\t\tthis._a16 = a16 & 0xFFFF\n\t\tthis._a32 = a32 & 0xFFFF\n\t\tthis._a48 = a48 & 0xFFFF\n\n\t\treturn this\n\t}\n\n\t/**\n\t * Subtract two _UINT64_. The current _UINT64_ stores the result\n\t * @method subtract\n\t * @param {Object} other UINT64\n\t * @return ThisExpression\n\t */\n\tUINT64.prototype.subtract = function (other) {\n\t\treturn this.add( other.clone().negate() )\n\t}\n\n\t/**\n\t * Multiply two _UINT64_. The current _UINT64_ stores the result\n\t * @method multiply\n\t * @param {Object} other UINT64\n\t * @return ThisExpression\n\t */\n\tUINT64.prototype.multiply = function (other) {\n\t\t/*\n\t\t\ta = a00 + a16 + a32 + a48\n\t\t\tb = b00 + b16 + b32 + b48\n\t\t\ta*b = (a00 + a16 + a32 + a48)(b00 + b16 + b32 + b48)\n\t\t\t\t= a00b00 + a00b16 + a00b32 + a00b48\n\t\t\t\t+ a16b00 + a16b16 + a16b32 + a16b48\n\t\t\t\t+ a32b00 + a32b16 + a32b32 + a32b48\n\t\t\t\t+ a48b00 + a48b16 + a48b32 + a48b48\n\n\t\t\ta16b48, a32b32, a48b16, a48b32 and a48b48 overflow the 64 bits\n\t\t\tso it comes down to:\n\t\t\ta*b\t= a00b00 + a00b16 + a00b32 + a00b48\n\t\t\t\t+ a16b00 + a16b16 + a16b32\n\t\t\t\t+ a32b00 + a32b16\n\t\t\t\t+ a48b00\n\t\t\t\t= a00b00\n\t\t\t\t+ a00b16 + a16b00\n\t\t\t\t+ a00b32 + a16b16 + a32b00\n\t\t\t\t+ a00b48 + a16b32 + a32b16 + a48b00\n\t\t */\n\t\tvar a00 = this._a00\n\t\tvar a16 = this._a16\n\t\tvar a32 = this._a32\n\t\tvar a48 = this._a48\n\t\tvar b00 = other._a00\n\t\tvar b16 = other._a16\n\t\tvar b32 = other._a32\n\t\tvar b48 = other._a48\n\n\t\tvar c00 = a00 * b00\n\n\t\tvar c16 = c00 >>> 16\n\t\tc16 += a00 * b16\n\t\tvar c32 = c16 >>> 16\n\t\tc16 &= 0xFFFF\n\t\tc16 += a16 * b00\n\n\t\tc32 += c16 >>> 16\n\t\tc32 += a00 * b32\n\t\tvar c48 = c32 >>> 16\n\t\tc32 &= 0xFFFF\n\t\tc32 += a16 * b16\n\t\tc48 += c32 >>> 16\n\t\tc32 &= 0xFFFF\n\t\tc32 += a32 * b00\n\n\t\tc48 += c32 >>> 16\n\t\tc48 += a00 * b48\n\t\tc48 &= 0xFFFF\n\t\tc48 += a16 * b32\n\t\tc48 &= 0xFFFF\n\t\tc48 += a32 * b16\n\t\tc48 &= 0xFFFF\n\t\tc48 += a48 * b00\n\n\t\tthis._a00 = c00 & 0xFFFF\n\t\tthis._a16 = c16 & 0xFFFF\n\t\tthis._a32 = c32 & 0xFFFF\n\t\tthis._a48 = c48 & 0xFFFF\n\n\t\treturn this\n\t}\n\n\t/**\n\t * Divide two _UINT64_. The current _UINT64_ stores the result.\n\t * The remainder is made available as the _remainder_ property on\n\t * the _UINT64_ object. It can be null, meaning there are no remainder.\n\t * @method div\n\t * @param {Object} other UINT64\n\t * @return ThisExpression\n\t */\n\tUINT64.prototype.div = function (other) {\n\t\tif ( (other._a16 == 0) && (other._a32 == 0) && (other._a48 == 0) ) {\n\t\t\tif (other._a00 == 0) throw Error('division by zero')\n\n\t\t\t// other == 1: this\n\t\t\tif (other._a00 == 1) {\n\t\t\t\tthis.remainder = new UINT64(0)\n\t\t\t\treturn this\n\t\t\t}\n\t\t}\n\n\t\t// other > this: 0\n\t\tif ( other.gt(this) ) {\n\t\t\tthis.remainder = this.clone()\n\t\t\tthis._a00 = 0\n\t\t\tthis._a16 = 0\n\t\t\tthis._a32 = 0\n\t\t\tthis._a48 = 0\n\t\t\treturn this\n\t\t}\n\t\t// other == this: 1\n\t\tif ( this.eq(other) ) {\n\t\t\tthis.remainder = new UINT64(0)\n\t\t\tthis._a00 = 1\n\t\t\tthis._a16 = 0\n\t\t\tthis._a32 = 0\n\t\t\tthis._a48 = 0\n\t\t\treturn this\n\t\t}\n\n\t\t// Shift the divisor left until it is higher than the dividend\n\t\tvar _other = other.clone()\n\t\tvar i = -1\n\t\twhile ( !this.lt(_other) ) {\n\t\t\t// High bit can overflow the default 16bits\n\t\t\t// Its ok since we right shift after this loop\n\t\t\t// The overflown bit must be kept though\n\t\t\t_other.shiftLeft(1, true)\n\t\t\ti++\n\t\t}\n\n\t\t// Set the remainder\n\t\tthis.remainder = this.clone()\n\t\t// Initialize the current result to 0\n\t\tthis._a00 = 0\n\t\tthis._a16 = 0\n\t\tthis._a32 = 0\n\t\tthis._a48 = 0\n\t\tfor (; i >= 0; i--) {\n\t\t\t_other.shiftRight(1)\n\t\t\t// If shifted divisor is smaller than the dividend\n\t\t\t// then subtract it from the dividend\n\t\t\tif ( !this.remainder.lt(_other) ) {\n\t\t\t\tthis.remainder.subtract(_other)\n\t\t\t\t// Update the current result\n\t\t\t\tif (i >= 48) {\n\t\t\t\t\tthis._a48 |= 1 << (i - 48)\n\t\t\t\t} else if (i >= 32) {\n\t\t\t\t\tthis._a32 |= 1 << (i - 32)\n\t\t\t\t} else if (i >= 16) {\n\t\t\t\t\tthis._a16 |= 1 << (i - 16)\n\t\t\t\t} else {\n\t\t\t\t\tthis._a00 |= 1 << i\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn this\n\t}\n\n\t/**\n\t * Negate the current _UINT64_\n\t * @method negate\n\t * @return ThisExpression\n\t */\n\tUINT64.prototype.negate = function () {\n\t\tvar v = ( ~this._a00 & 0xFFFF ) + 1\n\t\tthis._a00 = v & 0xFFFF\n\t\tv = (~this._a16 & 0xFFFF) + (v >>> 16)\n\t\tthis._a16 = v & 0xFFFF\n\t\tv = (~this._a32 & 0xFFFF) + (v >>> 16)\n\t\tthis._a32 = v & 0xFFFF\n\t\tthis._a48 = (~this._a48 + (v >>> 16)) & 0xFFFF\n\n\t\treturn this\n\t}\n\n\t/**\n\n\t * @method eq\n\t * @param {Object} other UINT64\n\t * @return {Boolean}\n\t */\n\tUINT64.prototype.equals = UINT64.prototype.eq = function (other) {\n\t\treturn (this._a48 == other._a48) && (this._a00 == other._a00)\n\t\t\t && (this._a32 == other._a32) && (this._a16 == other._a16)\n\t}\n\n\t/**\n\t * Greater than (strict)\n\t * @method gt\n\t * @param {Object} other UINT64\n\t * @return {Boolean}\n\t */\n\tUINT64.prototype.greaterThan = UINT64.prototype.gt = function (other) {\n\t\tif (this._a48 > other._a48) return true\n\t\tif (this._a48 < other._a48) return false\n\t\tif (this._a32 > other._a32) return true\n\t\tif (this._a32 < other._a32) return false\n\t\tif (this._a16 > other._a16) return true\n\t\tif (this._a16 < other._a16) return false\n\t\treturn this._a00 > other._a00\n\t}\n\n\t/**\n\t * Less than (strict)\n\t * @method lt\n\t * @param {Object} other UINT64\n\t * @return {Boolean}\n\t */\n\tUINT64.prototype.lessThan = UINT64.prototype.lt = function (other) {\n\t\tif (this._a48 < other._a48) return true\n\t\tif (this._a48 > other._a48) return false\n\t\tif (this._a32 < other._a32) return true\n\t\tif (this._a32 > other._a32) return false\n\t\tif (this._a16 < other._a16) return true\n\t\tif (this._a16 > other._a16) return false\n\t\treturn this._a00 < other._a00\n\t}\n\n\t/**\n\t * Bitwise OR\n\t * @method or\n\t * @param {Object} other UINT64\n\t * @return ThisExpression\n\t */\n\tUINT64.prototype.or = function (other) {\n\t\tthis._a00 |= other._a00\n\t\tthis._a16 |= other._a16\n\t\tthis._a32 |= other._a32\n\t\tthis._a48 |= other._a48\n\n\t\treturn this\n\t}\n\n\t/**\n\t * Bitwise AND\n\t * @method and\n\t * @param {Object} other UINT64\n\t * @return ThisExpression\n\t */\n\tUINT64.prototype.and = function (other) {\n\t\tthis._a00 &= other._a00\n\t\tthis._a16 &= other._a16\n\t\tthis._a32 &= other._a32\n\t\tthis._a48 &= other._a48\n\n\t\treturn this\n\t}\n\n\t/**\n\t * Bitwise XOR\n\t * @method xor\n\t * @param {Object} other UINT64\n\t * @return ThisExpression\n\t */\n\tUINT64.prototype.xor = function (other) {\n\t\tthis._a00 ^= other._a00\n\t\tthis._a16 ^= other._a16\n\t\tthis._a32 ^= other._a32\n\t\tthis._a48 ^= other._a48\n\n\t\treturn this\n\t}\n\n\t/**\n\t * Bitwise NOT\n\t * @method not\n\t * @return ThisExpression\n\t */\n\tUINT64.prototype.not = function() {\n\t\tthis._a00 = ~this._a00 & 0xFFFF\n\t\tthis._a16 = ~this._a16 & 0xFFFF\n\t\tthis._a32 = ~this._a32 & 0xFFFF\n\t\tthis._a48 = ~this._a48 & 0xFFFF\n\n\t\treturn this\n\t}\n\n\t/**\n\t * Bitwise shift right\n\t * @method shiftRight\n\t * @param {Number} number of bits to shift\n\t * @return ThisExpression\n\t */\n\tUINT64.prototype.shiftRight = UINT64.prototype.shiftr = function (n) {\n\t\tn %= 64\n\t\tif (n >= 48) {\n\t\t\tthis._a00 = this._a48 >> (n - 48)\n\t\t\tthis._a16 = 0\n\t\t\tthis._a32 = 0\n\t\t\tthis._a48 = 0\n\t\t} else if (n >= 32) {\n\t\t\tn -= 32\n\t\t\tthis._a00 = ( (this._a32 >> n) | (this._a48 << (16-n)) ) & 0xFFFF\n\t\t\tthis._a16 = (this._a48 >> n) & 0xFFFF\n\t\t\tthis._a32 = 0\n\t\t\tthis._a48 = 0\n\t\t} else if (n >= 16) {\n\t\t\tn -= 16\n\t\t\tthis._a00 = ( (this._a16 >> n) | (this._a32 << (16-n)) ) & 0xFFFF\n\t\t\tthis._a16 = ( (this._a32 >> n) | (this._a48 << (16-n)) ) & 0xFFFF\n\t\t\tthis._a32 = (this._a48 >> n) & 0xFFFF\n\t\t\tthis._a48 = 0\n\t\t} else {\n\t\t\tthis._a00 = ( (this._a00 >> n) | (this._a16 << (16-n)) ) & 0xFFFF\n\t\t\tthis._a16 = ( (this._a16 >> n) | (this._a32 << (16-n)) ) & 0xFFFF\n\t\t\tthis._a32 = ( (this._a32 >> n) | (this._a48 << (16-n)) ) & 0xFFFF\n\t\t\tthis._a48 = (this._a48 >> n) & 0xFFFF\n\t\t}\n\n\t\treturn this\n\t}\n\n\t/**\n\t * Bitwise shift left\n\t * @method shiftLeft\n\t * @param {Number} number of bits to shift\n\t * @param {Boolean} allow overflow\n\t * @return ThisExpression\n\t */\n\tUINT64.prototype.shiftLeft = UINT64.prototype.shiftl = function (n, allowOverflow) {\n\t\tn %= 64\n\t\tif (n >= 48) {\n\t\t\tthis._a48 = this._a00 << (n - 48)\n\t\t\tthis._a32 = 0\n\t\t\tthis._a16 = 0\n\t\t\tthis._a00 = 0\n\t\t} else if (n >= 32) {\n\t\t\tn -= 32\n\t\t\tthis._a48 = (this._a16 << n) | (this._a00 >> (16-n))\n\t\t\tthis._a32 = (this._a00 << n) & 0xFFFF\n\t\t\tthis._a16 = 0\n\t\t\tthis._a00 = 0\n\t\t} else if (n >= 16) {\n\t\t\tn -= 16\n\t\t\tthis._a48 = (this._a32 << n) | (this._a16 >> (16-n))\n\t\t\tthis._a32 = ( (this._a16 << n) | (this._a00 >> (16-n)) ) & 0xFFFF\n\t\t\tthis._a16 = (this._a00 << n) & 0xFFFF\n\t\t\tthis._a00 = 0\n\t\t} else {\n\t\t\tthis._a48 = (this._a48 << n) | (this._a32 >> (16-n))\n\t\t\tthis._a32 = ( (this._a32 << n) | (this._a16 >> (16-n)) ) & 0xFFFF\n\t\t\tthis._a16 = ( (this._a16 << n) | (this._a00 >> (16-n)) ) & 0xFFFF\n\t\t\tthis._a00 = (this._a00 << n) & 0xFFFF\n\t\t}\n\t\tif (!allowOverflow) {\n\t\t\tthis._a48 &= 0xFFFF\n\t\t}\n\n\t\treturn this\n\t}\n\n\t/**\n\t * Bitwise rotate left\n\t * @method rotl\n\t * @param {Number} number of bits to rotate\n\t * @return ThisExpression\n\t */\n\tUINT64.prototype.rotateLeft = UINT64.prototype.rotl = function (n) {\n\t\tn %= 64\n\t\tif (n == 0) return this\n\t\tif (n >= 32) {\n\t\t\t// A.B.C.D\n\t\t\t// B.C.D.A rotl(16)\n\t\t\t// C.D.A.B rotl(32)\n\t\t\tvar v = this._a00\n\t\t\tthis._a00 = this._a32\n\t\t\tthis._a32 = v\n\t\t\tv = this._a48\n\t\t\tthis._a48 = this._a16\n\t\t\tthis._a16 = v\n\t\t\tif (n == 32) return this\n\t\t\tn -= 32\n\t\t}\n\n\t\tvar high = (this._a48 << 16) | this._a32\n\t\tvar low = (this._a16 << 16) | this._a00\n\n\t\tvar _high = (high << n) | (low >>> (32 - n))\n\t\tvar _low = (low << n) | (high >>> (32 - n))\n\n\t\tthis._a00 = _low & 0xFFFF\n\t\tthis._a16 = _low >>> 16\n\t\tthis._a32 = _high & 0xFFFF\n\t\tthis._a48 = _high >>> 16\n\n\t\treturn this\n\t}\n\n\t/**\n\t * Bitwise rotate right\n\t * @method rotr\n\t * @param {Number} number of bits to rotate\n\t * @return ThisExpression\n\t */\n\tUINT64.prototype.rotateRight = UINT64.prototype.rotr = function (n) {\n\t\tn %= 64\n\t\tif (n == 0) return this\n\t\tif (n >= 32) {\n\t\t\t// A.B.C.D\n\t\t\t// D.A.B.C rotr(16)\n\t\t\t// C.D.A.B rotr(32)\n\t\t\tvar v = this._a00\n\t\t\tthis._a00 = this._a32\n\t\t\tthis._a32 = v\n\t\t\tv = this._a48\n\t\t\tthis._a48 = this._a16\n\t\t\tthis._a16 = v\n\t\t\tif (n == 32) return this\n\t\t\tn -= 32\n\t\t}\n\n\t\tvar high = (this._a48 << 16) | this._a32\n\t\tvar low = (this._a16 << 16) | this._a00\n\n\t\tvar _high = (high >>> n) | (low << (32 - n))\n\t\tvar _low = (low >>> n) | (high << (32 - n))\n\n\t\tthis._a00 = _low & 0xFFFF\n\t\tthis._a16 = _low >>> 16\n\t\tthis._a32 = _high & 0xFFFF\n\t\tthis._a48 = _high >>> 16\n\n\t\treturn this\n\t}\n\n\t/**\n\t * Clone the current _UINT64_\n\t * @method clone\n\t * @return {Object} cloned UINT64\n\t */\n\tUINT64.prototype.clone = function () {\n\t\treturn new UINT64(this._a00, this._a16, this._a32, this._a48)\n\t}\n\n\tif (typeof define != 'undefined' && define.amd) {\n\t\t// AMD / RequireJS\n\t\tdefine([], function () {\n\t\t\treturn UINT64\n\t\t})\n\t} else if (typeof module != 'undefined' && module.exports) {\n\t\t// Node.js\n\t\tmodule.exports = UINT64\n\t} else {\n\t\t// Browser\n\t\troot['UINT64'] = UINT64\n\t}\n\n})(this)\n","/*\n* FileSaver.js\n* A saveAs() FileSaver implementation.\n*\n* By Eli Grey, http://eligrey.com\n*\n* License : https://github.com/eligrey/FileSaver.js/blob/master/LICENSE.md (MIT)\n* source : http://purl.eligrey.com/github/FileSaver.js\n*/\n\n// The one and only way of getting global scope in all environments\n// https://stackoverflow.com/q/3277182/1008999\nvar _global = typeof window === 'object' && window.window === window\n ? window : typeof self === 'object' && self.self === self\n ? self : typeof global === 'object' && global.global === global\n ? global\n : this\n\nfunction bom (blob, opts) {\n if (typeof opts === 'undefined') opts = { autoBom: false }\n else if (typeof opts !== 'object') {\n console.warn('Deprecated: Expected third argument to be a object')\n opts = { autoBom: !opts }\n }\n\n // prepend BOM for UTF-8 XML and text/* types (including HTML)\n // note: your browser will automatically convert UTF-16 U+FEFF to EF BB BF\n if (opts.autoBom && /^\\s*(?:text\\/\\S*|application\\/xml|\\S*\\/\\S*\\+xml)\\s*;.*charset\\s*=\\s*utf-8/i.test(blob.type)) {\n return new Blob([String.fromCharCode(0xFEFF), blob], { type: blob.type })\n }\n return blob\n}\n\nfunction download (url, name, opts) {\n var xhr = new XMLHttpRequest()\n xhr.open('GET', url)\n xhr.responseType = 'blob'\n xhr.onload = function () {\n saveAs(xhr.response, name, opts)\n }\n xhr.onerror = function () {\n console.error('could not download file')\n }\n xhr.send()\n}\n\nfunction corsEnabled (url) {\n var xhr = new XMLHttpRequest()\n // use sync to avoid popup blocker\n xhr.open('HEAD', url, false)\n try {\n xhr.send()\n } catch (e) {}\n return xhr.status >= 200 && xhr.status <= 299\n}\n\n// `a.click()` doesn't work for all browsers (#465)\nfunction click (node) {\n try {\n node.dispatchEvent(new MouseEvent('click'))\n } catch (e) {\n var evt = document.createEvent('MouseEvents')\n evt.initMouseEvent('click', true, true, window, 0, 0, 0, 80,\n 20, false, false, false, false, 0, null)\n node.dispatchEvent(evt)\n }\n}\n\n// Detect WebView inside a native macOS app by ruling out all browsers\n// We just need to check for 'Safari' because all other browsers (besides Firefox) include that too\n// https://www.whatismybrowser.com/guides/the-latest-user-agent/macos\nvar isMacOSWebView = _global.navigator && /Macintosh/.test(navigator.userAgent) && /AppleWebKit/.test(navigator.userAgent) && !/Safari/.test(navigator.userAgent)\n\nvar saveAs = _global.saveAs || (\n // probably in some web worker\n (typeof window !== 'object' || window !== _global)\n ? function saveAs () { /* noop */ }\n\n // Use download attribute first if possible (#193 Lumia mobile) unless this is a macOS WebView\n : ('download' in HTMLAnchorElement.prototype && !isMacOSWebView)\n ? function saveAs (blob, name, opts) {\n var URL = _global.URL || _global.webkitURL\n var a = document.createElement('a')\n name = name || blob.name || 'download'\n\n a.download = name\n a.rel = 'noopener' // tabnabbing\n\n // TODO: detect chrome extensions & packaged apps\n // a.target = '_blank'\n\n if (typeof blob === 'string') {\n // Support regular links\n a.href = blob\n if (a.origin !== location.origin) {\n corsEnabled(a.href)\n ? download(blob, name, opts)\n : click(a, a.target = '_blank')\n } else {\n click(a)\n }\n } else {\n // Support blobs\n a.href = URL.createObjectURL(blob)\n setTimeout(function () { URL.revokeObjectURL(a.href) }, 4E4) // 40s\n setTimeout(function () { click(a) }, 0)\n }\n }\n\n // Use msSaveOrOpenBlob as a second approach\n : 'msSaveOrOpenBlob' in navigator\n ? function saveAs (blob, name, opts) {\n name = name || blob.name || 'download'\n\n if (typeof blob === 'string') {\n if (corsEnabled(blob)) {\n download(blob, name, opts)\n } else {\n var a = document.createElement('a')\n a.href = blob\n a.target = '_blank'\n setTimeout(function () { click(a) })\n }\n } else {\n navigator.msSaveOrOpenBlob(bom(blob, opts), name)\n }\n }\n\n // Fallback to using FileReader and a popup\n : function saveAs (blob, name, opts, popup) {\n // Open a popup immediately do go around popup blocker\n // Mostly only available on user interaction and the fileReader is async so...\n popup = popup || open('', '_blank')\n if (popup) {\n popup.document.title =\n popup.document.body.innerText = 'downloading...'\n }\n\n if (typeof blob === 'string') return download(blob, name, opts)\n\n var force = blob.type === 'application/octet-stream'\n var isSafari = /constructor/i.test(_global.HTMLElement) || _global.safari\n var isChromeIOS = /CriOS\\/[\\d]+/.test(navigator.userAgent)\n\n if ((isChromeIOS || (force && isSafari) || isMacOSWebView) && typeof FileReader !== 'undefined') {\n // Safari doesn't allow downloading of blob URLs\n var reader = new FileReader()\n reader.onloadend = function () {\n var url = reader.result\n url = isChromeIOS ? url : url.replace(/^data:[^;]*;/, 'data:attachment/file;')\n if (popup) popup.location.href = url\n else location = url\n popup = null // reverse-tabnabbing #460\n }\n reader.readAsDataURL(blob)\n } else {\n var URL = _global.URL || _global.webkitURL\n var url = URL.createObjectURL(blob)\n if (popup) popup.location = url\n else location.href = url\n popup = null // reverse-tabnabbing #460\n setTimeout(function () { URL.revokeObjectURL(url) }, 4E4) // 40s\n }\n }\n)\n\n_global.saveAs = saveAs.saveAs = saveAs\n\nif (typeof module !== 'undefined') {\n module.exports = saveAs;\n}\n","'use strict';\n\nvar reactIs = require('react-is');\n\n/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\n */\nvar REACT_STATICS = {\n childContextTypes: true,\n contextType: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromError: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n};\nvar KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n};\nvar FORWARD_REF_STATICS = {\n '$$typeof': true,\n render: true,\n defaultProps: true,\n displayName: true,\n propTypes: true\n};\nvar MEMO_STATICS = {\n '$$typeof': true,\n compare: true,\n defaultProps: true,\n displayName: true,\n propTypes: true,\n type: true\n};\nvar TYPE_STATICS = {};\nTYPE_STATICS[reactIs.ForwardRef] = FORWARD_REF_STATICS;\nTYPE_STATICS[reactIs.Memo] = MEMO_STATICS;\n\nfunction getStatics(component) {\n // React v16.11 and below\n if (reactIs.isMemo(component)) {\n return MEMO_STATICS;\n } // React v16.12 and above\n\n\n return TYPE_STATICS[component['$$typeof']] || REACT_STATICS;\n}\n\nvar defineProperty = Object.defineProperty;\nvar getOwnPropertyNames = Object.getOwnPropertyNames;\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar getPrototypeOf = Object.getPrototypeOf;\nvar objectPrototype = Object.prototype;\nfunction hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') {\n // don't hoist over string (html) components\n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n\n var keys = getOwnPropertyNames(sourceComponent);\n\n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n\n var targetStatics = getStatics(targetComponent);\n var sourceStatics = getStatics(sourceComponent);\n\n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n\n if (!KNOWN_STATICS[key] && !(blacklist && blacklist[key]) && !(sourceStatics && sourceStatics[key]) && !(targetStatics && targetStatics[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n\n try {\n // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n }\n\n return targetComponent;\n}\n\nmodule.exports = hoistNonReactStatics;\n","/*\nCopyright 2019 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport * as matrixcs from \"./matrix.ts\";\n\ntype BrowserMatrix = typeof matrixcs;\ndeclare global {\n /* eslint-disable no-var, camelcase */\n var __js_sdk_entrypoint: boolean;\n var matrixcs: BrowserMatrix;\n /* eslint-enable no-var */\n}\n\nif (globalThis.__js_sdk_entrypoint) {\n throw new Error(\"Multiple matrix-js-sdk entrypoints detected!\");\n}\nglobalThis.__js_sdk_entrypoint = true;\n\n// just *accessing* indexedDB throws an exception in firefox with indexeddb disabled.\nlet indexedDB: IDBFactory | undefined;\ntry {\n indexedDB = globalThis.indexedDB;\n} catch {}\n\n// if our browser (appears to) support indexeddb, use an indexeddb crypto store.\nif (indexedDB) {\n matrixcs.setCryptoStoreFactory(() => new matrixcs.IndexedDBCryptoStore(indexedDB!, \"matrix-js-sdk:crypto\"));\n}\n\nexport * from \"./matrix.ts\";\nglobalThis.matrixcs = matrixcs;\n","/*\nCopyright 2021 The Matrix.org Foundation C.I.C.\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n*/\n\nimport { type Room } from \"./models/room.ts\";\nimport { type IHierarchyRoom, type IHierarchyRelation } from \"./@types/spaces.ts\";\nimport { type MatrixClient } from \"./client.ts\";\nimport { EventType } from \"./@types/event.ts\";\nimport { type MatrixError } from \"./http-api/index.ts\";\n\nexport class RoomHierarchy {\n // Map from room id to list of servers which are listed as a via somewhere in the loaded hierarchy\n public readonly viaMap = new Map<string, Set<string>>();\n // Map from room id to list of rooms which claim this room as their child\n public readonly backRefs = new Map<string, string[]>();\n // Map from room id to object\n public readonly roomMap = new Map<string, IHierarchyRoom>();\n private loadRequest?: ReturnType<MatrixClient[\"getRoomHierarchy\"]>;\n private nextBatch?: string;\n private _rooms?: IHierarchyRoom[];\n private serverSupportError?: Error;\n\n /**\n * Construct a new RoomHierarchy\n *\n * A RoomHierarchy instance allows you to easily make use of the /hierarchy API and paginate it.\n *\n * @param root - the root of this hierarchy\n * @param pageSize - the maximum number of rooms to return per page, can be overridden per load request.\n * @param maxDepth - the maximum depth to traverse the hierarchy to\n * @param suggestedOnly - whether to only return rooms with suggested=true.\n */\n public constructor(\n public readonly root: Room,\n private readonly pageSize?: number,\n private readonly maxDepth?: number,\n private readonly suggestedOnly = false,\n ) {}\n\n public get noSupport(): boolean {\n return !!this.serverSupportError;\n }\n\n public get canLoadMore(): boolean {\n return !!this.serverSupportError || !!this.nextBatch || !this._rooms;\n }\n\n public get loading(): boolean {\n return !!this.loadRequest;\n }\n\n public get rooms(): IHierarchyRoom[] | undefined {\n return this._rooms;\n }\n\n public async load(pageSize = this.pageSize): Promise<IHierarchyRoom[]> {\n if (this.loadRequest) return this.loadRequest.then((r) => r.rooms);\n\n this.loadRequest = this.root.client.getRoomHierarchy(\n this.root.roomId,\n pageSize,\n this.maxDepth,\n this.suggestedOnly,\n this.nextBatch,\n );\n\n let rooms: IHierarchyRoom[];\n try {\n ({ rooms, next_batch: this.nextBatch } = await this.loadRequest);\n } catch (e) {\n if ((<MatrixError>e).errcode === \"M_UNRECOGNIZED\") {\n this.serverSupportError = <MatrixError>e;\n } else {\n throw e;\n }\n\n return [];\n } finally {\n this.loadRequest = undefined;\n }\n\n if (this._rooms) {\n this._rooms = this._rooms.concat(rooms);\n } else {\n this._rooms = rooms;\n }\n\n rooms.forEach((room) => {\n this.roomMap.set(room.room_id, room);\n\n room.children_state.forEach((ev) => {\n if (ev.type !== EventType.SpaceChild) return;\n const childRoomId = ev.state_key;\n\n // track backrefs for quicker hierarchy navigation\n if (!this.backRefs.has(childRoomId)) {\n this.backRefs.set(childRoomId, []);\n }\n this.backRefs.get(childRoomId)!.push(room.room_id);\n\n // fill viaMap\n if (Array.isArray(ev.content.via)) {\n if (!this.viaMap.has(childRoomId)) {\n this.viaMap.set(childRoomId, new Set());\n }\n const vias = this.viaMap.get(childRoomId)!;\n ev.content.via.forEach((via) => vias.add(via));\n }\n });\n });\n\n return rooms;\n }\n\n public getRelation(parentId: string, childId: string): IHierarchyRelation | undefined {\n return this.roomMap.get(parentId)?.children_state.find((e) => e.state_key === childId);\n }\n\n public isSuggested(parentId: string, childId: string): boolean | undefined {\n return this.getRelation(parentId, childId)?.content.suggested;\n }\n\n // locally remove a relation as a form of local echo\n public removeRelation(parentId: string, childId: string): void {\n const backRefs = this.backRefs.get(childId);\n if (backRefs?.length === 1) {\n this.backRefs.delete(childId);\n } else if (backRefs?.length) {\n this.backRefs.set(\n childId,\n backRefs.filter((ref) => ref !== parentId),\n );\n }\n\n const room = this.roomMap.get(parentId);\n if (room) {\n room.children_state = room.children_state.filter((ev) => ev.state_key !== childId);\n }\n }\n}\n","import defineProperty from \"./defineProperty.js\";\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nfunction _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {\n defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}\nexport { _objectSpread2 as default };","import _objectSpread from '@babel/runtime/helpers/esm/objectSpread2';\n\n/**\n * Adapted from React: https://github.com/facebook/react/blob/master/packages/shared/formatProdErrorMessage.js\n *\n * Do not require this module directly! Use normal throw error calls. These messages will be replaced with error codes\n * during build.\n * @param {number} code\n */\nfunction formatProdErrorMessage(code) {\n return \"Minified Redux error #\" + code + \"; visit https://redux.js.org/Errors?code=\" + code + \" for the full message or \" + 'use the non-minified dev environment for full errors. ';\n}\n\n// Inlined version of the `symbol-observable` polyfill\nvar $$observable = (function () {\n return typeof Symbol === 'function' && Symbol.observable || '@@observable';\n})();\n\n/**\n * These are private action types reserved by Redux.\n * For any unknown actions, you must return the current state.\n * If the current state is undefined, you must return the initial state.\n * Do not reference these action types directly in your code.\n */\nvar randomString = function randomString() {\n return Math.random().toString(36).substring(7).split('').join('.');\n};\n\nvar ActionTypes = {\n INIT: \"@@redux/INIT\" + randomString(),\n REPLACE: \"@@redux/REPLACE\" + randomString(),\n PROBE_UNKNOWN_ACTION: function PROBE_UNKNOWN_ACTION() {\n return \"@@redux/PROBE_UNKNOWN_ACTION\" + randomString();\n }\n};\n\n/**\n * @param {any} obj The object to inspect.\n * @returns {boolean} True if the argument appears to be a plain object.\n */\nfunction isPlainObject(obj) {\n if (typeof obj !== 'object' || obj === null) return false;\n var proto = obj;\n\n while (Object.getPrototypeOf(proto) !== null) {\n proto = Object.getPrototypeOf(proto);\n }\n\n return Object.getPrototypeOf(obj) === proto;\n}\n\n// Inlined / shortened version of `kindOf` from https://github.com/jonschlinkert/kind-of\nfunction miniKindOf(val) {\n if (val === void 0) return 'undefined';\n if (val === null) return 'null';\n var type = typeof val;\n\n switch (type) {\n case 'boolean':\n case 'string':\n case 'number':\n case 'symbol':\n case 'function':\n {\n return type;\n }\n }\n\n if (Array.isArray(val)) return 'array';\n if (isDate(val)) return 'date';\n if (isError(val)) return 'error';\n var constructorName = ctorName(val);\n\n switch (constructorName) {\n case 'Symbol':\n case 'Promise':\n case 'WeakMap':\n case 'WeakSet':\n case 'Map':\n case 'Set':\n return constructorName;\n } // other\n\n\n return type.slice(8, -1).toLowerCase().replace(/\\s/g, '');\n}\n\nfunction ctorName(val) {\n return typeof val.constructor === 'function' ? val.constructor.name : null;\n}\n\nfunction isError(val) {\n return val instanceof Error || typeof val.message === 'string' && val.constructor && typeof val.constructor.stackTraceLimit === 'number';\n}\n\nfunction isDate(val) {\n if (val instanceof Date) return true;\n return typeof val.toDateString === 'function' && typeof val.getDate === 'function' && typeof val.setDate === 'function';\n}\n\nfunction kindOf(val) {\n var typeOfVal = typeof val;\n\n if (process.env.NODE_ENV !== 'production') {\n typeOfVal = miniKindOf(val);\n }\n\n return typeOfVal;\n}\n\n/**\n * @deprecated\n *\n * **We recommend using the `configureStore` method\n * of the `@reduxjs/toolkit` package**, which replaces `createStore`.\n *\n * Redux Toolkit is our recommended approach for writing Redux logic today,\n * including store setup, reducers, data fetching, and more.\n *\n * **For more details, please read this Redux docs page:**\n * **https://redux.js.org/introduction/why-rtk-is-redux-today**\n *\n * `configureStore` from Redux Toolkit is an improved version of `createStore` that\n * simplifies setup and helps avoid common bugs.\n *\n * You should not be using the `redux` core package by itself today, except for learning purposes.\n * The `createStore` method from the core `redux` package will not be removed, but we encourage\n * all users to migrate to using Redux Toolkit for all Redux code.\n *\n * If you want to use `createStore` without this visual deprecation warning, use\n * the `legacy_createStore` import instead:\n *\n * `import { legacy_createStore as createStore} from 'redux'`\n *\n */\n\nfunction createStore(reducer, preloadedState, enhancer) {\n var _ref2;\n\n if (typeof preloadedState === 'function' && typeof enhancer === 'function' || typeof enhancer === 'function' && typeof arguments[3] === 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(0) : 'It looks like you are passing several store enhancers to ' + 'createStore(). This is not supported. Instead, compose them ' + 'together to a single function. See https://redux.js.org/tutorials/fundamentals/part-4-store#creating-a-store-with-enhancers for an example.');\n }\n\n if (typeof preloadedState === 'function' && typeof enhancer === 'undefined') {\n enhancer = preloadedState;\n preloadedState = undefined;\n }\n\n if (typeof enhancer !== 'undefined') {\n if (typeof enhancer !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(1) : \"Expected the enhancer to be a function. Instead, received: '\" + kindOf(enhancer) + \"'\");\n }\n\n return enhancer(createStore)(reducer, preloadedState);\n }\n\n if (typeof reducer !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(2) : \"Expected the root reducer to be a function. Instead, received: '\" + kindOf(reducer) + \"'\");\n }\n\n var currentReducer = reducer;\n var currentState = preloadedState;\n var currentListeners = [];\n var nextListeners = currentListeners;\n var isDispatching = false;\n /**\n * This makes a shallow copy of currentListeners so we can use\n * nextListeners as a temporary list while dispatching.\n *\n * This prevents any bugs around consumers calling\n * subscribe/unsubscribe in the middle of a dispatch.\n */\n\n function ensureCanMutateNextListeners() {\n if (nextListeners === currentListeners) {\n nextListeners = currentListeners.slice();\n }\n }\n /**\n * Reads the state tree managed by the store.\n *\n * @returns {any} The current state tree of your application.\n */\n\n\n function getState() {\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(3) : 'You may not call store.getState() while the reducer is executing. ' + 'The reducer has already received the state as an argument. ' + 'Pass it down from the top reducer instead of reading it from the store.');\n }\n\n return currentState;\n }\n /**\n * Adds a change listener. It will be called any time an action is dispatched,\n * and some part of the state tree may potentially have changed. You may then\n * call `getState()` to read the current state tree inside the callback.\n *\n * You may call `dispatch()` from a change listener, with the following\n * caveats:\n *\n * 1. The subscriptions are snapshotted just before every `dispatch()` call.\n * If you subscribe or unsubscribe while the listeners are being invoked, this\n * will not have any effect on the `dispatch()` that is currently in progress.\n * However, the next `dispatch()` call, whether nested or not, will use a more\n * recent snapshot of the subscription list.\n *\n * 2. The listener should not expect to see all state changes, as the state\n * might have been updated multiple times during a nested `dispatch()` before\n * the listener is called. It is, however, guaranteed that all subscribers\n * registered before the `dispatch()` started will be called with the latest\n * state by the time it exits.\n *\n * @param {Function} listener A callback to be invoked on every dispatch.\n * @returns {Function} A function to remove this change listener.\n */\n\n\n function subscribe(listener) {\n if (typeof listener !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(4) : \"Expected the listener to be a function. Instead, received: '\" + kindOf(listener) + \"'\");\n }\n\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(5) : 'You may not call store.subscribe() while the reducer is executing. ' + 'If you would like to be notified after the store has been updated, subscribe from a ' + 'component and invoke store.getState() in the callback to access the latest state. ' + 'See https://redux.js.org/api/store#subscribelistener for more details.');\n }\n\n var isSubscribed = true;\n ensureCanMutateNextListeners();\n nextListeners.push(listener);\n return function unsubscribe() {\n if (!isSubscribed) {\n return;\n }\n\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(6) : 'You may not unsubscribe from a store listener while the reducer is executing. ' + 'See https://redux.js.org/api/store#subscribelistener for more details.');\n }\n\n isSubscribed = false;\n ensureCanMutateNextListeners();\n var index = nextListeners.indexOf(listener);\n nextListeners.splice(index, 1);\n currentListeners = null;\n };\n }\n /**\n * Dispatches an action. It is the only way to trigger a state change.\n *\n * The `reducer` function, used to create the store, will be called with the\n * current state tree and the given `action`. Its return value will\n * be considered the **next** state of the tree, and the change listeners\n * will be notified.\n *\n * The base implementation only supports plain object actions. If you want to\n * dispatch a Promise, an Observable, a thunk, or something else, you need to\n * wrap your store creating function into the corresponding middleware. For\n * example, see the documentation for the `redux-thunk` package. Even the\n * middleware will eventually dispatch plain object actions using this method.\n *\n * @param {Object} action A plain object representing “what changed”. It is\n * a good idea to keep actions serializable so you can record and replay user\n * sessions, or use the time travelling `redux-devtools`. An action must have\n * a `type` property which may not be `undefined`. It is a good idea to use\n * string constants for action types.\n *\n * @returns {Object} For convenience, the same action object you dispatched.\n *\n * Note that, if you use a custom middleware, it may wrap `dispatch()` to\n * return something else (for example, a Promise you can await).\n */\n\n\n function dispatch(action) {\n if (!isPlainObject(action)) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(7) : \"Actions must be plain objects. Instead, the actual type was: '\" + kindOf(action) + \"'. You may need to add middleware to your store setup to handle dispatching other values, such as 'redux-thunk' to handle dispatching functions. See https://redux.js.org/tutorials/fundamentals/part-4-store#middleware and https://redux.js.org/tutorials/fundamentals/part-6-async-logic#using-the-redux-thunk-middleware for examples.\");\n }\n\n if (typeof action.type === 'undefined') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(8) : 'Actions may not have an undefined \"type\" property. You may have misspelled an action type string constant.');\n }\n\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(9) : 'Reducers may not dispatch actions.');\n }\n\n try {\n isDispatching = true;\n currentState = currentReducer(currentState, action);\n } finally {\n isDispatching = false;\n }\n\n var listeners = currentListeners = nextListeners;\n\n for (var i = 0; i < listeners.length; i++) {\n var listener = listeners[i];\n listener();\n }\n\n return action;\n }\n /**\n * Replaces the reducer currently used by the store to calculate the state.\n *\n * You might need this if your app implements code splitting and you want to\n * load some of the reducers dynamically. You might also need this if you\n * implement a hot reloading mechanism for Redux.\n *\n * @param {Function} nextReducer The reducer for the store to use instead.\n * @returns {void}\n */\n\n\n function replaceReducer(nextReducer) {\n if (typeof nextReducer !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(10) : \"Expected the nextReducer to be a function. Instead, received: '\" + kindOf(nextReducer));\n }\n\n currentReducer = nextReducer; // This action has a similiar effect to ActionTypes.INIT.\n // Any reducers that existed in both the new and old rootReducer\n // will receive the previous state. This effectively populates\n // the new state tree with any relevant data from the old one.\n\n dispatch({\n type: ActionTypes.REPLACE\n });\n }\n /**\n * Interoperability point for observable/reactive libraries.\n * @returns {observable} A minimal observable of state changes.\n * For more information, see the observable proposal:\n * https://github.com/tc39/proposal-observable\n */\n\n\n function observable() {\n var _ref;\n\n var outerSubscribe = subscribe;\n return _ref = {\n /**\n * The minimal observable subscription method.\n * @param {Object} observer Any object that can be used as an observer.\n * The observer object should have a `next` method.\n * @returns {subscription} An object with an `unsubscribe` method that can\n * be used to unsubscribe the observable from the store, and prevent further\n * emission of values from the observable.\n */\n subscribe: function subscribe(observer) {\n if (typeof observer !== 'object' || observer === null) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(11) : \"Expected the observer to be an object. Instead, received: '\" + kindOf(observer) + \"'\");\n }\n\n function observeState() {\n if (observer.next) {\n observer.next(getState());\n }\n }\n\n observeState();\n var unsubscribe = outerSubscribe(observeState);\n return {\n unsubscribe: unsubscribe\n };\n }\n }, _ref[$$observable] = function () {\n return this;\n }, _ref;\n } // When a store is created, an \"INIT\" action is dispatched so that every\n // reducer returns their initial state. This effectively populates\n // the initial state tree.\n\n\n dispatch({\n type: ActionTypes.INIT\n });\n return _ref2 = {\n dispatch: dispatch,\n subscribe: subscribe,\n getState: getState,\n replaceReducer: replaceReducer\n }, _ref2[$$observable] = observable, _ref2;\n}\n/**\n * Creates a Redux store that holds the state tree.\n *\n * **We recommend using `configureStore` from the\n * `@reduxjs/toolkit` package**, which replaces `createStore`:\n * **https://redux.js.org/introduction/why-rtk-is-redux-today**\n *\n * The only way to change the data in the store is to call `dispatch()` on it.\n *\n * There should only be a single store in your app. To specify how different\n * parts of the state tree respond to actions, you may combine several reducers\n * into a single reducer function by using `combineReducers`.\n *\n * @param {Function} reducer A function that returns the next state tree, given\n * the current state tree and the action to handle.\n *\n * @param {any} [preloadedState] The initial state. You may optionally specify it\n * to hydrate the state from the server in universal apps, or to restore a\n * previously serialized user session.\n * If you use `combineReducers` to produce the root reducer function, this must be\n * an object with the same shape as `combineReducers` keys.\n *\n * @param {Function} [enhancer] The store enhancer. You may optionally specify it\n * to enhance the store with third-party capabilities such as middleware,\n * time travel, persistence, etc. The only store enhancer that ships with Redux\n * is `applyMiddleware()`.\n *\n * @returns {Store} A Redux store that lets you read the state, dispatch actions\n * and subscribe to changes.\n */\n\nvar legacy_createStore = createStore;\n\n/**\n * Prints a warning in the console if it exists.\n *\n * @param {String} message The warning message.\n * @returns {void}\n */\nfunction warning(message) {\n /* eslint-disable no-console */\n if (typeof console !== 'undefined' && typeof console.error === 'function') {\n console.error(message);\n }\n /* eslint-enable no-console */\n\n\n try {\n // This error was thrown as a convenience so that if you enable\n // \"break on all exceptions\" in your console,\n // it would pause the execution at this line.\n throw new Error(message);\n } catch (e) {} // eslint-disable-line no-empty\n\n}\n\nfunction getUnexpectedStateShapeWarningMessage(inputState, reducers, action, unexpectedKeyCache) {\n var reducerKeys = Object.keys(reducers);\n var argumentName = action && action.type === ActionTypes.INIT ? 'preloadedState argument passed to createStore' : 'previous state received by the reducer';\n\n if (reducerKeys.length === 0) {\n return 'Store does not have a valid reducer. Make sure the argument passed ' + 'to combineReducers is an object whose values are reducers.';\n }\n\n if (!isPlainObject(inputState)) {\n return \"The \" + argumentName + \" has unexpected type of \\\"\" + kindOf(inputState) + \"\\\". Expected argument to be an object with the following \" + (\"keys: \\\"\" + reducerKeys.join('\", \"') + \"\\\"\");\n }\n\n var unexpectedKeys = Object.keys(inputState).filter(function (key) {\n return !reducers.hasOwnProperty(key) && !unexpectedKeyCache[key];\n });\n unexpectedKeys.forEach(function (key) {\n unexpectedKeyCache[key] = true;\n });\n if (action && action.type === ActionTypes.REPLACE) return;\n\n if (unexpectedKeys.length > 0) {\n return \"Unexpected \" + (unexpectedKeys.length > 1 ? 'keys' : 'key') + \" \" + (\"\\\"\" + unexpectedKeys.join('\", \"') + \"\\\" found in \" + argumentName + \". \") + \"Expected to find one of the known reducer keys instead: \" + (\"\\\"\" + reducerKeys.join('\", \"') + \"\\\". Unexpected keys will be ignored.\");\n }\n}\n\nfunction assertReducerShape(reducers) {\n Object.keys(reducers).forEach(function (key) {\n var reducer = reducers[key];\n var initialState = reducer(undefined, {\n type: ActionTypes.INIT\n });\n\n if (typeof initialState === 'undefined') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(12) : \"The slice reducer for key \\\"\" + key + \"\\\" returned undefined during initialization. \" + \"If the state passed to the reducer is undefined, you must \" + \"explicitly return the initial state. The initial state may \" + \"not be undefined. If you don't want to set a value for this reducer, \" + \"you can use null instead of undefined.\");\n }\n\n if (typeof reducer(undefined, {\n type: ActionTypes.PROBE_UNKNOWN_ACTION()\n }) === 'undefined') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(13) : \"The slice reducer for key \\\"\" + key + \"\\\" returned undefined when probed with a random type. \" + (\"Don't try to handle '\" + ActionTypes.INIT + \"' or other actions in \\\"redux/*\\\" \") + \"namespace. They are considered private. Instead, you must return the \" + \"current state for any unknown actions, unless it is undefined, \" + \"in which case you must return the initial state, regardless of the \" + \"action type. The initial state may not be undefined, but can be null.\");\n }\n });\n}\n/**\n * Turns an object whose values are different reducer functions, into a single\n * reducer function. It will call every child reducer, and gather their results\n * into a single state object, whose keys correspond to the keys of the passed\n * reducer functions.\n *\n * @param {Object} reducers An object whose values correspond to different\n * reducer functions that need to be combined into one. One handy way to obtain\n * it is to use ES6 `import * as reducers` syntax. The reducers may never return\n * undefined for any action. Instead, they should return their initial state\n * if the state passed to them was undefined, and the current state for any\n * unrecognized action.\n *\n * @returns {Function} A reducer function that invokes every reducer inside the\n * passed object, and builds a state object with the same shape.\n */\n\n\nfunction combineReducers(reducers) {\n var reducerKeys = Object.keys(reducers);\n var finalReducers = {};\n\n for (var i = 0; i < reducerKeys.length; i++) {\n var key = reducerKeys[i];\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof reducers[key] === 'undefined') {\n warning(\"No reducer provided for key \\\"\" + key + \"\\\"\");\n }\n }\n\n if (typeof reducers[key] === 'function') {\n finalReducers[key] = reducers[key];\n }\n }\n\n var finalReducerKeys = Object.keys(finalReducers); // This is used to make sure we don't warn about the same\n // keys multiple times.\n\n var unexpectedKeyCache;\n\n if (process.env.NODE_ENV !== 'production') {\n unexpectedKeyCache = {};\n }\n\n var shapeAssertionError;\n\n try {\n assertReducerShape(finalReducers);\n } catch (e) {\n shapeAssertionError = e;\n }\n\n return function combination(state, action) {\n if (state === void 0) {\n state = {};\n }\n\n if (shapeAssertionError) {\n throw shapeAssertionError;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n var warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action, unexpectedKeyCache);\n\n if (warningMessage) {\n warning(warningMessage);\n }\n }\n\n var hasChanged = false;\n var nextState = {};\n\n for (var _i = 0; _i < finalReducerKeys.length; _i++) {\n var _key = finalReducerKeys[_i];\n var reducer = finalReducers[_key];\n var previousStateForKey = state[_key];\n var nextStateForKey = reducer(previousStateForKey, action);\n\n if (typeof nextStateForKey === 'undefined') {\n var actionType = action && action.type;\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(14) : \"When called with an action of type \" + (actionType ? \"\\\"\" + String(actionType) + \"\\\"\" : '(unknown type)') + \", the slice reducer for key \\\"\" + _key + \"\\\" returned undefined. \" + \"To ignore an action, you must explicitly return the previous state. \" + \"If you want this reducer to hold no value, you can return null instead of undefined.\");\n }\n\n nextState[_key] = nextStateForKey;\n hasChanged = hasChanged || nextStateForKey !== previousStateForKey;\n }\n\n hasChanged = hasChanged || finalReducerKeys.length !== Object.keys(state).length;\n return hasChanged ? nextState : state;\n };\n}\n\nfunction bindActionCreator(actionCreator, dispatch) {\n return function () {\n return dispatch(actionCreator.apply(this, arguments));\n };\n}\n/**\n * Turns an object whose values are action creators, into an object with the\n * same keys, but with every function wrapped into a `dispatch` call so they\n * may be invoked directly. This is just a convenience method, as you can call\n * `store.dispatch(MyActionCreators.doSomething())` yourself just fine.\n *\n * For convenience, you can also pass an action creator as the first argument,\n * and get a dispatch wrapped function in return.\n *\n * @param {Function|Object} actionCreators An object whose values are action\n * creator functions. One handy way to obtain it is to use ES6 `import * as`\n * syntax. You may also pass a single function.\n *\n * @param {Function} dispatch The `dispatch` function available on your Redux\n * store.\n *\n * @returns {Function|Object} The object mimicking the original object, but with\n * every action creator wrapped into the `dispatch` call. If you passed a\n * function as `actionCreators`, the return value will also be a single\n * function.\n */\n\n\nfunction bindActionCreators(actionCreators, dispatch) {\n if (typeof actionCreators === 'function') {\n return bindActionCreator(actionCreators, dispatch);\n }\n\n if (typeof actionCreators !== 'object' || actionCreators === null) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(16) : \"bindActionCreators expected an object or a function, but instead received: '\" + kindOf(actionCreators) + \"'. \" + \"Did you write \\\"import ActionCreators from\\\" instead of \\\"import * as ActionCreators from\\\"?\");\n }\n\n var boundActionCreators = {};\n\n for (var key in actionCreators) {\n var actionCreator = actionCreators[key];\n\n if (typeof actionCreator === 'function') {\n boundActionCreators[key] = bindActionCreator(actionCreator, dispatch);\n }\n }\n\n return boundActionCreators;\n}\n\n/**\n * Composes single-argument functions from right to left. The rightmost\n * function can take multiple arguments as it provides the signature for\n * the resulting composite function.\n *\n * @param {...Function} funcs The functions to compose.\n * @returns {Function} A function obtained by composing the argument functions\n * from right to left. For example, compose(f, g, h) is identical to doing\n * (...args) => f(g(h(...args))).\n */\nfunction compose() {\n for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) {\n funcs[_key] = arguments[_key];\n }\n\n if (funcs.length === 0) {\n return function (arg) {\n return arg;\n };\n }\n\n if (funcs.length === 1) {\n return funcs[0];\n }\n\n return funcs.reduce(function (a, b) {\n return function () {\n return a(b.apply(void 0, arguments));\n };\n });\n}\n\n/**\n * Creates a store enhancer that applies middleware to the dispatch method\n * of the Redux store. This is handy for a variety of tasks, such as expressing\n * asynchronous actions in a concise manner, or logging every action payload.\n *\n * See `redux-thunk` package as an example of the Redux middleware.\n *\n * Because middleware is potentially asynchronous, this should be the first\n * store enhancer in the composition chain.\n *\n * Note that each middleware will be given the `dispatch` and `getState` functions\n * as named arguments.\n *\n * @param {...Function} middlewares The middleware chain to be applied.\n * @returns {Function} A store enhancer applying the middleware.\n */\n\nfunction applyMiddleware() {\n for (var _len = arguments.length, middlewares = new Array(_len), _key = 0; _key < _len; _key++) {\n middlewares[_key] = arguments[_key];\n }\n\n return function (createStore) {\n return function () {\n var store = createStore.apply(void 0, arguments);\n\n var _dispatch = function dispatch() {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(15) : 'Dispatching while constructing your middleware is not allowed. ' + 'Other middleware would not be applied to this dispatch.');\n };\n\n var middlewareAPI = {\n getState: store.getState,\n dispatch: function dispatch() {\n return _dispatch.apply(void 0, arguments);\n }\n };\n var chain = middlewares.map(function (middleware) {\n return middleware(middlewareAPI);\n });\n _dispatch = compose.apply(void 0, chain)(store.dispatch);\n return _objectSpread(_objectSpread({}, store), {}, {\n dispatch: _dispatch\n });\n };\n };\n}\n\nexport { ActionTypes as __DO_NOT_USE__ActionTypes, applyMiddleware, bindActionCreators, combineReducers, compose, createStore, legacy_createStore };\n","import React from 'react';\nexport var ReactReduxContext = /*#__PURE__*/React.createContext(null);\n\nif (process.env.NODE_ENV !== 'production') {\n ReactReduxContext.displayName = 'ReactRedux';\n}\n\nexport default ReactReduxContext;","// Default to a dummy \"batch\" implementation that just runs the callback\nfunction defaultNoopBatch(callback) {\n callback();\n}\n\nvar batch = defaultNoopBatch; // Allow injecting another batching function later\n\nexport var setBatch = function setBatch(newBatch) {\n return batch = newBatch;\n}; // Supply a getter just to skip dealing with ESM bindings\n\nexport var getBatch = function getBatch() {\n return batch;\n};","import { getBatch } from './batch'; // encapsulates the subscription logic for connecting a component to the redux store, as\n// well as nesting subscriptions of descendant components, so that we can ensure the\n// ancestor components re-render before descendants\n\nfunction createListenerCollection() {\n var batch = getBatch();\n var first = null;\n var last = null;\n return {\n clear: function clear() {\n first = null;\n last = null;\n },\n notify: function notify() {\n batch(function () {\n var listener = first;\n\n while (listener) {\n listener.callback();\n listener = listener.next;\n }\n });\n },\n get: function get() {\n var listeners = [];\n var listener = first;\n\n while (listener) {\n listeners.push(listener);\n listener = listener.next;\n }\n\n return listeners;\n },\n subscribe: function subscribe(callback) {\n var isSubscribed = true;\n var listener = last = {\n callback: callback,\n next: null,\n prev: last\n };\n\n if (listener.prev) {\n listener.prev.next = listener;\n } else {\n first = listener;\n }\n\n return function unsubscribe() {\n if (!isSubscribed || first === null) return;\n isSubscribed = false;\n\n if (listener.next) {\n listener.next.prev = listener.prev;\n } else {\n last = listener.prev;\n }\n\n if (listener.prev) {\n listener.prev.next = listener.next;\n } else {\n first = listener.next;\n }\n };\n }\n };\n}\n\nvar nullListeners = {\n notify: function notify() {},\n get: function get() {\n return [];\n }\n};\nexport function createSubscription(store, parentSub) {\n var unsubscribe;\n var listeners = nullListeners;\n\n function addNestedSub(listener) {\n trySubscribe();\n return listeners.subscribe(listener);\n }\n\n function notifyNestedSubs() {\n listeners.notify();\n }\n\n function handleChangeWrapper() {\n if (subscription.onStateChange) {\n subscription.onStateChange();\n }\n }\n\n function isSubscribed() {\n return Boolean(unsubscribe);\n }\n\n function trySubscribe() {\n if (!unsubscribe) {\n unsubscribe = parentSub ? parentSub.addNestedSub(handleChangeWrapper) : store.subscribe(handleChangeWrapper);\n listeners = createListenerCollection();\n }\n }\n\n function tryUnsubscribe() {\n if (unsubscribe) {\n unsubscribe();\n unsubscribe = undefined;\n listeners.clear();\n listeners = nullListeners;\n }\n }\n\n var subscription = {\n addNestedSub: addNestedSub,\n notifyNestedSubs: notifyNestedSubs,\n handleChangeWrapper: handleChangeWrapper,\n isSubscribed: isSubscribed,\n trySubscribe: trySubscribe,\n tryUnsubscribe: tryUnsubscribe,\n getListeners: function getListeners() {\n return listeners;\n }\n };\n return subscription;\n}","import { useEffect, useLayoutEffect } from 'react'; // React currently throws a warning when using useLayoutEffect on the server.\n// To get around it, we can conditionally useEffect on the server (no-op) and\n// useLayoutEffect in the browser. We need useLayoutEffect to ensure the store\n// subscription callback always has the selector from the latest render commit\n// available, otherwise a store update may happen between render and the effect,\n// which may cause missed updates; we also must ensure the store subscription\n// is created synchronously, otherwise a store update may occur before the\n// subscription is created and an inconsistent state may be observed\n\nexport var useIsomorphicLayoutEffect = typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined' ? useLayoutEffect : useEffect;","import React, { useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport { ReactReduxContext } from './Context';\nimport { createSubscription } from '../utils/Subscription';\nimport { useIsomorphicLayoutEffect } from '../utils/useIsomorphicLayoutEffect';\n\nfunction Provider(_ref) {\n var store = _ref.store,\n context = _ref.context,\n children = _ref.children;\n var contextValue = useMemo(function () {\n var subscription = createSubscription(store);\n return {\n store: store,\n subscription: subscription\n };\n }, [store]);\n var previousState = useMemo(function () {\n return store.getState();\n }, [store]);\n useIsomorphicLayoutEffect(function () {\n var subscription = contextValue.subscription;\n subscription.onStateChange = subscription.notifyNestedSubs;\n subscription.trySubscribe();\n\n if (previousState !== store.getState()) {\n subscription.notifyNestedSubs();\n }\n\n return function () {\n subscription.tryUnsubscribe();\n subscription.onStateChange = null;\n };\n }, [contextValue, previousState]);\n var Context = context || ReactReduxContext;\n return /*#__PURE__*/React.createElement(Context.Provider, {\n value: contextValue\n }, children);\n}\n\nif (process.env.NODE_ENV !== 'production') {\n Provider.propTypes = {\n store: PropTypes.shape({\n subscribe: PropTypes.func.isRequired,\n dispatch: PropTypes.func.isRequired,\n getState: PropTypes.func.isRequired\n }),\n context: PropTypes.object,\n children: PropTypes.any\n };\n}\n\nexport default Provider;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"getDisplayName\", \"methodName\", \"renderCountProp\", \"shouldHandleStateChanges\", \"storeKey\", \"withRef\", \"forwardRef\", \"context\"],\n _excluded2 = [\"reactReduxForwardedRef\"];\nimport hoistStatics from 'hoist-non-react-statics';\nimport React, { useContext, useMemo, useRef, useReducer } from 'react';\nimport { isValidElementType, isContextConsumer } from 'react-is';\nimport { createSubscription } from '../utils/Subscription';\nimport { useIsomorphicLayoutEffect } from '../utils/useIsomorphicLayoutEffect';\nimport { ReactReduxContext } from './Context'; // Define some constant arrays just to avoid re-creating these\n\nvar EMPTY_ARRAY = [];\nvar NO_SUBSCRIPTION_ARRAY = [null, null];\n\nvar stringifyComponent = function stringifyComponent(Comp) {\n try {\n return JSON.stringify(Comp);\n } catch (err) {\n return String(Comp);\n }\n};\n\nfunction storeStateUpdatesReducer(state, action) {\n var updateCount = state[1];\n return [action.payload, updateCount + 1];\n}\n\nfunction useIsomorphicLayoutEffectWithArgs(effectFunc, effectArgs, dependencies) {\n useIsomorphicLayoutEffect(function () {\n return effectFunc.apply(void 0, effectArgs);\n }, dependencies);\n}\n\nfunction captureWrapperProps(lastWrapperProps, lastChildProps, renderIsScheduled, wrapperProps, actualChildProps, childPropsFromStoreUpdate, notifyNestedSubs) {\n // We want to capture the wrapper props and child props we used for later comparisons\n lastWrapperProps.current = wrapperProps;\n lastChildProps.current = actualChildProps;\n renderIsScheduled.current = false; // If the render was from a store update, clear out that reference and cascade the subscriber update\n\n if (childPropsFromStoreUpdate.current) {\n childPropsFromStoreUpdate.current = null;\n notifyNestedSubs();\n }\n}\n\nfunction subscribeUpdates(shouldHandleStateChanges, store, subscription, childPropsSelector, lastWrapperProps, lastChildProps, renderIsScheduled, childPropsFromStoreUpdate, notifyNestedSubs, forceComponentUpdateDispatch) {\n // If we're not subscribed to the store, nothing to do here\n if (!shouldHandleStateChanges) return; // Capture values for checking if and when this component unmounts\n\n var didUnsubscribe = false;\n var lastThrownError = null; // We'll run this callback every time a store subscription update propagates to this component\n\n var checkForUpdates = function checkForUpdates() {\n if (didUnsubscribe) {\n // Don't run stale listeners.\n // Redux doesn't guarantee unsubscriptions happen until next dispatch.\n return;\n }\n\n var latestStoreState = store.getState();\n var newChildProps, error;\n\n try {\n // Actually run the selector with the most recent store state and wrapper props\n // to determine what the child props should be\n newChildProps = childPropsSelector(latestStoreState, lastWrapperProps.current);\n } catch (e) {\n error = e;\n lastThrownError = e;\n }\n\n if (!error) {\n lastThrownError = null;\n } // If the child props haven't changed, nothing to do here - cascade the subscription update\n\n\n if (newChildProps === lastChildProps.current) {\n if (!renderIsScheduled.current) {\n notifyNestedSubs();\n }\n } else {\n // Save references to the new child props. Note that we track the \"child props from store update\"\n // as a ref instead of a useState/useReducer because we need a way to determine if that value has\n // been processed. If this went into useState/useReducer, we couldn't clear out the value without\n // forcing another re-render, which we don't want.\n lastChildProps.current = newChildProps;\n childPropsFromStoreUpdate.current = newChildProps;\n renderIsScheduled.current = true; // If the child props _did_ change (or we caught an error), this wrapper component needs to re-render\n\n forceComponentUpdateDispatch({\n type: 'STORE_UPDATED',\n payload: {\n error: error\n }\n });\n }\n }; // Actually subscribe to the nearest connected ancestor (or store)\n\n\n subscription.onStateChange = checkForUpdates;\n subscription.trySubscribe(); // Pull data from the store after first render in case the store has\n // changed since we began.\n\n checkForUpdates();\n\n var unsubscribeWrapper = function unsubscribeWrapper() {\n didUnsubscribe = true;\n subscription.tryUnsubscribe();\n subscription.onStateChange = null;\n\n if (lastThrownError) {\n // It's possible that we caught an error due to a bad mapState function, but the\n // parent re-rendered without this component and we're about to unmount.\n // This shouldn't happen as long as we do top-down subscriptions correctly, but\n // if we ever do those wrong, this throw will surface the error in our tests.\n // In that case, throw the error from here so it doesn't get lost.\n throw lastThrownError;\n }\n };\n\n return unsubscribeWrapper;\n}\n\nvar initStateUpdates = function initStateUpdates() {\n return [null, 0];\n};\n\nexport default function connectAdvanced(\n/*\r\n selectorFactory is a func that is responsible for returning the selector function used to\r\n compute new props from state, props, and dispatch. For example:\r\n export default connectAdvanced((dispatch, options) => (state, props) => ({\r\n thing: state.things[props.thingId],\r\n saveThing: fields => dispatch(actionCreators.saveThing(props.thingId, fields)),\r\n }))(YourComponent)\r\n Access to dispatch is provided to the factory so selectorFactories can bind actionCreators\r\n outside of their selector as an optimization. Options passed to connectAdvanced are passed to\r\n the selectorFactory, along with displayName and WrappedComponent, as the second argument.\r\n Note that selectorFactory is responsible for all caching/memoization of inbound and outbound\r\n props. Do not use connectAdvanced directly without memoizing results between calls to your\r\n selector, otherwise the Connect component will re-render on every state or props change.\r\n*/\nselectorFactory, // options object:\n_ref) {\n if (_ref === void 0) {\n _ref = {};\n }\n\n var _ref2 = _ref,\n _ref2$getDisplayName = _ref2.getDisplayName,\n getDisplayName = _ref2$getDisplayName === void 0 ? function (name) {\n return \"ConnectAdvanced(\" + name + \")\";\n } : _ref2$getDisplayName,\n _ref2$methodName = _ref2.methodName,\n methodName = _ref2$methodName === void 0 ? 'connectAdvanced' : _ref2$methodName,\n _ref2$renderCountProp = _ref2.renderCountProp,\n renderCountProp = _ref2$renderCountProp === void 0 ? undefined : _ref2$renderCountProp,\n _ref2$shouldHandleSta = _ref2.shouldHandleStateChanges,\n shouldHandleStateChanges = _ref2$shouldHandleSta === void 0 ? true : _ref2$shouldHandleSta,\n _ref2$storeKey = _ref2.storeKey,\n storeKey = _ref2$storeKey === void 0 ? 'store' : _ref2$storeKey,\n _ref2$withRef = _ref2.withRef,\n withRef = _ref2$withRef === void 0 ? false : _ref2$withRef,\n _ref2$forwardRef = _ref2.forwardRef,\n forwardRef = _ref2$forwardRef === void 0 ? false : _ref2$forwardRef,\n _ref2$context = _ref2.context,\n context = _ref2$context === void 0 ? ReactReduxContext : _ref2$context,\n connectOptions = _objectWithoutPropertiesLoose(_ref2, _excluded);\n\n if (process.env.NODE_ENV !== 'production') {\n if (renderCountProp !== undefined) {\n throw new Error(\"renderCountProp is removed. render counting is built into the latest React Dev Tools profiling extension\");\n }\n\n if (withRef) {\n throw new Error('withRef is removed. To access the wrapped instance, use a ref on the connected component');\n }\n\n var customStoreWarningMessage = 'To use a custom Redux store for specific components, create a custom React context with ' + \"React.createContext(), and pass the context object to React Redux's Provider and specific components\" + ' like: <Provider context={MyContext}><ConnectedComponent context={MyContext} /></Provider>. ' + 'You may also pass a {context : MyContext} option to connect';\n\n if (storeKey !== 'store') {\n throw new Error('storeKey has been removed and does not do anything. ' + customStoreWarningMessage);\n }\n }\n\n var Context = context;\n return function wrapWithConnect(WrappedComponent) {\n if (process.env.NODE_ENV !== 'production' && !isValidElementType(WrappedComponent)) {\n throw new Error(\"You must pass a component to the function returned by \" + (methodName + \". Instead received \" + stringifyComponent(WrappedComponent)));\n }\n\n var wrappedComponentName = WrappedComponent.displayName || WrappedComponent.name || 'Component';\n var displayName = getDisplayName(wrappedComponentName);\n\n var selectorFactoryOptions = _extends({}, connectOptions, {\n getDisplayName: getDisplayName,\n methodName: methodName,\n renderCountProp: renderCountProp,\n shouldHandleStateChanges: shouldHandleStateChanges,\n storeKey: storeKey,\n displayName: displayName,\n wrappedComponentName: wrappedComponentName,\n WrappedComponent: WrappedComponent\n });\n\n var pure = connectOptions.pure;\n\n function createChildSelector(store) {\n return selectorFactory(store.dispatch, selectorFactoryOptions);\n } // If we aren't running in \"pure\" mode, we don't want to memoize values.\n // To avoid conditionally calling hooks, we fall back to a tiny wrapper\n // that just executes the given callback immediately.\n\n\n var usePureOnlyMemo = pure ? useMemo : function (callback) {\n return callback();\n };\n\n function ConnectFunction(props) {\n var _useMemo = useMemo(function () {\n // Distinguish between actual \"data\" props that were passed to the wrapper component,\n // and values needed to control behavior (forwarded refs, alternate context instances).\n // To maintain the wrapperProps object reference, memoize this destructuring.\n var reactReduxForwardedRef = props.reactReduxForwardedRef,\n wrapperProps = _objectWithoutPropertiesLoose(props, _excluded2);\n\n return [props.context, reactReduxForwardedRef, wrapperProps];\n }, [props]),\n propsContext = _useMemo[0],\n reactReduxForwardedRef = _useMemo[1],\n wrapperProps = _useMemo[2];\n\n var ContextToUse = useMemo(function () {\n // Users may optionally pass in a custom context instance to use instead of our ReactReduxContext.\n // Memoize the check that determines which context instance we should use.\n return propsContext && propsContext.Consumer && isContextConsumer( /*#__PURE__*/React.createElement(propsContext.Consumer, null)) ? propsContext : Context;\n }, [propsContext, Context]); // Retrieve the store and ancestor subscription via context, if available\n\n var contextValue = useContext(ContextToUse); // The store _must_ exist as either a prop or in context.\n // We'll check to see if it _looks_ like a Redux store first.\n // This allows us to pass through a `store` prop that is just a plain value.\n\n var didStoreComeFromProps = Boolean(props.store) && Boolean(props.store.getState) && Boolean(props.store.dispatch);\n var didStoreComeFromContext = Boolean(contextValue) && Boolean(contextValue.store);\n\n if (process.env.NODE_ENV !== 'production' && !didStoreComeFromProps && !didStoreComeFromContext) {\n throw new Error(\"Could not find \\\"store\\\" in the context of \" + (\"\\\"\" + displayName + \"\\\". Either wrap the root component in a <Provider>, \") + \"or pass a custom React context provider to <Provider> and the corresponding \" + (\"React context consumer to \" + displayName + \" in connect options.\"));\n } // Based on the previous check, one of these must be true\n\n\n var store = didStoreComeFromProps ? props.store : contextValue.store;\n var childPropsSelector = useMemo(function () {\n // The child props selector needs the store reference as an input.\n // Re-create this selector whenever the store changes.\n return createChildSelector(store);\n }, [store]);\n\n var _useMemo2 = useMemo(function () {\n if (!shouldHandleStateChanges) return NO_SUBSCRIPTION_ARRAY; // This Subscription's source should match where store came from: props vs. context. A component\n // connected to the store via props shouldn't use subscription from context, or vice versa.\n\n // This Subscription's source should match where store came from: props vs. context. A component\n // connected to the store via props shouldn't use subscription from context, or vice versa.\n var subscription = createSubscription(store, didStoreComeFromProps ? null : contextValue.subscription); // `notifyNestedSubs` is duplicated to handle the case where the component is unmounted in\n // the middle of the notification loop, where `subscription` will then be null. This can\n // probably be avoided if Subscription's listeners logic is changed to not call listeners\n // that have been unsubscribed in the middle of the notification loop.\n\n // `notifyNestedSubs` is duplicated to handle the case where the component is unmounted in\n // the middle of the notification loop, where `subscription` will then be null. This can\n // probably be avoided if Subscription's listeners logic is changed to not call listeners\n // that have been unsubscribed in the middle of the notification loop.\n var notifyNestedSubs = subscription.notifyNestedSubs.bind(subscription);\n return [subscription, notifyNestedSubs];\n }, [store, didStoreComeFromProps, contextValue]),\n subscription = _useMemo2[0],\n notifyNestedSubs = _useMemo2[1]; // Determine what {store, subscription} value should be put into nested context, if necessary,\n // and memoize that value to avoid unnecessary context updates.\n\n\n var overriddenContextValue = useMemo(function () {\n if (didStoreComeFromProps) {\n // This component is directly subscribed to a store from props.\n // We don't want descendants reading from this store - pass down whatever\n // the existing context value is from the nearest connected ancestor.\n return contextValue;\n } // Otherwise, put this component's subscription instance into context, so that\n // connected descendants won't update until after this component is done\n\n\n return _extends({}, contextValue, {\n subscription: subscription\n });\n }, [didStoreComeFromProps, contextValue, subscription]); // We need to force this wrapper component to re-render whenever a Redux store update\n // causes a change to the calculated child component props (or we caught an error in mapState)\n\n var _useReducer = useReducer(storeStateUpdatesReducer, EMPTY_ARRAY, initStateUpdates),\n _useReducer$ = _useReducer[0],\n previousStateUpdateResult = _useReducer$[0],\n forceComponentUpdateDispatch = _useReducer[1]; // Propagate any mapState/mapDispatch errors upwards\n\n\n if (previousStateUpdateResult && previousStateUpdateResult.error) {\n throw previousStateUpdateResult.error;\n } // Set up refs to coordinate values between the subscription effect and the render logic\n\n\n var lastChildProps = useRef();\n var lastWrapperProps = useRef(wrapperProps);\n var childPropsFromStoreUpdate = useRef();\n var renderIsScheduled = useRef(false);\n var actualChildProps = usePureOnlyMemo(function () {\n // Tricky logic here:\n // - This render may have been triggered by a Redux store update that produced new child props\n // - However, we may have gotten new wrapper props after that\n // If we have new child props, and the same wrapper props, we know we should use the new child props as-is.\n // But, if we have new wrapper props, those might change the child props, so we have to recalculate things.\n // So, we'll use the child props from store update only if the wrapper props are the same as last time.\n if (childPropsFromStoreUpdate.current && wrapperProps === lastWrapperProps.current) {\n return childPropsFromStoreUpdate.current;\n } // TODO We're reading the store directly in render() here. Bad idea?\n // This will likely cause Bad Things (TM) to happen in Concurrent Mode.\n // Note that we do this because on renders _not_ caused by store updates, we need the latest store state\n // to determine what the child props should be.\n\n\n return childPropsSelector(store.getState(), wrapperProps);\n }, [store, previousStateUpdateResult, wrapperProps]); // We need this to execute synchronously every time we re-render. However, React warns\n // about useLayoutEffect in SSR, so we try to detect environment and fall back to\n // just useEffect instead to avoid the warning, since neither will run anyway.\n\n useIsomorphicLayoutEffectWithArgs(captureWrapperProps, [lastWrapperProps, lastChildProps, renderIsScheduled, wrapperProps, actualChildProps, childPropsFromStoreUpdate, notifyNestedSubs]); // Our re-subscribe logic only runs when the store/subscription setup changes\n\n useIsomorphicLayoutEffectWithArgs(subscribeUpdates, [shouldHandleStateChanges, store, subscription, childPropsSelector, lastWrapperProps, lastChildProps, renderIsScheduled, childPropsFromStoreUpdate, notifyNestedSubs, forceComponentUpdateDispatch], [store, subscription, childPropsSelector]); // Now that all that's done, we can finally try to actually render the child component.\n // We memoize the elements for the rendered child component as an optimization.\n\n var renderedWrappedComponent = useMemo(function () {\n return /*#__PURE__*/React.createElement(WrappedComponent, _extends({}, actualChildProps, {\n ref: reactReduxForwardedRef\n }));\n }, [reactReduxForwardedRef, WrappedComponent, actualChildProps]); // If React sees the exact same element reference as last time, it bails out of re-rendering\n // that child, same as if it was wrapped in React.memo() or returned false from shouldComponentUpdate.\n\n var renderedChild = useMemo(function () {\n if (shouldHandleStateChanges) {\n // If this component is subscribed to store updates, we need to pass its own\n // subscription instance down to our descendants. That means rendering the same\n // Context instance, and putting a different value into the context.\n return /*#__PURE__*/React.createElement(ContextToUse.Provider, {\n value: overriddenContextValue\n }, renderedWrappedComponent);\n }\n\n return renderedWrappedComponent;\n }, [ContextToUse, renderedWrappedComponent, overriddenContextValue]);\n return renderedChild;\n } // If we're in \"pure\" mode, ensure our wrapper component only re-renders when incoming props have changed.\n\n\n var Connect = pure ? React.memo(ConnectFunction) : ConnectFunction;\n Connect.WrappedComponent = WrappedComponent;\n Connect.displayName = ConnectFunction.displayName = displayName;\n\n if (forwardRef) {\n var forwarded = React.forwardRef(function forwardConnectRef(props, ref) {\n return /*#__PURE__*/React.createElement(Connect, _extends({}, props, {\n reactReduxForwardedRef: ref\n }));\n });\n forwarded.displayName = displayName;\n forwarded.WrappedComponent = WrappedComponent;\n return hoistStatics(forwarded, WrappedComponent);\n }\n\n return hoistStatics(Connect, WrappedComponent);\n };\n}","function is(x, y) {\n if (x === y) {\n return x !== 0 || y !== 0 || 1 / x === 1 / y;\n } else {\n return x !== x && y !== y;\n }\n}\n\nexport default function shallowEqual(objA, objB) {\n if (is(objA, objB)) return true;\n\n if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n if (keysA.length !== keysB.length) return false;\n\n for (var i = 0; i < keysA.length; i++) {\n if (!Object.prototype.hasOwnProperty.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) {\n return false;\n }\n }\n\n return true;\n}","import verifyPlainObject from '../utils/verifyPlainObject';\nexport function wrapMapToPropsConstant(getConstant) {\n return function initConstantSelector(dispatch, options) {\n var constant = getConstant(dispatch, options);\n\n function constantSelector() {\n return constant;\n }\n\n constantSelector.dependsOnOwnProps = false;\n return constantSelector;\n };\n} // dependsOnOwnProps is used by createMapToPropsProxy to determine whether to pass props as args\n// to the mapToProps function being wrapped. It is also used by makePurePropsSelector to determine\n// whether mapToProps needs to be invoked when props have changed.\n//\n// A length of one signals that mapToProps does not depend on props from the parent component.\n// A length of zero is assumed to mean mapToProps is getting args via arguments or ...args and\n// therefore not reporting its length accurately..\n\nexport function getDependsOnOwnProps(mapToProps) {\n return mapToProps.dependsOnOwnProps !== null && mapToProps.dependsOnOwnProps !== undefined ? Boolean(mapToProps.dependsOnOwnProps) : mapToProps.length !== 1;\n} // Used by whenMapStateToPropsIsFunction and whenMapDispatchToPropsIsFunction,\n// this function wraps mapToProps in a proxy function which does several things:\n//\n// * Detects whether the mapToProps function being called depends on props, which\n// is used by selectorFactory to decide if it should reinvoke on props changes.\n//\n// * On first call, handles mapToProps if returns another function, and treats that\n// new function as the true mapToProps for subsequent calls.\n//\n// * On first call, verifies the first result is a plain object, in order to warn\n// the developer that their mapToProps function is not returning a valid result.\n//\n\nexport function wrapMapToPropsFunc(mapToProps, methodName) {\n return function initProxySelector(dispatch, _ref) {\n var displayName = _ref.displayName;\n\n var proxy = function mapToPropsProxy(stateOrDispatch, ownProps) {\n return proxy.dependsOnOwnProps ? proxy.mapToProps(stateOrDispatch, ownProps) : proxy.mapToProps(stateOrDispatch);\n }; // allow detectFactoryAndVerify to get ownProps\n\n\n proxy.dependsOnOwnProps = true;\n\n proxy.mapToProps = function detectFactoryAndVerify(stateOrDispatch, ownProps) {\n proxy.mapToProps = mapToProps;\n proxy.dependsOnOwnProps = getDependsOnOwnProps(mapToProps);\n var props = proxy(stateOrDispatch, ownProps);\n\n if (typeof props === 'function') {\n proxy.mapToProps = props;\n proxy.dependsOnOwnProps = getDependsOnOwnProps(props);\n props = proxy(stateOrDispatch, ownProps);\n }\n\n if (process.env.NODE_ENV !== 'production') verifyPlainObject(props, displayName, methodName);\n return props;\n };\n\n return proxy;\n };\n}","import bindActionCreators from '../utils/bindActionCreators';\nimport { wrapMapToPropsConstant, wrapMapToPropsFunc } from './wrapMapToProps';\nexport function whenMapDispatchToPropsIsFunction(mapDispatchToProps) {\n return typeof mapDispatchToProps === 'function' ? wrapMapToPropsFunc(mapDispatchToProps, 'mapDispatchToProps') : undefined;\n}\nexport function whenMapDispatchToPropsIsMissing(mapDispatchToProps) {\n return !mapDispatchToProps ? wrapMapToPropsConstant(function (dispatch) {\n return {\n dispatch: dispatch\n };\n }) : undefined;\n}\nexport function whenMapDispatchToPropsIsObject(mapDispatchToProps) {\n return mapDispatchToProps && typeof mapDispatchToProps === 'object' ? wrapMapToPropsConstant(function (dispatch) {\n return bindActionCreators(mapDispatchToProps, dispatch);\n }) : undefined;\n}\nexport default [whenMapDispatchToPropsIsFunction, whenMapDispatchToPropsIsMissing, whenMapDispatchToPropsIsObject];","export default function bindActionCreators(actionCreators, dispatch) {\n var boundActionCreators = {};\n\n var _loop = function _loop(key) {\n var actionCreator = actionCreators[key];\n\n if (typeof actionCreator === 'function') {\n boundActionCreators[key] = function () {\n return dispatch(actionCreator.apply(void 0, arguments));\n };\n }\n };\n\n for (var key in actionCreators) {\n _loop(key);\n }\n\n return boundActionCreators;\n}","import { wrapMapToPropsConstant, wrapMapToPropsFunc } from './wrapMapToProps';\nexport function whenMapStateToPropsIsFunction(mapStateToProps) {\n return typeof mapStateToProps === 'function' ? wrapMapToPropsFunc(mapStateToProps, 'mapStateToProps') : undefined;\n}\nexport function whenMapStateToPropsIsMissing(mapStateToProps) {\n return !mapStateToProps ? wrapMapToPropsConstant(function () {\n return {};\n }) : undefined;\n}\nexport default [whenMapStateToPropsIsFunction, whenMapStateToPropsIsMissing];","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport verifyPlainObject from '../utils/verifyPlainObject';\nexport function defaultMergeProps(stateProps, dispatchProps, ownProps) {\n return _extends({}, ownProps, stateProps, dispatchProps);\n}\nexport function wrapMergePropsFunc(mergeProps) {\n return function initMergePropsProxy(dispatch, _ref) {\n var displayName = _ref.displayName,\n pure = _ref.pure,\n areMergedPropsEqual = _ref.areMergedPropsEqual;\n var hasRunOnce = false;\n var mergedProps;\n return function mergePropsProxy(stateProps, dispatchProps, ownProps) {\n var nextMergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n\n if (hasRunOnce) {\n if (!pure || !areMergedPropsEqual(nextMergedProps, mergedProps)) mergedProps = nextMergedProps;\n } else {\n hasRunOnce = true;\n mergedProps = nextMergedProps;\n if (process.env.NODE_ENV !== 'production') verifyPlainObject(mergedProps, displayName, 'mergeProps');\n }\n\n return mergedProps;\n };\n };\n}\nexport function whenMergePropsIsFunction(mergeProps) {\n return typeof mergeProps === 'function' ? wrapMergePropsFunc(mergeProps) : undefined;\n}\nexport function whenMergePropsIsOmitted(mergeProps) {\n return !mergeProps ? function () {\n return defaultMergeProps;\n } : undefined;\n}\nexport default [whenMergePropsIsFunction, whenMergePropsIsOmitted];","import _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"initMapStateToProps\", \"initMapDispatchToProps\", \"initMergeProps\"];\nimport verifySubselectors from './verifySubselectors';\nexport function impureFinalPropsSelectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch) {\n return function impureFinalPropsSelector(state, ownProps) {\n return mergeProps(mapStateToProps(state, ownProps), mapDispatchToProps(dispatch, ownProps), ownProps);\n };\n}\nexport function pureFinalPropsSelectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch, _ref) {\n var areStatesEqual = _ref.areStatesEqual,\n areOwnPropsEqual = _ref.areOwnPropsEqual,\n areStatePropsEqual = _ref.areStatePropsEqual;\n var hasRunAtLeastOnce = false;\n var state;\n var ownProps;\n var stateProps;\n var dispatchProps;\n var mergedProps;\n\n function handleFirstCall(firstState, firstOwnProps) {\n state = firstState;\n ownProps = firstOwnProps;\n stateProps = mapStateToProps(state, ownProps);\n dispatchProps = mapDispatchToProps(dispatch, ownProps);\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n hasRunAtLeastOnce = true;\n return mergedProps;\n }\n\n function handleNewPropsAndNewState() {\n stateProps = mapStateToProps(state, ownProps);\n if (mapDispatchToProps.dependsOnOwnProps) dispatchProps = mapDispatchToProps(dispatch, ownProps);\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n return mergedProps;\n }\n\n function handleNewProps() {\n if (mapStateToProps.dependsOnOwnProps) stateProps = mapStateToProps(state, ownProps);\n if (mapDispatchToProps.dependsOnOwnProps) dispatchProps = mapDispatchToProps(dispatch, ownProps);\n mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n return mergedProps;\n }\n\n function handleNewState() {\n var nextStateProps = mapStateToProps(state, ownProps);\n var statePropsChanged = !areStatePropsEqual(nextStateProps, stateProps);\n stateProps = nextStateProps;\n if (statePropsChanged) mergedProps = mergeProps(stateProps, dispatchProps, ownProps);\n return mergedProps;\n }\n\n function handleSubsequentCalls(nextState, nextOwnProps) {\n var propsChanged = !areOwnPropsEqual(nextOwnProps, ownProps);\n var stateChanged = !areStatesEqual(nextState, state, nextOwnProps, ownProps);\n state = nextState;\n ownProps = nextOwnProps;\n if (propsChanged && stateChanged) return handleNewPropsAndNewState();\n if (propsChanged) return handleNewProps();\n if (stateChanged) return handleNewState();\n return mergedProps;\n }\n\n return function pureFinalPropsSelector(nextState, nextOwnProps) {\n return hasRunAtLeastOnce ? handleSubsequentCalls(nextState, nextOwnProps) : handleFirstCall(nextState, nextOwnProps);\n };\n} // TODO: Add more comments\n// If pure is true, the selector returned by selectorFactory will memoize its results,\n// allowing connectAdvanced's shouldComponentUpdate to return false if final\n// props have not changed. If false, the selector will always return a new\n// object and shouldComponentUpdate will always return true.\n\nexport default function finalPropsSelectorFactory(dispatch, _ref2) {\n var initMapStateToProps = _ref2.initMapStateToProps,\n initMapDispatchToProps = _ref2.initMapDispatchToProps,\n initMergeProps = _ref2.initMergeProps,\n options = _objectWithoutPropertiesLoose(_ref2, _excluded);\n\n var mapStateToProps = initMapStateToProps(dispatch, options);\n var mapDispatchToProps = initMapDispatchToProps(dispatch, options);\n var mergeProps = initMergeProps(dispatch, options);\n\n if (process.env.NODE_ENV !== 'production') {\n verifySubselectors(mapStateToProps, mapDispatchToProps, mergeProps, options.displayName);\n }\n\n var selectorFactory = options.pure ? pureFinalPropsSelectorFactory : impureFinalPropsSelectorFactory;\n return selectorFactory(mapStateToProps, mapDispatchToProps, mergeProps, dispatch, options);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nvar _excluded = [\"pure\", \"areStatesEqual\", \"areOwnPropsEqual\", \"areStatePropsEqual\", \"areMergedPropsEqual\"];\nimport connectAdvanced from '../components/connectAdvanced';\nimport shallowEqual from '../utils/shallowEqual';\nimport defaultMapDispatchToPropsFactories from './mapDispatchToProps';\nimport defaultMapStateToPropsFactories from './mapStateToProps';\nimport defaultMergePropsFactories from './mergeProps';\nimport defaultSelectorFactory from './selectorFactory';\n/*\r\n connect is a facade over connectAdvanced. It turns its args into a compatible\r\n selectorFactory, which has the signature:\r\n\r\n (dispatch, options) => (nextState, nextOwnProps) => nextFinalProps\r\n \r\n connect passes its args to connectAdvanced as options, which will in turn pass them to\r\n selectorFactory each time a Connect component instance is instantiated or hot reloaded.\r\n\r\n selectorFactory returns a final props selector from its mapStateToProps,\r\n mapStateToPropsFactories, mapDispatchToProps, mapDispatchToPropsFactories, mergeProps,\r\n mergePropsFactories, and pure args.\r\n\r\n The resulting final props selector is called by the Connect component instance whenever\r\n it receives new props or store state.\r\n */\n\nfunction match(arg, factories, name) {\n for (var i = factories.length - 1; i >= 0; i--) {\n var result = factories[i](arg);\n if (result) return result;\n }\n\n return function (dispatch, options) {\n throw new Error(\"Invalid value of type \" + typeof arg + \" for \" + name + \" argument when connecting component \" + options.wrappedComponentName + \".\");\n };\n}\n\nfunction strictEqual(a, b) {\n return a === b;\n} // createConnect with default args builds the 'official' connect behavior. Calling it with\n// different options opens up some testing and extensibility scenarios\n\n\nexport function createConnect(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n _ref$connectHOC = _ref.connectHOC,\n connectHOC = _ref$connectHOC === void 0 ? connectAdvanced : _ref$connectHOC,\n _ref$mapStateToPropsF = _ref.mapStateToPropsFactories,\n mapStateToPropsFactories = _ref$mapStateToPropsF === void 0 ? defaultMapStateToPropsFactories : _ref$mapStateToPropsF,\n _ref$mapDispatchToPro = _ref.mapDispatchToPropsFactories,\n mapDispatchToPropsFactories = _ref$mapDispatchToPro === void 0 ? defaultMapDispatchToPropsFactories : _ref$mapDispatchToPro,\n _ref$mergePropsFactor = _ref.mergePropsFactories,\n mergePropsFactories = _ref$mergePropsFactor === void 0 ? defaultMergePropsFactories : _ref$mergePropsFactor,\n _ref$selectorFactory = _ref.selectorFactory,\n selectorFactory = _ref$selectorFactory === void 0 ? defaultSelectorFactory : _ref$selectorFactory;\n\n return function connect(mapStateToProps, mapDispatchToProps, mergeProps, _ref2) {\n if (_ref2 === void 0) {\n _ref2 = {};\n }\n\n var _ref3 = _ref2,\n _ref3$pure = _ref3.pure,\n pure = _ref3$pure === void 0 ? true : _ref3$pure,\n _ref3$areStatesEqual = _ref3.areStatesEqual,\n areStatesEqual = _ref3$areStatesEqual === void 0 ? strictEqual : _ref3$areStatesEqual,\n _ref3$areOwnPropsEqua = _ref3.areOwnPropsEqual,\n areOwnPropsEqual = _ref3$areOwnPropsEqua === void 0 ? shallowEqual : _ref3$areOwnPropsEqua,\n _ref3$areStatePropsEq = _ref3.areStatePropsEqual,\n areStatePropsEqual = _ref3$areStatePropsEq === void 0 ? shallowEqual : _ref3$areStatePropsEq,\n _ref3$areMergedPropsE = _ref3.areMergedPropsEqual,\n areMergedPropsEqual = _ref3$areMergedPropsE === void 0 ? shallowEqual : _ref3$areMergedPropsE,\n extraOptions = _objectWithoutPropertiesLoose(_ref3, _excluded);\n\n var initMapStateToProps = match(mapStateToProps, mapStateToPropsFactories, 'mapStateToProps');\n var initMapDispatchToProps = match(mapDispatchToProps, mapDispatchToPropsFactories, 'mapDispatchToProps');\n var initMergeProps = match(mergeProps, mergePropsFactories, 'mergeProps');\n return connectHOC(selectorFactory, _extends({\n // used in error messages\n methodName: 'connect',\n // used to compute Connect's displayName from the wrapped component's displayName.\n getDisplayName: function getDisplayName(name) {\n return \"Connect(\" + name + \")\";\n },\n // if mapStateToProps is falsy, the Connect component doesn't subscribe to store state changes\n shouldHandleStateChanges: Boolean(mapStateToProps),\n // passed through to selectorFactory\n initMapStateToProps: initMapStateToProps,\n initMapDispatchToProps: initMapDispatchToProps,\n initMergeProps: initMergeProps,\n pure: pure,\n areStatesEqual: areStatesEqual,\n areOwnPropsEqual: areOwnPropsEqual,\n areStatePropsEqual: areStatePropsEqual,\n areMergedPropsEqual: areMergedPropsEqual\n }, extraOptions));\n };\n}\nexport default /*#__PURE__*/createConnect();","import { useReducer, useRef, useMemo, useContext, useDebugValue } from 'react';\nimport { useReduxContext as useDefaultReduxContext } from './useReduxContext';\nimport { createSubscription } from '../utils/Subscription';\nimport { useIsomorphicLayoutEffect } from '../utils/useIsomorphicLayoutEffect';\nimport { ReactReduxContext } from '../components/Context';\n\nvar refEquality = function refEquality(a, b) {\n return a === b;\n};\n\nfunction useSelectorWithStoreAndSubscription(selector, equalityFn, store, contextSub) {\n var _useReducer = useReducer(function (s) {\n return s + 1;\n }, 0),\n forceRender = _useReducer[1];\n\n var subscription = useMemo(function () {\n return createSubscription(store, contextSub);\n }, [store, contextSub]);\n var latestSubscriptionCallbackError = useRef();\n var latestSelector = useRef();\n var latestStoreState = useRef();\n var latestSelectedState = useRef();\n var storeState = store.getState();\n var selectedState;\n\n try {\n if (selector !== latestSelector.current || storeState !== latestStoreState.current || latestSubscriptionCallbackError.current) {\n var newSelectedState = selector(storeState); // ensure latest selected state is reused so that a custom equality function can result in identical references\n\n if (latestSelectedState.current === undefined || !equalityFn(newSelectedState, latestSelectedState.current)) {\n selectedState = newSelectedState;\n } else {\n selectedState = latestSelectedState.current;\n }\n } else {\n selectedState = latestSelectedState.current;\n }\n } catch (err) {\n if (latestSubscriptionCallbackError.current) {\n err.message += \"\\nThe error may be correlated with this previous error:\\n\" + latestSubscriptionCallbackError.current.stack + \"\\n\\n\";\n }\n\n throw err;\n }\n\n useIsomorphicLayoutEffect(function () {\n latestSelector.current = selector;\n latestStoreState.current = storeState;\n latestSelectedState.current = selectedState;\n latestSubscriptionCallbackError.current = undefined;\n });\n useIsomorphicLayoutEffect(function () {\n function checkForUpdates() {\n try {\n var newStoreState = store.getState(); // Avoid calling selector multiple times if the store's state has not changed\n\n if (newStoreState === latestStoreState.current) {\n return;\n }\n\n var _newSelectedState = latestSelector.current(newStoreState);\n\n if (equalityFn(_newSelectedState, latestSelectedState.current)) {\n return;\n }\n\n latestSelectedState.current = _newSelectedState;\n latestStoreState.current = newStoreState;\n } catch (err) {\n // we ignore all errors here, since when the component\n // is re-rendered, the selectors are called again, and\n // will throw again, if neither props nor store state\n // changed\n latestSubscriptionCallbackError.current = err;\n }\n\n forceRender();\n }\n\n subscription.onStateChange = checkForUpdates;\n subscription.trySubscribe();\n checkForUpdates();\n return function () {\n return subscription.tryUnsubscribe();\n };\n }, [store, subscription]);\n return selectedState;\n}\n/**\r\n * Hook factory, which creates a `useSelector` hook bound to a given context.\r\n *\r\n * @param {React.Context} [context=ReactReduxContext] Context passed to your `<Provider>`.\r\n * @returns {Function} A `useSelector` hook bound to the specified context.\r\n */\n\n\nexport function createSelectorHook(context) {\n if (context === void 0) {\n context = ReactReduxContext;\n }\n\n var useReduxContext = context === ReactReduxContext ? useDefaultReduxContext : function () {\n return useContext(context);\n };\n return function useSelector(selector, equalityFn) {\n if (equalityFn === void 0) {\n equalityFn = refEquality;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (!selector) {\n throw new Error(\"You must pass a selector to useSelector\");\n }\n\n if (typeof selector !== 'function') {\n throw new Error(\"You must pass a function as a selector to useSelector\");\n }\n\n if (typeof equalityFn !== 'function') {\n throw new Error(\"You must pass a function as an equality function to useSelector\");\n }\n }\n\n var _useReduxContext = useReduxContext(),\n store = _useReduxContext.store,\n contextSub = _useReduxContext.subscription;\n\n var selectedState = useSelectorWithStoreAndSubscription(selector, equalityFn, store, contextSub);\n useDebugValue(selectedState);\n return selectedState;\n };\n}\n/**\r\n * A hook to access the redux store's state. This hook takes a selector function\r\n * as an argument. The selector is called with the store state.\r\n *\r\n * This hook takes an optional equality comparison function as the second parameter\r\n * that allows you to customize the way the selected state is compared to determine\r\n * whether the component needs to be re-rendered.\r\n *\r\n * @param {Function} selector the selector function\r\n * @param {Function=} equalityFn the function that will be used to determine equality\r\n *\r\n * @returns {any} the selected state\r\n *\r\n * @example\r\n *\r\n * import React from 'react'\r\n * import { useSelector } from 'react-redux'\r\n *\r\n * export const CounterComponent = () => {\r\n * const counter = useSelector(state => state.counter)\r\n * return <div>{counter}</div>\r\n * }\r\n */\n\nexport var useSelector = /*#__PURE__*/createSelectorHook();","import { useState, useRef, useEffect } from 'react';\n\nfunction areInputsEqual(newInputs, lastInputs) {\n if (newInputs.length !== lastInputs.length) {\n return false;\n }\n\n for (var i = 0; i < newInputs.length; i++) {\n if (newInputs[i] !== lastInputs[i]) {\n return false;\n }\n }\n\n return true;\n}\n\nfunction useMemoOne(getResult, inputs) {\n var initial = useState(function () {\n return {\n inputs: inputs,\n result: getResult()\n };\n })[0];\n var isFirstRun = useRef(true);\n var committed = useRef(initial);\n var useCache = isFirstRun.current || Boolean(inputs && committed.current.inputs && areInputsEqual(inputs, committed.current.inputs));\n var cache = useCache ? committed.current : {\n inputs: inputs,\n result: getResult()\n };\n useEffect(function () {\n isFirstRun.current = false;\n committed.current = cache;\n }, [cache]);\n return cache.result;\n}\nfunction useCallbackOne(callback, inputs) {\n return useMemoOne(function () {\n return callback;\n }, inputs);\n}\nvar useMemo = useMemoOne;\nvar useCallback = useCallbackOne;\n\nexport { useCallback, useCallbackOne, useMemo, useMemoOne };\n","export * from './exports';\nimport { unstable_batchedUpdates as batch } from './utils/reactBatchedUpdates';\nimport { setBatch } from './utils/batch'; // Enable batched updates in our subscriptions for use\n// with standard React renderers (ReactDOM, React Native)\n\nsetBatch(batch);\nexport { batch };","var isProduction = process.env.NODE_ENV === 'production';\nvar prefix = 'Invariant failed';\nfunction invariant(condition, message) {\n if (condition) {\n return;\n }\n if (isProduction) {\n throw new Error(prefix);\n }\n var provided = typeof message === 'function' ? message() : message;\n var value = provided ? \"\".concat(prefix, \": \").concat(provided) : prefix;\n throw new Error(value);\n}\n\nexport { invariant as default };\n","import invariant from 'tiny-invariant';\n\nvar getRect = function getRect(_ref) {\n var top = _ref.top,\n right = _ref.right,\n bottom = _ref.bottom,\n left = _ref.left;\n var width = right - left;\n var height = bottom - top;\n var rect = {\n top: top,\n right: right,\n bottom: bottom,\n left: left,\n width: width,\n height: height,\n x: left,\n y: top,\n center: {\n x: (right + left) / 2,\n y: (bottom + top) / 2\n }\n };\n return rect;\n};\nvar expand = function expand(target, expandBy) {\n return {\n top: target.top - expandBy.top,\n left: target.left - expandBy.left,\n bottom: target.bottom + expandBy.bottom,\n right: target.right + expandBy.right\n };\n};\nvar shrink = function shrink(target, shrinkBy) {\n return {\n top: target.top + shrinkBy.top,\n left: target.left + shrinkBy.left,\n bottom: target.bottom - shrinkBy.bottom,\n right: target.right - shrinkBy.right\n };\n};\n\nvar shift = function shift(target, shiftBy) {\n return {\n top: target.top + shiftBy.y,\n left: target.left + shiftBy.x,\n bottom: target.bottom + shiftBy.y,\n right: target.right + shiftBy.x\n };\n};\n\nvar noSpacing = {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n};\nvar createBox = function createBox(_ref2) {\n var borderBox = _ref2.borderBox,\n _ref2$margin = _ref2.margin,\n margin = _ref2$margin === void 0 ? noSpacing : _ref2$margin,\n _ref2$border = _ref2.border,\n border = _ref2$border === void 0 ? noSpacing : _ref2$border,\n _ref2$padding = _ref2.padding,\n padding = _ref2$padding === void 0 ? noSpacing : _ref2$padding;\n var marginBox = getRect(expand(borderBox, margin));\n var paddingBox = getRect(shrink(borderBox, border));\n var contentBox = getRect(shrink(paddingBox, padding));\n return {\n marginBox: marginBox,\n borderBox: getRect(borderBox),\n paddingBox: paddingBox,\n contentBox: contentBox,\n margin: margin,\n border: border,\n padding: padding\n };\n};\n\nvar parse = function parse(raw) {\n var value = raw.slice(0, -2);\n var suffix = raw.slice(-2);\n\n if (suffix !== 'px') {\n return 0;\n }\n\n var result = Number(value);\n !!isNaN(result) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Could not parse value [raw: \" + raw + \", without suffix: \" + value + \"]\") : invariant(false) : void 0;\n return result;\n};\n\nvar getWindowScroll = function getWindowScroll() {\n return {\n x: window.pageXOffset,\n y: window.pageYOffset\n };\n};\n\nvar offset = function offset(original, change) {\n var borderBox = original.borderBox,\n border = original.border,\n margin = original.margin,\n padding = original.padding;\n var shifted = shift(borderBox, change);\n return createBox({\n borderBox: shifted,\n border: border,\n margin: margin,\n padding: padding\n });\n};\nvar withScroll = function withScroll(original, scroll) {\n if (scroll === void 0) {\n scroll = getWindowScroll();\n }\n\n return offset(original, scroll);\n};\nvar calculateBox = function calculateBox(borderBox, styles) {\n var margin = {\n top: parse(styles.marginTop),\n right: parse(styles.marginRight),\n bottom: parse(styles.marginBottom),\n left: parse(styles.marginLeft)\n };\n var padding = {\n top: parse(styles.paddingTop),\n right: parse(styles.paddingRight),\n bottom: parse(styles.paddingBottom),\n left: parse(styles.paddingLeft)\n };\n var border = {\n top: parse(styles.borderTopWidth),\n right: parse(styles.borderRightWidth),\n bottom: parse(styles.borderBottomWidth),\n left: parse(styles.borderLeftWidth)\n };\n return createBox({\n borderBox: borderBox,\n margin: margin,\n padding: padding,\n border: border\n });\n};\nvar getBox = function getBox(el) {\n var borderBox = el.getBoundingClientRect();\n var styles = window.getComputedStyle(el);\n return calculateBox(borderBox, styles);\n};\n\nexport { calculateBox, createBox, expand, getBox, getRect, offset, shrink, withScroll };\n","var safeIsNaN = Number.isNaN ||\n function ponyfill(value) {\n return typeof value === 'number' && value !== value;\n };\nfunction isEqual(first, second) {\n if (first === second) {\n return true;\n }\n if (safeIsNaN(first) && safeIsNaN(second)) {\n return true;\n }\n return false;\n}\nfunction areInputsEqual(newInputs, lastInputs) {\n if (newInputs.length !== lastInputs.length) {\n return false;\n }\n for (var i = 0; i < newInputs.length; i++) {\n if (!isEqual(newInputs[i], lastInputs[i])) {\n return false;\n }\n }\n return true;\n}\n\nfunction memoizeOne(resultFn, isEqual) {\n if (isEqual === void 0) { isEqual = areInputsEqual; }\n var lastThis;\n var lastArgs = [];\n var lastResult;\n var calledOnce = false;\n function memoized() {\n var newArgs = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n newArgs[_i] = arguments[_i];\n }\n if (calledOnce && lastThis === this && isEqual(newArgs, lastArgs)) {\n return lastResult;\n }\n lastResult = resultFn.apply(this, newArgs);\n calledOnce = true;\n lastThis = this;\n lastArgs = newArgs;\n return lastResult;\n }\n return memoized;\n}\n\nexport default memoizeOne;\n","var rafSchd = function rafSchd(fn) {\n var lastArgs = [];\n var frameId = null;\n\n var wrapperFn = function wrapperFn() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n lastArgs = args;\n\n if (frameId) {\n return;\n }\n\n frameId = requestAnimationFrame(function () {\n frameId = null;\n fn.apply(void 0, lastArgs);\n });\n };\n\n wrapperFn.cancel = function () {\n if (!frameId) {\n return;\n }\n\n cancelAnimationFrame(frameId);\n frameId = null;\n };\n\n return wrapperFn;\n};\n\nexport default rafSchd;\n","import React, { useLayoutEffect, useEffect, useRef, useState, useContext } from 'react';\nimport _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport { createStore as createStore$1, applyMiddleware, compose, bindActionCreators } from 'redux';\nimport { Provider, connect } from 'react-redux';\nimport { useMemo, useCallback } from 'use-memo-one';\nimport { getRect, expand, offset, withScroll, getBox, createBox, calculateBox } from 'css-box-model';\nimport memoizeOne from 'memoize-one';\nimport rafSchd from 'raf-schd';\nimport ReactDOM from 'react-dom';\n\nvar isProduction = process.env.NODE_ENV === 'production';\nvar spacesAndTabs = /[ \\t]{2,}/g;\nvar lineStartWithSpaces = /^[ \\t]*/gm;\n\nvar clean = function clean(value) {\n return value.replace(spacesAndTabs, ' ').replace(lineStartWithSpaces, '').trim();\n};\n\nvar getDevMessage = function getDevMessage(message) {\n return clean(\"\\n %creact-beautiful-dnd\\n\\n %c\" + clean(message) + \"\\n\\n %c\\uD83D\\uDC77\\u200D This is a development only message. It will be removed in production builds.\\n\");\n};\n\nvar getFormattedMessage = function getFormattedMessage(message) {\n return [getDevMessage(message), 'color: #00C584; font-size: 1.2em; font-weight: bold;', 'line-height: 1.5', 'color: #723874;'];\n};\nvar isDisabledFlag = '__react-beautiful-dnd-disable-dev-warnings';\nfunction log(type, message) {\n var _console;\n\n if (isProduction) {\n return;\n }\n\n if (typeof window !== 'undefined' && window[isDisabledFlag]) {\n return;\n }\n\n (_console = console)[type].apply(_console, getFormattedMessage(message));\n}\nvar warning = log.bind(null, 'warn');\nvar error = log.bind(null, 'error');\n\nfunction noop() {}\n\nfunction getOptions(shared, fromBinding) {\n return _extends({}, shared, {}, fromBinding);\n}\n\nfunction bindEvents(el, bindings, sharedOptions) {\n var unbindings = bindings.map(function (binding) {\n var options = getOptions(sharedOptions, binding.options);\n el.addEventListener(binding.eventName, binding.fn, options);\n return function unbind() {\n el.removeEventListener(binding.eventName, binding.fn, options);\n };\n });\n return function unbindAll() {\n unbindings.forEach(function (unbind) {\n unbind();\n });\n };\n}\n\nvar isProduction$1 = process.env.NODE_ENV === 'production';\nvar prefix = 'Invariant failed';\nfunction RbdInvariant(message) {\n this.message = message;\n}\n\nRbdInvariant.prototype.toString = function toString() {\n return this.message;\n};\n\nfunction invariant(condition, message) {\n if (condition) {\n return;\n }\n\n if (isProduction$1) {\n throw new RbdInvariant(prefix);\n } else {\n throw new RbdInvariant(prefix + \": \" + (message || ''));\n }\n}\n\nvar ErrorBoundary = function (_React$Component) {\n _inheritsLoose(ErrorBoundary, _React$Component);\n\n function ErrorBoundary() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$Component.call.apply(_React$Component, [this].concat(args)) || this;\n _this.callbacks = null;\n _this.unbind = noop;\n\n _this.onWindowError = function (event) {\n var callbacks = _this.getCallbacks();\n\n if (callbacks.isDragging()) {\n callbacks.tryAbort();\n process.env.NODE_ENV !== \"production\" ? warning(\"\\n An error was caught by our window 'error' event listener while a drag was occurring.\\n The active drag has been aborted.\\n \") : void 0;\n }\n\n var err = event.error;\n\n if (err instanceof RbdInvariant) {\n event.preventDefault();\n\n if (process.env.NODE_ENV !== 'production') {\n error(err.message);\n }\n }\n };\n\n _this.getCallbacks = function () {\n if (!_this.callbacks) {\n throw new Error('Unable to find AppCallbacks in <ErrorBoundary/>');\n }\n\n return _this.callbacks;\n };\n\n _this.setCallbacks = function (callbacks) {\n _this.callbacks = callbacks;\n };\n\n return _this;\n }\n\n var _proto = ErrorBoundary.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.unbind = bindEvents(window, [{\n eventName: 'error',\n fn: this.onWindowError\n }]);\n };\n\n _proto.componentDidCatch = function componentDidCatch(err) {\n if (err instanceof RbdInvariant) {\n if (process.env.NODE_ENV !== 'production') {\n error(err.message);\n }\n\n this.setState({});\n return;\n }\n\n throw err;\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.unbind();\n };\n\n _proto.render = function render() {\n return this.props.children(this.setCallbacks);\n };\n\n return ErrorBoundary;\n}(React.Component);\n\nvar dragHandleUsageInstructions = \"\\n Press space bar to start a drag.\\n When dragging you can use the arrow keys to move the item around and escape to cancel.\\n Some screen readers may require you to be in focus mode or to use your pass through key\\n\";\n\nvar position = function position(index) {\n return index + 1;\n};\n\nvar onDragStart = function onDragStart(start) {\n return \"\\n You have lifted an item in position \" + position(start.source.index) + \"\\n\";\n};\n\nvar withLocation = function withLocation(source, destination) {\n var isInHomeList = source.droppableId === destination.droppableId;\n var startPosition = position(source.index);\n var endPosition = position(destination.index);\n\n if (isInHomeList) {\n return \"\\n You have moved the item from position \" + startPosition + \"\\n to position \" + endPosition + \"\\n \";\n }\n\n return \"\\n You have moved the item from position \" + startPosition + \"\\n in list \" + source.droppableId + \"\\n to list \" + destination.droppableId + \"\\n in position \" + endPosition + \"\\n \";\n};\n\nvar withCombine = function withCombine(id, source, combine) {\n var inHomeList = source.droppableId === combine.droppableId;\n\n if (inHomeList) {\n return \"\\n The item \" + id + \"\\n has been combined with \" + combine.draggableId;\n }\n\n return \"\\n The item \" + id + \"\\n in list \" + source.droppableId + \"\\n has been combined with \" + combine.draggableId + \"\\n in list \" + combine.droppableId + \"\\n \";\n};\n\nvar onDragUpdate = function onDragUpdate(update) {\n var location = update.destination;\n\n if (location) {\n return withLocation(update.source, location);\n }\n\n var combine = update.combine;\n\n if (combine) {\n return withCombine(update.draggableId, update.source, combine);\n }\n\n return 'You are over an area that cannot be dropped on';\n};\n\nvar returnedToStart = function returnedToStart(source) {\n return \"\\n The item has returned to its starting position\\n of \" + position(source.index) + \"\\n\";\n};\n\nvar onDragEnd = function onDragEnd(result) {\n if (result.reason === 'CANCEL') {\n return \"\\n Movement cancelled.\\n \" + returnedToStart(result.source) + \"\\n \";\n }\n\n var location = result.destination;\n var combine = result.combine;\n\n if (location) {\n return \"\\n You have dropped the item.\\n \" + withLocation(result.source, location) + \"\\n \";\n }\n\n if (combine) {\n return \"\\n You have dropped the item.\\n \" + withCombine(result.draggableId, result.source, combine) + \"\\n \";\n }\n\n return \"\\n The item has been dropped while not over a drop area.\\n \" + returnedToStart(result.source) + \"\\n \";\n};\n\nvar preset = {\n dragHandleUsageInstructions: dragHandleUsageInstructions,\n onDragStart: onDragStart,\n onDragUpdate: onDragUpdate,\n onDragEnd: onDragEnd\n};\n\nvar origin = {\n x: 0,\n y: 0\n};\nvar add = function add(point1, point2) {\n return {\n x: point1.x + point2.x,\n y: point1.y + point2.y\n };\n};\nvar subtract = function subtract(point1, point2) {\n return {\n x: point1.x - point2.x,\n y: point1.y - point2.y\n };\n};\nvar isEqual = function isEqual(point1, point2) {\n return point1.x === point2.x && point1.y === point2.y;\n};\nvar negate = function negate(point) {\n return {\n x: point.x !== 0 ? -point.x : 0,\n y: point.y !== 0 ? -point.y : 0\n };\n};\nvar patch = function patch(line, value, otherValue) {\n var _ref;\n\n if (otherValue === void 0) {\n otherValue = 0;\n }\n\n return _ref = {}, _ref[line] = value, _ref[line === 'x' ? 'y' : 'x'] = otherValue, _ref;\n};\nvar distance = function distance(point1, point2) {\n return Math.sqrt(Math.pow(point2.x - point1.x, 2) + Math.pow(point2.y - point1.y, 2));\n};\nvar closest = function closest(target, points) {\n return Math.min.apply(Math, points.map(function (point) {\n return distance(target, point);\n }));\n};\nvar apply = function apply(fn) {\n return function (point) {\n return {\n x: fn(point.x),\n y: fn(point.y)\n };\n };\n};\n\nvar executeClip = (function (frame, subject) {\n var result = getRect({\n top: Math.max(subject.top, frame.top),\n right: Math.min(subject.right, frame.right),\n bottom: Math.min(subject.bottom, frame.bottom),\n left: Math.max(subject.left, frame.left)\n });\n\n if (result.width <= 0 || result.height <= 0) {\n return null;\n }\n\n return result;\n});\n\nvar offsetByPosition = function offsetByPosition(spacing, point) {\n return {\n top: spacing.top + point.y,\n left: spacing.left + point.x,\n bottom: spacing.bottom + point.y,\n right: spacing.right + point.x\n };\n};\nvar getCorners = function getCorners(spacing) {\n return [{\n x: spacing.left,\n y: spacing.top\n }, {\n x: spacing.right,\n y: spacing.top\n }, {\n x: spacing.left,\n y: spacing.bottom\n }, {\n x: spacing.right,\n y: spacing.bottom\n }];\n};\nvar noSpacing = {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0\n};\n\nvar scroll = function scroll(target, frame) {\n if (!frame) {\n return target;\n }\n\n return offsetByPosition(target, frame.scroll.diff.displacement);\n};\n\nvar increase = function increase(target, axis, withPlaceholder) {\n if (withPlaceholder && withPlaceholder.increasedBy) {\n var _extends2;\n\n return _extends({}, target, (_extends2 = {}, _extends2[axis.end] = target[axis.end] + withPlaceholder.increasedBy[axis.line], _extends2));\n }\n\n return target;\n};\n\nvar clip = function clip(target, frame) {\n if (frame && frame.shouldClipSubject) {\n return executeClip(frame.pageMarginBox, target);\n }\n\n return getRect(target);\n};\n\nvar getSubject = (function (_ref) {\n var page = _ref.page,\n withPlaceholder = _ref.withPlaceholder,\n axis = _ref.axis,\n frame = _ref.frame;\n var scrolled = scroll(page.marginBox, frame);\n var increased = increase(scrolled, axis, withPlaceholder);\n var clipped = clip(increased, frame);\n return {\n page: page,\n withPlaceholder: withPlaceholder,\n active: clipped\n };\n});\n\nvar scrollDroppable = (function (droppable, newScroll) {\n !droppable.frame ? process.env.NODE_ENV !== \"production\" ? invariant(false) : invariant(false) : void 0;\n var scrollable = droppable.frame;\n var scrollDiff = subtract(newScroll, scrollable.scroll.initial);\n var scrollDisplacement = negate(scrollDiff);\n\n var frame = _extends({}, scrollable, {\n scroll: {\n initial: scrollable.scroll.initial,\n current: newScroll,\n diff: {\n value: scrollDiff,\n displacement: scrollDisplacement\n },\n max: scrollable.scroll.max\n }\n });\n\n var subject = getSubject({\n page: droppable.subject.page,\n withPlaceholder: droppable.subject.withPlaceholder,\n axis: droppable.axis,\n frame: frame\n });\n\n var result = _extends({}, droppable, {\n frame: frame,\n subject: subject\n });\n\n return result;\n});\n\nfunction isInteger(value) {\n if (Number.isInteger) {\n return Number.isInteger(value);\n }\n\n return typeof value === 'number' && isFinite(value) && Math.floor(value) === value;\n}\nfunction values(map) {\n if (Object.values) {\n return Object.values(map);\n }\n\n return Object.keys(map).map(function (key) {\n return map[key];\n });\n}\nfunction findIndex(list, predicate) {\n if (list.findIndex) {\n return list.findIndex(predicate);\n }\n\n for (var i = 0; i < list.length; i++) {\n if (predicate(list[i])) {\n return i;\n }\n }\n\n return -1;\n}\nfunction find(list, predicate) {\n if (list.find) {\n return list.find(predicate);\n }\n\n var index = findIndex(list, predicate);\n\n if (index !== -1) {\n return list[index];\n }\n\n return undefined;\n}\nfunction toArray(list) {\n return Array.prototype.slice.call(list);\n}\n\nvar toDroppableMap = memoizeOne(function (droppables) {\n return droppables.reduce(function (previous, current) {\n previous[current.descriptor.id] = current;\n return previous;\n }, {});\n});\nvar toDraggableMap = memoizeOne(function (draggables) {\n return draggables.reduce(function (previous, current) {\n previous[current.descriptor.id] = current;\n return previous;\n }, {});\n});\nvar toDroppableList = memoizeOne(function (droppables) {\n return values(droppables);\n});\nvar toDraggableList = memoizeOne(function (draggables) {\n return values(draggables);\n});\n\nvar getDraggablesInsideDroppable = memoizeOne(function (droppableId, draggables) {\n var result = toDraggableList(draggables).filter(function (draggable) {\n return droppableId === draggable.descriptor.droppableId;\n }).sort(function (a, b) {\n return a.descriptor.index - b.descriptor.index;\n });\n return result;\n});\n\nfunction tryGetDestination(impact) {\n if (impact.at && impact.at.type === 'REORDER') {\n return impact.at.destination;\n }\n\n return null;\n}\nfunction tryGetCombine(impact) {\n if (impact.at && impact.at.type === 'COMBINE') {\n return impact.at.combine;\n }\n\n return null;\n}\n\nvar removeDraggableFromList = memoizeOne(function (remove, list) {\n return list.filter(function (item) {\n return item.descriptor.id !== remove.descriptor.id;\n });\n});\n\nvar moveToNextCombine = (function (_ref) {\n var isMovingForward = _ref.isMovingForward,\n draggable = _ref.draggable,\n destination = _ref.destination,\n insideDestination = _ref.insideDestination,\n previousImpact = _ref.previousImpact;\n\n if (!destination.isCombineEnabled) {\n return null;\n }\n\n var location = tryGetDestination(previousImpact);\n\n if (!location) {\n return null;\n }\n\n function getImpact(target) {\n var at = {\n type: 'COMBINE',\n combine: {\n draggableId: target,\n droppableId: destination.descriptor.id\n }\n };\n return _extends({}, previousImpact, {\n at: at\n });\n }\n\n var all = previousImpact.displaced.all;\n var closestId = all.length ? all[0] : null;\n\n if (isMovingForward) {\n return closestId ? getImpact(closestId) : null;\n }\n\n var withoutDraggable = removeDraggableFromList(draggable, insideDestination);\n\n if (!closestId) {\n if (!withoutDraggable.length) {\n return null;\n }\n\n var last = withoutDraggable[withoutDraggable.length - 1];\n return getImpact(last.descriptor.id);\n }\n\n var indexOfClosest = findIndex(withoutDraggable, function (d) {\n return d.descriptor.id === closestId;\n });\n !(indexOfClosest !== -1) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Could not find displaced item in set') : invariant(false) : void 0;\n var proposedIndex = indexOfClosest - 1;\n\n if (proposedIndex < 0) {\n return null;\n }\n\n var before = withoutDraggable[proposedIndex];\n return getImpact(before.descriptor.id);\n});\n\nvar isHomeOf = (function (draggable, destination) {\n return draggable.descriptor.droppableId === destination.descriptor.id;\n});\n\nvar noDisplacedBy = {\n point: origin,\n value: 0\n};\nvar emptyGroups = {\n invisible: {},\n visible: {},\n all: []\n};\nvar noImpact = {\n displaced: emptyGroups,\n displacedBy: noDisplacedBy,\n at: null\n};\n\nvar isWithin = (function (lowerBound, upperBound) {\n return function (value) {\n return lowerBound <= value && value <= upperBound;\n };\n});\n\nvar isPartiallyVisibleThroughFrame = (function (frame) {\n var isWithinVertical = isWithin(frame.top, frame.bottom);\n var isWithinHorizontal = isWithin(frame.left, frame.right);\n return function (subject) {\n var isContained = isWithinVertical(subject.top) && isWithinVertical(subject.bottom) && isWithinHorizontal(subject.left) && isWithinHorizontal(subject.right);\n\n if (isContained) {\n return true;\n }\n\n var isPartiallyVisibleVertically = isWithinVertical(subject.top) || isWithinVertical(subject.bottom);\n var isPartiallyVisibleHorizontally = isWithinHorizontal(subject.left) || isWithinHorizontal(subject.right);\n var isPartiallyContained = isPartiallyVisibleVertically && isPartiallyVisibleHorizontally;\n\n if (isPartiallyContained) {\n return true;\n }\n\n var isBiggerVertically = subject.top < frame.top && subject.bottom > frame.bottom;\n var isBiggerHorizontally = subject.left < frame.left && subject.right > frame.right;\n var isTargetBiggerThanFrame = isBiggerVertically && isBiggerHorizontally;\n\n if (isTargetBiggerThanFrame) {\n return true;\n }\n\n var isTargetBiggerOnOneAxis = isBiggerVertically && isPartiallyVisibleHorizontally || isBiggerHorizontally && isPartiallyVisibleVertically;\n return isTargetBiggerOnOneAxis;\n };\n});\n\nvar isTotallyVisibleThroughFrame = (function (frame) {\n var isWithinVertical = isWithin(frame.top, frame.bottom);\n var isWithinHorizontal = isWithin(frame.left, frame.right);\n return function (subject) {\n var isContained = isWithinVertical(subject.top) && isWithinVertical(subject.bottom) && isWithinHorizontal(subject.left) && isWithinHorizontal(subject.right);\n return isContained;\n };\n});\n\nvar vertical = {\n direction: 'vertical',\n line: 'y',\n crossAxisLine: 'x',\n start: 'top',\n end: 'bottom',\n size: 'height',\n crossAxisStart: 'left',\n crossAxisEnd: 'right',\n crossAxisSize: 'width'\n};\nvar horizontal = {\n direction: 'horizontal',\n line: 'x',\n crossAxisLine: 'y',\n start: 'left',\n end: 'right',\n size: 'width',\n crossAxisStart: 'top',\n crossAxisEnd: 'bottom',\n crossAxisSize: 'height'\n};\n\nvar isTotallyVisibleThroughFrameOnAxis = (function (axis) {\n return function (frame) {\n var isWithinVertical = isWithin(frame.top, frame.bottom);\n var isWithinHorizontal = isWithin(frame.left, frame.right);\n return function (subject) {\n if (axis === vertical) {\n return isWithinVertical(subject.top) && isWithinVertical(subject.bottom);\n }\n\n return isWithinHorizontal(subject.left) && isWithinHorizontal(subject.right);\n };\n };\n});\n\nvar getDroppableDisplaced = function getDroppableDisplaced(target, destination) {\n var displacement = destination.frame ? destination.frame.scroll.diff.displacement : origin;\n return offsetByPosition(target, displacement);\n};\n\nvar isVisibleInDroppable = function isVisibleInDroppable(target, destination, isVisibleThroughFrameFn) {\n if (!destination.subject.active) {\n return false;\n }\n\n return isVisibleThroughFrameFn(destination.subject.active)(target);\n};\n\nvar isVisibleInViewport = function isVisibleInViewport(target, viewport, isVisibleThroughFrameFn) {\n return isVisibleThroughFrameFn(viewport)(target);\n};\n\nvar isVisible = function isVisible(_ref) {\n var toBeDisplaced = _ref.target,\n destination = _ref.destination,\n viewport = _ref.viewport,\n withDroppableDisplacement = _ref.withDroppableDisplacement,\n isVisibleThroughFrameFn = _ref.isVisibleThroughFrameFn;\n var displacedTarget = withDroppableDisplacement ? getDroppableDisplaced(toBeDisplaced, destination) : toBeDisplaced;\n return isVisibleInDroppable(displacedTarget, destination, isVisibleThroughFrameFn) && isVisibleInViewport(displacedTarget, viewport, isVisibleThroughFrameFn);\n};\n\nvar isPartiallyVisible = function isPartiallyVisible(args) {\n return isVisible(_extends({}, args, {\n isVisibleThroughFrameFn: isPartiallyVisibleThroughFrame\n }));\n};\nvar isTotallyVisible = function isTotallyVisible(args) {\n return isVisible(_extends({}, args, {\n isVisibleThroughFrameFn: isTotallyVisibleThroughFrame\n }));\n};\nvar isTotallyVisibleOnAxis = function isTotallyVisibleOnAxis(args) {\n return isVisible(_extends({}, args, {\n isVisibleThroughFrameFn: isTotallyVisibleThroughFrameOnAxis(args.destination.axis)\n }));\n};\n\nvar getShouldAnimate = function getShouldAnimate(id, last, forceShouldAnimate) {\n if (typeof forceShouldAnimate === 'boolean') {\n return forceShouldAnimate;\n }\n\n if (!last) {\n return true;\n }\n\n var invisible = last.invisible,\n visible = last.visible;\n\n if (invisible[id]) {\n return false;\n }\n\n var previous = visible[id];\n return previous ? previous.shouldAnimate : true;\n};\n\nfunction getTarget(draggable, displacedBy) {\n var marginBox = draggable.page.marginBox;\n var expandBy = {\n top: displacedBy.point.y,\n right: 0,\n bottom: 0,\n left: displacedBy.point.x\n };\n return getRect(expand(marginBox, expandBy));\n}\n\nfunction getDisplacementGroups(_ref) {\n var afterDragging = _ref.afterDragging,\n destination = _ref.destination,\n displacedBy = _ref.displacedBy,\n viewport = _ref.viewport,\n forceShouldAnimate = _ref.forceShouldAnimate,\n last = _ref.last;\n return afterDragging.reduce(function process(groups, draggable) {\n var target = getTarget(draggable, displacedBy);\n var id = draggable.descriptor.id;\n groups.all.push(id);\n var isVisible = isPartiallyVisible({\n target: target,\n destination: destination,\n viewport: viewport,\n withDroppableDisplacement: true\n });\n\n if (!isVisible) {\n groups.invisible[draggable.descriptor.id] = true;\n return groups;\n }\n\n var shouldAnimate = getShouldAnimate(id, last, forceShouldAnimate);\n var displacement = {\n draggableId: id,\n shouldAnimate: shouldAnimate\n };\n groups.visible[id] = displacement;\n return groups;\n }, {\n all: [],\n visible: {},\n invisible: {}\n });\n}\n\nfunction getIndexOfLastItem(draggables, options) {\n if (!draggables.length) {\n return 0;\n }\n\n var indexOfLastItem = draggables[draggables.length - 1].descriptor.index;\n return options.inHomeList ? indexOfLastItem : indexOfLastItem + 1;\n}\n\nfunction goAtEnd(_ref) {\n var insideDestination = _ref.insideDestination,\n inHomeList = _ref.inHomeList,\n displacedBy = _ref.displacedBy,\n destination = _ref.destination;\n var newIndex = getIndexOfLastItem(insideDestination, {\n inHomeList: inHomeList\n });\n return {\n displaced: emptyGroups,\n displacedBy: displacedBy,\n at: {\n type: 'REORDER',\n destination: {\n droppableId: destination.descriptor.id,\n index: newIndex\n }\n }\n };\n}\n\nfunction calculateReorderImpact(_ref2) {\n var draggable = _ref2.draggable,\n insideDestination = _ref2.insideDestination,\n destination = _ref2.destination,\n viewport = _ref2.viewport,\n displacedBy = _ref2.displacedBy,\n last = _ref2.last,\n index = _ref2.index,\n forceShouldAnimate = _ref2.forceShouldAnimate;\n var inHomeList = isHomeOf(draggable, destination);\n\n if (index == null) {\n return goAtEnd({\n insideDestination: insideDestination,\n inHomeList: inHomeList,\n displacedBy: displacedBy,\n destination: destination\n });\n }\n\n var match = find(insideDestination, function (item) {\n return item.descriptor.index === index;\n });\n\n if (!match) {\n return goAtEnd({\n insideDestination: insideDestination,\n inHomeList: inHomeList,\n displacedBy: displacedBy,\n destination: destination\n });\n }\n\n var withoutDragging = removeDraggableFromList(draggable, insideDestination);\n var sliceFrom = insideDestination.indexOf(match);\n var impacted = withoutDragging.slice(sliceFrom);\n var displaced = getDisplacementGroups({\n afterDragging: impacted,\n destination: destination,\n displacedBy: displacedBy,\n last: last,\n viewport: viewport.frame,\n forceShouldAnimate: forceShouldAnimate\n });\n return {\n displaced: displaced,\n displacedBy: displacedBy,\n at: {\n type: 'REORDER',\n destination: {\n droppableId: destination.descriptor.id,\n index: index\n }\n }\n };\n}\n\nfunction didStartAfterCritical(draggableId, afterCritical) {\n return Boolean(afterCritical.effected[draggableId]);\n}\n\nvar fromCombine = (function (_ref) {\n var isMovingForward = _ref.isMovingForward,\n destination = _ref.destination,\n draggables = _ref.draggables,\n combine = _ref.combine,\n afterCritical = _ref.afterCritical;\n\n if (!destination.isCombineEnabled) {\n return null;\n }\n\n var combineId = combine.draggableId;\n var combineWith = draggables[combineId];\n var combineWithIndex = combineWith.descriptor.index;\n var didCombineWithStartAfterCritical = didStartAfterCritical(combineId, afterCritical);\n\n if (didCombineWithStartAfterCritical) {\n if (isMovingForward) {\n return combineWithIndex;\n }\n\n return combineWithIndex - 1;\n }\n\n if (isMovingForward) {\n return combineWithIndex + 1;\n }\n\n return combineWithIndex;\n});\n\nvar fromReorder = (function (_ref) {\n var isMovingForward = _ref.isMovingForward,\n isInHomeList = _ref.isInHomeList,\n insideDestination = _ref.insideDestination,\n location = _ref.location;\n\n if (!insideDestination.length) {\n return null;\n }\n\n var currentIndex = location.index;\n var proposedIndex = isMovingForward ? currentIndex + 1 : currentIndex - 1;\n var firstIndex = insideDestination[0].descriptor.index;\n var lastIndex = insideDestination[insideDestination.length - 1].descriptor.index;\n var upperBound = isInHomeList ? lastIndex : lastIndex + 1;\n\n if (proposedIndex < firstIndex) {\n return null;\n }\n\n if (proposedIndex > upperBound) {\n return null;\n }\n\n return proposedIndex;\n});\n\nvar moveToNextIndex = (function (_ref) {\n var isMovingForward = _ref.isMovingForward,\n isInHomeList = _ref.isInHomeList,\n draggable = _ref.draggable,\n draggables = _ref.draggables,\n destination = _ref.destination,\n insideDestination = _ref.insideDestination,\n previousImpact = _ref.previousImpact,\n viewport = _ref.viewport,\n afterCritical = _ref.afterCritical;\n var wasAt = previousImpact.at;\n !wasAt ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot move in direction without previous impact location') : invariant(false) : void 0;\n\n if (wasAt.type === 'REORDER') {\n var _newIndex = fromReorder({\n isMovingForward: isMovingForward,\n isInHomeList: isInHomeList,\n location: wasAt.destination,\n insideDestination: insideDestination\n });\n\n if (_newIndex == null) {\n return null;\n }\n\n return calculateReorderImpact({\n draggable: draggable,\n insideDestination: insideDestination,\n destination: destination,\n viewport: viewport,\n last: previousImpact.displaced,\n displacedBy: previousImpact.displacedBy,\n index: _newIndex\n });\n }\n\n var newIndex = fromCombine({\n isMovingForward: isMovingForward,\n destination: destination,\n displaced: previousImpact.displaced,\n draggables: draggables,\n combine: wasAt.combine,\n afterCritical: afterCritical\n });\n\n if (newIndex == null) {\n return null;\n }\n\n return calculateReorderImpact({\n draggable: draggable,\n insideDestination: insideDestination,\n destination: destination,\n viewport: viewport,\n last: previousImpact.displaced,\n displacedBy: previousImpact.displacedBy,\n index: newIndex\n });\n});\n\nvar getCombinedItemDisplacement = (function (_ref) {\n var displaced = _ref.displaced,\n afterCritical = _ref.afterCritical,\n combineWith = _ref.combineWith,\n displacedBy = _ref.displacedBy;\n var isDisplaced = Boolean(displaced.visible[combineWith] || displaced.invisible[combineWith]);\n\n if (didStartAfterCritical(combineWith, afterCritical)) {\n return isDisplaced ? origin : negate(displacedBy.point);\n }\n\n return isDisplaced ? displacedBy.point : origin;\n});\n\nvar whenCombining = (function (_ref) {\n var afterCritical = _ref.afterCritical,\n impact = _ref.impact,\n draggables = _ref.draggables;\n var combine = tryGetCombine(impact);\n !combine ? process.env.NODE_ENV !== \"production\" ? invariant(false) : invariant(false) : void 0;\n var combineWith = combine.draggableId;\n var center = draggables[combineWith].page.borderBox.center;\n var displaceBy = getCombinedItemDisplacement({\n displaced: impact.displaced,\n afterCritical: afterCritical,\n combineWith: combineWith,\n displacedBy: impact.displacedBy\n });\n return add(center, displaceBy);\n});\n\nvar distanceFromStartToBorderBoxCenter = function distanceFromStartToBorderBoxCenter(axis, box) {\n return box.margin[axis.start] + box.borderBox[axis.size] / 2;\n};\n\nvar distanceFromEndToBorderBoxCenter = function distanceFromEndToBorderBoxCenter(axis, box) {\n return box.margin[axis.end] + box.borderBox[axis.size] / 2;\n};\n\nvar getCrossAxisBorderBoxCenter = function getCrossAxisBorderBoxCenter(axis, target, isMoving) {\n return target[axis.crossAxisStart] + isMoving.margin[axis.crossAxisStart] + isMoving.borderBox[axis.crossAxisSize] / 2;\n};\n\nvar goAfter = function goAfter(_ref) {\n var axis = _ref.axis,\n moveRelativeTo = _ref.moveRelativeTo,\n isMoving = _ref.isMoving;\n return patch(axis.line, moveRelativeTo.marginBox[axis.end] + distanceFromStartToBorderBoxCenter(axis, isMoving), getCrossAxisBorderBoxCenter(axis, moveRelativeTo.marginBox, isMoving));\n};\nvar goBefore = function goBefore(_ref2) {\n var axis = _ref2.axis,\n moveRelativeTo = _ref2.moveRelativeTo,\n isMoving = _ref2.isMoving;\n return patch(axis.line, moveRelativeTo.marginBox[axis.start] - distanceFromEndToBorderBoxCenter(axis, isMoving), getCrossAxisBorderBoxCenter(axis, moveRelativeTo.marginBox, isMoving));\n};\nvar goIntoStart = function goIntoStart(_ref3) {\n var axis = _ref3.axis,\n moveInto = _ref3.moveInto,\n isMoving = _ref3.isMoving;\n return patch(axis.line, moveInto.contentBox[axis.start] + distanceFromStartToBorderBoxCenter(axis, isMoving), getCrossAxisBorderBoxCenter(axis, moveInto.contentBox, isMoving));\n};\n\nvar whenReordering = (function (_ref) {\n var impact = _ref.impact,\n draggable = _ref.draggable,\n draggables = _ref.draggables,\n droppable = _ref.droppable,\n afterCritical = _ref.afterCritical;\n var insideDestination = getDraggablesInsideDroppable(droppable.descriptor.id, draggables);\n var draggablePage = draggable.page;\n var axis = droppable.axis;\n\n if (!insideDestination.length) {\n return goIntoStart({\n axis: axis,\n moveInto: droppable.page,\n isMoving: draggablePage\n });\n }\n\n var displaced = impact.displaced,\n displacedBy = impact.displacedBy;\n var closestAfter = displaced.all[0];\n\n if (closestAfter) {\n var closest = draggables[closestAfter];\n\n if (didStartAfterCritical(closestAfter, afterCritical)) {\n return goBefore({\n axis: axis,\n moveRelativeTo: closest.page,\n isMoving: draggablePage\n });\n }\n\n var withDisplacement = offset(closest.page, displacedBy.point);\n return goBefore({\n axis: axis,\n moveRelativeTo: withDisplacement,\n isMoving: draggablePage\n });\n }\n\n var last = insideDestination[insideDestination.length - 1];\n\n if (last.descriptor.id === draggable.descriptor.id) {\n return draggablePage.borderBox.center;\n }\n\n if (didStartAfterCritical(last.descriptor.id, afterCritical)) {\n var page = offset(last.page, negate(afterCritical.displacedBy.point));\n return goAfter({\n axis: axis,\n moveRelativeTo: page,\n isMoving: draggablePage\n });\n }\n\n return goAfter({\n axis: axis,\n moveRelativeTo: last.page,\n isMoving: draggablePage\n });\n});\n\nvar withDroppableDisplacement = (function (droppable, point) {\n var frame = droppable.frame;\n\n if (!frame) {\n return point;\n }\n\n return add(point, frame.scroll.diff.displacement);\n});\n\nvar getResultWithoutDroppableDisplacement = function getResultWithoutDroppableDisplacement(_ref) {\n var impact = _ref.impact,\n draggable = _ref.draggable,\n droppable = _ref.droppable,\n draggables = _ref.draggables,\n afterCritical = _ref.afterCritical;\n var original = draggable.page.borderBox.center;\n var at = impact.at;\n\n if (!droppable) {\n return original;\n }\n\n if (!at) {\n return original;\n }\n\n if (at.type === 'REORDER') {\n return whenReordering({\n impact: impact,\n draggable: draggable,\n draggables: draggables,\n droppable: droppable,\n afterCritical: afterCritical\n });\n }\n\n return whenCombining({\n impact: impact,\n draggables: draggables,\n afterCritical: afterCritical\n });\n};\n\nvar getPageBorderBoxCenterFromImpact = (function (args) {\n var withoutDisplacement = getResultWithoutDroppableDisplacement(args);\n var droppable = args.droppable;\n var withDisplacement = droppable ? withDroppableDisplacement(droppable, withoutDisplacement) : withoutDisplacement;\n return withDisplacement;\n});\n\nvar scrollViewport = (function (viewport, newScroll) {\n var diff = subtract(newScroll, viewport.scroll.initial);\n var displacement = negate(diff);\n var frame = getRect({\n top: newScroll.y,\n bottom: newScroll.y + viewport.frame.height,\n left: newScroll.x,\n right: newScroll.x + viewport.frame.width\n });\n var updated = {\n frame: frame,\n scroll: {\n initial: viewport.scroll.initial,\n max: viewport.scroll.max,\n current: newScroll,\n diff: {\n value: diff,\n displacement: displacement\n }\n }\n };\n return updated;\n});\n\nfunction getDraggables(ids, draggables) {\n return ids.map(function (id) {\n return draggables[id];\n });\n}\n\nfunction tryGetVisible(id, groups) {\n for (var i = 0; i < groups.length; i++) {\n var displacement = groups[i].visible[id];\n\n if (displacement) {\n return displacement;\n }\n }\n\n return null;\n}\n\nvar speculativelyIncrease = (function (_ref) {\n var impact = _ref.impact,\n viewport = _ref.viewport,\n destination = _ref.destination,\n draggables = _ref.draggables,\n maxScrollChange = _ref.maxScrollChange;\n var scrolledViewport = scrollViewport(viewport, add(viewport.scroll.current, maxScrollChange));\n var scrolledDroppable = destination.frame ? scrollDroppable(destination, add(destination.frame.scroll.current, maxScrollChange)) : destination;\n var last = impact.displaced;\n var withViewportScroll = getDisplacementGroups({\n afterDragging: getDraggables(last.all, draggables),\n destination: destination,\n displacedBy: impact.displacedBy,\n viewport: scrolledViewport.frame,\n last: last,\n forceShouldAnimate: false\n });\n var withDroppableScroll = getDisplacementGroups({\n afterDragging: getDraggables(last.all, draggables),\n destination: scrolledDroppable,\n displacedBy: impact.displacedBy,\n viewport: viewport.frame,\n last: last,\n forceShouldAnimate: false\n });\n var invisible = {};\n var visible = {};\n var groups = [last, withViewportScroll, withDroppableScroll];\n last.all.forEach(function (id) {\n var displacement = tryGetVisible(id, groups);\n\n if (displacement) {\n visible[id] = displacement;\n return;\n }\n\n invisible[id] = true;\n });\n\n var newImpact = _extends({}, impact, {\n displaced: {\n all: last.all,\n invisible: invisible,\n visible: visible\n }\n });\n\n return newImpact;\n});\n\nvar withViewportDisplacement = (function (viewport, point) {\n return add(viewport.scroll.diff.displacement, point);\n});\n\nvar getClientFromPageBorderBoxCenter = (function (_ref) {\n var pageBorderBoxCenter = _ref.pageBorderBoxCenter,\n draggable = _ref.draggable,\n viewport = _ref.viewport;\n var withoutPageScrollChange = withViewportDisplacement(viewport, pageBorderBoxCenter);\n var offset = subtract(withoutPageScrollChange, draggable.page.borderBox.center);\n return add(draggable.client.borderBox.center, offset);\n});\n\nvar isTotallyVisibleInNewLocation = (function (_ref) {\n var draggable = _ref.draggable,\n destination = _ref.destination,\n newPageBorderBoxCenter = _ref.newPageBorderBoxCenter,\n viewport = _ref.viewport,\n withDroppableDisplacement = _ref.withDroppableDisplacement,\n _ref$onlyOnMainAxis = _ref.onlyOnMainAxis,\n onlyOnMainAxis = _ref$onlyOnMainAxis === void 0 ? false : _ref$onlyOnMainAxis;\n var changeNeeded = subtract(newPageBorderBoxCenter, draggable.page.borderBox.center);\n var shifted = offsetByPosition(draggable.page.borderBox, changeNeeded);\n var args = {\n target: shifted,\n destination: destination,\n withDroppableDisplacement: withDroppableDisplacement,\n viewport: viewport\n };\n return onlyOnMainAxis ? isTotallyVisibleOnAxis(args) : isTotallyVisible(args);\n});\n\nvar moveToNextPlace = (function (_ref) {\n var isMovingForward = _ref.isMovingForward,\n draggable = _ref.draggable,\n destination = _ref.destination,\n draggables = _ref.draggables,\n previousImpact = _ref.previousImpact,\n viewport = _ref.viewport,\n previousPageBorderBoxCenter = _ref.previousPageBorderBoxCenter,\n previousClientSelection = _ref.previousClientSelection,\n afterCritical = _ref.afterCritical;\n\n if (!destination.isEnabled) {\n return null;\n }\n\n var insideDestination = getDraggablesInsideDroppable(destination.descriptor.id, draggables);\n var isInHomeList = isHomeOf(draggable, destination);\n var impact = moveToNextCombine({\n isMovingForward: isMovingForward,\n draggable: draggable,\n destination: destination,\n insideDestination: insideDestination,\n previousImpact: previousImpact\n }) || moveToNextIndex({\n isMovingForward: isMovingForward,\n isInHomeList: isInHomeList,\n draggable: draggable,\n draggables: draggables,\n destination: destination,\n insideDestination: insideDestination,\n previousImpact: previousImpact,\n viewport: viewport,\n afterCritical: afterCritical\n });\n\n if (!impact) {\n return null;\n }\n\n var pageBorderBoxCenter = getPageBorderBoxCenterFromImpact({\n impact: impact,\n draggable: draggable,\n droppable: destination,\n draggables: draggables,\n afterCritical: afterCritical\n });\n var isVisibleInNewLocation = isTotallyVisibleInNewLocation({\n draggable: draggable,\n destination: destination,\n newPageBorderBoxCenter: pageBorderBoxCenter,\n viewport: viewport.frame,\n withDroppableDisplacement: false,\n onlyOnMainAxis: true\n });\n\n if (isVisibleInNewLocation) {\n var clientSelection = getClientFromPageBorderBoxCenter({\n pageBorderBoxCenter: pageBorderBoxCenter,\n draggable: draggable,\n viewport: viewport\n });\n return {\n clientSelection: clientSelection,\n impact: impact,\n scrollJumpRequest: null\n };\n }\n\n var distance = subtract(pageBorderBoxCenter, previousPageBorderBoxCenter);\n var cautious = speculativelyIncrease({\n impact: impact,\n viewport: viewport,\n destination: destination,\n draggables: draggables,\n maxScrollChange: distance\n });\n return {\n clientSelection: previousClientSelection,\n impact: cautious,\n scrollJumpRequest: distance\n };\n});\n\nvar getKnownActive = function getKnownActive(droppable) {\n var rect = droppable.subject.active;\n !rect ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot get clipped area from droppable') : invariant(false) : void 0;\n return rect;\n};\n\nvar getBestCrossAxisDroppable = (function (_ref) {\n var isMovingForward = _ref.isMovingForward,\n pageBorderBoxCenter = _ref.pageBorderBoxCenter,\n source = _ref.source,\n droppables = _ref.droppables,\n viewport = _ref.viewport;\n var active = source.subject.active;\n\n if (!active) {\n return null;\n }\n\n var axis = source.axis;\n var isBetweenSourceClipped = isWithin(active[axis.start], active[axis.end]);\n var candidates = toDroppableList(droppables).filter(function (droppable) {\n return droppable !== source;\n }).filter(function (droppable) {\n return droppable.isEnabled;\n }).filter(function (droppable) {\n return Boolean(droppable.subject.active);\n }).filter(function (droppable) {\n return isPartiallyVisibleThroughFrame(viewport.frame)(getKnownActive(droppable));\n }).filter(function (droppable) {\n var activeOfTarget = getKnownActive(droppable);\n\n if (isMovingForward) {\n return active[axis.crossAxisEnd] < activeOfTarget[axis.crossAxisEnd];\n }\n\n return activeOfTarget[axis.crossAxisStart] < active[axis.crossAxisStart];\n }).filter(function (droppable) {\n var activeOfTarget = getKnownActive(droppable);\n var isBetweenDestinationClipped = isWithin(activeOfTarget[axis.start], activeOfTarget[axis.end]);\n return isBetweenSourceClipped(activeOfTarget[axis.start]) || isBetweenSourceClipped(activeOfTarget[axis.end]) || isBetweenDestinationClipped(active[axis.start]) || isBetweenDestinationClipped(active[axis.end]);\n }).sort(function (a, b) {\n var first = getKnownActive(a)[axis.crossAxisStart];\n var second = getKnownActive(b)[axis.crossAxisStart];\n\n if (isMovingForward) {\n return first - second;\n }\n\n return second - first;\n }).filter(function (droppable, index, array) {\n return getKnownActive(droppable)[axis.crossAxisStart] === getKnownActive(array[0])[axis.crossAxisStart];\n });\n\n if (!candidates.length) {\n return null;\n }\n\n if (candidates.length === 1) {\n return candidates[0];\n }\n\n var contains = candidates.filter(function (droppable) {\n var isWithinDroppable = isWithin(getKnownActive(droppable)[axis.start], getKnownActive(droppable)[axis.end]);\n return isWithinDroppable(pageBorderBoxCenter[axis.line]);\n });\n\n if (contains.length === 1) {\n return contains[0];\n }\n\n if (contains.length > 1) {\n return contains.sort(function (a, b) {\n return getKnownActive(a)[axis.start] - getKnownActive(b)[axis.start];\n })[0];\n }\n\n return candidates.sort(function (a, b) {\n var first = closest(pageBorderBoxCenter, getCorners(getKnownActive(a)));\n var second = closest(pageBorderBoxCenter, getCorners(getKnownActive(b)));\n\n if (first !== second) {\n return first - second;\n }\n\n return getKnownActive(a)[axis.start] - getKnownActive(b)[axis.start];\n })[0];\n});\n\nvar getCurrentPageBorderBoxCenter = function getCurrentPageBorderBoxCenter(draggable, afterCritical) {\n var original = draggable.page.borderBox.center;\n return didStartAfterCritical(draggable.descriptor.id, afterCritical) ? subtract(original, afterCritical.displacedBy.point) : original;\n};\nvar getCurrentPageBorderBox = function getCurrentPageBorderBox(draggable, afterCritical) {\n var original = draggable.page.borderBox;\n return didStartAfterCritical(draggable.descriptor.id, afterCritical) ? offsetByPosition(original, negate(afterCritical.displacedBy.point)) : original;\n};\n\nvar getClosestDraggable = (function (_ref) {\n var pageBorderBoxCenter = _ref.pageBorderBoxCenter,\n viewport = _ref.viewport,\n destination = _ref.destination,\n insideDestination = _ref.insideDestination,\n afterCritical = _ref.afterCritical;\n var sorted = insideDestination.filter(function (draggable) {\n return isTotallyVisible({\n target: getCurrentPageBorderBox(draggable, afterCritical),\n destination: destination,\n viewport: viewport.frame,\n withDroppableDisplacement: true\n });\n }).sort(function (a, b) {\n var distanceToA = distance(pageBorderBoxCenter, withDroppableDisplacement(destination, getCurrentPageBorderBoxCenter(a, afterCritical)));\n var distanceToB = distance(pageBorderBoxCenter, withDroppableDisplacement(destination, getCurrentPageBorderBoxCenter(b, afterCritical)));\n\n if (distanceToA < distanceToB) {\n return -1;\n }\n\n if (distanceToB < distanceToA) {\n return 1;\n }\n\n return a.descriptor.index - b.descriptor.index;\n });\n return sorted[0] || null;\n});\n\nvar getDisplacedBy = memoizeOne(function getDisplacedBy(axis, displaceBy) {\n var displacement = displaceBy[axis.line];\n return {\n value: displacement,\n point: patch(axis.line, displacement)\n };\n});\n\nvar getRequiredGrowthForPlaceholder = function getRequiredGrowthForPlaceholder(droppable, placeholderSize, draggables) {\n var axis = droppable.axis;\n\n if (droppable.descriptor.mode === 'virtual') {\n return patch(axis.line, placeholderSize[axis.line]);\n }\n\n var availableSpace = droppable.subject.page.contentBox[axis.size];\n var insideDroppable = getDraggablesInsideDroppable(droppable.descriptor.id, draggables);\n var spaceUsed = insideDroppable.reduce(function (sum, dimension) {\n return sum + dimension.client.marginBox[axis.size];\n }, 0);\n var requiredSpace = spaceUsed + placeholderSize[axis.line];\n var needsToGrowBy = requiredSpace - availableSpace;\n\n if (needsToGrowBy <= 0) {\n return null;\n }\n\n return patch(axis.line, needsToGrowBy);\n};\n\nvar withMaxScroll = function withMaxScroll(frame, max) {\n return _extends({}, frame, {\n scroll: _extends({}, frame.scroll, {\n max: max\n })\n });\n};\n\nvar addPlaceholder = function addPlaceholder(droppable, draggable, draggables) {\n var frame = droppable.frame;\n !!isHomeOf(draggable, droppable) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Should not add placeholder space to home list') : invariant(false) : void 0;\n !!droppable.subject.withPlaceholder ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot add placeholder size to a subject when it already has one') : invariant(false) : void 0;\n var placeholderSize = getDisplacedBy(droppable.axis, draggable.displaceBy).point;\n var requiredGrowth = getRequiredGrowthForPlaceholder(droppable, placeholderSize, draggables);\n var added = {\n placeholderSize: placeholderSize,\n increasedBy: requiredGrowth,\n oldFrameMaxScroll: droppable.frame ? droppable.frame.scroll.max : null\n };\n\n if (!frame) {\n var _subject = getSubject({\n page: droppable.subject.page,\n withPlaceholder: added,\n axis: droppable.axis,\n frame: droppable.frame\n });\n\n return _extends({}, droppable, {\n subject: _subject\n });\n }\n\n var maxScroll = requiredGrowth ? add(frame.scroll.max, requiredGrowth) : frame.scroll.max;\n var newFrame = withMaxScroll(frame, maxScroll);\n var subject = getSubject({\n page: droppable.subject.page,\n withPlaceholder: added,\n axis: droppable.axis,\n frame: newFrame\n });\n return _extends({}, droppable, {\n subject: subject,\n frame: newFrame\n });\n};\nvar removePlaceholder = function removePlaceholder(droppable) {\n var added = droppable.subject.withPlaceholder;\n !added ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot remove placeholder form subject when there was none') : invariant(false) : void 0;\n var frame = droppable.frame;\n\n if (!frame) {\n var _subject2 = getSubject({\n page: droppable.subject.page,\n axis: droppable.axis,\n frame: null,\n withPlaceholder: null\n });\n\n return _extends({}, droppable, {\n subject: _subject2\n });\n }\n\n var oldMaxScroll = added.oldFrameMaxScroll;\n !oldMaxScroll ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Expected droppable with frame to have old max frame scroll when removing placeholder') : invariant(false) : void 0;\n var newFrame = withMaxScroll(frame, oldMaxScroll);\n var subject = getSubject({\n page: droppable.subject.page,\n axis: droppable.axis,\n frame: newFrame,\n withPlaceholder: null\n });\n return _extends({}, droppable, {\n subject: subject,\n frame: newFrame\n });\n};\n\nvar moveToNewDroppable = (function (_ref) {\n var previousPageBorderBoxCenter = _ref.previousPageBorderBoxCenter,\n moveRelativeTo = _ref.moveRelativeTo,\n insideDestination = _ref.insideDestination,\n draggable = _ref.draggable,\n draggables = _ref.draggables,\n destination = _ref.destination,\n viewport = _ref.viewport,\n afterCritical = _ref.afterCritical;\n\n if (!moveRelativeTo) {\n if (insideDestination.length) {\n return null;\n }\n\n var proposed = {\n displaced: emptyGroups,\n displacedBy: noDisplacedBy,\n at: {\n type: 'REORDER',\n destination: {\n droppableId: destination.descriptor.id,\n index: 0\n }\n }\n };\n var proposedPageBorderBoxCenter = getPageBorderBoxCenterFromImpact({\n impact: proposed,\n draggable: draggable,\n droppable: destination,\n draggables: draggables,\n afterCritical: afterCritical\n });\n var withPlaceholder = isHomeOf(draggable, destination) ? destination : addPlaceholder(destination, draggable, draggables);\n var isVisibleInNewLocation = isTotallyVisibleInNewLocation({\n draggable: draggable,\n destination: withPlaceholder,\n newPageBorderBoxCenter: proposedPageBorderBoxCenter,\n viewport: viewport.frame,\n withDroppableDisplacement: false,\n onlyOnMainAxis: true\n });\n return isVisibleInNewLocation ? proposed : null;\n }\n\n var isGoingBeforeTarget = Boolean(previousPageBorderBoxCenter[destination.axis.line] <= moveRelativeTo.page.borderBox.center[destination.axis.line]);\n\n var proposedIndex = function () {\n var relativeTo = moveRelativeTo.descriptor.index;\n\n if (moveRelativeTo.descriptor.id === draggable.descriptor.id) {\n return relativeTo;\n }\n\n if (isGoingBeforeTarget) {\n return relativeTo;\n }\n\n return relativeTo + 1;\n }();\n\n var displacedBy = getDisplacedBy(destination.axis, draggable.displaceBy);\n return calculateReorderImpact({\n draggable: draggable,\n insideDestination: insideDestination,\n destination: destination,\n viewport: viewport,\n displacedBy: displacedBy,\n last: emptyGroups,\n index: proposedIndex\n });\n});\n\nvar moveCrossAxis = (function (_ref) {\n var isMovingForward = _ref.isMovingForward,\n previousPageBorderBoxCenter = _ref.previousPageBorderBoxCenter,\n draggable = _ref.draggable,\n isOver = _ref.isOver,\n draggables = _ref.draggables,\n droppables = _ref.droppables,\n viewport = _ref.viewport,\n afterCritical = _ref.afterCritical;\n var destination = getBestCrossAxisDroppable({\n isMovingForward: isMovingForward,\n pageBorderBoxCenter: previousPageBorderBoxCenter,\n source: isOver,\n droppables: droppables,\n viewport: viewport\n });\n\n if (!destination) {\n return null;\n }\n\n var insideDestination = getDraggablesInsideDroppable(destination.descriptor.id, draggables);\n var moveRelativeTo = getClosestDraggable({\n pageBorderBoxCenter: previousPageBorderBoxCenter,\n viewport: viewport,\n destination: destination,\n insideDestination: insideDestination,\n afterCritical: afterCritical\n });\n var impact = moveToNewDroppable({\n previousPageBorderBoxCenter: previousPageBorderBoxCenter,\n destination: destination,\n draggable: draggable,\n draggables: draggables,\n moveRelativeTo: moveRelativeTo,\n insideDestination: insideDestination,\n viewport: viewport,\n afterCritical: afterCritical\n });\n\n if (!impact) {\n return null;\n }\n\n var pageBorderBoxCenter = getPageBorderBoxCenterFromImpact({\n impact: impact,\n draggable: draggable,\n droppable: destination,\n draggables: draggables,\n afterCritical: afterCritical\n });\n var clientSelection = getClientFromPageBorderBoxCenter({\n pageBorderBoxCenter: pageBorderBoxCenter,\n draggable: draggable,\n viewport: viewport\n });\n return {\n clientSelection: clientSelection,\n impact: impact,\n scrollJumpRequest: null\n };\n});\n\nvar whatIsDraggedOver = (function (impact) {\n var at = impact.at;\n\n if (!at) {\n return null;\n }\n\n if (at.type === 'REORDER') {\n return at.destination.droppableId;\n }\n\n return at.combine.droppableId;\n});\n\nvar getDroppableOver = function getDroppableOver(impact, droppables) {\n var id = whatIsDraggedOver(impact);\n return id ? droppables[id] : null;\n};\n\nvar moveInDirection = (function (_ref) {\n var state = _ref.state,\n type = _ref.type;\n var isActuallyOver = getDroppableOver(state.impact, state.dimensions.droppables);\n var isMainAxisMovementAllowed = Boolean(isActuallyOver);\n var home = state.dimensions.droppables[state.critical.droppable.id];\n var isOver = isActuallyOver || home;\n var direction = isOver.axis.direction;\n var isMovingOnMainAxis = direction === 'vertical' && (type === 'MOVE_UP' || type === 'MOVE_DOWN') || direction === 'horizontal' && (type === 'MOVE_LEFT' || type === 'MOVE_RIGHT');\n\n if (isMovingOnMainAxis && !isMainAxisMovementAllowed) {\n return null;\n }\n\n var isMovingForward = type === 'MOVE_DOWN' || type === 'MOVE_RIGHT';\n var draggable = state.dimensions.draggables[state.critical.draggable.id];\n var previousPageBorderBoxCenter = state.current.page.borderBoxCenter;\n var _state$dimensions = state.dimensions,\n draggables = _state$dimensions.draggables,\n droppables = _state$dimensions.droppables;\n return isMovingOnMainAxis ? moveToNextPlace({\n isMovingForward: isMovingForward,\n previousPageBorderBoxCenter: previousPageBorderBoxCenter,\n draggable: draggable,\n destination: isOver,\n draggables: draggables,\n viewport: state.viewport,\n previousClientSelection: state.current.client.selection,\n previousImpact: state.impact,\n afterCritical: state.afterCritical\n }) : moveCrossAxis({\n isMovingForward: isMovingForward,\n previousPageBorderBoxCenter: previousPageBorderBoxCenter,\n draggable: draggable,\n isOver: isOver,\n draggables: draggables,\n droppables: droppables,\n viewport: state.viewport,\n afterCritical: state.afterCritical\n });\n});\n\nfunction isMovementAllowed(state) {\n return state.phase === 'DRAGGING' || state.phase === 'COLLECTING';\n}\n\nfunction isPositionInFrame(frame) {\n var isWithinVertical = isWithin(frame.top, frame.bottom);\n var isWithinHorizontal = isWithin(frame.left, frame.right);\n return function run(point) {\n return isWithinVertical(point.y) && isWithinHorizontal(point.x);\n };\n}\n\nfunction getHasOverlap(first, second) {\n return first.left < second.right && first.right > second.left && first.top < second.bottom && first.bottom > second.top;\n}\n\nfunction getFurthestAway(_ref) {\n var pageBorderBox = _ref.pageBorderBox,\n draggable = _ref.draggable,\n candidates = _ref.candidates;\n var startCenter = draggable.page.borderBox.center;\n var sorted = candidates.map(function (candidate) {\n var axis = candidate.axis;\n var target = patch(candidate.axis.line, pageBorderBox.center[axis.line], candidate.page.borderBox.center[axis.crossAxisLine]);\n return {\n id: candidate.descriptor.id,\n distance: distance(startCenter, target)\n };\n }).sort(function (a, b) {\n return b.distance - a.distance;\n });\n return sorted[0] ? sorted[0].id : null;\n}\n\nfunction getDroppableOver$1(_ref2) {\n var pageBorderBox = _ref2.pageBorderBox,\n draggable = _ref2.draggable,\n droppables = _ref2.droppables;\n var candidates = toDroppableList(droppables).filter(function (item) {\n if (!item.isEnabled) {\n return false;\n }\n\n var active = item.subject.active;\n\n if (!active) {\n return false;\n }\n\n if (!getHasOverlap(pageBorderBox, active)) {\n return false;\n }\n\n if (isPositionInFrame(active)(pageBorderBox.center)) {\n return true;\n }\n\n var axis = item.axis;\n var childCenter = active.center[axis.crossAxisLine];\n var crossAxisStart = pageBorderBox[axis.crossAxisStart];\n var crossAxisEnd = pageBorderBox[axis.crossAxisEnd];\n var isContained = isWithin(active[axis.crossAxisStart], active[axis.crossAxisEnd]);\n var isStartContained = isContained(crossAxisStart);\n var isEndContained = isContained(crossAxisEnd);\n\n if (!isStartContained && !isEndContained) {\n return true;\n }\n\n if (isStartContained) {\n return crossAxisStart < childCenter;\n }\n\n return crossAxisEnd > childCenter;\n });\n\n if (!candidates.length) {\n return null;\n }\n\n if (candidates.length === 1) {\n return candidates[0].descriptor.id;\n }\n\n return getFurthestAway({\n pageBorderBox: pageBorderBox,\n draggable: draggable,\n candidates: candidates\n });\n}\n\nvar offsetRectByPosition = function offsetRectByPosition(rect, point) {\n return getRect(offsetByPosition(rect, point));\n};\n\nvar withDroppableScroll = (function (droppable, area) {\n var frame = droppable.frame;\n\n if (!frame) {\n return area;\n }\n\n return offsetRectByPosition(area, frame.scroll.diff.value);\n});\n\nfunction getIsDisplaced(_ref) {\n var displaced = _ref.displaced,\n id = _ref.id;\n return Boolean(displaced.visible[id] || displaced.invisible[id]);\n}\n\nfunction atIndex(_ref) {\n var draggable = _ref.draggable,\n closest = _ref.closest,\n inHomeList = _ref.inHomeList;\n\n if (!closest) {\n return null;\n }\n\n if (!inHomeList) {\n return closest.descriptor.index;\n }\n\n if (closest.descriptor.index > draggable.descriptor.index) {\n return closest.descriptor.index - 1;\n }\n\n return closest.descriptor.index;\n}\n\nvar getReorderImpact = (function (_ref2) {\n var targetRect = _ref2.pageBorderBoxWithDroppableScroll,\n draggable = _ref2.draggable,\n destination = _ref2.destination,\n insideDestination = _ref2.insideDestination,\n last = _ref2.last,\n viewport = _ref2.viewport,\n afterCritical = _ref2.afterCritical;\n var axis = destination.axis;\n var displacedBy = getDisplacedBy(destination.axis, draggable.displaceBy);\n var displacement = displacedBy.value;\n var targetStart = targetRect[axis.start];\n var targetEnd = targetRect[axis.end];\n var withoutDragging = removeDraggableFromList(draggable, insideDestination);\n var closest = find(withoutDragging, function (child) {\n var id = child.descriptor.id;\n var childCenter = child.page.borderBox.center[axis.line];\n var didStartAfterCritical$1 = didStartAfterCritical(id, afterCritical);\n var isDisplaced = getIsDisplaced({\n displaced: last,\n id: id\n });\n\n if (didStartAfterCritical$1) {\n if (isDisplaced) {\n return targetEnd <= childCenter;\n }\n\n return targetStart < childCenter - displacement;\n }\n\n if (isDisplaced) {\n return targetEnd <= childCenter + displacement;\n }\n\n return targetStart < childCenter;\n });\n var newIndex = atIndex({\n draggable: draggable,\n closest: closest,\n inHomeList: isHomeOf(draggable, destination)\n });\n return calculateReorderImpact({\n draggable: draggable,\n insideDestination: insideDestination,\n destination: destination,\n viewport: viewport,\n last: last,\n displacedBy: displacedBy,\n index: newIndex\n });\n});\n\nvar combineThresholdDivisor = 4;\nvar getCombineImpact = (function (_ref) {\n var draggable = _ref.draggable,\n targetRect = _ref.pageBorderBoxWithDroppableScroll,\n previousImpact = _ref.previousImpact,\n destination = _ref.destination,\n insideDestination = _ref.insideDestination,\n afterCritical = _ref.afterCritical;\n\n if (!destination.isCombineEnabled) {\n return null;\n }\n\n var axis = destination.axis;\n var displacedBy = getDisplacedBy(destination.axis, draggable.displaceBy);\n var displacement = displacedBy.value;\n var targetStart = targetRect[axis.start];\n var targetEnd = targetRect[axis.end];\n var withoutDragging = removeDraggableFromList(draggable, insideDestination);\n var combineWith = find(withoutDragging, function (child) {\n var id = child.descriptor.id;\n var childRect = child.page.borderBox;\n var childSize = childRect[axis.size];\n var threshold = childSize / combineThresholdDivisor;\n var didStartAfterCritical$1 = didStartAfterCritical(id, afterCritical);\n var isDisplaced = getIsDisplaced({\n displaced: previousImpact.displaced,\n id: id\n });\n\n if (didStartAfterCritical$1) {\n if (isDisplaced) {\n return targetEnd > childRect[axis.start] + threshold && targetEnd < childRect[axis.end] - threshold;\n }\n\n return targetStart > childRect[axis.start] - displacement + threshold && targetStart < childRect[axis.end] - displacement - threshold;\n }\n\n if (isDisplaced) {\n return targetEnd > childRect[axis.start] + displacement + threshold && targetEnd < childRect[axis.end] + displacement - threshold;\n }\n\n return targetStart > childRect[axis.start] + threshold && targetStart < childRect[axis.end] - threshold;\n });\n\n if (!combineWith) {\n return null;\n }\n\n var impact = {\n displacedBy: displacedBy,\n displaced: previousImpact.displaced,\n at: {\n type: 'COMBINE',\n combine: {\n draggableId: combineWith.descriptor.id,\n droppableId: destination.descriptor.id\n }\n }\n };\n return impact;\n});\n\nvar getDragImpact = (function (_ref) {\n var pageOffset = _ref.pageOffset,\n draggable = _ref.draggable,\n draggables = _ref.draggables,\n droppables = _ref.droppables,\n previousImpact = _ref.previousImpact,\n viewport = _ref.viewport,\n afterCritical = _ref.afterCritical;\n var pageBorderBox = offsetRectByPosition(draggable.page.borderBox, pageOffset);\n var destinationId = getDroppableOver$1({\n pageBorderBox: pageBorderBox,\n draggable: draggable,\n droppables: droppables\n });\n\n if (!destinationId) {\n return noImpact;\n }\n\n var destination = droppables[destinationId];\n var insideDestination = getDraggablesInsideDroppable(destination.descriptor.id, draggables);\n var pageBorderBoxWithDroppableScroll = withDroppableScroll(destination, pageBorderBox);\n return getCombineImpact({\n pageBorderBoxWithDroppableScroll: pageBorderBoxWithDroppableScroll,\n draggable: draggable,\n previousImpact: previousImpact,\n destination: destination,\n insideDestination: insideDestination,\n afterCritical: afterCritical\n }) || getReorderImpact({\n pageBorderBoxWithDroppableScroll: pageBorderBoxWithDroppableScroll,\n draggable: draggable,\n destination: destination,\n insideDestination: insideDestination,\n last: previousImpact.displaced,\n viewport: viewport,\n afterCritical: afterCritical\n });\n});\n\nvar patchDroppableMap = (function (droppables, updated) {\n var _extends2;\n\n return _extends({}, droppables, (_extends2 = {}, _extends2[updated.descriptor.id] = updated, _extends2));\n});\n\nvar clearUnusedPlaceholder = function clearUnusedPlaceholder(_ref) {\n var previousImpact = _ref.previousImpact,\n impact = _ref.impact,\n droppables = _ref.droppables;\n var last = whatIsDraggedOver(previousImpact);\n var now = whatIsDraggedOver(impact);\n\n if (!last) {\n return droppables;\n }\n\n if (last === now) {\n return droppables;\n }\n\n var lastDroppable = droppables[last];\n\n if (!lastDroppable.subject.withPlaceholder) {\n return droppables;\n }\n\n var updated = removePlaceholder(lastDroppable);\n return patchDroppableMap(droppables, updated);\n};\n\nvar recomputePlaceholders = (function (_ref2) {\n var draggable = _ref2.draggable,\n draggables = _ref2.draggables,\n droppables = _ref2.droppables,\n previousImpact = _ref2.previousImpact,\n impact = _ref2.impact;\n var cleaned = clearUnusedPlaceholder({\n previousImpact: previousImpact,\n impact: impact,\n droppables: droppables\n });\n var isOver = whatIsDraggedOver(impact);\n\n if (!isOver) {\n return cleaned;\n }\n\n var droppable = droppables[isOver];\n\n if (isHomeOf(draggable, droppable)) {\n return cleaned;\n }\n\n if (droppable.subject.withPlaceholder) {\n return cleaned;\n }\n\n var patched = addPlaceholder(droppable, draggable, draggables);\n return patchDroppableMap(cleaned, patched);\n});\n\nvar update = (function (_ref) {\n var state = _ref.state,\n forcedClientSelection = _ref.clientSelection,\n forcedDimensions = _ref.dimensions,\n forcedViewport = _ref.viewport,\n forcedImpact = _ref.impact,\n scrollJumpRequest = _ref.scrollJumpRequest;\n var viewport = forcedViewport || state.viewport;\n var dimensions = forcedDimensions || state.dimensions;\n var clientSelection = forcedClientSelection || state.current.client.selection;\n var offset = subtract(clientSelection, state.initial.client.selection);\n var client = {\n offset: offset,\n selection: clientSelection,\n borderBoxCenter: add(state.initial.client.borderBoxCenter, offset)\n };\n var page = {\n selection: add(client.selection, viewport.scroll.current),\n borderBoxCenter: add(client.borderBoxCenter, viewport.scroll.current),\n offset: add(client.offset, viewport.scroll.diff.value)\n };\n var current = {\n client: client,\n page: page\n };\n\n if (state.phase === 'COLLECTING') {\n return _extends({\n phase: 'COLLECTING'\n }, state, {\n dimensions: dimensions,\n viewport: viewport,\n current: current\n });\n }\n\n var draggable = dimensions.draggables[state.critical.draggable.id];\n var newImpact = forcedImpact || getDragImpact({\n pageOffset: page.offset,\n draggable: draggable,\n draggables: dimensions.draggables,\n droppables: dimensions.droppables,\n previousImpact: state.impact,\n viewport: viewport,\n afterCritical: state.afterCritical\n });\n var withUpdatedPlaceholders = recomputePlaceholders({\n draggable: draggable,\n impact: newImpact,\n previousImpact: state.impact,\n draggables: dimensions.draggables,\n droppables: dimensions.droppables\n });\n\n var result = _extends({}, state, {\n current: current,\n dimensions: {\n draggables: dimensions.draggables,\n droppables: withUpdatedPlaceholders\n },\n impact: newImpact,\n viewport: viewport,\n scrollJumpRequest: scrollJumpRequest || null,\n forceShouldAnimate: scrollJumpRequest ? false : null\n });\n\n return result;\n});\n\nfunction getDraggables$1(ids, draggables) {\n return ids.map(function (id) {\n return draggables[id];\n });\n}\n\nvar recompute = (function (_ref) {\n var impact = _ref.impact,\n viewport = _ref.viewport,\n draggables = _ref.draggables,\n destination = _ref.destination,\n forceShouldAnimate = _ref.forceShouldAnimate;\n var last = impact.displaced;\n var afterDragging = getDraggables$1(last.all, draggables);\n var displaced = getDisplacementGroups({\n afterDragging: afterDragging,\n destination: destination,\n displacedBy: impact.displacedBy,\n viewport: viewport.frame,\n forceShouldAnimate: forceShouldAnimate,\n last: last\n });\n return _extends({}, impact, {\n displaced: displaced\n });\n});\n\nvar getClientBorderBoxCenter = (function (_ref) {\n var impact = _ref.impact,\n draggable = _ref.draggable,\n droppable = _ref.droppable,\n draggables = _ref.draggables,\n viewport = _ref.viewport,\n afterCritical = _ref.afterCritical;\n var pageBorderBoxCenter = getPageBorderBoxCenterFromImpact({\n impact: impact,\n draggable: draggable,\n draggables: draggables,\n droppable: droppable,\n afterCritical: afterCritical\n });\n return getClientFromPageBorderBoxCenter({\n pageBorderBoxCenter: pageBorderBoxCenter,\n draggable: draggable,\n viewport: viewport\n });\n});\n\nvar refreshSnap = (function (_ref) {\n var state = _ref.state,\n forcedDimensions = _ref.dimensions,\n forcedViewport = _ref.viewport;\n !(state.movementMode === 'SNAP') ? process.env.NODE_ENV !== \"production\" ? invariant(false) : invariant(false) : void 0;\n var needsVisibilityCheck = state.impact;\n var viewport = forcedViewport || state.viewport;\n var dimensions = forcedDimensions || state.dimensions;\n var draggables = dimensions.draggables,\n droppables = dimensions.droppables;\n var draggable = draggables[state.critical.draggable.id];\n var isOver = whatIsDraggedOver(needsVisibilityCheck);\n !isOver ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Must be over a destination in SNAP movement mode') : invariant(false) : void 0;\n var destination = droppables[isOver];\n var impact = recompute({\n impact: needsVisibilityCheck,\n viewport: viewport,\n destination: destination,\n draggables: draggables\n });\n var clientSelection = getClientBorderBoxCenter({\n impact: impact,\n draggable: draggable,\n droppable: destination,\n draggables: draggables,\n viewport: viewport,\n afterCritical: state.afterCritical\n });\n return update({\n impact: impact,\n clientSelection: clientSelection,\n state: state,\n dimensions: dimensions,\n viewport: viewport\n });\n});\n\nvar getHomeLocation = (function (descriptor) {\n return {\n index: descriptor.index,\n droppableId: descriptor.droppableId\n };\n});\n\nvar getLiftEffect = (function (_ref) {\n var draggable = _ref.draggable,\n home = _ref.home,\n draggables = _ref.draggables,\n viewport = _ref.viewport;\n var displacedBy = getDisplacedBy(home.axis, draggable.displaceBy);\n var insideHome = getDraggablesInsideDroppable(home.descriptor.id, draggables);\n var rawIndex = insideHome.indexOf(draggable);\n !(rawIndex !== -1) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Expected draggable to be inside home list') : invariant(false) : void 0;\n var afterDragging = insideHome.slice(rawIndex + 1);\n var effected = afterDragging.reduce(function (previous, item) {\n previous[item.descriptor.id] = true;\n return previous;\n }, {});\n var afterCritical = {\n inVirtualList: home.descriptor.mode === 'virtual',\n displacedBy: displacedBy,\n effected: effected\n };\n var displaced = getDisplacementGroups({\n afterDragging: afterDragging,\n destination: home,\n displacedBy: displacedBy,\n last: null,\n viewport: viewport.frame,\n forceShouldAnimate: false\n });\n var impact = {\n displaced: displaced,\n displacedBy: displacedBy,\n at: {\n type: 'REORDER',\n destination: getHomeLocation(draggable.descriptor)\n }\n };\n return {\n impact: impact,\n afterCritical: afterCritical\n };\n});\n\nvar patchDimensionMap = (function (dimensions, updated) {\n return {\n draggables: dimensions.draggables,\n droppables: patchDroppableMap(dimensions.droppables, updated)\n };\n});\n\nvar start = function start(key) {\n if (process.env.NODE_ENV !== 'production') {\n {\n return;\n }\n }\n};\nvar finish = function finish(key) {\n if (process.env.NODE_ENV !== 'production') {\n {\n return;\n }\n }\n};\n\nvar offsetDraggable = (function (_ref) {\n var draggable = _ref.draggable,\n offset$1 = _ref.offset,\n initialWindowScroll = _ref.initialWindowScroll;\n var client = offset(draggable.client, offset$1);\n var page = withScroll(client, initialWindowScroll);\n\n var moved = _extends({}, draggable, {\n placeholder: _extends({}, draggable.placeholder, {\n client: client\n }),\n client: client,\n page: page\n });\n\n return moved;\n});\n\nvar getFrame = (function (droppable) {\n var frame = droppable.frame;\n !frame ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Expected Droppable to have a frame') : invariant(false) : void 0;\n return frame;\n});\n\nvar adjustAdditionsForScrollChanges = (function (_ref) {\n var additions = _ref.additions,\n updatedDroppables = _ref.updatedDroppables,\n viewport = _ref.viewport;\n var windowScrollChange = viewport.scroll.diff.value;\n return additions.map(function (draggable) {\n var droppableId = draggable.descriptor.droppableId;\n var modified = updatedDroppables[droppableId];\n var frame = getFrame(modified);\n var droppableScrollChange = frame.scroll.diff.value;\n var totalChange = add(windowScrollChange, droppableScrollChange);\n var moved = offsetDraggable({\n draggable: draggable,\n offset: totalChange,\n initialWindowScroll: viewport.scroll.initial\n });\n return moved;\n });\n});\n\nvar publishWhileDraggingInVirtual = (function (_ref) {\n var state = _ref.state,\n published = _ref.published;\n start();\n var withScrollChange = published.modified.map(function (update) {\n var existing = state.dimensions.droppables[update.droppableId];\n var scrolled = scrollDroppable(existing, update.scroll);\n return scrolled;\n });\n\n var droppables = _extends({}, state.dimensions.droppables, {}, toDroppableMap(withScrollChange));\n\n var updatedAdditions = toDraggableMap(adjustAdditionsForScrollChanges({\n additions: published.additions,\n updatedDroppables: droppables,\n viewport: state.viewport\n }));\n\n var draggables = _extends({}, state.dimensions.draggables, {}, updatedAdditions);\n\n published.removals.forEach(function (id) {\n delete draggables[id];\n });\n var dimensions = {\n droppables: droppables,\n draggables: draggables\n };\n var wasOverId = whatIsDraggedOver(state.impact);\n var wasOver = wasOverId ? dimensions.droppables[wasOverId] : null;\n var draggable = dimensions.draggables[state.critical.draggable.id];\n var home = dimensions.droppables[state.critical.droppable.id];\n\n var _getLiftEffect = getLiftEffect({\n draggable: draggable,\n home: home,\n draggables: draggables,\n viewport: state.viewport\n }),\n onLiftImpact = _getLiftEffect.impact,\n afterCritical = _getLiftEffect.afterCritical;\n\n var previousImpact = wasOver && wasOver.isCombineEnabled ? state.impact : onLiftImpact;\n var impact = getDragImpact({\n pageOffset: state.current.page.offset,\n draggable: dimensions.draggables[state.critical.draggable.id],\n draggables: dimensions.draggables,\n droppables: dimensions.droppables,\n previousImpact: previousImpact,\n viewport: state.viewport,\n afterCritical: afterCritical\n });\n finish();\n\n var draggingState = _extends({\n phase: 'DRAGGING'\n }, state, {\n phase: 'DRAGGING',\n impact: impact,\n onLiftImpact: onLiftImpact,\n dimensions: dimensions,\n afterCritical: afterCritical,\n forceShouldAnimate: false\n });\n\n if (state.phase === 'COLLECTING') {\n return draggingState;\n }\n\n var dropPending = _extends({\n phase: 'DROP_PENDING'\n }, draggingState, {\n phase: 'DROP_PENDING',\n reason: state.reason,\n isWaiting: false\n });\n\n return dropPending;\n});\n\nvar isSnapping = function isSnapping(state) {\n return state.movementMode === 'SNAP';\n};\n\nvar postDroppableChange = function postDroppableChange(state, updated, isEnabledChanging) {\n var dimensions = patchDimensionMap(state.dimensions, updated);\n\n if (!isSnapping(state) || isEnabledChanging) {\n return update({\n state: state,\n dimensions: dimensions\n });\n }\n\n return refreshSnap({\n state: state,\n dimensions: dimensions\n });\n};\n\nfunction removeScrollJumpRequest(state) {\n if (state.isDragging && state.movementMode === 'SNAP') {\n return _extends({\n phase: 'DRAGGING'\n }, state, {\n scrollJumpRequest: null\n });\n }\n\n return state;\n}\n\nvar idle = {\n phase: 'IDLE',\n completed: null,\n shouldFlush: false\n};\nvar reducer = (function (state, action) {\n if (state === void 0) {\n state = idle;\n }\n\n if (action.type === 'FLUSH') {\n return _extends({}, idle, {\n shouldFlush: true\n });\n }\n\n if (action.type === 'INITIAL_PUBLISH') {\n !(state.phase === 'IDLE') ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'INITIAL_PUBLISH must come after a IDLE phase') : invariant(false) : void 0;\n var _action$payload = action.payload,\n critical = _action$payload.critical,\n clientSelection = _action$payload.clientSelection,\n viewport = _action$payload.viewport,\n dimensions = _action$payload.dimensions,\n movementMode = _action$payload.movementMode;\n var draggable = dimensions.draggables[critical.draggable.id];\n var home = dimensions.droppables[critical.droppable.id];\n var client = {\n selection: clientSelection,\n borderBoxCenter: draggable.client.borderBox.center,\n offset: origin\n };\n var initial = {\n client: client,\n page: {\n selection: add(client.selection, viewport.scroll.initial),\n borderBoxCenter: add(client.selection, viewport.scroll.initial),\n offset: add(client.selection, viewport.scroll.diff.value)\n }\n };\n var isWindowScrollAllowed = toDroppableList(dimensions.droppables).every(function (item) {\n return !item.isFixedOnPage;\n });\n\n var _getLiftEffect = getLiftEffect({\n draggable: draggable,\n home: home,\n draggables: dimensions.draggables,\n viewport: viewport\n }),\n impact = _getLiftEffect.impact,\n afterCritical = _getLiftEffect.afterCritical;\n\n var result = {\n phase: 'DRAGGING',\n isDragging: true,\n critical: critical,\n movementMode: movementMode,\n dimensions: dimensions,\n initial: initial,\n current: initial,\n isWindowScrollAllowed: isWindowScrollAllowed,\n impact: impact,\n afterCritical: afterCritical,\n onLiftImpact: impact,\n viewport: viewport,\n scrollJumpRequest: null,\n forceShouldAnimate: null\n };\n return result;\n }\n\n if (action.type === 'COLLECTION_STARTING') {\n if (state.phase === 'COLLECTING' || state.phase === 'DROP_PENDING') {\n return state;\n }\n\n !(state.phase === 'DRAGGING') ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Collection cannot start from phase \" + state.phase) : invariant(false) : void 0;\n\n var _result = _extends({\n phase: 'COLLECTING'\n }, state, {\n phase: 'COLLECTING'\n });\n\n return _result;\n }\n\n if (action.type === 'PUBLISH_WHILE_DRAGGING') {\n !(state.phase === 'COLLECTING' || state.phase === 'DROP_PENDING') ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Unexpected \" + action.type + \" received in phase \" + state.phase) : invariant(false) : void 0;\n return publishWhileDraggingInVirtual({\n state: state,\n published: action.payload\n });\n }\n\n if (action.type === 'MOVE') {\n if (state.phase === 'DROP_PENDING') {\n return state;\n }\n\n !isMovementAllowed(state) ? process.env.NODE_ENV !== \"production\" ? invariant(false, action.type + \" not permitted in phase \" + state.phase) : invariant(false) : void 0;\n var _clientSelection = action.payload.client;\n\n if (isEqual(_clientSelection, state.current.client.selection)) {\n return state;\n }\n\n return update({\n state: state,\n clientSelection: _clientSelection,\n impact: isSnapping(state) ? state.impact : null\n });\n }\n\n if (action.type === 'UPDATE_DROPPABLE_SCROLL') {\n if (state.phase === 'DROP_PENDING') {\n return removeScrollJumpRequest(state);\n }\n\n if (state.phase === 'COLLECTING') {\n return removeScrollJumpRequest(state);\n }\n\n !isMovementAllowed(state) ? process.env.NODE_ENV !== \"production\" ? invariant(false, action.type + \" not permitted in phase \" + state.phase) : invariant(false) : void 0;\n var _action$payload2 = action.payload,\n id = _action$payload2.id,\n newScroll = _action$payload2.newScroll;\n var target = state.dimensions.droppables[id];\n\n if (!target) {\n return state;\n }\n\n var scrolled = scrollDroppable(target, newScroll);\n return postDroppableChange(state, scrolled, false);\n }\n\n if (action.type === 'UPDATE_DROPPABLE_IS_ENABLED') {\n if (state.phase === 'DROP_PENDING') {\n return state;\n }\n\n !isMovementAllowed(state) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Attempting to move in an unsupported phase \" + state.phase) : invariant(false) : void 0;\n var _action$payload3 = action.payload,\n _id = _action$payload3.id,\n isEnabled = _action$payload3.isEnabled;\n var _target = state.dimensions.droppables[_id];\n !_target ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Cannot find Droppable[id: \" + _id + \"] to toggle its enabled state\") : invariant(false) : void 0;\n !(_target.isEnabled !== isEnabled) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Trying to set droppable isEnabled to \" + String(isEnabled) + \"\\n but it is already \" + String(_target.isEnabled)) : invariant(false) : void 0;\n\n var updated = _extends({}, _target, {\n isEnabled: isEnabled\n });\n\n return postDroppableChange(state, updated, true);\n }\n\n if (action.type === 'UPDATE_DROPPABLE_IS_COMBINE_ENABLED') {\n if (state.phase === 'DROP_PENDING') {\n return state;\n }\n\n !isMovementAllowed(state) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Attempting to move in an unsupported phase \" + state.phase) : invariant(false) : void 0;\n var _action$payload4 = action.payload,\n _id2 = _action$payload4.id,\n isCombineEnabled = _action$payload4.isCombineEnabled;\n var _target2 = state.dimensions.droppables[_id2];\n !_target2 ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Cannot find Droppable[id: \" + _id2 + \"] to toggle its isCombineEnabled state\") : invariant(false) : void 0;\n !(_target2.isCombineEnabled !== isCombineEnabled) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Trying to set droppable isCombineEnabled to \" + String(isCombineEnabled) + \"\\n but it is already \" + String(_target2.isCombineEnabled)) : invariant(false) : void 0;\n\n var _updated = _extends({}, _target2, {\n isCombineEnabled: isCombineEnabled\n });\n\n return postDroppableChange(state, _updated, true);\n }\n\n if (action.type === 'MOVE_BY_WINDOW_SCROLL') {\n if (state.phase === 'DROP_PENDING' || state.phase === 'DROP_ANIMATING') {\n return state;\n }\n\n !isMovementAllowed(state) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Cannot move by window in phase \" + state.phase) : invariant(false) : void 0;\n !state.isWindowScrollAllowed ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Window scrolling is currently not supported for fixed lists') : invariant(false) : void 0;\n var _newScroll = action.payload.newScroll;\n\n if (isEqual(state.viewport.scroll.current, _newScroll)) {\n return removeScrollJumpRequest(state);\n }\n\n var _viewport = scrollViewport(state.viewport, _newScroll);\n\n if (isSnapping(state)) {\n return refreshSnap({\n state: state,\n viewport: _viewport\n });\n }\n\n return update({\n state: state,\n viewport: _viewport\n });\n }\n\n if (action.type === 'UPDATE_VIEWPORT_MAX_SCROLL') {\n if (!isMovementAllowed(state)) {\n return state;\n }\n\n var maxScroll = action.payload.maxScroll;\n\n if (isEqual(maxScroll, state.viewport.scroll.max)) {\n return state;\n }\n\n var withMaxScroll = _extends({}, state.viewport, {\n scroll: _extends({}, state.viewport.scroll, {\n max: maxScroll\n })\n });\n\n return _extends({\n phase: 'DRAGGING'\n }, state, {\n viewport: withMaxScroll\n });\n }\n\n if (action.type === 'MOVE_UP' || action.type === 'MOVE_DOWN' || action.type === 'MOVE_LEFT' || action.type === 'MOVE_RIGHT') {\n if (state.phase === 'COLLECTING' || state.phase === 'DROP_PENDING') {\n return state;\n }\n\n !(state.phase === 'DRAGGING') ? process.env.NODE_ENV !== \"production\" ? invariant(false, action.type + \" received while not in DRAGGING phase\") : invariant(false) : void 0;\n\n var _result2 = moveInDirection({\n state: state,\n type: action.type\n });\n\n if (!_result2) {\n return state;\n }\n\n return update({\n state: state,\n impact: _result2.impact,\n clientSelection: _result2.clientSelection,\n scrollJumpRequest: _result2.scrollJumpRequest\n });\n }\n\n if (action.type === 'DROP_PENDING') {\n var reason = action.payload.reason;\n !(state.phase === 'COLLECTING') ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Can only move into the DROP_PENDING phase from the COLLECTING phase') : invariant(false) : void 0;\n\n var newState = _extends({\n phase: 'DROP_PENDING'\n }, state, {\n phase: 'DROP_PENDING',\n isWaiting: true,\n reason: reason\n });\n\n return newState;\n }\n\n if (action.type === 'DROP_ANIMATE') {\n var _action$payload5 = action.payload,\n completed = _action$payload5.completed,\n dropDuration = _action$payload5.dropDuration,\n newHomeClientOffset = _action$payload5.newHomeClientOffset;\n !(state.phase === 'DRAGGING' || state.phase === 'DROP_PENDING') ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Cannot animate drop from phase \" + state.phase) : invariant(false) : void 0;\n var _result3 = {\n phase: 'DROP_ANIMATING',\n completed: completed,\n dropDuration: dropDuration,\n newHomeClientOffset: newHomeClientOffset,\n dimensions: state.dimensions\n };\n return _result3;\n }\n\n if (action.type === 'DROP_COMPLETE') {\n var _completed = action.payload.completed;\n return {\n phase: 'IDLE',\n completed: _completed,\n shouldFlush: false\n };\n }\n\n return state;\n});\n\nvar beforeInitialCapture = function beforeInitialCapture(args) {\n return {\n type: 'BEFORE_INITIAL_CAPTURE',\n payload: args\n };\n};\nvar lift = function lift(args) {\n return {\n type: 'LIFT',\n payload: args\n };\n};\nvar initialPublish = function initialPublish(args) {\n return {\n type: 'INITIAL_PUBLISH',\n payload: args\n };\n};\nvar publishWhileDragging = function publishWhileDragging(args) {\n return {\n type: 'PUBLISH_WHILE_DRAGGING',\n payload: args\n };\n};\nvar collectionStarting = function collectionStarting() {\n return {\n type: 'COLLECTION_STARTING',\n payload: null\n };\n};\nvar updateDroppableScroll = function updateDroppableScroll(args) {\n return {\n type: 'UPDATE_DROPPABLE_SCROLL',\n payload: args\n };\n};\nvar updateDroppableIsEnabled = function updateDroppableIsEnabled(args) {\n return {\n type: 'UPDATE_DROPPABLE_IS_ENABLED',\n payload: args\n };\n};\nvar updateDroppableIsCombineEnabled = function updateDroppableIsCombineEnabled(args) {\n return {\n type: 'UPDATE_DROPPABLE_IS_COMBINE_ENABLED',\n payload: args\n };\n};\nvar move = function move(args) {\n return {\n type: 'MOVE',\n payload: args\n };\n};\nvar moveByWindowScroll = function moveByWindowScroll(args) {\n return {\n type: 'MOVE_BY_WINDOW_SCROLL',\n payload: args\n };\n};\nvar updateViewportMaxScroll = function updateViewportMaxScroll(args) {\n return {\n type: 'UPDATE_VIEWPORT_MAX_SCROLL',\n payload: args\n };\n};\nvar moveUp = function moveUp() {\n return {\n type: 'MOVE_UP',\n payload: null\n };\n};\nvar moveDown = function moveDown() {\n return {\n type: 'MOVE_DOWN',\n payload: null\n };\n};\nvar moveRight = function moveRight() {\n return {\n type: 'MOVE_RIGHT',\n payload: null\n };\n};\nvar moveLeft = function moveLeft() {\n return {\n type: 'MOVE_LEFT',\n payload: null\n };\n};\nvar flush = function flush() {\n return {\n type: 'FLUSH',\n payload: null\n };\n};\nvar animateDrop = function animateDrop(args) {\n return {\n type: 'DROP_ANIMATE',\n payload: args\n };\n};\nvar completeDrop = function completeDrop(args) {\n return {\n type: 'DROP_COMPLETE',\n payload: args\n };\n};\nvar drop = function drop(args) {\n return {\n type: 'DROP',\n payload: args\n };\n};\nvar dropPending = function dropPending(args) {\n return {\n type: 'DROP_PENDING',\n payload: args\n };\n};\nvar dropAnimationFinished = function dropAnimationFinished() {\n return {\n type: 'DROP_ANIMATION_FINISHED',\n payload: null\n };\n};\n\nfunction checkIndexes(insideDestination) {\n if (insideDestination.length <= 1) {\n return;\n }\n\n var indexes = insideDestination.map(function (d) {\n return d.descriptor.index;\n });\n var errors = {};\n\n for (var i = 1; i < indexes.length; i++) {\n var current = indexes[i];\n var previous = indexes[i - 1];\n\n if (current !== previous + 1) {\n errors[current] = true;\n }\n }\n\n if (!Object.keys(errors).length) {\n return;\n }\n\n var formatted = indexes.map(function (index) {\n var hasError = Boolean(errors[index]);\n return hasError ? \"[\\uD83D\\uDD25\" + index + \"]\" : \"\" + index;\n }).join(', ');\n process.env.NODE_ENV !== \"production\" ? warning(\"\\n Detected non-consecutive <Draggable /> indexes.\\n\\n (This can cause unexpected bugs)\\n\\n \" + formatted + \"\\n \") : void 0;\n}\n\nfunction validateDimensions(critical, dimensions) {\n if (process.env.NODE_ENV !== 'production') {\n var insideDestination = getDraggablesInsideDroppable(critical.droppable.id, dimensions.draggables);\n checkIndexes(insideDestination);\n }\n}\n\nvar lift$1 = (function (marshal) {\n return function (_ref) {\n var getState = _ref.getState,\n dispatch = _ref.dispatch;\n return function (next) {\n return function (action) {\n if (action.type !== 'LIFT') {\n next(action);\n return;\n }\n\n var _action$payload = action.payload,\n id = _action$payload.id,\n clientSelection = _action$payload.clientSelection,\n movementMode = _action$payload.movementMode;\n var initial = getState();\n\n if (initial.phase === 'DROP_ANIMATING') {\n dispatch(completeDrop({\n completed: initial.completed\n }));\n }\n\n !(getState().phase === 'IDLE') ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Unexpected phase to start a drag') : invariant(false) : void 0;\n dispatch(flush());\n dispatch(beforeInitialCapture({\n draggableId: id,\n movementMode: movementMode\n }));\n var scrollOptions = {\n shouldPublishImmediately: movementMode === 'SNAP'\n };\n var request = {\n draggableId: id,\n scrollOptions: scrollOptions\n };\n\n var _marshal$startPublish = marshal.startPublishing(request),\n critical = _marshal$startPublish.critical,\n dimensions = _marshal$startPublish.dimensions,\n viewport = _marshal$startPublish.viewport;\n\n validateDimensions(critical, dimensions);\n dispatch(initialPublish({\n critical: critical,\n dimensions: dimensions,\n clientSelection: clientSelection,\n movementMode: movementMode,\n viewport: viewport\n }));\n };\n };\n };\n});\n\nvar style = (function (marshal) {\n return function () {\n return function (next) {\n return function (action) {\n if (action.type === 'INITIAL_PUBLISH') {\n marshal.dragging();\n }\n\n if (action.type === 'DROP_ANIMATE') {\n marshal.dropping(action.payload.completed.result.reason);\n }\n\n if (action.type === 'FLUSH' || action.type === 'DROP_COMPLETE') {\n marshal.resting();\n }\n\n next(action);\n };\n };\n };\n});\n\nvar curves = {\n outOfTheWay: 'cubic-bezier(0.2, 0, 0, 1)',\n drop: 'cubic-bezier(.2,1,.1,1)'\n};\nvar combine = {\n opacity: {\n drop: 0,\n combining: 0.7\n },\n scale: {\n drop: 0.75\n }\n};\nvar timings = {\n outOfTheWay: 0.2,\n minDropTime: 0.33,\n maxDropTime: 0.55\n};\nvar outOfTheWayTiming = timings.outOfTheWay + \"s \" + curves.outOfTheWay;\nvar transitions = {\n fluid: \"opacity \" + outOfTheWayTiming,\n snap: \"transform \" + outOfTheWayTiming + \", opacity \" + outOfTheWayTiming,\n drop: function drop(duration) {\n var timing = duration + \"s \" + curves.drop;\n return \"transform \" + timing + \", opacity \" + timing;\n },\n outOfTheWay: \"transform \" + outOfTheWayTiming,\n placeholder: \"height \" + outOfTheWayTiming + \", width \" + outOfTheWayTiming + \", margin \" + outOfTheWayTiming\n};\n\nvar moveTo = function moveTo(offset) {\n return isEqual(offset, origin) ? null : \"translate(\" + offset.x + \"px, \" + offset.y + \"px)\";\n};\n\nvar transforms = {\n moveTo: moveTo,\n drop: function drop(offset, isCombining) {\n var translate = moveTo(offset);\n\n if (!translate) {\n return null;\n }\n\n if (!isCombining) {\n return translate;\n }\n\n return translate + \" scale(\" + combine.scale.drop + \")\";\n }\n};\n\nvar minDropTime = timings.minDropTime,\n maxDropTime = timings.maxDropTime;\nvar dropTimeRange = maxDropTime - minDropTime;\nvar maxDropTimeAtDistance = 1500;\nvar cancelDropModifier = 0.6;\nvar getDropDuration = (function (_ref) {\n var current = _ref.current,\n destination = _ref.destination,\n reason = _ref.reason;\n var distance$1 = distance(current, destination);\n\n if (distance$1 <= 0) {\n return minDropTime;\n }\n\n if (distance$1 >= maxDropTimeAtDistance) {\n return maxDropTime;\n }\n\n var percentage = distance$1 / maxDropTimeAtDistance;\n var duration = minDropTime + dropTimeRange * percentage;\n var withDuration = reason === 'CANCEL' ? duration * cancelDropModifier : duration;\n return Number(withDuration.toFixed(2));\n});\n\nvar getNewHomeClientOffset = (function (_ref) {\n var impact = _ref.impact,\n draggable = _ref.draggable,\n dimensions = _ref.dimensions,\n viewport = _ref.viewport,\n afterCritical = _ref.afterCritical;\n var draggables = dimensions.draggables,\n droppables = dimensions.droppables;\n var droppableId = whatIsDraggedOver(impact);\n var destination = droppableId ? droppables[droppableId] : null;\n var home = droppables[draggable.descriptor.droppableId];\n var newClientCenter = getClientBorderBoxCenter({\n impact: impact,\n draggable: draggable,\n draggables: draggables,\n afterCritical: afterCritical,\n droppable: destination || home,\n viewport: viewport\n });\n var offset = subtract(newClientCenter, draggable.client.borderBox.center);\n return offset;\n});\n\nvar getDropImpact = (function (_ref) {\n var draggables = _ref.draggables,\n reason = _ref.reason,\n lastImpact = _ref.lastImpact,\n home = _ref.home,\n viewport = _ref.viewport,\n onLiftImpact = _ref.onLiftImpact;\n\n if (!lastImpact.at || reason !== 'DROP') {\n var recomputedHomeImpact = recompute({\n draggables: draggables,\n impact: onLiftImpact,\n destination: home,\n viewport: viewport,\n forceShouldAnimate: true\n });\n return {\n impact: recomputedHomeImpact,\n didDropInsideDroppable: false\n };\n }\n\n if (lastImpact.at.type === 'REORDER') {\n return {\n impact: lastImpact,\n didDropInsideDroppable: true\n };\n }\n\n var withoutMovement = _extends({}, lastImpact, {\n displaced: emptyGroups\n });\n\n return {\n impact: withoutMovement,\n didDropInsideDroppable: true\n };\n});\n\nvar drop$1 = (function (_ref) {\n var getState = _ref.getState,\n dispatch = _ref.dispatch;\n return function (next) {\n return function (action) {\n if (action.type !== 'DROP') {\n next(action);\n return;\n }\n\n var state = getState();\n var reason = action.payload.reason;\n\n if (state.phase === 'COLLECTING') {\n dispatch(dropPending({\n reason: reason\n }));\n return;\n }\n\n if (state.phase === 'IDLE') {\n return;\n }\n\n var isWaitingForDrop = state.phase === 'DROP_PENDING' && state.isWaiting;\n !!isWaitingForDrop ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'A DROP action occurred while DROP_PENDING and still waiting') : invariant(false) : void 0;\n !(state.phase === 'DRAGGING' || state.phase === 'DROP_PENDING') ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Cannot drop in phase: \" + state.phase) : invariant(false) : void 0;\n var critical = state.critical;\n var dimensions = state.dimensions;\n var draggable = dimensions.draggables[state.critical.draggable.id];\n\n var _getDropImpact = getDropImpact({\n reason: reason,\n lastImpact: state.impact,\n afterCritical: state.afterCritical,\n onLiftImpact: state.onLiftImpact,\n home: state.dimensions.droppables[state.critical.droppable.id],\n viewport: state.viewport,\n draggables: state.dimensions.draggables\n }),\n impact = _getDropImpact.impact,\n didDropInsideDroppable = _getDropImpact.didDropInsideDroppable;\n\n var destination = didDropInsideDroppable ? tryGetDestination(impact) : null;\n var combine = didDropInsideDroppable ? tryGetCombine(impact) : null;\n var source = {\n index: critical.draggable.index,\n droppableId: critical.droppable.id\n };\n var result = {\n draggableId: draggable.descriptor.id,\n type: draggable.descriptor.type,\n source: source,\n reason: reason,\n mode: state.movementMode,\n destination: destination,\n combine: combine\n };\n var newHomeClientOffset = getNewHomeClientOffset({\n impact: impact,\n draggable: draggable,\n dimensions: dimensions,\n viewport: state.viewport,\n afterCritical: state.afterCritical\n });\n var completed = {\n critical: state.critical,\n afterCritical: state.afterCritical,\n result: result,\n impact: impact\n };\n var isAnimationRequired = !isEqual(state.current.client.offset, newHomeClientOffset) || Boolean(result.combine);\n\n if (!isAnimationRequired) {\n dispatch(completeDrop({\n completed: completed\n }));\n return;\n }\n\n var dropDuration = getDropDuration({\n current: state.current.client.offset,\n destination: newHomeClientOffset,\n reason: reason\n });\n var args = {\n newHomeClientOffset: newHomeClientOffset,\n dropDuration: dropDuration,\n completed: completed\n };\n dispatch(animateDrop(args));\n };\n };\n});\n\nvar getWindowScroll = (function () {\n return {\n x: window.pageXOffset,\n y: window.pageYOffset\n };\n});\n\nfunction getWindowScrollBinding(update) {\n return {\n eventName: 'scroll',\n options: {\n passive: true,\n capture: false\n },\n fn: function fn(event) {\n if (event.target !== window && event.target !== window.document) {\n return;\n }\n\n update();\n }\n };\n}\n\nfunction getScrollListener(_ref) {\n var onWindowScroll = _ref.onWindowScroll;\n\n function updateScroll() {\n onWindowScroll(getWindowScroll());\n }\n\n var scheduled = rafSchd(updateScroll);\n var binding = getWindowScrollBinding(scheduled);\n var unbind = noop;\n\n function isActive() {\n return unbind !== noop;\n }\n\n function start() {\n !!isActive() ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot start scroll listener when already active') : invariant(false) : void 0;\n unbind = bindEvents(window, [binding]);\n }\n\n function stop() {\n !isActive() ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot stop scroll listener when not active') : invariant(false) : void 0;\n scheduled.cancel();\n unbind();\n unbind = noop;\n }\n\n return {\n start: start,\n stop: stop,\n isActive: isActive\n };\n}\n\nvar shouldEnd = function shouldEnd(action) {\n return action.type === 'DROP_COMPLETE' || action.type === 'DROP_ANIMATE' || action.type === 'FLUSH';\n};\n\nvar scrollListener = (function (store) {\n var listener = getScrollListener({\n onWindowScroll: function onWindowScroll(newScroll) {\n store.dispatch(moveByWindowScroll({\n newScroll: newScroll\n }));\n }\n });\n return function (next) {\n return function (action) {\n if (!listener.isActive() && action.type === 'INITIAL_PUBLISH') {\n listener.start();\n }\n\n if (listener.isActive() && shouldEnd(action)) {\n listener.stop();\n }\n\n next(action);\n };\n };\n});\n\nvar getExpiringAnnounce = (function (announce) {\n var wasCalled = false;\n var isExpired = false;\n var timeoutId = setTimeout(function () {\n isExpired = true;\n });\n\n var result = function result(message) {\n if (wasCalled) {\n process.env.NODE_ENV !== \"production\" ? warning('Announcement already made. Not making a second announcement') : void 0;\n return;\n }\n\n if (isExpired) {\n process.env.NODE_ENV !== \"production\" ? warning(\"\\n Announcements cannot be made asynchronously.\\n Default message has already been announced.\\n \") : void 0;\n return;\n }\n\n wasCalled = true;\n announce(message);\n clearTimeout(timeoutId);\n };\n\n result.wasCalled = function () {\n return wasCalled;\n };\n\n return result;\n});\n\nvar getAsyncMarshal = (function () {\n var entries = [];\n\n var execute = function execute(timerId) {\n var index = findIndex(entries, function (item) {\n return item.timerId === timerId;\n });\n !(index !== -1) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Could not find timer') : invariant(false) : void 0;\n\n var _entries$splice = entries.splice(index, 1),\n entry = _entries$splice[0];\n\n entry.callback();\n };\n\n var add = function add(fn) {\n var timerId = setTimeout(function () {\n return execute(timerId);\n });\n var entry = {\n timerId: timerId,\n callback: fn\n };\n entries.push(entry);\n };\n\n var flush = function flush() {\n if (!entries.length) {\n return;\n }\n\n var shallow = [].concat(entries);\n entries.length = 0;\n shallow.forEach(function (entry) {\n clearTimeout(entry.timerId);\n entry.callback();\n });\n };\n\n return {\n add: add,\n flush: flush\n };\n});\n\nvar areLocationsEqual = function areLocationsEqual(first, second) {\n if (first == null && second == null) {\n return true;\n }\n\n if (first == null || second == null) {\n return false;\n }\n\n return first.droppableId === second.droppableId && first.index === second.index;\n};\nvar isCombineEqual = function isCombineEqual(first, second) {\n if (first == null && second == null) {\n return true;\n }\n\n if (first == null || second == null) {\n return false;\n }\n\n return first.draggableId === second.draggableId && first.droppableId === second.droppableId;\n};\nvar isCriticalEqual = function isCriticalEqual(first, second) {\n if (first === second) {\n return true;\n }\n\n var isDraggableEqual = first.draggable.id === second.draggable.id && first.draggable.droppableId === second.draggable.droppableId && first.draggable.type === second.draggable.type && first.draggable.index === second.draggable.index;\n var isDroppableEqual = first.droppable.id === second.droppable.id && first.droppable.type === second.droppable.type;\n return isDraggableEqual && isDroppableEqual;\n};\n\nvar withTimings = function withTimings(key, fn) {\n start();\n fn();\n finish();\n};\n\nvar getDragStart = function getDragStart(critical, mode) {\n return {\n draggableId: critical.draggable.id,\n type: critical.droppable.type,\n source: {\n droppableId: critical.droppable.id,\n index: critical.draggable.index\n },\n mode: mode\n };\n};\n\nvar execute = function execute(responder, data, announce, getDefaultMessage) {\n if (!responder) {\n announce(getDefaultMessage(data));\n return;\n }\n\n var willExpire = getExpiringAnnounce(announce);\n var provided = {\n announce: willExpire\n };\n responder(data, provided);\n\n if (!willExpire.wasCalled()) {\n announce(getDefaultMessage(data));\n }\n};\n\nvar getPublisher = (function (getResponders, announce) {\n var asyncMarshal = getAsyncMarshal();\n var dragging = null;\n\n var beforeCapture = function beforeCapture(draggableId, mode) {\n !!dragging ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot fire onBeforeCapture as a drag start has already been published') : invariant(false) : void 0;\n withTimings('onBeforeCapture', function () {\n var fn = getResponders().onBeforeCapture;\n\n if (fn) {\n var before = {\n draggableId: draggableId,\n mode: mode\n };\n fn(before);\n }\n });\n };\n\n var beforeStart = function beforeStart(critical, mode) {\n !!dragging ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot fire onBeforeDragStart as a drag start has already been published') : invariant(false) : void 0;\n withTimings('onBeforeDragStart', function () {\n var fn = getResponders().onBeforeDragStart;\n\n if (fn) {\n fn(getDragStart(critical, mode));\n }\n });\n };\n\n var start = function start(critical, mode) {\n !!dragging ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot fire onBeforeDragStart as a drag start has already been published') : invariant(false) : void 0;\n var data = getDragStart(critical, mode);\n dragging = {\n mode: mode,\n lastCritical: critical,\n lastLocation: data.source,\n lastCombine: null\n };\n asyncMarshal.add(function () {\n withTimings('onDragStart', function () {\n return execute(getResponders().onDragStart, data, announce, preset.onDragStart);\n });\n });\n };\n\n var update = function update(critical, impact) {\n var location = tryGetDestination(impact);\n var combine = tryGetCombine(impact);\n !dragging ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot fire onDragMove when onDragStart has not been called') : invariant(false) : void 0;\n var hasCriticalChanged = !isCriticalEqual(critical, dragging.lastCritical);\n\n if (hasCriticalChanged) {\n dragging.lastCritical = critical;\n }\n\n var hasLocationChanged = !areLocationsEqual(dragging.lastLocation, location);\n\n if (hasLocationChanged) {\n dragging.lastLocation = location;\n }\n\n var hasGroupingChanged = !isCombineEqual(dragging.lastCombine, combine);\n\n if (hasGroupingChanged) {\n dragging.lastCombine = combine;\n }\n\n if (!hasCriticalChanged && !hasLocationChanged && !hasGroupingChanged) {\n return;\n }\n\n var data = _extends({}, getDragStart(critical, dragging.mode), {\n combine: combine,\n destination: location\n });\n\n asyncMarshal.add(function () {\n withTimings('onDragUpdate', function () {\n return execute(getResponders().onDragUpdate, data, announce, preset.onDragUpdate);\n });\n });\n };\n\n var flush = function flush() {\n !dragging ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Can only flush responders while dragging') : invariant(false) : void 0;\n asyncMarshal.flush();\n };\n\n var drop = function drop(result) {\n !dragging ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot fire onDragEnd when there is no matching onDragStart') : invariant(false) : void 0;\n dragging = null;\n withTimings('onDragEnd', function () {\n return execute(getResponders().onDragEnd, result, announce, preset.onDragEnd);\n });\n };\n\n var abort = function abort() {\n if (!dragging) {\n return;\n }\n\n var result = _extends({}, getDragStart(dragging.lastCritical, dragging.mode), {\n combine: null,\n destination: null,\n reason: 'CANCEL'\n });\n\n drop(result);\n };\n\n return {\n beforeCapture: beforeCapture,\n beforeStart: beforeStart,\n start: start,\n update: update,\n flush: flush,\n drop: drop,\n abort: abort\n };\n});\n\nvar responders = (function (getResponders, announce) {\n var publisher = getPublisher(getResponders, announce);\n return function (store) {\n return function (next) {\n return function (action) {\n if (action.type === 'BEFORE_INITIAL_CAPTURE') {\n publisher.beforeCapture(action.payload.draggableId, action.payload.movementMode);\n return;\n }\n\n if (action.type === 'INITIAL_PUBLISH') {\n var critical = action.payload.critical;\n publisher.beforeStart(critical, action.payload.movementMode);\n next(action);\n publisher.start(critical, action.payload.movementMode);\n return;\n }\n\n if (action.type === 'DROP_COMPLETE') {\n var result = action.payload.completed.result;\n publisher.flush();\n next(action);\n publisher.drop(result);\n return;\n }\n\n next(action);\n\n if (action.type === 'FLUSH') {\n publisher.abort();\n return;\n }\n\n var state = store.getState();\n\n if (state.phase === 'DRAGGING') {\n publisher.update(state.critical, state.impact);\n }\n };\n };\n };\n});\n\nvar dropAnimationFinish = (function (store) {\n return function (next) {\n return function (action) {\n if (action.type !== 'DROP_ANIMATION_FINISHED') {\n next(action);\n return;\n }\n\n var state = store.getState();\n !(state.phase === 'DROP_ANIMATING') ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot finish a drop animating when no drop is occurring') : invariant(false) : void 0;\n store.dispatch(completeDrop({\n completed: state.completed\n }));\n };\n };\n});\n\nvar dropAnimationFlushOnScroll = (function (store) {\n var unbind = null;\n var frameId = null;\n\n function clear() {\n if (frameId) {\n cancelAnimationFrame(frameId);\n frameId = null;\n }\n\n if (unbind) {\n unbind();\n unbind = null;\n }\n }\n\n return function (next) {\n return function (action) {\n if (action.type === 'FLUSH' || action.type === 'DROP_COMPLETE' || action.type === 'DROP_ANIMATION_FINISHED') {\n clear();\n }\n\n next(action);\n\n if (action.type !== 'DROP_ANIMATE') {\n return;\n }\n\n var binding = {\n eventName: 'scroll',\n options: {\n capture: true,\n passive: false,\n once: true\n },\n fn: function flushDropAnimation() {\n var state = store.getState();\n\n if (state.phase === 'DROP_ANIMATING') {\n store.dispatch(dropAnimationFinished());\n }\n }\n };\n frameId = requestAnimationFrame(function () {\n frameId = null;\n unbind = bindEvents(window, [binding]);\n });\n };\n };\n});\n\nvar dimensionMarshalStopper = (function (marshal) {\n return function () {\n return function (next) {\n return function (action) {\n if (action.type === 'DROP_COMPLETE' || action.type === 'FLUSH' || action.type === 'DROP_ANIMATE') {\n marshal.stopPublishing();\n }\n\n next(action);\n };\n };\n };\n});\n\nvar focus = (function (marshal) {\n var isWatching = false;\n return function () {\n return function (next) {\n return function (action) {\n if (action.type === 'INITIAL_PUBLISH') {\n isWatching = true;\n marshal.tryRecordFocus(action.payload.critical.draggable.id);\n next(action);\n marshal.tryRestoreFocusRecorded();\n return;\n }\n\n next(action);\n\n if (!isWatching) {\n return;\n }\n\n if (action.type === 'FLUSH') {\n isWatching = false;\n marshal.tryRestoreFocusRecorded();\n return;\n }\n\n if (action.type === 'DROP_COMPLETE') {\n isWatching = false;\n var result = action.payload.completed.result;\n\n if (result.combine) {\n marshal.tryShiftRecord(result.draggableId, result.combine.draggableId);\n }\n\n marshal.tryRestoreFocusRecorded();\n }\n };\n };\n };\n});\n\nvar shouldStop = function shouldStop(action) {\n return action.type === 'DROP_COMPLETE' || action.type === 'DROP_ANIMATE' || action.type === 'FLUSH';\n};\n\nvar autoScroll = (function (autoScroller) {\n return function (store) {\n return function (next) {\n return function (action) {\n if (shouldStop(action)) {\n autoScroller.stop();\n next(action);\n return;\n }\n\n if (action.type === 'INITIAL_PUBLISH') {\n next(action);\n var state = store.getState();\n !(state.phase === 'DRAGGING') ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Expected phase to be DRAGGING after INITIAL_PUBLISH') : invariant(false) : void 0;\n autoScroller.start(state);\n return;\n }\n\n next(action);\n autoScroller.scroll(store.getState());\n };\n };\n };\n});\n\nvar pendingDrop = (function (store) {\n return function (next) {\n return function (action) {\n next(action);\n\n if (action.type !== 'PUBLISH_WHILE_DRAGGING') {\n return;\n }\n\n var postActionState = store.getState();\n\n if (postActionState.phase !== 'DROP_PENDING') {\n return;\n }\n\n if (postActionState.isWaiting) {\n return;\n }\n\n store.dispatch(drop({\n reason: postActionState.reason\n }));\n };\n };\n});\n\nvar composeEnhancers = process.env.NODE_ENV !== 'production' && typeof window !== 'undefined' && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ ? window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__({\n name: 'react-beautiful-dnd'\n}) : compose;\nvar createStore = (function (_ref) {\n var dimensionMarshal = _ref.dimensionMarshal,\n focusMarshal = _ref.focusMarshal,\n styleMarshal = _ref.styleMarshal,\n getResponders = _ref.getResponders,\n announce = _ref.announce,\n autoScroller = _ref.autoScroller;\n return createStore$1(reducer, composeEnhancers(applyMiddleware(style(styleMarshal), dimensionMarshalStopper(dimensionMarshal), lift$1(dimensionMarshal), drop$1, dropAnimationFinish, dropAnimationFlushOnScroll, pendingDrop, autoScroll(autoScroller), scrollListener, focus(focusMarshal), responders(getResponders, announce))));\n});\n\nvar clean$1 = function clean() {\n return {\n additions: {},\n removals: {},\n modified: {}\n };\n};\nfunction createPublisher(_ref) {\n var registry = _ref.registry,\n callbacks = _ref.callbacks;\n var staging = clean$1();\n var frameId = null;\n\n var collect = function collect() {\n if (frameId) {\n return;\n }\n\n callbacks.collectionStarting();\n frameId = requestAnimationFrame(function () {\n frameId = null;\n start();\n var _staging = staging,\n additions = _staging.additions,\n removals = _staging.removals,\n modified = _staging.modified;\n var added = Object.keys(additions).map(function (id) {\n return registry.draggable.getById(id).getDimension(origin);\n }).sort(function (a, b) {\n return a.descriptor.index - b.descriptor.index;\n });\n var updated = Object.keys(modified).map(function (id) {\n var entry = registry.droppable.getById(id);\n var scroll = entry.callbacks.getScrollWhileDragging();\n return {\n droppableId: id,\n scroll: scroll\n };\n });\n var result = {\n additions: added,\n removals: Object.keys(removals),\n modified: updated\n };\n staging = clean$1();\n finish();\n callbacks.publish(result);\n });\n };\n\n var add = function add(entry) {\n var id = entry.descriptor.id;\n staging.additions[id] = entry;\n staging.modified[entry.descriptor.droppableId] = true;\n\n if (staging.removals[id]) {\n delete staging.removals[id];\n }\n\n collect();\n };\n\n var remove = function remove(entry) {\n var descriptor = entry.descriptor;\n staging.removals[descriptor.id] = true;\n staging.modified[descriptor.droppableId] = true;\n\n if (staging.additions[descriptor.id]) {\n delete staging.additions[descriptor.id];\n }\n\n collect();\n };\n\n var stop = function stop() {\n if (!frameId) {\n return;\n }\n\n cancelAnimationFrame(frameId);\n frameId = null;\n staging = clean$1();\n };\n\n return {\n add: add,\n remove: remove,\n stop: stop\n };\n}\n\nvar getMaxScroll = (function (_ref) {\n var scrollHeight = _ref.scrollHeight,\n scrollWidth = _ref.scrollWidth,\n height = _ref.height,\n width = _ref.width;\n var maxScroll = subtract({\n x: scrollWidth,\n y: scrollHeight\n }, {\n x: width,\n y: height\n });\n var adjustedMaxScroll = {\n x: Math.max(0, maxScroll.x),\n y: Math.max(0, maxScroll.y)\n };\n return adjustedMaxScroll;\n});\n\nvar getDocumentElement = (function () {\n var doc = document.documentElement;\n !doc ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot find document.documentElement') : invariant(false) : void 0;\n return doc;\n});\n\nvar getMaxWindowScroll = (function () {\n var doc = getDocumentElement();\n var maxScroll = getMaxScroll({\n scrollHeight: doc.scrollHeight,\n scrollWidth: doc.scrollWidth,\n width: doc.clientWidth,\n height: doc.clientHeight\n });\n return maxScroll;\n});\n\nvar getViewport = (function () {\n var scroll = getWindowScroll();\n var maxScroll = getMaxWindowScroll();\n var top = scroll.y;\n var left = scroll.x;\n var doc = getDocumentElement();\n var width = doc.clientWidth;\n var height = doc.clientHeight;\n var right = left + width;\n var bottom = top + height;\n var frame = getRect({\n top: top,\n left: left,\n right: right,\n bottom: bottom\n });\n var viewport = {\n frame: frame,\n scroll: {\n initial: scroll,\n current: scroll,\n max: maxScroll,\n diff: {\n value: origin,\n displacement: origin\n }\n }\n };\n return viewport;\n});\n\nvar getInitialPublish = (function (_ref) {\n var critical = _ref.critical,\n scrollOptions = _ref.scrollOptions,\n registry = _ref.registry;\n start();\n var viewport = getViewport();\n var windowScroll = viewport.scroll.current;\n var home = critical.droppable;\n var droppables = registry.droppable.getAllByType(home.type).map(function (entry) {\n return entry.callbacks.getDimensionAndWatchScroll(windowScroll, scrollOptions);\n });\n var draggables = registry.draggable.getAllByType(critical.draggable.type).map(function (entry) {\n return entry.getDimension(windowScroll);\n });\n var dimensions = {\n draggables: toDraggableMap(draggables),\n droppables: toDroppableMap(droppables)\n };\n finish();\n var result = {\n dimensions: dimensions,\n critical: critical,\n viewport: viewport\n };\n return result;\n});\n\nfunction shouldPublishUpdate(registry, dragging, entry) {\n if (entry.descriptor.id === dragging.id) {\n return false;\n }\n\n if (entry.descriptor.type !== dragging.type) {\n return false;\n }\n\n var home = registry.droppable.getById(entry.descriptor.droppableId);\n\n if (home.descriptor.mode !== 'virtual') {\n process.env.NODE_ENV !== \"production\" ? warning(\"\\n You are attempting to add or remove a Draggable [id: \" + entry.descriptor.id + \"]\\n while a drag is occurring. This is only supported for virtual lists.\\n\\n See https://github.com/atlassian/react-beautiful-dnd/blob/master/docs/patterns/virtual-lists.md\\n \") : void 0;\n return false;\n }\n\n return true;\n}\n\nvar createDimensionMarshal = (function (registry, callbacks) {\n var collection = null;\n var publisher = createPublisher({\n callbacks: {\n publish: callbacks.publishWhileDragging,\n collectionStarting: callbacks.collectionStarting\n },\n registry: registry\n });\n\n var updateDroppableIsEnabled = function updateDroppableIsEnabled(id, isEnabled) {\n !registry.droppable.exists(id) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Cannot update is enabled flag of Droppable \" + id + \" as it is not registered\") : invariant(false) : void 0;\n\n if (!collection) {\n return;\n }\n\n callbacks.updateDroppableIsEnabled({\n id: id,\n isEnabled: isEnabled\n });\n };\n\n var updateDroppableIsCombineEnabled = function updateDroppableIsCombineEnabled(id, isCombineEnabled) {\n if (!collection) {\n return;\n }\n\n !registry.droppable.exists(id) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Cannot update isCombineEnabled flag of Droppable \" + id + \" as it is not registered\") : invariant(false) : void 0;\n callbacks.updateDroppableIsCombineEnabled({\n id: id,\n isCombineEnabled: isCombineEnabled\n });\n };\n\n var updateDroppableScroll = function updateDroppableScroll(id, newScroll) {\n if (!collection) {\n return;\n }\n\n !registry.droppable.exists(id) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Cannot update the scroll on Droppable \" + id + \" as it is not registered\") : invariant(false) : void 0;\n callbacks.updateDroppableScroll({\n id: id,\n newScroll: newScroll\n });\n };\n\n var scrollDroppable = function scrollDroppable(id, change) {\n if (!collection) {\n return;\n }\n\n registry.droppable.getById(id).callbacks.scroll(change);\n };\n\n var stopPublishing = function stopPublishing() {\n if (!collection) {\n return;\n }\n\n publisher.stop();\n var home = collection.critical.droppable;\n registry.droppable.getAllByType(home.type).forEach(function (entry) {\n return entry.callbacks.dragStopped();\n });\n collection.unsubscribe();\n collection = null;\n };\n\n var subscriber = function subscriber(event) {\n !collection ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Should only be subscribed when a collection is occurring') : invariant(false) : void 0;\n var dragging = collection.critical.draggable;\n\n if (event.type === 'ADDITION') {\n if (shouldPublishUpdate(registry, dragging, event.value)) {\n publisher.add(event.value);\n }\n }\n\n if (event.type === 'REMOVAL') {\n if (shouldPublishUpdate(registry, dragging, event.value)) {\n publisher.remove(event.value);\n }\n }\n };\n\n var startPublishing = function startPublishing(request) {\n !!collection ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot start capturing critical dimensions as there is already a collection') : invariant(false) : void 0;\n var entry = registry.draggable.getById(request.draggableId);\n var home = registry.droppable.getById(entry.descriptor.droppableId);\n var critical = {\n draggable: entry.descriptor,\n droppable: home.descriptor\n };\n var unsubscribe = registry.subscribe(subscriber);\n collection = {\n critical: critical,\n unsubscribe: unsubscribe\n };\n return getInitialPublish({\n critical: critical,\n registry: registry,\n scrollOptions: request.scrollOptions\n });\n };\n\n var marshal = {\n updateDroppableIsEnabled: updateDroppableIsEnabled,\n updateDroppableIsCombineEnabled: updateDroppableIsCombineEnabled,\n scrollDroppable: scrollDroppable,\n updateDroppableScroll: updateDroppableScroll,\n startPublishing: startPublishing,\n stopPublishing: stopPublishing\n };\n return marshal;\n});\n\nvar canStartDrag = (function (state, id) {\n if (state.phase === 'IDLE') {\n return true;\n }\n\n if (state.phase !== 'DROP_ANIMATING') {\n return false;\n }\n\n if (state.completed.result.draggableId === id) {\n return false;\n }\n\n return state.completed.result.reason === 'DROP';\n});\n\nvar scrollWindow = (function (change) {\n window.scrollBy(change.x, change.y);\n});\n\nvar getScrollableDroppables = memoizeOne(function (droppables) {\n return toDroppableList(droppables).filter(function (droppable) {\n if (!droppable.isEnabled) {\n return false;\n }\n\n if (!droppable.frame) {\n return false;\n }\n\n return true;\n });\n});\n\nvar getScrollableDroppableOver = function getScrollableDroppableOver(target, droppables) {\n var maybe = find(getScrollableDroppables(droppables), function (droppable) {\n !droppable.frame ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Invalid result') : invariant(false) : void 0;\n return isPositionInFrame(droppable.frame.pageMarginBox)(target);\n });\n return maybe;\n};\n\nvar getBestScrollableDroppable = (function (_ref) {\n var center = _ref.center,\n destination = _ref.destination,\n droppables = _ref.droppables;\n\n if (destination) {\n var _dimension = droppables[destination];\n\n if (!_dimension.frame) {\n return null;\n }\n\n return _dimension;\n }\n\n var dimension = getScrollableDroppableOver(center, droppables);\n return dimension;\n});\n\nvar config = {\n startFromPercentage: 0.25,\n maxScrollAtPercentage: 0.05,\n maxPixelScroll: 28,\n ease: function ease(percentage) {\n return Math.pow(percentage, 2);\n },\n durationDampening: {\n stopDampeningAt: 1200,\n accelerateAt: 360\n }\n};\n\nvar getDistanceThresholds = (function (container, axis) {\n var startScrollingFrom = container[axis.size] * config.startFromPercentage;\n var maxScrollValueAt = container[axis.size] * config.maxScrollAtPercentage;\n var thresholds = {\n startScrollingFrom: startScrollingFrom,\n maxScrollValueAt: maxScrollValueAt\n };\n return thresholds;\n});\n\nvar getPercentage = (function (_ref) {\n var startOfRange = _ref.startOfRange,\n endOfRange = _ref.endOfRange,\n current = _ref.current;\n var range = endOfRange - startOfRange;\n\n if (range === 0) {\n process.env.NODE_ENV !== \"production\" ? warning(\"\\n Detected distance range of 0 in the fluid auto scroller\\n This is unexpected and would cause a divide by 0 issue.\\n Not allowing an auto scroll\\n \") : void 0;\n return 0;\n }\n\n var currentInRange = current - startOfRange;\n var percentage = currentInRange / range;\n return percentage;\n});\n\nvar minScroll = 1;\n\nvar getValueFromDistance = (function (distanceToEdge, thresholds) {\n if (distanceToEdge > thresholds.startScrollingFrom) {\n return 0;\n }\n\n if (distanceToEdge <= thresholds.maxScrollValueAt) {\n return config.maxPixelScroll;\n }\n\n if (distanceToEdge === thresholds.startScrollingFrom) {\n return minScroll;\n }\n\n var percentageFromMaxScrollValueAt = getPercentage({\n startOfRange: thresholds.maxScrollValueAt,\n endOfRange: thresholds.startScrollingFrom,\n current: distanceToEdge\n });\n var percentageFromStartScrollingFrom = 1 - percentageFromMaxScrollValueAt;\n var scroll = config.maxPixelScroll * config.ease(percentageFromStartScrollingFrom);\n return Math.ceil(scroll);\n});\n\nvar accelerateAt = config.durationDampening.accelerateAt;\nvar stopAt = config.durationDampening.stopDampeningAt;\nvar dampenValueByTime = (function (proposedScroll, dragStartTime) {\n var startOfRange = dragStartTime;\n var endOfRange = stopAt;\n var now = Date.now();\n var runTime = now - startOfRange;\n\n if (runTime >= stopAt) {\n return proposedScroll;\n }\n\n if (runTime < accelerateAt) {\n return minScroll;\n }\n\n var betweenAccelerateAtAndStopAtPercentage = getPercentage({\n startOfRange: accelerateAt,\n endOfRange: endOfRange,\n current: runTime\n });\n var scroll = proposedScroll * config.ease(betweenAccelerateAtAndStopAtPercentage);\n return Math.ceil(scroll);\n});\n\nvar getValue = (function (_ref) {\n var distanceToEdge = _ref.distanceToEdge,\n thresholds = _ref.thresholds,\n dragStartTime = _ref.dragStartTime,\n shouldUseTimeDampening = _ref.shouldUseTimeDampening;\n var scroll = getValueFromDistance(distanceToEdge, thresholds);\n\n if (scroll === 0) {\n return 0;\n }\n\n if (!shouldUseTimeDampening) {\n return scroll;\n }\n\n return Math.max(dampenValueByTime(scroll, dragStartTime), minScroll);\n});\n\nvar getScrollOnAxis = (function (_ref) {\n var container = _ref.container,\n distanceToEdges = _ref.distanceToEdges,\n dragStartTime = _ref.dragStartTime,\n axis = _ref.axis,\n shouldUseTimeDampening = _ref.shouldUseTimeDampening;\n var thresholds = getDistanceThresholds(container, axis);\n var isCloserToEnd = distanceToEdges[axis.end] < distanceToEdges[axis.start];\n\n if (isCloserToEnd) {\n return getValue({\n distanceToEdge: distanceToEdges[axis.end],\n thresholds: thresholds,\n dragStartTime: dragStartTime,\n shouldUseTimeDampening: shouldUseTimeDampening\n });\n }\n\n return -1 * getValue({\n distanceToEdge: distanceToEdges[axis.start],\n thresholds: thresholds,\n dragStartTime: dragStartTime,\n shouldUseTimeDampening: shouldUseTimeDampening\n });\n});\n\nvar adjustForSizeLimits = (function (_ref) {\n var container = _ref.container,\n subject = _ref.subject,\n proposedScroll = _ref.proposedScroll;\n var isTooBigVertically = subject.height > container.height;\n var isTooBigHorizontally = subject.width > container.width;\n\n if (!isTooBigHorizontally && !isTooBigVertically) {\n return proposedScroll;\n }\n\n if (isTooBigHorizontally && isTooBigVertically) {\n return null;\n }\n\n return {\n x: isTooBigHorizontally ? 0 : proposedScroll.x,\n y: isTooBigVertically ? 0 : proposedScroll.y\n };\n});\n\nvar clean$2 = apply(function (value) {\n return value === 0 ? 0 : value;\n});\nvar getScroll = (function (_ref) {\n var dragStartTime = _ref.dragStartTime,\n container = _ref.container,\n subject = _ref.subject,\n center = _ref.center,\n shouldUseTimeDampening = _ref.shouldUseTimeDampening;\n var distanceToEdges = {\n top: center.y - container.top,\n right: container.right - center.x,\n bottom: container.bottom - center.y,\n left: center.x - container.left\n };\n var y = getScrollOnAxis({\n container: container,\n distanceToEdges: distanceToEdges,\n dragStartTime: dragStartTime,\n axis: vertical,\n shouldUseTimeDampening: shouldUseTimeDampening\n });\n var x = getScrollOnAxis({\n container: container,\n distanceToEdges: distanceToEdges,\n dragStartTime: dragStartTime,\n axis: horizontal,\n shouldUseTimeDampening: shouldUseTimeDampening\n });\n var required = clean$2({\n x: x,\n y: y\n });\n\n if (isEqual(required, origin)) {\n return null;\n }\n\n var limited = adjustForSizeLimits({\n container: container,\n subject: subject,\n proposedScroll: required\n });\n\n if (!limited) {\n return null;\n }\n\n return isEqual(limited, origin) ? null : limited;\n});\n\nvar smallestSigned = apply(function (value) {\n if (value === 0) {\n return 0;\n }\n\n return value > 0 ? 1 : -1;\n});\nvar getOverlap = function () {\n var getRemainder = function getRemainder(target, max) {\n if (target < 0) {\n return target;\n }\n\n if (target > max) {\n return target - max;\n }\n\n return 0;\n };\n\n return function (_ref) {\n var current = _ref.current,\n max = _ref.max,\n change = _ref.change;\n var targetScroll = add(current, change);\n var overlap = {\n x: getRemainder(targetScroll.x, max.x),\n y: getRemainder(targetScroll.y, max.y)\n };\n\n if (isEqual(overlap, origin)) {\n return null;\n }\n\n return overlap;\n };\n}();\nvar canPartiallyScroll = function canPartiallyScroll(_ref2) {\n var rawMax = _ref2.max,\n current = _ref2.current,\n change = _ref2.change;\n var max = {\n x: Math.max(current.x, rawMax.x),\n y: Math.max(current.y, rawMax.y)\n };\n var smallestChange = smallestSigned(change);\n var overlap = getOverlap({\n max: max,\n current: current,\n change: smallestChange\n });\n\n if (!overlap) {\n return true;\n }\n\n if (smallestChange.x !== 0 && overlap.x === 0) {\n return true;\n }\n\n if (smallestChange.y !== 0 && overlap.y === 0) {\n return true;\n }\n\n return false;\n};\nvar canScrollWindow = function canScrollWindow(viewport, change) {\n return canPartiallyScroll({\n current: viewport.scroll.current,\n max: viewport.scroll.max,\n change: change\n });\n};\nvar getWindowOverlap = function getWindowOverlap(viewport, change) {\n if (!canScrollWindow(viewport, change)) {\n return null;\n }\n\n var max = viewport.scroll.max;\n var current = viewport.scroll.current;\n return getOverlap({\n current: current,\n max: max,\n change: change\n });\n};\nvar canScrollDroppable = function canScrollDroppable(droppable, change) {\n var frame = droppable.frame;\n\n if (!frame) {\n return false;\n }\n\n return canPartiallyScroll({\n current: frame.scroll.current,\n max: frame.scroll.max,\n change: change\n });\n};\nvar getDroppableOverlap = function getDroppableOverlap(droppable, change) {\n var frame = droppable.frame;\n\n if (!frame) {\n return null;\n }\n\n if (!canScrollDroppable(droppable, change)) {\n return null;\n }\n\n return getOverlap({\n current: frame.scroll.current,\n max: frame.scroll.max,\n change: change\n });\n};\n\nvar getWindowScrollChange = (function (_ref) {\n var viewport = _ref.viewport,\n subject = _ref.subject,\n center = _ref.center,\n dragStartTime = _ref.dragStartTime,\n shouldUseTimeDampening = _ref.shouldUseTimeDampening;\n var scroll = getScroll({\n dragStartTime: dragStartTime,\n container: viewport.frame,\n subject: subject,\n center: center,\n shouldUseTimeDampening: shouldUseTimeDampening\n });\n return scroll && canScrollWindow(viewport, scroll) ? scroll : null;\n});\n\nvar getDroppableScrollChange = (function (_ref) {\n var droppable = _ref.droppable,\n subject = _ref.subject,\n center = _ref.center,\n dragStartTime = _ref.dragStartTime,\n shouldUseTimeDampening = _ref.shouldUseTimeDampening;\n var frame = droppable.frame;\n\n if (!frame) {\n return null;\n }\n\n var scroll = getScroll({\n dragStartTime: dragStartTime,\n container: frame.pageMarginBox,\n subject: subject,\n center: center,\n shouldUseTimeDampening: shouldUseTimeDampening\n });\n return scroll && canScrollDroppable(droppable, scroll) ? scroll : null;\n});\n\nvar scroll$1 = (function (_ref) {\n var state = _ref.state,\n dragStartTime = _ref.dragStartTime,\n shouldUseTimeDampening = _ref.shouldUseTimeDampening,\n scrollWindow = _ref.scrollWindow,\n scrollDroppable = _ref.scrollDroppable;\n var center = state.current.page.borderBoxCenter;\n var draggable = state.dimensions.draggables[state.critical.draggable.id];\n var subject = draggable.page.marginBox;\n\n if (state.isWindowScrollAllowed) {\n var viewport = state.viewport;\n\n var _change = getWindowScrollChange({\n dragStartTime: dragStartTime,\n viewport: viewport,\n subject: subject,\n center: center,\n shouldUseTimeDampening: shouldUseTimeDampening\n });\n\n if (_change) {\n scrollWindow(_change);\n return;\n }\n }\n\n var droppable = getBestScrollableDroppable({\n center: center,\n destination: whatIsDraggedOver(state.impact),\n droppables: state.dimensions.droppables\n });\n\n if (!droppable) {\n return;\n }\n\n var change = getDroppableScrollChange({\n dragStartTime: dragStartTime,\n droppable: droppable,\n subject: subject,\n center: center,\n shouldUseTimeDampening: shouldUseTimeDampening\n });\n\n if (change) {\n scrollDroppable(droppable.descriptor.id, change);\n }\n});\n\nvar createFluidScroller = (function (_ref) {\n var scrollWindow = _ref.scrollWindow,\n scrollDroppable = _ref.scrollDroppable;\n var scheduleWindowScroll = rafSchd(scrollWindow);\n var scheduleDroppableScroll = rafSchd(scrollDroppable);\n var dragging = null;\n\n var tryScroll = function tryScroll(state) {\n !dragging ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot fluid scroll if not dragging') : invariant(false) : void 0;\n var _dragging = dragging,\n shouldUseTimeDampening = _dragging.shouldUseTimeDampening,\n dragStartTime = _dragging.dragStartTime;\n scroll$1({\n state: state,\n scrollWindow: scheduleWindowScroll,\n scrollDroppable: scheduleDroppableScroll,\n dragStartTime: dragStartTime,\n shouldUseTimeDampening: shouldUseTimeDampening\n });\n };\n\n var start$1 = function start$1(state) {\n start();\n !!dragging ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot start auto scrolling when already started') : invariant(false) : void 0;\n var dragStartTime = Date.now();\n var wasScrollNeeded = false;\n\n var fakeScrollCallback = function fakeScrollCallback() {\n wasScrollNeeded = true;\n };\n\n scroll$1({\n state: state,\n dragStartTime: 0,\n shouldUseTimeDampening: false,\n scrollWindow: fakeScrollCallback,\n scrollDroppable: fakeScrollCallback\n });\n dragging = {\n dragStartTime: dragStartTime,\n shouldUseTimeDampening: wasScrollNeeded\n };\n finish();\n\n if (wasScrollNeeded) {\n tryScroll(state);\n }\n };\n\n var stop = function stop() {\n if (!dragging) {\n return;\n }\n\n scheduleWindowScroll.cancel();\n scheduleDroppableScroll.cancel();\n dragging = null;\n };\n\n return {\n start: start$1,\n stop: stop,\n scroll: tryScroll\n };\n});\n\nvar createJumpScroller = (function (_ref) {\n var move = _ref.move,\n scrollDroppable = _ref.scrollDroppable,\n scrollWindow = _ref.scrollWindow;\n\n var moveByOffset = function moveByOffset(state, offset) {\n var client = add(state.current.client.selection, offset);\n move({\n client: client\n });\n };\n\n var scrollDroppableAsMuchAsItCan = function scrollDroppableAsMuchAsItCan(droppable, change) {\n if (!canScrollDroppable(droppable, change)) {\n return change;\n }\n\n var overlap = getDroppableOverlap(droppable, change);\n\n if (!overlap) {\n scrollDroppable(droppable.descriptor.id, change);\n return null;\n }\n\n var whatTheDroppableCanScroll = subtract(change, overlap);\n scrollDroppable(droppable.descriptor.id, whatTheDroppableCanScroll);\n var remainder = subtract(change, whatTheDroppableCanScroll);\n return remainder;\n };\n\n var scrollWindowAsMuchAsItCan = function scrollWindowAsMuchAsItCan(isWindowScrollAllowed, viewport, change) {\n if (!isWindowScrollAllowed) {\n return change;\n }\n\n if (!canScrollWindow(viewport, change)) {\n return change;\n }\n\n var overlap = getWindowOverlap(viewport, change);\n\n if (!overlap) {\n scrollWindow(change);\n return null;\n }\n\n var whatTheWindowCanScroll = subtract(change, overlap);\n scrollWindow(whatTheWindowCanScroll);\n var remainder = subtract(change, whatTheWindowCanScroll);\n return remainder;\n };\n\n var jumpScroller = function jumpScroller(state) {\n var request = state.scrollJumpRequest;\n\n if (!request) {\n return;\n }\n\n var destination = whatIsDraggedOver(state.impact);\n !destination ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot perform a jump scroll when there is no destination') : invariant(false) : void 0;\n var droppableRemainder = scrollDroppableAsMuchAsItCan(state.dimensions.droppables[destination], request);\n\n if (!droppableRemainder) {\n return;\n }\n\n var viewport = state.viewport;\n var windowRemainder = scrollWindowAsMuchAsItCan(state.isWindowScrollAllowed, viewport, droppableRemainder);\n\n if (!windowRemainder) {\n return;\n }\n\n moveByOffset(state, windowRemainder);\n };\n\n return jumpScroller;\n});\n\nvar createAutoScroller = (function (_ref) {\n var scrollDroppable = _ref.scrollDroppable,\n scrollWindow = _ref.scrollWindow,\n move = _ref.move;\n var fluidScroller = createFluidScroller({\n scrollWindow: scrollWindow,\n scrollDroppable: scrollDroppable\n });\n var jumpScroll = createJumpScroller({\n move: move,\n scrollWindow: scrollWindow,\n scrollDroppable: scrollDroppable\n });\n\n var scroll = function scroll(state) {\n if (state.phase !== 'DRAGGING') {\n return;\n }\n\n if (state.movementMode === 'FLUID') {\n fluidScroller.scroll(state);\n return;\n }\n\n if (!state.scrollJumpRequest) {\n return;\n }\n\n jumpScroll(state);\n };\n\n var scroller = {\n scroll: scroll,\n start: fluidScroller.start,\n stop: fluidScroller.stop\n };\n return scroller;\n});\n\nvar prefix$1 = 'data-rbd';\nvar dragHandle = function () {\n var base = prefix$1 + \"-drag-handle\";\n return {\n base: base,\n draggableId: base + \"-draggable-id\",\n contextId: base + \"-context-id\"\n };\n}();\nvar draggable = function () {\n var base = prefix$1 + \"-draggable\";\n return {\n base: base,\n contextId: base + \"-context-id\",\n id: base + \"-id\"\n };\n}();\nvar droppable = function () {\n var base = prefix$1 + \"-droppable\";\n return {\n base: base,\n contextId: base + \"-context-id\",\n id: base + \"-id\"\n };\n}();\nvar scrollContainer = {\n contextId: prefix$1 + \"-scroll-container-context-id\"\n};\n\nvar makeGetSelector = function makeGetSelector(context) {\n return function (attribute) {\n return \"[\" + attribute + \"=\\\"\" + context + \"\\\"]\";\n };\n};\n\nvar getStyles = function getStyles(rules, property) {\n return rules.map(function (rule) {\n var value = rule.styles[property];\n\n if (!value) {\n return '';\n }\n\n return rule.selector + \" { \" + value + \" }\";\n }).join(' ');\n};\n\nvar noPointerEvents = 'pointer-events: none;';\nvar getStyles$1 = (function (contextId) {\n var getSelector = makeGetSelector(contextId);\n\n var dragHandle$1 = function () {\n var grabCursor = \"\\n cursor: -webkit-grab;\\n cursor: grab;\\n \";\n return {\n selector: getSelector(dragHandle.contextId),\n styles: {\n always: \"\\n -webkit-touch-callout: none;\\n -webkit-tap-highlight-color: rgba(0,0,0,0);\\n touch-action: manipulation;\\n \",\n resting: grabCursor,\n dragging: noPointerEvents,\n dropAnimating: grabCursor\n }\n };\n }();\n\n var draggable$1 = function () {\n var transition = \"\\n transition: \" + transitions.outOfTheWay + \";\\n \";\n return {\n selector: getSelector(draggable.contextId),\n styles: {\n dragging: transition,\n dropAnimating: transition,\n userCancel: transition\n }\n };\n }();\n\n var droppable$1 = {\n selector: getSelector(droppable.contextId),\n styles: {\n always: \"overflow-anchor: none;\"\n }\n };\n var body = {\n selector: 'body',\n styles: {\n dragging: \"\\n cursor: grabbing;\\n cursor: -webkit-grabbing;\\n user-select: none;\\n -webkit-user-select: none;\\n -moz-user-select: none;\\n -ms-user-select: none;\\n overflow-anchor: none;\\n \"\n }\n };\n var rules = [draggable$1, dragHandle$1, droppable$1, body];\n return {\n always: getStyles(rules, 'always'),\n resting: getStyles(rules, 'resting'),\n dragging: getStyles(rules, 'dragging'),\n dropAnimating: getStyles(rules, 'dropAnimating'),\n userCancel: getStyles(rules, 'userCancel')\n };\n});\n\nvar useIsomorphicLayoutEffect = typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined' ? useLayoutEffect : useEffect;\n\nvar getHead = function getHead() {\n var head = document.querySelector('head');\n !head ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot find the head to append a style to') : invariant(false) : void 0;\n return head;\n};\n\nvar createStyleEl = function createStyleEl(nonce) {\n var el = document.createElement('style');\n\n if (nonce) {\n el.setAttribute('nonce', nonce);\n }\n\n el.type = 'text/css';\n return el;\n};\n\nfunction useStyleMarshal(contextId, nonce) {\n var styles = useMemo(function () {\n return getStyles$1(contextId);\n }, [contextId]);\n var alwaysRef = useRef(null);\n var dynamicRef = useRef(null);\n var setDynamicStyle = useCallback(memoizeOne(function (proposed) {\n var el = dynamicRef.current;\n !el ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot set dynamic style element if it is not set') : invariant(false) : void 0;\n el.textContent = proposed;\n }), []);\n var setAlwaysStyle = useCallback(function (proposed) {\n var el = alwaysRef.current;\n !el ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot set dynamic style element if it is not set') : invariant(false) : void 0;\n el.textContent = proposed;\n }, []);\n useIsomorphicLayoutEffect(function () {\n !(!alwaysRef.current && !dynamicRef.current) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'style elements already mounted') : invariant(false) : void 0;\n var always = createStyleEl(nonce);\n var dynamic = createStyleEl(nonce);\n alwaysRef.current = always;\n dynamicRef.current = dynamic;\n always.setAttribute(prefix$1 + \"-always\", contextId);\n dynamic.setAttribute(prefix$1 + \"-dynamic\", contextId);\n getHead().appendChild(always);\n getHead().appendChild(dynamic);\n setAlwaysStyle(styles.always);\n setDynamicStyle(styles.resting);\n return function () {\n var remove = function remove(ref) {\n var current = ref.current;\n !current ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot unmount ref as it is not set') : invariant(false) : void 0;\n getHead().removeChild(current);\n ref.current = null;\n };\n\n remove(alwaysRef);\n remove(dynamicRef);\n };\n }, [nonce, setAlwaysStyle, setDynamicStyle, styles.always, styles.resting, contextId]);\n var dragging = useCallback(function () {\n return setDynamicStyle(styles.dragging);\n }, [setDynamicStyle, styles.dragging]);\n var dropping = useCallback(function (reason) {\n if (reason === 'DROP') {\n setDynamicStyle(styles.dropAnimating);\n return;\n }\n\n setDynamicStyle(styles.userCancel);\n }, [setDynamicStyle, styles.dropAnimating, styles.userCancel]);\n var resting = useCallback(function () {\n if (!dynamicRef.current) {\n return;\n }\n\n setDynamicStyle(styles.resting);\n }, [setDynamicStyle, styles.resting]);\n var marshal = useMemo(function () {\n return {\n dragging: dragging,\n dropping: dropping,\n resting: resting\n };\n }, [dragging, dropping, resting]);\n return marshal;\n}\n\nvar getWindowFromEl = (function (el) {\n return el && el.ownerDocument ? el.ownerDocument.defaultView : window;\n});\n\nfunction isHtmlElement(el) {\n return el instanceof getWindowFromEl(el).HTMLElement;\n}\n\nfunction findDragHandle(contextId, draggableId) {\n var selector = \"[\" + dragHandle.contextId + \"=\\\"\" + contextId + \"\\\"]\";\n var possible = toArray(document.querySelectorAll(selector));\n\n if (!possible.length) {\n process.env.NODE_ENV !== \"production\" ? warning(\"Unable to find any drag handles in the context \\\"\" + contextId + \"\\\"\") : void 0;\n return null;\n }\n\n var handle = find(possible, function (el) {\n return el.getAttribute(dragHandle.draggableId) === draggableId;\n });\n\n if (!handle) {\n process.env.NODE_ENV !== \"production\" ? warning(\"Unable to find drag handle with id \\\"\" + draggableId + \"\\\" as no handle with a matching id was found\") : void 0;\n return null;\n }\n\n if (!isHtmlElement(handle)) {\n process.env.NODE_ENV !== \"production\" ? warning('drag handle needs to be a HTMLElement') : void 0;\n return null;\n }\n\n return handle;\n}\n\nfunction useFocusMarshal(contextId) {\n var entriesRef = useRef({});\n var recordRef = useRef(null);\n var restoreFocusFrameRef = useRef(null);\n var isMountedRef = useRef(false);\n var register = useCallback(function register(id, focus) {\n var entry = {\n id: id,\n focus: focus\n };\n entriesRef.current[id] = entry;\n return function unregister() {\n var entries = entriesRef.current;\n var current = entries[id];\n\n if (current !== entry) {\n delete entries[id];\n }\n };\n }, []);\n var tryGiveFocus = useCallback(function tryGiveFocus(tryGiveFocusTo) {\n var handle = findDragHandle(contextId, tryGiveFocusTo);\n\n if (handle && handle !== document.activeElement) {\n handle.focus();\n }\n }, [contextId]);\n var tryShiftRecord = useCallback(function tryShiftRecord(previous, redirectTo) {\n if (recordRef.current === previous) {\n recordRef.current = redirectTo;\n }\n }, []);\n var tryRestoreFocusRecorded = useCallback(function tryRestoreFocusRecorded() {\n if (restoreFocusFrameRef.current) {\n return;\n }\n\n if (!isMountedRef.current) {\n return;\n }\n\n restoreFocusFrameRef.current = requestAnimationFrame(function () {\n restoreFocusFrameRef.current = null;\n var record = recordRef.current;\n\n if (record) {\n tryGiveFocus(record);\n }\n });\n }, [tryGiveFocus]);\n var tryRecordFocus = useCallback(function tryRecordFocus(id) {\n recordRef.current = null;\n var focused = document.activeElement;\n\n if (!focused) {\n return;\n }\n\n if (focused.getAttribute(dragHandle.draggableId) !== id) {\n return;\n }\n\n recordRef.current = id;\n }, []);\n useIsomorphicLayoutEffect(function () {\n isMountedRef.current = true;\n return function clearFrameOnUnmount() {\n isMountedRef.current = false;\n var frameId = restoreFocusFrameRef.current;\n\n if (frameId) {\n cancelAnimationFrame(frameId);\n }\n };\n }, []);\n var marshal = useMemo(function () {\n return {\n register: register,\n tryRecordFocus: tryRecordFocus,\n tryRestoreFocusRecorded: tryRestoreFocusRecorded,\n tryShiftRecord: tryShiftRecord\n };\n }, [register, tryRecordFocus, tryRestoreFocusRecorded, tryShiftRecord]);\n return marshal;\n}\n\nfunction createRegistry() {\n var entries = {\n draggables: {},\n droppables: {}\n };\n var subscribers = [];\n\n function subscribe(cb) {\n subscribers.push(cb);\n return function unsubscribe() {\n var index = subscribers.indexOf(cb);\n\n if (index === -1) {\n return;\n }\n\n subscribers.splice(index, 1);\n };\n }\n\n function notify(event) {\n if (subscribers.length) {\n subscribers.forEach(function (cb) {\n return cb(event);\n });\n }\n }\n\n function findDraggableById(id) {\n return entries.draggables[id] || null;\n }\n\n function getDraggableById(id) {\n var entry = findDraggableById(id);\n !entry ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Cannot find draggable entry with id [\" + id + \"]\") : invariant(false) : void 0;\n return entry;\n }\n\n var draggableAPI = {\n register: function register(entry) {\n entries.draggables[entry.descriptor.id] = entry;\n notify({\n type: 'ADDITION',\n value: entry\n });\n },\n update: function update(entry, last) {\n var current = entries.draggables[last.descriptor.id];\n\n if (!current) {\n return;\n }\n\n if (current.uniqueId !== entry.uniqueId) {\n return;\n }\n\n delete entries.draggables[last.descriptor.id];\n entries.draggables[entry.descriptor.id] = entry;\n },\n unregister: function unregister(entry) {\n var draggableId = entry.descriptor.id;\n var current = findDraggableById(draggableId);\n\n if (!current) {\n return;\n }\n\n if (entry.uniqueId !== current.uniqueId) {\n return;\n }\n\n delete entries.draggables[draggableId];\n notify({\n type: 'REMOVAL',\n value: entry\n });\n },\n getById: getDraggableById,\n findById: findDraggableById,\n exists: function exists(id) {\n return Boolean(findDraggableById(id));\n },\n getAllByType: function getAllByType(type) {\n return values(entries.draggables).filter(function (entry) {\n return entry.descriptor.type === type;\n });\n }\n };\n\n function findDroppableById(id) {\n return entries.droppables[id] || null;\n }\n\n function getDroppableById(id) {\n var entry = findDroppableById(id);\n !entry ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Cannot find droppable entry with id [\" + id + \"]\") : invariant(false) : void 0;\n return entry;\n }\n\n var droppableAPI = {\n register: function register(entry) {\n entries.droppables[entry.descriptor.id] = entry;\n },\n unregister: function unregister(entry) {\n var current = findDroppableById(entry.descriptor.id);\n\n if (!current) {\n return;\n }\n\n if (entry.uniqueId !== current.uniqueId) {\n return;\n }\n\n delete entries.droppables[entry.descriptor.id];\n },\n getById: getDroppableById,\n findById: findDroppableById,\n exists: function exists(id) {\n return Boolean(findDroppableById(id));\n },\n getAllByType: function getAllByType(type) {\n return values(entries.droppables).filter(function (entry) {\n return entry.descriptor.type === type;\n });\n }\n };\n\n function clean() {\n entries.draggables = {};\n entries.droppables = {};\n subscribers.length = 0;\n }\n\n return {\n draggable: draggableAPI,\n droppable: droppableAPI,\n subscribe: subscribe,\n clean: clean\n };\n}\n\nfunction useRegistry() {\n var registry = useMemo(createRegistry, []);\n useEffect(function () {\n return function unmount() {\n requestAnimationFrame(registry.clean);\n };\n }, [registry]);\n return registry;\n}\n\nvar StoreContext = React.createContext(null);\n\nvar getBodyElement = (function () {\n var body = document.body;\n !body ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot find document.body') : invariant(false) : void 0;\n return body;\n});\n\nvar visuallyHidden = {\n position: 'absolute',\n width: '1px',\n height: '1px',\n margin: '-1px',\n border: '0',\n padding: '0',\n overflow: 'hidden',\n clip: 'rect(0 0 0 0)',\n 'clip-path': 'inset(100%)'\n};\n\nvar getId = function getId(contextId) {\n return \"rbd-announcement-\" + contextId;\n};\nfunction useAnnouncer(contextId) {\n var id = useMemo(function () {\n return getId(contextId);\n }, [contextId]);\n var ref = useRef(null);\n useEffect(function setup() {\n var el = document.createElement('div');\n ref.current = el;\n el.id = id;\n el.setAttribute('aria-live', 'assertive');\n el.setAttribute('aria-atomic', 'true');\n\n _extends(el.style, visuallyHidden);\n\n getBodyElement().appendChild(el);\n return function cleanup() {\n setTimeout(function remove() {\n var body = getBodyElement();\n\n if (body.contains(el)) {\n body.removeChild(el);\n }\n\n if (el === ref.current) {\n ref.current = null;\n }\n });\n };\n }, [id]);\n var announce = useCallback(function (message) {\n var el = ref.current;\n\n if (el) {\n el.textContent = message;\n return;\n }\n\n process.env.NODE_ENV !== \"production\" ? warning(\"\\n A screen reader message was trying to be announced but it was unable to do so.\\n This can occur if you unmount your <DragDropContext /> in your onDragEnd.\\n Consider calling provided.announce() before the unmount so that the instruction will\\n not be lost for users relying on a screen reader.\\n\\n Message not passed to screen reader:\\n\\n \\\"\" + message + \"\\\"\\n \") : void 0;\n }, []);\n return announce;\n}\n\nvar count = 0;\nvar defaults = {\n separator: '::'\n};\nfunction reset() {\n count = 0;\n}\nfunction useUniqueId(prefix, options) {\n if (options === void 0) {\n options = defaults;\n }\n\n return useMemo(function () {\n return \"\" + prefix + options.separator + count++;\n }, [options.separator, prefix]);\n}\n\nfunction getElementId(_ref) {\n var contextId = _ref.contextId,\n uniqueId = _ref.uniqueId;\n return \"rbd-hidden-text-\" + contextId + \"-\" + uniqueId;\n}\nfunction useHiddenTextElement(_ref2) {\n var contextId = _ref2.contextId,\n text = _ref2.text;\n var uniqueId = useUniqueId('hidden-text', {\n separator: '-'\n });\n var id = useMemo(function () {\n return getElementId({\n contextId: contextId,\n uniqueId: uniqueId\n });\n }, [uniqueId, contextId]);\n useEffect(function mount() {\n var el = document.createElement('div');\n el.id = id;\n el.textContent = text;\n el.style.display = 'none';\n getBodyElement().appendChild(el);\n return function unmount() {\n var body = getBodyElement();\n\n if (body.contains(el)) {\n body.removeChild(el);\n }\n };\n }, [id, text]);\n return id;\n}\n\nvar AppContext = React.createContext(null);\n\nvar peerDependencies = {\n\treact: \"^16.8.5 || ^17.0.0 || ^18.0.0\",\n\t\"react-dom\": \"^16.8.5 || ^17.0.0 || ^18.0.0\"\n};\n\nvar semver = /(\\d+)\\.(\\d+)\\.(\\d+)/;\n\nvar getVersion = function getVersion(value) {\n var result = semver.exec(value);\n !(result != null) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Unable to parse React version \" + value) : invariant(false) : void 0;\n var major = Number(result[1]);\n var minor = Number(result[2]);\n var patch = Number(result[3]);\n return {\n major: major,\n minor: minor,\n patch: patch,\n raw: value\n };\n};\n\nvar isSatisfied = function isSatisfied(expected, actual) {\n if (actual.major > expected.major) {\n return true;\n }\n\n if (actual.major < expected.major) {\n return false;\n }\n\n if (actual.minor > expected.minor) {\n return true;\n }\n\n if (actual.minor < expected.minor) {\n return false;\n }\n\n return actual.patch >= expected.patch;\n};\n\nvar checkReactVersion = (function (peerDepValue, actualValue) {\n var peerDep = getVersion(peerDepValue);\n var actual = getVersion(actualValue);\n\n if (isSatisfied(peerDep, actual)) {\n return;\n }\n\n process.env.NODE_ENV !== \"production\" ? warning(\"\\n React version: [\" + actual.raw + \"]\\n does not satisfy expected peer dependency version: [\" + peerDep.raw + \"]\\n\\n This can result in run time bugs, and even fatal crashes\\n \") : void 0;\n});\n\nvar suffix = \"\\n We expect a html5 doctype: <!doctype html>\\n This is to ensure consistent browser layout and measurement\\n\\n More information: https://github.com/atlassian/react-beautiful-dnd/blob/master/docs/guides/doctype.md\\n\";\nvar checkDoctype = (function (doc) {\n var doctype = doc.doctype;\n\n if (!doctype) {\n process.env.NODE_ENV !== \"production\" ? warning(\"\\n No <!doctype html> found.\\n\\n \" + suffix + \"\\n \") : void 0;\n return;\n }\n\n if (doctype.name.toLowerCase() !== 'html') {\n process.env.NODE_ENV !== \"production\" ? warning(\"\\n Unexpected <!doctype> found: (\" + doctype.name + \")\\n\\n \" + suffix + \"\\n \") : void 0;\n }\n\n if (doctype.publicId !== '') {\n process.env.NODE_ENV !== \"production\" ? warning(\"\\n Unexpected <!doctype> publicId found: (\" + doctype.publicId + \")\\n A html5 doctype does not have a publicId\\n\\n \" + suffix + \"\\n \") : void 0;\n }\n});\n\nfunction useDev(useHook) {\n if (process.env.NODE_ENV !== 'production') {\n useHook();\n }\n}\n\nfunction useDevSetupWarning(fn, inputs) {\n useDev(function () {\n useEffect(function () {\n try {\n fn();\n } catch (e) {\n error(\"\\n A setup problem was encountered.\\n\\n > \" + e.message + \"\\n \");\n }\n }, inputs);\n });\n}\n\nfunction useStartupValidation() {\n useDevSetupWarning(function () {\n checkReactVersion(peerDependencies.react, React.version);\n checkDoctype(document);\n }, []);\n}\n\nfunction usePrevious(current) {\n var ref = useRef(current);\n useEffect(function () {\n ref.current = current;\n });\n return ref;\n}\n\nfunction create() {\n var lock = null;\n\n function isClaimed() {\n return Boolean(lock);\n }\n\n function isActive(value) {\n return value === lock;\n }\n\n function claim(abandon) {\n !!lock ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot claim lock as it is already claimed') : invariant(false) : void 0;\n var newLock = {\n abandon: abandon\n };\n lock = newLock;\n return newLock;\n }\n\n function release() {\n !lock ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot release lock when there is no lock') : invariant(false) : void 0;\n lock = null;\n }\n\n function tryAbandon() {\n if (lock) {\n lock.abandon();\n release();\n }\n }\n\n return {\n isClaimed: isClaimed,\n isActive: isActive,\n claim: claim,\n release: release,\n tryAbandon: tryAbandon\n };\n}\n\nvar tab = 9;\nvar enter = 13;\nvar escape = 27;\nvar space = 32;\nvar pageUp = 33;\nvar pageDown = 34;\nvar end = 35;\nvar home = 36;\nvar arrowLeft = 37;\nvar arrowUp = 38;\nvar arrowRight = 39;\nvar arrowDown = 40;\n\nvar _preventedKeys;\nvar preventedKeys = (_preventedKeys = {}, _preventedKeys[enter] = true, _preventedKeys[tab] = true, _preventedKeys);\nvar preventStandardKeyEvents = (function (event) {\n if (preventedKeys[event.keyCode]) {\n event.preventDefault();\n }\n});\n\nvar supportedEventName = function () {\n var base = 'visibilitychange';\n\n if (typeof document === 'undefined') {\n return base;\n }\n\n var candidates = [base, \"ms\" + base, \"webkit\" + base, \"moz\" + base, \"o\" + base];\n var supported = find(candidates, function (eventName) {\n return \"on\" + eventName in document;\n });\n return supported || base;\n}();\n\nvar primaryButton = 0;\nvar sloppyClickThreshold = 5;\n\nfunction isSloppyClickThresholdExceeded(original, current) {\n return Math.abs(current.x - original.x) >= sloppyClickThreshold || Math.abs(current.y - original.y) >= sloppyClickThreshold;\n}\n\nvar idle$1 = {\n type: 'IDLE'\n};\n\nfunction getCaptureBindings(_ref) {\n var cancel = _ref.cancel,\n completed = _ref.completed,\n getPhase = _ref.getPhase,\n setPhase = _ref.setPhase;\n return [{\n eventName: 'mousemove',\n fn: function fn(event) {\n var button = event.button,\n clientX = event.clientX,\n clientY = event.clientY;\n\n if (button !== primaryButton) {\n return;\n }\n\n var point = {\n x: clientX,\n y: clientY\n };\n var phase = getPhase();\n\n if (phase.type === 'DRAGGING') {\n event.preventDefault();\n phase.actions.move(point);\n return;\n }\n\n !(phase.type === 'PENDING') ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot be IDLE') : invariant(false) : void 0;\n var pending = phase.point;\n\n if (!isSloppyClickThresholdExceeded(pending, point)) {\n return;\n }\n\n event.preventDefault();\n var actions = phase.actions.fluidLift(point);\n setPhase({\n type: 'DRAGGING',\n actions: actions\n });\n }\n }, {\n eventName: 'mouseup',\n fn: function fn(event) {\n var phase = getPhase();\n\n if (phase.type !== 'DRAGGING') {\n cancel();\n return;\n }\n\n event.preventDefault();\n phase.actions.drop({\n shouldBlockNextClick: true\n });\n completed();\n }\n }, {\n eventName: 'mousedown',\n fn: function fn(event) {\n if (getPhase().type === 'DRAGGING') {\n event.preventDefault();\n }\n\n cancel();\n }\n }, {\n eventName: 'keydown',\n fn: function fn(event) {\n var phase = getPhase();\n\n if (phase.type === 'PENDING') {\n cancel();\n return;\n }\n\n if (event.keyCode === escape) {\n event.preventDefault();\n cancel();\n return;\n }\n\n preventStandardKeyEvents(event);\n }\n }, {\n eventName: 'resize',\n fn: cancel\n }, {\n eventName: 'scroll',\n options: {\n passive: true,\n capture: false\n },\n fn: function fn() {\n if (getPhase().type === 'PENDING') {\n cancel();\n }\n }\n }, {\n eventName: 'webkitmouseforcedown',\n fn: function fn(event) {\n var phase = getPhase();\n !(phase.type !== 'IDLE') ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Unexpected phase') : invariant(false) : void 0;\n\n if (phase.actions.shouldRespectForcePress()) {\n cancel();\n return;\n }\n\n event.preventDefault();\n }\n }, {\n eventName: supportedEventName,\n fn: cancel\n }];\n}\n\nfunction useMouseSensor(api) {\n var phaseRef = useRef(idle$1);\n var unbindEventsRef = useRef(noop);\n var startCaptureBinding = useMemo(function () {\n return {\n eventName: 'mousedown',\n fn: function onMouseDown(event) {\n if (event.defaultPrevented) {\n return;\n }\n\n if (event.button !== primaryButton) {\n return;\n }\n\n if (event.ctrlKey || event.metaKey || event.shiftKey || event.altKey) {\n return;\n }\n\n var draggableId = api.findClosestDraggableId(event);\n\n if (!draggableId) {\n return;\n }\n\n var actions = api.tryGetLock(draggableId, stop, {\n sourceEvent: event\n });\n\n if (!actions) {\n return;\n }\n\n event.preventDefault();\n var point = {\n x: event.clientX,\n y: event.clientY\n };\n unbindEventsRef.current();\n startPendingDrag(actions, point);\n }\n };\n }, [api]);\n var preventForcePressBinding = useMemo(function () {\n return {\n eventName: 'webkitmouseforcewillbegin',\n fn: function fn(event) {\n if (event.defaultPrevented) {\n return;\n }\n\n var id = api.findClosestDraggableId(event);\n\n if (!id) {\n return;\n }\n\n var options = api.findOptionsForDraggable(id);\n\n if (!options) {\n return;\n }\n\n if (options.shouldRespectForcePress) {\n return;\n }\n\n if (!api.canGetLock(id)) {\n return;\n }\n\n event.preventDefault();\n }\n };\n }, [api]);\n var listenForCapture = useCallback(function listenForCapture() {\n var options = {\n passive: false,\n capture: true\n };\n unbindEventsRef.current = bindEvents(window, [preventForcePressBinding, startCaptureBinding], options);\n }, [preventForcePressBinding, startCaptureBinding]);\n var stop = useCallback(function () {\n var current = phaseRef.current;\n\n if (current.type === 'IDLE') {\n return;\n }\n\n phaseRef.current = idle$1;\n unbindEventsRef.current();\n listenForCapture();\n }, [listenForCapture]);\n var cancel = useCallback(function () {\n var phase = phaseRef.current;\n stop();\n\n if (phase.type === 'DRAGGING') {\n phase.actions.cancel({\n shouldBlockNextClick: true\n });\n }\n\n if (phase.type === 'PENDING') {\n phase.actions.abort();\n }\n }, [stop]);\n var bindCapturingEvents = useCallback(function bindCapturingEvents() {\n var options = {\n capture: true,\n passive: false\n };\n var bindings = getCaptureBindings({\n cancel: cancel,\n completed: stop,\n getPhase: function getPhase() {\n return phaseRef.current;\n },\n setPhase: function setPhase(phase) {\n phaseRef.current = phase;\n }\n });\n unbindEventsRef.current = bindEvents(window, bindings, options);\n }, [cancel, stop]);\n var startPendingDrag = useCallback(function startPendingDrag(actions, point) {\n !(phaseRef.current.type === 'IDLE') ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Expected to move from IDLE to PENDING drag') : invariant(false) : void 0;\n phaseRef.current = {\n type: 'PENDING',\n point: point,\n actions: actions\n };\n bindCapturingEvents();\n }, [bindCapturingEvents]);\n useIsomorphicLayoutEffect(function mount() {\n listenForCapture();\n return function unmount() {\n unbindEventsRef.current();\n };\n }, [listenForCapture]);\n}\n\nvar _scrollJumpKeys;\n\nfunction noop$1() {}\n\nvar scrollJumpKeys = (_scrollJumpKeys = {}, _scrollJumpKeys[pageDown] = true, _scrollJumpKeys[pageUp] = true, _scrollJumpKeys[home] = true, _scrollJumpKeys[end] = true, _scrollJumpKeys);\n\nfunction getDraggingBindings(actions, stop) {\n function cancel() {\n stop();\n actions.cancel();\n }\n\n function drop() {\n stop();\n actions.drop();\n }\n\n return [{\n eventName: 'keydown',\n fn: function fn(event) {\n if (event.keyCode === escape) {\n event.preventDefault();\n cancel();\n return;\n }\n\n if (event.keyCode === space) {\n event.preventDefault();\n drop();\n return;\n }\n\n if (event.keyCode === arrowDown) {\n event.preventDefault();\n actions.moveDown();\n return;\n }\n\n if (event.keyCode === arrowUp) {\n event.preventDefault();\n actions.moveUp();\n return;\n }\n\n if (event.keyCode === arrowRight) {\n event.preventDefault();\n actions.moveRight();\n return;\n }\n\n if (event.keyCode === arrowLeft) {\n event.preventDefault();\n actions.moveLeft();\n return;\n }\n\n if (scrollJumpKeys[event.keyCode]) {\n event.preventDefault();\n return;\n }\n\n preventStandardKeyEvents(event);\n }\n }, {\n eventName: 'mousedown',\n fn: cancel\n }, {\n eventName: 'mouseup',\n fn: cancel\n }, {\n eventName: 'click',\n fn: cancel\n }, {\n eventName: 'touchstart',\n fn: cancel\n }, {\n eventName: 'resize',\n fn: cancel\n }, {\n eventName: 'wheel',\n fn: cancel,\n options: {\n passive: true\n }\n }, {\n eventName: supportedEventName,\n fn: cancel\n }];\n}\n\nfunction useKeyboardSensor(api) {\n var unbindEventsRef = useRef(noop$1);\n var startCaptureBinding = useMemo(function () {\n return {\n eventName: 'keydown',\n fn: function onKeyDown(event) {\n if (event.defaultPrevented) {\n return;\n }\n\n if (event.keyCode !== space) {\n return;\n }\n\n var draggableId = api.findClosestDraggableId(event);\n\n if (!draggableId) {\n return;\n }\n\n var preDrag = api.tryGetLock(draggableId, stop, {\n sourceEvent: event\n });\n\n if (!preDrag) {\n return;\n }\n\n event.preventDefault();\n var isCapturing = true;\n var actions = preDrag.snapLift();\n unbindEventsRef.current();\n\n function stop() {\n !isCapturing ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot stop capturing a keyboard drag when not capturing') : invariant(false) : void 0;\n isCapturing = false;\n unbindEventsRef.current();\n listenForCapture();\n }\n\n unbindEventsRef.current = bindEvents(window, getDraggingBindings(actions, stop), {\n capture: true,\n passive: false\n });\n }\n };\n }, [api]);\n var listenForCapture = useCallback(function tryStartCapture() {\n var options = {\n passive: false,\n capture: true\n };\n unbindEventsRef.current = bindEvents(window, [startCaptureBinding], options);\n }, [startCaptureBinding]);\n useIsomorphicLayoutEffect(function mount() {\n listenForCapture();\n return function unmount() {\n unbindEventsRef.current();\n };\n }, [listenForCapture]);\n}\n\nvar idle$2 = {\n type: 'IDLE'\n};\nvar timeForLongPress = 120;\nvar forcePressThreshold = 0.15;\n\nfunction getWindowBindings(_ref) {\n var cancel = _ref.cancel,\n getPhase = _ref.getPhase;\n return [{\n eventName: 'orientationchange',\n fn: cancel\n }, {\n eventName: 'resize',\n fn: cancel\n }, {\n eventName: 'contextmenu',\n fn: function fn(event) {\n event.preventDefault();\n }\n }, {\n eventName: 'keydown',\n fn: function fn(event) {\n if (getPhase().type !== 'DRAGGING') {\n cancel();\n return;\n }\n\n if (event.keyCode === escape) {\n event.preventDefault();\n }\n\n cancel();\n }\n }, {\n eventName: supportedEventName,\n fn: cancel\n }];\n}\n\nfunction getHandleBindings(_ref2) {\n var cancel = _ref2.cancel,\n completed = _ref2.completed,\n getPhase = _ref2.getPhase;\n return [{\n eventName: 'touchmove',\n options: {\n capture: false\n },\n fn: function fn(event) {\n var phase = getPhase();\n\n if (phase.type !== 'DRAGGING') {\n cancel();\n return;\n }\n\n phase.hasMoved = true;\n var _event$touches$ = event.touches[0],\n clientX = _event$touches$.clientX,\n clientY = _event$touches$.clientY;\n var point = {\n x: clientX,\n y: clientY\n };\n event.preventDefault();\n phase.actions.move(point);\n }\n }, {\n eventName: 'touchend',\n fn: function fn(event) {\n var phase = getPhase();\n\n if (phase.type !== 'DRAGGING') {\n cancel();\n return;\n }\n\n event.preventDefault();\n phase.actions.drop({\n shouldBlockNextClick: true\n });\n completed();\n }\n }, {\n eventName: 'touchcancel',\n fn: function fn(event) {\n if (getPhase().type !== 'DRAGGING') {\n cancel();\n return;\n }\n\n event.preventDefault();\n cancel();\n }\n }, {\n eventName: 'touchforcechange',\n fn: function fn(event) {\n var phase = getPhase();\n !(phase.type !== 'IDLE') ? process.env.NODE_ENV !== \"production\" ? invariant(false) : invariant(false) : void 0;\n var touch = event.touches[0];\n\n if (!touch) {\n return;\n }\n\n var isForcePress = touch.force >= forcePressThreshold;\n\n if (!isForcePress) {\n return;\n }\n\n var shouldRespect = phase.actions.shouldRespectForcePress();\n\n if (phase.type === 'PENDING') {\n if (shouldRespect) {\n cancel();\n }\n\n return;\n }\n\n if (shouldRespect) {\n if (phase.hasMoved) {\n event.preventDefault();\n return;\n }\n\n cancel();\n return;\n }\n\n event.preventDefault();\n }\n }, {\n eventName: supportedEventName,\n fn: cancel\n }];\n}\n\nfunction useTouchSensor(api) {\n var phaseRef = useRef(idle$2);\n var unbindEventsRef = useRef(noop);\n var getPhase = useCallback(function getPhase() {\n return phaseRef.current;\n }, []);\n var setPhase = useCallback(function setPhase(phase) {\n phaseRef.current = phase;\n }, []);\n var startCaptureBinding = useMemo(function () {\n return {\n eventName: 'touchstart',\n fn: function onTouchStart(event) {\n if (event.defaultPrevented) {\n return;\n }\n\n var draggableId = api.findClosestDraggableId(event);\n\n if (!draggableId) {\n return;\n }\n\n var actions = api.tryGetLock(draggableId, stop, {\n sourceEvent: event\n });\n\n if (!actions) {\n return;\n }\n\n var touch = event.touches[0];\n var clientX = touch.clientX,\n clientY = touch.clientY;\n var point = {\n x: clientX,\n y: clientY\n };\n unbindEventsRef.current();\n startPendingDrag(actions, point);\n }\n };\n }, [api]);\n var listenForCapture = useCallback(function listenForCapture() {\n var options = {\n capture: true,\n passive: false\n };\n unbindEventsRef.current = bindEvents(window, [startCaptureBinding], options);\n }, [startCaptureBinding]);\n var stop = useCallback(function () {\n var current = phaseRef.current;\n\n if (current.type === 'IDLE') {\n return;\n }\n\n if (current.type === 'PENDING') {\n clearTimeout(current.longPressTimerId);\n }\n\n setPhase(idle$2);\n unbindEventsRef.current();\n listenForCapture();\n }, [listenForCapture, setPhase]);\n var cancel = useCallback(function () {\n var phase = phaseRef.current;\n stop();\n\n if (phase.type === 'DRAGGING') {\n phase.actions.cancel({\n shouldBlockNextClick: true\n });\n }\n\n if (phase.type === 'PENDING') {\n phase.actions.abort();\n }\n }, [stop]);\n var bindCapturingEvents = useCallback(function bindCapturingEvents() {\n var options = {\n capture: true,\n passive: false\n };\n var args = {\n cancel: cancel,\n completed: stop,\n getPhase: getPhase\n };\n var unbindTarget = bindEvents(window, getHandleBindings(args), options);\n var unbindWindow = bindEvents(window, getWindowBindings(args), options);\n\n unbindEventsRef.current = function unbindAll() {\n unbindTarget();\n unbindWindow();\n };\n }, [cancel, getPhase, stop]);\n var startDragging = useCallback(function startDragging() {\n var phase = getPhase();\n !(phase.type === 'PENDING') ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Cannot start dragging from phase \" + phase.type) : invariant(false) : void 0;\n var actions = phase.actions.fluidLift(phase.point);\n setPhase({\n type: 'DRAGGING',\n actions: actions,\n hasMoved: false\n });\n }, [getPhase, setPhase]);\n var startPendingDrag = useCallback(function startPendingDrag(actions, point) {\n !(getPhase().type === 'IDLE') ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Expected to move from IDLE to PENDING drag') : invariant(false) : void 0;\n var longPressTimerId = setTimeout(startDragging, timeForLongPress);\n setPhase({\n type: 'PENDING',\n point: point,\n actions: actions,\n longPressTimerId: longPressTimerId\n });\n bindCapturingEvents();\n }, [bindCapturingEvents, getPhase, setPhase, startDragging]);\n useIsomorphicLayoutEffect(function mount() {\n listenForCapture();\n return function unmount() {\n unbindEventsRef.current();\n var phase = getPhase();\n\n if (phase.type === 'PENDING') {\n clearTimeout(phase.longPressTimerId);\n setPhase(idle$2);\n }\n };\n }, [getPhase, listenForCapture, setPhase]);\n useIsomorphicLayoutEffect(function webkitHack() {\n var unbind = bindEvents(window, [{\n eventName: 'touchmove',\n fn: function fn() {},\n options: {\n capture: false,\n passive: false\n }\n }]);\n return unbind;\n }, []);\n}\n\nfunction useValidateSensorHooks(sensorHooks) {\n useDev(function () {\n var previousRef = usePrevious(sensorHooks);\n useDevSetupWarning(function () {\n !(previousRef.current.length === sensorHooks.length) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot change the amount of sensor hooks after mounting') : invariant(false) : void 0;\n });\n });\n}\n\nvar interactiveTagNames = {\n input: true,\n button: true,\n textarea: true,\n select: true,\n option: true,\n optgroup: true,\n video: true,\n audio: true\n};\n\nfunction isAnInteractiveElement(parent, current) {\n if (current == null) {\n return false;\n }\n\n var hasAnInteractiveTag = Boolean(interactiveTagNames[current.tagName.toLowerCase()]);\n\n if (hasAnInteractiveTag) {\n return true;\n }\n\n var attribute = current.getAttribute('contenteditable');\n\n if (attribute === 'true' || attribute === '') {\n return true;\n }\n\n if (current === parent) {\n return false;\n }\n\n return isAnInteractiveElement(parent, current.parentElement);\n}\n\nfunction isEventInInteractiveElement(draggable, event) {\n var target = event.target;\n\n if (!isHtmlElement(target)) {\n return false;\n }\n\n return isAnInteractiveElement(draggable, target);\n}\n\nvar getBorderBoxCenterPosition = (function (el) {\n return getRect(el.getBoundingClientRect()).center;\n});\n\nfunction isElement(el) {\n return el instanceof getWindowFromEl(el).Element;\n}\n\nvar supportedMatchesName = function () {\n var base = 'matches';\n\n if (typeof document === 'undefined') {\n return base;\n }\n\n var candidates = [base, 'msMatchesSelector', 'webkitMatchesSelector'];\n var value = find(candidates, function (name) {\n return name in Element.prototype;\n });\n return value || base;\n}();\n\nfunction closestPonyfill(el, selector) {\n if (el == null) {\n return null;\n }\n\n if (el[supportedMatchesName](selector)) {\n return el;\n }\n\n return closestPonyfill(el.parentElement, selector);\n}\n\nfunction closest$1(el, selector) {\n if (el.closest) {\n return el.closest(selector);\n }\n\n return closestPonyfill(el, selector);\n}\n\nfunction getSelector(contextId) {\n return \"[\" + dragHandle.contextId + \"=\\\"\" + contextId + \"\\\"]\";\n}\n\nfunction findClosestDragHandleFromEvent(contextId, event) {\n var target = event.target;\n\n if (!isElement(target)) {\n process.env.NODE_ENV !== \"production\" ? warning('event.target must be a Element') : void 0;\n return null;\n }\n\n var selector = getSelector(contextId);\n var handle = closest$1(target, selector);\n\n if (!handle) {\n return null;\n }\n\n if (!isHtmlElement(handle)) {\n process.env.NODE_ENV !== \"production\" ? warning('drag handle must be a HTMLElement') : void 0;\n return null;\n }\n\n return handle;\n}\n\nfunction tryGetClosestDraggableIdFromEvent(contextId, event) {\n var handle = findClosestDragHandleFromEvent(contextId, event);\n\n if (!handle) {\n return null;\n }\n\n return handle.getAttribute(dragHandle.draggableId);\n}\n\nfunction findDraggable(contextId, draggableId) {\n var selector = \"[\" + draggable.contextId + \"=\\\"\" + contextId + \"\\\"]\";\n var possible = toArray(document.querySelectorAll(selector));\n var draggable$1 = find(possible, function (el) {\n return el.getAttribute(draggable.id) === draggableId;\n });\n\n if (!draggable$1) {\n return null;\n }\n\n if (!isHtmlElement(draggable$1)) {\n process.env.NODE_ENV !== \"production\" ? warning('Draggable element is not a HTMLElement') : void 0;\n return null;\n }\n\n return draggable$1;\n}\n\nfunction preventDefault(event) {\n event.preventDefault();\n}\n\nfunction _isActive(_ref) {\n var expected = _ref.expected,\n phase = _ref.phase,\n isLockActive = _ref.isLockActive,\n shouldWarn = _ref.shouldWarn;\n\n if (!isLockActive()) {\n if (shouldWarn) {\n process.env.NODE_ENV !== \"production\" ? warning(\"\\n Cannot perform action.\\n The sensor no longer has an action lock.\\n\\n Tips:\\n\\n - Throw away your action handlers when forceStop() is called\\n - Check actions.isActive() if you really need to\\n \") : void 0;\n }\n\n return false;\n }\n\n if (expected !== phase) {\n if (shouldWarn) {\n process.env.NODE_ENV !== \"production\" ? warning(\"\\n Cannot perform action.\\n The actions you used belong to an outdated phase\\n\\n Current phase: \" + expected + \"\\n You called an action from outdated phase: \" + phase + \"\\n\\n Tips:\\n\\n - Do not use preDragActions actions after calling preDragActions.lift()\\n \") : void 0;\n }\n\n return false;\n }\n\n return true;\n}\n\nfunction canStart(_ref2) {\n var lockAPI = _ref2.lockAPI,\n store = _ref2.store,\n registry = _ref2.registry,\n draggableId = _ref2.draggableId;\n\n if (lockAPI.isClaimed()) {\n return false;\n }\n\n var entry = registry.draggable.findById(draggableId);\n\n if (!entry) {\n process.env.NODE_ENV !== \"production\" ? warning(\"Unable to find draggable with id: \" + draggableId) : void 0;\n return false;\n }\n\n if (!entry.options.isEnabled) {\n return false;\n }\n\n if (!canStartDrag(store.getState(), draggableId)) {\n return false;\n }\n\n return true;\n}\n\nfunction tryStart(_ref3) {\n var lockAPI = _ref3.lockAPI,\n contextId = _ref3.contextId,\n store = _ref3.store,\n registry = _ref3.registry,\n draggableId = _ref3.draggableId,\n forceSensorStop = _ref3.forceSensorStop,\n sourceEvent = _ref3.sourceEvent;\n var shouldStart = canStart({\n lockAPI: lockAPI,\n store: store,\n registry: registry,\n draggableId: draggableId\n });\n\n if (!shouldStart) {\n return null;\n }\n\n var entry = registry.draggable.getById(draggableId);\n var el = findDraggable(contextId, entry.descriptor.id);\n\n if (!el) {\n process.env.NODE_ENV !== \"production\" ? warning(\"Unable to find draggable element with id: \" + draggableId) : void 0;\n return null;\n }\n\n if (sourceEvent && !entry.options.canDragInteractiveElements && isEventInInteractiveElement(el, sourceEvent)) {\n return null;\n }\n\n var lock = lockAPI.claim(forceSensorStop || noop);\n var phase = 'PRE_DRAG';\n\n function getShouldRespectForcePress() {\n return entry.options.shouldRespectForcePress;\n }\n\n function isLockActive() {\n return lockAPI.isActive(lock);\n }\n\n function tryDispatch(expected, getAction) {\n if (_isActive({\n expected: expected,\n phase: phase,\n isLockActive: isLockActive,\n shouldWarn: true\n })) {\n store.dispatch(getAction());\n }\n }\n\n var tryDispatchWhenDragging = tryDispatch.bind(null, 'DRAGGING');\n\n function lift$1(args) {\n function completed() {\n lockAPI.release();\n phase = 'COMPLETED';\n }\n\n if (phase !== 'PRE_DRAG') {\n completed();\n !(phase === 'PRE_DRAG') ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Cannot lift in phase \" + phase) : invariant(false) : void 0;\n }\n\n store.dispatch(lift(args.liftActionArgs));\n phase = 'DRAGGING';\n\n function finish(reason, options) {\n if (options === void 0) {\n options = {\n shouldBlockNextClick: false\n };\n }\n\n args.cleanup();\n\n if (options.shouldBlockNextClick) {\n var unbind = bindEvents(window, [{\n eventName: 'click',\n fn: preventDefault,\n options: {\n once: true,\n passive: false,\n capture: true\n }\n }]);\n setTimeout(unbind);\n }\n\n completed();\n store.dispatch(drop({\n reason: reason\n }));\n }\n\n return _extends({\n isActive: function isActive() {\n return _isActive({\n expected: 'DRAGGING',\n phase: phase,\n isLockActive: isLockActive,\n shouldWarn: false\n });\n },\n shouldRespectForcePress: getShouldRespectForcePress,\n drop: function drop(options) {\n return finish('DROP', options);\n },\n cancel: function cancel(options) {\n return finish('CANCEL', options);\n }\n }, args.actions);\n }\n\n function fluidLift(clientSelection) {\n var move$1 = rafSchd(function (client) {\n tryDispatchWhenDragging(function () {\n return move({\n client: client\n });\n });\n });\n var api = lift$1({\n liftActionArgs: {\n id: draggableId,\n clientSelection: clientSelection,\n movementMode: 'FLUID'\n },\n cleanup: function cleanup() {\n return move$1.cancel();\n },\n actions: {\n move: move$1\n }\n });\n return _extends({}, api, {\n move: move$1\n });\n }\n\n function snapLift() {\n var actions = {\n moveUp: function moveUp$1() {\n return tryDispatchWhenDragging(moveUp);\n },\n moveRight: function moveRight$1() {\n return tryDispatchWhenDragging(moveRight);\n },\n moveDown: function moveDown$1() {\n return tryDispatchWhenDragging(moveDown);\n },\n moveLeft: function moveLeft$1() {\n return tryDispatchWhenDragging(moveLeft);\n }\n };\n return lift$1({\n liftActionArgs: {\n id: draggableId,\n clientSelection: getBorderBoxCenterPosition(el),\n movementMode: 'SNAP'\n },\n cleanup: noop,\n actions: actions\n });\n }\n\n function abortPreDrag() {\n var shouldRelease = _isActive({\n expected: 'PRE_DRAG',\n phase: phase,\n isLockActive: isLockActive,\n shouldWarn: true\n });\n\n if (shouldRelease) {\n lockAPI.release();\n }\n }\n\n var preDrag = {\n isActive: function isActive() {\n return _isActive({\n expected: 'PRE_DRAG',\n phase: phase,\n isLockActive: isLockActive,\n shouldWarn: false\n });\n },\n shouldRespectForcePress: getShouldRespectForcePress,\n fluidLift: fluidLift,\n snapLift: snapLift,\n abort: abortPreDrag\n };\n return preDrag;\n}\n\nvar defaultSensors = [useMouseSensor, useKeyboardSensor, useTouchSensor];\nfunction useSensorMarshal(_ref4) {\n var contextId = _ref4.contextId,\n store = _ref4.store,\n registry = _ref4.registry,\n customSensors = _ref4.customSensors,\n enableDefaultSensors = _ref4.enableDefaultSensors;\n var useSensors = [].concat(enableDefaultSensors ? defaultSensors : [], customSensors || []);\n var lockAPI = useState(function () {\n return create();\n })[0];\n var tryAbandonLock = useCallback(function tryAbandonLock(previous, current) {\n if (previous.isDragging && !current.isDragging) {\n lockAPI.tryAbandon();\n }\n }, [lockAPI]);\n useIsomorphicLayoutEffect(function listenToStore() {\n var previous = store.getState();\n var unsubscribe = store.subscribe(function () {\n var current = store.getState();\n tryAbandonLock(previous, current);\n previous = current;\n });\n return unsubscribe;\n }, [lockAPI, store, tryAbandonLock]);\n useIsomorphicLayoutEffect(function () {\n return lockAPI.tryAbandon;\n }, [lockAPI.tryAbandon]);\n var canGetLock = useCallback(function (draggableId) {\n return canStart({\n lockAPI: lockAPI,\n registry: registry,\n store: store,\n draggableId: draggableId\n });\n }, [lockAPI, registry, store]);\n var tryGetLock = useCallback(function (draggableId, forceStop, options) {\n return tryStart({\n lockAPI: lockAPI,\n registry: registry,\n contextId: contextId,\n store: store,\n draggableId: draggableId,\n forceSensorStop: forceStop,\n sourceEvent: options && options.sourceEvent ? options.sourceEvent : null\n });\n }, [contextId, lockAPI, registry, store]);\n var findClosestDraggableId = useCallback(function (event) {\n return tryGetClosestDraggableIdFromEvent(contextId, event);\n }, [contextId]);\n var findOptionsForDraggable = useCallback(function (id) {\n var entry = registry.draggable.findById(id);\n return entry ? entry.options : null;\n }, [registry.draggable]);\n var tryReleaseLock = useCallback(function tryReleaseLock() {\n if (!lockAPI.isClaimed()) {\n return;\n }\n\n lockAPI.tryAbandon();\n\n if (store.getState().phase !== 'IDLE') {\n store.dispatch(flush());\n }\n }, [lockAPI, store]);\n var isLockClaimed = useCallback(lockAPI.isClaimed, [lockAPI]);\n var api = useMemo(function () {\n return {\n canGetLock: canGetLock,\n tryGetLock: tryGetLock,\n findClosestDraggableId: findClosestDraggableId,\n findOptionsForDraggable: findOptionsForDraggable,\n tryReleaseLock: tryReleaseLock,\n isLockClaimed: isLockClaimed\n };\n }, [canGetLock, tryGetLock, findClosestDraggableId, findOptionsForDraggable, tryReleaseLock, isLockClaimed]);\n useValidateSensorHooks(useSensors);\n\n for (var i = 0; i < useSensors.length; i++) {\n useSensors[i](api);\n }\n}\n\nvar createResponders = function createResponders(props) {\n return {\n onBeforeCapture: props.onBeforeCapture,\n onBeforeDragStart: props.onBeforeDragStart,\n onDragStart: props.onDragStart,\n onDragEnd: props.onDragEnd,\n onDragUpdate: props.onDragUpdate\n };\n};\n\nfunction getStore(lazyRef) {\n !lazyRef.current ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Could not find store from lazy ref') : invariant(false) : void 0;\n return lazyRef.current;\n}\n\nfunction App(props) {\n var contextId = props.contextId,\n setCallbacks = props.setCallbacks,\n sensors = props.sensors,\n nonce = props.nonce,\n dragHandleUsageInstructions = props.dragHandleUsageInstructions;\n var lazyStoreRef = useRef(null);\n useStartupValidation();\n var lastPropsRef = usePrevious(props);\n var getResponders = useCallback(function () {\n return createResponders(lastPropsRef.current);\n }, [lastPropsRef]);\n var announce = useAnnouncer(contextId);\n var dragHandleUsageInstructionsId = useHiddenTextElement({\n contextId: contextId,\n text: dragHandleUsageInstructions\n });\n var styleMarshal = useStyleMarshal(contextId, nonce);\n var lazyDispatch = useCallback(function (action) {\n getStore(lazyStoreRef).dispatch(action);\n }, []);\n var marshalCallbacks = useMemo(function () {\n return bindActionCreators({\n publishWhileDragging: publishWhileDragging,\n updateDroppableScroll: updateDroppableScroll,\n updateDroppableIsEnabled: updateDroppableIsEnabled,\n updateDroppableIsCombineEnabled: updateDroppableIsCombineEnabled,\n collectionStarting: collectionStarting\n }, lazyDispatch);\n }, [lazyDispatch]);\n var registry = useRegistry();\n var dimensionMarshal = useMemo(function () {\n return createDimensionMarshal(registry, marshalCallbacks);\n }, [registry, marshalCallbacks]);\n var autoScroller = useMemo(function () {\n return createAutoScroller(_extends({\n scrollWindow: scrollWindow,\n scrollDroppable: dimensionMarshal.scrollDroppable\n }, bindActionCreators({\n move: move\n }, lazyDispatch)));\n }, [dimensionMarshal.scrollDroppable, lazyDispatch]);\n var focusMarshal = useFocusMarshal(contextId);\n var store = useMemo(function () {\n return createStore({\n announce: announce,\n autoScroller: autoScroller,\n dimensionMarshal: dimensionMarshal,\n focusMarshal: focusMarshal,\n getResponders: getResponders,\n styleMarshal: styleMarshal\n });\n }, [announce, autoScroller, dimensionMarshal, focusMarshal, getResponders, styleMarshal]);\n\n if (process.env.NODE_ENV !== 'production') {\n if (lazyStoreRef.current && lazyStoreRef.current !== store) {\n process.env.NODE_ENV !== \"production\" ? warning('unexpected store change') : void 0;\n }\n }\n\n lazyStoreRef.current = store;\n var tryResetStore = useCallback(function () {\n var current = getStore(lazyStoreRef);\n var state = current.getState();\n\n if (state.phase !== 'IDLE') {\n current.dispatch(flush());\n }\n }, []);\n var isDragging = useCallback(function () {\n var state = getStore(lazyStoreRef).getState();\n return state.isDragging || state.phase === 'DROP_ANIMATING';\n }, []);\n var appCallbacks = useMemo(function () {\n return {\n isDragging: isDragging,\n tryAbort: tryResetStore\n };\n }, [isDragging, tryResetStore]);\n setCallbacks(appCallbacks);\n var getCanLift = useCallback(function (id) {\n return canStartDrag(getStore(lazyStoreRef).getState(), id);\n }, []);\n var getIsMovementAllowed = useCallback(function () {\n return isMovementAllowed(getStore(lazyStoreRef).getState());\n }, []);\n var appContext = useMemo(function () {\n return {\n marshal: dimensionMarshal,\n focus: focusMarshal,\n contextId: contextId,\n canLift: getCanLift,\n isMovementAllowed: getIsMovementAllowed,\n dragHandleUsageInstructionsId: dragHandleUsageInstructionsId,\n registry: registry\n };\n }, [contextId, dimensionMarshal, dragHandleUsageInstructionsId, focusMarshal, getCanLift, getIsMovementAllowed, registry]);\n useSensorMarshal({\n contextId: contextId,\n store: store,\n registry: registry,\n customSensors: sensors,\n enableDefaultSensors: props.enableDefaultSensors !== false\n });\n useEffect(function () {\n return tryResetStore;\n }, [tryResetStore]);\n return React.createElement(AppContext.Provider, {\n value: appContext\n }, React.createElement(Provider, {\n context: StoreContext,\n store: store\n }, props.children));\n}\n\nvar count$1 = 0;\nfunction reset$1() {\n count$1 = 0;\n}\nfunction useInstanceCount() {\n return useMemo(function () {\n return \"\" + count$1++;\n }, []);\n}\n\nfunction resetServerContext() {\n reset$1();\n reset();\n}\nfunction DragDropContext(props) {\n var contextId = useInstanceCount();\n var dragHandleUsageInstructions = props.dragHandleUsageInstructions || preset.dragHandleUsageInstructions;\n return React.createElement(ErrorBoundary, null, function (setCallbacks) {\n return React.createElement(App, {\n nonce: props.nonce,\n contextId: contextId,\n setCallbacks: setCallbacks,\n dragHandleUsageInstructions: dragHandleUsageInstructions,\n enableDefaultSensors: props.enableDefaultSensors,\n sensors: props.sensors,\n onBeforeCapture: props.onBeforeCapture,\n onBeforeDragStart: props.onBeforeDragStart,\n onDragStart: props.onDragStart,\n onDragUpdate: props.onDragUpdate,\n onDragEnd: props.onDragEnd\n }, props.children);\n });\n}\n\nvar isEqual$1 = function isEqual(base) {\n return function (value) {\n return base === value;\n };\n};\n\nvar isScroll = isEqual$1('scroll');\nvar isAuto = isEqual$1('auto');\nvar isVisible$1 = isEqual$1('visible');\n\nvar isEither = function isEither(overflow, fn) {\n return fn(overflow.overflowX) || fn(overflow.overflowY);\n};\n\nvar isBoth = function isBoth(overflow, fn) {\n return fn(overflow.overflowX) && fn(overflow.overflowY);\n};\n\nvar isElementScrollable = function isElementScrollable(el) {\n var style = window.getComputedStyle(el);\n var overflow = {\n overflowX: style.overflowX,\n overflowY: style.overflowY\n };\n return isEither(overflow, isScroll) || isEither(overflow, isAuto);\n};\n\nvar isBodyScrollable = function isBodyScrollable() {\n if (process.env.NODE_ENV === 'production') {\n return false;\n }\n\n var body = getBodyElement();\n var html = document.documentElement;\n !html ? process.env.NODE_ENV !== \"production\" ? invariant(false) : invariant(false) : void 0;\n\n if (!isElementScrollable(body)) {\n return false;\n }\n\n var htmlStyle = window.getComputedStyle(html);\n var htmlOverflow = {\n overflowX: htmlStyle.overflowX,\n overflowY: htmlStyle.overflowY\n };\n\n if (isBoth(htmlOverflow, isVisible$1)) {\n return false;\n }\n\n process.env.NODE_ENV !== \"production\" ? warning(\"\\n We have detected that your <body> element might be a scroll container.\\n We have found no reliable way of detecting whether the <body> element is a scroll container.\\n Under most circumstances a <body> scroll bar will be on the <html> element (document.documentElement)\\n\\n Because we cannot determine if the <body> is a scroll container, and generally it is not one,\\n we will be treating the <body> as *not* a scroll container\\n\\n More information: https://github.com/atlassian/react-beautiful-dnd/blob/master/docs/guides/how-we-detect-scroll-containers.md\\n \") : void 0;\n return false;\n};\n\nvar getClosestScrollable = function getClosestScrollable(el) {\n if (el == null) {\n return null;\n }\n\n if (el === document.body) {\n return isBodyScrollable() ? el : null;\n }\n\n if (el === document.documentElement) {\n return null;\n }\n\n if (!isElementScrollable(el)) {\n return getClosestScrollable(el.parentElement);\n }\n\n return el;\n};\n\nvar checkForNestedScrollContainers = (function (scrollable) {\n if (!scrollable) {\n return;\n }\n\n var anotherScrollParent = getClosestScrollable(scrollable.parentElement);\n\n if (!anotherScrollParent) {\n return;\n }\n\n process.env.NODE_ENV !== \"production\" ? warning(\"\\n Droppable: unsupported nested scroll container detected.\\n A Droppable can only have one scroll parent (which can be itself)\\n Nested scroll containers are currently not supported.\\n\\n We hope to support nested scroll containers soon: https://github.com/atlassian/react-beautiful-dnd/issues/131\\n \") : void 0;\n});\n\nvar getScroll$1 = (function (el) {\n return {\n x: el.scrollLeft,\n y: el.scrollTop\n };\n});\n\nvar getIsFixed = function getIsFixed(el) {\n if (!el) {\n return false;\n }\n\n var style = window.getComputedStyle(el);\n\n if (style.position === 'fixed') {\n return true;\n }\n\n return getIsFixed(el.parentElement);\n};\n\nvar getEnv = (function (start) {\n var closestScrollable = getClosestScrollable(start);\n var isFixedOnPage = getIsFixed(start);\n return {\n closestScrollable: closestScrollable,\n isFixedOnPage: isFixedOnPage\n };\n});\n\nvar getDroppableDimension = (function (_ref) {\n var descriptor = _ref.descriptor,\n isEnabled = _ref.isEnabled,\n isCombineEnabled = _ref.isCombineEnabled,\n isFixedOnPage = _ref.isFixedOnPage,\n direction = _ref.direction,\n client = _ref.client,\n page = _ref.page,\n closest = _ref.closest;\n\n var frame = function () {\n if (!closest) {\n return null;\n }\n\n var scrollSize = closest.scrollSize,\n frameClient = closest.client;\n var maxScroll = getMaxScroll({\n scrollHeight: scrollSize.scrollHeight,\n scrollWidth: scrollSize.scrollWidth,\n height: frameClient.paddingBox.height,\n width: frameClient.paddingBox.width\n });\n return {\n pageMarginBox: closest.page.marginBox,\n frameClient: frameClient,\n scrollSize: scrollSize,\n shouldClipSubject: closest.shouldClipSubject,\n scroll: {\n initial: closest.scroll,\n current: closest.scroll,\n max: maxScroll,\n diff: {\n value: origin,\n displacement: origin\n }\n }\n };\n }();\n\n var axis = direction === 'vertical' ? vertical : horizontal;\n var subject = getSubject({\n page: page,\n withPlaceholder: null,\n axis: axis,\n frame: frame\n });\n var dimension = {\n descriptor: descriptor,\n isCombineEnabled: isCombineEnabled,\n isFixedOnPage: isFixedOnPage,\n axis: axis,\n isEnabled: isEnabled,\n client: client,\n page: page,\n frame: frame,\n subject: subject\n };\n return dimension;\n});\n\nvar getClient = function getClient(targetRef, closestScrollable) {\n var base = getBox(targetRef);\n\n if (!closestScrollable) {\n return base;\n }\n\n if (targetRef !== closestScrollable) {\n return base;\n }\n\n var top = base.paddingBox.top - closestScrollable.scrollTop;\n var left = base.paddingBox.left - closestScrollable.scrollLeft;\n var bottom = top + closestScrollable.scrollHeight;\n var right = left + closestScrollable.scrollWidth;\n var paddingBox = {\n top: top,\n right: right,\n bottom: bottom,\n left: left\n };\n var borderBox = expand(paddingBox, base.border);\n var client = createBox({\n borderBox: borderBox,\n margin: base.margin,\n border: base.border,\n padding: base.padding\n });\n return client;\n};\n\nvar getDimension = (function (_ref) {\n var ref = _ref.ref,\n descriptor = _ref.descriptor,\n env = _ref.env,\n windowScroll = _ref.windowScroll,\n direction = _ref.direction,\n isDropDisabled = _ref.isDropDisabled,\n isCombineEnabled = _ref.isCombineEnabled,\n shouldClipSubject = _ref.shouldClipSubject;\n var closestScrollable = env.closestScrollable;\n var client = getClient(ref, closestScrollable);\n var page = withScroll(client, windowScroll);\n\n var closest = function () {\n if (!closestScrollable) {\n return null;\n }\n\n var frameClient = getBox(closestScrollable);\n var scrollSize = {\n scrollHeight: closestScrollable.scrollHeight,\n scrollWidth: closestScrollable.scrollWidth\n };\n return {\n client: frameClient,\n page: withScroll(frameClient, windowScroll),\n scroll: getScroll$1(closestScrollable),\n scrollSize: scrollSize,\n shouldClipSubject: shouldClipSubject\n };\n }();\n\n var dimension = getDroppableDimension({\n descriptor: descriptor,\n isEnabled: !isDropDisabled,\n isCombineEnabled: isCombineEnabled,\n isFixedOnPage: env.isFixedOnPage,\n direction: direction,\n client: client,\n page: page,\n closest: closest\n });\n return dimension;\n});\n\nvar immediate = {\n passive: false\n};\nvar delayed = {\n passive: true\n};\nvar getListenerOptions = (function (options) {\n return options.shouldPublishImmediately ? immediate : delayed;\n});\n\nfunction useRequiredContext(Context) {\n var result = useContext(Context);\n !result ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Could not find required context') : invariant(false) : void 0;\n return result;\n}\n\nvar getClosestScrollableFromDrag = function getClosestScrollableFromDrag(dragging) {\n return dragging && dragging.env.closestScrollable || null;\n};\n\nfunction useDroppablePublisher(args) {\n var whileDraggingRef = useRef(null);\n var appContext = useRequiredContext(AppContext);\n var uniqueId = useUniqueId('droppable');\n var registry = appContext.registry,\n marshal = appContext.marshal;\n var previousRef = usePrevious(args);\n var descriptor = useMemo(function () {\n return {\n id: args.droppableId,\n type: args.type,\n mode: args.mode\n };\n }, [args.droppableId, args.mode, args.type]);\n var publishedDescriptorRef = useRef(descriptor);\n var memoizedUpdateScroll = useMemo(function () {\n return memoizeOne(function (x, y) {\n !whileDraggingRef.current ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Can only update scroll when dragging') : invariant(false) : void 0;\n var scroll = {\n x: x,\n y: y\n };\n marshal.updateDroppableScroll(descriptor.id, scroll);\n });\n }, [descriptor.id, marshal]);\n var getClosestScroll = useCallback(function () {\n var dragging = whileDraggingRef.current;\n\n if (!dragging || !dragging.env.closestScrollable) {\n return origin;\n }\n\n return getScroll$1(dragging.env.closestScrollable);\n }, []);\n var updateScroll = useCallback(function () {\n var scroll = getClosestScroll();\n memoizedUpdateScroll(scroll.x, scroll.y);\n }, [getClosestScroll, memoizedUpdateScroll]);\n var scheduleScrollUpdate = useMemo(function () {\n return rafSchd(updateScroll);\n }, [updateScroll]);\n var onClosestScroll = useCallback(function () {\n var dragging = whileDraggingRef.current;\n var closest = getClosestScrollableFromDrag(dragging);\n !(dragging && closest) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Could not find scroll options while scrolling') : invariant(false) : void 0;\n var options = dragging.scrollOptions;\n\n if (options.shouldPublishImmediately) {\n updateScroll();\n return;\n }\n\n scheduleScrollUpdate();\n }, [scheduleScrollUpdate, updateScroll]);\n var getDimensionAndWatchScroll = useCallback(function (windowScroll, options) {\n !!whileDraggingRef.current ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot collect a droppable while a drag is occurring') : invariant(false) : void 0;\n var previous = previousRef.current;\n var ref = previous.getDroppableRef();\n !ref ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot collect without a droppable ref') : invariant(false) : void 0;\n var env = getEnv(ref);\n var dragging = {\n ref: ref,\n descriptor: descriptor,\n env: env,\n scrollOptions: options\n };\n whileDraggingRef.current = dragging;\n var dimension = getDimension({\n ref: ref,\n descriptor: descriptor,\n env: env,\n windowScroll: windowScroll,\n direction: previous.direction,\n isDropDisabled: previous.isDropDisabled,\n isCombineEnabled: previous.isCombineEnabled,\n shouldClipSubject: !previous.ignoreContainerClipping\n });\n var scrollable = env.closestScrollable;\n\n if (scrollable) {\n scrollable.setAttribute(scrollContainer.contextId, appContext.contextId);\n scrollable.addEventListener('scroll', onClosestScroll, getListenerOptions(dragging.scrollOptions));\n\n if (process.env.NODE_ENV !== 'production') {\n checkForNestedScrollContainers(scrollable);\n }\n }\n\n return dimension;\n }, [appContext.contextId, descriptor, onClosestScroll, previousRef]);\n var getScrollWhileDragging = useCallback(function () {\n var dragging = whileDraggingRef.current;\n var closest = getClosestScrollableFromDrag(dragging);\n !(dragging && closest) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Can only recollect Droppable client for Droppables that have a scroll container') : invariant(false) : void 0;\n return getScroll$1(closest);\n }, []);\n var dragStopped = useCallback(function () {\n var dragging = whileDraggingRef.current;\n !dragging ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot stop drag when no active drag') : invariant(false) : void 0;\n var closest = getClosestScrollableFromDrag(dragging);\n whileDraggingRef.current = null;\n\n if (!closest) {\n return;\n }\n\n scheduleScrollUpdate.cancel();\n closest.removeAttribute(scrollContainer.contextId);\n closest.removeEventListener('scroll', onClosestScroll, getListenerOptions(dragging.scrollOptions));\n }, [onClosestScroll, scheduleScrollUpdate]);\n var scroll = useCallback(function (change) {\n var dragging = whileDraggingRef.current;\n !dragging ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot scroll when there is no drag') : invariant(false) : void 0;\n var closest = getClosestScrollableFromDrag(dragging);\n !closest ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot scroll a droppable with no closest scrollable') : invariant(false) : void 0;\n closest.scrollTop += change.y;\n closest.scrollLeft += change.x;\n }, []);\n var callbacks = useMemo(function () {\n return {\n getDimensionAndWatchScroll: getDimensionAndWatchScroll,\n getScrollWhileDragging: getScrollWhileDragging,\n dragStopped: dragStopped,\n scroll: scroll\n };\n }, [dragStopped, getDimensionAndWatchScroll, getScrollWhileDragging, scroll]);\n var entry = useMemo(function () {\n return {\n uniqueId: uniqueId,\n descriptor: descriptor,\n callbacks: callbacks\n };\n }, [callbacks, descriptor, uniqueId]);\n useIsomorphicLayoutEffect(function () {\n publishedDescriptorRef.current = entry.descriptor;\n registry.droppable.register(entry);\n return function () {\n if (whileDraggingRef.current) {\n process.env.NODE_ENV !== \"production\" ? warning('Unsupported: changing the droppableId or type of a Droppable during a drag') : void 0;\n dragStopped();\n }\n\n registry.droppable.unregister(entry);\n };\n }, [callbacks, descriptor, dragStopped, entry, marshal, registry.droppable]);\n useIsomorphicLayoutEffect(function () {\n if (!whileDraggingRef.current) {\n return;\n }\n\n marshal.updateDroppableIsEnabled(publishedDescriptorRef.current.id, !args.isDropDisabled);\n }, [args.isDropDisabled, marshal]);\n useIsomorphicLayoutEffect(function () {\n if (!whileDraggingRef.current) {\n return;\n }\n\n marshal.updateDroppableIsCombineEnabled(publishedDescriptorRef.current.id, args.isCombineEnabled);\n }, [args.isCombineEnabled, marshal]);\n}\n\nfunction noop$2() {}\n\nvar empty = {\n width: 0,\n height: 0,\n margin: noSpacing\n};\n\nvar getSize = function getSize(_ref) {\n var isAnimatingOpenOnMount = _ref.isAnimatingOpenOnMount,\n placeholder = _ref.placeholder,\n animate = _ref.animate;\n\n if (isAnimatingOpenOnMount) {\n return empty;\n }\n\n if (animate === 'close') {\n return empty;\n }\n\n return {\n height: placeholder.client.borderBox.height,\n width: placeholder.client.borderBox.width,\n margin: placeholder.client.margin\n };\n};\n\nvar getStyle = function getStyle(_ref2) {\n var isAnimatingOpenOnMount = _ref2.isAnimatingOpenOnMount,\n placeholder = _ref2.placeholder,\n animate = _ref2.animate;\n var size = getSize({\n isAnimatingOpenOnMount: isAnimatingOpenOnMount,\n placeholder: placeholder,\n animate: animate\n });\n return {\n display: placeholder.display,\n boxSizing: 'border-box',\n width: size.width,\n height: size.height,\n marginTop: size.margin.top,\n marginRight: size.margin.right,\n marginBottom: size.margin.bottom,\n marginLeft: size.margin.left,\n flexShrink: '0',\n flexGrow: '0',\n pointerEvents: 'none',\n transition: animate !== 'none' ? transitions.placeholder : null\n };\n};\n\nfunction Placeholder(props) {\n var animateOpenTimerRef = useRef(null);\n var tryClearAnimateOpenTimer = useCallback(function () {\n if (!animateOpenTimerRef.current) {\n return;\n }\n\n clearTimeout(animateOpenTimerRef.current);\n animateOpenTimerRef.current = null;\n }, []);\n var animate = props.animate,\n onTransitionEnd = props.onTransitionEnd,\n onClose = props.onClose,\n contextId = props.contextId;\n\n var _useState = useState(props.animate === 'open'),\n isAnimatingOpenOnMount = _useState[0],\n setIsAnimatingOpenOnMount = _useState[1];\n\n useEffect(function () {\n if (!isAnimatingOpenOnMount) {\n return noop$2;\n }\n\n if (animate !== 'open') {\n tryClearAnimateOpenTimer();\n setIsAnimatingOpenOnMount(false);\n return noop$2;\n }\n\n if (animateOpenTimerRef.current) {\n return noop$2;\n }\n\n animateOpenTimerRef.current = setTimeout(function () {\n animateOpenTimerRef.current = null;\n setIsAnimatingOpenOnMount(false);\n });\n return tryClearAnimateOpenTimer;\n }, [animate, isAnimatingOpenOnMount, tryClearAnimateOpenTimer]);\n var onSizeChangeEnd = useCallback(function (event) {\n if (event.propertyName !== 'height') {\n return;\n }\n\n onTransitionEnd();\n\n if (animate === 'close') {\n onClose();\n }\n }, [animate, onClose, onTransitionEnd]);\n var style = getStyle({\n isAnimatingOpenOnMount: isAnimatingOpenOnMount,\n animate: props.animate,\n placeholder: props.placeholder\n });\n return React.createElement(props.placeholder.tagName, {\n style: style,\n 'data-rbd-placeholder-context-id': contextId,\n onTransitionEnd: onSizeChangeEnd,\n ref: props.innerRef\n });\n}\n\nvar Placeholder$1 = React.memo(Placeholder);\n\nvar DroppableContext = React.createContext(null);\n\nfunction checkIsValidInnerRef(el) {\n !(el && isHtmlElement(el)) ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"\\n provided.innerRef has not been provided with a HTMLElement.\\n\\n You can find a guide on using the innerRef callback functions at:\\n https://github.com/atlassian/react-beautiful-dnd/blob/master/docs/guides/using-inner-ref.md\\n \") : invariant(false) : void 0;\n}\n\nfunction isBoolean(value) {\n return typeof value === 'boolean';\n}\n\nfunction runChecks(args, checks) {\n checks.forEach(function (check) {\n return check(args);\n });\n}\n\nvar shared = [function required(_ref) {\n var props = _ref.props;\n !props.droppableId ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'A Droppable requires a droppableId prop') : invariant(false) : void 0;\n !(typeof props.droppableId === 'string') ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"A Droppable requires a [string] droppableId. Provided: [\" + typeof props.droppableId + \"]\") : invariant(false) : void 0;\n}, function _boolean(_ref2) {\n var props = _ref2.props;\n !isBoolean(props.isDropDisabled) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'isDropDisabled must be a boolean') : invariant(false) : void 0;\n !isBoolean(props.isCombineEnabled) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'isCombineEnabled must be a boolean') : invariant(false) : void 0;\n !isBoolean(props.ignoreContainerClipping) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'ignoreContainerClipping must be a boolean') : invariant(false) : void 0;\n}, function ref(_ref3) {\n var getDroppableRef = _ref3.getDroppableRef;\n checkIsValidInnerRef(getDroppableRef());\n}];\nvar standard = [function placeholder(_ref4) {\n var props = _ref4.props,\n getPlaceholderRef = _ref4.getPlaceholderRef;\n\n if (!props.placeholder) {\n return;\n }\n\n var ref = getPlaceholderRef();\n\n if (ref) {\n return;\n }\n\n process.env.NODE_ENV !== \"production\" ? warning(\"\\n Droppable setup issue [droppableId: \\\"\" + props.droppableId + \"\\\"]:\\n DroppableProvided > placeholder could not be found.\\n\\n Please be sure to add the {provided.placeholder} React Node as a child of your Droppable.\\n More information: https://github.com/atlassian/react-beautiful-dnd/blob/master/docs/api/droppable.md\\n \") : void 0;\n}];\nvar virtual = [function hasClone(_ref5) {\n var props = _ref5.props;\n !props.renderClone ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Must provide a clone render function (renderClone) for virtual lists') : invariant(false) : void 0;\n}, function hasNoPlaceholder(_ref6) {\n var getPlaceholderRef = _ref6.getPlaceholderRef;\n !!getPlaceholderRef() ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Expected virtual list to not have a placeholder') : invariant(false) : void 0;\n}];\nfunction useValidation(args) {\n useDevSetupWarning(function () {\n runChecks(args, shared);\n\n if (args.props.mode === 'standard') {\n runChecks(args, standard);\n }\n\n if (args.props.mode === 'virtual') {\n runChecks(args, virtual);\n }\n });\n}\n\nvar AnimateInOut = function (_React$PureComponent) {\n _inheritsLoose(AnimateInOut, _React$PureComponent);\n\n function AnimateInOut() {\n var _this;\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _React$PureComponent.call.apply(_React$PureComponent, [this].concat(args)) || this;\n _this.state = {\n isVisible: Boolean(_this.props.on),\n data: _this.props.on,\n animate: _this.props.shouldAnimate && _this.props.on ? 'open' : 'none'\n };\n\n _this.onClose = function () {\n if (_this.state.animate !== 'close') {\n return;\n }\n\n _this.setState({\n isVisible: false\n });\n };\n\n return _this;\n }\n\n AnimateInOut.getDerivedStateFromProps = function getDerivedStateFromProps(props, state) {\n if (!props.shouldAnimate) {\n return {\n isVisible: Boolean(props.on),\n data: props.on,\n animate: 'none'\n };\n }\n\n if (props.on) {\n return {\n isVisible: true,\n data: props.on,\n animate: 'open'\n };\n }\n\n if (state.isVisible) {\n return {\n isVisible: true,\n data: state.data,\n animate: 'close'\n };\n }\n\n return {\n isVisible: false,\n animate: 'close',\n data: null\n };\n };\n\n var _proto = AnimateInOut.prototype;\n\n _proto.render = function render() {\n if (!this.state.isVisible) {\n return null;\n }\n\n var provided = {\n onClose: this.onClose,\n data: this.state.data,\n animate: this.state.animate\n };\n return this.props.children(provided);\n };\n\n return AnimateInOut;\n}(React.PureComponent);\n\nvar zIndexOptions = {\n dragging: 5000,\n dropAnimating: 4500\n};\n\nvar getDraggingTransition = function getDraggingTransition(shouldAnimateDragMovement, dropping) {\n if (dropping) {\n return transitions.drop(dropping.duration);\n }\n\n if (shouldAnimateDragMovement) {\n return transitions.snap;\n }\n\n return transitions.fluid;\n};\n\nvar getDraggingOpacity = function getDraggingOpacity(isCombining, isDropAnimating) {\n if (!isCombining) {\n return null;\n }\n\n return isDropAnimating ? combine.opacity.drop : combine.opacity.combining;\n};\n\nvar getShouldDraggingAnimate = function getShouldDraggingAnimate(dragging) {\n if (dragging.forceShouldAnimate != null) {\n return dragging.forceShouldAnimate;\n }\n\n return dragging.mode === 'SNAP';\n};\n\nfunction getDraggingStyle(dragging) {\n var dimension = dragging.dimension;\n var box = dimension.client;\n var offset = dragging.offset,\n combineWith = dragging.combineWith,\n dropping = dragging.dropping;\n var isCombining = Boolean(combineWith);\n var shouldAnimate = getShouldDraggingAnimate(dragging);\n var isDropAnimating = Boolean(dropping);\n var transform = isDropAnimating ? transforms.drop(offset, isCombining) : transforms.moveTo(offset);\n var style = {\n position: 'fixed',\n top: box.marginBox.top,\n left: box.marginBox.left,\n boxSizing: 'border-box',\n width: box.borderBox.width,\n height: box.borderBox.height,\n transition: getDraggingTransition(shouldAnimate, dropping),\n transform: transform,\n opacity: getDraggingOpacity(isCombining, isDropAnimating),\n zIndex: isDropAnimating ? zIndexOptions.dropAnimating : zIndexOptions.dragging,\n pointerEvents: 'none'\n };\n return style;\n}\n\nfunction getSecondaryStyle(secondary) {\n return {\n transform: transforms.moveTo(secondary.offset),\n transition: secondary.shouldAnimateDisplacement ? null : 'none'\n };\n}\n\nfunction getStyle$1(mapped) {\n return mapped.type === 'DRAGGING' ? getDraggingStyle(mapped) : getSecondaryStyle(mapped);\n}\n\nfunction getDimension$1(descriptor, el, windowScroll) {\n if (windowScroll === void 0) {\n windowScroll = origin;\n }\n\n var computedStyles = window.getComputedStyle(el);\n var borderBox = el.getBoundingClientRect();\n var client = calculateBox(borderBox, computedStyles);\n var page = withScroll(client, windowScroll);\n var placeholder = {\n client: client,\n tagName: el.tagName.toLowerCase(),\n display: computedStyles.display\n };\n var displaceBy = {\n x: client.marginBox.width,\n y: client.marginBox.height\n };\n var dimension = {\n descriptor: descriptor,\n placeholder: placeholder,\n displaceBy: displaceBy,\n client: client,\n page: page\n };\n return dimension;\n}\n\nfunction useDraggablePublisher(args) {\n var uniqueId = useUniqueId('draggable');\n var descriptor = args.descriptor,\n registry = args.registry,\n getDraggableRef = args.getDraggableRef,\n canDragInteractiveElements = args.canDragInteractiveElements,\n shouldRespectForcePress = args.shouldRespectForcePress,\n isEnabled = args.isEnabled;\n var options = useMemo(function () {\n return {\n canDragInteractiveElements: canDragInteractiveElements,\n shouldRespectForcePress: shouldRespectForcePress,\n isEnabled: isEnabled\n };\n }, [canDragInteractiveElements, isEnabled, shouldRespectForcePress]);\n var getDimension = useCallback(function (windowScroll) {\n var el = getDraggableRef();\n !el ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Cannot get dimension when no ref is set') : invariant(false) : void 0;\n return getDimension$1(descriptor, el, windowScroll);\n }, [descriptor, getDraggableRef]);\n var entry = useMemo(function () {\n return {\n uniqueId: uniqueId,\n descriptor: descriptor,\n options: options,\n getDimension: getDimension\n };\n }, [descriptor, getDimension, options, uniqueId]);\n var publishedRef = useRef(entry);\n var isFirstPublishRef = useRef(true);\n useIsomorphicLayoutEffect(function () {\n registry.draggable.register(publishedRef.current);\n return function () {\n return registry.draggable.unregister(publishedRef.current);\n };\n }, [registry.draggable]);\n useIsomorphicLayoutEffect(function () {\n if (isFirstPublishRef.current) {\n isFirstPublishRef.current = false;\n return;\n }\n\n var last = publishedRef.current;\n publishedRef.current = entry;\n registry.draggable.update(entry, last);\n }, [entry, registry.draggable]);\n}\n\nfunction useValidation$1(props, contextId, getRef) {\n useDevSetupWarning(function () {\n function prefix(id) {\n return \"Draggable[id: \" + id + \"]: \";\n }\n\n var id = props.draggableId;\n !id ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Draggable requires a draggableId') : invariant(false) : void 0;\n !(typeof id === 'string') ? process.env.NODE_ENV !== \"production\" ? invariant(false, \"Draggable requires a [string] draggableId.\\n Provided: [type: \" + typeof id + \"] (value: \" + id + \")\") : invariant(false) : void 0;\n !isInteger(props.index) ? process.env.NODE_ENV !== \"production\" ? invariant(false, prefix(id) + \" requires an integer index prop\") : invariant(false) : void 0;\n\n if (props.mapped.type === 'DRAGGING') {\n return;\n }\n\n checkIsValidInnerRef(getRef());\n\n if (props.isEnabled) {\n !findDragHandle(contextId, id) ? process.env.NODE_ENV !== \"production\" ? invariant(false, prefix(id) + \" Unable to find drag handle\") : invariant(false) : void 0;\n }\n });\n}\nfunction useClonePropValidation(isClone) {\n useDev(function () {\n var initialRef = useRef(isClone);\n useDevSetupWarning(function () {\n !(isClone === initialRef.current) ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Draggable isClone prop value changed during component life') : invariant(false) : void 0;\n }, [isClone]);\n });\n}\n\nfunction preventHtml5Dnd(event) {\n event.preventDefault();\n}\n\nfunction Draggable(props) {\n var ref = useRef(null);\n var setRef = useCallback(function (el) {\n ref.current = el;\n }, []);\n var getRef = useCallback(function () {\n return ref.current;\n }, []);\n\n var _useRequiredContext = useRequiredContext(AppContext),\n contextId = _useRequiredContext.contextId,\n dragHandleUsageInstructionsId = _useRequiredContext.dragHandleUsageInstructionsId,\n registry = _useRequiredContext.registry;\n\n var _useRequiredContext2 = useRequiredContext(DroppableContext),\n type = _useRequiredContext2.type,\n droppableId = _useRequiredContext2.droppableId;\n\n var descriptor = useMemo(function () {\n return {\n id: props.draggableId,\n index: props.index,\n type: type,\n droppableId: droppableId\n };\n }, [props.draggableId, props.index, type, droppableId]);\n var children = props.children,\n draggableId = props.draggableId,\n isEnabled = props.isEnabled,\n shouldRespectForcePress = props.shouldRespectForcePress,\n canDragInteractiveElements = props.canDragInteractiveElements,\n isClone = props.isClone,\n mapped = props.mapped,\n dropAnimationFinishedAction = props.dropAnimationFinished;\n useValidation$1(props, contextId, getRef);\n useClonePropValidation(isClone);\n\n if (!isClone) {\n var forPublisher = useMemo(function () {\n return {\n descriptor: descriptor,\n registry: registry,\n getDraggableRef: getRef,\n canDragInteractiveElements: canDragInteractiveElements,\n shouldRespectForcePress: shouldRespectForcePress,\n isEnabled: isEnabled\n };\n }, [descriptor, registry, getRef, canDragInteractiveElements, shouldRespectForcePress, isEnabled]);\n useDraggablePublisher(forPublisher);\n }\n\n var dragHandleProps = useMemo(function () {\n return isEnabled ? {\n tabIndex: 0,\n role: 'button',\n 'aria-describedby': dragHandleUsageInstructionsId,\n 'data-rbd-drag-handle-draggable-id': draggableId,\n 'data-rbd-drag-handle-context-id': contextId,\n draggable: false,\n onDragStart: preventHtml5Dnd\n } : null;\n }, [contextId, dragHandleUsageInstructionsId, draggableId, isEnabled]);\n var onMoveEnd = useCallback(function (event) {\n if (mapped.type !== 'DRAGGING') {\n return;\n }\n\n if (!mapped.dropping) {\n return;\n }\n\n if (event.propertyName !== 'transform') {\n return;\n }\n\n dropAnimationFinishedAction();\n }, [dropAnimationFinishedAction, mapped]);\n var provided = useMemo(function () {\n var style = getStyle$1(mapped);\n var onTransitionEnd = mapped.type === 'DRAGGING' && mapped.dropping ? onMoveEnd : null;\n var result = {\n innerRef: setRef,\n draggableProps: {\n 'data-rbd-draggable-context-id': contextId,\n 'data-rbd-draggable-id': draggableId,\n style: style,\n onTransitionEnd: onTransitionEnd\n },\n dragHandleProps: dragHandleProps\n };\n return result;\n }, [contextId, dragHandleProps, draggableId, mapped, onMoveEnd, setRef]);\n var rubric = useMemo(function () {\n return {\n draggableId: descriptor.id,\n type: descriptor.type,\n source: {\n index: descriptor.index,\n droppableId: descriptor.droppableId\n }\n };\n }, [descriptor.droppableId, descriptor.id, descriptor.index, descriptor.type]);\n return children(provided, mapped.snapshot, rubric);\n}\n\nvar isStrictEqual = (function (a, b) {\n return a === b;\n});\n\nvar whatIsDraggedOverFromResult = (function (result) {\n var combine = result.combine,\n destination = result.destination;\n\n if (destination) {\n return destination.droppableId;\n }\n\n if (combine) {\n return combine.droppableId;\n }\n\n return null;\n});\n\nvar getCombineWithFromResult = function getCombineWithFromResult(result) {\n return result.combine ? result.combine.draggableId : null;\n};\n\nvar getCombineWithFromImpact = function getCombineWithFromImpact(impact) {\n return impact.at && impact.at.type === 'COMBINE' ? impact.at.combine.draggableId : null;\n};\n\nfunction getDraggableSelector() {\n var memoizedOffset = memoizeOne(function (x, y) {\n return {\n x: x,\n y: y\n };\n });\n var getMemoizedSnapshot = memoizeOne(function (mode, isClone, draggingOver, combineWith, dropping) {\n return {\n isDragging: true,\n isClone: isClone,\n isDropAnimating: Boolean(dropping),\n dropAnimation: dropping,\n mode: mode,\n draggingOver: draggingOver,\n combineWith: combineWith,\n combineTargetFor: null\n };\n });\n var getMemoizedProps = memoizeOne(function (offset, mode, dimension, isClone, draggingOver, combineWith, forceShouldAnimate) {\n return {\n mapped: {\n type: 'DRAGGING',\n dropping: null,\n draggingOver: draggingOver,\n combineWith: combineWith,\n mode: mode,\n offset: offset,\n dimension: dimension,\n forceShouldAnimate: forceShouldAnimate,\n snapshot: getMemoizedSnapshot(mode, isClone, draggingOver, combineWith, null)\n }\n };\n });\n\n var selector = function selector(state, ownProps) {\n if (state.isDragging) {\n if (state.critical.draggable.id !== ownProps.draggableId) {\n return null;\n }\n\n var offset = state.current.client.offset;\n var dimension = state.dimensions.draggables[ownProps.draggableId];\n var draggingOver = whatIsDraggedOver(state.impact);\n var combineWith = getCombineWithFromImpact(state.impact);\n var forceShouldAnimate = state.forceShouldAnimate;\n return getMemoizedProps(memoizedOffset(offset.x, offset.y), state.movementMode, dimension, ownProps.isClone, draggingOver, combineWith, forceShouldAnimate);\n }\n\n if (state.phase === 'DROP_ANIMATING') {\n var completed = state.completed;\n\n if (completed.result.draggableId !== ownProps.draggableId) {\n return null;\n }\n\n var isClone = ownProps.isClone;\n var _dimension = state.dimensions.draggables[ownProps.draggableId];\n var result = completed.result;\n var mode = result.mode;\n\n var _draggingOver = whatIsDraggedOverFromResult(result);\n\n var _combineWith = getCombineWithFromResult(result);\n\n var duration = state.dropDuration;\n var dropping = {\n duration: duration,\n curve: curves.drop,\n moveTo: state.newHomeClientOffset,\n opacity: _combineWith ? combine.opacity.drop : null,\n scale: _combineWith ? combine.scale.drop : null\n };\n return {\n mapped: {\n type: 'DRAGGING',\n offset: state.newHomeClientOffset,\n dimension: _dimension,\n dropping: dropping,\n draggingOver: _draggingOver,\n combineWith: _combineWith,\n mode: mode,\n forceShouldAnimate: null,\n snapshot: getMemoizedSnapshot(mode, isClone, _draggingOver, _combineWith, dropping)\n }\n };\n }\n\n return null;\n };\n\n return selector;\n}\n\nfunction getSecondarySnapshot(combineTargetFor) {\n return {\n isDragging: false,\n isDropAnimating: false,\n isClone: false,\n dropAnimation: null,\n mode: null,\n draggingOver: null,\n combineTargetFor: combineTargetFor,\n combineWith: null\n };\n}\n\nvar atRest = {\n mapped: {\n type: 'SECONDARY',\n offset: origin,\n combineTargetFor: null,\n shouldAnimateDisplacement: true,\n snapshot: getSecondarySnapshot(null)\n }\n};\n\nfunction getSecondarySelector() {\n var memoizedOffset = memoizeOne(function (x, y) {\n return {\n x: x,\n y: y\n };\n });\n var getMemoizedSnapshot = memoizeOne(getSecondarySnapshot);\n var getMemoizedProps = memoizeOne(function (offset, combineTargetFor, shouldAnimateDisplacement) {\n if (combineTargetFor === void 0) {\n combineTargetFor = null;\n }\n\n return {\n mapped: {\n type: 'SECONDARY',\n offset: offset,\n combineTargetFor: combineTargetFor,\n shouldAnimateDisplacement: shouldAnimateDisplacement,\n snapshot: getMemoizedSnapshot(combineTargetFor)\n }\n };\n });\n\n var getFallback = function getFallback(combineTargetFor) {\n return combineTargetFor ? getMemoizedProps(origin, combineTargetFor, true) : null;\n };\n\n var getProps = function getProps(ownId, draggingId, impact, afterCritical) {\n var visualDisplacement = impact.displaced.visible[ownId];\n var isAfterCriticalInVirtualList = Boolean(afterCritical.inVirtualList && afterCritical.effected[ownId]);\n var combine = tryGetCombine(impact);\n var combineTargetFor = combine && combine.draggableId === ownId ? draggingId : null;\n\n if (!visualDisplacement) {\n if (!isAfterCriticalInVirtualList) {\n return getFallback(combineTargetFor);\n }\n\n if (impact.displaced.invisible[ownId]) {\n return null;\n }\n\n var change = negate(afterCritical.displacedBy.point);\n\n var _offset = memoizedOffset(change.x, change.y);\n\n return getMemoizedProps(_offset, combineTargetFor, true);\n }\n\n if (isAfterCriticalInVirtualList) {\n return getFallback(combineTargetFor);\n }\n\n var displaceBy = impact.displacedBy.point;\n var offset = memoizedOffset(displaceBy.x, displaceBy.y);\n return getMemoizedProps(offset, combineTargetFor, visualDisplacement.shouldAnimate);\n };\n\n var selector = function selector(state, ownProps) {\n if (state.isDragging) {\n if (state.critical.draggable.id === ownProps.draggableId) {\n return null;\n }\n\n return getProps(ownProps.draggableId, state.critical.draggable.id, state.impact, state.afterCritical);\n }\n\n if (state.phase === 'DROP_ANIMATING') {\n var completed = state.completed;\n\n if (completed.result.draggableId === ownProps.draggableId) {\n return null;\n }\n\n return getProps(ownProps.draggableId, completed.result.draggableId, completed.impact, completed.afterCritical);\n }\n\n return null;\n };\n\n return selector;\n}\n\nvar makeMapStateToProps = function makeMapStateToProps() {\n var draggingSelector = getDraggableSelector();\n var secondarySelector = getSecondarySelector();\n\n var selector = function selector(state, ownProps) {\n return draggingSelector(state, ownProps) || secondarySelector(state, ownProps) || atRest;\n };\n\n return selector;\n};\nvar mapDispatchToProps = {\n dropAnimationFinished: dropAnimationFinished\n};\nvar ConnectedDraggable = connect(makeMapStateToProps, mapDispatchToProps, null, {\n context: StoreContext,\n pure: true,\n areStatePropsEqual: isStrictEqual\n})(Draggable);\n\nfunction PrivateDraggable(props) {\n var droppableContext = useRequiredContext(DroppableContext);\n var isUsingCloneFor = droppableContext.isUsingCloneFor;\n\n if (isUsingCloneFor === props.draggableId && !props.isClone) {\n return null;\n }\n\n return React.createElement(ConnectedDraggable, props);\n}\nfunction PublicDraggable(props) {\n var isEnabled = typeof props.isDragDisabled === 'boolean' ? !props.isDragDisabled : true;\n var canDragInteractiveElements = Boolean(props.disableInteractiveElementBlocking);\n var shouldRespectForcePress = Boolean(props.shouldRespectForcePress);\n return React.createElement(PrivateDraggable, _extends({}, props, {\n isClone: false,\n isEnabled: isEnabled,\n canDragInteractiveElements: canDragInteractiveElements,\n shouldRespectForcePress: shouldRespectForcePress\n }));\n}\n\nfunction Droppable(props) {\n var appContext = useContext(AppContext);\n !appContext ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'Could not find app context') : invariant(false) : void 0;\n var contextId = appContext.contextId,\n isMovementAllowed = appContext.isMovementAllowed;\n var droppableRef = useRef(null);\n var placeholderRef = useRef(null);\n var children = props.children,\n droppableId = props.droppableId,\n type = props.type,\n mode = props.mode,\n direction = props.direction,\n ignoreContainerClipping = props.ignoreContainerClipping,\n isDropDisabled = props.isDropDisabled,\n isCombineEnabled = props.isCombineEnabled,\n snapshot = props.snapshot,\n useClone = props.useClone,\n updateViewportMaxScroll = props.updateViewportMaxScroll,\n getContainerForClone = props.getContainerForClone;\n var getDroppableRef = useCallback(function () {\n return droppableRef.current;\n }, []);\n var setDroppableRef = useCallback(function (value) {\n droppableRef.current = value;\n }, []);\n var getPlaceholderRef = useCallback(function () {\n return placeholderRef.current;\n }, []);\n var setPlaceholderRef = useCallback(function (value) {\n placeholderRef.current = value;\n }, []);\n useValidation({\n props: props,\n getDroppableRef: getDroppableRef,\n getPlaceholderRef: getPlaceholderRef\n });\n var onPlaceholderTransitionEnd = useCallback(function () {\n if (isMovementAllowed()) {\n updateViewportMaxScroll({\n maxScroll: getMaxWindowScroll()\n });\n }\n }, [isMovementAllowed, updateViewportMaxScroll]);\n useDroppablePublisher({\n droppableId: droppableId,\n type: type,\n mode: mode,\n direction: direction,\n isDropDisabled: isDropDisabled,\n isCombineEnabled: isCombineEnabled,\n ignoreContainerClipping: ignoreContainerClipping,\n getDroppableRef: getDroppableRef\n });\n var placeholder = React.createElement(AnimateInOut, {\n on: props.placeholder,\n shouldAnimate: props.shouldAnimatePlaceholder\n }, function (_ref) {\n var onClose = _ref.onClose,\n data = _ref.data,\n animate = _ref.animate;\n return React.createElement(Placeholder$1, {\n placeholder: data,\n onClose: onClose,\n innerRef: setPlaceholderRef,\n animate: animate,\n contextId: contextId,\n onTransitionEnd: onPlaceholderTransitionEnd\n });\n });\n var provided = useMemo(function () {\n return {\n innerRef: setDroppableRef,\n placeholder: placeholder,\n droppableProps: {\n 'data-rbd-droppable-id': droppableId,\n 'data-rbd-droppable-context-id': contextId\n }\n };\n }, [contextId, droppableId, placeholder, setDroppableRef]);\n var isUsingCloneFor = useClone ? useClone.dragging.draggableId : null;\n var droppableContext = useMemo(function () {\n return {\n droppableId: droppableId,\n type: type,\n isUsingCloneFor: isUsingCloneFor\n };\n }, [droppableId, isUsingCloneFor, type]);\n\n function getClone() {\n if (!useClone) {\n return null;\n }\n\n var dragging = useClone.dragging,\n render = useClone.render;\n var node = React.createElement(PrivateDraggable, {\n draggableId: dragging.draggableId,\n index: dragging.source.index,\n isClone: true,\n isEnabled: true,\n shouldRespectForcePress: false,\n canDragInteractiveElements: true\n }, function (draggableProvided, draggableSnapshot) {\n return render(draggableProvided, draggableSnapshot, dragging);\n });\n return ReactDOM.createPortal(node, getContainerForClone());\n }\n\n return React.createElement(DroppableContext.Provider, {\n value: droppableContext\n }, children(provided, snapshot), getClone());\n}\n\nvar isMatchingType = function isMatchingType(type, critical) {\n return type === critical.droppable.type;\n};\n\nvar getDraggable = function getDraggable(critical, dimensions) {\n return dimensions.draggables[critical.draggable.id];\n};\n\nvar makeMapStateToProps$1 = function makeMapStateToProps() {\n var idleWithAnimation = {\n placeholder: null,\n shouldAnimatePlaceholder: true,\n snapshot: {\n isDraggingOver: false,\n draggingOverWith: null,\n draggingFromThisWith: null,\n isUsingPlaceholder: false\n },\n useClone: null\n };\n\n var idleWithoutAnimation = _extends({}, idleWithAnimation, {\n shouldAnimatePlaceholder: false\n });\n\n var getDraggableRubric = memoizeOne(function (descriptor) {\n return {\n draggableId: descriptor.id,\n type: descriptor.type,\n source: {\n index: descriptor.index,\n droppableId: descriptor.droppableId\n }\n };\n });\n var getMapProps = memoizeOne(function (id, isEnabled, isDraggingOverForConsumer, isDraggingOverForImpact, dragging, renderClone) {\n var draggableId = dragging.descriptor.id;\n var isHome = dragging.descriptor.droppableId === id;\n\n if (isHome) {\n var useClone = renderClone ? {\n render: renderClone,\n dragging: getDraggableRubric(dragging.descriptor)\n } : null;\n var _snapshot = {\n isDraggingOver: isDraggingOverForConsumer,\n draggingOverWith: isDraggingOverForConsumer ? draggableId : null,\n draggingFromThisWith: draggableId,\n isUsingPlaceholder: true\n };\n return {\n placeholder: dragging.placeholder,\n shouldAnimatePlaceholder: false,\n snapshot: _snapshot,\n useClone: useClone\n };\n }\n\n if (!isEnabled) {\n return idleWithoutAnimation;\n }\n\n if (!isDraggingOverForImpact) {\n return idleWithAnimation;\n }\n\n var snapshot = {\n isDraggingOver: isDraggingOverForConsumer,\n draggingOverWith: draggableId,\n draggingFromThisWith: null,\n isUsingPlaceholder: true\n };\n return {\n placeholder: dragging.placeholder,\n shouldAnimatePlaceholder: true,\n snapshot: snapshot,\n useClone: null\n };\n });\n\n var selector = function selector(state, ownProps) {\n var id = ownProps.droppableId;\n var type = ownProps.type;\n var isEnabled = !ownProps.isDropDisabled;\n var renderClone = ownProps.renderClone;\n\n if (state.isDragging) {\n var critical = state.critical;\n\n if (!isMatchingType(type, critical)) {\n return idleWithoutAnimation;\n }\n\n var dragging = getDraggable(critical, state.dimensions);\n var isDraggingOver = whatIsDraggedOver(state.impact) === id;\n return getMapProps(id, isEnabled, isDraggingOver, isDraggingOver, dragging, renderClone);\n }\n\n if (state.phase === 'DROP_ANIMATING') {\n var completed = state.completed;\n\n if (!isMatchingType(type, completed.critical)) {\n return idleWithoutAnimation;\n }\n\n var _dragging = getDraggable(completed.critical, state.dimensions);\n\n return getMapProps(id, isEnabled, whatIsDraggedOverFromResult(completed.result) === id, whatIsDraggedOver(completed.impact) === id, _dragging, renderClone);\n }\n\n if (state.phase === 'IDLE' && state.completed && !state.shouldFlush) {\n var _completed = state.completed;\n\n if (!isMatchingType(type, _completed.critical)) {\n return idleWithoutAnimation;\n }\n\n var wasOver = whatIsDraggedOver(_completed.impact) === id;\n var wasCombining = Boolean(_completed.impact.at && _completed.impact.at.type === 'COMBINE');\n var isHome = _completed.critical.droppable.id === id;\n\n if (wasOver) {\n return wasCombining ? idleWithAnimation : idleWithoutAnimation;\n }\n\n if (isHome) {\n return idleWithAnimation;\n }\n\n return idleWithoutAnimation;\n }\n\n return idleWithoutAnimation;\n };\n\n return selector;\n};\nvar mapDispatchToProps$1 = {\n updateViewportMaxScroll: updateViewportMaxScroll\n};\n\nfunction getBody() {\n !document.body ? process.env.NODE_ENV !== \"production\" ? invariant(false, 'document.body is not ready') : invariant(false) : void 0;\n return document.body;\n}\n\nvar defaultProps = {\n mode: 'standard',\n type: 'DEFAULT',\n direction: 'vertical',\n isDropDisabled: false,\n isCombineEnabled: false,\n ignoreContainerClipping: false,\n renderClone: null,\n getContainerForClone: getBody\n};\nvar ConnectedDroppable = connect(makeMapStateToProps$1, mapDispatchToProps$1, null, {\n context: StoreContext,\n pure: true,\n areStatePropsEqual: isStrictEqual\n})(Droppable);\nConnectedDroppable.defaultProps = defaultProps;\n\nexport { DragDropContext, PublicDraggable as Draggable, ConnectedDroppable as Droppable, resetServerContext, useKeyboardSensor, useMouseSensor, useTouchSensor };\n","/**\n * @license React\n * react-dom-server-legacy.browser.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/*\n\n\n JS Implementation of MurmurHash3 (r136) (as of May 20, 2011)\n\n Copyright (c) 2011 Gary Court\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in\n all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n*/\n\"use strict\";\nvar React = require(\"react\"),\n ReactDOM = require(\"react-dom\");\nfunction formatProdErrorMessage(code) {\n var url = \"https://react.dev/errors/\" + code;\n if (1 < arguments.length) {\n url += \"?args[]=\" + encodeURIComponent(arguments[1]);\n for (var i = 2; i < arguments.length; i++)\n url += \"&args[]=\" + encodeURIComponent(arguments[i]);\n }\n return (\n \"Minified React error #\" +\n code +\n \"; visit \" +\n url +\n \" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"\n );\n}\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\"),\n REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_SCOPE_TYPE = Symbol.for(\"react.scope\"),\n REACT_ACTIVITY_TYPE = Symbol.for(\"react.activity\"),\n REACT_LEGACY_HIDDEN_TYPE = Symbol.for(\"react.legacy_hidden\"),\n REACT_MEMO_CACHE_SENTINEL = Symbol.for(\"react.memo_cache_sentinel\"),\n REACT_VIEW_TRANSITION_TYPE = Symbol.for(\"react.view_transition\"),\n MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nfunction getIteratorFn(maybeIterable) {\n if (null === maybeIterable || \"object\" !== typeof maybeIterable) return null;\n maybeIterable =\n (MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL]) ||\n maybeIterable[\"@@iterator\"];\n return \"function\" === typeof maybeIterable ? maybeIterable : null;\n}\nvar isArrayImpl = Array.isArray;\nfunction murmurhash3_32_gc(key, seed) {\n var remainder = key.length & 3;\n var bytes = key.length - remainder;\n var h1 = seed;\n for (seed = 0; seed < bytes; ) {\n var k1 =\n (key.charCodeAt(seed) & 255) |\n ((key.charCodeAt(++seed) & 255) << 8) |\n ((key.charCodeAt(++seed) & 255) << 16) |\n ((key.charCodeAt(++seed) & 255) << 24);\n ++seed;\n k1 =\n (3432918353 * (k1 & 65535) +\n (((3432918353 * (k1 >>> 16)) & 65535) << 16)) &\n 4294967295;\n k1 = (k1 << 15) | (k1 >>> 17);\n k1 =\n (461845907 * (k1 & 65535) + (((461845907 * (k1 >>> 16)) & 65535) << 16)) &\n 4294967295;\n h1 ^= k1;\n h1 = (h1 << 13) | (h1 >>> 19);\n h1 = (5 * (h1 & 65535) + (((5 * (h1 >>> 16)) & 65535) << 16)) & 4294967295;\n h1 = (h1 & 65535) + 27492 + ((((h1 >>> 16) + 58964) & 65535) << 16);\n }\n k1 = 0;\n switch (remainder) {\n case 3:\n k1 ^= (key.charCodeAt(seed + 2) & 255) << 16;\n case 2:\n k1 ^= (key.charCodeAt(seed + 1) & 255) << 8;\n case 1:\n (k1 ^= key.charCodeAt(seed) & 255),\n (k1 =\n (3432918353 * (k1 & 65535) +\n (((3432918353 * (k1 >>> 16)) & 65535) << 16)) &\n 4294967295),\n (k1 = (k1 << 15) | (k1 >>> 17)),\n (h1 ^=\n (461845907 * (k1 & 65535) +\n (((461845907 * (k1 >>> 16)) & 65535) << 16)) &\n 4294967295);\n }\n h1 ^= key.length;\n h1 ^= h1 >>> 16;\n h1 =\n (2246822507 * (h1 & 65535) + (((2246822507 * (h1 >>> 16)) & 65535) << 16)) &\n 4294967295;\n h1 ^= h1 >>> 13;\n h1 =\n (3266489909 * (h1 & 65535) + (((3266489909 * (h1 >>> 16)) & 65535) << 16)) &\n 4294967295;\n return (h1 ^ (h1 >>> 16)) >>> 0;\n}\nvar assign = Object.assign,\n hasOwnProperty = Object.prototype.hasOwnProperty,\n VALID_ATTRIBUTE_NAME_REGEX = RegExp(\n \"^[:A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD][:A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\\\\-.0-9\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040]*$\"\n ),\n illegalAttributeNameCache = {},\n validatedAttributeNameCache = {};\nfunction isAttributeNameSafe(attributeName) {\n if (hasOwnProperty.call(validatedAttributeNameCache, attributeName))\n return !0;\n if (hasOwnProperty.call(illegalAttributeNameCache, attributeName)) return !1;\n if (VALID_ATTRIBUTE_NAME_REGEX.test(attributeName))\n return (validatedAttributeNameCache[attributeName] = !0);\n illegalAttributeNameCache[attributeName] = !0;\n return !1;\n}\nvar unitlessNumbers = new Set(\n \"animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp\".split(\n \" \"\n )\n ),\n aliases = new Map([\n [\"acceptCharset\", \"accept-charset\"],\n [\"htmlFor\", \"for\"],\n [\"httpEquiv\", \"http-equiv\"],\n [\"crossOrigin\", \"crossorigin\"],\n [\"accentHeight\", \"accent-height\"],\n [\"alignmentBaseline\", \"alignment-baseline\"],\n [\"arabicForm\", \"arabic-form\"],\n [\"baselineShift\", \"baseline-shift\"],\n [\"capHeight\", \"cap-height\"],\n [\"clipPath\", \"clip-path\"],\n [\"clipRule\", \"clip-rule\"],\n [\"colorInterpolation\", \"color-interpolation\"],\n [\"colorInterpolationFilters\", \"color-interpolation-filters\"],\n [\"colorProfile\", \"color-profile\"],\n [\"colorRendering\", \"color-rendering\"],\n [\"dominantBaseline\", \"dominant-baseline\"],\n [\"enableBackground\", \"enable-background\"],\n [\"fillOpacity\", \"fill-opacity\"],\n [\"fillRule\", \"fill-rule\"],\n [\"floodColor\", \"flood-color\"],\n [\"floodOpacity\", \"flood-opacity\"],\n [\"fontFamily\", \"font-family\"],\n [\"fontSize\", \"font-size\"],\n [\"fontSizeAdjust\", \"font-size-adjust\"],\n [\"fontStretch\", \"font-stretch\"],\n [\"fontStyle\", \"font-style\"],\n [\"fontVariant\", \"font-variant\"],\n [\"fontWeight\", \"font-weight\"],\n [\"glyphName\", \"glyph-name\"],\n [\"glyphOrientationHorizontal\", \"glyph-orientation-horizontal\"],\n [\"glyphOrientationVertical\", \"glyph-orientation-vertical\"],\n [\"horizAdvX\", \"horiz-adv-x\"],\n [\"horizOriginX\", \"horiz-origin-x\"],\n [\"imageRendering\", \"image-rendering\"],\n [\"letterSpacing\", \"letter-spacing\"],\n [\"lightingColor\", \"lighting-color\"],\n [\"markerEnd\", \"marker-end\"],\n [\"markerMid\", \"marker-mid\"],\n [\"markerStart\", \"marker-start\"],\n [\"overlinePosition\", \"overline-position\"],\n [\"overlineThickness\", \"overline-thickness\"],\n [\"paintOrder\", \"paint-order\"],\n [\"panose-1\", \"panose-1\"],\n [\"pointerEvents\", \"pointer-events\"],\n [\"renderingIntent\", \"rendering-intent\"],\n [\"shapeRendering\", \"shape-rendering\"],\n [\"stopColor\", \"stop-color\"],\n [\"stopOpacity\", \"stop-opacity\"],\n [\"strikethroughPosition\", \"strikethrough-position\"],\n [\"strikethroughThickness\", \"strikethrough-thickness\"],\n [\"strokeDasharray\", \"stroke-dasharray\"],\n [\"strokeDashoffset\", \"stroke-dashoffset\"],\n [\"strokeLinecap\", \"stroke-linecap\"],\n [\"strokeLinejoin\", \"stroke-linejoin\"],\n [\"strokeMiterlimit\", \"stroke-miterlimit\"],\n [\"strokeOpacity\", \"stroke-opacity\"],\n [\"strokeWidth\", \"stroke-width\"],\n [\"textAnchor\", \"text-anchor\"],\n [\"textDecoration\", \"text-decoration\"],\n [\"textRendering\", \"text-rendering\"],\n [\"transformOrigin\", \"transform-origin\"],\n [\"underlinePosition\", \"underline-position\"],\n [\"underlineThickness\", \"underline-thickness\"],\n [\"unicodeBidi\", \"unicode-bidi\"],\n [\"unicodeRange\", \"unicode-range\"],\n [\"unitsPerEm\", \"units-per-em\"],\n [\"vAlphabetic\", \"v-alphabetic\"],\n [\"vHanging\", \"v-hanging\"],\n [\"vIdeographic\", \"v-ideographic\"],\n [\"vMathematical\", \"v-mathematical\"],\n [\"vectorEffect\", \"vector-effect\"],\n [\"vertAdvY\", \"vert-adv-y\"],\n [\"vertOriginX\", \"vert-origin-x\"],\n [\"vertOriginY\", \"vert-origin-y\"],\n [\"wordSpacing\", \"word-spacing\"],\n [\"writingMode\", \"writing-mode\"],\n [\"xmlnsXlink\", \"xmlns:xlink\"],\n [\"xHeight\", \"x-height\"]\n ]),\n matchHtmlRegExp = /[\"'&<>]/;\nfunction escapeTextForBrowser(text) {\n if (\n \"boolean\" === typeof text ||\n \"number\" === typeof text ||\n \"bigint\" === typeof text\n )\n return \"\" + text;\n text = \"\" + text;\n var match = matchHtmlRegExp.exec(text);\n if (match) {\n var html = \"\",\n index,\n lastIndex = 0;\n for (index = match.index; index < text.length; index++) {\n switch (text.charCodeAt(index)) {\n case 34:\n match = \""\";\n break;\n case 38:\n match = \"&\";\n break;\n case 39:\n match = \"'\";\n break;\n case 60:\n match = \"<\";\n break;\n case 62:\n match = \">\";\n break;\n default:\n continue;\n }\n lastIndex !== index && (html += text.slice(lastIndex, index));\n lastIndex = index + 1;\n html += match;\n }\n text = lastIndex !== index ? html + text.slice(lastIndex, index) : html;\n }\n return text;\n}\nvar uppercasePattern = /([A-Z])/g,\n msPattern = /^ms-/,\n isJavaScriptProtocol =\n /^[\\u0000-\\u001F ]*j[\\r\\n\\t]*a[\\r\\n\\t]*v[\\r\\n\\t]*a[\\r\\n\\t]*s[\\r\\n\\t]*c[\\r\\n\\t]*r[\\r\\n\\t]*i[\\r\\n\\t]*p[\\r\\n\\t]*t[\\r\\n\\t]*:/i;\nfunction sanitizeURL(url) {\n return isJavaScriptProtocol.test(\"\" + url)\n ? \"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')\"\n : url;\n}\nvar ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n ReactDOMSharedInternals =\n ReactDOM.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n sharedNotPendingObject = {\n pending: !1,\n data: null,\n method: null,\n action: null\n },\n previousDispatcher = ReactDOMSharedInternals.d;\nReactDOMSharedInternals.d = {\n f: previousDispatcher.f,\n r: previousDispatcher.r,\n D: prefetchDNS,\n C: preconnect,\n L: preload,\n m: preloadModule,\n X: preinitScript,\n S: preinitStyle,\n M: preinitModuleScript\n};\nvar PRELOAD_NO_CREDS = [],\n currentlyFlushingRenderState = null,\n scriptRegex = /(<\\/|<)(s)(cript)/gi;\nfunction scriptReplacer(match, prefix, s, suffix) {\n return \"\" + prefix + (\"s\" === s ? \"\\\\u0073\" : \"\\\\u0053\") + suffix;\n}\nfunction createResumableState(\n identifierPrefix,\n externalRuntimeConfig,\n bootstrapScriptContent,\n bootstrapScripts,\n bootstrapModules\n) {\n return {\n idPrefix: void 0 === identifierPrefix ? \"\" : identifierPrefix,\n nextFormID: 0,\n streamingFormat: 0,\n bootstrapScriptContent: bootstrapScriptContent,\n bootstrapScripts: bootstrapScripts,\n bootstrapModules: bootstrapModules,\n instructions: 0,\n hasBody: !1,\n hasHtml: !1,\n unknownResources: {},\n dnsResources: {},\n connectResources: { default: {}, anonymous: {}, credentials: {} },\n imageResources: {},\n styleResources: {},\n scriptResources: {},\n moduleUnknownResources: {},\n moduleScriptResources: {}\n };\n}\nfunction createFormatContext(\n insertionMode,\n selectedValue,\n tagScope,\n viewTransition\n) {\n return {\n insertionMode: insertionMode,\n selectedValue: selectedValue,\n tagScope: tagScope,\n viewTransition: viewTransition\n };\n}\nfunction getChildFormatContext(parentContext, type, props) {\n var subtreeScope = parentContext.tagScope & -25;\n switch (type) {\n case \"noscript\":\n return createFormatContext(2, null, subtreeScope | 1, null);\n case \"select\":\n return createFormatContext(\n 2,\n null != props.value ? props.value : props.defaultValue,\n subtreeScope,\n null\n );\n case \"svg\":\n return createFormatContext(4, null, subtreeScope, null);\n case \"picture\":\n return createFormatContext(2, null, subtreeScope | 2, null);\n case \"math\":\n return createFormatContext(5, null, subtreeScope, null);\n case \"foreignObject\":\n return createFormatContext(2, null, subtreeScope, null);\n case \"table\":\n return createFormatContext(6, null, subtreeScope, null);\n case \"thead\":\n case \"tbody\":\n case \"tfoot\":\n return createFormatContext(7, null, subtreeScope, null);\n case \"colgroup\":\n return createFormatContext(9, null, subtreeScope, null);\n case \"tr\":\n return createFormatContext(8, null, subtreeScope, null);\n case \"head\":\n if (2 > parentContext.insertionMode)\n return createFormatContext(3, null, subtreeScope, null);\n break;\n case \"html\":\n if (0 === parentContext.insertionMode)\n return createFormatContext(1, null, subtreeScope, null);\n }\n return 6 <= parentContext.insertionMode || 2 > parentContext.insertionMode\n ? createFormatContext(2, null, subtreeScope, null)\n : parentContext.tagScope !== subtreeScope\n ? createFormatContext(\n parentContext.insertionMode,\n parentContext.selectedValue,\n subtreeScope,\n null\n )\n : parentContext;\n}\nfunction getSuspenseViewTransition(parentViewTransition) {\n return null === parentViewTransition\n ? null\n : {\n update: parentViewTransition.update,\n enter: \"none\",\n exit: \"none\",\n share: parentViewTransition.update,\n name: parentViewTransition.autoName,\n autoName: parentViewTransition.autoName,\n nameIdx: 0\n };\n}\nfunction getSuspenseFallbackFormatContext(resumableState, parentContext) {\n parentContext.tagScope & 32 && (resumableState.instructions |= 128);\n return createFormatContext(\n parentContext.insertionMode,\n parentContext.selectedValue,\n parentContext.tagScope | 12,\n getSuspenseViewTransition(parentContext.viewTransition)\n );\n}\nfunction getSuspenseContentFormatContext(resumableState, parentContext) {\n resumableState = getSuspenseViewTransition(parentContext.viewTransition);\n var subtreeScope = parentContext.tagScope | 16;\n null !== resumableState &&\n \"none\" !== resumableState.share &&\n (subtreeScope |= 64);\n return createFormatContext(\n parentContext.insertionMode,\n parentContext.selectedValue,\n subtreeScope,\n resumableState\n );\n}\nvar styleNameCache = new Map();\nfunction pushStyleAttribute(target, style) {\n if (\"object\" !== typeof style) throw Error(formatProdErrorMessage(62));\n var isFirst = !0,\n styleName;\n for (styleName in style)\n if (hasOwnProperty.call(style, styleName)) {\n var styleValue = style[styleName];\n if (\n null != styleValue &&\n \"boolean\" !== typeof styleValue &&\n \"\" !== styleValue\n ) {\n if (0 === styleName.indexOf(\"--\")) {\n var nameChunk = escapeTextForBrowser(styleName);\n styleValue = escapeTextForBrowser((\"\" + styleValue).trim());\n } else\n (nameChunk = styleNameCache.get(styleName)),\n void 0 === nameChunk &&\n ((nameChunk = escapeTextForBrowser(\n styleName\n .replace(uppercasePattern, \"-$1\")\n .toLowerCase()\n .replace(msPattern, \"-ms-\")\n )),\n styleNameCache.set(styleName, nameChunk)),\n (styleValue =\n \"number\" === typeof styleValue\n ? 0 === styleValue || unitlessNumbers.has(styleName)\n ? \"\" + styleValue\n : styleValue + \"px\"\n : escapeTextForBrowser((\"\" + styleValue).trim()));\n isFirst\n ? ((isFirst = !1),\n target.push(' style=\"', nameChunk, \":\", styleValue))\n : target.push(\";\", nameChunk, \":\", styleValue);\n }\n }\n isFirst || target.push('\"');\n}\nfunction pushBooleanAttribute(target, name, value) {\n value &&\n \"function\" !== typeof value &&\n \"symbol\" !== typeof value &&\n target.push(\" \", name, '=\"\"');\n}\nfunction pushStringAttribute(target, name, value) {\n \"function\" !== typeof value &&\n \"symbol\" !== typeof value &&\n \"boolean\" !== typeof value &&\n target.push(\" \", name, '=\"', escapeTextForBrowser(value), '\"');\n}\nvar actionJavaScriptURL = escapeTextForBrowser(\n \"javascript:throw new Error('React form unexpectedly submitted.')\"\n);\nfunction pushAdditionalFormField(value, key) {\n this.push('<input type=\"hidden\"');\n validateAdditionalFormField(value);\n pushStringAttribute(this, \"name\", key);\n pushStringAttribute(this, \"value\", value);\n this.push(\"/>\");\n}\nfunction validateAdditionalFormField(value) {\n if (\"string\" !== typeof value) throw Error(formatProdErrorMessage(480));\n}\nfunction getCustomFormFields(resumableState, formAction) {\n if (\"function\" === typeof formAction.$$FORM_ACTION) {\n var id = resumableState.nextFormID++;\n resumableState = resumableState.idPrefix + id;\n try {\n var customFields = formAction.$$FORM_ACTION(resumableState);\n if (customFields) {\n var formData = customFields.data;\n null != formData && formData.forEach(validateAdditionalFormField);\n }\n return customFields;\n } catch (x) {\n if (\"object\" === typeof x && null !== x && \"function\" === typeof x.then)\n throw x;\n }\n }\n return null;\n}\nfunction pushFormActionAttribute(\n target,\n resumableState,\n renderState,\n formAction,\n formEncType,\n formMethod,\n formTarget,\n name\n) {\n var formData = null;\n if (\"function\" === typeof formAction) {\n var customFields = getCustomFormFields(resumableState, formAction);\n null !== customFields\n ? ((name = customFields.name),\n (formAction = customFields.action || \"\"),\n (formEncType = customFields.encType),\n (formMethod = customFields.method),\n (formTarget = customFields.target),\n (formData = customFields.data))\n : (target.push(\" \", \"formAction\", '=\"', actionJavaScriptURL, '\"'),\n (formTarget = formMethod = formEncType = formAction = name = null),\n injectFormReplayingRuntime(resumableState, renderState));\n }\n null != name && pushAttribute(target, \"name\", name);\n null != formAction && pushAttribute(target, \"formAction\", formAction);\n null != formEncType && pushAttribute(target, \"formEncType\", formEncType);\n null != formMethod && pushAttribute(target, \"formMethod\", formMethod);\n null != formTarget && pushAttribute(target, \"formTarget\", formTarget);\n return formData;\n}\nfunction pushAttribute(target, name, value) {\n switch (name) {\n case \"className\":\n pushStringAttribute(target, \"class\", value);\n break;\n case \"tabIndex\":\n pushStringAttribute(target, \"tabindex\", value);\n break;\n case \"dir\":\n case \"role\":\n case \"viewBox\":\n case \"width\":\n case \"height\":\n pushStringAttribute(target, name, value);\n break;\n case \"style\":\n pushStyleAttribute(target, value);\n break;\n case \"src\":\n case \"href\":\n if (\"\" === value) break;\n case \"action\":\n case \"formAction\":\n if (\n null == value ||\n \"function\" === typeof value ||\n \"symbol\" === typeof value ||\n \"boolean\" === typeof value\n )\n break;\n value = sanitizeURL(\"\" + value);\n target.push(\" \", name, '=\"', escapeTextForBrowser(value), '\"');\n break;\n case \"defaultValue\":\n case \"defaultChecked\":\n case \"innerHTML\":\n case \"suppressContentEditableWarning\":\n case \"suppressHydrationWarning\":\n case \"ref\":\n break;\n case \"autoFocus\":\n case \"multiple\":\n case \"muted\":\n pushBooleanAttribute(target, name.toLowerCase(), value);\n break;\n case \"xlinkHref\":\n if (\n \"function\" === typeof value ||\n \"symbol\" === typeof value ||\n \"boolean\" === typeof value\n )\n break;\n value = sanitizeURL(\"\" + value);\n target.push(\" \", \"xlink:href\", '=\"', escapeTextForBrowser(value), '\"');\n break;\n case \"contentEditable\":\n case \"spellCheck\":\n case \"draggable\":\n case \"value\":\n case \"autoReverse\":\n case \"externalResourcesRequired\":\n case \"focusable\":\n case \"preserveAlpha\":\n \"function\" !== typeof value &&\n \"symbol\" !== typeof value &&\n target.push(\" \", name, '=\"', escapeTextForBrowser(value), '\"');\n break;\n case \"inert\":\n case \"allowFullScreen\":\n case \"async\":\n case \"autoPlay\":\n case \"controls\":\n case \"default\":\n case \"defer\":\n case \"disabled\":\n case \"disablePictureInPicture\":\n case \"disableRemotePlayback\":\n case \"formNoValidate\":\n case \"hidden\":\n case \"loop\":\n case \"noModule\":\n case \"noValidate\":\n case \"open\":\n case \"playsInline\":\n case \"readOnly\":\n case \"required\":\n case \"reversed\":\n case \"scoped\":\n case \"seamless\":\n case \"itemScope\":\n value &&\n \"function\" !== typeof value &&\n \"symbol\" !== typeof value &&\n target.push(\" \", name, '=\"\"');\n break;\n case \"capture\":\n case \"download\":\n !0 === value\n ? target.push(\" \", name, '=\"\"')\n : !1 !== value &&\n \"function\" !== typeof value &&\n \"symbol\" !== typeof value &&\n target.push(\" \", name, '=\"', escapeTextForBrowser(value), '\"');\n break;\n case \"cols\":\n case \"rows\":\n case \"size\":\n case \"span\":\n \"function\" !== typeof value &&\n \"symbol\" !== typeof value &&\n !isNaN(value) &&\n 1 <= value &&\n target.push(\" \", name, '=\"', escapeTextForBrowser(value), '\"');\n break;\n case \"rowSpan\":\n case \"start\":\n \"function\" === typeof value ||\n \"symbol\" === typeof value ||\n isNaN(value) ||\n target.push(\" \", name, '=\"', escapeTextForBrowser(value), '\"');\n break;\n case \"xlinkActuate\":\n pushStringAttribute(target, \"xlink:actuate\", value);\n break;\n case \"xlinkArcrole\":\n pushStringAttribute(target, \"xlink:arcrole\", value);\n break;\n case \"xlinkRole\":\n pushStringAttribute(target, \"xlink:role\", value);\n break;\n case \"xlinkShow\":\n pushStringAttribute(target, \"xlink:show\", value);\n break;\n case \"xlinkTitle\":\n pushStringAttribute(target, \"xlink:title\", value);\n break;\n case \"xlinkType\":\n pushStringAttribute(target, \"xlink:type\", value);\n break;\n case \"xmlBase\":\n pushStringAttribute(target, \"xml:base\", value);\n break;\n case \"xmlLang\":\n pushStringAttribute(target, \"xml:lang\", value);\n break;\n case \"xmlSpace\":\n pushStringAttribute(target, \"xml:space\", value);\n break;\n default:\n if (\n !(2 < name.length) ||\n (\"o\" !== name[0] && \"O\" !== name[0]) ||\n (\"n\" !== name[1] && \"N\" !== name[1])\n )\n if (((name = aliases.get(name) || name), isAttributeNameSafe(name))) {\n switch (typeof value) {\n case \"function\":\n case \"symbol\":\n return;\n case \"boolean\":\n var prefix$8 = name.toLowerCase().slice(0, 5);\n if (\"data-\" !== prefix$8 && \"aria-\" !== prefix$8) return;\n }\n target.push(\" \", name, '=\"', escapeTextForBrowser(value), '\"');\n }\n }\n}\nfunction pushInnerHTML(target, innerHTML, children) {\n if (null != innerHTML) {\n if (null != children) throw Error(formatProdErrorMessage(60));\n if (\"object\" !== typeof innerHTML || !(\"__html\" in innerHTML))\n throw Error(formatProdErrorMessage(61));\n innerHTML = innerHTML.__html;\n null !== innerHTML && void 0 !== innerHTML && target.push(\"\" + innerHTML);\n }\n}\nfunction flattenOptionChildren(children) {\n var content = \"\";\n React.Children.forEach(children, function (child) {\n null != child && (content += child);\n });\n return content;\n}\nfunction injectFormReplayingRuntime(resumableState, renderState) {\n if (0 === (resumableState.instructions & 16)) {\n resumableState.instructions |= 16;\n var preamble = renderState.preamble,\n bootstrapChunks = renderState.bootstrapChunks;\n (preamble.htmlChunks || preamble.headChunks) && 0 === bootstrapChunks.length\n ? (bootstrapChunks.push(renderState.startInlineScript),\n pushCompletedShellIdAttribute(bootstrapChunks, resumableState),\n bootstrapChunks.push(\n \">\",\n 'addEventListener(\"submit\",function(a){if(!a.defaultPrevented){var c=a.target,d=a.submitter,e=c.action,b=d;if(d){var f=d.getAttribute(\"formAction\");null!=f&&(e=f,b=null)}\"javascript:throw new Error(\\'React form unexpectedly submitted.\\')\"===e&&(a.preventDefault(),b?(a=document.createElement(\"input\"),a.name=b.name,a.value=b.value,b.parentNode.insertBefore(a,b),b=new FormData(c),a.parentNode.removeChild(a)):b=new FormData(c),a=c.ownerDocument||c,(a.$$reactFormReplay=a.$$reactFormReplay||[]).push(c,d,b))}});',\n \"\\x3c/script>\"\n ))\n : bootstrapChunks.unshift(\n renderState.startInlineScript,\n \">\",\n 'addEventListener(\"submit\",function(a){if(!a.defaultPrevented){var c=a.target,d=a.submitter,e=c.action,b=d;if(d){var f=d.getAttribute(\"formAction\");null!=f&&(e=f,b=null)}\"javascript:throw new Error(\\'React form unexpectedly submitted.\\')\"===e&&(a.preventDefault(),b?(a=document.createElement(\"input\"),a.name=b.name,a.value=b.value,b.parentNode.insertBefore(a,b),b=new FormData(c),a.parentNode.removeChild(a)):b=new FormData(c),a=c.ownerDocument||c,(a.$$reactFormReplay=a.$$reactFormReplay||[]).push(c,d,b))}});',\n \"\\x3c/script>\"\n );\n }\n}\nfunction pushLinkImpl(target, props) {\n target.push(startChunkForTag(\"link\"));\n for (var propKey in props)\n if (hasOwnProperty.call(props, propKey)) {\n var propValue = props[propKey];\n if (null != propValue)\n switch (propKey) {\n case \"children\":\n case \"dangerouslySetInnerHTML\":\n throw Error(formatProdErrorMessage(399, \"link\"));\n default:\n pushAttribute(target, propKey, propValue);\n }\n }\n target.push(\"/>\");\n return null;\n}\nvar styleRegex = /(<\\/|<)(s)(tyle)/gi;\nfunction styleReplacer(match, prefix, s, suffix) {\n return \"\" + prefix + (\"s\" === s ? \"\\\\73 \" : \"\\\\53 \") + suffix;\n}\nfunction pushSelfClosing(target, props, tag) {\n target.push(startChunkForTag(tag));\n for (var propKey in props)\n if (hasOwnProperty.call(props, propKey)) {\n var propValue = props[propKey];\n if (null != propValue)\n switch (propKey) {\n case \"children\":\n case \"dangerouslySetInnerHTML\":\n throw Error(formatProdErrorMessage(399, tag));\n default:\n pushAttribute(target, propKey, propValue);\n }\n }\n target.push(\"/>\");\n return null;\n}\nfunction pushTitleImpl(target, props) {\n target.push(startChunkForTag(\"title\"));\n var children = null,\n innerHTML = null,\n propKey;\n for (propKey in props)\n if (hasOwnProperty.call(props, propKey)) {\n var propValue = props[propKey];\n if (null != propValue)\n switch (propKey) {\n case \"children\":\n children = propValue;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML = propValue;\n break;\n default:\n pushAttribute(target, propKey, propValue);\n }\n }\n target.push(\">\");\n props = Array.isArray(children)\n ? 2 > children.length\n ? children[0]\n : null\n : children;\n \"function\" !== typeof props &&\n \"symbol\" !== typeof props &&\n null !== props &&\n void 0 !== props &&\n target.push(escapeTextForBrowser(\"\" + props));\n pushInnerHTML(target, innerHTML, children);\n target.push(endChunkForTag(\"title\"));\n return null;\n}\nfunction pushScriptImpl(target, props) {\n target.push(startChunkForTag(\"script\"));\n var children = null,\n innerHTML = null,\n propKey;\n for (propKey in props)\n if (hasOwnProperty.call(props, propKey)) {\n var propValue = props[propKey];\n if (null != propValue)\n switch (propKey) {\n case \"children\":\n children = propValue;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML = propValue;\n break;\n default:\n pushAttribute(target, propKey, propValue);\n }\n }\n target.push(\">\");\n pushInnerHTML(target, innerHTML, children);\n \"string\" === typeof children &&\n target.push((\"\" + children).replace(scriptRegex, scriptReplacer));\n target.push(endChunkForTag(\"script\"));\n return null;\n}\nfunction pushStartSingletonElement(target, props, tag) {\n target.push(startChunkForTag(tag));\n var innerHTML = (tag = null),\n propKey;\n for (propKey in props)\n if (hasOwnProperty.call(props, propKey)) {\n var propValue = props[propKey];\n if (null != propValue)\n switch (propKey) {\n case \"children\":\n tag = propValue;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML = propValue;\n break;\n default:\n pushAttribute(target, propKey, propValue);\n }\n }\n target.push(\">\");\n pushInnerHTML(target, innerHTML, tag);\n return tag;\n}\nfunction pushStartGenericElement(target, props, tag) {\n target.push(startChunkForTag(tag));\n var innerHTML = (tag = null),\n propKey;\n for (propKey in props)\n if (hasOwnProperty.call(props, propKey)) {\n var propValue = props[propKey];\n if (null != propValue)\n switch (propKey) {\n case \"children\":\n tag = propValue;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML = propValue;\n break;\n default:\n pushAttribute(target, propKey, propValue);\n }\n }\n target.push(\">\");\n pushInnerHTML(target, innerHTML, tag);\n return \"string\" === typeof tag\n ? (target.push(escapeTextForBrowser(tag)), null)\n : tag;\n}\nvar VALID_TAG_REGEX = /^[a-zA-Z][a-zA-Z:_\\.\\-\\d]*$/,\n validatedTagCache = new Map();\nfunction startChunkForTag(tag) {\n var tagStartChunk = validatedTagCache.get(tag);\n if (void 0 === tagStartChunk) {\n if (!VALID_TAG_REGEX.test(tag))\n throw Error(formatProdErrorMessage(65, tag));\n tagStartChunk = \"<\" + tag;\n validatedTagCache.set(tag, tagStartChunk);\n }\n return tagStartChunk;\n}\nfunction pushStartInstance(\n target$jscomp$0,\n type,\n props,\n resumableState,\n renderState,\n preambleState,\n hoistableState,\n formatContext,\n textEmbedded\n) {\n switch (type) {\n case \"div\":\n case \"span\":\n case \"svg\":\n case \"path\":\n break;\n case \"a\":\n target$jscomp$0.push(startChunkForTag(\"a\"));\n var children = null,\n innerHTML = null,\n propKey;\n for (propKey in props)\n if (hasOwnProperty.call(props, propKey)) {\n var propValue = props[propKey];\n if (null != propValue)\n switch (propKey) {\n case \"children\":\n children = propValue;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML = propValue;\n break;\n case \"href\":\n \"\" === propValue\n ? pushStringAttribute(target$jscomp$0, \"href\", \"\")\n : pushAttribute(target$jscomp$0, propKey, propValue);\n break;\n default:\n pushAttribute(target$jscomp$0, propKey, propValue);\n }\n }\n target$jscomp$0.push(\">\");\n pushInnerHTML(target$jscomp$0, innerHTML, children);\n if (\"string\" === typeof children) {\n target$jscomp$0.push(escapeTextForBrowser(children));\n var JSCompiler_inline_result = null;\n } else JSCompiler_inline_result = children;\n return JSCompiler_inline_result;\n case \"g\":\n case \"p\":\n case \"li\":\n break;\n case \"select\":\n target$jscomp$0.push(startChunkForTag(\"select\"));\n var children$jscomp$0 = null,\n innerHTML$jscomp$0 = null,\n propKey$jscomp$0;\n for (propKey$jscomp$0 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$0)) {\n var propValue$jscomp$0 = props[propKey$jscomp$0];\n if (null != propValue$jscomp$0)\n switch (propKey$jscomp$0) {\n case \"children\":\n children$jscomp$0 = propValue$jscomp$0;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML$jscomp$0 = propValue$jscomp$0;\n break;\n case \"defaultValue\":\n case \"value\":\n break;\n default:\n pushAttribute(\n target$jscomp$0,\n propKey$jscomp$0,\n propValue$jscomp$0\n );\n }\n }\n target$jscomp$0.push(\">\");\n pushInnerHTML(target$jscomp$0, innerHTML$jscomp$0, children$jscomp$0);\n return children$jscomp$0;\n case \"option\":\n var selectedValue = formatContext.selectedValue;\n target$jscomp$0.push(startChunkForTag(\"option\"));\n var children$jscomp$1 = null,\n value = null,\n selected = null,\n innerHTML$jscomp$1 = null,\n propKey$jscomp$1;\n for (propKey$jscomp$1 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$1)) {\n var propValue$jscomp$1 = props[propKey$jscomp$1];\n if (null != propValue$jscomp$1)\n switch (propKey$jscomp$1) {\n case \"children\":\n children$jscomp$1 = propValue$jscomp$1;\n break;\n case \"selected\":\n selected = propValue$jscomp$1;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML$jscomp$1 = propValue$jscomp$1;\n break;\n case \"value\":\n value = propValue$jscomp$1;\n default:\n pushAttribute(\n target$jscomp$0,\n propKey$jscomp$1,\n propValue$jscomp$1\n );\n }\n }\n if (null != selectedValue) {\n var stringValue =\n null !== value\n ? \"\" + value\n : flattenOptionChildren(children$jscomp$1);\n if (isArrayImpl(selectedValue))\n for (var i = 0; i < selectedValue.length; i++) {\n if (\"\" + selectedValue[i] === stringValue) {\n target$jscomp$0.push(' selected=\"\"');\n break;\n }\n }\n else\n \"\" + selectedValue === stringValue &&\n target$jscomp$0.push(' selected=\"\"');\n } else selected && target$jscomp$0.push(' selected=\"\"');\n target$jscomp$0.push(\">\");\n pushInnerHTML(target$jscomp$0, innerHTML$jscomp$1, children$jscomp$1);\n return children$jscomp$1;\n case \"textarea\":\n target$jscomp$0.push(startChunkForTag(\"textarea\"));\n var value$jscomp$0 = null,\n defaultValue = null,\n children$jscomp$2 = null,\n propKey$jscomp$2;\n for (propKey$jscomp$2 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$2)) {\n var propValue$jscomp$2 = props[propKey$jscomp$2];\n if (null != propValue$jscomp$2)\n switch (propKey$jscomp$2) {\n case \"children\":\n children$jscomp$2 = propValue$jscomp$2;\n break;\n case \"value\":\n value$jscomp$0 = propValue$jscomp$2;\n break;\n case \"defaultValue\":\n defaultValue = propValue$jscomp$2;\n break;\n case \"dangerouslySetInnerHTML\":\n throw Error(formatProdErrorMessage(91));\n default:\n pushAttribute(\n target$jscomp$0,\n propKey$jscomp$2,\n propValue$jscomp$2\n );\n }\n }\n null === value$jscomp$0 &&\n null !== defaultValue &&\n (value$jscomp$0 = defaultValue);\n target$jscomp$0.push(\">\");\n if (null != children$jscomp$2) {\n if (null != value$jscomp$0) throw Error(formatProdErrorMessage(92));\n if (isArrayImpl(children$jscomp$2)) {\n if (1 < children$jscomp$2.length)\n throw Error(formatProdErrorMessage(93));\n value$jscomp$0 = \"\" + children$jscomp$2[0];\n }\n value$jscomp$0 = \"\" + children$jscomp$2;\n }\n \"string\" === typeof value$jscomp$0 &&\n \"\\n\" === value$jscomp$0[0] &&\n target$jscomp$0.push(\"\\n\");\n null !== value$jscomp$0 &&\n target$jscomp$0.push(escapeTextForBrowser(\"\" + value$jscomp$0));\n return null;\n case \"input\":\n target$jscomp$0.push(startChunkForTag(\"input\"));\n var name = null,\n formAction = null,\n formEncType = null,\n formMethod = null,\n formTarget = null,\n value$jscomp$1 = null,\n defaultValue$jscomp$0 = null,\n checked = null,\n defaultChecked = null,\n propKey$jscomp$3;\n for (propKey$jscomp$3 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$3)) {\n var propValue$jscomp$3 = props[propKey$jscomp$3];\n if (null != propValue$jscomp$3)\n switch (propKey$jscomp$3) {\n case \"children\":\n case \"dangerouslySetInnerHTML\":\n throw Error(formatProdErrorMessage(399, \"input\"));\n case \"name\":\n name = propValue$jscomp$3;\n break;\n case \"formAction\":\n formAction = propValue$jscomp$3;\n break;\n case \"formEncType\":\n formEncType = propValue$jscomp$3;\n break;\n case \"formMethod\":\n formMethod = propValue$jscomp$3;\n break;\n case \"formTarget\":\n formTarget = propValue$jscomp$3;\n break;\n case \"defaultChecked\":\n defaultChecked = propValue$jscomp$3;\n break;\n case \"defaultValue\":\n defaultValue$jscomp$0 = propValue$jscomp$3;\n break;\n case \"checked\":\n checked = propValue$jscomp$3;\n break;\n case \"value\":\n value$jscomp$1 = propValue$jscomp$3;\n break;\n default:\n pushAttribute(\n target$jscomp$0,\n propKey$jscomp$3,\n propValue$jscomp$3\n );\n }\n }\n var formData = pushFormActionAttribute(\n target$jscomp$0,\n resumableState,\n renderState,\n formAction,\n formEncType,\n formMethod,\n formTarget,\n name\n );\n null !== checked\n ? pushBooleanAttribute(target$jscomp$0, \"checked\", checked)\n : null !== defaultChecked &&\n pushBooleanAttribute(target$jscomp$0, \"checked\", defaultChecked);\n null !== value$jscomp$1\n ? pushAttribute(target$jscomp$0, \"value\", value$jscomp$1)\n : null !== defaultValue$jscomp$0 &&\n pushAttribute(target$jscomp$0, \"value\", defaultValue$jscomp$0);\n target$jscomp$0.push(\"/>\");\n null != formData &&\n formData.forEach(pushAdditionalFormField, target$jscomp$0);\n return null;\n case \"button\":\n target$jscomp$0.push(startChunkForTag(\"button\"));\n var children$jscomp$3 = null,\n innerHTML$jscomp$2 = null,\n name$jscomp$0 = null,\n formAction$jscomp$0 = null,\n formEncType$jscomp$0 = null,\n formMethod$jscomp$0 = null,\n formTarget$jscomp$0 = null,\n propKey$jscomp$4;\n for (propKey$jscomp$4 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$4)) {\n var propValue$jscomp$4 = props[propKey$jscomp$4];\n if (null != propValue$jscomp$4)\n switch (propKey$jscomp$4) {\n case \"children\":\n children$jscomp$3 = propValue$jscomp$4;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML$jscomp$2 = propValue$jscomp$4;\n break;\n case \"name\":\n name$jscomp$0 = propValue$jscomp$4;\n break;\n case \"formAction\":\n formAction$jscomp$0 = propValue$jscomp$4;\n break;\n case \"formEncType\":\n formEncType$jscomp$0 = propValue$jscomp$4;\n break;\n case \"formMethod\":\n formMethod$jscomp$0 = propValue$jscomp$4;\n break;\n case \"formTarget\":\n formTarget$jscomp$0 = propValue$jscomp$4;\n break;\n default:\n pushAttribute(\n target$jscomp$0,\n propKey$jscomp$4,\n propValue$jscomp$4\n );\n }\n }\n var formData$jscomp$0 = pushFormActionAttribute(\n target$jscomp$0,\n resumableState,\n renderState,\n formAction$jscomp$0,\n formEncType$jscomp$0,\n formMethod$jscomp$0,\n formTarget$jscomp$0,\n name$jscomp$0\n );\n target$jscomp$0.push(\">\");\n null != formData$jscomp$0 &&\n formData$jscomp$0.forEach(pushAdditionalFormField, target$jscomp$0);\n pushInnerHTML(target$jscomp$0, innerHTML$jscomp$2, children$jscomp$3);\n if (\"string\" === typeof children$jscomp$3) {\n target$jscomp$0.push(escapeTextForBrowser(children$jscomp$3));\n var JSCompiler_inline_result$jscomp$0 = null;\n } else JSCompiler_inline_result$jscomp$0 = children$jscomp$3;\n return JSCompiler_inline_result$jscomp$0;\n case \"form\":\n target$jscomp$0.push(startChunkForTag(\"form\"));\n var children$jscomp$4 = null,\n innerHTML$jscomp$3 = null,\n formAction$jscomp$1 = null,\n formEncType$jscomp$1 = null,\n formMethod$jscomp$1 = null,\n formTarget$jscomp$1 = null,\n propKey$jscomp$5;\n for (propKey$jscomp$5 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$5)) {\n var propValue$jscomp$5 = props[propKey$jscomp$5];\n if (null != propValue$jscomp$5)\n switch (propKey$jscomp$5) {\n case \"children\":\n children$jscomp$4 = propValue$jscomp$5;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML$jscomp$3 = propValue$jscomp$5;\n break;\n case \"action\":\n formAction$jscomp$1 = propValue$jscomp$5;\n break;\n case \"encType\":\n formEncType$jscomp$1 = propValue$jscomp$5;\n break;\n case \"method\":\n formMethod$jscomp$1 = propValue$jscomp$5;\n break;\n case \"target\":\n formTarget$jscomp$1 = propValue$jscomp$5;\n break;\n default:\n pushAttribute(\n target$jscomp$0,\n propKey$jscomp$5,\n propValue$jscomp$5\n );\n }\n }\n var formData$jscomp$1 = null,\n formActionName = null;\n if (\"function\" === typeof formAction$jscomp$1) {\n var customFields = getCustomFormFields(\n resumableState,\n formAction$jscomp$1\n );\n null !== customFields\n ? ((formAction$jscomp$1 = customFields.action || \"\"),\n (formEncType$jscomp$1 = customFields.encType),\n (formMethod$jscomp$1 = customFields.method),\n (formTarget$jscomp$1 = customFields.target),\n (formData$jscomp$1 = customFields.data),\n (formActionName = customFields.name))\n : (target$jscomp$0.push(\n \" \",\n \"action\",\n '=\"',\n actionJavaScriptURL,\n '\"'\n ),\n (formTarget$jscomp$1 =\n formMethod$jscomp$1 =\n formEncType$jscomp$1 =\n formAction$jscomp$1 =\n null),\n injectFormReplayingRuntime(resumableState, renderState));\n }\n null != formAction$jscomp$1 &&\n pushAttribute(target$jscomp$0, \"action\", formAction$jscomp$1);\n null != formEncType$jscomp$1 &&\n pushAttribute(target$jscomp$0, \"encType\", formEncType$jscomp$1);\n null != formMethod$jscomp$1 &&\n pushAttribute(target$jscomp$0, \"method\", formMethod$jscomp$1);\n null != formTarget$jscomp$1 &&\n pushAttribute(target$jscomp$0, \"target\", formTarget$jscomp$1);\n target$jscomp$0.push(\">\");\n null !== formActionName &&\n (target$jscomp$0.push('<input type=\"hidden\"'),\n pushStringAttribute(target$jscomp$0, \"name\", formActionName),\n target$jscomp$0.push(\"/>\"),\n null != formData$jscomp$1 &&\n formData$jscomp$1.forEach(pushAdditionalFormField, target$jscomp$0));\n pushInnerHTML(target$jscomp$0, innerHTML$jscomp$3, children$jscomp$4);\n if (\"string\" === typeof children$jscomp$4) {\n target$jscomp$0.push(escapeTextForBrowser(children$jscomp$4));\n var JSCompiler_inline_result$jscomp$1 = null;\n } else JSCompiler_inline_result$jscomp$1 = children$jscomp$4;\n return JSCompiler_inline_result$jscomp$1;\n case \"menuitem\":\n target$jscomp$0.push(startChunkForTag(\"menuitem\"));\n for (var propKey$jscomp$6 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$6)) {\n var propValue$jscomp$6 = props[propKey$jscomp$6];\n if (null != propValue$jscomp$6)\n switch (propKey$jscomp$6) {\n case \"children\":\n case \"dangerouslySetInnerHTML\":\n throw Error(formatProdErrorMessage(400));\n default:\n pushAttribute(\n target$jscomp$0,\n propKey$jscomp$6,\n propValue$jscomp$6\n );\n }\n }\n target$jscomp$0.push(\">\");\n return null;\n case \"object\":\n target$jscomp$0.push(startChunkForTag(\"object\"));\n var children$jscomp$5 = null,\n innerHTML$jscomp$4 = null,\n propKey$jscomp$7;\n for (propKey$jscomp$7 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$7)) {\n var propValue$jscomp$7 = props[propKey$jscomp$7];\n if (null != propValue$jscomp$7)\n switch (propKey$jscomp$7) {\n case \"children\":\n children$jscomp$5 = propValue$jscomp$7;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML$jscomp$4 = propValue$jscomp$7;\n break;\n case \"data\":\n var sanitizedValue = sanitizeURL(\"\" + propValue$jscomp$7);\n if (\"\" === sanitizedValue) break;\n target$jscomp$0.push(\n \" \",\n \"data\",\n '=\"',\n escapeTextForBrowser(sanitizedValue),\n '\"'\n );\n break;\n default:\n pushAttribute(\n target$jscomp$0,\n propKey$jscomp$7,\n propValue$jscomp$7\n );\n }\n }\n target$jscomp$0.push(\">\");\n pushInnerHTML(target$jscomp$0, innerHTML$jscomp$4, children$jscomp$5);\n if (\"string\" === typeof children$jscomp$5) {\n target$jscomp$0.push(escapeTextForBrowser(children$jscomp$5));\n var JSCompiler_inline_result$jscomp$2 = null;\n } else JSCompiler_inline_result$jscomp$2 = children$jscomp$5;\n return JSCompiler_inline_result$jscomp$2;\n case \"title\":\n var noscriptTagInScope = formatContext.tagScope & 1,\n isFallback = formatContext.tagScope & 4;\n if (\n 4 === formatContext.insertionMode ||\n noscriptTagInScope ||\n null != props.itemProp\n )\n var JSCompiler_inline_result$jscomp$3 = pushTitleImpl(\n target$jscomp$0,\n props\n );\n else\n isFallback\n ? (JSCompiler_inline_result$jscomp$3 = null)\n : (pushTitleImpl(renderState.hoistableChunks, props),\n (JSCompiler_inline_result$jscomp$3 = void 0));\n return JSCompiler_inline_result$jscomp$3;\n case \"link\":\n var noscriptTagInScope$jscomp$0 = formatContext.tagScope & 1,\n isFallback$jscomp$0 = formatContext.tagScope & 4,\n rel = props.rel,\n href = props.href,\n precedence = props.precedence;\n if (\n 4 === formatContext.insertionMode ||\n noscriptTagInScope$jscomp$0 ||\n null != props.itemProp ||\n \"string\" !== typeof rel ||\n \"string\" !== typeof href ||\n \"\" === href\n ) {\n pushLinkImpl(target$jscomp$0, props);\n var JSCompiler_inline_result$jscomp$4 = null;\n } else if (\"stylesheet\" === props.rel)\n if (\n \"string\" !== typeof precedence ||\n null != props.disabled ||\n props.onLoad ||\n props.onError\n )\n JSCompiler_inline_result$jscomp$4 = pushLinkImpl(\n target$jscomp$0,\n props\n );\n else {\n var styleQueue = renderState.styles.get(precedence),\n resourceState = resumableState.styleResources.hasOwnProperty(href)\n ? resumableState.styleResources[href]\n : void 0;\n if (null !== resourceState) {\n resumableState.styleResources[href] = null;\n styleQueue ||\n ((styleQueue = {\n precedence: escapeTextForBrowser(precedence),\n rules: [],\n hrefs: [],\n sheets: new Map()\n }),\n renderState.styles.set(precedence, styleQueue));\n var resource = {\n state: 0,\n props: assign({}, props, {\n \"data-precedence\": props.precedence,\n precedence: null\n })\n };\n if (resourceState) {\n 2 === resourceState.length &&\n adoptPreloadCredentials(resource.props, resourceState);\n var preloadResource = renderState.preloads.stylesheets.get(href);\n preloadResource && 0 < preloadResource.length\n ? (preloadResource.length = 0)\n : (resource.state = 1);\n }\n styleQueue.sheets.set(href, resource);\n hoistableState && hoistableState.stylesheets.add(resource);\n } else if (styleQueue) {\n var resource$9 = styleQueue.sheets.get(href);\n resource$9 &&\n hoistableState &&\n hoistableState.stylesheets.add(resource$9);\n }\n textEmbedded && target$jscomp$0.push(\"\\x3c!-- --\\x3e\");\n JSCompiler_inline_result$jscomp$4 = null;\n }\n else\n props.onLoad || props.onError\n ? (JSCompiler_inline_result$jscomp$4 = pushLinkImpl(\n target$jscomp$0,\n props\n ))\n : (textEmbedded && target$jscomp$0.push(\"\\x3c!-- --\\x3e\"),\n (JSCompiler_inline_result$jscomp$4 = isFallback$jscomp$0\n ? null\n : pushLinkImpl(renderState.hoistableChunks, props)));\n return JSCompiler_inline_result$jscomp$4;\n case \"script\":\n var noscriptTagInScope$jscomp$1 = formatContext.tagScope & 1,\n asyncProp = props.async;\n if (\n \"string\" !== typeof props.src ||\n !props.src ||\n !asyncProp ||\n \"function\" === typeof asyncProp ||\n \"symbol\" === typeof asyncProp ||\n props.onLoad ||\n props.onError ||\n 4 === formatContext.insertionMode ||\n noscriptTagInScope$jscomp$1 ||\n null != props.itemProp\n )\n var JSCompiler_inline_result$jscomp$5 = pushScriptImpl(\n target$jscomp$0,\n props\n );\n else {\n var key = props.src;\n if (\"module\" === props.type) {\n var resources = resumableState.moduleScriptResources;\n var preloads = renderState.preloads.moduleScripts;\n } else\n (resources = resumableState.scriptResources),\n (preloads = renderState.preloads.scripts);\n var resourceState$jscomp$0 = resources.hasOwnProperty(key)\n ? resources[key]\n : void 0;\n if (null !== resourceState$jscomp$0) {\n resources[key] = null;\n var scriptProps = props;\n if (resourceState$jscomp$0) {\n 2 === resourceState$jscomp$0.length &&\n ((scriptProps = assign({}, props)),\n adoptPreloadCredentials(scriptProps, resourceState$jscomp$0));\n var preloadResource$jscomp$0 = preloads.get(key);\n preloadResource$jscomp$0 && (preloadResource$jscomp$0.length = 0);\n }\n var resource$jscomp$0 = [];\n renderState.scripts.add(resource$jscomp$0);\n pushScriptImpl(resource$jscomp$0, scriptProps);\n }\n textEmbedded && target$jscomp$0.push(\"\\x3c!-- --\\x3e\");\n JSCompiler_inline_result$jscomp$5 = null;\n }\n return JSCompiler_inline_result$jscomp$5;\n case \"style\":\n var noscriptTagInScope$jscomp$2 = formatContext.tagScope & 1,\n precedence$jscomp$0 = props.precedence,\n href$jscomp$0 = props.href,\n nonce = props.nonce;\n if (\n 4 === formatContext.insertionMode ||\n noscriptTagInScope$jscomp$2 ||\n null != props.itemProp ||\n \"string\" !== typeof precedence$jscomp$0 ||\n \"string\" !== typeof href$jscomp$0 ||\n \"\" === href$jscomp$0\n ) {\n target$jscomp$0.push(startChunkForTag(\"style\"));\n var children$jscomp$6 = null,\n innerHTML$jscomp$5 = null,\n propKey$jscomp$8;\n for (propKey$jscomp$8 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$8)) {\n var propValue$jscomp$8 = props[propKey$jscomp$8];\n if (null != propValue$jscomp$8)\n switch (propKey$jscomp$8) {\n case \"children\":\n children$jscomp$6 = propValue$jscomp$8;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML$jscomp$5 = propValue$jscomp$8;\n break;\n default:\n pushAttribute(\n target$jscomp$0,\n propKey$jscomp$8,\n propValue$jscomp$8\n );\n }\n }\n target$jscomp$0.push(\">\");\n var child = Array.isArray(children$jscomp$6)\n ? 2 > children$jscomp$6.length\n ? children$jscomp$6[0]\n : null\n : children$jscomp$6;\n \"function\" !== typeof child &&\n \"symbol\" !== typeof child &&\n null !== child &&\n void 0 !== child &&\n target$jscomp$0.push((\"\" + child).replace(styleRegex, styleReplacer));\n pushInnerHTML(target$jscomp$0, innerHTML$jscomp$5, children$jscomp$6);\n target$jscomp$0.push(endChunkForTag(\"style\"));\n var JSCompiler_inline_result$jscomp$6 = null;\n } else {\n var styleQueue$jscomp$0 = renderState.styles.get(precedence$jscomp$0);\n if (\n null !==\n (resumableState.styleResources.hasOwnProperty(href$jscomp$0)\n ? resumableState.styleResources[href$jscomp$0]\n : void 0)\n ) {\n resumableState.styleResources[href$jscomp$0] = null;\n styleQueue$jscomp$0 ||\n ((styleQueue$jscomp$0 = {\n precedence: escapeTextForBrowser(precedence$jscomp$0),\n rules: [],\n hrefs: [],\n sheets: new Map()\n }),\n renderState.styles.set(precedence$jscomp$0, styleQueue$jscomp$0));\n var nonceStyle = renderState.nonce.style;\n if (!nonceStyle || nonceStyle === nonce) {\n styleQueue$jscomp$0.hrefs.push(escapeTextForBrowser(href$jscomp$0));\n var target = styleQueue$jscomp$0.rules,\n children$jscomp$7 = null,\n innerHTML$jscomp$6 = null,\n propKey$jscomp$9;\n for (propKey$jscomp$9 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$9)) {\n var propValue$jscomp$9 = props[propKey$jscomp$9];\n if (null != propValue$jscomp$9)\n switch (propKey$jscomp$9) {\n case \"children\":\n children$jscomp$7 = propValue$jscomp$9;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML$jscomp$6 = propValue$jscomp$9;\n }\n }\n var child$jscomp$0 = Array.isArray(children$jscomp$7)\n ? 2 > children$jscomp$7.length\n ? children$jscomp$7[0]\n : null\n : children$jscomp$7;\n \"function\" !== typeof child$jscomp$0 &&\n \"symbol\" !== typeof child$jscomp$0 &&\n null !== child$jscomp$0 &&\n void 0 !== child$jscomp$0 &&\n target.push(\n (\"\" + child$jscomp$0).replace(styleRegex, styleReplacer)\n );\n pushInnerHTML(target, innerHTML$jscomp$6, children$jscomp$7);\n }\n }\n styleQueue$jscomp$0 &&\n hoistableState &&\n hoistableState.styles.add(styleQueue$jscomp$0);\n textEmbedded && target$jscomp$0.push(\"\\x3c!-- --\\x3e\");\n JSCompiler_inline_result$jscomp$6 = void 0;\n }\n return JSCompiler_inline_result$jscomp$6;\n case \"meta\":\n var noscriptTagInScope$jscomp$3 = formatContext.tagScope & 1,\n isFallback$jscomp$1 = formatContext.tagScope & 4;\n if (\n 4 === formatContext.insertionMode ||\n noscriptTagInScope$jscomp$3 ||\n null != props.itemProp\n )\n var JSCompiler_inline_result$jscomp$7 = pushSelfClosing(\n target$jscomp$0,\n props,\n \"meta\"\n );\n else\n textEmbedded && target$jscomp$0.push(\"\\x3c!-- --\\x3e\"),\n (JSCompiler_inline_result$jscomp$7 = isFallback$jscomp$1\n ? null\n : \"string\" === typeof props.charSet\n ? pushSelfClosing(renderState.charsetChunks, props, \"meta\")\n : \"viewport\" === props.name\n ? pushSelfClosing(renderState.viewportChunks, props, \"meta\")\n : pushSelfClosing(renderState.hoistableChunks, props, \"meta\"));\n return JSCompiler_inline_result$jscomp$7;\n case \"listing\":\n case \"pre\":\n target$jscomp$0.push(startChunkForTag(type));\n var children$jscomp$8 = null,\n innerHTML$jscomp$7 = null,\n propKey$jscomp$10;\n for (propKey$jscomp$10 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$10)) {\n var propValue$jscomp$10 = props[propKey$jscomp$10];\n if (null != propValue$jscomp$10)\n switch (propKey$jscomp$10) {\n case \"children\":\n children$jscomp$8 = propValue$jscomp$10;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML$jscomp$7 = propValue$jscomp$10;\n break;\n default:\n pushAttribute(\n target$jscomp$0,\n propKey$jscomp$10,\n propValue$jscomp$10\n );\n }\n }\n target$jscomp$0.push(\">\");\n if (null != innerHTML$jscomp$7) {\n if (null != children$jscomp$8) throw Error(formatProdErrorMessage(60));\n if (\n \"object\" !== typeof innerHTML$jscomp$7 ||\n !(\"__html\" in innerHTML$jscomp$7)\n )\n throw Error(formatProdErrorMessage(61));\n var html = innerHTML$jscomp$7.__html;\n null !== html &&\n void 0 !== html &&\n (\"string\" === typeof html && 0 < html.length && \"\\n\" === html[0]\n ? target$jscomp$0.push(\"\\n\", html)\n : target$jscomp$0.push(\"\" + html));\n }\n \"string\" === typeof children$jscomp$8 &&\n \"\\n\" === children$jscomp$8[0] &&\n target$jscomp$0.push(\"\\n\");\n return children$jscomp$8;\n case \"img\":\n var pictureOrNoScriptTagInScope = formatContext.tagScope & 3,\n src = props.src,\n srcSet = props.srcSet;\n if (\n !(\n \"lazy\" === props.loading ||\n (!src && !srcSet) ||\n (\"string\" !== typeof src && null != src) ||\n (\"string\" !== typeof srcSet && null != srcSet) ||\n \"low\" === props.fetchPriority ||\n pictureOrNoScriptTagInScope\n ) &&\n (\"string\" !== typeof src ||\n \":\" !== src[4] ||\n (\"d\" !== src[0] && \"D\" !== src[0]) ||\n (\"a\" !== src[1] && \"A\" !== src[1]) ||\n (\"t\" !== src[2] && \"T\" !== src[2]) ||\n (\"a\" !== src[3] && \"A\" !== src[3])) &&\n (\"string\" !== typeof srcSet ||\n \":\" !== srcSet[4] ||\n (\"d\" !== srcSet[0] && \"D\" !== srcSet[0]) ||\n (\"a\" !== srcSet[1] && \"A\" !== srcSet[1]) ||\n (\"t\" !== srcSet[2] && \"T\" !== srcSet[2]) ||\n (\"a\" !== srcSet[3] && \"A\" !== srcSet[3]))\n ) {\n null !== hoistableState &&\n formatContext.tagScope & 64 &&\n (hoistableState.suspenseyImages = !0);\n var sizes = \"string\" === typeof props.sizes ? props.sizes : void 0,\n key$jscomp$0 = srcSet ? srcSet + \"\\n\" + (sizes || \"\") : src,\n promotablePreloads = renderState.preloads.images,\n resource$jscomp$1 = promotablePreloads.get(key$jscomp$0);\n if (resource$jscomp$1) {\n if (\n \"high\" === props.fetchPriority ||\n 10 > renderState.highImagePreloads.size\n )\n promotablePreloads.delete(key$jscomp$0),\n renderState.highImagePreloads.add(resource$jscomp$1);\n } else if (\n !resumableState.imageResources.hasOwnProperty(key$jscomp$0)\n ) {\n resumableState.imageResources[key$jscomp$0] = PRELOAD_NO_CREDS;\n var input = props.crossOrigin;\n var JSCompiler_inline_result$jscomp$8 =\n \"string\" === typeof input\n ? \"use-credentials\" === input\n ? input\n : \"\"\n : void 0;\n var headers = renderState.headers,\n header;\n headers &&\n 0 < headers.remainingCapacity &&\n \"string\" !== typeof props.srcSet &&\n (\"high\" === props.fetchPriority ||\n 500 > headers.highImagePreloads.length) &&\n ((header = getPreloadAsHeader(src, \"image\", {\n imageSrcSet: props.srcSet,\n imageSizes: props.sizes,\n crossOrigin: JSCompiler_inline_result$jscomp$8,\n integrity: props.integrity,\n nonce: props.nonce,\n type: props.type,\n fetchPriority: props.fetchPriority,\n referrerPolicy: props.refererPolicy\n })),\n 0 <= (headers.remainingCapacity -= header.length + 2))\n ? ((renderState.resets.image[key$jscomp$0] = PRELOAD_NO_CREDS),\n headers.highImagePreloads && (headers.highImagePreloads += \", \"),\n (headers.highImagePreloads += header))\n : ((resource$jscomp$1 = []),\n pushLinkImpl(resource$jscomp$1, {\n rel: \"preload\",\n as: \"image\",\n href: srcSet ? void 0 : src,\n imageSrcSet: srcSet,\n imageSizes: sizes,\n crossOrigin: JSCompiler_inline_result$jscomp$8,\n integrity: props.integrity,\n type: props.type,\n fetchPriority: props.fetchPriority,\n referrerPolicy: props.referrerPolicy\n }),\n \"high\" === props.fetchPriority ||\n 10 > renderState.highImagePreloads.size\n ? renderState.highImagePreloads.add(resource$jscomp$1)\n : (renderState.bulkPreloads.add(resource$jscomp$1),\n promotablePreloads.set(key$jscomp$0, resource$jscomp$1)));\n }\n }\n return pushSelfClosing(target$jscomp$0, props, \"img\");\n case \"base\":\n case \"area\":\n case \"br\":\n case \"col\":\n case \"embed\":\n case \"hr\":\n case \"keygen\":\n case \"param\":\n case \"source\":\n case \"track\":\n case \"wbr\":\n return pushSelfClosing(target$jscomp$0, props, type);\n case \"annotation-xml\":\n case \"color-profile\":\n case \"font-face\":\n case \"font-face-src\":\n case \"font-face-uri\":\n case \"font-face-format\":\n case \"font-face-name\":\n case \"missing-glyph\":\n break;\n case \"head\":\n if (2 > formatContext.insertionMode) {\n var preamble = preambleState || renderState.preamble;\n if (preamble.headChunks)\n throw Error(formatProdErrorMessage(545, \"`<head>`\"));\n null !== preambleState && target$jscomp$0.push(\"\\x3c!--head--\\x3e\");\n preamble.headChunks = [];\n var JSCompiler_inline_result$jscomp$9 = pushStartSingletonElement(\n preamble.headChunks,\n props,\n \"head\"\n );\n } else\n JSCompiler_inline_result$jscomp$9 = pushStartGenericElement(\n target$jscomp$0,\n props,\n \"head\"\n );\n return JSCompiler_inline_result$jscomp$9;\n case \"body\":\n if (2 > formatContext.insertionMode) {\n var preamble$jscomp$0 = preambleState || renderState.preamble;\n if (preamble$jscomp$0.bodyChunks)\n throw Error(formatProdErrorMessage(545, \"`<body>`\"));\n null !== preambleState && target$jscomp$0.push(\"\\x3c!--body--\\x3e\");\n preamble$jscomp$0.bodyChunks = [];\n var JSCompiler_inline_result$jscomp$10 = pushStartSingletonElement(\n preamble$jscomp$0.bodyChunks,\n props,\n \"body\"\n );\n } else\n JSCompiler_inline_result$jscomp$10 = pushStartGenericElement(\n target$jscomp$0,\n props,\n \"body\"\n );\n return JSCompiler_inline_result$jscomp$10;\n case \"html\":\n if (0 === formatContext.insertionMode) {\n var preamble$jscomp$1 = preambleState || renderState.preamble;\n if (preamble$jscomp$1.htmlChunks)\n throw Error(formatProdErrorMessage(545, \"`<html>`\"));\n null !== preambleState && target$jscomp$0.push(\"\\x3c!--html--\\x3e\");\n preamble$jscomp$1.htmlChunks = [\"\"];\n var JSCompiler_inline_result$jscomp$11 = pushStartSingletonElement(\n preamble$jscomp$1.htmlChunks,\n props,\n \"html\"\n );\n } else\n JSCompiler_inline_result$jscomp$11 = pushStartGenericElement(\n target$jscomp$0,\n props,\n \"html\"\n );\n return JSCompiler_inline_result$jscomp$11;\n default:\n if (-1 !== type.indexOf(\"-\")) {\n target$jscomp$0.push(startChunkForTag(type));\n var children$jscomp$9 = null,\n innerHTML$jscomp$8 = null,\n propKey$jscomp$11;\n for (propKey$jscomp$11 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$11)) {\n var propValue$jscomp$11 = props[propKey$jscomp$11];\n if (null != propValue$jscomp$11) {\n var attributeName = propKey$jscomp$11;\n switch (propKey$jscomp$11) {\n case \"children\":\n children$jscomp$9 = propValue$jscomp$11;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML$jscomp$8 = propValue$jscomp$11;\n break;\n case \"style\":\n pushStyleAttribute(target$jscomp$0, propValue$jscomp$11);\n break;\n case \"suppressContentEditableWarning\":\n case \"suppressHydrationWarning\":\n case \"ref\":\n break;\n case \"className\":\n attributeName = \"class\";\n default:\n if (\n isAttributeNameSafe(propKey$jscomp$11) &&\n \"function\" !== typeof propValue$jscomp$11 &&\n \"symbol\" !== typeof propValue$jscomp$11 &&\n !1 !== propValue$jscomp$11\n ) {\n if (!0 === propValue$jscomp$11) propValue$jscomp$11 = \"\";\n else if (\"object\" === typeof propValue$jscomp$11) continue;\n target$jscomp$0.push(\n \" \",\n attributeName,\n '=\"',\n escapeTextForBrowser(propValue$jscomp$11),\n '\"'\n );\n }\n }\n }\n }\n target$jscomp$0.push(\">\");\n pushInnerHTML(target$jscomp$0, innerHTML$jscomp$8, children$jscomp$9);\n return children$jscomp$9;\n }\n }\n return pushStartGenericElement(target$jscomp$0, props, type);\n}\nvar endTagCache = new Map();\nfunction endChunkForTag(tag) {\n var chunk = endTagCache.get(tag);\n void 0 === chunk && ((chunk = \"</\" + tag + \">\"), endTagCache.set(tag, chunk));\n return chunk;\n}\nfunction hoistPreambleState(renderState, preambleState) {\n renderState = renderState.preamble;\n null === renderState.htmlChunks &&\n preambleState.htmlChunks &&\n (renderState.htmlChunks = preambleState.htmlChunks);\n null === renderState.headChunks &&\n preambleState.headChunks &&\n (renderState.headChunks = preambleState.headChunks);\n null === renderState.bodyChunks &&\n preambleState.bodyChunks &&\n (renderState.bodyChunks = preambleState.bodyChunks);\n}\nfunction writeBootstrap(destination, renderState) {\n renderState = renderState.bootstrapChunks;\n for (var i = 0; i < renderState.length - 1; i++)\n destination.push(renderState[i]);\n return i < renderState.length\n ? ((i = renderState[i]), (renderState.length = 0), destination.push(i))\n : !0;\n}\nfunction writeStartPendingSuspenseBoundary(destination, renderState, id) {\n destination.push('\\x3c!--$?--\\x3e<template id=\"');\n if (null === id) throw Error(formatProdErrorMessage(395));\n destination.push(renderState.boundaryPrefix);\n renderState = id.toString(16);\n destination.push(renderState);\n return destination.push('\"></template>');\n}\nfunction writeStartSegment(destination, renderState, formatContext, id) {\n switch (formatContext.insertionMode) {\n case 0:\n case 1:\n case 3:\n case 2:\n return (\n destination.push('<div hidden id=\"'),\n destination.push(renderState.segmentPrefix),\n (renderState = id.toString(16)),\n destination.push(renderState),\n destination.push('\">')\n );\n case 4:\n return (\n destination.push('<svg aria-hidden=\"true\" style=\"display:none\" id=\"'),\n destination.push(renderState.segmentPrefix),\n (renderState = id.toString(16)),\n destination.push(renderState),\n destination.push('\">')\n );\n case 5:\n return (\n destination.push('<math aria-hidden=\"true\" style=\"display:none\" id=\"'),\n destination.push(renderState.segmentPrefix),\n (renderState = id.toString(16)),\n destination.push(renderState),\n destination.push('\">')\n );\n case 6:\n return (\n destination.push('<table hidden id=\"'),\n destination.push(renderState.segmentPrefix),\n (renderState = id.toString(16)),\n destination.push(renderState),\n destination.push('\">')\n );\n case 7:\n return (\n destination.push('<table hidden><tbody id=\"'),\n destination.push(renderState.segmentPrefix),\n (renderState = id.toString(16)),\n destination.push(renderState),\n destination.push('\">')\n );\n case 8:\n return (\n destination.push('<table hidden><tr id=\"'),\n destination.push(renderState.segmentPrefix),\n (renderState = id.toString(16)),\n destination.push(renderState),\n destination.push('\">')\n );\n case 9:\n return (\n destination.push('<table hidden><colgroup id=\"'),\n destination.push(renderState.segmentPrefix),\n (renderState = id.toString(16)),\n destination.push(renderState),\n destination.push('\">')\n );\n default:\n throw Error(formatProdErrorMessage(397));\n }\n}\nfunction writeEndSegment(destination, formatContext) {\n switch (formatContext.insertionMode) {\n case 0:\n case 1:\n case 3:\n case 2:\n return destination.push(\"</div>\");\n case 4:\n return destination.push(\"</svg>\");\n case 5:\n return destination.push(\"</math>\");\n case 6:\n return destination.push(\"</table>\");\n case 7:\n return destination.push(\"</tbody></table>\");\n case 8:\n return destination.push(\"</tr></table>\");\n case 9:\n return destination.push(\"</colgroup></table>\");\n default:\n throw Error(formatProdErrorMessage(397));\n }\n}\nvar regexForJSStringsInInstructionScripts = /[<\\u2028\\u2029]/g;\nfunction escapeJSStringsForInstructionScripts(input) {\n return JSON.stringify(input).replace(\n regexForJSStringsInInstructionScripts,\n function (match) {\n switch (match) {\n case \"<\":\n return \"\\\\u003c\";\n case \"\\u2028\":\n return \"\\\\u2028\";\n case \"\\u2029\":\n return \"\\\\u2029\";\n default:\n throw Error(\n \"escapeJSStringsForInstructionScripts encountered a match it does not know how to replace. this means the match regex and the replacement characters are no longer in sync. This is a bug in React\"\n );\n }\n }\n );\n}\nvar regexForJSStringsInScripts = /[&><\\u2028\\u2029]/g;\nfunction escapeJSObjectForInstructionScripts(input) {\n return JSON.stringify(input).replace(\n regexForJSStringsInScripts,\n function (match) {\n switch (match) {\n case \"&\":\n return \"\\\\u0026\";\n case \">\":\n return \"\\\\u003e\";\n case \"<\":\n return \"\\\\u003c\";\n case \"\\u2028\":\n return \"\\\\u2028\";\n case \"\\u2029\":\n return \"\\\\u2029\";\n default:\n throw Error(\n \"escapeJSObjectForInstructionScripts encountered a match it does not know how to replace. this means the match regex and the replacement characters are no longer in sync. This is a bug in React\"\n );\n }\n }\n );\n}\nvar currentlyRenderingBoundaryHasStylesToHoist = !1,\n destinationHasCapacity = !0;\nfunction flushStyleTagsLateForBoundary(styleQueue) {\n var rules = styleQueue.rules,\n hrefs = styleQueue.hrefs,\n i = 0;\n if (hrefs.length) {\n this.push(currentlyFlushingRenderState.startInlineStyle);\n this.push(' media=\"not all\" data-precedence=\"');\n this.push(styleQueue.precedence);\n for (this.push('\" data-href=\"'); i < hrefs.length - 1; i++)\n this.push(hrefs[i]), this.push(\" \");\n this.push(hrefs[i]);\n this.push('\">');\n for (i = 0; i < rules.length; i++) this.push(rules[i]);\n destinationHasCapacity = this.push(\"</style>\");\n currentlyRenderingBoundaryHasStylesToHoist = !0;\n rules.length = 0;\n hrefs.length = 0;\n }\n}\nfunction hasStylesToHoist(stylesheet) {\n return 2 !== stylesheet.state\n ? (currentlyRenderingBoundaryHasStylesToHoist = !0)\n : !1;\n}\nfunction writeHoistablesForBoundary(destination, hoistableState, renderState) {\n currentlyRenderingBoundaryHasStylesToHoist = !1;\n destinationHasCapacity = !0;\n currentlyFlushingRenderState = renderState;\n hoistableState.styles.forEach(flushStyleTagsLateForBoundary, destination);\n currentlyFlushingRenderState = null;\n hoistableState.stylesheets.forEach(hasStylesToHoist);\n currentlyRenderingBoundaryHasStylesToHoist &&\n (renderState.stylesToHoist = !0);\n return destinationHasCapacity;\n}\nfunction flushResource(resource) {\n for (var i = 0; i < resource.length; i++) this.push(resource[i]);\n resource.length = 0;\n}\nvar stylesheetFlushingQueue = [];\nfunction flushStyleInPreamble(stylesheet) {\n pushLinkImpl(stylesheetFlushingQueue, stylesheet.props);\n for (var i = 0; i < stylesheetFlushingQueue.length; i++)\n this.push(stylesheetFlushingQueue[i]);\n stylesheetFlushingQueue.length = 0;\n stylesheet.state = 2;\n}\nfunction flushStylesInPreamble(styleQueue) {\n var hasStylesheets = 0 < styleQueue.sheets.size;\n styleQueue.sheets.forEach(flushStyleInPreamble, this);\n styleQueue.sheets.clear();\n var rules = styleQueue.rules,\n hrefs = styleQueue.hrefs;\n if (!hasStylesheets || hrefs.length) {\n this.push(currentlyFlushingRenderState.startInlineStyle);\n this.push(' data-precedence=\"');\n this.push(styleQueue.precedence);\n styleQueue = 0;\n if (hrefs.length) {\n for (\n this.push('\" data-href=\"');\n styleQueue < hrefs.length - 1;\n styleQueue++\n )\n this.push(hrefs[styleQueue]), this.push(\" \");\n this.push(hrefs[styleQueue]);\n }\n this.push('\">');\n for (styleQueue = 0; styleQueue < rules.length; styleQueue++)\n this.push(rules[styleQueue]);\n this.push(\"</style>\");\n rules.length = 0;\n hrefs.length = 0;\n }\n}\nfunction preloadLateStyle(stylesheet) {\n if (0 === stylesheet.state) {\n stylesheet.state = 1;\n var props = stylesheet.props;\n pushLinkImpl(stylesheetFlushingQueue, {\n rel: \"preload\",\n as: \"style\",\n href: stylesheet.props.href,\n crossOrigin: props.crossOrigin,\n fetchPriority: props.fetchPriority,\n integrity: props.integrity,\n media: props.media,\n hrefLang: props.hrefLang,\n referrerPolicy: props.referrerPolicy\n });\n for (\n stylesheet = 0;\n stylesheet < stylesheetFlushingQueue.length;\n stylesheet++\n )\n this.push(stylesheetFlushingQueue[stylesheet]);\n stylesheetFlushingQueue.length = 0;\n }\n}\nfunction preloadLateStyles(styleQueue) {\n styleQueue.sheets.forEach(preloadLateStyle, this);\n styleQueue.sheets.clear();\n}\nfunction pushCompletedShellIdAttribute(target, resumableState) {\n 0 === (resumableState.instructions & 32) &&\n ((resumableState.instructions |= 32),\n target.push(\n ' id=\"',\n escapeTextForBrowser(\"_\" + resumableState.idPrefix + \"R_\"),\n '\"'\n ));\n}\nfunction writeStyleResourceDependenciesInJS(destination, hoistableState) {\n destination.push(\"[\");\n var nextArrayOpenBrackChunk = \"[\";\n hoistableState.stylesheets.forEach(function (resource) {\n if (2 !== resource.state)\n if (3 === resource.state)\n destination.push(nextArrayOpenBrackChunk),\n (resource = escapeJSObjectForInstructionScripts(\n \"\" + resource.props.href\n )),\n destination.push(resource),\n destination.push(\"]\"),\n (nextArrayOpenBrackChunk = \",[\");\n else {\n destination.push(nextArrayOpenBrackChunk);\n var precedence = resource.props[\"data-precedence\"],\n props = resource.props,\n coercedHref = sanitizeURL(\"\" + resource.props.href);\n coercedHref = escapeJSObjectForInstructionScripts(coercedHref);\n destination.push(coercedHref);\n precedence = \"\" + precedence;\n destination.push(\",\");\n precedence = escapeJSObjectForInstructionScripts(precedence);\n destination.push(precedence);\n for (var propKey in props)\n if (\n hasOwnProperty.call(props, propKey) &&\n ((precedence = props[propKey]), null != precedence)\n )\n switch (propKey) {\n case \"href\":\n case \"rel\":\n case \"precedence\":\n case \"data-precedence\":\n break;\n case \"children\":\n case \"dangerouslySetInnerHTML\":\n throw Error(formatProdErrorMessage(399, \"link\"));\n default:\n writeStyleResourceAttributeInJS(\n destination,\n propKey,\n precedence\n );\n }\n destination.push(\"]\");\n nextArrayOpenBrackChunk = \",[\";\n resource.state = 3;\n }\n });\n destination.push(\"]\");\n}\nfunction writeStyleResourceAttributeInJS(destination, name, value) {\n var attributeName = name.toLowerCase();\n switch (typeof value) {\n case \"function\":\n case \"symbol\":\n return;\n }\n switch (name) {\n case \"innerHTML\":\n case \"dangerouslySetInnerHTML\":\n case \"suppressContentEditableWarning\":\n case \"suppressHydrationWarning\":\n case \"style\":\n case \"ref\":\n return;\n case \"className\":\n attributeName = \"class\";\n name = \"\" + value;\n break;\n case \"hidden\":\n if (!1 === value) return;\n name = \"\";\n break;\n case \"src\":\n case \"href\":\n value = sanitizeURL(value);\n name = \"\" + value;\n break;\n default:\n if (\n (2 < name.length &&\n (\"o\" === name[0] || \"O\" === name[0]) &&\n (\"n\" === name[1] || \"N\" === name[1])) ||\n !isAttributeNameSafe(name)\n )\n return;\n name = \"\" + value;\n }\n destination.push(\",\");\n attributeName = escapeJSObjectForInstructionScripts(attributeName);\n destination.push(attributeName);\n destination.push(\",\");\n attributeName = escapeJSObjectForInstructionScripts(name);\n destination.push(attributeName);\n}\nfunction createHoistableState() {\n return { styles: new Set(), stylesheets: new Set(), suspenseyImages: !1 };\n}\nfunction prefetchDNS(href) {\n var request = currentRequest ? currentRequest : null;\n if (request) {\n var resumableState = request.resumableState,\n renderState = request.renderState;\n if (\"string\" === typeof href && href) {\n if (!resumableState.dnsResources.hasOwnProperty(href)) {\n resumableState.dnsResources[href] = null;\n resumableState = renderState.headers;\n var header, JSCompiler_temp;\n if (\n (JSCompiler_temp =\n resumableState && 0 < resumableState.remainingCapacity)\n )\n JSCompiler_temp =\n ((header =\n \"<\" +\n (\"\" + href).replace(\n regexForHrefInLinkHeaderURLContext,\n escapeHrefForLinkHeaderURLContextReplacer\n ) +\n \">; rel=dns-prefetch\"),\n 0 <= (resumableState.remainingCapacity -= header.length + 2));\n JSCompiler_temp\n ? ((renderState.resets.dns[href] = null),\n resumableState.preconnects && (resumableState.preconnects += \", \"),\n (resumableState.preconnects += header))\n : ((header = []),\n pushLinkImpl(header, { href: href, rel: \"dns-prefetch\" }),\n renderState.preconnects.add(header));\n }\n enqueueFlush(request);\n }\n } else previousDispatcher.D(href);\n}\nfunction preconnect(href, crossOrigin) {\n var request = currentRequest ? currentRequest : null;\n if (request) {\n var resumableState = request.resumableState,\n renderState = request.renderState;\n if (\"string\" === typeof href && href) {\n var bucket =\n \"use-credentials\" === crossOrigin\n ? \"credentials\"\n : \"string\" === typeof crossOrigin\n ? \"anonymous\"\n : \"default\";\n if (!resumableState.connectResources[bucket].hasOwnProperty(href)) {\n resumableState.connectResources[bucket][href] = null;\n resumableState = renderState.headers;\n var header, JSCompiler_temp;\n if (\n (JSCompiler_temp =\n resumableState && 0 < resumableState.remainingCapacity)\n ) {\n JSCompiler_temp =\n \"<\" +\n (\"\" + href).replace(\n regexForHrefInLinkHeaderURLContext,\n escapeHrefForLinkHeaderURLContextReplacer\n ) +\n \">; rel=preconnect\";\n if (\"string\" === typeof crossOrigin) {\n var escapedCrossOrigin = (\"\" + crossOrigin).replace(\n regexForLinkHeaderQuotedParamValueContext,\n escapeStringForLinkHeaderQuotedParamValueContextReplacer\n );\n JSCompiler_temp += '; crossorigin=\"' + escapedCrossOrigin + '\"';\n }\n JSCompiler_temp =\n ((header = JSCompiler_temp),\n 0 <= (resumableState.remainingCapacity -= header.length + 2));\n }\n JSCompiler_temp\n ? ((renderState.resets.connect[bucket][href] = null),\n resumableState.preconnects && (resumableState.preconnects += \", \"),\n (resumableState.preconnects += header))\n : ((bucket = []),\n pushLinkImpl(bucket, {\n rel: \"preconnect\",\n href: href,\n crossOrigin: crossOrigin\n }),\n renderState.preconnects.add(bucket));\n }\n enqueueFlush(request);\n }\n } else previousDispatcher.C(href, crossOrigin);\n}\nfunction preload(href, as, options) {\n var request = currentRequest ? currentRequest : null;\n if (request) {\n var resumableState = request.resumableState,\n renderState = request.renderState;\n if (as && href) {\n switch (as) {\n case \"image\":\n if (options) {\n var imageSrcSet = options.imageSrcSet;\n var imageSizes = options.imageSizes;\n var fetchPriority = options.fetchPriority;\n }\n var key = imageSrcSet\n ? imageSrcSet + \"\\n\" + (imageSizes || \"\")\n : href;\n if (resumableState.imageResources.hasOwnProperty(key)) return;\n resumableState.imageResources[key] = PRELOAD_NO_CREDS;\n resumableState = renderState.headers;\n var header;\n resumableState &&\n 0 < resumableState.remainingCapacity &&\n \"string\" !== typeof imageSrcSet &&\n \"high\" === fetchPriority &&\n ((header = getPreloadAsHeader(href, as, options)),\n 0 <= (resumableState.remainingCapacity -= header.length + 2))\n ? ((renderState.resets.image[key] = PRELOAD_NO_CREDS),\n resumableState.highImagePreloads &&\n (resumableState.highImagePreloads += \", \"),\n (resumableState.highImagePreloads += header))\n : ((resumableState = []),\n pushLinkImpl(\n resumableState,\n assign(\n { rel: \"preload\", href: imageSrcSet ? void 0 : href, as: as },\n options\n )\n ),\n \"high\" === fetchPriority\n ? renderState.highImagePreloads.add(resumableState)\n : (renderState.bulkPreloads.add(resumableState),\n renderState.preloads.images.set(key, resumableState)));\n break;\n case \"style\":\n if (resumableState.styleResources.hasOwnProperty(href)) return;\n imageSrcSet = [];\n pushLinkImpl(\n imageSrcSet,\n assign({ rel: \"preload\", href: href, as: as }, options)\n );\n resumableState.styleResources[href] =\n !options ||\n (\"string\" !== typeof options.crossOrigin &&\n \"string\" !== typeof options.integrity)\n ? PRELOAD_NO_CREDS\n : [options.crossOrigin, options.integrity];\n renderState.preloads.stylesheets.set(href, imageSrcSet);\n renderState.bulkPreloads.add(imageSrcSet);\n break;\n case \"script\":\n if (resumableState.scriptResources.hasOwnProperty(href)) return;\n imageSrcSet = [];\n renderState.preloads.scripts.set(href, imageSrcSet);\n renderState.bulkPreloads.add(imageSrcSet);\n pushLinkImpl(\n imageSrcSet,\n assign({ rel: \"preload\", href: href, as: as }, options)\n );\n resumableState.scriptResources[href] =\n !options ||\n (\"string\" !== typeof options.crossOrigin &&\n \"string\" !== typeof options.integrity)\n ? PRELOAD_NO_CREDS\n : [options.crossOrigin, options.integrity];\n break;\n default:\n if (resumableState.unknownResources.hasOwnProperty(as)) {\n if (\n ((imageSrcSet = resumableState.unknownResources[as]),\n imageSrcSet.hasOwnProperty(href))\n )\n return;\n } else\n (imageSrcSet = {}),\n (resumableState.unknownResources[as] = imageSrcSet);\n imageSrcSet[href] = PRELOAD_NO_CREDS;\n if (\n (resumableState = renderState.headers) &&\n 0 < resumableState.remainingCapacity &&\n \"font\" === as &&\n ((key = getPreloadAsHeader(href, as, options)),\n 0 <= (resumableState.remainingCapacity -= key.length + 2))\n )\n (renderState.resets.font[href] = PRELOAD_NO_CREDS),\n resumableState.fontPreloads &&\n (resumableState.fontPreloads += \", \"),\n (resumableState.fontPreloads += key);\n else\n switch (\n ((resumableState = []),\n (href = assign({ rel: \"preload\", href: href, as: as }, options)),\n pushLinkImpl(resumableState, href),\n as)\n ) {\n case \"font\":\n renderState.fontPreloads.add(resumableState);\n break;\n default:\n renderState.bulkPreloads.add(resumableState);\n }\n }\n enqueueFlush(request);\n }\n } else previousDispatcher.L(href, as, options);\n}\nfunction preloadModule(href, options) {\n var request = currentRequest ? currentRequest : null;\n if (request) {\n var resumableState = request.resumableState,\n renderState = request.renderState;\n if (href) {\n var as =\n options && \"string\" === typeof options.as ? options.as : \"script\";\n switch (as) {\n case \"script\":\n if (resumableState.moduleScriptResources.hasOwnProperty(href)) return;\n as = [];\n resumableState.moduleScriptResources[href] =\n !options ||\n (\"string\" !== typeof options.crossOrigin &&\n \"string\" !== typeof options.integrity)\n ? PRELOAD_NO_CREDS\n : [options.crossOrigin, options.integrity];\n renderState.preloads.moduleScripts.set(href, as);\n break;\n default:\n if (resumableState.moduleUnknownResources.hasOwnProperty(as)) {\n var resources = resumableState.unknownResources[as];\n if (resources.hasOwnProperty(href)) return;\n } else\n (resources = {}),\n (resumableState.moduleUnknownResources[as] = resources);\n as = [];\n resources[href] = PRELOAD_NO_CREDS;\n }\n pushLinkImpl(as, assign({ rel: \"modulepreload\", href: href }, options));\n renderState.bulkPreloads.add(as);\n enqueueFlush(request);\n }\n } else previousDispatcher.m(href, options);\n}\nfunction preinitStyle(href, precedence, options) {\n var request = currentRequest ? currentRequest : null;\n if (request) {\n var resumableState = request.resumableState,\n renderState = request.renderState;\n if (href) {\n precedence = precedence || \"default\";\n var styleQueue = renderState.styles.get(precedence),\n resourceState = resumableState.styleResources.hasOwnProperty(href)\n ? resumableState.styleResources[href]\n : void 0;\n null !== resourceState &&\n ((resumableState.styleResources[href] = null),\n styleQueue ||\n ((styleQueue = {\n precedence: escapeTextForBrowser(precedence),\n rules: [],\n hrefs: [],\n sheets: new Map()\n }),\n renderState.styles.set(precedence, styleQueue)),\n (precedence = {\n state: 0,\n props: assign(\n { rel: \"stylesheet\", href: href, \"data-precedence\": precedence },\n options\n )\n }),\n resourceState &&\n (2 === resourceState.length &&\n adoptPreloadCredentials(precedence.props, resourceState),\n (renderState = renderState.preloads.stylesheets.get(href)) &&\n 0 < renderState.length\n ? (renderState.length = 0)\n : (precedence.state = 1)),\n styleQueue.sheets.set(href, precedence),\n enqueueFlush(request));\n }\n } else previousDispatcher.S(href, precedence, options);\n}\nfunction preinitScript(src, options) {\n var request = currentRequest ? currentRequest : null;\n if (request) {\n var resumableState = request.resumableState,\n renderState = request.renderState;\n if (src) {\n var resourceState = resumableState.scriptResources.hasOwnProperty(src)\n ? resumableState.scriptResources[src]\n : void 0;\n null !== resourceState &&\n ((resumableState.scriptResources[src] = null),\n (options = assign({ src: src, async: !0 }, options)),\n resourceState &&\n (2 === resourceState.length &&\n adoptPreloadCredentials(options, resourceState),\n (src = renderState.preloads.scripts.get(src))) &&\n (src.length = 0),\n (src = []),\n renderState.scripts.add(src),\n pushScriptImpl(src, options),\n enqueueFlush(request));\n }\n } else previousDispatcher.X(src, options);\n}\nfunction preinitModuleScript(src, options) {\n var request = currentRequest ? currentRequest : null;\n if (request) {\n var resumableState = request.resumableState,\n renderState = request.renderState;\n if (src) {\n var resourceState = resumableState.moduleScriptResources.hasOwnProperty(\n src\n )\n ? resumableState.moduleScriptResources[src]\n : void 0;\n null !== resourceState &&\n ((resumableState.moduleScriptResources[src] = null),\n (options = assign({ src: src, type: \"module\", async: !0 }, options)),\n resourceState &&\n (2 === resourceState.length &&\n adoptPreloadCredentials(options, resourceState),\n (src = renderState.preloads.moduleScripts.get(src))) &&\n (src.length = 0),\n (src = []),\n renderState.scripts.add(src),\n pushScriptImpl(src, options),\n enqueueFlush(request));\n }\n } else previousDispatcher.M(src, options);\n}\nfunction adoptPreloadCredentials(target, preloadState) {\n null == target.crossOrigin && (target.crossOrigin = preloadState[0]);\n null == target.integrity && (target.integrity = preloadState[1]);\n}\nfunction getPreloadAsHeader(href, as, params) {\n href = (\"\" + href).replace(\n regexForHrefInLinkHeaderURLContext,\n escapeHrefForLinkHeaderURLContextReplacer\n );\n as = (\"\" + as).replace(\n regexForLinkHeaderQuotedParamValueContext,\n escapeStringForLinkHeaderQuotedParamValueContextReplacer\n );\n as = \"<\" + href + '>; rel=preload; as=\"' + as + '\"';\n for (var paramName in params)\n hasOwnProperty.call(params, paramName) &&\n ((href = params[paramName]),\n \"string\" === typeof href &&\n (as +=\n \"; \" +\n paramName.toLowerCase() +\n '=\"' +\n (\"\" + href).replace(\n regexForLinkHeaderQuotedParamValueContext,\n escapeStringForLinkHeaderQuotedParamValueContextReplacer\n ) +\n '\"'));\n return as;\n}\nvar regexForHrefInLinkHeaderURLContext = /[<>\\r\\n]/g;\nfunction escapeHrefForLinkHeaderURLContextReplacer(match) {\n switch (match) {\n case \"<\":\n return \"%3C\";\n case \">\":\n return \"%3E\";\n case \"\\n\":\n return \"%0A\";\n case \"\\r\":\n return \"%0D\";\n default:\n throw Error(\n \"escapeLinkHrefForHeaderContextReplacer encountered a match it does not know how to replace. this means the match regex and the replacement characters are no longer in sync. This is a bug in React\"\n );\n }\n}\nvar regexForLinkHeaderQuotedParamValueContext = /[\"';,\\r\\n]/g;\nfunction escapeStringForLinkHeaderQuotedParamValueContextReplacer(match) {\n switch (match) {\n case '\"':\n return \"%22\";\n case \"'\":\n return \"%27\";\n case \";\":\n return \"%3B\";\n case \",\":\n return \"%2C\";\n case \"\\n\":\n return \"%0A\";\n case \"\\r\":\n return \"%0D\";\n default:\n throw Error(\n \"escapeStringForLinkHeaderQuotedParamValueContextReplacer encountered a match it does not know how to replace. this means the match regex and the replacement characters are no longer in sync. This is a bug in React\"\n );\n }\n}\nfunction hoistStyleQueueDependency(styleQueue) {\n this.styles.add(styleQueue);\n}\nfunction hoistStylesheetDependency(stylesheet) {\n this.stylesheets.add(stylesheet);\n}\nfunction hoistHoistables(parentState, childState) {\n childState.styles.forEach(hoistStyleQueueDependency, parentState);\n childState.stylesheets.forEach(hoistStylesheetDependency, parentState);\n childState.suspenseyImages && (parentState.suspenseyImages = !0);\n}\nfunction createRenderState(resumableState, generateStaticMarkup) {\n var idPrefix = resumableState.idPrefix,\n bootstrapChunks = [],\n bootstrapScriptContent = resumableState.bootstrapScriptContent,\n bootstrapScripts = resumableState.bootstrapScripts,\n bootstrapModules = resumableState.bootstrapModules;\n void 0 !== bootstrapScriptContent &&\n (bootstrapChunks.push(\"<script\"),\n pushCompletedShellIdAttribute(bootstrapChunks, resumableState),\n bootstrapChunks.push(\n \">\",\n (\"\" + bootstrapScriptContent).replace(scriptRegex, scriptReplacer),\n \"\\x3c/script>\"\n ));\n bootstrapScriptContent = idPrefix + \"P:\";\n var JSCompiler_object_inline_segmentPrefix_1673 = idPrefix + \"S:\";\n idPrefix += \"B:\";\n var JSCompiler_object_inline_preconnects_1687 = new Set(),\n JSCompiler_object_inline_fontPreloads_1688 = new Set(),\n JSCompiler_object_inline_highImagePreloads_1689 = new Set(),\n JSCompiler_object_inline_styles_1690 = new Map(),\n JSCompiler_object_inline_bootstrapScripts_1691 = new Set(),\n JSCompiler_object_inline_scripts_1692 = new Set(),\n JSCompiler_object_inline_bulkPreloads_1693 = new Set(),\n JSCompiler_object_inline_preloads_1694 = {\n images: new Map(),\n stylesheets: new Map(),\n scripts: new Map(),\n moduleScripts: new Map()\n };\n if (void 0 !== bootstrapScripts)\n for (var i = 0; i < bootstrapScripts.length; i++) {\n var scriptConfig = bootstrapScripts[i],\n src,\n crossOrigin = void 0,\n integrity = void 0,\n props = {\n rel: \"preload\",\n as: \"script\",\n fetchPriority: \"low\",\n nonce: void 0\n };\n \"string\" === typeof scriptConfig\n ? (props.href = src = scriptConfig)\n : ((props.href = src = scriptConfig.src),\n (props.integrity = integrity =\n \"string\" === typeof scriptConfig.integrity\n ? scriptConfig.integrity\n : void 0),\n (props.crossOrigin = crossOrigin =\n \"string\" === typeof scriptConfig || null == scriptConfig.crossOrigin\n ? void 0\n : \"use-credentials\" === scriptConfig.crossOrigin\n ? \"use-credentials\"\n : \"\"));\n scriptConfig = resumableState;\n var href = src;\n scriptConfig.scriptResources[href] = null;\n scriptConfig.moduleScriptResources[href] = null;\n scriptConfig = [];\n pushLinkImpl(scriptConfig, props);\n JSCompiler_object_inline_bootstrapScripts_1691.add(scriptConfig);\n bootstrapChunks.push('<script src=\"', escapeTextForBrowser(src), '\"');\n \"string\" === typeof integrity &&\n bootstrapChunks.push(\n ' integrity=\"',\n escapeTextForBrowser(integrity),\n '\"'\n );\n \"string\" === typeof crossOrigin &&\n bootstrapChunks.push(\n ' crossorigin=\"',\n escapeTextForBrowser(crossOrigin),\n '\"'\n );\n pushCompletedShellIdAttribute(bootstrapChunks, resumableState);\n bootstrapChunks.push(' async=\"\">\\x3c/script>');\n }\n if (void 0 !== bootstrapModules)\n for (\n bootstrapScripts = 0;\n bootstrapScripts < bootstrapModules.length;\n bootstrapScripts++\n )\n (props = bootstrapModules[bootstrapScripts]),\n (crossOrigin = src = void 0),\n (integrity = {\n rel: \"modulepreload\",\n fetchPriority: \"low\",\n nonce: void 0\n }),\n \"string\" === typeof props\n ? (integrity.href = i = props)\n : ((integrity.href = i = props.src),\n (integrity.integrity = crossOrigin =\n \"string\" === typeof props.integrity ? props.integrity : void 0),\n (integrity.crossOrigin = src =\n \"string\" === typeof props || null == props.crossOrigin\n ? void 0\n : \"use-credentials\" === props.crossOrigin\n ? \"use-credentials\"\n : \"\")),\n (props = resumableState),\n (scriptConfig = i),\n (props.scriptResources[scriptConfig] = null),\n (props.moduleScriptResources[scriptConfig] = null),\n (props = []),\n pushLinkImpl(props, integrity),\n JSCompiler_object_inline_bootstrapScripts_1691.add(props),\n bootstrapChunks.push(\n '<script type=\"module\" src=\"',\n escapeTextForBrowser(i),\n '\"'\n ),\n \"string\" === typeof crossOrigin &&\n bootstrapChunks.push(\n ' integrity=\"',\n escapeTextForBrowser(crossOrigin),\n '\"'\n ),\n \"string\" === typeof src &&\n bootstrapChunks.push(\n ' crossorigin=\"',\n escapeTextForBrowser(src),\n '\"'\n ),\n pushCompletedShellIdAttribute(bootstrapChunks, resumableState),\n bootstrapChunks.push(' async=\"\">\\x3c/script>');\n return {\n placeholderPrefix: bootstrapScriptContent,\n segmentPrefix: JSCompiler_object_inline_segmentPrefix_1673,\n boundaryPrefix: idPrefix,\n startInlineScript: \"<script\",\n startInlineStyle: \"<style\",\n preamble: { htmlChunks: null, headChunks: null, bodyChunks: null },\n externalRuntimeScript: null,\n bootstrapChunks: bootstrapChunks,\n importMapChunks: [],\n onHeaders: void 0,\n headers: null,\n resets: {\n font: {},\n dns: {},\n connect: { default: {}, anonymous: {}, credentials: {} },\n image: {},\n style: {}\n },\n charsetChunks: [],\n viewportChunks: [],\n hoistableChunks: [],\n preconnects: JSCompiler_object_inline_preconnects_1687,\n fontPreloads: JSCompiler_object_inline_fontPreloads_1688,\n highImagePreloads: JSCompiler_object_inline_highImagePreloads_1689,\n styles: JSCompiler_object_inline_styles_1690,\n bootstrapScripts: JSCompiler_object_inline_bootstrapScripts_1691,\n scripts: JSCompiler_object_inline_scripts_1692,\n bulkPreloads: JSCompiler_object_inline_bulkPreloads_1693,\n preloads: JSCompiler_object_inline_preloads_1694,\n nonce: { script: void 0, style: void 0 },\n stylesToHoist: !1,\n generateStaticMarkup: generateStaticMarkup\n };\n}\nfunction pushTextInstance(target, text, renderState, textEmbedded) {\n if (renderState.generateStaticMarkup)\n return target.push(escapeTextForBrowser(text)), !1;\n \"\" === text\n ? (target = textEmbedded)\n : (textEmbedded && target.push(\"\\x3c!-- --\\x3e\"),\n target.push(escapeTextForBrowser(text)),\n (target = !0));\n return target;\n}\nfunction pushSegmentFinale(target, renderState, lastPushedText, textEmbedded) {\n renderState.generateStaticMarkup ||\n (lastPushedText && textEmbedded && target.push(\"\\x3c!-- --\\x3e\"));\n}\nvar bind = Function.prototype.bind,\n REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\");\nfunction getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type)\n return type.$$typeof === REACT_CLIENT_REFERENCE\n ? null\n : type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return \"Fragment\";\n case REACT_PROFILER_TYPE:\n return \"Profiler\";\n case REACT_STRICT_MODE_TYPE:\n return \"StrictMode\";\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n case REACT_ACTIVITY_TYPE:\n return \"Activity\";\n }\n if (\"object\" === typeof type)\n switch (type.$$typeof) {\n case REACT_PORTAL_TYPE:\n return \"Portal\";\n case REACT_CONTEXT_TYPE:\n return type.displayName || \"Context\";\n case REACT_CONSUMER_TYPE:\n return (type._context.displayName || \"Context\") + \".Consumer\";\n case REACT_FORWARD_REF_TYPE:\n var innerType = type.render;\n type = type.displayName;\n type ||\n ((type = innerType.displayName || innerType.name || \"\"),\n (type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\"));\n return type;\n case REACT_MEMO_TYPE:\n return (\n (innerType = type.displayName || null),\n null !== innerType\n ? innerType\n : getComponentNameFromType(type.type) || \"Memo\"\n );\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x) {}\n }\n return null;\n}\nvar emptyContextObject = {},\n currentActiveSnapshot = null;\nfunction popToNearestCommonAncestor(prev, next) {\n if (prev !== next) {\n prev.context._currentValue2 = prev.parentValue;\n prev = prev.parent;\n var parentNext = next.parent;\n if (null === prev) {\n if (null !== parentNext) throw Error(formatProdErrorMessage(401));\n } else {\n if (null === parentNext) throw Error(formatProdErrorMessage(401));\n popToNearestCommonAncestor(prev, parentNext);\n }\n next.context._currentValue2 = next.value;\n }\n}\nfunction popAllPrevious(prev) {\n prev.context._currentValue2 = prev.parentValue;\n prev = prev.parent;\n null !== prev && popAllPrevious(prev);\n}\nfunction pushAllNext(next) {\n var parentNext = next.parent;\n null !== parentNext && pushAllNext(parentNext);\n next.context._currentValue2 = next.value;\n}\nfunction popPreviousToCommonLevel(prev, next) {\n prev.context._currentValue2 = prev.parentValue;\n prev = prev.parent;\n if (null === prev) throw Error(formatProdErrorMessage(402));\n prev.depth === next.depth\n ? popToNearestCommonAncestor(prev, next)\n : popPreviousToCommonLevel(prev, next);\n}\nfunction popNextToCommonLevel(prev, next) {\n var parentNext = next.parent;\n if (null === parentNext) throw Error(formatProdErrorMessage(402));\n prev.depth === parentNext.depth\n ? popToNearestCommonAncestor(prev, parentNext)\n : popNextToCommonLevel(prev, parentNext);\n next.context._currentValue2 = next.value;\n}\nfunction switchContext(newSnapshot) {\n var prev = currentActiveSnapshot;\n prev !== newSnapshot &&\n (null === prev\n ? pushAllNext(newSnapshot)\n : null === newSnapshot\n ? popAllPrevious(prev)\n : prev.depth === newSnapshot.depth\n ? popToNearestCommonAncestor(prev, newSnapshot)\n : prev.depth > newSnapshot.depth\n ? popPreviousToCommonLevel(prev, newSnapshot)\n : popNextToCommonLevel(prev, newSnapshot),\n (currentActiveSnapshot = newSnapshot));\n}\nvar classComponentUpdater = {\n enqueueSetState: function (inst, payload) {\n inst = inst._reactInternals;\n null !== inst.queue && inst.queue.push(payload);\n },\n enqueueReplaceState: function (inst, payload) {\n inst = inst._reactInternals;\n inst.replace = !0;\n inst.queue = [payload];\n },\n enqueueForceUpdate: function () {}\n },\n emptyTreeContext = { id: 1, overflow: \"\" };\nfunction pushTreeContext(baseContext, totalChildren, index) {\n var baseIdWithLeadingBit = baseContext.id;\n baseContext = baseContext.overflow;\n var baseLength = 32 - clz32(baseIdWithLeadingBit) - 1;\n baseIdWithLeadingBit &= ~(1 << baseLength);\n index += 1;\n var length = 32 - clz32(totalChildren) + baseLength;\n if (30 < length) {\n var numberOfOverflowBits = baseLength - (baseLength % 5);\n length = (\n baseIdWithLeadingBit &\n ((1 << numberOfOverflowBits) - 1)\n ).toString(32);\n baseIdWithLeadingBit >>= numberOfOverflowBits;\n baseLength -= numberOfOverflowBits;\n return {\n id:\n (1 << (32 - clz32(totalChildren) + baseLength)) |\n (index << baseLength) |\n baseIdWithLeadingBit,\n overflow: length + baseContext\n };\n }\n return {\n id: (1 << length) | (index << baseLength) | baseIdWithLeadingBit,\n overflow: baseContext\n };\n}\nvar clz32 = Math.clz32 ? Math.clz32 : clz32Fallback,\n log = Math.log,\n LN2 = Math.LN2;\nfunction clz32Fallback(x) {\n x >>>= 0;\n return 0 === x ? 32 : (31 - ((log(x) / LN2) | 0)) | 0;\n}\nfunction noop() {}\nvar SuspenseException = Error(formatProdErrorMessage(460));\nfunction trackUsedThenable(thenableState, thenable, index) {\n index = thenableState[index];\n void 0 === index\n ? thenableState.push(thenable)\n : index !== thenable && (thenable.then(noop, noop), (thenable = index));\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n default:\n \"string\" === typeof thenable.status\n ? thenable.then(noop, noop)\n : ((thenableState = thenable),\n (thenableState.status = \"pending\"),\n thenableState.then(\n function (fulfilledValue) {\n if (\"pending\" === thenable.status) {\n var fulfilledThenable = thenable;\n fulfilledThenable.status = \"fulfilled\";\n fulfilledThenable.value = fulfilledValue;\n }\n },\n function (error) {\n if (\"pending\" === thenable.status) {\n var rejectedThenable = thenable;\n rejectedThenable.status = \"rejected\";\n rejectedThenable.reason = error;\n }\n }\n ));\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n }\n suspendedThenable = thenable;\n throw SuspenseException;\n }\n}\nvar suspendedThenable = null;\nfunction getSuspendedThenable() {\n if (null === suspendedThenable) throw Error(formatProdErrorMessage(459));\n var thenable = suspendedThenable;\n suspendedThenable = null;\n return thenable;\n}\nfunction is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n}\nvar objectIs = \"function\" === typeof Object.is ? Object.is : is,\n currentlyRenderingComponent = null,\n currentlyRenderingTask = null,\n currentlyRenderingRequest = null,\n currentlyRenderingKeyPath = null,\n firstWorkInProgressHook = null,\n workInProgressHook = null,\n isReRender = !1,\n didScheduleRenderPhaseUpdate = !1,\n localIdCounter = 0,\n actionStateCounter = 0,\n actionStateMatchingIndex = -1,\n thenableIndexCounter = 0,\n thenableState = null,\n renderPhaseUpdates = null,\n numberOfReRenders = 0;\nfunction resolveCurrentlyRenderingComponent() {\n if (null === currentlyRenderingComponent)\n throw Error(formatProdErrorMessage(321));\n return currentlyRenderingComponent;\n}\nfunction createHook() {\n if (0 < numberOfReRenders) throw Error(formatProdErrorMessage(312));\n return { memoizedState: null, queue: null, next: null };\n}\nfunction createWorkInProgressHook() {\n null === workInProgressHook\n ? null === firstWorkInProgressHook\n ? ((isReRender = !1),\n (firstWorkInProgressHook = workInProgressHook = createHook()))\n : ((isReRender = !0), (workInProgressHook = firstWorkInProgressHook))\n : null === workInProgressHook.next\n ? ((isReRender = !1),\n (workInProgressHook = workInProgressHook.next = createHook()))\n : ((isReRender = !0), (workInProgressHook = workInProgressHook.next));\n return workInProgressHook;\n}\nfunction getThenableStateAfterSuspending() {\n var state = thenableState;\n thenableState = null;\n return state;\n}\nfunction resetHooksState() {\n currentlyRenderingKeyPath =\n currentlyRenderingRequest =\n currentlyRenderingTask =\n currentlyRenderingComponent =\n null;\n didScheduleRenderPhaseUpdate = !1;\n firstWorkInProgressHook = null;\n numberOfReRenders = 0;\n workInProgressHook = renderPhaseUpdates = null;\n}\nfunction basicStateReducer(state, action) {\n return \"function\" === typeof action ? action(state) : action;\n}\nfunction useReducer(reducer, initialArg, init) {\n currentlyRenderingComponent = resolveCurrentlyRenderingComponent();\n workInProgressHook = createWorkInProgressHook();\n if (isReRender) {\n var queue = workInProgressHook.queue;\n initialArg = queue.dispatch;\n if (\n null !== renderPhaseUpdates &&\n ((init = renderPhaseUpdates.get(queue)), void 0 !== init)\n ) {\n renderPhaseUpdates.delete(queue);\n queue = workInProgressHook.memoizedState;\n do (queue = reducer(queue, init.action)), (init = init.next);\n while (null !== init);\n workInProgressHook.memoizedState = queue;\n return [queue, initialArg];\n }\n return [workInProgressHook.memoizedState, initialArg];\n }\n reducer =\n reducer === basicStateReducer\n ? \"function\" === typeof initialArg\n ? initialArg()\n : initialArg\n : void 0 !== init\n ? init(initialArg)\n : initialArg;\n workInProgressHook.memoizedState = reducer;\n reducer = workInProgressHook.queue = { last: null, dispatch: null };\n reducer = reducer.dispatch = dispatchAction.bind(\n null,\n currentlyRenderingComponent,\n reducer\n );\n return [workInProgressHook.memoizedState, reducer];\n}\nfunction useMemo(nextCreate, deps) {\n currentlyRenderingComponent = resolveCurrentlyRenderingComponent();\n workInProgressHook = createWorkInProgressHook();\n deps = void 0 === deps ? null : deps;\n if (null !== workInProgressHook) {\n var prevState = workInProgressHook.memoizedState;\n if (null !== prevState && null !== deps) {\n var prevDeps = prevState[1];\n a: if (null === prevDeps) prevDeps = !1;\n else {\n for (var i = 0; i < prevDeps.length && i < deps.length; i++)\n if (!objectIs(deps[i], prevDeps[i])) {\n prevDeps = !1;\n break a;\n }\n prevDeps = !0;\n }\n if (prevDeps) return prevState[0];\n }\n }\n nextCreate = nextCreate();\n workInProgressHook.memoizedState = [nextCreate, deps];\n return nextCreate;\n}\nfunction dispatchAction(componentIdentity, queue, action) {\n if (25 <= numberOfReRenders) throw Error(formatProdErrorMessage(301));\n if (componentIdentity === currentlyRenderingComponent)\n if (\n ((didScheduleRenderPhaseUpdate = !0),\n (componentIdentity = { action: action, next: null }),\n null === renderPhaseUpdates && (renderPhaseUpdates = new Map()),\n (action = renderPhaseUpdates.get(queue)),\n void 0 === action)\n )\n renderPhaseUpdates.set(queue, componentIdentity);\n else {\n for (queue = action; null !== queue.next; ) queue = queue.next;\n queue.next = componentIdentity;\n }\n}\nfunction throwOnUseEffectEventCall() {\n throw Error(formatProdErrorMessage(440));\n}\nfunction unsupportedStartTransition() {\n throw Error(formatProdErrorMessage(394));\n}\nfunction unsupportedSetOptimisticState() {\n throw Error(formatProdErrorMessage(479));\n}\nfunction useActionState(action, initialState, permalink) {\n resolveCurrentlyRenderingComponent();\n var actionStateHookIndex = actionStateCounter++,\n request = currentlyRenderingRequest;\n if (\"function\" === typeof action.$$FORM_ACTION) {\n var nextPostbackStateKey = null,\n componentKeyPath = currentlyRenderingKeyPath;\n request = request.formState;\n var isSignatureEqual = action.$$IS_SIGNATURE_EQUAL;\n if (null !== request && \"function\" === typeof isSignatureEqual) {\n var postbackKey = request[1];\n isSignatureEqual.call(action, request[2], request[3]) &&\n ((nextPostbackStateKey =\n void 0 !== permalink\n ? \"p\" + permalink\n : \"k\" +\n murmurhash3_32_gc(\n JSON.stringify([componentKeyPath, null, actionStateHookIndex]),\n 0\n )),\n postbackKey === nextPostbackStateKey &&\n ((actionStateMatchingIndex = actionStateHookIndex),\n (initialState = request[0])));\n }\n var boundAction = action.bind(null, initialState);\n action = function (payload) {\n boundAction(payload);\n };\n \"function\" === typeof boundAction.$$FORM_ACTION &&\n (action.$$FORM_ACTION = function (prefix) {\n prefix = boundAction.$$FORM_ACTION(prefix);\n void 0 !== permalink &&\n ((permalink += \"\"), (prefix.action = permalink));\n var formData = prefix.data;\n formData &&\n (null === nextPostbackStateKey &&\n (nextPostbackStateKey =\n void 0 !== permalink\n ? \"p\" + permalink\n : \"k\" +\n murmurhash3_32_gc(\n JSON.stringify([\n componentKeyPath,\n null,\n actionStateHookIndex\n ]),\n 0\n )),\n formData.append(\"$ACTION_KEY\", nextPostbackStateKey));\n return prefix;\n });\n return [initialState, action, !1];\n }\n var boundAction$22 = action.bind(null, initialState);\n return [\n initialState,\n function (payload) {\n boundAction$22(payload);\n },\n !1\n ];\n}\nfunction unwrapThenable(thenable) {\n var index = thenableIndexCounter;\n thenableIndexCounter += 1;\n null === thenableState && (thenableState = []);\n return trackUsedThenable(thenableState, thenable, index);\n}\nfunction unsupportedRefresh() {\n throw Error(formatProdErrorMessage(393));\n}\nvar HooksDispatcher = {\n readContext: function (context) {\n return context._currentValue2;\n },\n use: function (usable) {\n if (null !== usable && \"object\" === typeof usable) {\n if (\"function\" === typeof usable.then) return unwrapThenable(usable);\n if (usable.$$typeof === REACT_CONTEXT_TYPE)\n return usable._currentValue2;\n }\n throw Error(formatProdErrorMessage(438, String(usable)));\n },\n useContext: function (context) {\n resolveCurrentlyRenderingComponent();\n return context._currentValue2;\n },\n useMemo: useMemo,\n useReducer: useReducer,\n useRef: function (initialValue) {\n currentlyRenderingComponent = resolveCurrentlyRenderingComponent();\n workInProgressHook = createWorkInProgressHook();\n var previousRef = workInProgressHook.memoizedState;\n return null === previousRef\n ? ((initialValue = { current: initialValue }),\n (workInProgressHook.memoizedState = initialValue))\n : previousRef;\n },\n useState: function (initialState) {\n return useReducer(basicStateReducer, initialState);\n },\n useInsertionEffect: noop,\n useLayoutEffect: noop,\n useCallback: function (callback, deps) {\n return useMemo(function () {\n return callback;\n }, deps);\n },\n useImperativeHandle: noop,\n useEffect: noop,\n useDebugValue: noop,\n useDeferredValue: function (value, initialValue) {\n resolveCurrentlyRenderingComponent();\n return void 0 !== initialValue ? initialValue : value;\n },\n useTransition: function () {\n resolveCurrentlyRenderingComponent();\n return [!1, unsupportedStartTransition];\n },\n useId: function () {\n var JSCompiler_inline_result = currentlyRenderingTask.treeContext;\n var overflow = JSCompiler_inline_result.overflow;\n JSCompiler_inline_result = JSCompiler_inline_result.id;\n JSCompiler_inline_result =\n (\n JSCompiler_inline_result &\n ~(1 << (32 - clz32(JSCompiler_inline_result) - 1))\n ).toString(32) + overflow;\n var resumableState = currentResumableState;\n if (null === resumableState) throw Error(formatProdErrorMessage(404));\n overflow = localIdCounter++;\n JSCompiler_inline_result =\n \"_\" + resumableState.idPrefix + \"R_\" + JSCompiler_inline_result;\n 0 < overflow && (JSCompiler_inline_result += \"H\" + overflow.toString(32));\n return JSCompiler_inline_result + \"_\";\n },\n useSyncExternalStore: function (subscribe, getSnapshot, getServerSnapshot) {\n if (void 0 === getServerSnapshot)\n throw Error(formatProdErrorMessage(407));\n return getServerSnapshot();\n },\n useOptimistic: function (passthrough) {\n resolveCurrentlyRenderingComponent();\n return [passthrough, unsupportedSetOptimisticState];\n },\n useActionState: useActionState,\n useFormState: useActionState,\n useHostTransitionStatus: function () {\n resolveCurrentlyRenderingComponent();\n return sharedNotPendingObject;\n },\n useMemoCache: function (size) {\n for (var data = Array(size), i = 0; i < size; i++)\n data[i] = REACT_MEMO_CACHE_SENTINEL;\n return data;\n },\n useCacheRefresh: function () {\n return unsupportedRefresh;\n },\n useEffectEvent: function () {\n return throwOnUseEffectEventCall;\n }\n },\n currentResumableState = null,\n DefaultAsyncDispatcher = {\n getCacheForType: function () {\n throw Error(formatProdErrorMessage(248));\n },\n cacheSignal: function () {\n throw Error(formatProdErrorMessage(248));\n }\n },\n prefix,\n suffix;\nfunction describeBuiltInComponentFrame(name) {\n if (void 0 === prefix)\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = (match && match[1]) || \"\";\n suffix =\n -1 < x.stack.indexOf(\"\\n at\")\n ? \" (<anonymous>)\"\n : -1 < x.stack.indexOf(\"@\")\n ? \"@unknown:0:0\"\n : \"\";\n }\n return \"\\n\" + prefix + name + suffix;\n}\nvar reentry = !1;\nfunction describeNativeComponentFrame(fn, construct) {\n if (!fn || reentry) return \"\";\n reentry = !0;\n var previousPrepareStackTrace = Error.prepareStackTrace;\n Error.prepareStackTrace = void 0;\n try {\n var RunInRootFrame = {\n DetermineComponentFrameRoot: function () {\n try {\n if (construct) {\n var Fake = function () {\n throw Error();\n };\n Object.defineProperty(Fake.prototype, \"props\", {\n set: function () {\n throw Error();\n }\n });\n if (\"object\" === typeof Reflect && Reflect.construct) {\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n var control = x;\n }\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x$24) {\n control = x$24;\n }\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x$25) {\n control = x$25;\n }\n (Fake = fn()) &&\n \"function\" === typeof Fake.catch &&\n Fake.catch(function () {});\n }\n } catch (sample) {\n if (sample && control && \"string\" === typeof sample.stack)\n return [sample.stack, control.stack];\n }\n return [null, null];\n }\n };\n RunInRootFrame.DetermineComponentFrameRoot.displayName =\n \"DetermineComponentFrameRoot\";\n var namePropDescriptor = Object.getOwnPropertyDescriptor(\n RunInRootFrame.DetermineComponentFrameRoot,\n \"name\"\n );\n namePropDescriptor &&\n namePropDescriptor.configurable &&\n Object.defineProperty(\n RunInRootFrame.DetermineComponentFrameRoot,\n \"name\",\n { value: \"DetermineComponentFrameRoot\" }\n );\n var _RunInRootFrame$Deter = RunInRootFrame.DetermineComponentFrameRoot(),\n sampleStack = _RunInRootFrame$Deter[0],\n controlStack = _RunInRootFrame$Deter[1];\n if (sampleStack && controlStack) {\n var sampleLines = sampleStack.split(\"\\n\"),\n controlLines = controlStack.split(\"\\n\");\n for (\n namePropDescriptor = RunInRootFrame = 0;\n RunInRootFrame < sampleLines.length &&\n !sampleLines[RunInRootFrame].includes(\"DetermineComponentFrameRoot\");\n\n )\n RunInRootFrame++;\n for (\n ;\n namePropDescriptor < controlLines.length &&\n !controlLines[namePropDescriptor].includes(\n \"DetermineComponentFrameRoot\"\n );\n\n )\n namePropDescriptor++;\n if (\n RunInRootFrame === sampleLines.length ||\n namePropDescriptor === controlLines.length\n )\n for (\n RunInRootFrame = sampleLines.length - 1,\n namePropDescriptor = controlLines.length - 1;\n 1 <= RunInRootFrame &&\n 0 <= namePropDescriptor &&\n sampleLines[RunInRootFrame] !== controlLines[namePropDescriptor];\n\n )\n namePropDescriptor--;\n for (\n ;\n 1 <= RunInRootFrame && 0 <= namePropDescriptor;\n RunInRootFrame--, namePropDescriptor--\n )\n if (sampleLines[RunInRootFrame] !== controlLines[namePropDescriptor]) {\n if (1 !== RunInRootFrame || 1 !== namePropDescriptor) {\n do\n if (\n (RunInRootFrame--,\n namePropDescriptor--,\n 0 > namePropDescriptor ||\n sampleLines[RunInRootFrame] !==\n controlLines[namePropDescriptor])\n ) {\n var frame =\n \"\\n\" +\n sampleLines[RunInRootFrame].replace(\" at new \", \" at \");\n fn.displayName &&\n frame.includes(\"<anonymous>\") &&\n (frame = frame.replace(\"<anonymous>\", fn.displayName));\n return frame;\n }\n while (1 <= RunInRootFrame && 0 <= namePropDescriptor);\n }\n break;\n }\n }\n } finally {\n (reentry = !1), (Error.prepareStackTrace = previousPrepareStackTrace);\n }\n return (previousPrepareStackTrace = fn ? fn.displayName || fn.name : \"\")\n ? describeBuiltInComponentFrame(previousPrepareStackTrace)\n : \"\";\n}\nfunction describeComponentStackByType(type) {\n if (\"string\" === typeof type) return describeBuiltInComponentFrame(type);\n if (\"function\" === typeof type)\n return type.prototype && type.prototype.isReactComponent\n ? describeNativeComponentFrame(type, !0)\n : describeNativeComponentFrame(type, !1);\n if (\"object\" === typeof type && null !== type) {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return describeNativeComponentFrame(type.render, !1);\n case REACT_MEMO_TYPE:\n return describeNativeComponentFrame(type.type, !1);\n case REACT_LAZY_TYPE:\n var lazyComponent = type,\n payload = lazyComponent._payload;\n lazyComponent = lazyComponent._init;\n try {\n type = lazyComponent(payload);\n } catch (x) {\n return describeBuiltInComponentFrame(\"Lazy\");\n }\n return describeComponentStackByType(type);\n }\n if (\"string\" === typeof type.name) {\n a: {\n payload = type.name;\n lazyComponent = type.env;\n var location = type.debugLocation;\n if (\n null != location &&\n ((type = Error.prepareStackTrace),\n (Error.prepareStackTrace = void 0),\n (location = location.stack),\n (Error.prepareStackTrace = type),\n location.startsWith(\"Error: react-stack-top-frame\\n\") &&\n (location = location.slice(29)),\n (type = location.indexOf(\"\\n\")),\n -1 !== type && (location = location.slice(type + 1)),\n (type = location.indexOf(\"react_stack_bottom_frame\")),\n -1 !== type && (type = location.lastIndexOf(\"\\n\", type)),\n (type = -1 !== type ? (location = location.slice(0, type)) : \"\"),\n (location = type.lastIndexOf(\"\\n\")),\n (type = -1 === location ? type : type.slice(location + 1)),\n -1 !== type.indexOf(payload))\n ) {\n payload = \"\\n\" + type;\n break a;\n }\n payload = describeBuiltInComponentFrame(\n payload + (lazyComponent ? \" [\" + lazyComponent + \"]\" : \"\")\n );\n }\n return payload;\n }\n }\n switch (type) {\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame(\"SuspenseList\");\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame(\"Suspense\");\n }\n return \"\";\n}\nfunction isEligibleForOutlining(request, boundary) {\n return (500 < boundary.byteSize || !1) && null === boundary.contentPreamble;\n}\nfunction defaultErrorHandler(error) {\n if (\n \"object\" === typeof error &&\n null !== error &&\n \"string\" === typeof error.environmentName\n ) {\n var JSCompiler_inline_result = error.environmentName;\n error = [error].slice(0);\n \"string\" === typeof error[0]\n ? error.splice(\n 0,\n 1,\n \"[%s] \" + error[0],\n \" \" + JSCompiler_inline_result + \" \"\n )\n : error.splice(0, 0, \"[%s]\", \" \" + JSCompiler_inline_result + \" \");\n error.unshift(console);\n JSCompiler_inline_result = bind.apply(console.error, error);\n JSCompiler_inline_result();\n } else console.error(error);\n return null;\n}\nfunction RequestInstance(\n resumableState,\n renderState,\n rootFormatContext,\n progressiveChunkSize,\n onError,\n onAllReady,\n onShellReady,\n onShellError,\n onFatalError,\n onPostpone,\n formState\n) {\n var abortSet = new Set();\n this.destination = null;\n this.flushScheduled = !1;\n this.resumableState = resumableState;\n this.renderState = renderState;\n this.rootFormatContext = rootFormatContext;\n this.progressiveChunkSize =\n void 0 === progressiveChunkSize ? 12800 : progressiveChunkSize;\n this.status = 10;\n this.fatalError = null;\n this.pendingRootTasks = this.allPendingTasks = this.nextSegmentId = 0;\n this.completedPreambleSegments = this.completedRootSegment = null;\n this.byteSize = 0;\n this.abortableTasks = abortSet;\n this.pingedTasks = [];\n this.clientRenderedBoundaries = [];\n this.completedBoundaries = [];\n this.partialBoundaries = [];\n this.trackedPostpones = null;\n this.onError = void 0 === onError ? defaultErrorHandler : onError;\n this.onPostpone = void 0 === onPostpone ? noop : onPostpone;\n this.onAllReady = void 0 === onAllReady ? noop : onAllReady;\n this.onShellReady = void 0 === onShellReady ? noop : onShellReady;\n this.onShellError = void 0 === onShellError ? noop : onShellError;\n this.onFatalError = void 0 === onFatalError ? noop : onFatalError;\n this.formState = void 0 === formState ? null : formState;\n}\nfunction createRequest(\n children,\n resumableState,\n renderState,\n rootFormatContext,\n progressiveChunkSize,\n onError,\n onAllReady,\n onShellReady,\n onShellError,\n onFatalError,\n onPostpone,\n formState\n) {\n resumableState = new RequestInstance(\n resumableState,\n renderState,\n rootFormatContext,\n progressiveChunkSize,\n onError,\n onAllReady,\n onShellReady,\n onShellError,\n onFatalError,\n onPostpone,\n formState\n );\n renderState = createPendingSegment(\n resumableState,\n 0,\n null,\n rootFormatContext,\n !1,\n !1\n );\n renderState.parentFlushed = !0;\n children = createRenderTask(\n resumableState,\n null,\n children,\n -1,\n null,\n renderState,\n null,\n null,\n resumableState.abortableTasks,\n null,\n rootFormatContext,\n null,\n emptyTreeContext,\n null,\n null\n );\n pushComponentStack(children);\n resumableState.pingedTasks.push(children);\n return resumableState;\n}\nvar currentRequest = null;\nfunction pingTask(request, task) {\n request.pingedTasks.push(task);\n 1 === request.pingedTasks.length &&\n ((request.flushScheduled = null !== request.destination),\n performWork(request));\n}\nfunction createSuspenseBoundary(\n request,\n row,\n fallbackAbortableTasks,\n contentPreamble,\n fallbackPreamble\n) {\n fallbackAbortableTasks = {\n status: 0,\n rootSegmentID: -1,\n parentFlushed: !1,\n pendingTasks: 0,\n row: row,\n completedSegments: [],\n byteSize: 0,\n fallbackAbortableTasks: fallbackAbortableTasks,\n errorDigest: null,\n contentState: createHoistableState(),\n fallbackState: createHoistableState(),\n contentPreamble: contentPreamble,\n fallbackPreamble: fallbackPreamble,\n trackedContentKeyPath: null,\n trackedFallbackNode: null\n };\n null !== row &&\n (row.pendingTasks++,\n (contentPreamble = row.boundaries),\n null !== contentPreamble &&\n (request.allPendingTasks++,\n fallbackAbortableTasks.pendingTasks++,\n contentPreamble.push(fallbackAbortableTasks)),\n (request = row.inheritedHoistables),\n null !== request &&\n hoistHoistables(fallbackAbortableTasks.contentState, request));\n return fallbackAbortableTasks;\n}\nfunction createRenderTask(\n request,\n thenableState,\n node,\n childIndex,\n blockedBoundary,\n blockedSegment,\n blockedPreamble,\n hoistableState,\n abortSet,\n keyPath,\n formatContext,\n context,\n treeContext,\n row,\n componentStack\n) {\n request.allPendingTasks++;\n null === blockedBoundary\n ? request.pendingRootTasks++\n : blockedBoundary.pendingTasks++;\n null !== row && row.pendingTasks++;\n var task = {\n replay: null,\n node: node,\n childIndex: childIndex,\n ping: function () {\n return pingTask(request, task);\n },\n blockedBoundary: blockedBoundary,\n blockedSegment: blockedSegment,\n blockedPreamble: blockedPreamble,\n hoistableState: hoistableState,\n abortSet: abortSet,\n keyPath: keyPath,\n formatContext: formatContext,\n context: context,\n treeContext: treeContext,\n row: row,\n componentStack: componentStack,\n thenableState: thenableState\n };\n abortSet.add(task);\n return task;\n}\nfunction createReplayTask(\n request,\n thenableState,\n replay,\n node,\n childIndex,\n blockedBoundary,\n hoistableState,\n abortSet,\n keyPath,\n formatContext,\n context,\n treeContext,\n row,\n componentStack\n) {\n request.allPendingTasks++;\n null === blockedBoundary\n ? request.pendingRootTasks++\n : blockedBoundary.pendingTasks++;\n null !== row && row.pendingTasks++;\n replay.pendingTasks++;\n var task = {\n replay: replay,\n node: node,\n childIndex: childIndex,\n ping: function () {\n return pingTask(request, task);\n },\n blockedBoundary: blockedBoundary,\n blockedSegment: null,\n blockedPreamble: null,\n hoistableState: hoistableState,\n abortSet: abortSet,\n keyPath: keyPath,\n formatContext: formatContext,\n context: context,\n treeContext: treeContext,\n row: row,\n componentStack: componentStack,\n thenableState: thenableState\n };\n abortSet.add(task);\n return task;\n}\nfunction createPendingSegment(\n request,\n index,\n boundary,\n parentFormatContext,\n lastPushedText,\n textEmbedded\n) {\n return {\n status: 0,\n parentFlushed: !1,\n id: -1,\n index: index,\n chunks: [],\n children: [],\n preambleChildren: [],\n parentFormatContext: parentFormatContext,\n boundary: boundary,\n lastPushedText: lastPushedText,\n textEmbedded: textEmbedded\n };\n}\nfunction pushComponentStack(task) {\n var node = task.node;\n if (\"object\" === typeof node && null !== node)\n switch (node.$$typeof) {\n case REACT_ELEMENT_TYPE:\n task.componentStack = { parent: task.componentStack, type: node.type };\n }\n}\nfunction replaceSuspenseComponentStackWithSuspenseFallbackStack(\n componentStack\n) {\n return null === componentStack\n ? null\n : { parent: componentStack.parent, type: \"Suspense Fallback\" };\n}\nfunction getThrownInfo(node$jscomp$0) {\n var errorInfo = {};\n node$jscomp$0 &&\n Object.defineProperty(errorInfo, \"componentStack\", {\n configurable: !0,\n enumerable: !0,\n get: function () {\n try {\n var info = \"\",\n node = node$jscomp$0;\n do\n (info += describeComponentStackByType(node.type)),\n (node = node.parent);\n while (node);\n var JSCompiler_inline_result = info;\n } catch (x) {\n JSCompiler_inline_result =\n \"\\nError generating stack: \" + x.message + \"\\n\" + x.stack;\n }\n Object.defineProperty(errorInfo, \"componentStack\", {\n value: JSCompiler_inline_result\n });\n return JSCompiler_inline_result;\n }\n });\n return errorInfo;\n}\nfunction logRecoverableError(request, error, errorInfo) {\n request = request.onError;\n error = request(error, errorInfo);\n if (null == error || \"string\" === typeof error) return error;\n}\nfunction fatalError(request, error) {\n var onShellError = request.onShellError,\n onFatalError = request.onFatalError;\n onShellError(error);\n onFatalError(error);\n null !== request.destination\n ? ((request.status = 14), request.destination.destroy(error))\n : ((request.status = 13), (request.fatalError = error));\n}\nfunction finishSuspenseListRow(request, row) {\n unblockSuspenseListRow(request, row.next, row.hoistables);\n}\nfunction unblockSuspenseListRow(request, unblockedRow, inheritedHoistables) {\n for (; null !== unblockedRow; ) {\n null !== inheritedHoistables &&\n (hoistHoistables(unblockedRow.hoistables, inheritedHoistables),\n (unblockedRow.inheritedHoistables = inheritedHoistables));\n var unblockedBoundaries = unblockedRow.boundaries;\n if (null !== unblockedBoundaries) {\n unblockedRow.boundaries = null;\n for (var i = 0; i < unblockedBoundaries.length; i++) {\n var unblockedBoundary = unblockedBoundaries[i];\n null !== inheritedHoistables &&\n hoistHoistables(unblockedBoundary.contentState, inheritedHoistables);\n finishedTask(request, unblockedBoundary, null, null);\n }\n }\n unblockedRow.pendingTasks--;\n if (0 < unblockedRow.pendingTasks) break;\n inheritedHoistables = unblockedRow.hoistables;\n unblockedRow = unblockedRow.next;\n }\n}\nfunction tryToResolveTogetherRow(request, togetherRow) {\n var boundaries = togetherRow.boundaries;\n if (null !== boundaries && togetherRow.pendingTasks === boundaries.length) {\n for (var allCompleteAndInlinable = !0, i = 0; i < boundaries.length; i++) {\n var rowBoundary = boundaries[i];\n if (\n 1 !== rowBoundary.pendingTasks ||\n rowBoundary.parentFlushed ||\n isEligibleForOutlining(request, rowBoundary)\n ) {\n allCompleteAndInlinable = !1;\n break;\n }\n }\n allCompleteAndInlinable &&\n unblockSuspenseListRow(request, togetherRow, togetherRow.hoistables);\n }\n}\nfunction createSuspenseListRow(previousRow) {\n var newRow = {\n pendingTasks: 1,\n boundaries: null,\n hoistables: createHoistableState(),\n inheritedHoistables: null,\n together: !1,\n next: null\n };\n null !== previousRow &&\n 0 < previousRow.pendingTasks &&\n (newRow.pendingTasks++,\n (newRow.boundaries = []),\n (previousRow.next = newRow));\n return newRow;\n}\nfunction renderSuspenseListRows(request, task, keyPath, rows, revealOrder) {\n var prevKeyPath = task.keyPath,\n prevTreeContext = task.treeContext,\n prevRow = task.row;\n task.keyPath = keyPath;\n keyPath = rows.length;\n var previousSuspenseListRow = null;\n if (null !== task.replay) {\n var resumeSlots = task.replay.slots;\n if (null !== resumeSlots && \"object\" === typeof resumeSlots)\n for (var n = 0; n < keyPath; n++) {\n var i =\n \"backwards\" !== revealOrder &&\n \"unstable_legacy-backwards\" !== revealOrder\n ? n\n : keyPath - 1 - n,\n node = rows[i];\n task.row = previousSuspenseListRow = createSuspenseListRow(\n previousSuspenseListRow\n );\n task.treeContext = pushTreeContext(prevTreeContext, keyPath, i);\n var resumeSegmentID = resumeSlots[i];\n \"number\" === typeof resumeSegmentID\n ? (resumeNode(request, task, resumeSegmentID, node, i),\n delete resumeSlots[i])\n : renderNode(request, task, node, i);\n 0 === --previousSuspenseListRow.pendingTasks &&\n finishSuspenseListRow(request, previousSuspenseListRow);\n }\n else\n for (resumeSlots = 0; resumeSlots < keyPath; resumeSlots++)\n (n =\n \"backwards\" !== revealOrder &&\n \"unstable_legacy-backwards\" !== revealOrder\n ? resumeSlots\n : keyPath - 1 - resumeSlots),\n (i = rows[n]),\n (task.row = previousSuspenseListRow =\n createSuspenseListRow(previousSuspenseListRow)),\n (task.treeContext = pushTreeContext(prevTreeContext, keyPath, n)),\n renderNode(request, task, i, n),\n 0 === --previousSuspenseListRow.pendingTasks &&\n finishSuspenseListRow(request, previousSuspenseListRow);\n } else if (\n \"backwards\" !== revealOrder &&\n \"unstable_legacy-backwards\" !== revealOrder\n )\n for (revealOrder = 0; revealOrder < keyPath; revealOrder++)\n (resumeSlots = rows[revealOrder]),\n (task.row = previousSuspenseListRow =\n createSuspenseListRow(previousSuspenseListRow)),\n (task.treeContext = pushTreeContext(\n prevTreeContext,\n keyPath,\n revealOrder\n )),\n renderNode(request, task, resumeSlots, revealOrder),\n 0 === --previousSuspenseListRow.pendingTasks &&\n finishSuspenseListRow(request, previousSuspenseListRow);\n else {\n revealOrder = task.blockedSegment;\n resumeSlots = revealOrder.children.length;\n n = revealOrder.chunks.length;\n for (i = keyPath - 1; 0 <= i; i--) {\n node = rows[i];\n task.row = previousSuspenseListRow = createSuspenseListRow(\n previousSuspenseListRow\n );\n task.treeContext = pushTreeContext(prevTreeContext, keyPath, i);\n resumeSegmentID = createPendingSegment(\n request,\n n,\n null,\n task.formatContext,\n 0 === i ? revealOrder.lastPushedText : !0,\n !0\n );\n revealOrder.children.splice(resumeSlots, 0, resumeSegmentID);\n task.blockedSegment = resumeSegmentID;\n try {\n renderNode(request, task, node, i),\n pushSegmentFinale(\n resumeSegmentID.chunks,\n request.renderState,\n resumeSegmentID.lastPushedText,\n resumeSegmentID.textEmbedded\n ),\n (resumeSegmentID.status = 1),\n 0 === --previousSuspenseListRow.pendingTasks &&\n finishSuspenseListRow(request, previousSuspenseListRow);\n } catch (thrownValue) {\n throw (\n ((resumeSegmentID.status = 12 === request.status ? 3 : 4),\n thrownValue)\n );\n }\n }\n task.blockedSegment = revealOrder;\n revealOrder.lastPushedText = !1;\n }\n null !== prevRow &&\n null !== previousSuspenseListRow &&\n 0 < previousSuspenseListRow.pendingTasks &&\n (prevRow.pendingTasks++, (previousSuspenseListRow.next = prevRow));\n task.treeContext = prevTreeContext;\n task.row = prevRow;\n task.keyPath = prevKeyPath;\n}\nfunction renderWithHooks(request, task, keyPath, Component, props, secondArg) {\n var prevThenableState = task.thenableState;\n task.thenableState = null;\n currentlyRenderingComponent = {};\n currentlyRenderingTask = task;\n currentlyRenderingRequest = request;\n currentlyRenderingKeyPath = keyPath;\n actionStateCounter = localIdCounter = 0;\n actionStateMatchingIndex = -1;\n thenableIndexCounter = 0;\n thenableState = prevThenableState;\n for (request = Component(props, secondArg); didScheduleRenderPhaseUpdate; )\n (didScheduleRenderPhaseUpdate = !1),\n (actionStateCounter = localIdCounter = 0),\n (actionStateMatchingIndex = -1),\n (thenableIndexCounter = 0),\n (numberOfReRenders += 1),\n (workInProgressHook = null),\n (request = Component(props, secondArg));\n resetHooksState();\n return request;\n}\nfunction finishFunctionComponent(\n request,\n task,\n keyPath,\n children,\n hasId,\n actionStateCount,\n actionStateMatchingIndex\n) {\n var didEmitActionStateMarkers = !1;\n if (0 !== actionStateCount && null !== request.formState) {\n var segment = task.blockedSegment;\n if (null !== segment) {\n didEmitActionStateMarkers = !0;\n segment = segment.chunks;\n for (var i = 0; i < actionStateCount; i++)\n i === actionStateMatchingIndex\n ? segment.push(\"\\x3c!--F!--\\x3e\")\n : segment.push(\"\\x3c!--F--\\x3e\");\n }\n }\n actionStateCount = task.keyPath;\n task.keyPath = keyPath;\n hasId\n ? ((keyPath = task.treeContext),\n (task.treeContext = pushTreeContext(keyPath, 1, 0)),\n renderNode(request, task, children, -1),\n (task.treeContext = keyPath))\n : didEmitActionStateMarkers\n ? renderNode(request, task, children, -1)\n : renderNodeDestructive(request, task, children, -1);\n task.keyPath = actionStateCount;\n}\nfunction renderElement(request, task, keyPath, type, props, ref) {\n if (\"function\" === typeof type)\n if (type.prototype && type.prototype.isReactComponent) {\n var newProps = props;\n if (\"ref\" in props) {\n newProps = {};\n for (var propName in props)\n \"ref\" !== propName && (newProps[propName] = props[propName]);\n }\n var defaultProps = type.defaultProps;\n if (defaultProps) {\n newProps === props && (newProps = assign({}, newProps, props));\n for (var propName$43 in defaultProps)\n void 0 === newProps[propName$43] &&\n (newProps[propName$43] = defaultProps[propName$43]);\n }\n props = newProps;\n newProps = emptyContextObject;\n defaultProps = type.contextType;\n \"object\" === typeof defaultProps &&\n null !== defaultProps &&\n (newProps = defaultProps._currentValue2);\n newProps = new type(props, newProps);\n var initialState = void 0 !== newProps.state ? newProps.state : null;\n newProps.updater = classComponentUpdater;\n newProps.props = props;\n newProps.state = initialState;\n defaultProps = { queue: [], replace: !1 };\n newProps._reactInternals = defaultProps;\n ref = type.contextType;\n newProps.context =\n \"object\" === typeof ref && null !== ref\n ? ref._currentValue2\n : emptyContextObject;\n ref = type.getDerivedStateFromProps;\n \"function\" === typeof ref &&\n ((ref = ref(props, initialState)),\n (initialState =\n null === ref || void 0 === ref\n ? initialState\n : assign({}, initialState, ref)),\n (newProps.state = initialState));\n if (\n \"function\" !== typeof type.getDerivedStateFromProps &&\n \"function\" !== typeof newProps.getSnapshotBeforeUpdate &&\n (\"function\" === typeof newProps.UNSAFE_componentWillMount ||\n \"function\" === typeof newProps.componentWillMount)\n )\n if (\n ((type = newProps.state),\n \"function\" === typeof newProps.componentWillMount &&\n newProps.componentWillMount(),\n \"function\" === typeof newProps.UNSAFE_componentWillMount &&\n newProps.UNSAFE_componentWillMount(),\n type !== newProps.state &&\n classComponentUpdater.enqueueReplaceState(\n newProps,\n newProps.state,\n null\n ),\n null !== defaultProps.queue && 0 < defaultProps.queue.length)\n )\n if (\n ((type = defaultProps.queue),\n (ref = defaultProps.replace),\n (defaultProps.queue = null),\n (defaultProps.replace = !1),\n ref && 1 === type.length)\n )\n newProps.state = type[0];\n else {\n defaultProps = ref ? type[0] : newProps.state;\n initialState = !0;\n for (ref = ref ? 1 : 0; ref < type.length; ref++)\n (propName$43 = type[ref]),\n (propName$43 =\n \"function\" === typeof propName$43\n ? propName$43.call(newProps, defaultProps, props, void 0)\n : propName$43),\n null != propName$43 &&\n (initialState\n ? ((initialState = !1),\n (defaultProps = assign({}, defaultProps, propName$43)))\n : assign(defaultProps, propName$43));\n newProps.state = defaultProps;\n }\n else defaultProps.queue = null;\n type = newProps.render();\n if (12 === request.status) throw null;\n props = task.keyPath;\n task.keyPath = keyPath;\n renderNodeDestructive(request, task, type, -1);\n task.keyPath = props;\n } else {\n type = renderWithHooks(request, task, keyPath, type, props, void 0);\n if (12 === request.status) throw null;\n finishFunctionComponent(\n request,\n task,\n keyPath,\n type,\n 0 !== localIdCounter,\n actionStateCounter,\n actionStateMatchingIndex\n );\n }\n else if (\"string\" === typeof type)\n if (((newProps = task.blockedSegment), null === newProps))\n (newProps = props.children),\n (defaultProps = task.formatContext),\n (initialState = task.keyPath),\n (task.formatContext = getChildFormatContext(defaultProps, type, props)),\n (task.keyPath = keyPath),\n renderNode(request, task, newProps, -1),\n (task.formatContext = defaultProps),\n (task.keyPath = initialState);\n else {\n initialState = pushStartInstance(\n newProps.chunks,\n type,\n props,\n request.resumableState,\n request.renderState,\n task.blockedPreamble,\n task.hoistableState,\n task.formatContext,\n newProps.lastPushedText\n );\n newProps.lastPushedText = !1;\n defaultProps = task.formatContext;\n ref = task.keyPath;\n task.keyPath = keyPath;\n if (\n 3 ===\n (task.formatContext = getChildFormatContext(defaultProps, type, props))\n .insertionMode\n ) {\n keyPath = createPendingSegment(\n request,\n 0,\n null,\n task.formatContext,\n !1,\n !1\n );\n newProps.preambleChildren.push(keyPath);\n task.blockedSegment = keyPath;\n try {\n (keyPath.status = 6),\n renderNode(request, task, initialState, -1),\n pushSegmentFinale(\n keyPath.chunks,\n request.renderState,\n keyPath.lastPushedText,\n keyPath.textEmbedded\n ),\n (keyPath.status = 1);\n } finally {\n task.blockedSegment = newProps;\n }\n } else renderNode(request, task, initialState, -1);\n task.formatContext = defaultProps;\n task.keyPath = ref;\n a: {\n task = newProps.chunks;\n request = request.resumableState;\n switch (type) {\n case \"title\":\n case \"style\":\n case \"script\":\n case \"area\":\n case \"base\":\n case \"br\":\n case \"col\":\n case \"embed\":\n case \"hr\":\n case \"img\":\n case \"input\":\n case \"keygen\":\n case \"link\":\n case \"meta\":\n case \"param\":\n case \"source\":\n case \"track\":\n case \"wbr\":\n break a;\n case \"body\":\n if (1 >= defaultProps.insertionMode) {\n request.hasBody = !0;\n break a;\n }\n break;\n case \"html\":\n if (0 === defaultProps.insertionMode) {\n request.hasHtml = !0;\n break a;\n }\n break;\n case \"head\":\n if (1 >= defaultProps.insertionMode) break a;\n }\n task.push(endChunkForTag(type));\n }\n newProps.lastPushedText = !1;\n }\n else {\n switch (type) {\n case REACT_LEGACY_HIDDEN_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_FRAGMENT_TYPE:\n type = task.keyPath;\n task.keyPath = keyPath;\n renderNodeDestructive(request, task, props.children, -1);\n task.keyPath = type;\n return;\n case REACT_ACTIVITY_TYPE:\n type = task.blockedSegment;\n null === type\n ? \"hidden\" !== props.mode &&\n ((type = task.keyPath),\n (task.keyPath = keyPath),\n renderNode(request, task, props.children, -1),\n (task.keyPath = type))\n : \"hidden\" !== props.mode &&\n (request.renderState.generateStaticMarkup ||\n type.chunks.push(\"\\x3c!--&--\\x3e\"),\n (type.lastPushedText = !1),\n (newProps = task.keyPath),\n (task.keyPath = keyPath),\n renderNode(request, task, props.children, -1),\n (task.keyPath = newProps),\n request.renderState.generateStaticMarkup ||\n type.chunks.push(\"\\x3c!--/&--\\x3e\"),\n (type.lastPushedText = !1));\n return;\n case REACT_SUSPENSE_LIST_TYPE:\n a: {\n type = props.children;\n props = props.revealOrder;\n if (\n \"forwards\" === props ||\n \"backwards\" === props ||\n \"unstable_legacy-backwards\" === props\n ) {\n if (isArrayImpl(type)) {\n renderSuspenseListRows(request, task, keyPath, type, props);\n break a;\n }\n if ((newProps = getIteratorFn(type)))\n if ((newProps = newProps.call(type))) {\n defaultProps = newProps.next();\n if (!defaultProps.done) {\n do defaultProps = newProps.next();\n while (!defaultProps.done);\n renderSuspenseListRows(request, task, keyPath, type, props);\n }\n break a;\n }\n }\n \"together\" === props\n ? ((props = task.keyPath),\n (newProps = task.row),\n (defaultProps = task.row = createSuspenseListRow(null)),\n (defaultProps.boundaries = []),\n (defaultProps.together = !0),\n (task.keyPath = keyPath),\n renderNodeDestructive(request, task, type, -1),\n 0 === --defaultProps.pendingTasks &&\n finishSuspenseListRow(request, defaultProps),\n (task.keyPath = props),\n (task.row = newProps),\n null !== newProps &&\n 0 < defaultProps.pendingTasks &&\n (newProps.pendingTasks++, (defaultProps.next = newProps)))\n : ((props = task.keyPath),\n (task.keyPath = keyPath),\n renderNodeDestructive(request, task, type, -1),\n (task.keyPath = props));\n }\n return;\n case REACT_VIEW_TRANSITION_TYPE:\n case REACT_SCOPE_TYPE:\n throw Error(formatProdErrorMessage(343));\n case REACT_SUSPENSE_TYPE:\n a: if (null !== task.replay) {\n type = task.keyPath;\n newProps = task.formatContext;\n defaultProps = task.row;\n task.keyPath = keyPath;\n task.formatContext = getSuspenseContentFormatContext(\n request.resumableState,\n newProps\n );\n task.row = null;\n keyPath = props.children;\n try {\n renderNode(request, task, keyPath, -1);\n } finally {\n (task.keyPath = type),\n (task.formatContext = newProps),\n (task.row = defaultProps);\n }\n } else {\n type = task.keyPath;\n ref = task.formatContext;\n var prevRow = task.row,\n parentBoundary = task.blockedBoundary;\n propName$43 = task.blockedPreamble;\n var parentHoistableState = task.hoistableState;\n propName = task.blockedSegment;\n var fallback = props.fallback;\n props = props.children;\n var fallbackAbortSet = new Set();\n var newBoundary = createSuspenseBoundary(\n request,\n task.row,\n fallbackAbortSet,\n null,\n null\n );\n null !== request.trackedPostpones &&\n (newBoundary.trackedContentKeyPath = keyPath);\n var boundarySegment = createPendingSegment(\n request,\n propName.chunks.length,\n newBoundary,\n task.formatContext,\n !1,\n !1\n );\n propName.children.push(boundarySegment);\n propName.lastPushedText = !1;\n var contentRootSegment = createPendingSegment(\n request,\n 0,\n null,\n task.formatContext,\n !1,\n !1\n );\n contentRootSegment.parentFlushed = !0;\n if (null !== request.trackedPostpones) {\n newProps = task.componentStack;\n defaultProps = [keyPath[0], \"Suspense Fallback\", keyPath[2]];\n initialState = [defaultProps[1], defaultProps[2], [], null];\n request.trackedPostpones.workingMap.set(defaultProps, initialState);\n newBoundary.trackedFallbackNode = initialState;\n task.blockedSegment = boundarySegment;\n task.blockedPreamble = newBoundary.fallbackPreamble;\n task.keyPath = defaultProps;\n task.formatContext = getSuspenseFallbackFormatContext(\n request.resumableState,\n ref\n );\n task.componentStack =\n replaceSuspenseComponentStackWithSuspenseFallbackStack(newProps);\n boundarySegment.status = 6;\n try {\n renderNode(request, task, fallback, -1),\n pushSegmentFinale(\n boundarySegment.chunks,\n request.renderState,\n boundarySegment.lastPushedText,\n boundarySegment.textEmbedded\n ),\n (boundarySegment.status = 1);\n } catch (thrownValue) {\n throw (\n ((boundarySegment.status = 12 === request.status ? 3 : 4),\n thrownValue)\n );\n } finally {\n (task.blockedSegment = propName),\n (task.blockedPreamble = propName$43),\n (task.keyPath = type),\n (task.formatContext = ref);\n }\n task = createRenderTask(\n request,\n null,\n props,\n -1,\n newBoundary,\n contentRootSegment,\n newBoundary.contentPreamble,\n newBoundary.contentState,\n task.abortSet,\n keyPath,\n getSuspenseContentFormatContext(\n request.resumableState,\n task.formatContext\n ),\n task.context,\n task.treeContext,\n null,\n newProps\n );\n pushComponentStack(task);\n request.pingedTasks.push(task);\n } else {\n task.blockedBoundary = newBoundary;\n task.blockedPreamble = newBoundary.contentPreamble;\n task.hoistableState = newBoundary.contentState;\n task.blockedSegment = contentRootSegment;\n task.keyPath = keyPath;\n task.formatContext = getSuspenseContentFormatContext(\n request.resumableState,\n ref\n );\n task.row = null;\n contentRootSegment.status = 6;\n try {\n if (\n (renderNode(request, task, props, -1),\n pushSegmentFinale(\n contentRootSegment.chunks,\n request.renderState,\n contentRootSegment.lastPushedText,\n contentRootSegment.textEmbedded\n ),\n (contentRootSegment.status = 1),\n queueCompletedSegment(newBoundary, contentRootSegment),\n 0 === newBoundary.pendingTasks && 0 === newBoundary.status)\n ) {\n if (\n ((newBoundary.status = 1),\n !isEligibleForOutlining(request, newBoundary))\n ) {\n null !== prevRow &&\n 0 === --prevRow.pendingTasks &&\n finishSuspenseListRow(request, prevRow);\n 0 === request.pendingRootTasks &&\n task.blockedPreamble &&\n preparePreamble(request);\n break a;\n }\n } else\n null !== prevRow &&\n prevRow.together &&\n tryToResolveTogetherRow(request, prevRow);\n } catch (thrownValue$30) {\n (newBoundary.status = 4),\n 12 === request.status\n ? ((contentRootSegment.status = 3),\n (newProps = request.fatalError))\n : ((contentRootSegment.status = 4),\n (newProps = thrownValue$30)),\n (defaultProps = getThrownInfo(task.componentStack)),\n (initialState = logRecoverableError(\n request,\n newProps,\n defaultProps\n )),\n (newBoundary.errorDigest = initialState),\n untrackBoundary(request, newBoundary);\n } finally {\n (task.blockedBoundary = parentBoundary),\n (task.blockedPreamble = propName$43),\n (task.hoistableState = parentHoistableState),\n (task.blockedSegment = propName),\n (task.keyPath = type),\n (task.formatContext = ref),\n (task.row = prevRow);\n }\n task = createRenderTask(\n request,\n null,\n fallback,\n -1,\n parentBoundary,\n boundarySegment,\n newBoundary.fallbackPreamble,\n newBoundary.fallbackState,\n fallbackAbortSet,\n [keyPath[0], \"Suspense Fallback\", keyPath[2]],\n getSuspenseFallbackFormatContext(\n request.resumableState,\n task.formatContext\n ),\n task.context,\n task.treeContext,\n task.row,\n replaceSuspenseComponentStackWithSuspenseFallbackStack(\n task.componentStack\n )\n );\n pushComponentStack(task);\n request.pingedTasks.push(task);\n }\n }\n return;\n }\n if (\"object\" === typeof type && null !== type)\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n if (\"ref\" in props)\n for (fallback in ((newProps = {}), props))\n \"ref\" !== fallback && (newProps[fallback] = props[fallback]);\n else newProps = props;\n type = renderWithHooks(\n request,\n task,\n keyPath,\n type.render,\n newProps,\n ref\n );\n finishFunctionComponent(\n request,\n task,\n keyPath,\n type,\n 0 !== localIdCounter,\n actionStateCounter,\n actionStateMatchingIndex\n );\n return;\n case REACT_MEMO_TYPE:\n renderElement(request, task, keyPath, type.type, props, ref);\n return;\n case REACT_CONTEXT_TYPE:\n defaultProps = props.children;\n newProps = task.keyPath;\n props = props.value;\n initialState = type._currentValue2;\n type._currentValue2 = props;\n ref = currentActiveSnapshot;\n currentActiveSnapshot = type = {\n parent: ref,\n depth: null === ref ? 0 : ref.depth + 1,\n context: type,\n parentValue: initialState,\n value: props\n };\n task.context = type;\n task.keyPath = keyPath;\n renderNodeDestructive(request, task, defaultProps, -1);\n request = currentActiveSnapshot;\n if (null === request) throw Error(formatProdErrorMessage(403));\n request.context._currentValue2 = request.parentValue;\n request = currentActiveSnapshot = request.parent;\n task.context = request;\n task.keyPath = newProps;\n return;\n case REACT_CONSUMER_TYPE:\n props = props.children;\n type = props(type._context._currentValue2);\n props = task.keyPath;\n task.keyPath = keyPath;\n renderNodeDestructive(request, task, type, -1);\n task.keyPath = props;\n return;\n case REACT_LAZY_TYPE:\n newProps = type._init;\n type = newProps(type._payload);\n if (12 === request.status) throw null;\n renderElement(request, task, keyPath, type, props, ref);\n return;\n }\n throw Error(\n formatProdErrorMessage(130, null == type ? type : typeof type, \"\")\n );\n }\n}\nfunction resumeNode(request, task, segmentId, node, childIndex) {\n var prevReplay = task.replay,\n blockedBoundary = task.blockedBoundary,\n resumedSegment = createPendingSegment(\n request,\n 0,\n null,\n task.formatContext,\n !1,\n !1\n );\n resumedSegment.id = segmentId;\n resumedSegment.parentFlushed = !0;\n try {\n (task.replay = null),\n (task.blockedSegment = resumedSegment),\n renderNode(request, task, node, childIndex),\n (resumedSegment.status = 1),\n null === blockedBoundary\n ? (request.completedRootSegment = resumedSegment)\n : (queueCompletedSegment(blockedBoundary, resumedSegment),\n blockedBoundary.parentFlushed &&\n request.partialBoundaries.push(blockedBoundary));\n } finally {\n (task.replay = prevReplay), (task.blockedSegment = null);\n }\n}\nfunction renderNodeDestructive(request, task, node, childIndex) {\n null !== task.replay && \"number\" === typeof task.replay.slots\n ? resumeNode(request, task, task.replay.slots, node, childIndex)\n : ((task.node = node),\n (task.childIndex = childIndex),\n (node = task.componentStack),\n pushComponentStack(task),\n retryNode(request, task),\n (task.componentStack = node));\n}\nfunction retryNode(request, task) {\n var node = task.node,\n childIndex = task.childIndex;\n if (null !== node) {\n if (\"object\" === typeof node) {\n switch (node.$$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = node.type,\n key = node.key,\n props = node.props;\n node = props.ref;\n var ref = void 0 !== node ? node : null,\n name = getComponentNameFromType(type),\n keyOrIndex =\n null == key ? (-1 === childIndex ? 0 : childIndex) : key;\n key = [task.keyPath, name, keyOrIndex];\n if (null !== task.replay)\n a: {\n var replay = task.replay;\n childIndex = replay.nodes;\n for (node = 0; node < childIndex.length; node++) {\n var node$jscomp$0 = childIndex[node];\n if (keyOrIndex === node$jscomp$0[1]) {\n if (4 === node$jscomp$0.length) {\n if (null !== name && name !== node$jscomp$0[0])\n throw Error(\n formatProdErrorMessage(490, node$jscomp$0[0], name)\n );\n var childNodes = node$jscomp$0[2];\n name = node$jscomp$0[3];\n keyOrIndex = task.node;\n task.replay = {\n nodes: childNodes,\n slots: name,\n pendingTasks: 1\n };\n try {\n renderElement(request, task, key, type, props, ref);\n if (\n 1 === task.replay.pendingTasks &&\n 0 < task.replay.nodes.length\n )\n throw Error(formatProdErrorMessage(488));\n task.replay.pendingTasks--;\n } catch (x) {\n if (\n \"object\" === typeof x &&\n null !== x &&\n (x === SuspenseException ||\n \"function\" === typeof x.then)\n )\n throw (\n (task.node === keyOrIndex\n ? (task.replay = replay)\n : childIndex.splice(node, 1),\n x)\n );\n task.replay.pendingTasks--;\n props = getThrownInfo(task.componentStack);\n key = request;\n request = task.blockedBoundary;\n type = x;\n props = logRecoverableError(key, type, props);\n abortRemainingReplayNodes(\n key,\n request,\n childNodes,\n name,\n type,\n props\n );\n }\n task.replay = replay;\n } else {\n if (type !== REACT_SUSPENSE_TYPE)\n throw Error(\n formatProdErrorMessage(\n 490,\n \"Suspense\",\n getComponentNameFromType(type) || \"Unknown\"\n )\n );\n b: {\n replay = void 0;\n type = node$jscomp$0[5];\n ref = node$jscomp$0[2];\n name = node$jscomp$0[3];\n keyOrIndex =\n null === node$jscomp$0[4] ? [] : node$jscomp$0[4][2];\n node$jscomp$0 =\n null === node$jscomp$0[4] ? null : node$jscomp$0[4][3];\n var prevKeyPath = task.keyPath,\n prevContext = task.formatContext,\n prevRow = task.row,\n previousReplaySet = task.replay,\n parentBoundary = task.blockedBoundary,\n parentHoistableState = task.hoistableState,\n content = props.children,\n fallback = props.fallback,\n fallbackAbortSet = new Set();\n props = createSuspenseBoundary(\n request,\n task.row,\n fallbackAbortSet,\n null,\n null\n );\n props.parentFlushed = !0;\n props.rootSegmentID = type;\n task.blockedBoundary = props;\n task.hoistableState = props.contentState;\n task.keyPath = key;\n task.formatContext = getSuspenseContentFormatContext(\n request.resumableState,\n prevContext\n );\n task.row = null;\n task.replay = {\n nodes: ref,\n slots: name,\n pendingTasks: 1\n };\n try {\n renderNode(request, task, content, -1);\n if (\n 1 === task.replay.pendingTasks &&\n 0 < task.replay.nodes.length\n )\n throw Error(formatProdErrorMessage(488));\n task.replay.pendingTasks--;\n if (0 === props.pendingTasks && 0 === props.status) {\n props.status = 1;\n request.completedBoundaries.push(props);\n break b;\n }\n } catch (error) {\n (props.status = 4),\n (childNodes = getThrownInfo(task.componentStack)),\n (replay = logRecoverableError(\n request,\n error,\n childNodes\n )),\n (props.errorDigest = replay),\n task.replay.pendingTasks--,\n request.clientRenderedBoundaries.push(props);\n } finally {\n (task.blockedBoundary = parentBoundary),\n (task.hoistableState = parentHoistableState),\n (task.replay = previousReplaySet),\n (task.keyPath = prevKeyPath),\n (task.formatContext = prevContext),\n (task.row = prevRow);\n }\n childNodes = createReplayTask(\n request,\n null,\n {\n nodes: keyOrIndex,\n slots: node$jscomp$0,\n pendingTasks: 0\n },\n fallback,\n -1,\n parentBoundary,\n props.fallbackState,\n fallbackAbortSet,\n [key[0], \"Suspense Fallback\", key[2]],\n getSuspenseFallbackFormatContext(\n request.resumableState,\n task.formatContext\n ),\n task.context,\n task.treeContext,\n task.row,\n replaceSuspenseComponentStackWithSuspenseFallbackStack(\n task.componentStack\n )\n );\n pushComponentStack(childNodes);\n request.pingedTasks.push(childNodes);\n }\n }\n childIndex.splice(node, 1);\n break a;\n }\n }\n }\n else renderElement(request, task, key, type, props, ref);\n return;\n case REACT_PORTAL_TYPE:\n throw Error(formatProdErrorMessage(257));\n case REACT_LAZY_TYPE:\n childNodes = node._init;\n node = childNodes(node._payload);\n if (12 === request.status) throw null;\n renderNodeDestructive(request, task, node, childIndex);\n return;\n }\n if (isArrayImpl(node)) {\n renderChildrenArray(request, task, node, childIndex);\n return;\n }\n if ((childNodes = getIteratorFn(node)))\n if ((childNodes = childNodes.call(node))) {\n node = childNodes.next();\n if (!node.done) {\n props = [];\n do props.push(node.value), (node = childNodes.next());\n while (!node.done);\n renderChildrenArray(request, task, props, childIndex);\n }\n return;\n }\n if (\"function\" === typeof node.then)\n return (\n (task.thenableState = null),\n renderNodeDestructive(request, task, unwrapThenable(node), childIndex)\n );\n if (node.$$typeof === REACT_CONTEXT_TYPE)\n return renderNodeDestructive(\n request,\n task,\n node._currentValue2,\n childIndex\n );\n childIndex = Object.prototype.toString.call(node);\n throw Error(\n formatProdErrorMessage(\n 31,\n \"[object Object]\" === childIndex\n ? \"object with keys {\" + Object.keys(node).join(\", \") + \"}\"\n : childIndex\n )\n );\n }\n if (\"string\" === typeof node)\n (childIndex = task.blockedSegment),\n null !== childIndex &&\n (childIndex.lastPushedText = pushTextInstance(\n childIndex.chunks,\n node,\n request.renderState,\n childIndex.lastPushedText\n ));\n else if (\"number\" === typeof node || \"bigint\" === typeof node)\n (childIndex = task.blockedSegment),\n null !== childIndex &&\n (childIndex.lastPushedText = pushTextInstance(\n childIndex.chunks,\n \"\" + node,\n request.renderState,\n childIndex.lastPushedText\n ));\n }\n}\nfunction renderChildrenArray(request, task, children, childIndex) {\n var prevKeyPath = task.keyPath;\n if (\n -1 !== childIndex &&\n ((task.keyPath = [task.keyPath, \"Fragment\", childIndex]),\n null !== task.replay)\n ) {\n for (\n var replay = task.replay, replayNodes = replay.nodes, j = 0;\n j < replayNodes.length;\n j++\n ) {\n var node = replayNodes[j];\n if (node[1] === childIndex) {\n childIndex = node[2];\n node = node[3];\n task.replay = { nodes: childIndex, slots: node, pendingTasks: 1 };\n try {\n renderChildrenArray(request, task, children, -1);\n if (1 === task.replay.pendingTasks && 0 < task.replay.nodes.length)\n throw Error(formatProdErrorMessage(488));\n task.replay.pendingTasks--;\n } catch (x) {\n if (\n \"object\" === typeof x &&\n null !== x &&\n (x === SuspenseException || \"function\" === typeof x.then)\n )\n throw x;\n task.replay.pendingTasks--;\n children = getThrownInfo(task.componentStack);\n var boundary = task.blockedBoundary,\n error = x;\n children = logRecoverableError(request, error, children);\n abortRemainingReplayNodes(\n request,\n boundary,\n childIndex,\n node,\n error,\n children\n );\n }\n task.replay = replay;\n replayNodes.splice(j, 1);\n break;\n }\n }\n task.keyPath = prevKeyPath;\n return;\n }\n replay = task.treeContext;\n replayNodes = children.length;\n if (\n null !== task.replay &&\n ((j = task.replay.slots), null !== j && \"object\" === typeof j)\n ) {\n for (childIndex = 0; childIndex < replayNodes; childIndex++)\n (node = children[childIndex]),\n (task.treeContext = pushTreeContext(replay, replayNodes, childIndex)),\n (boundary = j[childIndex]),\n \"number\" === typeof boundary\n ? (resumeNode(request, task, boundary, node, childIndex),\n delete j[childIndex])\n : renderNode(request, task, node, childIndex);\n task.treeContext = replay;\n task.keyPath = prevKeyPath;\n return;\n }\n for (j = 0; j < replayNodes; j++)\n (childIndex = children[j]),\n (task.treeContext = pushTreeContext(replay, replayNodes, j)),\n renderNode(request, task, childIndex, j);\n task.treeContext = replay;\n task.keyPath = prevKeyPath;\n}\nfunction trackPostponedBoundary(request, trackedPostpones, boundary) {\n boundary.status = 5;\n boundary.rootSegmentID = request.nextSegmentId++;\n request = boundary.trackedContentKeyPath;\n if (null === request) throw Error(formatProdErrorMessage(486));\n var fallbackReplayNode = boundary.trackedFallbackNode,\n children = [],\n boundaryNode = trackedPostpones.workingMap.get(request);\n if (void 0 === boundaryNode)\n return (\n (boundary = [\n request[1],\n request[2],\n children,\n null,\n fallbackReplayNode,\n boundary.rootSegmentID\n ]),\n trackedPostpones.workingMap.set(request, boundary),\n addToReplayParent(boundary, request[0], trackedPostpones),\n boundary\n );\n boundaryNode[4] = fallbackReplayNode;\n boundaryNode[5] = boundary.rootSegmentID;\n return boundaryNode;\n}\nfunction trackPostpone(request, trackedPostpones, task, segment) {\n segment.status = 5;\n var keyPath = task.keyPath,\n boundary = task.blockedBoundary;\n if (null === boundary)\n (segment.id = request.nextSegmentId++),\n (trackedPostpones.rootSlots = segment.id),\n null !== request.completedRootSegment &&\n (request.completedRootSegment.status = 5);\n else {\n if (null !== boundary && 0 === boundary.status) {\n var boundaryNode = trackPostponedBoundary(\n request,\n trackedPostpones,\n boundary\n );\n if (\n boundary.trackedContentKeyPath === keyPath &&\n -1 === task.childIndex\n ) {\n -1 === segment.id &&\n (segment.id = segment.parentFlushed\n ? boundary.rootSegmentID\n : request.nextSegmentId++);\n boundaryNode[3] = segment.id;\n return;\n }\n }\n -1 === segment.id &&\n (segment.id =\n segment.parentFlushed && null !== boundary\n ? boundary.rootSegmentID\n : request.nextSegmentId++);\n if (-1 === task.childIndex)\n null === keyPath\n ? (trackedPostpones.rootSlots = segment.id)\n : ((task = trackedPostpones.workingMap.get(keyPath)),\n void 0 === task\n ? ((task = [keyPath[1], keyPath[2], [], segment.id]),\n addToReplayParent(task, keyPath[0], trackedPostpones))\n : (task[3] = segment.id));\n else {\n if (null === keyPath)\n if (((request = trackedPostpones.rootSlots), null === request))\n request = trackedPostpones.rootSlots = {};\n else {\n if (\"number\" === typeof request)\n throw Error(formatProdErrorMessage(491));\n }\n else if (\n ((boundary = trackedPostpones.workingMap),\n (boundaryNode = boundary.get(keyPath)),\n void 0 === boundaryNode)\n )\n (request = {}),\n (boundaryNode = [keyPath[1], keyPath[2], [], request]),\n boundary.set(keyPath, boundaryNode),\n addToReplayParent(boundaryNode, keyPath[0], trackedPostpones);\n else if (((request = boundaryNode[3]), null === request))\n request = boundaryNode[3] = {};\n else if (\"number\" === typeof request)\n throw Error(formatProdErrorMessage(491));\n request[task.childIndex] = segment.id;\n }\n }\n}\nfunction untrackBoundary(request, boundary) {\n request = request.trackedPostpones;\n null !== request &&\n ((boundary = boundary.trackedContentKeyPath),\n null !== boundary &&\n ((boundary = request.workingMap.get(boundary)),\n void 0 !== boundary &&\n ((boundary.length = 4), (boundary[2] = []), (boundary[3] = null))));\n}\nfunction spawnNewSuspendedReplayTask(request, task, thenableState) {\n return createReplayTask(\n request,\n thenableState,\n task.replay,\n task.node,\n task.childIndex,\n task.blockedBoundary,\n task.hoistableState,\n task.abortSet,\n task.keyPath,\n task.formatContext,\n task.context,\n task.treeContext,\n task.row,\n task.componentStack\n );\n}\nfunction spawnNewSuspendedRenderTask(request, task, thenableState) {\n var segment = task.blockedSegment,\n newSegment = createPendingSegment(\n request,\n segment.chunks.length,\n null,\n task.formatContext,\n segment.lastPushedText,\n !0\n );\n segment.children.push(newSegment);\n segment.lastPushedText = !1;\n return createRenderTask(\n request,\n thenableState,\n task.node,\n task.childIndex,\n task.blockedBoundary,\n newSegment,\n task.blockedPreamble,\n task.hoistableState,\n task.abortSet,\n task.keyPath,\n task.formatContext,\n task.context,\n task.treeContext,\n task.row,\n task.componentStack\n );\n}\nfunction renderNode(request, task, node, childIndex) {\n var previousFormatContext = task.formatContext,\n previousContext = task.context,\n previousKeyPath = task.keyPath,\n previousTreeContext = task.treeContext,\n previousComponentStack = task.componentStack,\n segment = task.blockedSegment;\n if (null === segment) {\n segment = task.replay;\n try {\n return renderNodeDestructive(request, task, node, childIndex);\n } catch (thrownValue) {\n if (\n (resetHooksState(),\n (node =\n thrownValue === SuspenseException\n ? getSuspendedThenable()\n : thrownValue),\n 12 !== request.status && \"object\" === typeof node && null !== node)\n ) {\n if (\"function\" === typeof node.then) {\n childIndex =\n thrownValue === SuspenseException\n ? getThenableStateAfterSuspending()\n : null;\n request = spawnNewSuspendedReplayTask(request, task, childIndex).ping;\n node.then(request, request);\n task.formatContext = previousFormatContext;\n task.context = previousContext;\n task.keyPath = previousKeyPath;\n task.treeContext = previousTreeContext;\n task.componentStack = previousComponentStack;\n task.replay = segment;\n switchContext(previousContext);\n return;\n }\n if (\"Maximum call stack size exceeded\" === node.message) {\n node =\n thrownValue === SuspenseException\n ? getThenableStateAfterSuspending()\n : null;\n node = spawnNewSuspendedReplayTask(request, task, node);\n request.pingedTasks.push(node);\n task.formatContext = previousFormatContext;\n task.context = previousContext;\n task.keyPath = previousKeyPath;\n task.treeContext = previousTreeContext;\n task.componentStack = previousComponentStack;\n task.replay = segment;\n switchContext(previousContext);\n return;\n }\n }\n }\n } else {\n var childrenLength = segment.children.length,\n chunkLength = segment.chunks.length;\n try {\n return renderNodeDestructive(request, task, node, childIndex);\n } catch (thrownValue$62) {\n if (\n (resetHooksState(),\n (segment.children.length = childrenLength),\n (segment.chunks.length = chunkLength),\n (node =\n thrownValue$62 === SuspenseException\n ? getSuspendedThenable()\n : thrownValue$62),\n 12 !== request.status && \"object\" === typeof node && null !== node)\n ) {\n if (\"function\" === typeof node.then) {\n segment = node;\n node =\n thrownValue$62 === SuspenseException\n ? getThenableStateAfterSuspending()\n : null;\n request = spawnNewSuspendedRenderTask(request, task, node).ping;\n segment.then(request, request);\n task.formatContext = previousFormatContext;\n task.context = previousContext;\n task.keyPath = previousKeyPath;\n task.treeContext = previousTreeContext;\n task.componentStack = previousComponentStack;\n switchContext(previousContext);\n return;\n }\n if (\"Maximum call stack size exceeded\" === node.message) {\n segment =\n thrownValue$62 === SuspenseException\n ? getThenableStateAfterSuspending()\n : null;\n segment = spawnNewSuspendedRenderTask(request, task, segment);\n request.pingedTasks.push(segment);\n task.formatContext = previousFormatContext;\n task.context = previousContext;\n task.keyPath = previousKeyPath;\n task.treeContext = previousTreeContext;\n task.componentStack = previousComponentStack;\n switchContext(previousContext);\n return;\n }\n }\n }\n }\n task.formatContext = previousFormatContext;\n task.context = previousContext;\n task.keyPath = previousKeyPath;\n task.treeContext = previousTreeContext;\n switchContext(previousContext);\n throw node;\n}\nfunction abortTaskSoft(task) {\n var boundary = task.blockedBoundary,\n segment = task.blockedSegment;\n null !== segment &&\n ((segment.status = 3), finishedTask(this, boundary, task.row, segment));\n}\nfunction abortRemainingReplayNodes(\n request$jscomp$0,\n boundary,\n nodes,\n slots,\n error,\n errorDigest$jscomp$0\n) {\n for (var i = 0; i < nodes.length; i++) {\n var node = nodes[i];\n if (4 === node.length)\n abortRemainingReplayNodes(\n request$jscomp$0,\n boundary,\n node[2],\n node[3],\n error,\n errorDigest$jscomp$0\n );\n else {\n node = node[5];\n var request = request$jscomp$0,\n errorDigest = errorDigest$jscomp$0,\n resumedBoundary = createSuspenseBoundary(\n request,\n null,\n new Set(),\n null,\n null\n );\n resumedBoundary.parentFlushed = !0;\n resumedBoundary.rootSegmentID = node;\n resumedBoundary.status = 4;\n resumedBoundary.errorDigest = errorDigest;\n resumedBoundary.parentFlushed &&\n request.clientRenderedBoundaries.push(resumedBoundary);\n }\n }\n nodes.length = 0;\n if (null !== slots) {\n if (null === boundary) throw Error(formatProdErrorMessage(487));\n 4 !== boundary.status &&\n ((boundary.status = 4),\n (boundary.errorDigest = errorDigest$jscomp$0),\n boundary.parentFlushed &&\n request$jscomp$0.clientRenderedBoundaries.push(boundary));\n if (\"object\" === typeof slots) for (var index in slots) delete slots[index];\n }\n}\nfunction abortTask(task, request, error) {\n var boundary = task.blockedBoundary,\n segment = task.blockedSegment;\n if (null !== segment) {\n if (6 === segment.status) return;\n segment.status = 3;\n }\n var errorInfo = getThrownInfo(task.componentStack);\n if (null === boundary) {\n if (13 !== request.status && 14 !== request.status) {\n boundary = task.replay;\n if (null === boundary) {\n null !== request.trackedPostpones && null !== segment\n ? ((boundary = request.trackedPostpones),\n logRecoverableError(request, error, errorInfo),\n trackPostpone(request, boundary, task, segment),\n finishedTask(request, null, task.row, segment))\n : (logRecoverableError(request, error, errorInfo),\n fatalError(request, error));\n return;\n }\n boundary.pendingTasks--;\n 0 === boundary.pendingTasks &&\n 0 < boundary.nodes.length &&\n ((segment = logRecoverableError(request, error, errorInfo)),\n abortRemainingReplayNodes(\n request,\n null,\n boundary.nodes,\n boundary.slots,\n error,\n segment\n ));\n request.pendingRootTasks--;\n 0 === request.pendingRootTasks && completeShell(request);\n }\n } else {\n var trackedPostpones$63 = request.trackedPostpones;\n if (4 !== boundary.status) {\n if (null !== trackedPostpones$63 && null !== segment)\n return (\n logRecoverableError(request, error, errorInfo),\n trackPostpone(request, trackedPostpones$63, task, segment),\n boundary.fallbackAbortableTasks.forEach(function (fallbackTask) {\n return abortTask(fallbackTask, request, error);\n }),\n boundary.fallbackAbortableTasks.clear(),\n finishedTask(request, boundary, task.row, segment)\n );\n boundary.status = 4;\n segment = logRecoverableError(request, error, errorInfo);\n boundary.status = 4;\n boundary.errorDigest = segment;\n untrackBoundary(request, boundary);\n boundary.parentFlushed && request.clientRenderedBoundaries.push(boundary);\n }\n boundary.pendingTasks--;\n segment = boundary.row;\n null !== segment &&\n 0 === --segment.pendingTasks &&\n finishSuspenseListRow(request, segment);\n boundary.fallbackAbortableTasks.forEach(function (fallbackTask) {\n return abortTask(fallbackTask, request, error);\n });\n boundary.fallbackAbortableTasks.clear();\n }\n task = task.row;\n null !== task &&\n 0 === --task.pendingTasks &&\n finishSuspenseListRow(request, task);\n request.allPendingTasks--;\n 0 === request.allPendingTasks && completeAll(request);\n}\nfunction safelyEmitEarlyPreloads(request, shellComplete) {\n try {\n var renderState = request.renderState,\n onHeaders = renderState.onHeaders;\n if (onHeaders) {\n var headers = renderState.headers;\n if (headers) {\n renderState.headers = null;\n var linkHeader = headers.preconnects;\n headers.fontPreloads &&\n (linkHeader && (linkHeader += \", \"),\n (linkHeader += headers.fontPreloads));\n headers.highImagePreloads &&\n (linkHeader && (linkHeader += \", \"),\n (linkHeader += headers.highImagePreloads));\n if (!shellComplete) {\n var queueIter = renderState.styles.values(),\n queueStep = queueIter.next();\n b: for (\n ;\n 0 < headers.remainingCapacity && !queueStep.done;\n queueStep = queueIter.next()\n )\n for (\n var sheetIter = queueStep.value.sheets.values(),\n sheetStep = sheetIter.next();\n 0 < headers.remainingCapacity && !sheetStep.done;\n sheetStep = sheetIter.next()\n ) {\n var sheet = sheetStep.value,\n props = sheet.props,\n key = props.href,\n props$jscomp$0 = sheet.props,\n header = getPreloadAsHeader(props$jscomp$0.href, \"style\", {\n crossOrigin: props$jscomp$0.crossOrigin,\n integrity: props$jscomp$0.integrity,\n nonce: props$jscomp$0.nonce,\n type: props$jscomp$0.type,\n fetchPriority: props$jscomp$0.fetchPriority,\n referrerPolicy: props$jscomp$0.referrerPolicy,\n media: props$jscomp$0.media\n });\n if (0 <= (headers.remainingCapacity -= header.length + 2))\n (renderState.resets.style[key] = PRELOAD_NO_CREDS),\n linkHeader && (linkHeader += \", \"),\n (linkHeader += header),\n (renderState.resets.style[key] =\n \"string\" === typeof props.crossOrigin ||\n \"string\" === typeof props.integrity\n ? [props.crossOrigin, props.integrity]\n : PRELOAD_NO_CREDS);\n else break b;\n }\n }\n linkHeader ? onHeaders({ Link: linkHeader }) : onHeaders({});\n }\n }\n } catch (error) {\n logRecoverableError(request, error, {});\n }\n}\nfunction completeShell(request) {\n null === request.trackedPostpones && safelyEmitEarlyPreloads(request, !0);\n null === request.trackedPostpones && preparePreamble(request);\n request.onShellError = noop;\n request = request.onShellReady;\n request();\n}\nfunction completeAll(request) {\n safelyEmitEarlyPreloads(\n request,\n null === request.trackedPostpones\n ? !0\n : null === request.completedRootSegment ||\n 5 !== request.completedRootSegment.status\n );\n preparePreamble(request);\n request = request.onAllReady;\n request();\n}\nfunction queueCompletedSegment(boundary, segment) {\n if (\n 0 === segment.chunks.length &&\n 1 === segment.children.length &&\n null === segment.children[0].boundary &&\n -1 === segment.children[0].id\n ) {\n var childSegment = segment.children[0];\n childSegment.id = segment.id;\n childSegment.parentFlushed = !0;\n (1 !== childSegment.status &&\n 3 !== childSegment.status &&\n 4 !== childSegment.status) ||\n queueCompletedSegment(boundary, childSegment);\n } else boundary.completedSegments.push(segment);\n}\nfunction finishedTask(request, boundary, row, segment) {\n null !== row &&\n (0 === --row.pendingTasks\n ? finishSuspenseListRow(request, row)\n : row.together && tryToResolveTogetherRow(request, row));\n request.allPendingTasks--;\n if (null === boundary) {\n if (null !== segment && segment.parentFlushed) {\n if (null !== request.completedRootSegment)\n throw Error(formatProdErrorMessage(389));\n request.completedRootSegment = segment;\n }\n request.pendingRootTasks--;\n 0 === request.pendingRootTasks && completeShell(request);\n } else if ((boundary.pendingTasks--, 4 !== boundary.status))\n if (0 === boundary.pendingTasks)\n if (\n (0 === boundary.status && (boundary.status = 1),\n null !== segment &&\n segment.parentFlushed &&\n (1 === segment.status || 3 === segment.status) &&\n queueCompletedSegment(boundary, segment),\n boundary.parentFlushed && request.completedBoundaries.push(boundary),\n 1 === boundary.status)\n )\n (row = boundary.row),\n null !== row &&\n hoistHoistables(row.hoistables, boundary.contentState),\n isEligibleForOutlining(request, boundary) ||\n (boundary.fallbackAbortableTasks.forEach(abortTaskSoft, request),\n boundary.fallbackAbortableTasks.clear(),\n null !== row &&\n 0 === --row.pendingTasks &&\n finishSuspenseListRow(request, row)),\n 0 === request.pendingRootTasks &&\n null === request.trackedPostpones &&\n null !== boundary.contentPreamble &&\n preparePreamble(request);\n else {\n if (\n 5 === boundary.status &&\n ((boundary = boundary.row), null !== boundary)\n ) {\n if (null !== request.trackedPostpones) {\n row = request.trackedPostpones;\n var postponedRow = boundary.next;\n if (\n null !== postponedRow &&\n ((segment = postponedRow.boundaries), null !== segment)\n )\n for (\n postponedRow.boundaries = null, postponedRow = 0;\n postponedRow < segment.length;\n postponedRow++\n ) {\n var postponedBoundary = segment[postponedRow];\n trackPostponedBoundary(request, row, postponedBoundary);\n finishedTask(request, postponedBoundary, null, null);\n }\n }\n 0 === --boundary.pendingTasks &&\n finishSuspenseListRow(request, boundary);\n }\n }\n else\n null === segment ||\n !segment.parentFlushed ||\n (1 !== segment.status && 3 !== segment.status) ||\n (queueCompletedSegment(boundary, segment),\n 1 === boundary.completedSegments.length &&\n boundary.parentFlushed &&\n request.partialBoundaries.push(boundary)),\n (boundary = boundary.row),\n null !== boundary &&\n boundary.together &&\n tryToResolveTogetherRow(request, boundary);\n 0 === request.allPendingTasks && completeAll(request);\n}\nfunction performWork(request$jscomp$2) {\n if (14 !== request$jscomp$2.status && 13 !== request$jscomp$2.status) {\n var prevContext = currentActiveSnapshot,\n prevDispatcher = ReactSharedInternals.H;\n ReactSharedInternals.H = HooksDispatcher;\n var prevAsyncDispatcher = ReactSharedInternals.A;\n ReactSharedInternals.A = DefaultAsyncDispatcher;\n var prevRequest = currentRequest;\n currentRequest = request$jscomp$2;\n var prevResumableState = currentResumableState;\n currentResumableState = request$jscomp$2.resumableState;\n try {\n var pingedTasks = request$jscomp$2.pingedTasks,\n i;\n for (i = 0; i < pingedTasks.length; i++) {\n var task = pingedTasks[i],\n request = request$jscomp$2,\n segment = task.blockedSegment;\n if (null === segment) {\n var request$jscomp$0 = request;\n if (0 !== task.replay.pendingTasks) {\n switchContext(task.context);\n try {\n \"number\" === typeof task.replay.slots\n ? resumeNode(\n request$jscomp$0,\n task,\n task.replay.slots,\n task.node,\n task.childIndex\n )\n : retryNode(request$jscomp$0, task);\n if (\n 1 === task.replay.pendingTasks &&\n 0 < task.replay.nodes.length\n )\n throw Error(formatProdErrorMessage(488));\n task.replay.pendingTasks--;\n task.abortSet.delete(task);\n finishedTask(\n request$jscomp$0,\n task.blockedBoundary,\n task.row,\n null\n );\n } catch (thrownValue) {\n resetHooksState();\n var x =\n thrownValue === SuspenseException\n ? getSuspendedThenable()\n : thrownValue;\n if (\n \"object\" === typeof x &&\n null !== x &&\n \"function\" === typeof x.then\n ) {\n var ping = task.ping;\n x.then(ping, ping);\n task.thenableState =\n thrownValue === SuspenseException\n ? getThenableStateAfterSuspending()\n : null;\n } else {\n task.replay.pendingTasks--;\n task.abortSet.delete(task);\n var errorInfo = getThrownInfo(task.componentStack);\n request = void 0;\n var request$jscomp$1 = request$jscomp$0,\n boundary = task.blockedBoundary,\n error$jscomp$0 =\n 12 === request$jscomp$0.status\n ? request$jscomp$0.fatalError\n : x,\n replayNodes = task.replay.nodes,\n resumeSlots = task.replay.slots;\n request = logRecoverableError(\n request$jscomp$1,\n error$jscomp$0,\n errorInfo\n );\n abortRemainingReplayNodes(\n request$jscomp$1,\n boundary,\n replayNodes,\n resumeSlots,\n error$jscomp$0,\n request\n );\n request$jscomp$0.pendingRootTasks--;\n 0 === request$jscomp$0.pendingRootTasks &&\n completeShell(request$jscomp$0);\n request$jscomp$0.allPendingTasks--;\n 0 === request$jscomp$0.allPendingTasks &&\n completeAll(request$jscomp$0);\n }\n } finally {\n }\n }\n } else if (\n ((request$jscomp$0 = void 0),\n (request$jscomp$1 = segment),\n 0 === request$jscomp$1.status)\n ) {\n request$jscomp$1.status = 6;\n switchContext(task.context);\n var childrenLength = request$jscomp$1.children.length,\n chunkLength = request$jscomp$1.chunks.length;\n try {\n retryNode(request, task),\n pushSegmentFinale(\n request$jscomp$1.chunks,\n request.renderState,\n request$jscomp$1.lastPushedText,\n request$jscomp$1.textEmbedded\n ),\n task.abortSet.delete(task),\n (request$jscomp$1.status = 1),\n finishedTask(\n request,\n task.blockedBoundary,\n task.row,\n request$jscomp$1\n );\n } catch (thrownValue) {\n resetHooksState();\n request$jscomp$1.children.length = childrenLength;\n request$jscomp$1.chunks.length = chunkLength;\n var x$jscomp$0 =\n thrownValue === SuspenseException\n ? getSuspendedThenable()\n : 12 === request.status\n ? request.fatalError\n : thrownValue;\n if (12 === request.status && null !== request.trackedPostpones) {\n var trackedPostpones = request.trackedPostpones,\n thrownInfo = getThrownInfo(task.componentStack);\n task.abortSet.delete(task);\n logRecoverableError(request, x$jscomp$0, thrownInfo);\n trackPostpone(request, trackedPostpones, task, request$jscomp$1);\n finishedTask(\n request,\n task.blockedBoundary,\n task.row,\n request$jscomp$1\n );\n } else if (\n \"object\" === typeof x$jscomp$0 &&\n null !== x$jscomp$0 &&\n \"function\" === typeof x$jscomp$0.then\n ) {\n request$jscomp$1.status = 0;\n task.thenableState =\n thrownValue === SuspenseException\n ? getThenableStateAfterSuspending()\n : null;\n var ping$jscomp$0 = task.ping;\n x$jscomp$0.then(ping$jscomp$0, ping$jscomp$0);\n } else {\n var errorInfo$jscomp$0 = getThrownInfo(task.componentStack);\n task.abortSet.delete(task);\n request$jscomp$1.status = 4;\n var boundary$jscomp$0 = task.blockedBoundary,\n row = task.row;\n null !== row &&\n 0 === --row.pendingTasks &&\n finishSuspenseListRow(request, row);\n request.allPendingTasks--;\n request$jscomp$0 = logRecoverableError(\n request,\n x$jscomp$0,\n errorInfo$jscomp$0\n );\n if (null === boundary$jscomp$0) fatalError(request, x$jscomp$0);\n else if (\n (boundary$jscomp$0.pendingTasks--,\n 4 !== boundary$jscomp$0.status)\n ) {\n boundary$jscomp$0.status = 4;\n boundary$jscomp$0.errorDigest = request$jscomp$0;\n untrackBoundary(request, boundary$jscomp$0);\n var boundaryRow = boundary$jscomp$0.row;\n null !== boundaryRow &&\n 0 === --boundaryRow.pendingTasks &&\n finishSuspenseListRow(request, boundaryRow);\n boundary$jscomp$0.parentFlushed &&\n request.clientRenderedBoundaries.push(boundary$jscomp$0);\n 0 === request.pendingRootTasks &&\n null === request.trackedPostpones &&\n null !== boundary$jscomp$0.contentPreamble &&\n preparePreamble(request);\n }\n 0 === request.allPendingTasks && completeAll(request);\n }\n } finally {\n }\n }\n }\n pingedTasks.splice(0, i);\n null !== request$jscomp$2.destination &&\n flushCompletedQueues(request$jscomp$2, request$jscomp$2.destination);\n } catch (error) {\n logRecoverableError(request$jscomp$2, error, {}),\n fatalError(request$jscomp$2, error);\n } finally {\n (currentResumableState = prevResumableState),\n (ReactSharedInternals.H = prevDispatcher),\n (ReactSharedInternals.A = prevAsyncDispatcher),\n prevDispatcher === HooksDispatcher && switchContext(prevContext),\n (currentRequest = prevRequest);\n }\n }\n}\nfunction preparePreambleFromSubtree(\n request,\n segment,\n collectedPreambleSegments\n) {\n segment.preambleChildren.length &&\n collectedPreambleSegments.push(segment.preambleChildren);\n for (var pendingPreambles = !1, i = 0; i < segment.children.length; i++)\n pendingPreambles =\n preparePreambleFromSegment(\n request,\n segment.children[i],\n collectedPreambleSegments\n ) || pendingPreambles;\n return pendingPreambles;\n}\nfunction preparePreambleFromSegment(\n request,\n segment,\n collectedPreambleSegments\n) {\n var boundary = segment.boundary;\n if (null === boundary)\n return preparePreambleFromSubtree(\n request,\n segment,\n collectedPreambleSegments\n );\n var preamble = boundary.contentPreamble,\n fallbackPreamble = boundary.fallbackPreamble;\n if (null === preamble || null === fallbackPreamble) return !1;\n switch (boundary.status) {\n case 1:\n hoistPreambleState(request.renderState, preamble);\n request.byteSize += boundary.byteSize;\n segment = boundary.completedSegments[0];\n if (!segment) throw Error(formatProdErrorMessage(391));\n return preparePreambleFromSubtree(\n request,\n segment,\n collectedPreambleSegments\n );\n case 5:\n if (null !== request.trackedPostpones) return !0;\n case 4:\n if (1 === segment.status)\n return (\n hoistPreambleState(request.renderState, fallbackPreamble),\n preparePreambleFromSubtree(\n request,\n segment,\n collectedPreambleSegments\n )\n );\n default:\n return !0;\n }\n}\nfunction preparePreamble(request) {\n if (\n request.completedRootSegment &&\n null === request.completedPreambleSegments\n ) {\n var collectedPreambleSegments = [],\n originalRequestByteSize = request.byteSize,\n hasPendingPreambles = preparePreambleFromSegment(\n request,\n request.completedRootSegment,\n collectedPreambleSegments\n ),\n preamble = request.renderState.preamble;\n !1 === hasPendingPreambles || (preamble.headChunks && preamble.bodyChunks)\n ? (request.completedPreambleSegments = collectedPreambleSegments)\n : (request.byteSize = originalRequestByteSize);\n }\n}\nfunction flushSubtree(request, destination, segment, hoistableState) {\n segment.parentFlushed = !0;\n switch (segment.status) {\n case 0:\n segment.id = request.nextSegmentId++;\n case 5:\n return (\n (hoistableState = segment.id),\n (segment.lastPushedText = !1),\n (segment.textEmbedded = !1),\n (request = request.renderState),\n destination.push('<template id=\"'),\n destination.push(request.placeholderPrefix),\n (request = hoistableState.toString(16)),\n destination.push(request),\n destination.push('\"></template>')\n );\n case 1:\n segment.status = 2;\n var r = !0,\n chunks = segment.chunks,\n chunkIdx = 0;\n segment = segment.children;\n for (var childIdx = 0; childIdx < segment.length; childIdx++) {\n for (r = segment[childIdx]; chunkIdx < r.index; chunkIdx++)\n destination.push(chunks[chunkIdx]);\n r = flushSegment(request, destination, r, hoistableState);\n }\n for (; chunkIdx < chunks.length - 1; chunkIdx++)\n destination.push(chunks[chunkIdx]);\n chunkIdx < chunks.length && (r = destination.push(chunks[chunkIdx]));\n return r;\n case 3:\n return !0;\n default:\n throw Error(formatProdErrorMessage(390));\n }\n}\nvar flushedByteSize = 0;\nfunction flushSegment(request, destination, segment, hoistableState) {\n var boundary = segment.boundary;\n if (null === boundary)\n return flushSubtree(request, destination, segment, hoistableState);\n boundary.parentFlushed = !0;\n if (4 === boundary.status) {\n var row = boundary.row;\n null !== row &&\n 0 === --row.pendingTasks &&\n finishSuspenseListRow(request, row);\n request.renderState.generateStaticMarkup ||\n ((boundary = boundary.errorDigest),\n destination.push(\"\\x3c!--$!--\\x3e\"),\n destination.push(\"<template\"),\n boundary &&\n (destination.push(' data-dgst=\"'),\n (boundary = escapeTextForBrowser(boundary)),\n destination.push(boundary),\n destination.push('\"')),\n destination.push(\"></template>\"));\n flushSubtree(request, destination, segment, hoistableState);\n request = request.renderState.generateStaticMarkup\n ? !0\n : destination.push(\"\\x3c!--/$--\\x3e\");\n return request;\n }\n if (1 !== boundary.status)\n return (\n 0 === boundary.status &&\n (boundary.rootSegmentID = request.nextSegmentId++),\n 0 < boundary.completedSegments.length &&\n request.partialBoundaries.push(boundary),\n writeStartPendingSuspenseBoundary(\n destination,\n request.renderState,\n boundary.rootSegmentID\n ),\n hoistableState && hoistHoistables(hoistableState, boundary.fallbackState),\n flushSubtree(request, destination, segment, hoistableState),\n destination.push(\"\\x3c!--/$--\\x3e\")\n );\n if (\n !flushingPartialBoundaries &&\n isEligibleForOutlining(request, boundary) &&\n flushedByteSize + boundary.byteSize > request.progressiveChunkSize\n )\n return (\n (boundary.rootSegmentID = request.nextSegmentId++),\n request.completedBoundaries.push(boundary),\n writeStartPendingSuspenseBoundary(\n destination,\n request.renderState,\n boundary.rootSegmentID\n ),\n flushSubtree(request, destination, segment, hoistableState),\n destination.push(\"\\x3c!--/$--\\x3e\")\n );\n flushedByteSize += boundary.byteSize;\n hoistableState && hoistHoistables(hoistableState, boundary.contentState);\n segment = boundary.row;\n null !== segment &&\n isEligibleForOutlining(request, boundary) &&\n 0 === --segment.pendingTasks &&\n finishSuspenseListRow(request, segment);\n request.renderState.generateStaticMarkup ||\n destination.push(\"\\x3c!--$--\\x3e\");\n segment = boundary.completedSegments;\n if (1 !== segment.length) throw Error(formatProdErrorMessage(391));\n flushSegment(request, destination, segment[0], hoistableState);\n request = request.renderState.generateStaticMarkup\n ? !0\n : destination.push(\"\\x3c!--/$--\\x3e\");\n return request;\n}\nfunction flushSegmentContainer(request, destination, segment, hoistableState) {\n writeStartSegment(\n destination,\n request.renderState,\n segment.parentFormatContext,\n segment.id\n );\n flushSegment(request, destination, segment, hoistableState);\n return writeEndSegment(destination, segment.parentFormatContext);\n}\nfunction flushCompletedBoundary(request, destination, boundary) {\n flushedByteSize = boundary.byteSize;\n for (\n var completedSegments = boundary.completedSegments, i = 0;\n i < completedSegments.length;\n i++\n )\n flushPartiallyCompletedSegment(\n request,\n destination,\n boundary,\n completedSegments[i]\n );\n completedSegments.length = 0;\n completedSegments = boundary.row;\n null !== completedSegments &&\n isEligibleForOutlining(request, boundary) &&\n 0 === --completedSegments.pendingTasks &&\n finishSuspenseListRow(request, completedSegments);\n writeHoistablesForBoundary(\n destination,\n boundary.contentState,\n request.renderState\n );\n completedSegments = request.resumableState;\n request = request.renderState;\n i = boundary.rootSegmentID;\n boundary = boundary.contentState;\n var requiresStyleInsertion = request.stylesToHoist;\n request.stylesToHoist = !1;\n destination.push(request.startInlineScript);\n destination.push(\">\");\n requiresStyleInsertion\n ? (0 === (completedSegments.instructions & 4) &&\n ((completedSegments.instructions |= 4),\n destination.push(\n '$RX=function(b,c,d,e,f){var a=document.getElementById(b);a&&(b=a.previousSibling,b.data=\"$!\",a=a.dataset,c&&(a.dgst=c),d&&(a.msg=d),e&&(a.stck=e),f&&(a.cstck=f),b._reactRetry&&b._reactRetry())};'\n )),\n 0 === (completedSegments.instructions & 2) &&\n ((completedSegments.instructions |= 2),\n destination.push(\n '$RB=[];$RV=function(a){$RT=performance.now();for(var b=0;b<a.length;b+=2){var c=a[b],e=a[b+1];null!==e.parentNode&&e.parentNode.removeChild(e);var f=c.parentNode;if(f){var g=c.previousSibling,h=0;do{if(c&&8===c.nodeType){var d=c.data;if(\"/$\"===d||\"/&\"===d)if(0===h)break;else h--;else\"$\"!==d&&\"$?\"!==d&&\"$~\"!==d&&\"$!\"!==d&&\"&\"!==d||h++}d=c.nextSibling;f.removeChild(c);c=d}while(c);for(;e.firstChild;)f.insertBefore(e.firstChild,c);g.data=\"$\";g._reactRetry&&requestAnimationFrame(g._reactRetry)}}a.length=0};\\n$RC=function(a,b){if(b=document.getElementById(b))(a=document.getElementById(a))?(a.previousSibling.data=\"$~\",$RB.push(a,b),2===$RB.length&&(\"number\"!==typeof $RT?requestAnimationFrame($RV.bind(null,$RB)):(a=performance.now(),setTimeout($RV.bind(null,$RB),2300>a&&2E3<a?2300-a:$RT+300-a)))):b.parentNode.removeChild(b)};'\n )),\n 0 === (completedSegments.instructions & 8)\n ? ((completedSegments.instructions |= 8),\n destination.push(\n '$RM=new Map;$RR=function(n,w,p){function u(q){this._p=null;q()}for(var r=new Map,t=document,h,b,e=t.querySelectorAll(\"link[data-precedence],style[data-precedence]\"),v=[],k=0;b=e[k++];)\"not all\"===b.getAttribute(\"media\")?v.push(b):(\"LINK\"===b.tagName&&$RM.set(b.getAttribute(\"href\"),b),r.set(b.dataset.precedence,h=b));e=0;b=[];var l,a;for(k=!0;;){if(k){var f=p[e++];if(!f){k=!1;e=0;continue}var c=!1,m=0;var d=f[m++];if(a=$RM.get(d)){var g=a._p;c=!0}else{a=t.createElement(\"link\");a.href=d;a.rel=\\n\"stylesheet\";for(a.dataset.precedence=l=f[m++];g=f[m++];)a.setAttribute(g,f[m++]);g=a._p=new Promise(function(q,x){a.onload=u.bind(a,q);a.onerror=u.bind(a,x)});$RM.set(d,a)}d=a.getAttribute(\"media\");!g||d&&!matchMedia(d).matches||b.push(g);if(c)continue}else{a=v[e++];if(!a)break;l=a.getAttribute(\"data-precedence\");a.removeAttribute(\"media\")}c=r.get(l)||h;c===h&&(h=a);r.set(l,a);c?c.parentNode.insertBefore(a,c.nextSibling):(c=t.head,c.insertBefore(a,c.firstChild))}if(p=document.getElementById(n))p.previousSibling.data=\\n\"$~\";Promise.all(b).then($RC.bind(null,n,w),$RX.bind(null,n,\"CSS failed to load\"))};$RR(\"'\n ))\n : destination.push('$RR(\"'))\n : (0 === (completedSegments.instructions & 2) &&\n ((completedSegments.instructions |= 2),\n destination.push(\n '$RB=[];$RV=function(a){$RT=performance.now();for(var b=0;b<a.length;b+=2){var c=a[b],e=a[b+1];null!==e.parentNode&&e.parentNode.removeChild(e);var f=c.parentNode;if(f){var g=c.previousSibling,h=0;do{if(c&&8===c.nodeType){var d=c.data;if(\"/$\"===d||\"/&\"===d)if(0===h)break;else h--;else\"$\"!==d&&\"$?\"!==d&&\"$~\"!==d&&\"$!\"!==d&&\"&\"!==d||h++}d=c.nextSibling;f.removeChild(c);c=d}while(c);for(;e.firstChild;)f.insertBefore(e.firstChild,c);g.data=\"$\";g._reactRetry&&requestAnimationFrame(g._reactRetry)}}a.length=0};\\n$RC=function(a,b){if(b=document.getElementById(b))(a=document.getElementById(a))?(a.previousSibling.data=\"$~\",$RB.push(a,b),2===$RB.length&&(\"number\"!==typeof $RT?requestAnimationFrame($RV.bind(null,$RB)):(a=performance.now(),setTimeout($RV.bind(null,$RB),2300>a&&2E3<a?2300-a:$RT+300-a)))):b.parentNode.removeChild(b)};'\n )),\n destination.push('$RC(\"'));\n completedSegments = i.toString(16);\n destination.push(request.boundaryPrefix);\n destination.push(completedSegments);\n destination.push('\",\"');\n destination.push(request.segmentPrefix);\n destination.push(completedSegments);\n requiresStyleInsertion\n ? (destination.push('\",'),\n writeStyleResourceDependenciesInJS(destination, boundary))\n : destination.push('\"');\n boundary = destination.push(\")\\x3c/script>\");\n return writeBootstrap(destination, request) && boundary;\n}\nfunction flushPartiallyCompletedSegment(\n request,\n destination,\n boundary,\n segment\n) {\n if (2 === segment.status) return !0;\n var hoistableState = boundary.contentState,\n segmentID = segment.id;\n if (-1 === segmentID) {\n if (-1 === (segment.id = boundary.rootSegmentID))\n throw Error(formatProdErrorMessage(392));\n return flushSegmentContainer(request, destination, segment, hoistableState);\n }\n if (segmentID === boundary.rootSegmentID)\n return flushSegmentContainer(request, destination, segment, hoistableState);\n flushSegmentContainer(request, destination, segment, hoistableState);\n boundary = request.resumableState;\n request = request.renderState;\n destination.push(request.startInlineScript);\n destination.push(\">\");\n 0 === (boundary.instructions & 1)\n ? ((boundary.instructions |= 1),\n destination.push(\n '$RS=function(a,b){a=document.getElementById(a);b=document.getElementById(b);for(a.parentNode.removeChild(a);a.firstChild;)b.parentNode.insertBefore(a.firstChild,b);b.parentNode.removeChild(b)};$RS(\"'\n ))\n : destination.push('$RS(\"');\n destination.push(request.segmentPrefix);\n segmentID = segmentID.toString(16);\n destination.push(segmentID);\n destination.push('\",\"');\n destination.push(request.placeholderPrefix);\n destination.push(segmentID);\n destination = destination.push('\")\\x3c/script>');\n return destination;\n}\nvar flushingPartialBoundaries = !1;\nfunction flushCompletedQueues(request, destination) {\n try {\n if (!(0 < request.pendingRootTasks)) {\n var i,\n completedRootSegment = request.completedRootSegment;\n if (null !== completedRootSegment) {\n if (5 === completedRootSegment.status) return;\n var completedPreambleSegments = request.completedPreambleSegments;\n if (null === completedPreambleSegments) return;\n flushedByteSize = request.byteSize;\n var resumableState = request.resumableState,\n renderState = request.renderState,\n preamble = renderState.preamble,\n htmlChunks = preamble.htmlChunks,\n headChunks = preamble.headChunks,\n i$jscomp$0;\n if (htmlChunks) {\n for (i$jscomp$0 = 0; i$jscomp$0 < htmlChunks.length; i$jscomp$0++)\n destination.push(htmlChunks[i$jscomp$0]);\n if (headChunks)\n for (i$jscomp$0 = 0; i$jscomp$0 < headChunks.length; i$jscomp$0++)\n destination.push(headChunks[i$jscomp$0]);\n else {\n var chunk = startChunkForTag(\"head\");\n destination.push(chunk);\n destination.push(\">\");\n }\n } else if (headChunks)\n for (i$jscomp$0 = 0; i$jscomp$0 < headChunks.length; i$jscomp$0++)\n destination.push(headChunks[i$jscomp$0]);\n var charsetChunks = renderState.charsetChunks;\n for (i$jscomp$0 = 0; i$jscomp$0 < charsetChunks.length; i$jscomp$0++)\n destination.push(charsetChunks[i$jscomp$0]);\n charsetChunks.length = 0;\n renderState.preconnects.forEach(flushResource, destination);\n renderState.preconnects.clear();\n var viewportChunks = renderState.viewportChunks;\n for (i$jscomp$0 = 0; i$jscomp$0 < viewportChunks.length; i$jscomp$0++)\n destination.push(viewportChunks[i$jscomp$0]);\n viewportChunks.length = 0;\n renderState.fontPreloads.forEach(flushResource, destination);\n renderState.fontPreloads.clear();\n renderState.highImagePreloads.forEach(flushResource, destination);\n renderState.highImagePreloads.clear();\n currentlyFlushingRenderState = renderState;\n renderState.styles.forEach(flushStylesInPreamble, destination);\n currentlyFlushingRenderState = null;\n var importMapChunks = renderState.importMapChunks;\n for (i$jscomp$0 = 0; i$jscomp$0 < importMapChunks.length; i$jscomp$0++)\n destination.push(importMapChunks[i$jscomp$0]);\n importMapChunks.length = 0;\n renderState.bootstrapScripts.forEach(flushResource, destination);\n renderState.scripts.forEach(flushResource, destination);\n renderState.scripts.clear();\n renderState.bulkPreloads.forEach(flushResource, destination);\n renderState.bulkPreloads.clear();\n resumableState.instructions |= 32;\n var hoistableChunks = renderState.hoistableChunks;\n for (i$jscomp$0 = 0; i$jscomp$0 < hoistableChunks.length; i$jscomp$0++)\n destination.push(hoistableChunks[i$jscomp$0]);\n for (\n resumableState = hoistableChunks.length = 0;\n resumableState < completedPreambleSegments.length;\n resumableState++\n ) {\n var segments = completedPreambleSegments[resumableState];\n for (renderState = 0; renderState < segments.length; renderState++)\n flushSegment(request, destination, segments[renderState], null);\n }\n var preamble$jscomp$0 = request.renderState.preamble,\n headChunks$jscomp$0 = preamble$jscomp$0.headChunks;\n if (preamble$jscomp$0.htmlChunks || headChunks$jscomp$0) {\n var chunk$jscomp$0 = endChunkForTag(\"head\");\n destination.push(chunk$jscomp$0);\n }\n var bodyChunks = preamble$jscomp$0.bodyChunks;\n if (bodyChunks)\n for (\n completedPreambleSegments = 0;\n completedPreambleSegments < bodyChunks.length;\n completedPreambleSegments++\n )\n destination.push(bodyChunks[completedPreambleSegments]);\n flushSegment(request, destination, completedRootSegment, null);\n request.completedRootSegment = null;\n var renderState$jscomp$0 = request.renderState;\n if (\n 0 !== request.allPendingTasks ||\n 0 !== request.clientRenderedBoundaries.length ||\n 0 !== request.completedBoundaries.length ||\n (null !== request.trackedPostpones &&\n (0 !== request.trackedPostpones.rootNodes.length ||\n null !== request.trackedPostpones.rootSlots))\n ) {\n var resumableState$jscomp$0 = request.resumableState;\n if (0 === (resumableState$jscomp$0.instructions & 64)) {\n resumableState$jscomp$0.instructions |= 64;\n destination.push(renderState$jscomp$0.startInlineScript);\n if (0 === (resumableState$jscomp$0.instructions & 32)) {\n resumableState$jscomp$0.instructions |= 32;\n var shellId = \"_\" + resumableState$jscomp$0.idPrefix + \"R_\";\n destination.push(' id=\"');\n var chunk$jscomp$1 = escapeTextForBrowser(shellId);\n destination.push(chunk$jscomp$1);\n destination.push('\"');\n }\n destination.push(\">\");\n destination.push(\n \"requestAnimationFrame(function(){$RT=performance.now()});\"\n );\n destination.push(\"\\x3c/script>\");\n }\n }\n writeBootstrap(destination, renderState$jscomp$0);\n }\n var renderState$jscomp$1 = request.renderState;\n completedRootSegment = 0;\n var viewportChunks$jscomp$0 = renderState$jscomp$1.viewportChunks;\n for (\n completedRootSegment = 0;\n completedRootSegment < viewportChunks$jscomp$0.length;\n completedRootSegment++\n )\n destination.push(viewportChunks$jscomp$0[completedRootSegment]);\n viewportChunks$jscomp$0.length = 0;\n renderState$jscomp$1.preconnects.forEach(flushResource, destination);\n renderState$jscomp$1.preconnects.clear();\n renderState$jscomp$1.fontPreloads.forEach(flushResource, destination);\n renderState$jscomp$1.fontPreloads.clear();\n renderState$jscomp$1.highImagePreloads.forEach(\n flushResource,\n destination\n );\n renderState$jscomp$1.highImagePreloads.clear();\n renderState$jscomp$1.styles.forEach(preloadLateStyles, destination);\n renderState$jscomp$1.scripts.forEach(flushResource, destination);\n renderState$jscomp$1.scripts.clear();\n renderState$jscomp$1.bulkPreloads.forEach(flushResource, destination);\n renderState$jscomp$1.bulkPreloads.clear();\n var hoistableChunks$jscomp$0 = renderState$jscomp$1.hoistableChunks;\n for (\n completedRootSegment = 0;\n completedRootSegment < hoistableChunks$jscomp$0.length;\n completedRootSegment++\n )\n destination.push(hoistableChunks$jscomp$0[completedRootSegment]);\n hoistableChunks$jscomp$0.length = 0;\n var clientRenderedBoundaries = request.clientRenderedBoundaries;\n for (i = 0; i < clientRenderedBoundaries.length; i++) {\n var boundary = clientRenderedBoundaries[i];\n renderState$jscomp$1 = destination;\n var resumableState$jscomp$1 = request.resumableState,\n renderState$jscomp$2 = request.renderState,\n id = boundary.rootSegmentID,\n errorDigest = boundary.errorDigest;\n renderState$jscomp$1.push(renderState$jscomp$2.startInlineScript);\n renderState$jscomp$1.push(\">\");\n 0 === (resumableState$jscomp$1.instructions & 4)\n ? ((resumableState$jscomp$1.instructions |= 4),\n renderState$jscomp$1.push(\n '$RX=function(b,c,d,e,f){var a=document.getElementById(b);a&&(b=a.previousSibling,b.data=\"$!\",a=a.dataset,c&&(a.dgst=c),d&&(a.msg=d),e&&(a.stck=e),f&&(a.cstck=f),b._reactRetry&&b._reactRetry())};;$RX(\"'\n ))\n : renderState$jscomp$1.push('$RX(\"');\n renderState$jscomp$1.push(renderState$jscomp$2.boundaryPrefix);\n var chunk$jscomp$2 = id.toString(16);\n renderState$jscomp$1.push(chunk$jscomp$2);\n renderState$jscomp$1.push('\"');\n if (errorDigest) {\n renderState$jscomp$1.push(\",\");\n var chunk$jscomp$3 = escapeJSStringsForInstructionScripts(\n errorDigest || \"\"\n );\n renderState$jscomp$1.push(chunk$jscomp$3);\n }\n var JSCompiler_inline_result =\n renderState$jscomp$1.push(\")\\x3c/script>\");\n if (!JSCompiler_inline_result) {\n request.destination = null;\n i++;\n clientRenderedBoundaries.splice(0, i);\n return;\n }\n }\n clientRenderedBoundaries.splice(0, i);\n var completedBoundaries = request.completedBoundaries;\n for (i = 0; i < completedBoundaries.length; i++)\n if (\n !flushCompletedBoundary(request, destination, completedBoundaries[i])\n ) {\n request.destination = null;\n i++;\n completedBoundaries.splice(0, i);\n return;\n }\n completedBoundaries.splice(0, i);\n flushingPartialBoundaries = !0;\n var partialBoundaries = request.partialBoundaries;\n for (i = 0; i < partialBoundaries.length; i++) {\n var boundary$69 = partialBoundaries[i];\n a: {\n clientRenderedBoundaries = request;\n boundary = destination;\n flushedByteSize = boundary$69.byteSize;\n var completedSegments = boundary$69.completedSegments;\n for (\n JSCompiler_inline_result = 0;\n JSCompiler_inline_result < completedSegments.length;\n JSCompiler_inline_result++\n )\n if (\n !flushPartiallyCompletedSegment(\n clientRenderedBoundaries,\n boundary,\n boundary$69,\n completedSegments[JSCompiler_inline_result]\n )\n ) {\n JSCompiler_inline_result++;\n completedSegments.splice(0, JSCompiler_inline_result);\n var JSCompiler_inline_result$jscomp$0 = !1;\n break a;\n }\n completedSegments.splice(0, JSCompiler_inline_result);\n var row = boundary$69.row;\n null !== row &&\n row.together &&\n 1 === boundary$69.pendingTasks &&\n (1 === row.pendingTasks\n ? unblockSuspenseListRow(\n clientRenderedBoundaries,\n row,\n row.hoistables\n )\n : row.pendingTasks--);\n JSCompiler_inline_result$jscomp$0 = writeHoistablesForBoundary(\n boundary,\n boundary$69.contentState,\n clientRenderedBoundaries.renderState\n );\n }\n if (!JSCompiler_inline_result$jscomp$0) {\n request.destination = null;\n i++;\n partialBoundaries.splice(0, i);\n return;\n }\n }\n partialBoundaries.splice(0, i);\n flushingPartialBoundaries = !1;\n var largeBoundaries = request.completedBoundaries;\n for (i = 0; i < largeBoundaries.length; i++)\n if (!flushCompletedBoundary(request, destination, largeBoundaries[i])) {\n request.destination = null;\n i++;\n largeBoundaries.splice(0, i);\n return;\n }\n largeBoundaries.splice(0, i);\n }\n } finally {\n (flushingPartialBoundaries = !1),\n 0 === request.allPendingTasks &&\n 0 === request.clientRenderedBoundaries.length &&\n 0 === request.completedBoundaries.length &&\n ((request.flushScheduled = !1),\n (i = request.resumableState),\n i.hasBody &&\n ((partialBoundaries = endChunkForTag(\"body\")),\n destination.push(partialBoundaries)),\n i.hasHtml && ((i = endChunkForTag(\"html\")), destination.push(i)),\n (request.status = 14),\n destination.push(null),\n (request.destination = null));\n }\n}\nfunction enqueueFlush(request) {\n if (\n !1 === request.flushScheduled &&\n 0 === request.pingedTasks.length &&\n null !== request.destination\n ) {\n request.flushScheduled = !0;\n var destination = request.destination;\n destination\n ? flushCompletedQueues(request, destination)\n : (request.flushScheduled = !1);\n }\n}\nfunction startFlowing(request, destination) {\n if (13 === request.status)\n (request.status = 14), destination.destroy(request.fatalError);\n else if (14 !== request.status && null === request.destination) {\n request.destination = destination;\n try {\n flushCompletedQueues(request, destination);\n } catch (error) {\n logRecoverableError(request, error, {}), fatalError(request, error);\n }\n }\n}\nfunction abort(request, reason) {\n if (11 === request.status || 10 === request.status) request.status = 12;\n try {\n var abortableTasks = request.abortableTasks;\n if (0 < abortableTasks.size) {\n var error =\n void 0 === reason\n ? Error(formatProdErrorMessage(432))\n : \"object\" === typeof reason &&\n null !== reason &&\n \"function\" === typeof reason.then\n ? Error(formatProdErrorMessage(530))\n : reason;\n request.fatalError = error;\n abortableTasks.forEach(function (task) {\n return abortTask(task, request, error);\n });\n abortableTasks.clear();\n }\n null !== request.destination &&\n flushCompletedQueues(request, request.destination);\n } catch (error$71) {\n logRecoverableError(request, error$71, {}), fatalError(request, error$71);\n }\n}\nfunction addToReplayParent(node, parentKeyPath, trackedPostpones) {\n if (null === parentKeyPath) trackedPostpones.rootNodes.push(node);\n else {\n var workingMap = trackedPostpones.workingMap,\n parentNode = workingMap.get(parentKeyPath);\n void 0 === parentNode &&\n ((parentNode = [parentKeyPath[1], parentKeyPath[2], [], null]),\n workingMap.set(parentKeyPath, parentNode),\n addToReplayParent(parentNode, parentKeyPath[0], trackedPostpones));\n parentNode[2].push(node);\n }\n}\nfunction onError() {}\nfunction renderToStringImpl(\n children,\n options,\n generateStaticMarkup,\n abortReason\n) {\n var didFatal = !1,\n fatalError = null,\n result = \"\",\n readyToStream = !1;\n options = createResumableState(options ? options.identifierPrefix : void 0);\n children = createRequest(\n children,\n options,\n createRenderState(options, generateStaticMarkup),\n createFormatContext(0, null, 0, null),\n Infinity,\n onError,\n void 0,\n function () {\n readyToStream = !0;\n },\n void 0,\n void 0,\n void 0\n );\n children.flushScheduled = null !== children.destination;\n performWork(children);\n 10 === children.status && (children.status = 11);\n null === children.trackedPostpones &&\n safelyEmitEarlyPreloads(children, 0 === children.pendingRootTasks);\n abort(children, abortReason);\n startFlowing(children, {\n push: function (chunk) {\n null !== chunk && (result += chunk);\n return !0;\n },\n destroy: function (error) {\n didFatal = !0;\n fatalError = error;\n }\n });\n if (didFatal && fatalError !== abortReason) throw fatalError;\n if (!readyToStream) throw Error(formatProdErrorMessage(426));\n return result;\n}\nexports.renderToStaticMarkup = function (children, options) {\n return renderToStringImpl(\n children,\n options,\n !0,\n 'The server used \"renderToStaticMarkup\" which does not support Suspense. If you intended to have the server wait for the suspended component please switch to \"renderToReadableStream\" which supports Suspense on the server'\n );\n};\nexports.renderToString = function (children, options) {\n return renderToStringImpl(\n children,\n options,\n !1,\n 'The server used \"renderToString\" which does not support Suspense. If you intended for this Suspense boundary to render the fallback content on the server consider throwing an Error somewhere within the Suspense boundary. If you intended to have the server wait for the suspended component please switch to \"renderToReadableStream\" which supports Suspense on the server'\n );\n};\nexports.version = \"19.2.1\";\n","/**\n * @license React\n * react-dom-server.browser.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/*\n\n\n JS Implementation of MurmurHash3 (r136) (as of May 20, 2011)\n\n Copyright (c) 2011 Gary Court\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in\n all copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n*/\n\"use strict\";\nvar React = require(\"react\"),\n ReactDOM = require(\"react-dom\");\nfunction formatProdErrorMessage(code) {\n var url = \"https://react.dev/errors/\" + code;\n if (1 < arguments.length) {\n url += \"?args[]=\" + encodeURIComponent(arguments[1]);\n for (var i = 2; i < arguments.length; i++)\n url += \"&args[]=\" + encodeURIComponent(arguments[i]);\n }\n return (\n \"Minified React error #\" +\n code +\n \"; visit \" +\n url +\n \" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\"\n );\n}\nvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\"),\n REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n REACT_SCOPE_TYPE = Symbol.for(\"react.scope\"),\n REACT_ACTIVITY_TYPE = Symbol.for(\"react.activity\"),\n REACT_LEGACY_HIDDEN_TYPE = Symbol.for(\"react.legacy_hidden\"),\n REACT_MEMO_CACHE_SENTINEL = Symbol.for(\"react.memo_cache_sentinel\"),\n REACT_VIEW_TRANSITION_TYPE = Symbol.for(\"react.view_transition\"),\n MAYBE_ITERATOR_SYMBOL = Symbol.iterator;\nfunction getIteratorFn(maybeIterable) {\n if (null === maybeIterable || \"object\" !== typeof maybeIterable) return null;\n maybeIterable =\n (MAYBE_ITERATOR_SYMBOL && maybeIterable[MAYBE_ITERATOR_SYMBOL]) ||\n maybeIterable[\"@@iterator\"];\n return \"function\" === typeof maybeIterable ? maybeIterable : null;\n}\nvar isArrayImpl = Array.isArray;\nfunction murmurhash3_32_gc(key, seed) {\n var remainder = key.length & 3;\n var bytes = key.length - remainder;\n var h1 = seed;\n for (seed = 0; seed < bytes; ) {\n var k1 =\n (key.charCodeAt(seed) & 255) |\n ((key.charCodeAt(++seed) & 255) << 8) |\n ((key.charCodeAt(++seed) & 255) << 16) |\n ((key.charCodeAt(++seed) & 255) << 24);\n ++seed;\n k1 =\n (3432918353 * (k1 & 65535) +\n (((3432918353 * (k1 >>> 16)) & 65535) << 16)) &\n 4294967295;\n k1 = (k1 << 15) | (k1 >>> 17);\n k1 =\n (461845907 * (k1 & 65535) + (((461845907 * (k1 >>> 16)) & 65535) << 16)) &\n 4294967295;\n h1 ^= k1;\n h1 = (h1 << 13) | (h1 >>> 19);\n h1 = (5 * (h1 & 65535) + (((5 * (h1 >>> 16)) & 65535) << 16)) & 4294967295;\n h1 = (h1 & 65535) + 27492 + ((((h1 >>> 16) + 58964) & 65535) << 16);\n }\n k1 = 0;\n switch (remainder) {\n case 3:\n k1 ^= (key.charCodeAt(seed + 2) & 255) << 16;\n case 2:\n k1 ^= (key.charCodeAt(seed + 1) & 255) << 8;\n case 1:\n (k1 ^= key.charCodeAt(seed) & 255),\n (k1 =\n (3432918353 * (k1 & 65535) +\n (((3432918353 * (k1 >>> 16)) & 65535) << 16)) &\n 4294967295),\n (k1 = (k1 << 15) | (k1 >>> 17)),\n (h1 ^=\n (461845907 * (k1 & 65535) +\n (((461845907 * (k1 >>> 16)) & 65535) << 16)) &\n 4294967295);\n }\n h1 ^= key.length;\n h1 ^= h1 >>> 16;\n h1 =\n (2246822507 * (h1 & 65535) + (((2246822507 * (h1 >>> 16)) & 65535) << 16)) &\n 4294967295;\n h1 ^= h1 >>> 13;\n h1 =\n (3266489909 * (h1 & 65535) + (((3266489909 * (h1 >>> 16)) & 65535) << 16)) &\n 4294967295;\n return (h1 ^ (h1 >>> 16)) >>> 0;\n}\nvar channel = new MessageChannel(),\n taskQueue = [];\nchannel.port1.onmessage = function () {\n var task = taskQueue.shift();\n task && task();\n};\nfunction scheduleWork(callback) {\n taskQueue.push(callback);\n channel.port2.postMessage(null);\n}\nfunction handleErrorInNextTick(error) {\n setTimeout(function () {\n throw error;\n });\n}\nvar LocalPromise = Promise,\n scheduleMicrotask =\n \"function\" === typeof queueMicrotask\n ? queueMicrotask\n : function (callback) {\n LocalPromise.resolve(null)\n .then(callback)\n .catch(handleErrorInNextTick);\n },\n currentView = null,\n writtenBytes = 0;\nfunction writeChunk(destination, chunk) {\n if (0 !== chunk.byteLength)\n if (2048 < chunk.byteLength)\n 0 < writtenBytes &&\n (destination.enqueue(\n new Uint8Array(currentView.buffer, 0, writtenBytes)\n ),\n (currentView = new Uint8Array(2048)),\n (writtenBytes = 0)),\n destination.enqueue(chunk);\n else {\n var allowableBytes = currentView.length - writtenBytes;\n allowableBytes < chunk.byteLength &&\n (0 === allowableBytes\n ? destination.enqueue(currentView)\n : (currentView.set(chunk.subarray(0, allowableBytes), writtenBytes),\n destination.enqueue(currentView),\n (chunk = chunk.subarray(allowableBytes))),\n (currentView = new Uint8Array(2048)),\n (writtenBytes = 0));\n currentView.set(chunk, writtenBytes);\n writtenBytes += chunk.byteLength;\n }\n}\nfunction writeChunkAndReturn(destination, chunk) {\n writeChunk(destination, chunk);\n return !0;\n}\nfunction completeWriting(destination) {\n currentView &&\n 0 < writtenBytes &&\n (destination.enqueue(new Uint8Array(currentView.buffer, 0, writtenBytes)),\n (currentView = null),\n (writtenBytes = 0));\n}\nvar textEncoder = new TextEncoder();\nfunction stringToChunk(content) {\n return textEncoder.encode(content);\n}\nfunction stringToPrecomputedChunk(content) {\n return textEncoder.encode(content);\n}\nfunction byteLengthOfChunk(chunk) {\n return chunk.byteLength;\n}\nfunction closeWithError(destination, error) {\n \"function\" === typeof destination.error\n ? destination.error(error)\n : destination.close();\n}\nvar assign = Object.assign,\n hasOwnProperty = Object.prototype.hasOwnProperty,\n VALID_ATTRIBUTE_NAME_REGEX = RegExp(\n \"^[:A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD][:A-Z_a-z\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD\\\\-.0-9\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040]*$\"\n ),\n illegalAttributeNameCache = {},\n validatedAttributeNameCache = {};\nfunction isAttributeNameSafe(attributeName) {\n if (hasOwnProperty.call(validatedAttributeNameCache, attributeName))\n return !0;\n if (hasOwnProperty.call(illegalAttributeNameCache, attributeName)) return !1;\n if (VALID_ATTRIBUTE_NAME_REGEX.test(attributeName))\n return (validatedAttributeNameCache[attributeName] = !0);\n illegalAttributeNameCache[attributeName] = !0;\n return !1;\n}\nvar unitlessNumbers = new Set(\n \"animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp\".split(\n \" \"\n )\n ),\n aliases = new Map([\n [\"acceptCharset\", \"accept-charset\"],\n [\"htmlFor\", \"for\"],\n [\"httpEquiv\", \"http-equiv\"],\n [\"crossOrigin\", \"crossorigin\"],\n [\"accentHeight\", \"accent-height\"],\n [\"alignmentBaseline\", \"alignment-baseline\"],\n [\"arabicForm\", \"arabic-form\"],\n [\"baselineShift\", \"baseline-shift\"],\n [\"capHeight\", \"cap-height\"],\n [\"clipPath\", \"clip-path\"],\n [\"clipRule\", \"clip-rule\"],\n [\"colorInterpolation\", \"color-interpolation\"],\n [\"colorInterpolationFilters\", \"color-interpolation-filters\"],\n [\"colorProfile\", \"color-profile\"],\n [\"colorRendering\", \"color-rendering\"],\n [\"dominantBaseline\", \"dominant-baseline\"],\n [\"enableBackground\", \"enable-background\"],\n [\"fillOpacity\", \"fill-opacity\"],\n [\"fillRule\", \"fill-rule\"],\n [\"floodColor\", \"flood-color\"],\n [\"floodOpacity\", \"flood-opacity\"],\n [\"fontFamily\", \"font-family\"],\n [\"fontSize\", \"font-size\"],\n [\"fontSizeAdjust\", \"font-size-adjust\"],\n [\"fontStretch\", \"font-stretch\"],\n [\"fontStyle\", \"font-style\"],\n [\"fontVariant\", \"font-variant\"],\n [\"fontWeight\", \"font-weight\"],\n [\"glyphName\", \"glyph-name\"],\n [\"glyphOrientationHorizontal\", \"glyph-orientation-horizontal\"],\n [\"glyphOrientationVertical\", \"glyph-orientation-vertical\"],\n [\"horizAdvX\", \"horiz-adv-x\"],\n [\"horizOriginX\", \"horiz-origin-x\"],\n [\"imageRendering\", \"image-rendering\"],\n [\"letterSpacing\", \"letter-spacing\"],\n [\"lightingColor\", \"lighting-color\"],\n [\"markerEnd\", \"marker-end\"],\n [\"markerMid\", \"marker-mid\"],\n [\"markerStart\", \"marker-start\"],\n [\"overlinePosition\", \"overline-position\"],\n [\"overlineThickness\", \"overline-thickness\"],\n [\"paintOrder\", \"paint-order\"],\n [\"panose-1\", \"panose-1\"],\n [\"pointerEvents\", \"pointer-events\"],\n [\"renderingIntent\", \"rendering-intent\"],\n [\"shapeRendering\", \"shape-rendering\"],\n [\"stopColor\", \"stop-color\"],\n [\"stopOpacity\", \"stop-opacity\"],\n [\"strikethroughPosition\", \"strikethrough-position\"],\n [\"strikethroughThickness\", \"strikethrough-thickness\"],\n [\"strokeDasharray\", \"stroke-dasharray\"],\n [\"strokeDashoffset\", \"stroke-dashoffset\"],\n [\"strokeLinecap\", \"stroke-linecap\"],\n [\"strokeLinejoin\", \"stroke-linejoin\"],\n [\"strokeMiterlimit\", \"stroke-miterlimit\"],\n [\"strokeOpacity\", \"stroke-opacity\"],\n [\"strokeWidth\", \"stroke-width\"],\n [\"textAnchor\", \"text-anchor\"],\n [\"textDecoration\", \"text-decoration\"],\n [\"textRendering\", \"text-rendering\"],\n [\"transformOrigin\", \"transform-origin\"],\n [\"underlinePosition\", \"underline-position\"],\n [\"underlineThickness\", \"underline-thickness\"],\n [\"unicodeBidi\", \"unicode-bidi\"],\n [\"unicodeRange\", \"unicode-range\"],\n [\"unitsPerEm\", \"units-per-em\"],\n [\"vAlphabetic\", \"v-alphabetic\"],\n [\"vHanging\", \"v-hanging\"],\n [\"vIdeographic\", \"v-ideographic\"],\n [\"vMathematical\", \"v-mathematical\"],\n [\"vectorEffect\", \"vector-effect\"],\n [\"vertAdvY\", \"vert-adv-y\"],\n [\"vertOriginX\", \"vert-origin-x\"],\n [\"vertOriginY\", \"vert-origin-y\"],\n [\"wordSpacing\", \"word-spacing\"],\n [\"writingMode\", \"writing-mode\"],\n [\"xmlnsXlink\", \"xmlns:xlink\"],\n [\"xHeight\", \"x-height\"]\n ]),\n matchHtmlRegExp = /[\"'&<>]/;\nfunction escapeTextForBrowser(text) {\n if (\n \"boolean\" === typeof text ||\n \"number\" === typeof text ||\n \"bigint\" === typeof text\n )\n return \"\" + text;\n text = \"\" + text;\n var match = matchHtmlRegExp.exec(text);\n if (match) {\n var html = \"\",\n index,\n lastIndex = 0;\n for (index = match.index; index < text.length; index++) {\n switch (text.charCodeAt(index)) {\n case 34:\n match = \""\";\n break;\n case 38:\n match = \"&\";\n break;\n case 39:\n match = \"'\";\n break;\n case 60:\n match = \"<\";\n break;\n case 62:\n match = \">\";\n break;\n default:\n continue;\n }\n lastIndex !== index && (html += text.slice(lastIndex, index));\n lastIndex = index + 1;\n html += match;\n }\n text = lastIndex !== index ? html + text.slice(lastIndex, index) : html;\n }\n return text;\n}\nvar uppercasePattern = /([A-Z])/g,\n msPattern = /^ms-/,\n isJavaScriptProtocol =\n /^[\\u0000-\\u001F ]*j[\\r\\n\\t]*a[\\r\\n\\t]*v[\\r\\n\\t]*a[\\r\\n\\t]*s[\\r\\n\\t]*c[\\r\\n\\t]*r[\\r\\n\\t]*i[\\r\\n\\t]*p[\\r\\n\\t]*t[\\r\\n\\t]*:/i;\nfunction sanitizeURL(url) {\n return isJavaScriptProtocol.test(\"\" + url)\n ? \"javascript:throw new Error('React has blocked a javascript: URL as a security precaution.')\"\n : url;\n}\nvar ReactSharedInternals =\n React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n ReactDOMSharedInternals =\n ReactDOM.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,\n sharedNotPendingObject = {\n pending: !1,\n data: null,\n method: null,\n action: null\n },\n previousDispatcher = ReactDOMSharedInternals.d;\nReactDOMSharedInternals.d = {\n f: previousDispatcher.f,\n r: previousDispatcher.r,\n D: prefetchDNS,\n C: preconnect,\n L: preload,\n m: preloadModule,\n X: preinitScript,\n S: preinitStyle,\n M: preinitModuleScript\n};\nvar PRELOAD_NO_CREDS = [],\n currentlyFlushingRenderState = null;\nstringToPrecomputedChunk('\"></template>');\nvar startInlineScript = stringToPrecomputedChunk(\"<script\"),\n endInlineScript = stringToPrecomputedChunk(\"\\x3c/script>\"),\n startScriptSrc = stringToPrecomputedChunk('<script src=\"'),\n startModuleSrc = stringToPrecomputedChunk('<script type=\"module\" src=\"'),\n scriptNonce = stringToPrecomputedChunk(' nonce=\"'),\n scriptIntegirty = stringToPrecomputedChunk(' integrity=\"'),\n scriptCrossOrigin = stringToPrecomputedChunk(' crossorigin=\"'),\n endAsyncScript = stringToPrecomputedChunk(' async=\"\">\\x3c/script>'),\n startInlineStyle = stringToPrecomputedChunk(\"<style\"),\n scriptRegex = /(<\\/|<)(s)(cript)/gi;\nfunction scriptReplacer(match, prefix, s, suffix) {\n return \"\" + prefix + (\"s\" === s ? \"\\\\u0073\" : \"\\\\u0053\") + suffix;\n}\nvar importMapScriptStart = stringToPrecomputedChunk(\n '<script type=\"importmap\">'\n ),\n importMapScriptEnd = stringToPrecomputedChunk(\"\\x3c/script>\");\nfunction createRenderState(\n resumableState,\n nonce,\n externalRuntimeConfig,\n importMap,\n onHeaders,\n maxHeadersLength\n) {\n externalRuntimeConfig =\n \"string\" === typeof nonce ? nonce : nonce && nonce.script;\n var inlineScriptWithNonce =\n void 0 === externalRuntimeConfig\n ? startInlineScript\n : stringToPrecomputedChunk(\n '<script nonce=\"' +\n escapeTextForBrowser(externalRuntimeConfig) +\n '\"'\n ),\n nonceStyle = \"string\" === typeof nonce ? void 0 : nonce && nonce.style,\n inlineStyleWithNonce =\n void 0 === nonceStyle\n ? startInlineStyle\n : stringToPrecomputedChunk(\n '<style nonce=\"' + escapeTextForBrowser(nonceStyle) + '\"'\n ),\n idPrefix = resumableState.idPrefix,\n bootstrapChunks = [],\n bootstrapScriptContent = resumableState.bootstrapScriptContent,\n bootstrapScripts = resumableState.bootstrapScripts,\n bootstrapModules = resumableState.bootstrapModules;\n void 0 !== bootstrapScriptContent &&\n (bootstrapChunks.push(inlineScriptWithNonce),\n pushCompletedShellIdAttribute(bootstrapChunks, resumableState),\n bootstrapChunks.push(\n endOfStartTag,\n stringToChunk(\n (\"\" + bootstrapScriptContent).replace(scriptRegex, scriptReplacer)\n ),\n endInlineScript\n ));\n bootstrapScriptContent = [];\n void 0 !== importMap &&\n (bootstrapScriptContent.push(importMapScriptStart),\n bootstrapScriptContent.push(\n stringToChunk(\n (\"\" + JSON.stringify(importMap)).replace(scriptRegex, scriptReplacer)\n )\n ),\n bootstrapScriptContent.push(importMapScriptEnd));\n importMap = onHeaders\n ? {\n preconnects: \"\",\n fontPreloads: \"\",\n highImagePreloads: \"\",\n remainingCapacity:\n 2 + (\"number\" === typeof maxHeadersLength ? maxHeadersLength : 2e3)\n }\n : null;\n onHeaders = {\n placeholderPrefix: stringToPrecomputedChunk(idPrefix + \"P:\"),\n segmentPrefix: stringToPrecomputedChunk(idPrefix + \"S:\"),\n boundaryPrefix: stringToPrecomputedChunk(idPrefix + \"B:\"),\n startInlineScript: inlineScriptWithNonce,\n startInlineStyle: inlineStyleWithNonce,\n preamble: createPreambleState(),\n externalRuntimeScript: null,\n bootstrapChunks: bootstrapChunks,\n importMapChunks: bootstrapScriptContent,\n onHeaders: onHeaders,\n headers: importMap,\n resets: {\n font: {},\n dns: {},\n connect: { default: {}, anonymous: {}, credentials: {} },\n image: {},\n style: {}\n },\n charsetChunks: [],\n viewportChunks: [],\n hoistableChunks: [],\n preconnects: new Set(),\n fontPreloads: new Set(),\n highImagePreloads: new Set(),\n styles: new Map(),\n bootstrapScripts: new Set(),\n scripts: new Set(),\n bulkPreloads: new Set(),\n preloads: {\n images: new Map(),\n stylesheets: new Map(),\n scripts: new Map(),\n moduleScripts: new Map()\n },\n nonce: { script: externalRuntimeConfig, style: nonceStyle },\n hoistableState: null,\n stylesToHoist: !1\n };\n if (void 0 !== bootstrapScripts)\n for (importMap = 0; importMap < bootstrapScripts.length; importMap++)\n (idPrefix = bootstrapScripts[importMap]),\n (nonceStyle = inlineScriptWithNonce = void 0),\n (inlineStyleWithNonce = {\n rel: \"preload\",\n as: \"script\",\n fetchPriority: \"low\",\n nonce: nonce\n }),\n \"string\" === typeof idPrefix\n ? (inlineStyleWithNonce.href = maxHeadersLength = idPrefix)\n : ((inlineStyleWithNonce.href = maxHeadersLength = idPrefix.src),\n (inlineStyleWithNonce.integrity = nonceStyle =\n \"string\" === typeof idPrefix.integrity\n ? idPrefix.integrity\n : void 0),\n (inlineStyleWithNonce.crossOrigin = inlineScriptWithNonce =\n \"string\" === typeof idPrefix || null == idPrefix.crossOrigin\n ? void 0\n : \"use-credentials\" === idPrefix.crossOrigin\n ? \"use-credentials\"\n : \"\")),\n (idPrefix = resumableState),\n (bootstrapScriptContent = maxHeadersLength),\n (idPrefix.scriptResources[bootstrapScriptContent] = null),\n (idPrefix.moduleScriptResources[bootstrapScriptContent] = null),\n (idPrefix = []),\n pushLinkImpl(idPrefix, inlineStyleWithNonce),\n onHeaders.bootstrapScripts.add(idPrefix),\n bootstrapChunks.push(\n startScriptSrc,\n stringToChunk(escapeTextForBrowser(maxHeadersLength)),\n attributeEnd\n ),\n externalRuntimeConfig &&\n bootstrapChunks.push(\n scriptNonce,\n stringToChunk(escapeTextForBrowser(externalRuntimeConfig)),\n attributeEnd\n ),\n \"string\" === typeof nonceStyle &&\n bootstrapChunks.push(\n scriptIntegirty,\n stringToChunk(escapeTextForBrowser(nonceStyle)),\n attributeEnd\n ),\n \"string\" === typeof inlineScriptWithNonce &&\n bootstrapChunks.push(\n scriptCrossOrigin,\n stringToChunk(escapeTextForBrowser(inlineScriptWithNonce)),\n attributeEnd\n ),\n pushCompletedShellIdAttribute(bootstrapChunks, resumableState),\n bootstrapChunks.push(endAsyncScript);\n if (void 0 !== bootstrapModules)\n for (nonce = 0; nonce < bootstrapModules.length; nonce++)\n (nonceStyle = bootstrapModules[nonce]),\n (maxHeadersLength = importMap = void 0),\n (inlineScriptWithNonce = {\n rel: \"modulepreload\",\n fetchPriority: \"low\",\n nonce: externalRuntimeConfig\n }),\n \"string\" === typeof nonceStyle\n ? (inlineScriptWithNonce.href = bootstrapScripts = nonceStyle)\n : ((inlineScriptWithNonce.href = bootstrapScripts = nonceStyle.src),\n (inlineScriptWithNonce.integrity = maxHeadersLength =\n \"string\" === typeof nonceStyle.integrity\n ? nonceStyle.integrity\n : void 0),\n (inlineScriptWithNonce.crossOrigin = importMap =\n \"string\" === typeof nonceStyle || null == nonceStyle.crossOrigin\n ? void 0\n : \"use-credentials\" === nonceStyle.crossOrigin\n ? \"use-credentials\"\n : \"\")),\n (nonceStyle = resumableState),\n (inlineStyleWithNonce = bootstrapScripts),\n (nonceStyle.scriptResources[inlineStyleWithNonce] = null),\n (nonceStyle.moduleScriptResources[inlineStyleWithNonce] = null),\n (nonceStyle = []),\n pushLinkImpl(nonceStyle, inlineScriptWithNonce),\n onHeaders.bootstrapScripts.add(nonceStyle),\n bootstrapChunks.push(\n startModuleSrc,\n stringToChunk(escapeTextForBrowser(bootstrapScripts)),\n attributeEnd\n ),\n externalRuntimeConfig &&\n bootstrapChunks.push(\n scriptNonce,\n stringToChunk(escapeTextForBrowser(externalRuntimeConfig)),\n attributeEnd\n ),\n \"string\" === typeof maxHeadersLength &&\n bootstrapChunks.push(\n scriptIntegirty,\n stringToChunk(escapeTextForBrowser(maxHeadersLength)),\n attributeEnd\n ),\n \"string\" === typeof importMap &&\n bootstrapChunks.push(\n scriptCrossOrigin,\n stringToChunk(escapeTextForBrowser(importMap)),\n attributeEnd\n ),\n pushCompletedShellIdAttribute(bootstrapChunks, resumableState),\n bootstrapChunks.push(endAsyncScript);\n return onHeaders;\n}\nfunction createResumableState(\n identifierPrefix,\n externalRuntimeConfig,\n bootstrapScriptContent,\n bootstrapScripts,\n bootstrapModules\n) {\n return {\n idPrefix: void 0 === identifierPrefix ? \"\" : identifierPrefix,\n nextFormID: 0,\n streamingFormat: 0,\n bootstrapScriptContent: bootstrapScriptContent,\n bootstrapScripts: bootstrapScripts,\n bootstrapModules: bootstrapModules,\n instructions: 0,\n hasBody: !1,\n hasHtml: !1,\n unknownResources: {},\n dnsResources: {},\n connectResources: { default: {}, anonymous: {}, credentials: {} },\n imageResources: {},\n styleResources: {},\n scriptResources: {},\n moduleUnknownResources: {},\n moduleScriptResources: {}\n };\n}\nfunction createPreambleState() {\n return { htmlChunks: null, headChunks: null, bodyChunks: null };\n}\nfunction createFormatContext(\n insertionMode,\n selectedValue,\n tagScope,\n viewTransition\n) {\n return {\n insertionMode: insertionMode,\n selectedValue: selectedValue,\n tagScope: tagScope,\n viewTransition: viewTransition\n };\n}\nfunction createRootFormatContext(namespaceURI) {\n return createFormatContext(\n \"http://www.w3.org/2000/svg\" === namespaceURI\n ? 4\n : \"http://www.w3.org/1998/Math/MathML\" === namespaceURI\n ? 5\n : 0,\n null,\n 0,\n null\n );\n}\nfunction getChildFormatContext(parentContext, type, props) {\n var subtreeScope = parentContext.tagScope & -25;\n switch (type) {\n case \"noscript\":\n return createFormatContext(2, null, subtreeScope | 1, null);\n case \"select\":\n return createFormatContext(\n 2,\n null != props.value ? props.value : props.defaultValue,\n subtreeScope,\n null\n );\n case \"svg\":\n return createFormatContext(4, null, subtreeScope, null);\n case \"picture\":\n return createFormatContext(2, null, subtreeScope | 2, null);\n case \"math\":\n return createFormatContext(5, null, subtreeScope, null);\n case \"foreignObject\":\n return createFormatContext(2, null, subtreeScope, null);\n case \"table\":\n return createFormatContext(6, null, subtreeScope, null);\n case \"thead\":\n case \"tbody\":\n case \"tfoot\":\n return createFormatContext(7, null, subtreeScope, null);\n case \"colgroup\":\n return createFormatContext(9, null, subtreeScope, null);\n case \"tr\":\n return createFormatContext(8, null, subtreeScope, null);\n case \"head\":\n if (2 > parentContext.insertionMode)\n return createFormatContext(3, null, subtreeScope, null);\n break;\n case \"html\":\n if (0 === parentContext.insertionMode)\n return createFormatContext(1, null, subtreeScope, null);\n }\n return 6 <= parentContext.insertionMode || 2 > parentContext.insertionMode\n ? createFormatContext(2, null, subtreeScope, null)\n : parentContext.tagScope !== subtreeScope\n ? createFormatContext(\n parentContext.insertionMode,\n parentContext.selectedValue,\n subtreeScope,\n null\n )\n : parentContext;\n}\nfunction getSuspenseViewTransition(parentViewTransition) {\n return null === parentViewTransition\n ? null\n : {\n update: parentViewTransition.update,\n enter: \"none\",\n exit: \"none\",\n share: parentViewTransition.update,\n name: parentViewTransition.autoName,\n autoName: parentViewTransition.autoName,\n nameIdx: 0\n };\n}\nfunction getSuspenseFallbackFormatContext(resumableState, parentContext) {\n parentContext.tagScope & 32 && (resumableState.instructions |= 128);\n return createFormatContext(\n parentContext.insertionMode,\n parentContext.selectedValue,\n parentContext.tagScope | 12,\n getSuspenseViewTransition(parentContext.viewTransition)\n );\n}\nfunction getSuspenseContentFormatContext(resumableState, parentContext) {\n resumableState = getSuspenseViewTransition(parentContext.viewTransition);\n var subtreeScope = parentContext.tagScope | 16;\n null !== resumableState &&\n \"none\" !== resumableState.share &&\n (subtreeScope |= 64);\n return createFormatContext(\n parentContext.insertionMode,\n parentContext.selectedValue,\n subtreeScope,\n resumableState\n );\n}\nvar textSeparator = stringToPrecomputedChunk(\"\\x3c!-- --\\x3e\");\nfunction pushTextInstance(target, text, renderState, textEmbedded) {\n if (\"\" === text) return textEmbedded;\n textEmbedded && target.push(textSeparator);\n target.push(stringToChunk(escapeTextForBrowser(text)));\n return !0;\n}\nvar styleNameCache = new Map(),\n styleAttributeStart = stringToPrecomputedChunk(' style=\"'),\n styleAssign = stringToPrecomputedChunk(\":\"),\n styleSeparator = stringToPrecomputedChunk(\";\");\nfunction pushStyleAttribute(target, style) {\n if (\"object\" !== typeof style) throw Error(formatProdErrorMessage(62));\n var isFirst = !0,\n styleName;\n for (styleName in style)\n if (hasOwnProperty.call(style, styleName)) {\n var styleValue = style[styleName];\n if (\n null != styleValue &&\n \"boolean\" !== typeof styleValue &&\n \"\" !== styleValue\n ) {\n if (0 === styleName.indexOf(\"--\")) {\n var nameChunk = stringToChunk(escapeTextForBrowser(styleName));\n styleValue = stringToChunk(\n escapeTextForBrowser((\"\" + styleValue).trim())\n );\n } else\n (nameChunk = styleNameCache.get(styleName)),\n void 0 === nameChunk &&\n ((nameChunk = stringToPrecomputedChunk(\n escapeTextForBrowser(\n styleName\n .replace(uppercasePattern, \"-$1\")\n .toLowerCase()\n .replace(msPattern, \"-ms-\")\n )\n )),\n styleNameCache.set(styleName, nameChunk)),\n (styleValue =\n \"number\" === typeof styleValue\n ? 0 === styleValue || unitlessNumbers.has(styleName)\n ? stringToChunk(\"\" + styleValue)\n : stringToChunk(styleValue + \"px\")\n : stringToChunk(\n escapeTextForBrowser((\"\" + styleValue).trim())\n ));\n isFirst\n ? ((isFirst = !1),\n target.push(\n styleAttributeStart,\n nameChunk,\n styleAssign,\n styleValue\n ))\n : target.push(styleSeparator, nameChunk, styleAssign, styleValue);\n }\n }\n isFirst || target.push(attributeEnd);\n}\nvar attributeSeparator = stringToPrecomputedChunk(\" \"),\n attributeAssign = stringToPrecomputedChunk('=\"'),\n attributeEnd = stringToPrecomputedChunk('\"'),\n attributeEmptyString = stringToPrecomputedChunk('=\"\"');\nfunction pushBooleanAttribute(target, name, value) {\n value &&\n \"function\" !== typeof value &&\n \"symbol\" !== typeof value &&\n target.push(attributeSeparator, stringToChunk(name), attributeEmptyString);\n}\nfunction pushStringAttribute(target, name, value) {\n \"function\" !== typeof value &&\n \"symbol\" !== typeof value &&\n \"boolean\" !== typeof value &&\n target.push(\n attributeSeparator,\n stringToChunk(name),\n attributeAssign,\n stringToChunk(escapeTextForBrowser(value)),\n attributeEnd\n );\n}\nvar actionJavaScriptURL = stringToPrecomputedChunk(\n escapeTextForBrowser(\n \"javascript:throw new Error('React form unexpectedly submitted.')\"\n )\n ),\n startHiddenInputChunk = stringToPrecomputedChunk('<input type=\"hidden\"');\nfunction pushAdditionalFormField(value, key) {\n this.push(startHiddenInputChunk);\n validateAdditionalFormField(value);\n pushStringAttribute(this, \"name\", key);\n pushStringAttribute(this, \"value\", value);\n this.push(endOfStartTagSelfClosing);\n}\nfunction validateAdditionalFormField(value) {\n if (\"string\" !== typeof value) throw Error(formatProdErrorMessage(480));\n}\nfunction getCustomFormFields(resumableState, formAction) {\n if (\"function\" === typeof formAction.$$FORM_ACTION) {\n var id = resumableState.nextFormID++;\n resumableState = resumableState.idPrefix + id;\n try {\n var customFields = formAction.$$FORM_ACTION(resumableState);\n if (customFields) {\n var formData = customFields.data;\n null != formData && formData.forEach(validateAdditionalFormField);\n }\n return customFields;\n } catch (x) {\n if (\"object\" === typeof x && null !== x && \"function\" === typeof x.then)\n throw x;\n }\n }\n return null;\n}\nfunction pushFormActionAttribute(\n target,\n resumableState,\n renderState,\n formAction,\n formEncType,\n formMethod,\n formTarget,\n name\n) {\n var formData = null;\n if (\"function\" === typeof formAction) {\n var customFields = getCustomFormFields(resumableState, formAction);\n null !== customFields\n ? ((name = customFields.name),\n (formAction = customFields.action || \"\"),\n (formEncType = customFields.encType),\n (formMethod = customFields.method),\n (formTarget = customFields.target),\n (formData = customFields.data))\n : (target.push(\n attributeSeparator,\n stringToChunk(\"formAction\"),\n attributeAssign,\n actionJavaScriptURL,\n attributeEnd\n ),\n (formTarget = formMethod = formEncType = formAction = name = null),\n injectFormReplayingRuntime(resumableState, renderState));\n }\n null != name && pushAttribute(target, \"name\", name);\n null != formAction && pushAttribute(target, \"formAction\", formAction);\n null != formEncType && pushAttribute(target, \"formEncType\", formEncType);\n null != formMethod && pushAttribute(target, \"formMethod\", formMethod);\n null != formTarget && pushAttribute(target, \"formTarget\", formTarget);\n return formData;\n}\nfunction pushAttribute(target, name, value) {\n switch (name) {\n case \"className\":\n pushStringAttribute(target, \"class\", value);\n break;\n case \"tabIndex\":\n pushStringAttribute(target, \"tabindex\", value);\n break;\n case \"dir\":\n case \"role\":\n case \"viewBox\":\n case \"width\":\n case \"height\":\n pushStringAttribute(target, name, value);\n break;\n case \"style\":\n pushStyleAttribute(target, value);\n break;\n case \"src\":\n case \"href\":\n if (\"\" === value) break;\n case \"action\":\n case \"formAction\":\n if (\n null == value ||\n \"function\" === typeof value ||\n \"symbol\" === typeof value ||\n \"boolean\" === typeof value\n )\n break;\n value = sanitizeURL(\"\" + value);\n target.push(\n attributeSeparator,\n stringToChunk(name),\n attributeAssign,\n stringToChunk(escapeTextForBrowser(value)),\n attributeEnd\n );\n break;\n case \"defaultValue\":\n case \"defaultChecked\":\n case \"innerHTML\":\n case \"suppressContentEditableWarning\":\n case \"suppressHydrationWarning\":\n case \"ref\":\n break;\n case \"autoFocus\":\n case \"multiple\":\n case \"muted\":\n pushBooleanAttribute(target, name.toLowerCase(), value);\n break;\n case \"xlinkHref\":\n if (\n \"function\" === typeof value ||\n \"symbol\" === typeof value ||\n \"boolean\" === typeof value\n )\n break;\n value = sanitizeURL(\"\" + value);\n target.push(\n attributeSeparator,\n stringToChunk(\"xlink:href\"),\n attributeAssign,\n stringToChunk(escapeTextForBrowser(value)),\n attributeEnd\n );\n break;\n case \"contentEditable\":\n case \"spellCheck\":\n case \"draggable\":\n case \"value\":\n case \"autoReverse\":\n case \"externalResourcesRequired\":\n case \"focusable\":\n case \"preserveAlpha\":\n \"function\" !== typeof value &&\n \"symbol\" !== typeof value &&\n target.push(\n attributeSeparator,\n stringToChunk(name),\n attributeAssign,\n stringToChunk(escapeTextForBrowser(value)),\n attributeEnd\n );\n break;\n case \"inert\":\n case \"allowFullScreen\":\n case \"async\":\n case \"autoPlay\":\n case \"controls\":\n case \"default\":\n case \"defer\":\n case \"disabled\":\n case \"disablePictureInPicture\":\n case \"disableRemotePlayback\":\n case \"formNoValidate\":\n case \"hidden\":\n case \"loop\":\n case \"noModule\":\n case \"noValidate\":\n case \"open\":\n case \"playsInline\":\n case \"readOnly\":\n case \"required\":\n case \"reversed\":\n case \"scoped\":\n case \"seamless\":\n case \"itemScope\":\n value &&\n \"function\" !== typeof value &&\n \"symbol\" !== typeof value &&\n target.push(\n attributeSeparator,\n stringToChunk(name),\n attributeEmptyString\n );\n break;\n case \"capture\":\n case \"download\":\n !0 === value\n ? target.push(\n attributeSeparator,\n stringToChunk(name),\n attributeEmptyString\n )\n : !1 !== value &&\n \"function\" !== typeof value &&\n \"symbol\" !== typeof value &&\n target.push(\n attributeSeparator,\n stringToChunk(name),\n attributeAssign,\n stringToChunk(escapeTextForBrowser(value)),\n attributeEnd\n );\n break;\n case \"cols\":\n case \"rows\":\n case \"size\":\n case \"span\":\n \"function\" !== typeof value &&\n \"symbol\" !== typeof value &&\n !isNaN(value) &&\n 1 <= value &&\n target.push(\n attributeSeparator,\n stringToChunk(name),\n attributeAssign,\n stringToChunk(escapeTextForBrowser(value)),\n attributeEnd\n );\n break;\n case \"rowSpan\":\n case \"start\":\n \"function\" === typeof value ||\n \"symbol\" === typeof value ||\n isNaN(value) ||\n target.push(\n attributeSeparator,\n stringToChunk(name),\n attributeAssign,\n stringToChunk(escapeTextForBrowser(value)),\n attributeEnd\n );\n break;\n case \"xlinkActuate\":\n pushStringAttribute(target, \"xlink:actuate\", value);\n break;\n case \"xlinkArcrole\":\n pushStringAttribute(target, \"xlink:arcrole\", value);\n break;\n case \"xlinkRole\":\n pushStringAttribute(target, \"xlink:role\", value);\n break;\n case \"xlinkShow\":\n pushStringAttribute(target, \"xlink:show\", value);\n break;\n case \"xlinkTitle\":\n pushStringAttribute(target, \"xlink:title\", value);\n break;\n case \"xlinkType\":\n pushStringAttribute(target, \"xlink:type\", value);\n break;\n case \"xmlBase\":\n pushStringAttribute(target, \"xml:base\", value);\n break;\n case \"xmlLang\":\n pushStringAttribute(target, \"xml:lang\", value);\n break;\n case \"xmlSpace\":\n pushStringAttribute(target, \"xml:space\", value);\n break;\n default:\n if (\n !(2 < name.length) ||\n (\"o\" !== name[0] && \"O\" !== name[0]) ||\n (\"n\" !== name[1] && \"N\" !== name[1])\n )\n if (((name = aliases.get(name) || name), isAttributeNameSafe(name))) {\n switch (typeof value) {\n case \"function\":\n case \"symbol\":\n return;\n case \"boolean\":\n var prefix$8 = name.toLowerCase().slice(0, 5);\n if (\"data-\" !== prefix$8 && \"aria-\" !== prefix$8) return;\n }\n target.push(\n attributeSeparator,\n stringToChunk(name),\n attributeAssign,\n stringToChunk(escapeTextForBrowser(value)),\n attributeEnd\n );\n }\n }\n}\nvar endOfStartTag = stringToPrecomputedChunk(\">\"),\n endOfStartTagSelfClosing = stringToPrecomputedChunk(\"/>\");\nfunction pushInnerHTML(target, innerHTML, children) {\n if (null != innerHTML) {\n if (null != children) throw Error(formatProdErrorMessage(60));\n if (\"object\" !== typeof innerHTML || !(\"__html\" in innerHTML))\n throw Error(formatProdErrorMessage(61));\n innerHTML = innerHTML.__html;\n null !== innerHTML &&\n void 0 !== innerHTML &&\n target.push(stringToChunk(\"\" + innerHTML));\n }\n}\nfunction flattenOptionChildren(children) {\n var content = \"\";\n React.Children.forEach(children, function (child) {\n null != child && (content += child);\n });\n return content;\n}\nvar selectedMarkerAttribute = stringToPrecomputedChunk(' selected=\"\"'),\n formReplayingRuntimeScript = stringToPrecomputedChunk(\n 'addEventListener(\"submit\",function(a){if(!a.defaultPrevented){var c=a.target,d=a.submitter,e=c.action,b=d;if(d){var f=d.getAttribute(\"formAction\");null!=f&&(e=f,b=null)}\"javascript:throw new Error(\\'React form unexpectedly submitted.\\')\"===e&&(a.preventDefault(),b?(a=document.createElement(\"input\"),a.name=b.name,a.value=b.value,b.parentNode.insertBefore(a,b),b=new FormData(c),a.parentNode.removeChild(a)):b=new FormData(c),a=c.ownerDocument||c,(a.$$reactFormReplay=a.$$reactFormReplay||[]).push(c,d,b))}});'\n );\nfunction injectFormReplayingRuntime(resumableState, renderState) {\n if (0 === (resumableState.instructions & 16)) {\n resumableState.instructions |= 16;\n var preamble = renderState.preamble,\n bootstrapChunks = renderState.bootstrapChunks;\n (preamble.htmlChunks || preamble.headChunks) && 0 === bootstrapChunks.length\n ? (bootstrapChunks.push(renderState.startInlineScript),\n pushCompletedShellIdAttribute(bootstrapChunks, resumableState),\n bootstrapChunks.push(\n endOfStartTag,\n formReplayingRuntimeScript,\n endInlineScript\n ))\n : bootstrapChunks.unshift(\n renderState.startInlineScript,\n endOfStartTag,\n formReplayingRuntimeScript,\n endInlineScript\n );\n }\n}\nvar formStateMarkerIsMatching = stringToPrecomputedChunk(\"\\x3c!--F!--\\x3e\"),\n formStateMarkerIsNotMatching = stringToPrecomputedChunk(\"\\x3c!--F--\\x3e\");\nfunction pushLinkImpl(target, props) {\n target.push(startChunkForTag(\"link\"));\n for (var propKey in props)\n if (hasOwnProperty.call(props, propKey)) {\n var propValue = props[propKey];\n if (null != propValue)\n switch (propKey) {\n case \"children\":\n case \"dangerouslySetInnerHTML\":\n throw Error(formatProdErrorMessage(399, \"link\"));\n default:\n pushAttribute(target, propKey, propValue);\n }\n }\n target.push(endOfStartTagSelfClosing);\n return null;\n}\nvar styleRegex = /(<\\/|<)(s)(tyle)/gi;\nfunction styleReplacer(match, prefix, s, suffix) {\n return \"\" + prefix + (\"s\" === s ? \"\\\\73 \" : \"\\\\53 \") + suffix;\n}\nfunction pushSelfClosing(target, props, tag) {\n target.push(startChunkForTag(tag));\n for (var propKey in props)\n if (hasOwnProperty.call(props, propKey)) {\n var propValue = props[propKey];\n if (null != propValue)\n switch (propKey) {\n case \"children\":\n case \"dangerouslySetInnerHTML\":\n throw Error(formatProdErrorMessage(399, tag));\n default:\n pushAttribute(target, propKey, propValue);\n }\n }\n target.push(endOfStartTagSelfClosing);\n return null;\n}\nfunction pushTitleImpl(target, props) {\n target.push(startChunkForTag(\"title\"));\n var children = null,\n innerHTML = null,\n propKey;\n for (propKey in props)\n if (hasOwnProperty.call(props, propKey)) {\n var propValue = props[propKey];\n if (null != propValue)\n switch (propKey) {\n case \"children\":\n children = propValue;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML = propValue;\n break;\n default:\n pushAttribute(target, propKey, propValue);\n }\n }\n target.push(endOfStartTag);\n props = Array.isArray(children)\n ? 2 > children.length\n ? children[0]\n : null\n : children;\n \"function\" !== typeof props &&\n \"symbol\" !== typeof props &&\n null !== props &&\n void 0 !== props &&\n target.push(stringToChunk(escapeTextForBrowser(\"\" + props)));\n pushInnerHTML(target, innerHTML, children);\n target.push(endChunkForTag(\"title\"));\n return null;\n}\nvar headPreambleContributionChunk =\n stringToPrecomputedChunk(\"\\x3c!--head--\\x3e\"),\n bodyPreambleContributionChunk = stringToPrecomputedChunk(\"\\x3c!--body--\\x3e\"),\n htmlPreambleContributionChunk = stringToPrecomputedChunk(\"\\x3c!--html--\\x3e\");\nfunction pushScriptImpl(target, props) {\n target.push(startChunkForTag(\"script\"));\n var children = null,\n innerHTML = null,\n propKey;\n for (propKey in props)\n if (hasOwnProperty.call(props, propKey)) {\n var propValue = props[propKey];\n if (null != propValue)\n switch (propKey) {\n case \"children\":\n children = propValue;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML = propValue;\n break;\n default:\n pushAttribute(target, propKey, propValue);\n }\n }\n target.push(endOfStartTag);\n pushInnerHTML(target, innerHTML, children);\n \"string\" === typeof children &&\n target.push(\n stringToChunk((\"\" + children).replace(scriptRegex, scriptReplacer))\n );\n target.push(endChunkForTag(\"script\"));\n return null;\n}\nfunction pushStartSingletonElement(target, props, tag) {\n target.push(startChunkForTag(tag));\n var innerHTML = (tag = null),\n propKey;\n for (propKey in props)\n if (hasOwnProperty.call(props, propKey)) {\n var propValue = props[propKey];\n if (null != propValue)\n switch (propKey) {\n case \"children\":\n tag = propValue;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML = propValue;\n break;\n default:\n pushAttribute(target, propKey, propValue);\n }\n }\n target.push(endOfStartTag);\n pushInnerHTML(target, innerHTML, tag);\n return tag;\n}\nfunction pushStartGenericElement(target, props, tag) {\n target.push(startChunkForTag(tag));\n var innerHTML = (tag = null),\n propKey;\n for (propKey in props)\n if (hasOwnProperty.call(props, propKey)) {\n var propValue = props[propKey];\n if (null != propValue)\n switch (propKey) {\n case \"children\":\n tag = propValue;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML = propValue;\n break;\n default:\n pushAttribute(target, propKey, propValue);\n }\n }\n target.push(endOfStartTag);\n pushInnerHTML(target, innerHTML, tag);\n return \"string\" === typeof tag\n ? (target.push(stringToChunk(escapeTextForBrowser(tag))), null)\n : tag;\n}\nvar leadingNewline = stringToPrecomputedChunk(\"\\n\"),\n VALID_TAG_REGEX = /^[a-zA-Z][a-zA-Z:_\\.\\-\\d]*$/,\n validatedTagCache = new Map();\nfunction startChunkForTag(tag) {\n var tagStartChunk = validatedTagCache.get(tag);\n if (void 0 === tagStartChunk) {\n if (!VALID_TAG_REGEX.test(tag))\n throw Error(formatProdErrorMessage(65, tag));\n tagStartChunk = stringToPrecomputedChunk(\"<\" + tag);\n validatedTagCache.set(tag, tagStartChunk);\n }\n return tagStartChunk;\n}\nvar doctypeChunk = stringToPrecomputedChunk(\"<!DOCTYPE html>\");\nfunction pushStartInstance(\n target$jscomp$0,\n type,\n props,\n resumableState,\n renderState,\n preambleState,\n hoistableState,\n formatContext,\n textEmbedded\n) {\n switch (type) {\n case \"div\":\n case \"span\":\n case \"svg\":\n case \"path\":\n break;\n case \"a\":\n target$jscomp$0.push(startChunkForTag(\"a\"));\n var children = null,\n innerHTML = null,\n propKey;\n for (propKey in props)\n if (hasOwnProperty.call(props, propKey)) {\n var propValue = props[propKey];\n if (null != propValue)\n switch (propKey) {\n case \"children\":\n children = propValue;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML = propValue;\n break;\n case \"href\":\n \"\" === propValue\n ? pushStringAttribute(target$jscomp$0, \"href\", \"\")\n : pushAttribute(target$jscomp$0, propKey, propValue);\n break;\n default:\n pushAttribute(target$jscomp$0, propKey, propValue);\n }\n }\n target$jscomp$0.push(endOfStartTag);\n pushInnerHTML(target$jscomp$0, innerHTML, children);\n if (\"string\" === typeof children) {\n target$jscomp$0.push(stringToChunk(escapeTextForBrowser(children)));\n var JSCompiler_inline_result = null;\n } else JSCompiler_inline_result = children;\n return JSCompiler_inline_result;\n case \"g\":\n case \"p\":\n case \"li\":\n break;\n case \"select\":\n target$jscomp$0.push(startChunkForTag(\"select\"));\n var children$jscomp$0 = null,\n innerHTML$jscomp$0 = null,\n propKey$jscomp$0;\n for (propKey$jscomp$0 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$0)) {\n var propValue$jscomp$0 = props[propKey$jscomp$0];\n if (null != propValue$jscomp$0)\n switch (propKey$jscomp$0) {\n case \"children\":\n children$jscomp$0 = propValue$jscomp$0;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML$jscomp$0 = propValue$jscomp$0;\n break;\n case \"defaultValue\":\n case \"value\":\n break;\n default:\n pushAttribute(\n target$jscomp$0,\n propKey$jscomp$0,\n propValue$jscomp$0\n );\n }\n }\n target$jscomp$0.push(endOfStartTag);\n pushInnerHTML(target$jscomp$0, innerHTML$jscomp$0, children$jscomp$0);\n return children$jscomp$0;\n case \"option\":\n var selectedValue = formatContext.selectedValue;\n target$jscomp$0.push(startChunkForTag(\"option\"));\n var children$jscomp$1 = null,\n value = null,\n selected = null,\n innerHTML$jscomp$1 = null,\n propKey$jscomp$1;\n for (propKey$jscomp$1 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$1)) {\n var propValue$jscomp$1 = props[propKey$jscomp$1];\n if (null != propValue$jscomp$1)\n switch (propKey$jscomp$1) {\n case \"children\":\n children$jscomp$1 = propValue$jscomp$1;\n break;\n case \"selected\":\n selected = propValue$jscomp$1;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML$jscomp$1 = propValue$jscomp$1;\n break;\n case \"value\":\n value = propValue$jscomp$1;\n default:\n pushAttribute(\n target$jscomp$0,\n propKey$jscomp$1,\n propValue$jscomp$1\n );\n }\n }\n if (null != selectedValue) {\n var stringValue =\n null !== value\n ? \"\" + value\n : flattenOptionChildren(children$jscomp$1);\n if (isArrayImpl(selectedValue))\n for (var i = 0; i < selectedValue.length; i++) {\n if (\"\" + selectedValue[i] === stringValue) {\n target$jscomp$0.push(selectedMarkerAttribute);\n break;\n }\n }\n else\n \"\" + selectedValue === stringValue &&\n target$jscomp$0.push(selectedMarkerAttribute);\n } else selected && target$jscomp$0.push(selectedMarkerAttribute);\n target$jscomp$0.push(endOfStartTag);\n pushInnerHTML(target$jscomp$0, innerHTML$jscomp$1, children$jscomp$1);\n return children$jscomp$1;\n case \"textarea\":\n target$jscomp$0.push(startChunkForTag(\"textarea\"));\n var value$jscomp$0 = null,\n defaultValue = null,\n children$jscomp$2 = null,\n propKey$jscomp$2;\n for (propKey$jscomp$2 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$2)) {\n var propValue$jscomp$2 = props[propKey$jscomp$2];\n if (null != propValue$jscomp$2)\n switch (propKey$jscomp$2) {\n case \"children\":\n children$jscomp$2 = propValue$jscomp$2;\n break;\n case \"value\":\n value$jscomp$0 = propValue$jscomp$2;\n break;\n case \"defaultValue\":\n defaultValue = propValue$jscomp$2;\n break;\n case \"dangerouslySetInnerHTML\":\n throw Error(formatProdErrorMessage(91));\n default:\n pushAttribute(\n target$jscomp$0,\n propKey$jscomp$2,\n propValue$jscomp$2\n );\n }\n }\n null === value$jscomp$0 &&\n null !== defaultValue &&\n (value$jscomp$0 = defaultValue);\n target$jscomp$0.push(endOfStartTag);\n if (null != children$jscomp$2) {\n if (null != value$jscomp$0) throw Error(formatProdErrorMessage(92));\n if (isArrayImpl(children$jscomp$2)) {\n if (1 < children$jscomp$2.length)\n throw Error(formatProdErrorMessage(93));\n value$jscomp$0 = \"\" + children$jscomp$2[0];\n }\n value$jscomp$0 = \"\" + children$jscomp$2;\n }\n \"string\" === typeof value$jscomp$0 &&\n \"\\n\" === value$jscomp$0[0] &&\n target$jscomp$0.push(leadingNewline);\n null !== value$jscomp$0 &&\n target$jscomp$0.push(\n stringToChunk(escapeTextForBrowser(\"\" + value$jscomp$0))\n );\n return null;\n case \"input\":\n target$jscomp$0.push(startChunkForTag(\"input\"));\n var name = null,\n formAction = null,\n formEncType = null,\n formMethod = null,\n formTarget = null,\n value$jscomp$1 = null,\n defaultValue$jscomp$0 = null,\n checked = null,\n defaultChecked = null,\n propKey$jscomp$3;\n for (propKey$jscomp$3 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$3)) {\n var propValue$jscomp$3 = props[propKey$jscomp$3];\n if (null != propValue$jscomp$3)\n switch (propKey$jscomp$3) {\n case \"children\":\n case \"dangerouslySetInnerHTML\":\n throw Error(formatProdErrorMessage(399, \"input\"));\n case \"name\":\n name = propValue$jscomp$3;\n break;\n case \"formAction\":\n formAction = propValue$jscomp$3;\n break;\n case \"formEncType\":\n formEncType = propValue$jscomp$3;\n break;\n case \"formMethod\":\n formMethod = propValue$jscomp$3;\n break;\n case \"formTarget\":\n formTarget = propValue$jscomp$3;\n break;\n case \"defaultChecked\":\n defaultChecked = propValue$jscomp$3;\n break;\n case \"defaultValue\":\n defaultValue$jscomp$0 = propValue$jscomp$3;\n break;\n case \"checked\":\n checked = propValue$jscomp$3;\n break;\n case \"value\":\n value$jscomp$1 = propValue$jscomp$3;\n break;\n default:\n pushAttribute(\n target$jscomp$0,\n propKey$jscomp$3,\n propValue$jscomp$3\n );\n }\n }\n var formData = pushFormActionAttribute(\n target$jscomp$0,\n resumableState,\n renderState,\n formAction,\n formEncType,\n formMethod,\n formTarget,\n name\n );\n null !== checked\n ? pushBooleanAttribute(target$jscomp$0, \"checked\", checked)\n : null !== defaultChecked &&\n pushBooleanAttribute(target$jscomp$0, \"checked\", defaultChecked);\n null !== value$jscomp$1\n ? pushAttribute(target$jscomp$0, \"value\", value$jscomp$1)\n : null !== defaultValue$jscomp$0 &&\n pushAttribute(target$jscomp$0, \"value\", defaultValue$jscomp$0);\n target$jscomp$0.push(endOfStartTagSelfClosing);\n null != formData &&\n formData.forEach(pushAdditionalFormField, target$jscomp$0);\n return null;\n case \"button\":\n target$jscomp$0.push(startChunkForTag(\"button\"));\n var children$jscomp$3 = null,\n innerHTML$jscomp$2 = null,\n name$jscomp$0 = null,\n formAction$jscomp$0 = null,\n formEncType$jscomp$0 = null,\n formMethod$jscomp$0 = null,\n formTarget$jscomp$0 = null,\n propKey$jscomp$4;\n for (propKey$jscomp$4 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$4)) {\n var propValue$jscomp$4 = props[propKey$jscomp$4];\n if (null != propValue$jscomp$4)\n switch (propKey$jscomp$4) {\n case \"children\":\n children$jscomp$3 = propValue$jscomp$4;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML$jscomp$2 = propValue$jscomp$4;\n break;\n case \"name\":\n name$jscomp$0 = propValue$jscomp$4;\n break;\n case \"formAction\":\n formAction$jscomp$0 = propValue$jscomp$4;\n break;\n case \"formEncType\":\n formEncType$jscomp$0 = propValue$jscomp$4;\n break;\n case \"formMethod\":\n formMethod$jscomp$0 = propValue$jscomp$4;\n break;\n case \"formTarget\":\n formTarget$jscomp$0 = propValue$jscomp$4;\n break;\n default:\n pushAttribute(\n target$jscomp$0,\n propKey$jscomp$4,\n propValue$jscomp$4\n );\n }\n }\n var formData$jscomp$0 = pushFormActionAttribute(\n target$jscomp$0,\n resumableState,\n renderState,\n formAction$jscomp$0,\n formEncType$jscomp$0,\n formMethod$jscomp$0,\n formTarget$jscomp$0,\n name$jscomp$0\n );\n target$jscomp$0.push(endOfStartTag);\n null != formData$jscomp$0 &&\n formData$jscomp$0.forEach(pushAdditionalFormField, target$jscomp$0);\n pushInnerHTML(target$jscomp$0, innerHTML$jscomp$2, children$jscomp$3);\n if (\"string\" === typeof children$jscomp$3) {\n target$jscomp$0.push(\n stringToChunk(escapeTextForBrowser(children$jscomp$3))\n );\n var JSCompiler_inline_result$jscomp$0 = null;\n } else JSCompiler_inline_result$jscomp$0 = children$jscomp$3;\n return JSCompiler_inline_result$jscomp$0;\n case \"form\":\n target$jscomp$0.push(startChunkForTag(\"form\"));\n var children$jscomp$4 = null,\n innerHTML$jscomp$3 = null,\n formAction$jscomp$1 = null,\n formEncType$jscomp$1 = null,\n formMethod$jscomp$1 = null,\n formTarget$jscomp$1 = null,\n propKey$jscomp$5;\n for (propKey$jscomp$5 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$5)) {\n var propValue$jscomp$5 = props[propKey$jscomp$5];\n if (null != propValue$jscomp$5)\n switch (propKey$jscomp$5) {\n case \"children\":\n children$jscomp$4 = propValue$jscomp$5;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML$jscomp$3 = propValue$jscomp$5;\n break;\n case \"action\":\n formAction$jscomp$1 = propValue$jscomp$5;\n break;\n case \"encType\":\n formEncType$jscomp$1 = propValue$jscomp$5;\n break;\n case \"method\":\n formMethod$jscomp$1 = propValue$jscomp$5;\n break;\n case \"target\":\n formTarget$jscomp$1 = propValue$jscomp$5;\n break;\n default:\n pushAttribute(\n target$jscomp$0,\n propKey$jscomp$5,\n propValue$jscomp$5\n );\n }\n }\n var formData$jscomp$1 = null,\n formActionName = null;\n if (\"function\" === typeof formAction$jscomp$1) {\n var customFields = getCustomFormFields(\n resumableState,\n formAction$jscomp$1\n );\n null !== customFields\n ? ((formAction$jscomp$1 = customFields.action || \"\"),\n (formEncType$jscomp$1 = customFields.encType),\n (formMethod$jscomp$1 = customFields.method),\n (formTarget$jscomp$1 = customFields.target),\n (formData$jscomp$1 = customFields.data),\n (formActionName = customFields.name))\n : (target$jscomp$0.push(\n attributeSeparator,\n stringToChunk(\"action\"),\n attributeAssign,\n actionJavaScriptURL,\n attributeEnd\n ),\n (formTarget$jscomp$1 =\n formMethod$jscomp$1 =\n formEncType$jscomp$1 =\n formAction$jscomp$1 =\n null),\n injectFormReplayingRuntime(resumableState, renderState));\n }\n null != formAction$jscomp$1 &&\n pushAttribute(target$jscomp$0, \"action\", formAction$jscomp$1);\n null != formEncType$jscomp$1 &&\n pushAttribute(target$jscomp$0, \"encType\", formEncType$jscomp$1);\n null != formMethod$jscomp$1 &&\n pushAttribute(target$jscomp$0, \"method\", formMethod$jscomp$1);\n null != formTarget$jscomp$1 &&\n pushAttribute(target$jscomp$0, \"target\", formTarget$jscomp$1);\n target$jscomp$0.push(endOfStartTag);\n null !== formActionName &&\n (target$jscomp$0.push(startHiddenInputChunk),\n pushStringAttribute(target$jscomp$0, \"name\", formActionName),\n target$jscomp$0.push(endOfStartTagSelfClosing),\n null != formData$jscomp$1 &&\n formData$jscomp$1.forEach(pushAdditionalFormField, target$jscomp$0));\n pushInnerHTML(target$jscomp$0, innerHTML$jscomp$3, children$jscomp$4);\n if (\"string\" === typeof children$jscomp$4) {\n target$jscomp$0.push(\n stringToChunk(escapeTextForBrowser(children$jscomp$4))\n );\n var JSCompiler_inline_result$jscomp$1 = null;\n } else JSCompiler_inline_result$jscomp$1 = children$jscomp$4;\n return JSCompiler_inline_result$jscomp$1;\n case \"menuitem\":\n target$jscomp$0.push(startChunkForTag(\"menuitem\"));\n for (var propKey$jscomp$6 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$6)) {\n var propValue$jscomp$6 = props[propKey$jscomp$6];\n if (null != propValue$jscomp$6)\n switch (propKey$jscomp$6) {\n case \"children\":\n case \"dangerouslySetInnerHTML\":\n throw Error(formatProdErrorMessage(400));\n default:\n pushAttribute(\n target$jscomp$0,\n propKey$jscomp$6,\n propValue$jscomp$6\n );\n }\n }\n target$jscomp$0.push(endOfStartTag);\n return null;\n case \"object\":\n target$jscomp$0.push(startChunkForTag(\"object\"));\n var children$jscomp$5 = null,\n innerHTML$jscomp$4 = null,\n propKey$jscomp$7;\n for (propKey$jscomp$7 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$7)) {\n var propValue$jscomp$7 = props[propKey$jscomp$7];\n if (null != propValue$jscomp$7)\n switch (propKey$jscomp$7) {\n case \"children\":\n children$jscomp$5 = propValue$jscomp$7;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML$jscomp$4 = propValue$jscomp$7;\n break;\n case \"data\":\n var sanitizedValue = sanitizeURL(\"\" + propValue$jscomp$7);\n if (\"\" === sanitizedValue) break;\n target$jscomp$0.push(\n attributeSeparator,\n stringToChunk(\"data\"),\n attributeAssign,\n stringToChunk(escapeTextForBrowser(sanitizedValue)),\n attributeEnd\n );\n break;\n default:\n pushAttribute(\n target$jscomp$0,\n propKey$jscomp$7,\n propValue$jscomp$7\n );\n }\n }\n target$jscomp$0.push(endOfStartTag);\n pushInnerHTML(target$jscomp$0, innerHTML$jscomp$4, children$jscomp$5);\n if (\"string\" === typeof children$jscomp$5) {\n target$jscomp$0.push(\n stringToChunk(escapeTextForBrowser(children$jscomp$5))\n );\n var JSCompiler_inline_result$jscomp$2 = null;\n } else JSCompiler_inline_result$jscomp$2 = children$jscomp$5;\n return JSCompiler_inline_result$jscomp$2;\n case \"title\":\n var noscriptTagInScope = formatContext.tagScope & 1,\n isFallback = formatContext.tagScope & 4;\n if (\n 4 === formatContext.insertionMode ||\n noscriptTagInScope ||\n null != props.itemProp\n )\n var JSCompiler_inline_result$jscomp$3 = pushTitleImpl(\n target$jscomp$0,\n props\n );\n else\n isFallback\n ? (JSCompiler_inline_result$jscomp$3 = null)\n : (pushTitleImpl(renderState.hoistableChunks, props),\n (JSCompiler_inline_result$jscomp$3 = void 0));\n return JSCompiler_inline_result$jscomp$3;\n case \"link\":\n var noscriptTagInScope$jscomp$0 = formatContext.tagScope & 1,\n isFallback$jscomp$0 = formatContext.tagScope & 4,\n rel = props.rel,\n href = props.href,\n precedence = props.precedence;\n if (\n 4 === formatContext.insertionMode ||\n noscriptTagInScope$jscomp$0 ||\n null != props.itemProp ||\n \"string\" !== typeof rel ||\n \"string\" !== typeof href ||\n \"\" === href\n ) {\n pushLinkImpl(target$jscomp$0, props);\n var JSCompiler_inline_result$jscomp$4 = null;\n } else if (\"stylesheet\" === props.rel)\n if (\n \"string\" !== typeof precedence ||\n null != props.disabled ||\n props.onLoad ||\n props.onError\n )\n JSCompiler_inline_result$jscomp$4 = pushLinkImpl(\n target$jscomp$0,\n props\n );\n else {\n var styleQueue = renderState.styles.get(precedence),\n resourceState = resumableState.styleResources.hasOwnProperty(href)\n ? resumableState.styleResources[href]\n : void 0;\n if (null !== resourceState) {\n resumableState.styleResources[href] = null;\n styleQueue ||\n ((styleQueue = {\n precedence: stringToChunk(escapeTextForBrowser(precedence)),\n rules: [],\n hrefs: [],\n sheets: new Map()\n }),\n renderState.styles.set(precedence, styleQueue));\n var resource = {\n state: 0,\n props: assign({}, props, {\n \"data-precedence\": props.precedence,\n precedence: null\n })\n };\n if (resourceState) {\n 2 === resourceState.length &&\n adoptPreloadCredentials(resource.props, resourceState);\n var preloadResource = renderState.preloads.stylesheets.get(href);\n preloadResource && 0 < preloadResource.length\n ? (preloadResource.length = 0)\n : (resource.state = 1);\n }\n styleQueue.sheets.set(href, resource);\n hoistableState && hoistableState.stylesheets.add(resource);\n } else if (styleQueue) {\n var resource$9 = styleQueue.sheets.get(href);\n resource$9 &&\n hoistableState &&\n hoistableState.stylesheets.add(resource$9);\n }\n textEmbedded && target$jscomp$0.push(textSeparator);\n JSCompiler_inline_result$jscomp$4 = null;\n }\n else\n props.onLoad || props.onError\n ? (JSCompiler_inline_result$jscomp$4 = pushLinkImpl(\n target$jscomp$0,\n props\n ))\n : (textEmbedded && target$jscomp$0.push(textSeparator),\n (JSCompiler_inline_result$jscomp$4 = isFallback$jscomp$0\n ? null\n : pushLinkImpl(renderState.hoistableChunks, props)));\n return JSCompiler_inline_result$jscomp$4;\n case \"script\":\n var noscriptTagInScope$jscomp$1 = formatContext.tagScope & 1,\n asyncProp = props.async;\n if (\n \"string\" !== typeof props.src ||\n !props.src ||\n !asyncProp ||\n \"function\" === typeof asyncProp ||\n \"symbol\" === typeof asyncProp ||\n props.onLoad ||\n props.onError ||\n 4 === formatContext.insertionMode ||\n noscriptTagInScope$jscomp$1 ||\n null != props.itemProp\n )\n var JSCompiler_inline_result$jscomp$5 = pushScriptImpl(\n target$jscomp$0,\n props\n );\n else {\n var key = props.src;\n if (\"module\" === props.type) {\n var resources = resumableState.moduleScriptResources;\n var preloads = renderState.preloads.moduleScripts;\n } else\n (resources = resumableState.scriptResources),\n (preloads = renderState.preloads.scripts);\n var resourceState$jscomp$0 = resources.hasOwnProperty(key)\n ? resources[key]\n : void 0;\n if (null !== resourceState$jscomp$0) {\n resources[key] = null;\n var scriptProps = props;\n if (resourceState$jscomp$0) {\n 2 === resourceState$jscomp$0.length &&\n ((scriptProps = assign({}, props)),\n adoptPreloadCredentials(scriptProps, resourceState$jscomp$0));\n var preloadResource$jscomp$0 = preloads.get(key);\n preloadResource$jscomp$0 && (preloadResource$jscomp$0.length = 0);\n }\n var resource$jscomp$0 = [];\n renderState.scripts.add(resource$jscomp$0);\n pushScriptImpl(resource$jscomp$0, scriptProps);\n }\n textEmbedded && target$jscomp$0.push(textSeparator);\n JSCompiler_inline_result$jscomp$5 = null;\n }\n return JSCompiler_inline_result$jscomp$5;\n case \"style\":\n var noscriptTagInScope$jscomp$2 = formatContext.tagScope & 1,\n precedence$jscomp$0 = props.precedence,\n href$jscomp$0 = props.href,\n nonce = props.nonce;\n if (\n 4 === formatContext.insertionMode ||\n noscriptTagInScope$jscomp$2 ||\n null != props.itemProp ||\n \"string\" !== typeof precedence$jscomp$0 ||\n \"string\" !== typeof href$jscomp$0 ||\n \"\" === href$jscomp$0\n ) {\n target$jscomp$0.push(startChunkForTag(\"style\"));\n var children$jscomp$6 = null,\n innerHTML$jscomp$5 = null,\n propKey$jscomp$8;\n for (propKey$jscomp$8 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$8)) {\n var propValue$jscomp$8 = props[propKey$jscomp$8];\n if (null != propValue$jscomp$8)\n switch (propKey$jscomp$8) {\n case \"children\":\n children$jscomp$6 = propValue$jscomp$8;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML$jscomp$5 = propValue$jscomp$8;\n break;\n default:\n pushAttribute(\n target$jscomp$0,\n propKey$jscomp$8,\n propValue$jscomp$8\n );\n }\n }\n target$jscomp$0.push(endOfStartTag);\n var child = Array.isArray(children$jscomp$6)\n ? 2 > children$jscomp$6.length\n ? children$jscomp$6[0]\n : null\n : children$jscomp$6;\n \"function\" !== typeof child &&\n \"symbol\" !== typeof child &&\n null !== child &&\n void 0 !== child &&\n target$jscomp$0.push(\n stringToChunk((\"\" + child).replace(styleRegex, styleReplacer))\n );\n pushInnerHTML(target$jscomp$0, innerHTML$jscomp$5, children$jscomp$6);\n target$jscomp$0.push(endChunkForTag(\"style\"));\n var JSCompiler_inline_result$jscomp$6 = null;\n } else {\n var styleQueue$jscomp$0 = renderState.styles.get(precedence$jscomp$0);\n if (\n null !==\n (resumableState.styleResources.hasOwnProperty(href$jscomp$0)\n ? resumableState.styleResources[href$jscomp$0]\n : void 0)\n ) {\n resumableState.styleResources[href$jscomp$0] = null;\n styleQueue$jscomp$0 ||\n ((styleQueue$jscomp$0 = {\n precedence: stringToChunk(\n escapeTextForBrowser(precedence$jscomp$0)\n ),\n rules: [],\n hrefs: [],\n sheets: new Map()\n }),\n renderState.styles.set(precedence$jscomp$0, styleQueue$jscomp$0));\n var nonceStyle = renderState.nonce.style;\n if (!nonceStyle || nonceStyle === nonce) {\n styleQueue$jscomp$0.hrefs.push(\n stringToChunk(escapeTextForBrowser(href$jscomp$0))\n );\n var target = styleQueue$jscomp$0.rules,\n children$jscomp$7 = null,\n innerHTML$jscomp$6 = null,\n propKey$jscomp$9;\n for (propKey$jscomp$9 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$9)) {\n var propValue$jscomp$9 = props[propKey$jscomp$9];\n if (null != propValue$jscomp$9)\n switch (propKey$jscomp$9) {\n case \"children\":\n children$jscomp$7 = propValue$jscomp$9;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML$jscomp$6 = propValue$jscomp$9;\n }\n }\n var child$jscomp$0 = Array.isArray(children$jscomp$7)\n ? 2 > children$jscomp$7.length\n ? children$jscomp$7[0]\n : null\n : children$jscomp$7;\n \"function\" !== typeof child$jscomp$0 &&\n \"symbol\" !== typeof child$jscomp$0 &&\n null !== child$jscomp$0 &&\n void 0 !== child$jscomp$0 &&\n target.push(\n stringToChunk(\n (\"\" + child$jscomp$0).replace(styleRegex, styleReplacer)\n )\n );\n pushInnerHTML(target, innerHTML$jscomp$6, children$jscomp$7);\n }\n }\n styleQueue$jscomp$0 &&\n hoistableState &&\n hoistableState.styles.add(styleQueue$jscomp$0);\n textEmbedded && target$jscomp$0.push(textSeparator);\n JSCompiler_inline_result$jscomp$6 = void 0;\n }\n return JSCompiler_inline_result$jscomp$6;\n case \"meta\":\n var noscriptTagInScope$jscomp$3 = formatContext.tagScope & 1,\n isFallback$jscomp$1 = formatContext.tagScope & 4;\n if (\n 4 === formatContext.insertionMode ||\n noscriptTagInScope$jscomp$3 ||\n null != props.itemProp\n )\n var JSCompiler_inline_result$jscomp$7 = pushSelfClosing(\n target$jscomp$0,\n props,\n \"meta\"\n );\n else\n textEmbedded && target$jscomp$0.push(textSeparator),\n (JSCompiler_inline_result$jscomp$7 = isFallback$jscomp$1\n ? null\n : \"string\" === typeof props.charSet\n ? pushSelfClosing(renderState.charsetChunks, props, \"meta\")\n : \"viewport\" === props.name\n ? pushSelfClosing(renderState.viewportChunks, props, \"meta\")\n : pushSelfClosing(renderState.hoistableChunks, props, \"meta\"));\n return JSCompiler_inline_result$jscomp$7;\n case \"listing\":\n case \"pre\":\n target$jscomp$0.push(startChunkForTag(type));\n var children$jscomp$8 = null,\n innerHTML$jscomp$7 = null,\n propKey$jscomp$10;\n for (propKey$jscomp$10 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$10)) {\n var propValue$jscomp$10 = props[propKey$jscomp$10];\n if (null != propValue$jscomp$10)\n switch (propKey$jscomp$10) {\n case \"children\":\n children$jscomp$8 = propValue$jscomp$10;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML$jscomp$7 = propValue$jscomp$10;\n break;\n default:\n pushAttribute(\n target$jscomp$0,\n propKey$jscomp$10,\n propValue$jscomp$10\n );\n }\n }\n target$jscomp$0.push(endOfStartTag);\n if (null != innerHTML$jscomp$7) {\n if (null != children$jscomp$8) throw Error(formatProdErrorMessage(60));\n if (\n \"object\" !== typeof innerHTML$jscomp$7 ||\n !(\"__html\" in innerHTML$jscomp$7)\n )\n throw Error(formatProdErrorMessage(61));\n var html = innerHTML$jscomp$7.__html;\n null !== html &&\n void 0 !== html &&\n (\"string\" === typeof html && 0 < html.length && \"\\n\" === html[0]\n ? target$jscomp$0.push(leadingNewline, stringToChunk(html))\n : target$jscomp$0.push(stringToChunk(\"\" + html)));\n }\n \"string\" === typeof children$jscomp$8 &&\n \"\\n\" === children$jscomp$8[0] &&\n target$jscomp$0.push(leadingNewline);\n return children$jscomp$8;\n case \"img\":\n var pictureOrNoScriptTagInScope = formatContext.tagScope & 3,\n src = props.src,\n srcSet = props.srcSet;\n if (\n !(\n \"lazy\" === props.loading ||\n (!src && !srcSet) ||\n (\"string\" !== typeof src && null != src) ||\n (\"string\" !== typeof srcSet && null != srcSet) ||\n \"low\" === props.fetchPriority ||\n pictureOrNoScriptTagInScope\n ) &&\n (\"string\" !== typeof src ||\n \":\" !== src[4] ||\n (\"d\" !== src[0] && \"D\" !== src[0]) ||\n (\"a\" !== src[1] && \"A\" !== src[1]) ||\n (\"t\" !== src[2] && \"T\" !== src[2]) ||\n (\"a\" !== src[3] && \"A\" !== src[3])) &&\n (\"string\" !== typeof srcSet ||\n \":\" !== srcSet[4] ||\n (\"d\" !== srcSet[0] && \"D\" !== srcSet[0]) ||\n (\"a\" !== srcSet[1] && \"A\" !== srcSet[1]) ||\n (\"t\" !== srcSet[2] && \"T\" !== srcSet[2]) ||\n (\"a\" !== srcSet[3] && \"A\" !== srcSet[3]))\n ) {\n null !== hoistableState &&\n formatContext.tagScope & 64 &&\n (hoistableState.suspenseyImages = !0);\n var sizes = \"string\" === typeof props.sizes ? props.sizes : void 0,\n key$jscomp$0 = srcSet ? srcSet + \"\\n\" + (sizes || \"\") : src,\n promotablePreloads = renderState.preloads.images,\n resource$jscomp$1 = promotablePreloads.get(key$jscomp$0);\n if (resource$jscomp$1) {\n if (\n \"high\" === props.fetchPriority ||\n 10 > renderState.highImagePreloads.size\n )\n promotablePreloads.delete(key$jscomp$0),\n renderState.highImagePreloads.add(resource$jscomp$1);\n } else if (\n !resumableState.imageResources.hasOwnProperty(key$jscomp$0)\n ) {\n resumableState.imageResources[key$jscomp$0] = PRELOAD_NO_CREDS;\n var input = props.crossOrigin;\n var JSCompiler_inline_result$jscomp$8 =\n \"string\" === typeof input\n ? \"use-credentials\" === input\n ? input\n : \"\"\n : void 0;\n var headers = renderState.headers,\n header;\n headers &&\n 0 < headers.remainingCapacity &&\n \"string\" !== typeof props.srcSet &&\n (\"high\" === props.fetchPriority ||\n 500 > headers.highImagePreloads.length) &&\n ((header = getPreloadAsHeader(src, \"image\", {\n imageSrcSet: props.srcSet,\n imageSizes: props.sizes,\n crossOrigin: JSCompiler_inline_result$jscomp$8,\n integrity: props.integrity,\n nonce: props.nonce,\n type: props.type,\n fetchPriority: props.fetchPriority,\n referrerPolicy: props.refererPolicy\n })),\n 0 <= (headers.remainingCapacity -= header.length + 2))\n ? ((renderState.resets.image[key$jscomp$0] = PRELOAD_NO_CREDS),\n headers.highImagePreloads && (headers.highImagePreloads += \", \"),\n (headers.highImagePreloads += header))\n : ((resource$jscomp$1 = []),\n pushLinkImpl(resource$jscomp$1, {\n rel: \"preload\",\n as: \"image\",\n href: srcSet ? void 0 : src,\n imageSrcSet: srcSet,\n imageSizes: sizes,\n crossOrigin: JSCompiler_inline_result$jscomp$8,\n integrity: props.integrity,\n type: props.type,\n fetchPriority: props.fetchPriority,\n referrerPolicy: props.referrerPolicy\n }),\n \"high\" === props.fetchPriority ||\n 10 > renderState.highImagePreloads.size\n ? renderState.highImagePreloads.add(resource$jscomp$1)\n : (renderState.bulkPreloads.add(resource$jscomp$1),\n promotablePreloads.set(key$jscomp$0, resource$jscomp$1)));\n }\n }\n return pushSelfClosing(target$jscomp$0, props, \"img\");\n case \"base\":\n case \"area\":\n case \"br\":\n case \"col\":\n case \"embed\":\n case \"hr\":\n case \"keygen\":\n case \"param\":\n case \"source\":\n case \"track\":\n case \"wbr\":\n return pushSelfClosing(target$jscomp$0, props, type);\n case \"annotation-xml\":\n case \"color-profile\":\n case \"font-face\":\n case \"font-face-src\":\n case \"font-face-uri\":\n case \"font-face-format\":\n case \"font-face-name\":\n case \"missing-glyph\":\n break;\n case \"head\":\n if (2 > formatContext.insertionMode) {\n var preamble = preambleState || renderState.preamble;\n if (preamble.headChunks)\n throw Error(formatProdErrorMessage(545, \"`<head>`\"));\n null !== preambleState &&\n target$jscomp$0.push(headPreambleContributionChunk);\n preamble.headChunks = [];\n var JSCompiler_inline_result$jscomp$9 = pushStartSingletonElement(\n preamble.headChunks,\n props,\n \"head\"\n );\n } else\n JSCompiler_inline_result$jscomp$9 = pushStartGenericElement(\n target$jscomp$0,\n props,\n \"head\"\n );\n return JSCompiler_inline_result$jscomp$9;\n case \"body\":\n if (2 > formatContext.insertionMode) {\n var preamble$jscomp$0 = preambleState || renderState.preamble;\n if (preamble$jscomp$0.bodyChunks)\n throw Error(formatProdErrorMessage(545, \"`<body>`\"));\n null !== preambleState &&\n target$jscomp$0.push(bodyPreambleContributionChunk);\n preamble$jscomp$0.bodyChunks = [];\n var JSCompiler_inline_result$jscomp$10 = pushStartSingletonElement(\n preamble$jscomp$0.bodyChunks,\n props,\n \"body\"\n );\n } else\n JSCompiler_inline_result$jscomp$10 = pushStartGenericElement(\n target$jscomp$0,\n props,\n \"body\"\n );\n return JSCompiler_inline_result$jscomp$10;\n case \"html\":\n if (0 === formatContext.insertionMode) {\n var preamble$jscomp$1 = preambleState || renderState.preamble;\n if (preamble$jscomp$1.htmlChunks)\n throw Error(formatProdErrorMessage(545, \"`<html>`\"));\n null !== preambleState &&\n target$jscomp$0.push(htmlPreambleContributionChunk);\n preamble$jscomp$1.htmlChunks = [doctypeChunk];\n var JSCompiler_inline_result$jscomp$11 = pushStartSingletonElement(\n preamble$jscomp$1.htmlChunks,\n props,\n \"html\"\n );\n } else\n JSCompiler_inline_result$jscomp$11 = pushStartGenericElement(\n target$jscomp$0,\n props,\n \"html\"\n );\n return JSCompiler_inline_result$jscomp$11;\n default:\n if (-1 !== type.indexOf(\"-\")) {\n target$jscomp$0.push(startChunkForTag(type));\n var children$jscomp$9 = null,\n innerHTML$jscomp$8 = null,\n propKey$jscomp$11;\n for (propKey$jscomp$11 in props)\n if (hasOwnProperty.call(props, propKey$jscomp$11)) {\n var propValue$jscomp$11 = props[propKey$jscomp$11];\n if (null != propValue$jscomp$11) {\n var attributeName = propKey$jscomp$11;\n switch (propKey$jscomp$11) {\n case \"children\":\n children$jscomp$9 = propValue$jscomp$11;\n break;\n case \"dangerouslySetInnerHTML\":\n innerHTML$jscomp$8 = propValue$jscomp$11;\n break;\n case \"style\":\n pushStyleAttribute(target$jscomp$0, propValue$jscomp$11);\n break;\n case \"suppressContentEditableWarning\":\n case \"suppressHydrationWarning\":\n case \"ref\":\n break;\n case \"className\":\n attributeName = \"class\";\n default:\n if (\n isAttributeNameSafe(propKey$jscomp$11) &&\n \"function\" !== typeof propValue$jscomp$11 &&\n \"symbol\" !== typeof propValue$jscomp$11 &&\n !1 !== propValue$jscomp$11\n ) {\n if (!0 === propValue$jscomp$11) propValue$jscomp$11 = \"\";\n else if (\"object\" === typeof propValue$jscomp$11) continue;\n target$jscomp$0.push(\n attributeSeparator,\n stringToChunk(attributeName),\n attributeAssign,\n stringToChunk(escapeTextForBrowser(propValue$jscomp$11)),\n attributeEnd\n );\n }\n }\n }\n }\n target$jscomp$0.push(endOfStartTag);\n pushInnerHTML(target$jscomp$0, innerHTML$jscomp$8, children$jscomp$9);\n return children$jscomp$9;\n }\n }\n return pushStartGenericElement(target$jscomp$0, props, type);\n}\nvar endTagCache = new Map();\nfunction endChunkForTag(tag) {\n var chunk = endTagCache.get(tag);\n void 0 === chunk &&\n ((chunk = stringToPrecomputedChunk(\"</\" + tag + \">\")),\n endTagCache.set(tag, chunk));\n return chunk;\n}\nfunction hoistPreambleState(renderState, preambleState) {\n renderState = renderState.preamble;\n null === renderState.htmlChunks &&\n preambleState.htmlChunks &&\n (renderState.htmlChunks = preambleState.htmlChunks);\n null === renderState.headChunks &&\n preambleState.headChunks &&\n (renderState.headChunks = preambleState.headChunks);\n null === renderState.bodyChunks &&\n preambleState.bodyChunks &&\n (renderState.bodyChunks = preambleState.bodyChunks);\n}\nfunction writeBootstrap(destination, renderState) {\n renderState = renderState.bootstrapChunks;\n for (var i = 0; i < renderState.length - 1; i++)\n writeChunk(destination, renderState[i]);\n return i < renderState.length\n ? ((i = renderState[i]),\n (renderState.length = 0),\n writeChunkAndReturn(destination, i))\n : !0;\n}\nvar shellTimeRuntimeScript = stringToPrecomputedChunk(\n \"requestAnimationFrame(function(){$RT=performance.now()});\"\n ),\n placeholder1 = stringToPrecomputedChunk('<template id=\"'),\n placeholder2 = stringToPrecomputedChunk('\"></template>'),\n startActivityBoundary = stringToPrecomputedChunk(\"\\x3c!--&--\\x3e\"),\n endActivityBoundary = stringToPrecomputedChunk(\"\\x3c!--/&--\\x3e\"),\n startCompletedSuspenseBoundary = stringToPrecomputedChunk(\"\\x3c!--$--\\x3e\"),\n startPendingSuspenseBoundary1 = stringToPrecomputedChunk(\n '\\x3c!--$?--\\x3e<template id=\"'\n ),\n startPendingSuspenseBoundary2 = stringToPrecomputedChunk('\"></template>'),\n startClientRenderedSuspenseBoundary =\n stringToPrecomputedChunk(\"\\x3c!--$!--\\x3e\"),\n endSuspenseBoundary = stringToPrecomputedChunk(\"\\x3c!--/$--\\x3e\"),\n clientRenderedSuspenseBoundaryError1 = stringToPrecomputedChunk(\"<template\"),\n clientRenderedSuspenseBoundaryErrorAttrInterstitial =\n stringToPrecomputedChunk('\"'),\n clientRenderedSuspenseBoundaryError1A =\n stringToPrecomputedChunk(' data-dgst=\"');\nstringToPrecomputedChunk(' data-msg=\"');\nstringToPrecomputedChunk(' data-stck=\"');\nstringToPrecomputedChunk(' data-cstck=\"');\nvar clientRenderedSuspenseBoundaryError2 =\n stringToPrecomputedChunk(\"></template>\");\nfunction writeStartPendingSuspenseBoundary(destination, renderState, id) {\n writeChunk(destination, startPendingSuspenseBoundary1);\n if (null === id) throw Error(formatProdErrorMessage(395));\n writeChunk(destination, renderState.boundaryPrefix);\n writeChunk(destination, stringToChunk(id.toString(16)));\n return writeChunkAndReturn(destination, startPendingSuspenseBoundary2);\n}\nvar startSegmentHTML = stringToPrecomputedChunk('<div hidden id=\"'),\n startSegmentHTML2 = stringToPrecomputedChunk('\">'),\n endSegmentHTML = stringToPrecomputedChunk(\"</div>\"),\n startSegmentSVG = stringToPrecomputedChunk(\n '<svg aria-hidden=\"true\" style=\"display:none\" id=\"'\n ),\n startSegmentSVG2 = stringToPrecomputedChunk('\">'),\n endSegmentSVG = stringToPrecomputedChunk(\"</svg>\"),\n startSegmentMathML = stringToPrecomputedChunk(\n '<math aria-hidden=\"true\" style=\"display:none\" id=\"'\n ),\n startSegmentMathML2 = stringToPrecomputedChunk('\">'),\n endSegmentMathML = stringToPrecomputedChunk(\"</math>\"),\n startSegmentTable = stringToPrecomputedChunk('<table hidden id=\"'),\n startSegmentTable2 = stringToPrecomputedChunk('\">'),\n endSegmentTable = stringToPrecomputedChunk(\"</table>\"),\n startSegmentTableBody = stringToPrecomputedChunk('<table hidden><tbody id=\"'),\n startSegmentTableBody2 = stringToPrecomputedChunk('\">'),\n endSegmentTableBody = stringToPrecomputedChunk(\"</tbody></table>\"),\n startSegmentTableRow = stringToPrecomputedChunk('<table hidden><tr id=\"'),\n startSegmentTableRow2 = stringToPrecomputedChunk('\">'),\n endSegmentTableRow = stringToPrecomputedChunk(\"</tr></table>\"),\n startSegmentColGroup = stringToPrecomputedChunk(\n '<table hidden><colgroup id=\"'\n ),\n startSegmentColGroup2 = stringToPrecomputedChunk('\">'),\n endSegmentColGroup = stringToPrecomputedChunk(\"</colgroup></table>\");\nfunction writeStartSegment(destination, renderState, formatContext, id) {\n switch (formatContext.insertionMode) {\n case 0:\n case 1:\n case 3:\n case 2:\n return (\n writeChunk(destination, startSegmentHTML),\n writeChunk(destination, renderState.segmentPrefix),\n writeChunk(destination, stringToChunk(id.toString(16))),\n writeChunkAndReturn(destination, startSegmentHTML2)\n );\n case 4:\n return (\n writeChunk(destination, startSegmentSVG),\n writeChunk(destination, renderState.segmentPrefix),\n writeChunk(destination, stringToChunk(id.toString(16))),\n writeChunkAndReturn(destination, startSegmentSVG2)\n );\n case 5:\n return (\n writeChunk(destination, startSegmentMathML),\n writeChunk(destination, renderState.segmentPrefix),\n writeChunk(destination, stringToChunk(id.toString(16))),\n writeChunkAndReturn(destination, startSegmentMathML2)\n );\n case 6:\n return (\n writeChunk(destination, startSegmentTable),\n writeChunk(destination, renderState.segmentPrefix),\n writeChunk(destination, stringToChunk(id.toString(16))),\n writeChunkAndReturn(destination, startSegmentTable2)\n );\n case 7:\n return (\n writeChunk(destination, startSegmentTableBody),\n writeChunk(destination, renderState.segmentPrefix),\n writeChunk(destination, stringToChunk(id.toString(16))),\n writeChunkAndReturn(destination, startSegmentTableBody2)\n );\n case 8:\n return (\n writeChunk(destination, startSegmentTableRow),\n writeChunk(destination, renderState.segmentPrefix),\n writeChunk(destination, stringToChunk(id.toString(16))),\n writeChunkAndReturn(destination, startSegmentTableRow2)\n );\n case 9:\n return (\n writeChunk(destination, startSegmentColGroup),\n writeChunk(destination, renderState.segmentPrefix),\n writeChunk(destination, stringToChunk(id.toString(16))),\n writeChunkAndReturn(destination, startSegmentColGroup2)\n );\n default:\n throw Error(formatProdErrorMessage(397));\n }\n}\nfunction writeEndSegment(destination, formatContext) {\n switch (formatContext.insertionMode) {\n case 0:\n case 1:\n case 3:\n case 2:\n return writeChunkAndReturn(destination, endSegmentHTML);\n case 4:\n return writeChunkAndReturn(destination, endSegmentSVG);\n case 5:\n return writeChunkAndReturn(destination, endSegmentMathML);\n case 6:\n return writeChunkAndReturn(destination, endSegmentTable);\n case 7:\n return writeChunkAndReturn(destination, endSegmentTableBody);\n case 8:\n return writeChunkAndReturn(destination, endSegmentTableRow);\n case 9:\n return writeChunkAndReturn(destination, endSegmentColGroup);\n default:\n throw Error(formatProdErrorMessage(397));\n }\n}\nvar completeSegmentScript1Full = stringToPrecomputedChunk(\n '$RS=function(a,b){a=document.getElementById(a);b=document.getElementById(b);for(a.parentNode.removeChild(a);a.firstChild;)b.parentNode.insertBefore(a.firstChild,b);b.parentNode.removeChild(b)};$RS(\"'\n ),\n completeSegmentScript1Partial = stringToPrecomputedChunk('$RS(\"'),\n completeSegmentScript2 = stringToPrecomputedChunk('\",\"'),\n completeSegmentScriptEnd = stringToPrecomputedChunk('\")\\x3c/script>');\nstringToPrecomputedChunk('<template data-rsi=\"\" data-sid=\"');\nstringToPrecomputedChunk('\" data-pid=\"');\nvar completeBoundaryScriptFunctionOnly = stringToPrecomputedChunk(\n '$RB=[];$RV=function(a){$RT=performance.now();for(var b=0;b<a.length;b+=2){var c=a[b],e=a[b+1];null!==e.parentNode&&e.parentNode.removeChild(e);var f=c.parentNode;if(f){var g=c.previousSibling,h=0;do{if(c&&8===c.nodeType){var d=c.data;if(\"/$\"===d||\"/&\"===d)if(0===h)break;else h--;else\"$\"!==d&&\"$?\"!==d&&\"$~\"!==d&&\"$!\"!==d&&\"&\"!==d||h++}d=c.nextSibling;f.removeChild(c);c=d}while(c);for(;e.firstChild;)f.insertBefore(e.firstChild,c);g.data=\"$\";g._reactRetry&&requestAnimationFrame(g._reactRetry)}}a.length=0};\\n$RC=function(a,b){if(b=document.getElementById(b))(a=document.getElementById(a))?(a.previousSibling.data=\"$~\",$RB.push(a,b),2===$RB.length&&(\"number\"!==typeof $RT?requestAnimationFrame($RV.bind(null,$RB)):(a=performance.now(),setTimeout($RV.bind(null,$RB),2300>a&&2E3<a?2300-a:$RT+300-a)))):b.parentNode.removeChild(b)};'\n);\nstringToChunk(\n '$RV=function(A,g){function k(a,b){var e=a.getAttribute(b);e&&(b=a.style,l.push(a,b.viewTransitionName,b.viewTransitionClass),\"auto\"!==e&&(b.viewTransitionClass=e),(a=a.getAttribute(\"vt-name\"))||(a=\"_T_\"+K++ +\"_\"),b.viewTransitionName=a,B=!0)}var B=!1,K=0,l=[];try{var f=document.__reactViewTransition;if(f){f.finished.finally($RV.bind(null,g));return}var m=new Map;for(f=1;f<g.length;f+=2)for(var h=g[f].querySelectorAll(\"[vt-share]\"),d=0;d<h.length;d++){var c=h[d];m.set(c.getAttribute(\"vt-name\"),c)}var u=[];for(h=0;h<g.length;h+=2){var C=g[h],x=C.parentNode;if(x){var v=x.getBoundingClientRect();if(v.left||v.top||v.width||v.height){c=C;for(f=0;c;){if(8===c.nodeType){var r=c.data;if(\"/$\"===r)if(0===f)break;else f--;else\"$\"!==r&&\"$?\"!==r&&\"$~\"!==r&&\"$!\"!==r||f++}else if(1===c.nodeType){d=c;var D=d.getAttribute(\"vt-name\"),y=m.get(D);k(d,y?\"vt-share\":\"vt-exit\");y&&(k(y,\"vt-share\"),m.set(D,null));var E=d.querySelectorAll(\"[vt-share]\");for(d=0;d<E.length;d++){var F=E[d],G=F.getAttribute(\"vt-name\"),\\nH=m.get(G);H&&(k(F,\"vt-share\"),k(H,\"vt-share\"),m.set(G,null))}}c=c.nextSibling}for(var I=g[h+1],t=I.firstElementChild;t;)null!==m.get(t.getAttribute(\"vt-name\"))&&k(t,\"vt-enter\"),t=t.nextElementSibling;c=x;do for(var n=c.firstElementChild;n;){var J=n.getAttribute(\"vt-update\");J&&\"none\"!==J&&!l.includes(n)&&k(n,\"vt-update\");n=n.nextElementSibling}while((c=c.parentNode)&&1===c.nodeType&&\"none\"!==c.getAttribute(\"vt-update\"));u.push.apply(u,I.querySelectorAll(\\'img[src]:not([loading=\"lazy\"])\\'))}}}if(B){var z=\\ndocument.__reactViewTransition=document.startViewTransition({update:function(){A(g);for(var a=[document.documentElement.clientHeight,document.fonts.ready],b={},e=0;e<u.length;b={g:b.g},e++)if(b.g=u[e],!b.g.complete){var p=b.g.getBoundingClientRect();0<p.bottom&&0<p.right&&p.top<window.innerHeight&&p.left<window.innerWidth&&(p=new Promise(function(w){return function(q){w.g.addEventListener(\"load\",q);w.g.addEventListener(\"error\",q)}}(b)),a.push(p))}return Promise.race([Promise.all(a),new Promise(function(w){var q=\\nperformance.now();setTimeout(w,2300>q&&2E3<q?2300-q:500)})])},types:[]});z.ready.finally(function(){for(var a=l.length-3;0<=a;a-=3){var b=l[a],e=b.style;e.viewTransitionName=l[a+1];e.viewTransitionClass=l[a+1];\"\"===b.getAttribute(\"style\")&&b.removeAttribute(\"style\")}});z.finished.finally(function(){document.__reactViewTransition===z&&(document.__reactViewTransition=null)});$RB=[];return}}catch(a){}A(g)}.bind(null,$RV);'\n);\nvar completeBoundaryScript1Partial = stringToPrecomputedChunk('$RC(\"'),\n completeBoundaryWithStylesScript1FullPartial = stringToPrecomputedChunk(\n '$RM=new Map;$RR=function(n,w,p){function u(q){this._p=null;q()}for(var r=new Map,t=document,h,b,e=t.querySelectorAll(\"link[data-precedence],style[data-precedence]\"),v=[],k=0;b=e[k++];)\"not all\"===b.getAttribute(\"media\")?v.push(b):(\"LINK\"===b.tagName&&$RM.set(b.getAttribute(\"href\"),b),r.set(b.dataset.precedence,h=b));e=0;b=[];var l,a;for(k=!0;;){if(k){var f=p[e++];if(!f){k=!1;e=0;continue}var c=!1,m=0;var d=f[m++];if(a=$RM.get(d)){var g=a._p;c=!0}else{a=t.createElement(\"link\");a.href=d;a.rel=\\n\"stylesheet\";for(a.dataset.precedence=l=f[m++];g=f[m++];)a.setAttribute(g,f[m++]);g=a._p=new Promise(function(q,x){a.onload=u.bind(a,q);a.onerror=u.bind(a,x)});$RM.set(d,a)}d=a.getAttribute(\"media\");!g||d&&!matchMedia(d).matches||b.push(g);if(c)continue}else{a=v[e++];if(!a)break;l=a.getAttribute(\"data-precedence\");a.removeAttribute(\"media\")}c=r.get(l)||h;c===h&&(h=a);r.set(l,a);c?c.parentNode.insertBefore(a,c.nextSibling):(c=t.head,c.insertBefore(a,c.firstChild))}if(p=document.getElementById(n))p.previousSibling.data=\\n\"$~\";Promise.all(b).then($RC.bind(null,n,w),$RX.bind(null,n,\"CSS failed to load\"))};$RR(\"'\n ),\n completeBoundaryWithStylesScript1Partial = stringToPrecomputedChunk('$RR(\"'),\n completeBoundaryScript2 = stringToPrecomputedChunk('\",\"'),\n completeBoundaryScript3a = stringToPrecomputedChunk('\",'),\n completeBoundaryScript3b = stringToPrecomputedChunk('\"'),\n completeBoundaryScriptEnd = stringToPrecomputedChunk(\")\\x3c/script>\");\nstringToPrecomputedChunk('<template data-rci=\"\" data-bid=\"');\nstringToPrecomputedChunk('<template data-rri=\"\" data-bid=\"');\nstringToPrecomputedChunk('\" data-sid=\"');\nstringToPrecomputedChunk('\" data-sty=\"');\nvar clientRenderScriptFunctionOnly = stringToPrecomputedChunk(\n '$RX=function(b,c,d,e,f){var a=document.getElementById(b);a&&(b=a.previousSibling,b.data=\"$!\",a=a.dataset,c&&(a.dgst=c),d&&(a.msg=d),e&&(a.stck=e),f&&(a.cstck=f),b._reactRetry&&b._reactRetry())};'\n ),\n clientRenderScript1Full = stringToPrecomputedChunk(\n '$RX=function(b,c,d,e,f){var a=document.getElementById(b);a&&(b=a.previousSibling,b.data=\"$!\",a=a.dataset,c&&(a.dgst=c),d&&(a.msg=d),e&&(a.stck=e),f&&(a.cstck=f),b._reactRetry&&b._reactRetry())};;$RX(\"'\n ),\n clientRenderScript1Partial = stringToPrecomputedChunk('$RX(\"'),\n clientRenderScript1A = stringToPrecomputedChunk('\"'),\n clientRenderErrorScriptArgInterstitial = stringToPrecomputedChunk(\",\"),\n clientRenderScriptEnd = stringToPrecomputedChunk(\")\\x3c/script>\");\nstringToPrecomputedChunk('<template data-rxi=\"\" data-bid=\"');\nstringToPrecomputedChunk('\" data-dgst=\"');\nstringToPrecomputedChunk('\" data-msg=\"');\nstringToPrecomputedChunk('\" data-stck=\"');\nstringToPrecomputedChunk('\" data-cstck=\"');\nvar regexForJSStringsInInstructionScripts = /[<\\u2028\\u2029]/g;\nfunction escapeJSStringsForInstructionScripts(input) {\n return JSON.stringify(input).replace(\n regexForJSStringsInInstructionScripts,\n function (match) {\n switch (match) {\n case \"<\":\n return \"\\\\u003c\";\n case \"\\u2028\":\n return \"\\\\u2028\";\n case \"\\u2029\":\n return \"\\\\u2029\";\n default:\n throw Error(\n \"escapeJSStringsForInstructionScripts encountered a match it does not know how to replace. this means the match regex and the replacement characters are no longer in sync. This is a bug in React\"\n );\n }\n }\n );\n}\nvar regexForJSStringsInScripts = /[&><\\u2028\\u2029]/g;\nfunction escapeJSObjectForInstructionScripts(input) {\n return JSON.stringify(input).replace(\n regexForJSStringsInScripts,\n function (match) {\n switch (match) {\n case \"&\":\n return \"\\\\u0026\";\n case \">\":\n return \"\\\\u003e\";\n case \"<\":\n return \"\\\\u003c\";\n case \"\\u2028\":\n return \"\\\\u2028\";\n case \"\\u2029\":\n return \"\\\\u2029\";\n default:\n throw Error(\n \"escapeJSObjectForInstructionScripts encountered a match it does not know how to replace. this means the match regex and the replacement characters are no longer in sync. This is a bug in React\"\n );\n }\n }\n );\n}\nvar lateStyleTagResourceOpen1 = stringToPrecomputedChunk(\n ' media=\"not all\" data-precedence=\"'\n ),\n lateStyleTagResourceOpen2 = stringToPrecomputedChunk('\" data-href=\"'),\n lateStyleTagResourceOpen3 = stringToPrecomputedChunk('\">'),\n lateStyleTagTemplateClose = stringToPrecomputedChunk(\"</style>\"),\n currentlyRenderingBoundaryHasStylesToHoist = !1,\n destinationHasCapacity = !0;\nfunction flushStyleTagsLateForBoundary(styleQueue) {\n var rules = styleQueue.rules,\n hrefs = styleQueue.hrefs,\n i = 0;\n if (hrefs.length) {\n writeChunk(this, currentlyFlushingRenderState.startInlineStyle);\n writeChunk(this, lateStyleTagResourceOpen1);\n writeChunk(this, styleQueue.precedence);\n for (writeChunk(this, lateStyleTagResourceOpen2); i < hrefs.length - 1; i++)\n writeChunk(this, hrefs[i]), writeChunk(this, spaceSeparator);\n writeChunk(this, hrefs[i]);\n writeChunk(this, lateStyleTagResourceOpen3);\n for (i = 0; i < rules.length; i++) writeChunk(this, rules[i]);\n destinationHasCapacity = writeChunkAndReturn(\n this,\n lateStyleTagTemplateClose\n );\n currentlyRenderingBoundaryHasStylesToHoist = !0;\n rules.length = 0;\n hrefs.length = 0;\n }\n}\nfunction hasStylesToHoist(stylesheet) {\n return 2 !== stylesheet.state\n ? (currentlyRenderingBoundaryHasStylesToHoist = !0)\n : !1;\n}\nfunction writeHoistablesForBoundary(destination, hoistableState, renderState) {\n currentlyRenderingBoundaryHasStylesToHoist = !1;\n destinationHasCapacity = !0;\n currentlyFlushingRenderState = renderState;\n hoistableState.styles.forEach(flushStyleTagsLateForBoundary, destination);\n currentlyFlushingRenderState = null;\n hoistableState.stylesheets.forEach(hasStylesToHoist);\n currentlyRenderingBoundaryHasStylesToHoist &&\n (renderState.stylesToHoist = !0);\n return destinationHasCapacity;\n}\nfunction flushResource(resource) {\n for (var i = 0; i < resource.length; i++) writeChunk(this, resource[i]);\n resource.length = 0;\n}\nvar stylesheetFlushingQueue = [];\nfunction flushStyleInPreamble(stylesheet) {\n pushLinkImpl(stylesheetFlushingQueue, stylesheet.props);\n for (var i = 0; i < stylesheetFlushingQueue.length; i++)\n writeChunk(this, stylesheetFlushingQueue[i]);\n stylesheetFlushingQueue.length = 0;\n stylesheet.state = 2;\n}\nvar styleTagResourceOpen1 = stringToPrecomputedChunk(' data-precedence=\"'),\n styleTagResourceOpen2 = stringToPrecomputedChunk('\" data-href=\"'),\n spaceSeparator = stringToPrecomputedChunk(\" \"),\n styleTagResourceOpen3 = stringToPrecomputedChunk('\">'),\n styleTagResourceClose = stringToPrecomputedChunk(\"</style>\");\nfunction flushStylesInPreamble(styleQueue) {\n var hasStylesheets = 0 < styleQueue.sheets.size;\n styleQueue.sheets.forEach(flushStyleInPreamble, this);\n styleQueue.sheets.clear();\n var rules = styleQueue.rules,\n hrefs = styleQueue.hrefs;\n if (!hasStylesheets || hrefs.length) {\n writeChunk(this, currentlyFlushingRenderState.startInlineStyle);\n writeChunk(this, styleTagResourceOpen1);\n writeChunk(this, styleQueue.precedence);\n styleQueue = 0;\n if (hrefs.length) {\n for (\n writeChunk(this, styleTagResourceOpen2);\n styleQueue < hrefs.length - 1;\n styleQueue++\n )\n writeChunk(this, hrefs[styleQueue]), writeChunk(this, spaceSeparator);\n writeChunk(this, hrefs[styleQueue]);\n }\n writeChunk(this, styleTagResourceOpen3);\n for (styleQueue = 0; styleQueue < rules.length; styleQueue++)\n writeChunk(this, rules[styleQueue]);\n writeChunk(this, styleTagResourceClose);\n rules.length = 0;\n hrefs.length = 0;\n }\n}\nfunction preloadLateStyle(stylesheet) {\n if (0 === stylesheet.state) {\n stylesheet.state = 1;\n var props = stylesheet.props;\n pushLinkImpl(stylesheetFlushingQueue, {\n rel: \"preload\",\n as: \"style\",\n href: stylesheet.props.href,\n crossOrigin: props.crossOrigin,\n fetchPriority: props.fetchPriority,\n integrity: props.integrity,\n media: props.media,\n hrefLang: props.hrefLang,\n referrerPolicy: props.referrerPolicy\n });\n for (\n stylesheet = 0;\n stylesheet < stylesheetFlushingQueue.length;\n stylesheet++\n )\n writeChunk(this, stylesheetFlushingQueue[stylesheet]);\n stylesheetFlushingQueue.length = 0;\n }\n}\nfunction preloadLateStyles(styleQueue) {\n styleQueue.sheets.forEach(preloadLateStyle, this);\n styleQueue.sheets.clear();\n}\nstringToPrecomputedChunk('<link rel=\"expect\" href=\"#');\nstringToPrecomputedChunk('\" blocking=\"render\"/>');\nvar completedShellIdAttributeStart = stringToPrecomputedChunk(' id=\"');\nfunction pushCompletedShellIdAttribute(target, resumableState) {\n 0 === (resumableState.instructions & 32) &&\n ((resumableState.instructions |= 32),\n target.push(\n completedShellIdAttributeStart,\n stringToChunk(escapeTextForBrowser(\"_\" + resumableState.idPrefix + \"R_\")),\n attributeEnd\n ));\n}\nvar arrayFirstOpenBracket = stringToPrecomputedChunk(\"[\"),\n arraySubsequentOpenBracket = stringToPrecomputedChunk(\",[\"),\n arrayInterstitial = stringToPrecomputedChunk(\",\"),\n arrayCloseBracket = stringToPrecomputedChunk(\"]\");\nfunction writeStyleResourceDependenciesInJS(destination, hoistableState) {\n writeChunk(destination, arrayFirstOpenBracket);\n var nextArrayOpenBrackChunk = arrayFirstOpenBracket;\n hoistableState.stylesheets.forEach(function (resource) {\n if (2 !== resource.state)\n if (3 === resource.state)\n writeChunk(destination, nextArrayOpenBrackChunk),\n writeChunk(\n destination,\n stringToChunk(\n escapeJSObjectForInstructionScripts(\"\" + resource.props.href)\n )\n ),\n writeChunk(destination, arrayCloseBracket),\n (nextArrayOpenBrackChunk = arraySubsequentOpenBracket);\n else {\n writeChunk(destination, nextArrayOpenBrackChunk);\n var precedence = resource.props[\"data-precedence\"],\n props = resource.props,\n coercedHref = sanitizeURL(\"\" + resource.props.href);\n writeChunk(\n destination,\n stringToChunk(escapeJSObjectForInstructionScripts(coercedHref))\n );\n precedence = \"\" + precedence;\n writeChunk(destination, arrayInterstitial);\n writeChunk(\n destination,\n stringToChunk(escapeJSObjectForInstructionScripts(precedence))\n );\n for (var propKey in props)\n if (\n hasOwnProperty.call(props, propKey) &&\n ((precedence = props[propKey]), null != precedence)\n )\n switch (propKey) {\n case \"href\":\n case \"rel\":\n case \"precedence\":\n case \"data-precedence\":\n break;\n case \"children\":\n case \"dangerouslySetInnerHTML\":\n throw Error(formatProdErrorMessage(399, \"link\"));\n default:\n writeStyleResourceAttributeInJS(\n destination,\n propKey,\n precedence\n );\n }\n writeChunk(destination, arrayCloseBracket);\n nextArrayOpenBrackChunk = arraySubsequentOpenBracket;\n resource.state = 3;\n }\n });\n writeChunk(destination, arrayCloseBracket);\n}\nfunction writeStyleResourceAttributeInJS(destination, name, value) {\n var attributeName = name.toLowerCase();\n switch (typeof value) {\n case \"function\":\n case \"symbol\":\n return;\n }\n switch (name) {\n case \"innerHTML\":\n case \"dangerouslySetInnerHTML\":\n case \"suppressContentEditableWarning\":\n case \"suppressHydrationWarning\":\n case \"style\":\n case \"ref\":\n return;\n case \"className\":\n attributeName = \"class\";\n name = \"\" + value;\n break;\n case \"hidden\":\n if (!1 === value) return;\n name = \"\";\n break;\n case \"src\":\n case \"href\":\n value = sanitizeURL(value);\n name = \"\" + value;\n break;\n default:\n if (\n (2 < name.length &&\n (\"o\" === name[0] || \"O\" === name[0]) &&\n (\"n\" === name[1] || \"N\" === name[1])) ||\n !isAttributeNameSafe(name)\n )\n return;\n name = \"\" + value;\n }\n writeChunk(destination, arrayInterstitial);\n writeChunk(\n destination,\n stringToChunk(escapeJSObjectForInstructionScripts(attributeName))\n );\n writeChunk(destination, arrayInterstitial);\n writeChunk(\n destination,\n stringToChunk(escapeJSObjectForInstructionScripts(name))\n );\n}\nfunction createHoistableState() {\n return { styles: new Set(), stylesheets: new Set(), suspenseyImages: !1 };\n}\nfunction prefetchDNS(href) {\n var request = currentRequest ? currentRequest : null;\n if (request) {\n var resumableState = request.resumableState,\n renderState = request.renderState;\n if (\"string\" === typeof href && href) {\n if (!resumableState.dnsResources.hasOwnProperty(href)) {\n resumableState.dnsResources[href] = null;\n resumableState = renderState.headers;\n var header, JSCompiler_temp;\n if (\n (JSCompiler_temp =\n resumableState && 0 < resumableState.remainingCapacity)\n )\n JSCompiler_temp =\n ((header =\n \"<\" +\n (\"\" + href).replace(\n regexForHrefInLinkHeaderURLContext,\n escapeHrefForLinkHeaderURLContextReplacer\n ) +\n \">; rel=dns-prefetch\"),\n 0 <= (resumableState.remainingCapacity -= header.length + 2));\n JSCompiler_temp\n ? ((renderState.resets.dns[href] = null),\n resumableState.preconnects && (resumableState.preconnects += \", \"),\n (resumableState.preconnects += header))\n : ((header = []),\n pushLinkImpl(header, { href: href, rel: \"dns-prefetch\" }),\n renderState.preconnects.add(header));\n }\n enqueueFlush(request);\n }\n } else previousDispatcher.D(href);\n}\nfunction preconnect(href, crossOrigin) {\n var request = currentRequest ? currentRequest : null;\n if (request) {\n var resumableState = request.resumableState,\n renderState = request.renderState;\n if (\"string\" === typeof href && href) {\n var bucket =\n \"use-credentials\" === crossOrigin\n ? \"credentials\"\n : \"string\" === typeof crossOrigin\n ? \"anonymous\"\n : \"default\";\n if (!resumableState.connectResources[bucket].hasOwnProperty(href)) {\n resumableState.connectResources[bucket][href] = null;\n resumableState = renderState.headers;\n var header, JSCompiler_temp;\n if (\n (JSCompiler_temp =\n resumableState && 0 < resumableState.remainingCapacity)\n ) {\n JSCompiler_temp =\n \"<\" +\n (\"\" + href).replace(\n regexForHrefInLinkHeaderURLContext,\n escapeHrefForLinkHeaderURLContextReplacer\n ) +\n \">; rel=preconnect\";\n if (\"string\" === typeof crossOrigin) {\n var escapedCrossOrigin = (\"\" + crossOrigin).replace(\n regexForLinkHeaderQuotedParamValueContext,\n escapeStringForLinkHeaderQuotedParamValueContextReplacer\n );\n JSCompiler_temp += '; crossorigin=\"' + escapedCrossOrigin + '\"';\n }\n JSCompiler_temp =\n ((header = JSCompiler_temp),\n 0 <= (resumableState.remainingCapacity -= header.length + 2));\n }\n JSCompiler_temp\n ? ((renderState.resets.connect[bucket][href] = null),\n resumableState.preconnects && (resumableState.preconnects += \", \"),\n (resumableState.preconnects += header))\n : ((bucket = []),\n pushLinkImpl(bucket, {\n rel: \"preconnect\",\n href: href,\n crossOrigin: crossOrigin\n }),\n renderState.preconnects.add(bucket));\n }\n enqueueFlush(request);\n }\n } else previousDispatcher.C(href, crossOrigin);\n}\nfunction preload(href, as, options) {\n var request = currentRequest ? currentRequest : null;\n if (request) {\n var resumableState = request.resumableState,\n renderState = request.renderState;\n if (as && href) {\n switch (as) {\n case \"image\":\n if (options) {\n var imageSrcSet = options.imageSrcSet;\n var imageSizes = options.imageSizes;\n var fetchPriority = options.fetchPriority;\n }\n var key = imageSrcSet\n ? imageSrcSet + \"\\n\" + (imageSizes || \"\")\n : href;\n if (resumableState.imageResources.hasOwnProperty(key)) return;\n resumableState.imageResources[key] = PRELOAD_NO_CREDS;\n resumableState = renderState.headers;\n var header;\n resumableState &&\n 0 < resumableState.remainingCapacity &&\n \"string\" !== typeof imageSrcSet &&\n \"high\" === fetchPriority &&\n ((header = getPreloadAsHeader(href, as, options)),\n 0 <= (resumableState.remainingCapacity -= header.length + 2))\n ? ((renderState.resets.image[key] = PRELOAD_NO_CREDS),\n resumableState.highImagePreloads &&\n (resumableState.highImagePreloads += \", \"),\n (resumableState.highImagePreloads += header))\n : ((resumableState = []),\n pushLinkImpl(\n resumableState,\n assign(\n { rel: \"preload\", href: imageSrcSet ? void 0 : href, as: as },\n options\n )\n ),\n \"high\" === fetchPriority\n ? renderState.highImagePreloads.add(resumableState)\n : (renderState.bulkPreloads.add(resumableState),\n renderState.preloads.images.set(key, resumableState)));\n break;\n case \"style\":\n if (resumableState.styleResources.hasOwnProperty(href)) return;\n imageSrcSet = [];\n pushLinkImpl(\n imageSrcSet,\n assign({ rel: \"preload\", href: href, as: as }, options)\n );\n resumableState.styleResources[href] =\n !options ||\n (\"string\" !== typeof options.crossOrigin &&\n \"string\" !== typeof options.integrity)\n ? PRELOAD_NO_CREDS\n : [options.crossOrigin, options.integrity];\n renderState.preloads.stylesheets.set(href, imageSrcSet);\n renderState.bulkPreloads.add(imageSrcSet);\n break;\n case \"script\":\n if (resumableState.scriptResources.hasOwnProperty(href)) return;\n imageSrcSet = [];\n renderState.preloads.scripts.set(href, imageSrcSet);\n renderState.bulkPreloads.add(imageSrcSet);\n pushLinkImpl(\n imageSrcSet,\n assign({ rel: \"preload\", href: href, as: as }, options)\n );\n resumableState.scriptResources[href] =\n !options ||\n (\"string\" !== typeof options.crossOrigin &&\n \"string\" !== typeof options.integrity)\n ? PRELOAD_NO_CREDS\n : [options.crossOrigin, options.integrity];\n break;\n default:\n if (resumableState.unknownResources.hasOwnProperty(as)) {\n if (\n ((imageSrcSet = resumableState.unknownResources[as]),\n imageSrcSet.hasOwnProperty(href))\n )\n return;\n } else\n (imageSrcSet = {}),\n (resumableState.unknownResources[as] = imageSrcSet);\n imageSrcSet[href] = PRELOAD_NO_CREDS;\n if (\n (resumableState = renderState.headers) &&\n 0 < resumableState.remainingCapacity &&\n \"font\" === as &&\n ((key = getPreloadAsHeader(href, as, options)),\n 0 <= (resumableState.remainingCapacity -= key.length + 2))\n )\n (renderState.resets.font[href] = PRELOAD_NO_CREDS),\n resumableState.fontPreloads &&\n (resumableState.fontPreloads += \", \"),\n (resumableState.fontPreloads += key);\n else\n switch (\n ((resumableState = []),\n (href = assign({ rel: \"preload\", href: href, as: as }, options)),\n pushLinkImpl(resumableState, href),\n as)\n ) {\n case \"font\":\n renderState.fontPreloads.add(resumableState);\n break;\n default:\n renderState.bulkPreloads.add(resumableState);\n }\n }\n enqueueFlush(request);\n }\n } else previousDispatcher.L(href, as, options);\n}\nfunction preloadModule(href, options) {\n var request = currentRequest ? currentRequest : null;\n if (request) {\n var resumableState = request.resumableState,\n renderState = request.renderState;\n if (href) {\n var as =\n options && \"string\" === typeof options.as ? options.as : \"script\";\n switch (as) {\n case \"script\":\n if (resumableState.moduleScriptResources.hasOwnProperty(href)) return;\n as = [];\n resumableState.moduleScriptResources[href] =\n !options ||\n (\"string\" !== typeof options.crossOrigin &&\n \"string\" !== typeof options.integrity)\n ? PRELOAD_NO_CREDS\n : [options.crossOrigin, options.integrity];\n renderState.preloads.moduleScripts.set(href, as);\n break;\n default:\n if (resumableState.moduleUnknownResources.hasOwnProperty(as)) {\n var resources = resumableState.unknownResources[as];\n if (resources.hasOwnProperty(href)) return;\n } else\n (resources = {}),\n (resumableState.moduleUnknownResources[as] = resources);\n as = [];\n resources[href] = PRELOAD_NO_CREDS;\n }\n pushLinkImpl(as, assign({ rel: \"modulepreload\", href: href }, options));\n renderState.bulkPreloads.add(as);\n enqueueFlush(request);\n }\n } else previousDispatcher.m(href, options);\n}\nfunction preinitStyle(href, precedence, options) {\n var request = currentRequest ? currentRequest : null;\n if (request) {\n var resumableState = request.resumableState,\n renderState = request.renderState;\n if (href) {\n precedence = precedence || \"default\";\n var styleQueue = renderState.styles.get(precedence),\n resourceState = resumableState.styleResources.hasOwnProperty(href)\n ? resumableState.styleResources[href]\n : void 0;\n null !== resourceState &&\n ((resumableState.styleResources[href] = null),\n styleQueue ||\n ((styleQueue = {\n precedence: stringToChunk(escapeTextForBrowser(precedence)),\n rules: [],\n hrefs: [],\n sheets: new Map()\n }),\n renderState.styles.set(precedence, styleQueue)),\n (precedence = {\n state: 0,\n props: assign(\n { rel: \"stylesheet\", href: href, \"data-precedence\": precedence },\n options\n )\n }),\n resourceState &&\n (2 === resourceState.length &&\n adoptPreloadCredentials(precedence.props, resourceState),\n (renderState = renderState.preloads.stylesheets.get(href)) &&\n 0 < renderState.length\n ? (renderState.length = 0)\n : (precedence.state = 1)),\n styleQueue.sheets.set(href, precedence),\n enqueueFlush(request));\n }\n } else previousDispatcher.S(href, precedence, options);\n}\nfunction preinitScript(src, options) {\n var request = currentRequest ? currentRequest : null;\n if (request) {\n var resumableState = request.resumableState,\n renderState = request.renderState;\n if (src) {\n var resourceState = resumableState.scriptResources.hasOwnProperty(src)\n ? resumableState.scriptResources[src]\n : void 0;\n null !== resourceState &&\n ((resumableState.scriptResources[src] = null),\n (options = assign({ src: src, async: !0 }, options)),\n resourceState &&\n (2 === resourceState.length &&\n adoptPreloadCredentials(options, resourceState),\n (src = renderState.preloads.scripts.get(src))) &&\n (src.length = 0),\n (src = []),\n renderState.scripts.add(src),\n pushScriptImpl(src, options),\n enqueueFlush(request));\n }\n } else previousDispatcher.X(src, options);\n}\nfunction preinitModuleScript(src, options) {\n var request = currentRequest ? currentRequest : null;\n if (request) {\n var resumableState = request.resumableState,\n renderState = request.renderState;\n if (src) {\n var resourceState = resumableState.moduleScriptResources.hasOwnProperty(\n src\n )\n ? resumableState.moduleScriptResources[src]\n : void 0;\n null !== resourceState &&\n ((resumableState.moduleScriptResources[src] = null),\n (options = assign({ src: src, type: \"module\", async: !0 }, options)),\n resourceState &&\n (2 === resourceState.length &&\n adoptPreloadCredentials(options, resourceState),\n (src = renderState.preloads.moduleScripts.get(src))) &&\n (src.length = 0),\n (src = []),\n renderState.scripts.add(src),\n pushScriptImpl(src, options),\n enqueueFlush(request));\n }\n } else previousDispatcher.M(src, options);\n}\nfunction adoptPreloadCredentials(target, preloadState) {\n null == target.crossOrigin && (target.crossOrigin = preloadState[0]);\n null == target.integrity && (target.integrity = preloadState[1]);\n}\nfunction getPreloadAsHeader(href, as, params) {\n href = (\"\" + href).replace(\n regexForHrefInLinkHeaderURLContext,\n escapeHrefForLinkHeaderURLContextReplacer\n );\n as = (\"\" + as).replace(\n regexForLinkHeaderQuotedParamValueContext,\n escapeStringForLinkHeaderQuotedParamValueContextReplacer\n );\n as = \"<\" + href + '>; rel=preload; as=\"' + as + '\"';\n for (var paramName in params)\n hasOwnProperty.call(params, paramName) &&\n ((href = params[paramName]),\n \"string\" === typeof href &&\n (as +=\n \"; \" +\n paramName.toLowerCase() +\n '=\"' +\n (\"\" + href).replace(\n regexForLinkHeaderQuotedParamValueContext,\n escapeStringForLinkHeaderQuotedParamValueContextReplacer\n ) +\n '\"'));\n return as;\n}\nvar regexForHrefInLinkHeaderURLContext = /[<>\\r\\n]/g;\nfunction escapeHrefForLinkHeaderURLContextReplacer(match) {\n switch (match) {\n case \"<\":\n return \"%3C\";\n case \">\":\n return \"%3E\";\n case \"\\n\":\n return \"%0A\";\n case \"\\r\":\n return \"%0D\";\n default:\n throw Error(\n \"escapeLinkHrefForHeaderContextReplacer encountered a match it does not know how to replace. this means the match regex and the replacement characters are no longer in sync. This is a bug in React\"\n );\n }\n}\nvar regexForLinkHeaderQuotedParamValueContext = /[\"';,\\r\\n]/g;\nfunction escapeStringForLinkHeaderQuotedParamValueContextReplacer(match) {\n switch (match) {\n case '\"':\n return \"%22\";\n case \"'\":\n return \"%27\";\n case \";\":\n return \"%3B\";\n case \",\":\n return \"%2C\";\n case \"\\n\":\n return \"%0A\";\n case \"\\r\":\n return \"%0D\";\n default:\n throw Error(\n \"escapeStringForLinkHeaderQuotedParamValueContextReplacer encountered a match it does not know how to replace. this means the match regex and the replacement characters are no longer in sync. This is a bug in React\"\n );\n }\n}\nfunction hoistStyleQueueDependency(styleQueue) {\n this.styles.add(styleQueue);\n}\nfunction hoistStylesheetDependency(stylesheet) {\n this.stylesheets.add(stylesheet);\n}\nfunction hoistHoistables(parentState, childState) {\n childState.styles.forEach(hoistStyleQueueDependency, parentState);\n childState.stylesheets.forEach(hoistStylesheetDependency, parentState);\n childState.suspenseyImages && (parentState.suspenseyImages = !0);\n}\nfunction hasSuspenseyContent(hoistableState) {\n return 0 < hoistableState.stylesheets.size || hoistableState.suspenseyImages;\n}\nvar bind = Function.prototype.bind,\n REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\");\nfunction getComponentNameFromType(type) {\n if (null == type) return null;\n if (\"function\" === typeof type)\n return type.$$typeof === REACT_CLIENT_REFERENCE\n ? null\n : type.displayName || type.name || null;\n if (\"string\" === typeof type) return type;\n switch (type) {\n case REACT_FRAGMENT_TYPE:\n return \"Fragment\";\n case REACT_PROFILER_TYPE:\n return \"Profiler\";\n case REACT_STRICT_MODE_TYPE:\n return \"StrictMode\";\n case REACT_SUSPENSE_TYPE:\n return \"Suspense\";\n case REACT_SUSPENSE_LIST_TYPE:\n return \"SuspenseList\";\n case REACT_ACTIVITY_TYPE:\n return \"Activity\";\n }\n if (\"object\" === typeof type)\n switch (type.$$typeof) {\n case REACT_PORTAL_TYPE:\n return \"Portal\";\n case REACT_CONTEXT_TYPE:\n return type.displayName || \"Context\";\n case REACT_CONSUMER_TYPE:\n return (type._context.displayName || \"Context\") + \".Consumer\";\n case REACT_FORWARD_REF_TYPE:\n var innerType = type.render;\n type = type.displayName;\n type ||\n ((type = innerType.displayName || innerType.name || \"\"),\n (type = \"\" !== type ? \"ForwardRef(\" + type + \")\" : \"ForwardRef\"));\n return type;\n case REACT_MEMO_TYPE:\n return (\n (innerType = type.displayName || null),\n null !== innerType\n ? innerType\n : getComponentNameFromType(type.type) || \"Memo\"\n );\n case REACT_LAZY_TYPE:\n innerType = type._payload;\n type = type._init;\n try {\n return getComponentNameFromType(type(innerType));\n } catch (x) {}\n }\n return null;\n}\nvar emptyContextObject = {},\n currentActiveSnapshot = null;\nfunction popToNearestCommonAncestor(prev, next) {\n if (prev !== next) {\n prev.context._currentValue = prev.parentValue;\n prev = prev.parent;\n var parentNext = next.parent;\n if (null === prev) {\n if (null !== parentNext) throw Error(formatProdErrorMessage(401));\n } else {\n if (null === parentNext) throw Error(formatProdErrorMessage(401));\n popToNearestCommonAncestor(prev, parentNext);\n }\n next.context._currentValue = next.value;\n }\n}\nfunction popAllPrevious(prev) {\n prev.context._currentValue = prev.parentValue;\n prev = prev.parent;\n null !== prev && popAllPrevious(prev);\n}\nfunction pushAllNext(next) {\n var parentNext = next.parent;\n null !== parentNext && pushAllNext(parentNext);\n next.context._currentValue = next.value;\n}\nfunction popPreviousToCommonLevel(prev, next) {\n prev.context._currentValue = prev.parentValue;\n prev = prev.parent;\n if (null === prev) throw Error(formatProdErrorMessage(402));\n prev.depth === next.depth\n ? popToNearestCommonAncestor(prev, next)\n : popPreviousToCommonLevel(prev, next);\n}\nfunction popNextToCommonLevel(prev, next) {\n var parentNext = next.parent;\n if (null === parentNext) throw Error(formatProdErrorMessage(402));\n prev.depth === parentNext.depth\n ? popToNearestCommonAncestor(prev, parentNext)\n : popNextToCommonLevel(prev, parentNext);\n next.context._currentValue = next.value;\n}\nfunction switchContext(newSnapshot) {\n var prev = currentActiveSnapshot;\n prev !== newSnapshot &&\n (null === prev\n ? pushAllNext(newSnapshot)\n : null === newSnapshot\n ? popAllPrevious(prev)\n : prev.depth === newSnapshot.depth\n ? popToNearestCommonAncestor(prev, newSnapshot)\n : prev.depth > newSnapshot.depth\n ? popPreviousToCommonLevel(prev, newSnapshot)\n : popNextToCommonLevel(prev, newSnapshot),\n (currentActiveSnapshot = newSnapshot));\n}\nvar classComponentUpdater = {\n enqueueSetState: function (inst, payload) {\n inst = inst._reactInternals;\n null !== inst.queue && inst.queue.push(payload);\n },\n enqueueReplaceState: function (inst, payload) {\n inst = inst._reactInternals;\n inst.replace = !0;\n inst.queue = [payload];\n },\n enqueueForceUpdate: function () {}\n },\n emptyTreeContext = { id: 1, overflow: \"\" };\nfunction pushTreeContext(baseContext, totalChildren, index) {\n var baseIdWithLeadingBit = baseContext.id;\n baseContext = baseContext.overflow;\n var baseLength = 32 - clz32(baseIdWithLeadingBit) - 1;\n baseIdWithLeadingBit &= ~(1 << baseLength);\n index += 1;\n var length = 32 - clz32(totalChildren) + baseLength;\n if (30 < length) {\n var numberOfOverflowBits = baseLength - (baseLength % 5);\n length = (\n baseIdWithLeadingBit &\n ((1 << numberOfOverflowBits) - 1)\n ).toString(32);\n baseIdWithLeadingBit >>= numberOfOverflowBits;\n baseLength -= numberOfOverflowBits;\n return {\n id:\n (1 << (32 - clz32(totalChildren) + baseLength)) |\n (index << baseLength) |\n baseIdWithLeadingBit,\n overflow: length + baseContext\n };\n }\n return {\n id: (1 << length) | (index << baseLength) | baseIdWithLeadingBit,\n overflow: baseContext\n };\n}\nvar clz32 = Math.clz32 ? Math.clz32 : clz32Fallback,\n log = Math.log,\n LN2 = Math.LN2;\nfunction clz32Fallback(x) {\n x >>>= 0;\n return 0 === x ? 32 : (31 - ((log(x) / LN2) | 0)) | 0;\n}\nfunction noop() {}\nvar SuspenseException = Error(formatProdErrorMessage(460));\nfunction trackUsedThenable(thenableState, thenable, index) {\n index = thenableState[index];\n void 0 === index\n ? thenableState.push(thenable)\n : index !== thenable && (thenable.then(noop, noop), (thenable = index));\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n default:\n \"string\" === typeof thenable.status\n ? thenable.then(noop, noop)\n : ((thenableState = thenable),\n (thenableState.status = \"pending\"),\n thenableState.then(\n function (fulfilledValue) {\n if (\"pending\" === thenable.status) {\n var fulfilledThenable = thenable;\n fulfilledThenable.status = \"fulfilled\";\n fulfilledThenable.value = fulfilledValue;\n }\n },\n function (error) {\n if (\"pending\" === thenable.status) {\n var rejectedThenable = thenable;\n rejectedThenable.status = \"rejected\";\n rejectedThenable.reason = error;\n }\n }\n ));\n switch (thenable.status) {\n case \"fulfilled\":\n return thenable.value;\n case \"rejected\":\n throw thenable.reason;\n }\n suspendedThenable = thenable;\n throw SuspenseException;\n }\n}\nvar suspendedThenable = null;\nfunction getSuspendedThenable() {\n if (null === suspendedThenable) throw Error(formatProdErrorMessage(459));\n var thenable = suspendedThenable;\n suspendedThenable = null;\n return thenable;\n}\nfunction is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n}\nvar objectIs = \"function\" === typeof Object.is ? Object.is : is,\n currentlyRenderingComponent = null,\n currentlyRenderingTask = null,\n currentlyRenderingRequest = null,\n currentlyRenderingKeyPath = null,\n firstWorkInProgressHook = null,\n workInProgressHook = null,\n isReRender = !1,\n didScheduleRenderPhaseUpdate = !1,\n localIdCounter = 0,\n actionStateCounter = 0,\n actionStateMatchingIndex = -1,\n thenableIndexCounter = 0,\n thenableState = null,\n renderPhaseUpdates = null,\n numberOfReRenders = 0;\nfunction resolveCurrentlyRenderingComponent() {\n if (null === currentlyRenderingComponent)\n throw Error(formatProdErrorMessage(321));\n return currentlyRenderingComponent;\n}\nfunction createHook() {\n if (0 < numberOfReRenders) throw Error(formatProdErrorMessage(312));\n return { memoizedState: null, queue: null, next: null };\n}\nfunction createWorkInProgressHook() {\n null === workInProgressHook\n ? null === firstWorkInProgressHook\n ? ((isReRender = !1),\n (firstWorkInProgressHook = workInProgressHook = createHook()))\n : ((isReRender = !0), (workInProgressHook = firstWorkInProgressHook))\n : null === workInProgressHook.next\n ? ((isReRender = !1),\n (workInProgressHook = workInProgressHook.next = createHook()))\n : ((isReRender = !0), (workInProgressHook = workInProgressHook.next));\n return workInProgressHook;\n}\nfunction getThenableStateAfterSuspending() {\n var state = thenableState;\n thenableState = null;\n return state;\n}\nfunction resetHooksState() {\n currentlyRenderingKeyPath =\n currentlyRenderingRequest =\n currentlyRenderingTask =\n currentlyRenderingComponent =\n null;\n didScheduleRenderPhaseUpdate = !1;\n firstWorkInProgressHook = null;\n numberOfReRenders = 0;\n workInProgressHook = renderPhaseUpdates = null;\n}\nfunction basicStateReducer(state, action) {\n return \"function\" === typeof action ? action(state) : action;\n}\nfunction useReducer(reducer, initialArg, init) {\n currentlyRenderingComponent = resolveCurrentlyRenderingComponent();\n workInProgressHook = createWorkInProgressHook();\n if (isReRender) {\n var queue = workInProgressHook.queue;\n initialArg = queue.dispatch;\n if (\n null !== renderPhaseUpdates &&\n ((init = renderPhaseUpdates.get(queue)), void 0 !== init)\n ) {\n renderPhaseUpdates.delete(queue);\n queue = workInProgressHook.memoizedState;\n do (queue = reducer(queue, init.action)), (init = init.next);\n while (null !== init);\n workInProgressHook.memoizedState = queue;\n return [queue, initialArg];\n }\n return [workInProgressHook.memoizedState, initialArg];\n }\n reducer =\n reducer === basicStateReducer\n ? \"function\" === typeof initialArg\n ? initialArg()\n : initialArg\n : void 0 !== init\n ? init(initialArg)\n : initialArg;\n workInProgressHook.memoizedState = reducer;\n reducer = workInProgressHook.queue = { last: null, dispatch: null };\n reducer = reducer.dispatch = dispatchAction.bind(\n null,\n currentlyRenderingComponent,\n reducer\n );\n return [workInProgressHook.memoizedState, reducer];\n}\nfunction useMemo(nextCreate, deps) {\n currentlyRenderingComponent = resolveCurrentlyRenderingComponent();\n workInProgressHook = createWorkInProgressHook();\n deps = void 0 === deps ? null : deps;\n if (null !== workInProgressHook) {\n var prevState = workInProgressHook.memoizedState;\n if (null !== prevState && null !== deps) {\n var prevDeps = prevState[1];\n a: if (null === prevDeps) prevDeps = !1;\n else {\n for (var i = 0; i < prevDeps.length && i < deps.length; i++)\n if (!objectIs(deps[i], prevDeps[i])) {\n prevDeps = !1;\n break a;\n }\n prevDeps = !0;\n }\n if (prevDeps) return prevState[0];\n }\n }\n nextCreate = nextCreate();\n workInProgressHook.memoizedState = [nextCreate, deps];\n return nextCreate;\n}\nfunction dispatchAction(componentIdentity, queue, action) {\n if (25 <= numberOfReRenders) throw Error(formatProdErrorMessage(301));\n if (componentIdentity === currentlyRenderingComponent)\n if (\n ((didScheduleRenderPhaseUpdate = !0),\n (componentIdentity = { action: action, next: null }),\n null === renderPhaseUpdates && (renderPhaseUpdates = new Map()),\n (action = renderPhaseUpdates.get(queue)),\n void 0 === action)\n )\n renderPhaseUpdates.set(queue, componentIdentity);\n else {\n for (queue = action; null !== queue.next; ) queue = queue.next;\n queue.next = componentIdentity;\n }\n}\nfunction throwOnUseEffectEventCall() {\n throw Error(formatProdErrorMessage(440));\n}\nfunction unsupportedStartTransition() {\n throw Error(formatProdErrorMessage(394));\n}\nfunction unsupportedSetOptimisticState() {\n throw Error(formatProdErrorMessage(479));\n}\nfunction useActionState(action, initialState, permalink) {\n resolveCurrentlyRenderingComponent();\n var actionStateHookIndex = actionStateCounter++,\n request = currentlyRenderingRequest;\n if (\"function\" === typeof action.$$FORM_ACTION) {\n var nextPostbackStateKey = null,\n componentKeyPath = currentlyRenderingKeyPath;\n request = request.formState;\n var isSignatureEqual = action.$$IS_SIGNATURE_EQUAL;\n if (null !== request && \"function\" === typeof isSignatureEqual) {\n var postbackKey = request[1];\n isSignatureEqual.call(action, request[2], request[3]) &&\n ((nextPostbackStateKey =\n void 0 !== permalink\n ? \"p\" + permalink\n : \"k\" +\n murmurhash3_32_gc(\n JSON.stringify([componentKeyPath, null, actionStateHookIndex]),\n 0\n )),\n postbackKey === nextPostbackStateKey &&\n ((actionStateMatchingIndex = actionStateHookIndex),\n (initialState = request[0])));\n }\n var boundAction = action.bind(null, initialState);\n action = function (payload) {\n boundAction(payload);\n };\n \"function\" === typeof boundAction.$$FORM_ACTION &&\n (action.$$FORM_ACTION = function (prefix) {\n prefix = boundAction.$$FORM_ACTION(prefix);\n void 0 !== permalink &&\n ((permalink += \"\"), (prefix.action = permalink));\n var formData = prefix.data;\n formData &&\n (null === nextPostbackStateKey &&\n (nextPostbackStateKey =\n void 0 !== permalink\n ? \"p\" + permalink\n : \"k\" +\n murmurhash3_32_gc(\n JSON.stringify([\n componentKeyPath,\n null,\n actionStateHookIndex\n ]),\n 0\n )),\n formData.append(\"$ACTION_KEY\", nextPostbackStateKey));\n return prefix;\n });\n return [initialState, action, !1];\n }\n var boundAction$22 = action.bind(null, initialState);\n return [\n initialState,\n function (payload) {\n boundAction$22(payload);\n },\n !1\n ];\n}\nfunction unwrapThenable(thenable) {\n var index = thenableIndexCounter;\n thenableIndexCounter += 1;\n null === thenableState && (thenableState = []);\n return trackUsedThenable(thenableState, thenable, index);\n}\nfunction unsupportedRefresh() {\n throw Error(formatProdErrorMessage(393));\n}\nvar HooksDispatcher = {\n readContext: function (context) {\n return context._currentValue;\n },\n use: function (usable) {\n if (null !== usable && \"object\" === typeof usable) {\n if (\"function\" === typeof usable.then) return unwrapThenable(usable);\n if (usable.$$typeof === REACT_CONTEXT_TYPE) return usable._currentValue;\n }\n throw Error(formatProdErrorMessage(438, String(usable)));\n },\n useContext: function (context) {\n resolveCurrentlyRenderingComponent();\n return context._currentValue;\n },\n useMemo: useMemo,\n useReducer: useReducer,\n useRef: function (initialValue) {\n currentlyRenderingComponent = resolveCurrentlyRenderingComponent();\n workInProgressHook = createWorkInProgressHook();\n var previousRef = workInProgressHook.memoizedState;\n return null === previousRef\n ? ((initialValue = { current: initialValue }),\n (workInProgressHook.memoizedState = initialValue))\n : previousRef;\n },\n useState: function (initialState) {\n return useReducer(basicStateReducer, initialState);\n },\n useInsertionEffect: noop,\n useLayoutEffect: noop,\n useCallback: function (callback, deps) {\n return useMemo(function () {\n return callback;\n }, deps);\n },\n useImperativeHandle: noop,\n useEffect: noop,\n useDebugValue: noop,\n useDeferredValue: function (value, initialValue) {\n resolveCurrentlyRenderingComponent();\n return void 0 !== initialValue ? initialValue : value;\n },\n useTransition: function () {\n resolveCurrentlyRenderingComponent();\n return [!1, unsupportedStartTransition];\n },\n useId: function () {\n var JSCompiler_inline_result = currentlyRenderingTask.treeContext;\n var overflow = JSCompiler_inline_result.overflow;\n JSCompiler_inline_result = JSCompiler_inline_result.id;\n JSCompiler_inline_result =\n (\n JSCompiler_inline_result &\n ~(1 << (32 - clz32(JSCompiler_inline_result) - 1))\n ).toString(32) + overflow;\n var resumableState = currentResumableState;\n if (null === resumableState) throw Error(formatProdErrorMessage(404));\n overflow = localIdCounter++;\n JSCompiler_inline_result =\n \"_\" + resumableState.idPrefix + \"R_\" + JSCompiler_inline_result;\n 0 < overflow && (JSCompiler_inline_result += \"H\" + overflow.toString(32));\n return JSCompiler_inline_result + \"_\";\n },\n useSyncExternalStore: function (subscribe, getSnapshot, getServerSnapshot) {\n if (void 0 === getServerSnapshot)\n throw Error(formatProdErrorMessage(407));\n return getServerSnapshot();\n },\n useOptimistic: function (passthrough) {\n resolveCurrentlyRenderingComponent();\n return [passthrough, unsupportedSetOptimisticState];\n },\n useActionState: useActionState,\n useFormState: useActionState,\n useHostTransitionStatus: function () {\n resolveCurrentlyRenderingComponent();\n return sharedNotPendingObject;\n },\n useMemoCache: function (size) {\n for (var data = Array(size), i = 0; i < size; i++)\n data[i] = REACT_MEMO_CACHE_SENTINEL;\n return data;\n },\n useCacheRefresh: function () {\n return unsupportedRefresh;\n },\n useEffectEvent: function () {\n return throwOnUseEffectEventCall;\n }\n },\n currentResumableState = null,\n DefaultAsyncDispatcher = {\n getCacheForType: function () {\n throw Error(formatProdErrorMessage(248));\n },\n cacheSignal: function () {\n throw Error(formatProdErrorMessage(248));\n }\n },\n prefix,\n suffix;\nfunction describeBuiltInComponentFrame(name) {\n if (void 0 === prefix)\n try {\n throw Error();\n } catch (x) {\n var match = x.stack.trim().match(/\\n( *(at )?)/);\n prefix = (match && match[1]) || \"\";\n suffix =\n -1 < x.stack.indexOf(\"\\n at\")\n ? \" (<anonymous>)\"\n : -1 < x.stack.indexOf(\"@\")\n ? \"@unknown:0:0\"\n : \"\";\n }\n return \"\\n\" + prefix + name + suffix;\n}\nvar reentry = !1;\nfunction describeNativeComponentFrame(fn, construct) {\n if (!fn || reentry) return \"\";\n reentry = !0;\n var previousPrepareStackTrace = Error.prepareStackTrace;\n Error.prepareStackTrace = void 0;\n try {\n var RunInRootFrame = {\n DetermineComponentFrameRoot: function () {\n try {\n if (construct) {\n var Fake = function () {\n throw Error();\n };\n Object.defineProperty(Fake.prototype, \"props\", {\n set: function () {\n throw Error();\n }\n });\n if (\"object\" === typeof Reflect && Reflect.construct) {\n try {\n Reflect.construct(Fake, []);\n } catch (x) {\n var control = x;\n }\n Reflect.construct(fn, [], Fake);\n } else {\n try {\n Fake.call();\n } catch (x$24) {\n control = x$24;\n }\n fn.call(Fake.prototype);\n }\n } else {\n try {\n throw Error();\n } catch (x$25) {\n control = x$25;\n }\n (Fake = fn()) &&\n \"function\" === typeof Fake.catch &&\n Fake.catch(function () {});\n }\n } catch (sample) {\n if (sample && control && \"string\" === typeof sample.stack)\n return [sample.stack, control.stack];\n }\n return [null, null];\n }\n };\n RunInRootFrame.DetermineComponentFrameRoot.displayName =\n \"DetermineComponentFrameRoot\";\n var namePropDescriptor = Object.getOwnPropertyDescriptor(\n RunInRootFrame.DetermineComponentFrameRoot,\n \"name\"\n );\n namePropDescriptor &&\n namePropDescriptor.configurable &&\n Object.defineProperty(\n RunInRootFrame.DetermineComponentFrameRoot,\n \"name\",\n { value: \"DetermineComponentFrameRoot\" }\n );\n var _RunInRootFrame$Deter = RunInRootFrame.DetermineComponentFrameRoot(),\n sampleStack = _RunInRootFrame$Deter[0],\n controlStack = _RunInRootFrame$Deter[1];\n if (sampleStack && controlStack) {\n var sampleLines = sampleStack.split(\"\\n\"),\n controlLines = controlStack.split(\"\\n\");\n for (\n namePropDescriptor = RunInRootFrame = 0;\n RunInRootFrame < sampleLines.length &&\n !sampleLines[RunInRootFrame].includes(\"DetermineComponentFrameRoot\");\n\n )\n RunInRootFrame++;\n for (\n ;\n namePropDescriptor < controlLines.length &&\n !controlLines[namePropDescriptor].includes(\n \"DetermineComponentFrameRoot\"\n );\n\n )\n namePropDescriptor++;\n if (\n RunInRootFrame === sampleLines.length ||\n namePropDescriptor === controlLines.length\n )\n for (\n RunInRootFrame = sampleLines.length - 1,\n namePropDescriptor = controlLines.length - 1;\n 1 <= RunInRootFrame &&\n 0 <= namePropDescriptor &&\n sampleLines[RunInRootFrame] !== controlLines[namePropDescriptor];\n\n )\n namePropDescriptor--;\n for (\n ;\n 1 <= RunInRootFrame && 0 <= namePropDescriptor;\n RunInRootFrame--, namePropDescriptor--\n )\n if (sampleLines[RunInRootFrame] !== controlLines[namePropDescriptor]) {\n if (1 !== RunInRootFrame || 1 !== namePropDescriptor) {\n do\n if (\n (RunInRootFrame--,\n namePropDescriptor--,\n 0 > namePropDescriptor ||\n sampleLines[RunInRootFrame] !==\n controlLines[namePropDescriptor])\n ) {\n var frame =\n \"\\n\" +\n sampleLines[RunInRootFrame].replace(\" at new \", \" at \");\n fn.displayName &&\n frame.includes(\"<anonymous>\") &&\n (frame = frame.replace(\"<anonymous>\", fn.displayName));\n return frame;\n }\n while (1 <= RunInRootFrame && 0 <= namePropDescriptor);\n }\n break;\n }\n }\n } finally {\n (reentry = !1), (Error.prepareStackTrace = previousPrepareStackTrace);\n }\n return (previousPrepareStackTrace = fn ? fn.displayName || fn.name : \"\")\n ? describeBuiltInComponentFrame(previousPrepareStackTrace)\n : \"\";\n}\nfunction describeComponentStackByType(type) {\n if (\"string\" === typeof type) return describeBuiltInComponentFrame(type);\n if (\"function\" === typeof type)\n return type.prototype && type.prototype.isReactComponent\n ? describeNativeComponentFrame(type, !0)\n : describeNativeComponentFrame(type, !1);\n if (\"object\" === typeof type && null !== type) {\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n return describeNativeComponentFrame(type.render, !1);\n case REACT_MEMO_TYPE:\n return describeNativeComponentFrame(type.type, !1);\n case REACT_LAZY_TYPE:\n var lazyComponent = type,\n payload = lazyComponent._payload;\n lazyComponent = lazyComponent._init;\n try {\n type = lazyComponent(payload);\n } catch (x) {\n return describeBuiltInComponentFrame(\"Lazy\");\n }\n return describeComponentStackByType(type);\n }\n if (\"string\" === typeof type.name) {\n a: {\n payload = type.name;\n lazyComponent = type.env;\n var location = type.debugLocation;\n if (\n null != location &&\n ((type = Error.prepareStackTrace),\n (Error.prepareStackTrace = void 0),\n (location = location.stack),\n (Error.prepareStackTrace = type),\n location.startsWith(\"Error: react-stack-top-frame\\n\") &&\n (location = location.slice(29)),\n (type = location.indexOf(\"\\n\")),\n -1 !== type && (location = location.slice(type + 1)),\n (type = location.indexOf(\"react_stack_bottom_frame\")),\n -1 !== type && (type = location.lastIndexOf(\"\\n\", type)),\n (type = -1 !== type ? (location = location.slice(0, type)) : \"\"),\n (location = type.lastIndexOf(\"\\n\")),\n (type = -1 === location ? type : type.slice(location + 1)),\n -1 !== type.indexOf(payload))\n ) {\n payload = \"\\n\" + type;\n break a;\n }\n payload = describeBuiltInComponentFrame(\n payload + (lazyComponent ? \" [\" + lazyComponent + \"]\" : \"\")\n );\n }\n return payload;\n }\n }\n switch (type) {\n case REACT_SUSPENSE_LIST_TYPE:\n return describeBuiltInComponentFrame(\"SuspenseList\");\n case REACT_SUSPENSE_TYPE:\n return describeBuiltInComponentFrame(\"Suspense\");\n }\n return \"\";\n}\nfunction isEligibleForOutlining(request, boundary) {\n return (\n (500 < boundary.byteSize || hasSuspenseyContent(boundary.contentState)) &&\n null === boundary.contentPreamble\n );\n}\nfunction defaultErrorHandler(error) {\n if (\n \"object\" === typeof error &&\n null !== error &&\n \"string\" === typeof error.environmentName\n ) {\n var JSCompiler_inline_result = error.environmentName;\n error = [error].slice(0);\n \"string\" === typeof error[0]\n ? error.splice(\n 0,\n 1,\n \"%c%s%c \" + error[0],\n \"background: #e6e6e6;background: light-dark(rgba(0,0,0,0.1), rgba(255,255,255,0.25));color: #000000;color: light-dark(#000000, #ffffff);border-radius: 2px\",\n \" \" + JSCompiler_inline_result + \" \",\n \"\"\n )\n : error.splice(\n 0,\n 0,\n \"%c%s%c\",\n \"background: #e6e6e6;background: light-dark(rgba(0,0,0,0.1), rgba(255,255,255,0.25));color: #000000;color: light-dark(#000000, #ffffff);border-radius: 2px\",\n \" \" + JSCompiler_inline_result + \" \",\n \"\"\n );\n error.unshift(console);\n JSCompiler_inline_result = bind.apply(console.error, error);\n JSCompiler_inline_result();\n } else console.error(error);\n return null;\n}\nfunction RequestInstance(\n resumableState,\n renderState,\n rootFormatContext,\n progressiveChunkSize,\n onError,\n onAllReady,\n onShellReady,\n onShellError,\n onFatalError,\n onPostpone,\n formState\n) {\n var abortSet = new Set();\n this.destination = null;\n this.flushScheduled = !1;\n this.resumableState = resumableState;\n this.renderState = renderState;\n this.rootFormatContext = rootFormatContext;\n this.progressiveChunkSize =\n void 0 === progressiveChunkSize ? 12800 : progressiveChunkSize;\n this.status = 10;\n this.fatalError = null;\n this.pendingRootTasks = this.allPendingTasks = this.nextSegmentId = 0;\n this.completedPreambleSegments = this.completedRootSegment = null;\n this.byteSize = 0;\n this.abortableTasks = abortSet;\n this.pingedTasks = [];\n this.clientRenderedBoundaries = [];\n this.completedBoundaries = [];\n this.partialBoundaries = [];\n this.trackedPostpones = null;\n this.onError = void 0 === onError ? defaultErrorHandler : onError;\n this.onPostpone = void 0 === onPostpone ? noop : onPostpone;\n this.onAllReady = void 0 === onAllReady ? noop : onAllReady;\n this.onShellReady = void 0 === onShellReady ? noop : onShellReady;\n this.onShellError = void 0 === onShellError ? noop : onShellError;\n this.onFatalError = void 0 === onFatalError ? noop : onFatalError;\n this.formState = void 0 === formState ? null : formState;\n}\nfunction createRequest(\n children,\n resumableState,\n renderState,\n rootFormatContext,\n progressiveChunkSize,\n onError,\n onAllReady,\n onShellReady,\n onShellError,\n onFatalError,\n onPostpone,\n formState\n) {\n resumableState = new RequestInstance(\n resumableState,\n renderState,\n rootFormatContext,\n progressiveChunkSize,\n onError,\n onAllReady,\n onShellReady,\n onShellError,\n onFatalError,\n onPostpone,\n formState\n );\n renderState = createPendingSegment(\n resumableState,\n 0,\n null,\n rootFormatContext,\n !1,\n !1\n );\n renderState.parentFlushed = !0;\n children = createRenderTask(\n resumableState,\n null,\n children,\n -1,\n null,\n renderState,\n null,\n null,\n resumableState.abortableTasks,\n null,\n rootFormatContext,\n null,\n emptyTreeContext,\n null,\n null\n );\n pushComponentStack(children);\n resumableState.pingedTasks.push(children);\n return resumableState;\n}\nfunction createPrerenderRequest(\n children,\n resumableState,\n renderState,\n rootFormatContext,\n progressiveChunkSize,\n onError,\n onAllReady,\n onShellReady,\n onShellError,\n onFatalError,\n onPostpone\n) {\n children = createRequest(\n children,\n resumableState,\n renderState,\n rootFormatContext,\n progressiveChunkSize,\n onError,\n onAllReady,\n onShellReady,\n onShellError,\n onFatalError,\n onPostpone,\n void 0\n );\n children.trackedPostpones = {\n workingMap: new Map(),\n rootNodes: [],\n rootSlots: null\n };\n return children;\n}\nfunction resumeRequest(\n children,\n postponedState,\n renderState,\n onError,\n onAllReady,\n onShellReady,\n onShellError,\n onFatalError,\n onPostpone\n) {\n renderState = new RequestInstance(\n postponedState.resumableState,\n renderState,\n postponedState.rootFormatContext,\n postponedState.progressiveChunkSize,\n onError,\n onAllReady,\n onShellReady,\n onShellError,\n onFatalError,\n onPostpone,\n null\n );\n renderState.nextSegmentId = postponedState.nextSegmentId;\n if (\"number\" === typeof postponedState.replaySlots)\n return (\n (onError = createPendingSegment(\n renderState,\n 0,\n null,\n postponedState.rootFormatContext,\n !1,\n !1\n )),\n (onError.parentFlushed = !0),\n (children = createRenderTask(\n renderState,\n null,\n children,\n -1,\n null,\n onError,\n null,\n null,\n renderState.abortableTasks,\n null,\n postponedState.rootFormatContext,\n null,\n emptyTreeContext,\n null,\n null\n )),\n pushComponentStack(children),\n renderState.pingedTasks.push(children),\n renderState\n );\n children = createReplayTask(\n renderState,\n null,\n {\n nodes: postponedState.replayNodes,\n slots: postponedState.replaySlots,\n pendingTasks: 0\n },\n children,\n -1,\n null,\n null,\n renderState.abortableTasks,\n null,\n postponedState.rootFormatContext,\n null,\n emptyTreeContext,\n null,\n null\n );\n pushComponentStack(children);\n renderState.pingedTasks.push(children);\n return renderState;\n}\nfunction resumeAndPrerenderRequest(\n children,\n postponedState,\n renderState,\n onError,\n onAllReady,\n onShellReady,\n onShellError,\n onFatalError,\n onPostpone\n) {\n children = resumeRequest(\n children,\n postponedState,\n renderState,\n onError,\n onAllReady,\n onShellReady,\n onShellError,\n onFatalError,\n onPostpone\n );\n children.trackedPostpones = {\n workingMap: new Map(),\n rootNodes: [],\n rootSlots: null\n };\n return children;\n}\nvar currentRequest = null;\nfunction pingTask(request, task) {\n request.pingedTasks.push(task);\n 1 === request.pingedTasks.length &&\n ((request.flushScheduled = null !== request.destination),\n null !== request.trackedPostpones || 10 === request.status\n ? scheduleMicrotask(function () {\n return performWork(request);\n })\n : scheduleWork(function () {\n return performWork(request);\n }));\n}\nfunction createSuspenseBoundary(\n request,\n row,\n fallbackAbortableTasks,\n contentPreamble,\n fallbackPreamble\n) {\n fallbackAbortableTasks = {\n status: 0,\n rootSegmentID: -1,\n parentFlushed: !1,\n pendingTasks: 0,\n row: row,\n completedSegments: [],\n byteSize: 0,\n fallbackAbortableTasks: fallbackAbortableTasks,\n errorDigest: null,\n contentState: createHoistableState(),\n fallbackState: createHoistableState(),\n contentPreamble: contentPreamble,\n fallbackPreamble: fallbackPreamble,\n trackedContentKeyPath: null,\n trackedFallbackNode: null\n };\n null !== row &&\n (row.pendingTasks++,\n (contentPreamble = row.boundaries),\n null !== contentPreamble &&\n (request.allPendingTasks++,\n fallbackAbortableTasks.pendingTasks++,\n contentPreamble.push(fallbackAbortableTasks)),\n (request = row.inheritedHoistables),\n null !== request &&\n hoistHoistables(fallbackAbortableTasks.contentState, request));\n return fallbackAbortableTasks;\n}\nfunction createRenderTask(\n request,\n thenableState,\n node,\n childIndex,\n blockedBoundary,\n blockedSegment,\n blockedPreamble,\n hoistableState,\n abortSet,\n keyPath,\n formatContext,\n context,\n treeContext,\n row,\n componentStack\n) {\n request.allPendingTasks++;\n null === blockedBoundary\n ? request.pendingRootTasks++\n : blockedBoundary.pendingTasks++;\n null !== row && row.pendingTasks++;\n var task = {\n replay: null,\n node: node,\n childIndex: childIndex,\n ping: function () {\n return pingTask(request, task);\n },\n blockedBoundary: blockedBoundary,\n blockedSegment: blockedSegment,\n blockedPreamble: blockedPreamble,\n hoistableState: hoistableState,\n abortSet: abortSet,\n keyPath: keyPath,\n formatContext: formatContext,\n context: context,\n treeContext: treeContext,\n row: row,\n componentStack: componentStack,\n thenableState: thenableState\n };\n abortSet.add(task);\n return task;\n}\nfunction createReplayTask(\n request,\n thenableState,\n replay,\n node,\n childIndex,\n blockedBoundary,\n hoistableState,\n abortSet,\n keyPath,\n formatContext,\n context,\n treeContext,\n row,\n componentStack\n) {\n request.allPendingTasks++;\n null === blockedBoundary\n ? request.pendingRootTasks++\n : blockedBoundary.pendingTasks++;\n null !== row && row.pendingTasks++;\n replay.pendingTasks++;\n var task = {\n replay: replay,\n node: node,\n childIndex: childIndex,\n ping: function () {\n return pingTask(request, task);\n },\n blockedBoundary: blockedBoundary,\n blockedSegment: null,\n blockedPreamble: null,\n hoistableState: hoistableState,\n abortSet: abortSet,\n keyPath: keyPath,\n formatContext: formatContext,\n context: context,\n treeContext: treeContext,\n row: row,\n componentStack: componentStack,\n thenableState: thenableState\n };\n abortSet.add(task);\n return task;\n}\nfunction createPendingSegment(\n request,\n index,\n boundary,\n parentFormatContext,\n lastPushedText,\n textEmbedded\n) {\n return {\n status: 0,\n parentFlushed: !1,\n id: -1,\n index: index,\n chunks: [],\n children: [],\n preambleChildren: [],\n parentFormatContext: parentFormatContext,\n boundary: boundary,\n lastPushedText: lastPushedText,\n textEmbedded: textEmbedded\n };\n}\nfunction pushComponentStack(task) {\n var node = task.node;\n if (\"object\" === typeof node && null !== node)\n switch (node.$$typeof) {\n case REACT_ELEMENT_TYPE:\n task.componentStack = { parent: task.componentStack, type: node.type };\n }\n}\nfunction replaceSuspenseComponentStackWithSuspenseFallbackStack(\n componentStack\n) {\n return null === componentStack\n ? null\n : { parent: componentStack.parent, type: \"Suspense Fallback\" };\n}\nfunction getThrownInfo(node$jscomp$0) {\n var errorInfo = {};\n node$jscomp$0 &&\n Object.defineProperty(errorInfo, \"componentStack\", {\n configurable: !0,\n enumerable: !0,\n get: function () {\n try {\n var info = \"\",\n node = node$jscomp$0;\n do\n (info += describeComponentStackByType(node.type)),\n (node = node.parent);\n while (node);\n var JSCompiler_inline_result = info;\n } catch (x) {\n JSCompiler_inline_result =\n \"\\nError generating stack: \" + x.message + \"\\n\" + x.stack;\n }\n Object.defineProperty(errorInfo, \"componentStack\", {\n value: JSCompiler_inline_result\n });\n return JSCompiler_inline_result;\n }\n });\n return errorInfo;\n}\nfunction logRecoverableError(request, error, errorInfo) {\n request = request.onError;\n error = request(error, errorInfo);\n if (null == error || \"string\" === typeof error) return error;\n}\nfunction fatalError(request, error) {\n var onShellError = request.onShellError,\n onFatalError = request.onFatalError;\n onShellError(error);\n onFatalError(error);\n null !== request.destination\n ? ((request.status = 14), closeWithError(request.destination, error))\n : ((request.status = 13), (request.fatalError = error));\n}\nfunction finishSuspenseListRow(request, row) {\n unblockSuspenseListRow(request, row.next, row.hoistables);\n}\nfunction unblockSuspenseListRow(request, unblockedRow, inheritedHoistables) {\n for (; null !== unblockedRow; ) {\n null !== inheritedHoistables &&\n (hoistHoistables(unblockedRow.hoistables, inheritedHoistables),\n (unblockedRow.inheritedHoistables = inheritedHoistables));\n var unblockedBoundaries = unblockedRow.boundaries;\n if (null !== unblockedBoundaries) {\n unblockedRow.boundaries = null;\n for (var i = 0; i < unblockedBoundaries.length; i++) {\n var unblockedBoundary = unblockedBoundaries[i];\n null !== inheritedHoistables &&\n hoistHoistables(unblockedBoundary.contentState, inheritedHoistables);\n finishedTask(request, unblockedBoundary, null, null);\n }\n }\n unblockedRow.pendingTasks--;\n if (0 < unblockedRow.pendingTasks) break;\n inheritedHoistables = unblockedRow.hoistables;\n unblockedRow = unblockedRow.next;\n }\n}\nfunction tryToResolveTogetherRow(request, togetherRow) {\n var boundaries = togetherRow.boundaries;\n if (null !== boundaries && togetherRow.pendingTasks === boundaries.length) {\n for (var allCompleteAndInlinable = !0, i = 0; i < boundaries.length; i++) {\n var rowBoundary = boundaries[i];\n if (\n 1 !== rowBoundary.pendingTasks ||\n rowBoundary.parentFlushed ||\n isEligibleForOutlining(request, rowBoundary)\n ) {\n allCompleteAndInlinable = !1;\n break;\n }\n }\n allCompleteAndInlinable &&\n unblockSuspenseListRow(request, togetherRow, togetherRow.hoistables);\n }\n}\nfunction createSuspenseListRow(previousRow) {\n var newRow = {\n pendingTasks: 1,\n boundaries: null,\n hoistables: createHoistableState(),\n inheritedHoistables: null,\n together: !1,\n next: null\n };\n null !== previousRow &&\n 0 < previousRow.pendingTasks &&\n (newRow.pendingTasks++,\n (newRow.boundaries = []),\n (previousRow.next = newRow));\n return newRow;\n}\nfunction renderSuspenseListRows(request, task, keyPath, rows, revealOrder) {\n var prevKeyPath = task.keyPath,\n prevTreeContext = task.treeContext,\n prevRow = task.row;\n task.keyPath = keyPath;\n keyPath = rows.length;\n var previousSuspenseListRow = null;\n if (null !== task.replay) {\n var resumeSlots = task.replay.slots;\n if (null !== resumeSlots && \"object\" === typeof resumeSlots)\n for (var n = 0; n < keyPath; n++) {\n var i =\n \"backwards\" !== revealOrder &&\n \"unstable_legacy-backwards\" !== revealOrder\n ? n\n : keyPath - 1 - n,\n node = rows[i];\n task.row = previousSuspenseListRow = createSuspenseListRow(\n previousSuspenseListRow\n );\n task.treeContext = pushTreeContext(prevTreeContext, keyPath, i);\n var resumeSegmentID = resumeSlots[i];\n \"number\" === typeof resumeSegmentID\n ? (resumeNode(request, task, resumeSegmentID, node, i),\n delete resumeSlots[i])\n : renderNode(request, task, node, i);\n 0 === --previousSuspenseListRow.pendingTasks &&\n finishSuspenseListRow(request, previousSuspenseListRow);\n }\n else\n for (resumeSlots = 0; resumeSlots < keyPath; resumeSlots++)\n (n =\n \"backwards\" !== revealOrder &&\n \"unstable_legacy-backwards\" !== revealOrder\n ? resumeSlots\n : keyPath - 1 - resumeSlots),\n (i = rows[n]),\n (task.row = previousSuspenseListRow =\n createSuspenseListRow(previousSuspenseListRow)),\n (task.treeContext = pushTreeContext(prevTreeContext, keyPath, n)),\n renderNode(request, task, i, n),\n 0 === --previousSuspenseListRow.pendingTasks &&\n finishSuspenseListRow(request, previousSuspenseListRow);\n } else if (\n \"backwards\" !== revealOrder &&\n \"unstable_legacy-backwards\" !== revealOrder\n )\n for (revealOrder = 0; revealOrder < keyPath; revealOrder++)\n (resumeSlots = rows[revealOrder]),\n (task.row = previousSuspenseListRow =\n createSuspenseListRow(previousSuspenseListRow)),\n (task.treeContext = pushTreeContext(\n prevTreeContext,\n keyPath,\n revealOrder\n )),\n renderNode(request, task, resumeSlots, revealOrder),\n 0 === --previousSuspenseListRow.pendingTasks &&\n finishSuspenseListRow(request, previousSuspenseListRow);\n else {\n revealOrder = task.blockedSegment;\n resumeSlots = revealOrder.children.length;\n n = revealOrder.chunks.length;\n for (i = keyPath - 1; 0 <= i; i--) {\n node = rows[i];\n task.row = previousSuspenseListRow = createSuspenseListRow(\n previousSuspenseListRow\n );\n task.treeContext = pushTreeContext(prevTreeContext, keyPath, i);\n resumeSegmentID = createPendingSegment(\n request,\n n,\n null,\n task.formatContext,\n 0 === i ? revealOrder.lastPushedText : !0,\n !0\n );\n revealOrder.children.splice(resumeSlots, 0, resumeSegmentID);\n task.blockedSegment = resumeSegmentID;\n try {\n renderNode(request, task, node, i),\n resumeSegmentID.lastPushedText &&\n resumeSegmentID.textEmbedded &&\n resumeSegmentID.chunks.push(textSeparator),\n (resumeSegmentID.status = 1),\n finishedSegment(request, task.blockedBoundary, resumeSegmentID),\n 0 === --previousSuspenseListRow.pendingTasks &&\n finishSuspenseListRow(request, previousSuspenseListRow);\n } catch (thrownValue) {\n throw (\n ((resumeSegmentID.status = 12 === request.status ? 3 : 4),\n thrownValue)\n );\n }\n }\n task.blockedSegment = revealOrder;\n revealOrder.lastPushedText = !1;\n }\n null !== prevRow &&\n null !== previousSuspenseListRow &&\n 0 < previousSuspenseListRow.pendingTasks &&\n (prevRow.pendingTasks++, (previousSuspenseListRow.next = prevRow));\n task.treeContext = prevTreeContext;\n task.row = prevRow;\n task.keyPath = prevKeyPath;\n}\nfunction renderWithHooks(request, task, keyPath, Component, props, secondArg) {\n var prevThenableState = task.thenableState;\n task.thenableState = null;\n currentlyRenderingComponent = {};\n currentlyRenderingTask = task;\n currentlyRenderingRequest = request;\n currentlyRenderingKeyPath = keyPath;\n actionStateCounter = localIdCounter = 0;\n actionStateMatchingIndex = -1;\n thenableIndexCounter = 0;\n thenableState = prevThenableState;\n for (request = Component(props, secondArg); didScheduleRenderPhaseUpdate; )\n (didScheduleRenderPhaseUpdate = !1),\n (actionStateCounter = localIdCounter = 0),\n (actionStateMatchingIndex = -1),\n (thenableIndexCounter = 0),\n (numberOfReRenders += 1),\n (workInProgressHook = null),\n (request = Component(props, secondArg));\n resetHooksState();\n return request;\n}\nfunction finishFunctionComponent(\n request,\n task,\n keyPath,\n children,\n hasId,\n actionStateCount,\n actionStateMatchingIndex\n) {\n var didEmitActionStateMarkers = !1;\n if (0 !== actionStateCount && null !== request.formState) {\n var segment = task.blockedSegment;\n if (null !== segment) {\n didEmitActionStateMarkers = !0;\n segment = segment.chunks;\n for (var i = 0; i < actionStateCount; i++)\n i === actionStateMatchingIndex\n ? segment.push(formStateMarkerIsMatching)\n : segment.push(formStateMarkerIsNotMatching);\n }\n }\n actionStateCount = task.keyPath;\n task.keyPath = keyPath;\n hasId\n ? ((keyPath = task.treeContext),\n (task.treeContext = pushTreeContext(keyPath, 1, 0)),\n renderNode(request, task, children, -1),\n (task.treeContext = keyPath))\n : didEmitActionStateMarkers\n ? renderNode(request, task, children, -1)\n : renderNodeDestructive(request, task, children, -1);\n task.keyPath = actionStateCount;\n}\nfunction renderElement(request, task, keyPath, type, props, ref) {\n if (\"function\" === typeof type)\n if (type.prototype && type.prototype.isReactComponent) {\n var newProps = props;\n if (\"ref\" in props) {\n newProps = {};\n for (var propName in props)\n \"ref\" !== propName && (newProps[propName] = props[propName]);\n }\n var defaultProps = type.defaultProps;\n if (defaultProps) {\n newProps === props && (newProps = assign({}, newProps, props));\n for (var propName$44 in defaultProps)\n void 0 === newProps[propName$44] &&\n (newProps[propName$44] = defaultProps[propName$44]);\n }\n props = newProps;\n newProps = emptyContextObject;\n defaultProps = type.contextType;\n \"object\" === typeof defaultProps &&\n null !== defaultProps &&\n (newProps = defaultProps._currentValue);\n newProps = new type(props, newProps);\n var initialState = void 0 !== newProps.state ? newProps.state : null;\n newProps.updater = classComponentUpdater;\n newProps.props = props;\n newProps.state = initialState;\n defaultProps = { queue: [], replace: !1 };\n newProps._reactInternals = defaultProps;\n ref = type.contextType;\n newProps.context =\n \"object\" === typeof ref && null !== ref\n ? ref._currentValue\n : emptyContextObject;\n ref = type.getDerivedStateFromProps;\n \"function\" === typeof ref &&\n ((ref = ref(props, initialState)),\n (initialState =\n null === ref || void 0 === ref\n ? initialState\n : assign({}, initialState, ref)),\n (newProps.state = initialState));\n if (\n \"function\" !== typeof type.getDerivedStateFromProps &&\n \"function\" !== typeof newProps.getSnapshotBeforeUpdate &&\n (\"function\" === typeof newProps.UNSAFE_componentWillMount ||\n \"function\" === typeof newProps.componentWillMount)\n )\n if (\n ((type = newProps.state),\n \"function\" === typeof newProps.componentWillMount &&\n newProps.componentWillMount(),\n \"function\" === typeof newProps.UNSAFE_componentWillMount &&\n newProps.UNSAFE_componentWillMount(),\n type !== newProps.state &&\n classComponentUpdater.enqueueReplaceState(\n newProps,\n newProps.state,\n null\n ),\n null !== defaultProps.queue && 0 < defaultProps.queue.length)\n )\n if (\n ((type = defaultProps.queue),\n (ref = defaultProps.replace),\n (defaultProps.queue = null),\n (defaultProps.replace = !1),\n ref && 1 === type.length)\n )\n newProps.state = type[0];\n else {\n defaultProps = ref ? type[0] : newProps.state;\n initialState = !0;\n for (ref = ref ? 1 : 0; ref < type.length; ref++)\n (propName$44 = type[ref]),\n (propName$44 =\n \"function\" === typeof propName$44\n ? propName$44.call(newProps, defaultProps, props, void 0)\n : propName$44),\n null != propName$44 &&\n (initialState\n ? ((initialState = !1),\n (defaultProps = assign({}, defaultProps, propName$44)))\n : assign(defaultProps, propName$44));\n newProps.state = defaultProps;\n }\n else defaultProps.queue = null;\n type = newProps.render();\n if (12 === request.status) throw null;\n props = task.keyPath;\n task.keyPath = keyPath;\n renderNodeDestructive(request, task, type, -1);\n task.keyPath = props;\n } else {\n type = renderWithHooks(request, task, keyPath, type, props, void 0);\n if (12 === request.status) throw null;\n finishFunctionComponent(\n request,\n task,\n keyPath,\n type,\n 0 !== localIdCounter,\n actionStateCounter,\n actionStateMatchingIndex\n );\n }\n else if (\"string\" === typeof type)\n if (((newProps = task.blockedSegment), null === newProps))\n (newProps = props.children),\n (defaultProps = task.formatContext),\n (initialState = task.keyPath),\n (task.formatContext = getChildFormatContext(defaultProps, type, props)),\n (task.keyPath = keyPath),\n renderNode(request, task, newProps, -1),\n (task.formatContext = defaultProps),\n (task.keyPath = initialState);\n else {\n initialState = pushStartInstance(\n newProps.chunks,\n type,\n props,\n request.resumableState,\n request.renderState,\n task.blockedPreamble,\n task.hoistableState,\n task.formatContext,\n newProps.lastPushedText\n );\n newProps.lastPushedText = !1;\n defaultProps = task.formatContext;\n ref = task.keyPath;\n task.keyPath = keyPath;\n if (\n 3 ===\n (task.formatContext = getChildFormatContext(defaultProps, type, props))\n .insertionMode\n ) {\n keyPath = createPendingSegment(\n request,\n 0,\n null,\n task.formatContext,\n !1,\n !1\n );\n newProps.preambleChildren.push(keyPath);\n task.blockedSegment = keyPath;\n try {\n (keyPath.status = 6),\n renderNode(request, task, initialState, -1),\n keyPath.lastPushedText &&\n keyPath.textEmbedded &&\n keyPath.chunks.push(textSeparator),\n (keyPath.status = 1),\n finishedSegment(request, task.blockedBoundary, keyPath);\n } finally {\n task.blockedSegment = newProps;\n }\n } else renderNode(request, task, initialState, -1);\n task.formatContext = defaultProps;\n task.keyPath = ref;\n a: {\n task = newProps.chunks;\n request = request.resumableState;\n switch (type) {\n case \"title\":\n case \"style\":\n case \"script\":\n case \"area\":\n case \"base\":\n case \"br\":\n case \"col\":\n case \"embed\":\n case \"hr\":\n case \"img\":\n case \"input\":\n case \"keygen\":\n case \"link\":\n case \"meta\":\n case \"param\":\n case \"source\":\n case \"track\":\n case \"wbr\":\n break a;\n case \"body\":\n if (1 >= defaultProps.insertionMode) {\n request.hasBody = !0;\n break a;\n }\n break;\n case \"html\":\n if (0 === defaultProps.insertionMode) {\n request.hasHtml = !0;\n break a;\n }\n break;\n case \"head\":\n if (1 >= defaultProps.insertionMode) break a;\n }\n task.push(endChunkForTag(type));\n }\n newProps.lastPushedText = !1;\n }\n else {\n switch (type) {\n case REACT_LEGACY_HIDDEN_TYPE:\n case REACT_STRICT_MODE_TYPE:\n case REACT_PROFILER_TYPE:\n case REACT_FRAGMENT_TYPE:\n type = task.keyPath;\n task.keyPath = keyPath;\n renderNodeDestructive(request, task, props.children, -1);\n task.keyPath = type;\n return;\n case REACT_ACTIVITY_TYPE:\n type = task.blockedSegment;\n null === type\n ? \"hidden\" !== props.mode &&\n ((type = task.keyPath),\n (task.keyPath = keyPath),\n renderNode(request, task, props.children, -1),\n (task.keyPath = type))\n : \"hidden\" !== props.mode &&\n (type.chunks.push(startActivityBoundary),\n (type.lastPushedText = !1),\n (newProps = task.keyPath),\n (task.keyPath = keyPath),\n renderNode(request, task, props.children, -1),\n (task.keyPath = newProps),\n type.chunks.push(endActivityBoundary),\n (type.lastPushedText = !1));\n return;\n case REACT_SUSPENSE_LIST_TYPE:\n a: {\n type = props.children;\n props = props.revealOrder;\n if (\n \"forwards\" === props ||\n \"backwards\" === props ||\n \"unstable_legacy-backwards\" === props\n ) {\n if (isArrayImpl(type)) {\n renderSuspenseListRows(request, task, keyPath, type, props);\n break a;\n }\n if ((newProps = getIteratorFn(type)))\n if ((newProps = newProps.call(type))) {\n defaultProps = newProps.next();\n if (!defaultProps.done) {\n do defaultProps = newProps.next();\n while (!defaultProps.done);\n renderSuspenseListRows(request, task, keyPath, type, props);\n }\n break a;\n }\n }\n \"together\" === props\n ? ((props = task.keyPath),\n (newProps = task.row),\n (defaultProps = task.row = createSuspenseListRow(null)),\n (defaultProps.boundaries = []),\n (defaultProps.together = !0),\n (task.keyPath = keyPath),\n renderNodeDestructive(request, task, type, -1),\n 0 === --defaultProps.pendingTasks &&\n finishSuspenseListRow(request, defaultProps),\n (task.keyPath = props),\n (task.row = newProps),\n null !== newProps &&\n 0 < defaultProps.pendingTasks &&\n (newProps.pendingTasks++, (defaultProps.next = newProps)))\n : ((props = task.keyPath),\n (task.keyPath = keyPath),\n renderNodeDestructive(request, task, type, -1),\n (task.keyPath = props));\n }\n return;\n case REACT_VIEW_TRANSITION_TYPE:\n case REACT_SCOPE_TYPE:\n throw Error(formatProdErrorMessage(343));\n case REACT_SUSPENSE_TYPE:\n a: if (null !== task.replay) {\n type = task.keyPath;\n newProps = task.formatContext;\n defaultProps = task.row;\n task.keyPath = keyPath;\n task.formatContext = getSuspenseContentFormatContext(\n request.resumableState,\n newProps\n );\n task.row = null;\n keyPath = props.children;\n try {\n renderNode(request, task, keyPath, -1);\n } finally {\n (task.keyPath = type),\n (task.formatContext = newProps),\n (task.row = defaultProps);\n }\n } else {\n type = task.keyPath;\n ref = task.formatContext;\n var prevRow = task.row;\n propName$44 = task.blockedBoundary;\n propName = task.blockedPreamble;\n var parentHoistableState = task.hoistableState,\n parentSegment = task.blockedSegment,\n fallback = props.fallback;\n props = props.children;\n var fallbackAbortSet = new Set();\n var newBoundary =\n 2 > task.formatContext.insertionMode\n ? createSuspenseBoundary(\n request,\n task.row,\n fallbackAbortSet,\n createPreambleState(),\n createPreambleState()\n )\n : createSuspenseBoundary(\n request,\n task.row,\n fallbackAbortSet,\n null,\n null\n );\n null !== request.trackedPostpones &&\n (newBoundary.trackedContentKeyPath = keyPath);\n var boundarySegment = createPendingSegment(\n request,\n parentSegment.chunks.length,\n newBoundary,\n task.formatContext,\n !1,\n !1\n );\n parentSegment.children.push(boundarySegment);\n parentSegment.lastPushedText = !1;\n var contentRootSegment = createPendingSegment(\n request,\n 0,\n null,\n task.formatContext,\n !1,\n !1\n );\n contentRootSegment.parentFlushed = !0;\n if (null !== request.trackedPostpones) {\n newProps = task.componentStack;\n defaultProps = [keyPath[0], \"Suspense Fallback\", keyPath[2]];\n initialState = [defaultProps[1], defaultProps[2], [], null];\n request.trackedPostpones.workingMap.set(defaultProps, initialState);\n newBoundary.trackedFallbackNode = initialState;\n task.blockedSegment = boundarySegment;\n task.blockedPreamble = newBoundary.fallbackPreamble;\n task.keyPath = defaultProps;\n task.formatContext = getSuspenseFallbackFormatContext(\n request.resumableState,\n ref\n );\n task.componentStack =\n replaceSuspenseComponentStackWithSuspenseFallbackStack(newProps);\n boundarySegment.status = 6;\n try {\n renderNode(request, task, fallback, -1),\n boundarySegment.lastPushedText &&\n boundarySegment.textEmbedded &&\n boundarySegment.chunks.push(textSeparator),\n (boundarySegment.status = 1),\n finishedSegment(request, propName$44, boundarySegment);\n } catch (thrownValue) {\n throw (\n ((boundarySegment.status = 12 === request.status ? 3 : 4),\n thrownValue)\n );\n } finally {\n (task.blockedSegment = parentSegment),\n (task.blockedPreamble = propName),\n (task.keyPath = type),\n (task.formatContext = ref);\n }\n task = createRenderTask(\n request,\n null,\n props,\n -1,\n newBoundary,\n contentRootSegment,\n newBoundary.contentPreamble,\n newBoundary.contentState,\n task.abortSet,\n keyPath,\n getSuspenseContentFormatContext(\n request.resumableState,\n task.formatContext\n ),\n task.context,\n task.treeContext,\n null,\n newProps\n );\n pushComponentStack(task);\n request.pingedTasks.push(task);\n } else {\n task.blockedBoundary = newBoundary;\n task.blockedPreamble = newBoundary.contentPreamble;\n task.hoistableState = newBoundary.contentState;\n task.blockedSegment = contentRootSegment;\n task.keyPath = keyPath;\n task.formatContext = getSuspenseContentFormatContext(\n request.resumableState,\n ref\n );\n task.row = null;\n contentRootSegment.status = 6;\n try {\n if (\n (renderNode(request, task, props, -1),\n contentRootSegment.lastPushedText &&\n contentRootSegment.textEmbedded &&\n contentRootSegment.chunks.push(textSeparator),\n (contentRootSegment.status = 1),\n finishedSegment(request, newBoundary, contentRootSegment),\n queueCompletedSegment(newBoundary, contentRootSegment),\n 0 === newBoundary.pendingTasks && 0 === newBoundary.status)\n ) {\n if (\n ((newBoundary.status = 1),\n !isEligibleForOutlining(request, newBoundary))\n ) {\n null !== prevRow &&\n 0 === --prevRow.pendingTasks &&\n finishSuspenseListRow(request, prevRow);\n 0 === request.pendingRootTasks &&\n task.blockedPreamble &&\n preparePreamble(request);\n break a;\n }\n } else\n null !== prevRow &&\n prevRow.together &&\n tryToResolveTogetherRow(request, prevRow);\n } catch (thrownValue$31) {\n (newBoundary.status = 4),\n 12 === request.status\n ? ((contentRootSegment.status = 3),\n (newProps = request.fatalError))\n : ((contentRootSegment.status = 4),\n (newProps = thrownValue$31)),\n (defaultProps = getThrownInfo(task.componentStack)),\n (initialState = logRecoverableError(\n request,\n newProps,\n defaultProps\n )),\n (newBoundary.errorDigest = initialState),\n untrackBoundary(request, newBoundary);\n } finally {\n (task.blockedBoundary = propName$44),\n (task.blockedPreamble = propName),\n (task.hoistableState = parentHoistableState),\n (task.blockedSegment = parentSegment),\n (task.keyPath = type),\n (task.formatContext = ref),\n (task.row = prevRow);\n }\n task = createRenderTask(\n request,\n null,\n fallback,\n -1,\n propName$44,\n boundarySegment,\n newBoundary.fallbackPreamble,\n newBoundary.fallbackState,\n fallbackAbortSet,\n [keyPath[0], \"Suspense Fallback\", keyPath[2]],\n getSuspenseFallbackFormatContext(\n request.resumableState,\n task.formatContext\n ),\n task.context,\n task.treeContext,\n task.row,\n replaceSuspenseComponentStackWithSuspenseFallbackStack(\n task.componentStack\n )\n );\n pushComponentStack(task);\n request.pingedTasks.push(task);\n }\n }\n return;\n }\n if (\"object\" === typeof type && null !== type)\n switch (type.$$typeof) {\n case REACT_FORWARD_REF_TYPE:\n if (\"ref\" in props)\n for (parentSegment in ((newProps = {}), props))\n \"ref\" !== parentSegment &&\n (newProps[parentSegment] = props[parentSegment]);\n else newProps = props;\n type = renderWithHooks(\n request,\n task,\n keyPath,\n type.render,\n newProps,\n ref\n );\n finishFunctionComponent(\n request,\n task,\n keyPath,\n type,\n 0 !== localIdCounter,\n actionStateCounter,\n actionStateMatchingIndex\n );\n return;\n case REACT_MEMO_TYPE:\n renderElement(request, task, keyPath, type.type, props, ref);\n return;\n case REACT_CONTEXT_TYPE:\n defaultProps = props.children;\n newProps = task.keyPath;\n props = props.value;\n initialState = type._currentValue;\n type._currentValue = props;\n ref = currentActiveSnapshot;\n currentActiveSnapshot = type = {\n parent: ref,\n depth: null === ref ? 0 : ref.depth + 1,\n context: type,\n parentValue: initialState,\n value: props\n };\n task.context = type;\n task.keyPath = keyPath;\n renderNodeDestructive(request, task, defaultProps, -1);\n request = currentActiveSnapshot;\n if (null === request) throw Error(formatProdErrorMessage(403));\n request.context._currentValue = request.parentValue;\n request = currentActiveSnapshot = request.parent;\n task.context = request;\n task.keyPath = newProps;\n return;\n case REACT_CONSUMER_TYPE:\n props = props.children;\n type = props(type._context._currentValue);\n props = task.keyPath;\n task.keyPath = keyPath;\n renderNodeDestructive(request, task, type, -1);\n task.keyPath = props;\n return;\n case REACT_LAZY_TYPE:\n newProps = type._init;\n type = newProps(type._payload);\n if (12 === request.status) throw null;\n renderElement(request, task, keyPath, type, props, ref);\n return;\n }\n throw Error(\n formatProdErrorMessage(130, null == type ? type : typeof type, \"\")\n );\n }\n}\nfunction resumeNode(request, task, segmentId, node, childIndex) {\n var prevReplay = task.replay,\n blockedBoundary = task.blockedBoundary,\n resumedSegment = createPendingSegment(\n request,\n 0,\n null,\n task.formatContext,\n !1,\n !1\n );\n resumedSegment.id = segmentId;\n resumedSegment.parentFlushed = !0;\n try {\n (task.replay = null),\n (task.blockedSegment = resumedSegment),\n renderNode(request, task, node, childIndex),\n (resumedSegment.status = 1),\n finishedSegment(request, blockedBoundary, resumedSegment),\n null === blockedBoundary\n ? (request.completedRootSegment = resumedSegment)\n : (queueCompletedSegment(blockedBoundary, resumedSegment),\n blockedBoundary.parentFlushed &&\n request.partialBoundaries.push(blockedBoundary));\n } finally {\n (task.replay = prevReplay), (task.blockedSegment = null);\n }\n}\nfunction renderNodeDestructive(request, task, node, childIndex) {\n null !== task.replay && \"number\" === typeof task.replay.slots\n ? resumeNode(request, task, task.replay.slots, node, childIndex)\n : ((task.node = node),\n (task.childIndex = childIndex),\n (node = task.componentStack),\n pushComponentStack(task),\n retryNode(request, task),\n (task.componentStack = node));\n}\nfunction retryNode(request, task) {\n var node = task.node,\n childIndex = task.childIndex;\n if (null !== node) {\n if (\"object\" === typeof node) {\n switch (node.$$typeof) {\n case REACT_ELEMENT_TYPE:\n var type = node.type,\n key = node.key,\n props = node.props;\n node = props.ref;\n var ref = void 0 !== node ? node : null,\n name = getComponentNameFromType(type),\n keyOrIndex =\n null == key ? (-1 === childIndex ? 0 : childIndex) : key;\n key = [task.keyPath, name, keyOrIndex];\n if (null !== task.replay)\n a: {\n var replay = task.replay;\n childIndex = replay.nodes;\n for (node = 0; node < childIndex.length; node++) {\n var node$jscomp$0 = childIndex[node];\n if (keyOrIndex === node$jscomp$0[1]) {\n if (4 === node$jscomp$0.length) {\n if (null !== name && name !== node$jscomp$0[0])\n throw Error(\n formatProdErrorMessage(490, node$jscomp$0[0], name)\n );\n var childNodes = node$jscomp$0[2];\n name = node$jscomp$0[3];\n keyOrIndex = task.node;\n task.replay = {\n nodes: childNodes,\n slots: name,\n pendingTasks: 1\n };\n try {\n renderElement(request, task, key, type, props, ref);\n if (\n 1 === task.replay.pendingTasks &&\n 0 < task.replay.nodes.length\n )\n throw Error(formatProdErrorMessage(488));\n task.replay.pendingTasks--;\n } catch (x) {\n if (\n \"object\" === typeof x &&\n null !== x &&\n (x === SuspenseException ||\n \"function\" === typeof x.then)\n )\n throw (\n (task.node === keyOrIndex\n ? (task.replay = replay)\n : childIndex.splice(node, 1),\n x)\n );\n task.replay.pendingTasks--;\n props = getThrownInfo(task.componentStack);\n key = request;\n request = task.blockedBoundary;\n type = x;\n props = logRecoverableError(key, type, props);\n abortRemainingReplayNodes(\n key,\n request,\n childNodes,\n name,\n type,\n props\n );\n }\n task.replay = replay;\n } else {\n if (type !== REACT_SUSPENSE_TYPE)\n throw Error(\n formatProdErrorMessage(\n 490,\n \"Suspense\",\n getComponentNameFromType(type) || \"Unknown\"\n )\n );\n b: {\n replay = void 0;\n type = node$jscomp$0[5];\n ref = node$jscomp$0[2];\n name = node$jscomp$0[3];\n keyOrIndex =\n null === node$jscomp$0[4] ? [] : node$jscomp$0[4][2];\n node$jscomp$0 =\n null === node$jscomp$0[4] ? null : node$jscomp$0[4][3];\n var prevKeyPath = task.keyPath,\n prevContext = task.formatContext,\n prevRow = task.row,\n previousReplaySet = task.replay,\n parentBoundary = task.blockedBoundary,\n parentHoistableState = task.hoistableState,\n content = props.children,\n fallback = props.fallback,\n fallbackAbortSet = new Set();\n props =\n 2 > task.formatContext.insertionMode\n ? createSuspenseBoundary(\n request,\n task.row,\n fallbackAbortSet,\n createPreambleState(),\n createPreambleState()\n )\n : createSuspenseBoundary(\n request,\n task.row,\n fallbackAbortSet,\n null,\n null\n );\n props.parentFlushed = !0;\n props.rootSegmentID = type;\n task.blockedBoundary = props;\n task.hoistableState = props.contentState;\n task.keyPath = key;\n task.formatContext = getSuspenseContentFormatContext(\n request.resumableState,\n prevContext\n );\n task.row = null;\n task.replay = {\n nodes: ref,\n slots: name,\n pendingTasks: 1\n };\n try {\n renderNode(request, task, content, -1);\n if (\n 1 === task.replay.pendingTasks &&\n 0 < task.replay.nodes.length\n )\n throw Error(formatProdErrorMessage(488));\n task.replay.pendingTasks--;\n if (0 === props.pendingTasks && 0 === props.status) {\n props.status = 1;\n request.completedBoundaries.push(props);\n break b;\n }\n } catch (error) {\n (props.status = 4),\n (childNodes = getThrownInfo(task.componentStack)),\n (replay = logRecoverableError(\n request,\n error,\n childNodes\n )),\n (props.errorDigest = replay),\n task.replay.pendingTasks--,\n request.clientRenderedBoundaries.push(props);\n } finally {\n (task.blockedBoundary = parentBoundary),\n (task.hoistableState = parentHoistableState),\n (task.replay = previousReplaySet),\n (task.keyPath = prevKeyPath),\n (task.formatContext = prevContext),\n (task.row = prevRow);\n }\n childNodes = createReplayTask(\n request,\n null,\n {\n nodes: keyOrIndex,\n slots: node$jscomp$0,\n pendingTasks: 0\n },\n fallback,\n -1,\n parentBoundary,\n props.fallbackState,\n fallbackAbortSet,\n [key[0], \"Suspense Fallback\", key[2]],\n getSuspenseFallbackFormatContext(\n request.resumableState,\n task.formatContext\n ),\n task.context,\n task.treeContext,\n task.row,\n replaceSuspenseComponentStackWithSuspenseFallbackStack(\n task.componentStack\n )\n );\n pushComponentStack(childNodes);\n request.pingedTasks.push(childNodes);\n }\n }\n childIndex.splice(node, 1);\n break a;\n }\n }\n }\n else renderElement(request, task, key, type, props, ref);\n return;\n case REACT_PORTAL_TYPE:\n throw Error(formatProdErrorMessage(257));\n case REACT_LAZY_TYPE:\n childNodes = node._init;\n node = childNodes(node._payload);\n if (12 === request.status) throw null;\n renderNodeDestructive(request, task, node, childIndex);\n return;\n }\n if (isArrayImpl(node)) {\n renderChildrenArray(request, task, node, childIndex);\n return;\n }\n if ((childNodes = getIteratorFn(node)))\n if ((childNodes = childNodes.call(node))) {\n node = childNodes.next();\n if (!node.done) {\n props = [];\n do props.push(node.value), (node = childNodes.next());\n while (!node.done);\n renderChildrenArray(request, task, props, childIndex);\n }\n return;\n }\n if (\"function\" === typeof node.then)\n return (\n (task.thenableState = null),\n renderNodeDestructive(request, task, unwrapThenable(node), childIndex)\n );\n if (node.$$typeof === REACT_CONTEXT_TYPE)\n return renderNodeDestructive(\n request,\n task,\n node._currentValue,\n childIndex\n );\n childIndex = Object.prototype.toString.call(node);\n throw Error(\n formatProdErrorMessage(\n 31,\n \"[object Object]\" === childIndex\n ? \"object with keys {\" + Object.keys(node).join(\", \") + \"}\"\n : childIndex\n )\n );\n }\n if (\"string\" === typeof node)\n (childIndex = task.blockedSegment),\n null !== childIndex &&\n (childIndex.lastPushedText = pushTextInstance(\n childIndex.chunks,\n node,\n request.renderState,\n childIndex.lastPushedText\n ));\n else if (\"number\" === typeof node || \"bigint\" === typeof node)\n (childIndex = task.blockedSegment),\n null !== childIndex &&\n (childIndex.lastPushedText = pushTextInstance(\n childIndex.chunks,\n \"\" + node,\n request.renderState,\n childIndex.lastPushedText\n ));\n }\n}\nfunction renderChildrenArray(request, task, children, childIndex) {\n var prevKeyPath = task.keyPath;\n if (\n -1 !== childIndex &&\n ((task.keyPath = [task.keyPath, \"Fragment\", childIndex]),\n null !== task.replay)\n ) {\n for (\n var replay = task.replay, replayNodes = replay.nodes, j = 0;\n j < replayNodes.length;\n j++\n ) {\n var node = replayNodes[j];\n if (node[1] === childIndex) {\n childIndex = node[2];\n node = node[3];\n task.replay = { nodes: childIndex, slots: node, pendingTasks: 1 };\n try {\n renderChildrenArray(request, task, children, -1);\n if (1 === task.replay.pendingTasks && 0 < task.replay.nodes.length)\n throw Error(formatProdErrorMessage(488));\n task.replay.pendingTasks--;\n } catch (x) {\n if (\n \"object\" === typeof x &&\n null !== x &&\n (x === SuspenseException || \"function\" === typeof x.then)\n )\n throw x;\n task.replay.pendingTasks--;\n children = getThrownInfo(task.componentStack);\n var boundary = task.blockedBoundary,\n error = x;\n children = logRecoverableError(request, error, children);\n abortRemainingReplayNodes(\n request,\n boundary,\n childIndex,\n node,\n error,\n children\n );\n }\n task.replay = replay;\n replayNodes.splice(j, 1);\n break;\n }\n }\n task.keyPath = prevKeyPath;\n return;\n }\n replay = task.treeContext;\n replayNodes = children.length;\n if (\n null !== task.replay &&\n ((j = task.replay.slots), null !== j && \"object\" === typeof j)\n ) {\n for (childIndex = 0; childIndex < replayNodes; childIndex++)\n (node = children[childIndex]),\n (task.treeContext = pushTreeContext(replay, replayNodes, childIndex)),\n (boundary = j[childIndex]),\n \"number\" === typeof boundary\n ? (resumeNode(request, task, boundary, node, childIndex),\n delete j[childIndex])\n : renderNode(request, task, node, childIndex);\n task.treeContext = replay;\n task.keyPath = prevKeyPath;\n return;\n }\n for (j = 0; j < replayNodes; j++)\n (childIndex = children[j]),\n (task.treeContext = pushTreeContext(replay, replayNodes, j)),\n renderNode(request, task, childIndex, j);\n task.treeContext = replay;\n task.keyPath = prevKeyPath;\n}\nfunction trackPostponedBoundary(request, trackedPostpones, boundary) {\n boundary.status = 5;\n boundary.rootSegmentID = request.nextSegmentId++;\n request = boundary.trackedContentKeyPath;\n if (null === request) throw Error(formatProdErrorMessage(486));\n var fallbackReplayNode = boundary.trackedFallbackNode,\n children = [],\n boundaryNode = trackedPostpones.workingMap.get(request);\n if (void 0 === boundaryNode)\n return (\n (boundary = [\n request[1],\n request[2],\n children,\n null,\n fallbackReplayNode,\n boundary.rootSegmentID\n ]),\n trackedPostpones.workingMap.set(request, boundary),\n addToReplayParent(boundary, request[0], trackedPostpones),\n boundary\n );\n boundaryNode[4] = fallbackReplayNode;\n boundaryNode[5] = boundary.rootSegmentID;\n return boundaryNode;\n}\nfunction trackPostpone(request, trackedPostpones, task, segment) {\n segment.status = 5;\n var keyPath = task.keyPath,\n boundary = task.blockedBoundary;\n if (null === boundary)\n (segment.id = request.nextSegmentId++),\n (trackedPostpones.rootSlots = segment.id),\n null !== request.completedRootSegment &&\n (request.completedRootSegment.status = 5);\n else {\n if (null !== boundary && 0 === boundary.status) {\n var boundaryNode = trackPostponedBoundary(\n request,\n trackedPostpones,\n boundary\n );\n if (\n boundary.trackedContentKeyPath === keyPath &&\n -1 === task.childIndex\n ) {\n -1 === segment.id &&\n (segment.id = segment.parentFlushed\n ? boundary.rootSegmentID\n : request.nextSegmentId++);\n boundaryNode[3] = segment.id;\n return;\n }\n }\n -1 === segment.id &&\n (segment.id =\n segment.parentFlushed && null !== boundary\n ? boundary.rootSegmentID\n : request.nextSegmentId++);\n if (-1 === task.childIndex)\n null === keyPath\n ? (trackedPostpones.rootSlots = segment.id)\n : ((task = trackedPostpones.workingMap.get(keyPath)),\n void 0 === task\n ? ((task = [keyPath[1], keyPath[2], [], segment.id]),\n addToReplayParent(task, keyPath[0], trackedPostpones))\n : (task[3] = segment.id));\n else {\n if (null === keyPath)\n if (((request = trackedPostpones.rootSlots), null === request))\n request = trackedPostpones.rootSlots = {};\n else {\n if (\"number\" === typeof request)\n throw Error(formatProdErrorMessage(491));\n }\n else if (\n ((boundary = trackedPostpones.workingMap),\n (boundaryNode = boundary.get(keyPath)),\n void 0 === boundaryNode)\n )\n (request = {}),\n (boundaryNode = [keyPath[1], keyPath[2], [], request]),\n boundary.set(keyPath, boundaryNode),\n addToReplayParent(boundaryNode, keyPath[0], trackedPostpones);\n else if (((request = boundaryNode[3]), null === request))\n request = boundaryNode[3] = {};\n else if (\"number\" === typeof request)\n throw Error(formatProdErrorMessage(491));\n request[task.childIndex] = segment.id;\n }\n }\n}\nfunction untrackBoundary(request, boundary) {\n request = request.trackedPostpones;\n null !== request &&\n ((boundary = boundary.trackedContentKeyPath),\n null !== boundary &&\n ((boundary = request.workingMap.get(boundary)),\n void 0 !== boundary &&\n ((boundary.length = 4), (boundary[2] = []), (boundary[3] = null))));\n}\nfunction spawnNewSuspendedReplayTask(request, task, thenableState) {\n return createReplayTask(\n request,\n thenableState,\n task.replay,\n task.node,\n task.childIndex,\n task.blockedBoundary,\n task.hoistableState,\n task.abortSet,\n task.keyPath,\n task.formatContext,\n task.context,\n task.treeContext,\n task.row,\n task.componentStack\n );\n}\nfunction spawnNewSuspendedRenderTask(request, task, thenableState) {\n var segment = task.blockedSegment,\n newSegment = createPendingSegment(\n request,\n segment.chunks.length,\n null,\n task.formatContext,\n segment.lastPushedText,\n !0\n );\n segment.children.push(newSegment);\n segment.lastPushedText = !1;\n return createRenderTask(\n request,\n thenableState,\n task.node,\n task.childIndex,\n task.blockedBoundary,\n newSegment,\n task.blockedPreamble,\n task.hoistableState,\n task.abortSet,\n task.keyPath,\n task.formatContext,\n task.context,\n task.treeContext,\n task.row,\n task.componentStack\n );\n}\nfunction renderNode(request, task, node, childIndex) {\n var previousFormatContext = task.formatContext,\n previousContext = task.context,\n previousKeyPath = task.keyPath,\n previousTreeContext = task.treeContext,\n previousComponentStack = task.componentStack,\n segment = task.blockedSegment;\n if (null === segment) {\n segment = task.replay;\n try {\n return renderNodeDestructive(request, task, node, childIndex);\n } catch (thrownValue) {\n if (\n (resetHooksState(),\n (node =\n thrownValue === SuspenseException\n ? getSuspendedThenable()\n : thrownValue),\n 12 !== request.status && \"object\" === typeof node && null !== node)\n ) {\n if (\"function\" === typeof node.then) {\n childIndex =\n thrownValue === SuspenseException\n ? getThenableStateAfterSuspending()\n : null;\n request = spawnNewSuspendedReplayTask(request, task, childIndex).ping;\n node.then(request, request);\n task.formatContext = previousFormatContext;\n task.context = previousContext;\n task.keyPath = previousKeyPath;\n task.treeContext = previousTreeContext;\n task.componentStack = previousComponentStack;\n task.replay = segment;\n switchContext(previousContext);\n return;\n }\n if (\"Maximum call stack size exceeded\" === node.message) {\n node =\n thrownValue === SuspenseException\n ? getThenableStateAfterSuspending()\n : null;\n node = spawnNewSuspendedReplayTask(request, task, node);\n request.pingedTasks.push(node);\n task.formatContext = previousFormatContext;\n task.context = previousContext;\n task.keyPath = previousKeyPath;\n task.treeContext = previousTreeContext;\n task.componentStack = previousComponentStack;\n task.replay = segment;\n switchContext(previousContext);\n return;\n }\n }\n }\n } else {\n var childrenLength = segment.children.length,\n chunkLength = segment.chunks.length;\n try {\n return renderNodeDestructive(request, task, node, childIndex);\n } catch (thrownValue$63) {\n if (\n (resetHooksState(),\n (segment.children.length = childrenLength),\n (segment.chunks.length = chunkLength),\n (node =\n thrownValue$63 === SuspenseException\n ? getSuspendedThenable()\n : thrownValue$63),\n 12 !== request.status && \"object\" === typeof node && null !== node)\n ) {\n if (\"function\" === typeof node.then) {\n segment = node;\n node =\n thrownValue$63 === SuspenseException\n ? getThenableStateAfterSuspending()\n : null;\n request = spawnNewSuspendedRenderTask(request, task, node).ping;\n segment.then(request, request);\n task.formatContext = previousFormatContext;\n task.context = previousContext;\n task.keyPath = previousKeyPath;\n task.treeContext = previousTreeContext;\n task.componentStack = previousComponentStack;\n switchContext(previousContext);\n return;\n }\n if (\"Maximum call stack size exceeded\" === node.message) {\n segment =\n thrownValue$63 === SuspenseException\n ? getThenableStateAfterSuspending()\n : null;\n segment = spawnNewSuspendedRenderTask(request, task, segment);\n request.pingedTasks.push(segment);\n task.formatContext = previousFormatContext;\n task.context = previousContext;\n task.keyPath = previousKeyPath;\n task.treeContext = previousTreeContext;\n task.componentStack = previousComponentStack;\n switchContext(previousContext);\n return;\n }\n }\n }\n }\n task.formatContext = previousFormatContext;\n task.context = previousContext;\n task.keyPath = previousKeyPath;\n task.treeContext = previousTreeContext;\n switchContext(previousContext);\n throw node;\n}\nfunction abortTaskSoft(task) {\n var boundary = task.blockedBoundary,\n segment = task.blockedSegment;\n null !== segment &&\n ((segment.status = 3), finishedTask(this, boundary, task.row, segment));\n}\nfunction abortRemainingReplayNodes(\n request$jscomp$0,\n boundary,\n nodes,\n slots,\n error,\n errorDigest$jscomp$0\n) {\n for (var i = 0; i < nodes.length; i++) {\n var node = nodes[i];\n if (4 === node.length)\n abortRemainingReplayNodes(\n request$jscomp$0,\n boundary,\n node[2],\n node[3],\n error,\n errorDigest$jscomp$0\n );\n else {\n node = node[5];\n var request = request$jscomp$0,\n errorDigest = errorDigest$jscomp$0,\n resumedBoundary = createSuspenseBoundary(\n request,\n null,\n new Set(),\n null,\n null\n );\n resumedBoundary.parentFlushed = !0;\n resumedBoundary.rootSegmentID = node;\n resumedBoundary.status = 4;\n resumedBoundary.errorDigest = errorDigest;\n resumedBoundary.parentFlushed &&\n request.clientRenderedBoundaries.push(resumedBoundary);\n }\n }\n nodes.length = 0;\n if (null !== slots) {\n if (null === boundary) throw Error(formatProdErrorMessage(487));\n 4 !== boundary.status &&\n ((boundary.status = 4),\n (boundary.errorDigest = errorDigest$jscomp$0),\n boundary.parentFlushed &&\n request$jscomp$0.clientRenderedBoundaries.push(boundary));\n if (\"object\" === typeof slots) for (var index in slots) delete slots[index];\n }\n}\nfunction abortTask(task, request, error) {\n var boundary = task.blockedBoundary,\n segment = task.blockedSegment;\n if (null !== segment) {\n if (6 === segment.status) return;\n segment.status = 3;\n }\n var errorInfo = getThrownInfo(task.componentStack);\n if (null === boundary) {\n if (13 !== request.status && 14 !== request.status) {\n boundary = task.replay;\n if (null === boundary) {\n null !== request.trackedPostpones && null !== segment\n ? ((boundary = request.trackedPostpones),\n logRecoverableError(request, error, errorInfo),\n trackPostpone(request, boundary, task, segment),\n finishedTask(request, null, task.row, segment))\n : (logRecoverableError(request, error, errorInfo),\n fatalError(request, error));\n return;\n }\n boundary.pendingTasks--;\n 0 === boundary.pendingTasks &&\n 0 < boundary.nodes.length &&\n ((segment = logRecoverableError(request, error, errorInfo)),\n abortRemainingReplayNodes(\n request,\n null,\n boundary.nodes,\n boundary.slots,\n error,\n segment\n ));\n request.pendingRootTasks--;\n 0 === request.pendingRootTasks && completeShell(request);\n }\n } else {\n var trackedPostpones$64 = request.trackedPostpones;\n if (4 !== boundary.status) {\n if (null !== trackedPostpones$64 && null !== segment)\n return (\n logRecoverableError(request, error, errorInfo),\n trackPostpone(request, trackedPostpones$64, task, segment),\n boundary.fallbackAbortableTasks.forEach(function (fallbackTask) {\n return abortTask(fallbackTask, request, error);\n }),\n boundary.fallbackAbortableTasks.clear(),\n finishedTask(request, boundary, task.row, segment)\n );\n boundary.status = 4;\n segment = logRecoverableError(request, error, errorInfo);\n boundary.status = 4;\n boundary.errorDigest = segment;\n untrackBoundary(request, boundary);\n boundary.parentFlushed && request.clientRenderedBoundaries.push(boundary);\n }\n boundary.pendingTasks--;\n segment = boundary.row;\n null !== segment &&\n 0 === --segment.pendingTasks &&\n finishSuspenseListRow(request, segment);\n boundary.fallbackAbortableTasks.forEach(function (fallbackTask) {\n return abortTask(fallbackTask, request, error);\n });\n boundary.fallbackAbortableTasks.clear();\n }\n task = task.row;\n null !== task &&\n 0 === --task.pendingTasks &&\n finishSuspenseListRow(request, task);\n request.allPendingTasks--;\n 0 === request.allPendingTasks && completeAll(request);\n}\nfunction safelyEmitEarlyPreloads(request, shellComplete) {\n try {\n var renderState = request.renderState,\n onHeaders = renderState.onHeaders;\n if (onHeaders) {\n var headers = renderState.headers;\n if (headers) {\n renderState.headers = null;\n var linkHeader = headers.preconnects;\n headers.fontPreloads &&\n (linkHeader && (linkHeader += \", \"),\n (linkHeader += headers.fontPreloads));\n headers.highImagePreloads &&\n (linkHeader && (linkHeader += \", \"),\n (linkHeader += headers.highImagePreloads));\n if (!shellComplete) {\n var queueIter = renderState.styles.values(),\n queueStep = queueIter.next();\n b: for (\n ;\n 0 < headers.remainingCapacity && !queueStep.done;\n queueStep = queueIter.next()\n )\n for (\n var sheetIter = queueStep.value.sheets.values(),\n sheetStep = sheetIter.next();\n 0 < headers.remainingCapacity && !sheetStep.done;\n sheetStep = sheetIter.next()\n ) {\n var sheet = sheetStep.value,\n props = sheet.props,\n key = props.href,\n props$jscomp$0 = sheet.props,\n header = getPreloadAsHeader(props$jscomp$0.href, \"style\", {\n crossOrigin: props$jscomp$0.crossOrigin,\n integrity: props$jscomp$0.integrity,\n nonce: props$jscomp$0.nonce,\n type: props$jscomp$0.type,\n fetchPriority: props$jscomp$0.fetchPriority,\n referrerPolicy: props$jscomp$0.referrerPolicy,\n media: props$jscomp$0.media\n });\n if (0 <= (headers.remainingCapacity -= header.length + 2))\n (renderState.resets.style[key] = PRELOAD_NO_CREDS),\n linkHeader && (linkHeader += \", \"),\n (linkHeader += header),\n (renderState.resets.style[key] =\n \"string\" === typeof props.crossOrigin ||\n \"string\" === typeof props.integrity\n ? [props.crossOrigin, props.integrity]\n : PRELOAD_NO_CREDS);\n else break b;\n }\n }\n linkHeader ? onHeaders({ Link: linkHeader }) : onHeaders({});\n }\n }\n } catch (error) {\n logRecoverableError(request, error, {});\n }\n}\nfunction completeShell(request) {\n null === request.trackedPostpones && safelyEmitEarlyPreloads(request, !0);\n null === request.trackedPostpones && preparePreamble(request);\n request.onShellError = noop;\n request = request.onShellReady;\n request();\n}\nfunction completeAll(request) {\n safelyEmitEarlyPreloads(\n request,\n null === request.trackedPostpones\n ? !0\n : null === request.completedRootSegment ||\n 5 !== request.completedRootSegment.status\n );\n preparePreamble(request);\n request = request.onAllReady;\n request();\n}\nfunction queueCompletedSegment(boundary, segment) {\n if (\n 0 === segment.chunks.length &&\n 1 === segment.children.length &&\n null === segment.children[0].boundary &&\n -1 === segment.children[0].id\n ) {\n var childSegment = segment.children[0];\n childSegment.id = segment.id;\n childSegment.parentFlushed = !0;\n (1 !== childSegment.status &&\n 3 !== childSegment.status &&\n 4 !== childSegment.status) ||\n queueCompletedSegment(boundary, childSegment);\n } else boundary.completedSegments.push(segment);\n}\nfunction finishedSegment(request, boundary, segment) {\n if (null !== byteLengthOfChunk) {\n segment = segment.chunks;\n for (var segmentByteSize = 0, i = 0; i < segment.length; i++)\n segmentByteSize += segment[i].byteLength;\n null === boundary\n ? (request.byteSize += segmentByteSize)\n : (boundary.byteSize += segmentByteSize);\n }\n}\nfunction finishedTask(request, boundary, row, segment) {\n null !== row &&\n (0 === --row.pendingTasks\n ? finishSuspenseListRow(request, row)\n : row.together && tryToResolveTogetherRow(request, row));\n request.allPendingTasks--;\n if (null === boundary) {\n if (null !== segment && segment.parentFlushed) {\n if (null !== request.completedRootSegment)\n throw Error(formatProdErrorMessage(389));\n request.completedRootSegment = segment;\n }\n request.pendingRootTasks--;\n 0 === request.pendingRootTasks && completeShell(request);\n } else if ((boundary.pendingTasks--, 4 !== boundary.status))\n if (0 === boundary.pendingTasks)\n if (\n (0 === boundary.status && (boundary.status = 1),\n null !== segment &&\n segment.parentFlushed &&\n (1 === segment.status || 3 === segment.status) &&\n queueCompletedSegment(boundary, segment),\n boundary.parentFlushed && request.completedBoundaries.push(boundary),\n 1 === boundary.status)\n )\n (row = boundary.row),\n null !== row &&\n hoistHoistables(row.hoistables, boundary.contentState),\n isEligibleForOutlining(request, boundary) ||\n (boundary.fallbackAbortableTasks.forEach(abortTaskSoft, request),\n boundary.fallbackAbortableTasks.clear(),\n null !== row &&\n 0 === --row.pendingTasks &&\n finishSuspenseListRow(request, row)),\n 0 === request.pendingRootTasks &&\n null === request.trackedPostpones &&\n null !== boundary.contentPreamble &&\n preparePreamble(request);\n else {\n if (\n 5 === boundary.status &&\n ((boundary = boundary.row), null !== boundary)\n ) {\n if (null !== request.trackedPostpones) {\n row = request.trackedPostpones;\n var postponedRow = boundary.next;\n if (\n null !== postponedRow &&\n ((segment = postponedRow.boundaries), null !== segment)\n )\n for (\n postponedRow.boundaries = null, postponedRow = 0;\n postponedRow < segment.length;\n postponedRow++\n ) {\n var postponedBoundary = segment[postponedRow];\n trackPostponedBoundary(request, row, postponedBoundary);\n finishedTask(request, postponedBoundary, null, null);\n }\n }\n 0 === --boundary.pendingTasks &&\n finishSuspenseListRow(request, boundary);\n }\n }\n else\n null === segment ||\n !segment.parentFlushed ||\n (1 !== segment.status && 3 !== segment.status) ||\n (queueCompletedSegment(boundary, segment),\n 1 === boundary.completedSegments.length &&\n boundary.parentFlushed &&\n request.partialBoundaries.push(boundary)),\n (boundary = boundary.row),\n null !== boundary &&\n boundary.together &&\n tryToResolveTogetherRow(request, boundary);\n 0 === request.allPendingTasks && completeAll(request);\n}\nfunction performWork(request$jscomp$2) {\n if (14 !== request$jscomp$2.status && 13 !== request$jscomp$2.status) {\n var prevContext = currentActiveSnapshot,\n prevDispatcher = ReactSharedInternals.H;\n ReactSharedInternals.H = HooksDispatcher;\n var prevAsyncDispatcher = ReactSharedInternals.A;\n ReactSharedInternals.A = DefaultAsyncDispatcher;\n var prevRequest = currentRequest;\n currentRequest = request$jscomp$2;\n var prevResumableState = currentResumableState;\n currentResumableState = request$jscomp$2.resumableState;\n try {\n var pingedTasks = request$jscomp$2.pingedTasks,\n i;\n for (i = 0; i < pingedTasks.length; i++) {\n var task = pingedTasks[i],\n request = request$jscomp$2,\n segment = task.blockedSegment;\n if (null === segment) {\n var request$jscomp$0 = request;\n if (0 !== task.replay.pendingTasks) {\n switchContext(task.context);\n try {\n \"number\" === typeof task.replay.slots\n ? resumeNode(\n request$jscomp$0,\n task,\n task.replay.slots,\n task.node,\n task.childIndex\n )\n : retryNode(request$jscomp$0, task);\n if (\n 1 === task.replay.pendingTasks &&\n 0 < task.replay.nodes.length\n )\n throw Error(formatProdErrorMessage(488));\n task.replay.pendingTasks--;\n task.abortSet.delete(task);\n finishedTask(\n request$jscomp$0,\n task.blockedBoundary,\n task.row,\n null\n );\n } catch (thrownValue) {\n resetHooksState();\n var x =\n thrownValue === SuspenseException\n ? getSuspendedThenable()\n : thrownValue;\n if (\n \"object\" === typeof x &&\n null !== x &&\n \"function\" === typeof x.then\n ) {\n var ping = task.ping;\n x.then(ping, ping);\n task.thenableState =\n thrownValue === SuspenseException\n ? getThenableStateAfterSuspending()\n : null;\n } else {\n task.replay.pendingTasks--;\n task.abortSet.delete(task);\n var errorInfo = getThrownInfo(task.componentStack);\n request = void 0;\n var request$jscomp$1 = request$jscomp$0,\n boundary = task.blockedBoundary,\n error$jscomp$0 =\n 12 === request$jscomp$0.status\n ? request$jscomp$0.fatalError\n : x,\n replayNodes = task.replay.nodes,\n resumeSlots = task.replay.slots;\n request = logRecoverableError(\n request$jscomp$1,\n error$jscomp$0,\n errorInfo\n );\n abortRemainingReplayNodes(\n request$jscomp$1,\n boundary,\n replayNodes,\n resumeSlots,\n error$jscomp$0,\n request\n );\n request$jscomp$0.pendingRootTasks--;\n 0 === request$jscomp$0.pendingRootTasks &&\n completeShell(request$jscomp$0);\n request$jscomp$0.allPendingTasks--;\n 0 === request$jscomp$0.allPendingTasks &&\n completeAll(request$jscomp$0);\n }\n } finally {\n }\n }\n } else if (\n ((request$jscomp$0 = void 0),\n (request$jscomp$1 = segment),\n 0 === request$jscomp$1.status)\n ) {\n request$jscomp$1.status = 6;\n switchContext(task.context);\n var childrenLength = request$jscomp$1.children.length,\n chunkLength = request$jscomp$1.chunks.length;\n try {\n retryNode(request, task),\n request$jscomp$1.lastPushedText &&\n request$jscomp$1.textEmbedded &&\n request$jscomp$1.chunks.push(textSeparator),\n task.abortSet.delete(task),\n (request$jscomp$1.status = 1),\n finishedSegment(request, task.blockedBoundary, request$jscomp$1),\n finishedTask(\n request,\n task.blockedBoundary,\n task.row,\n request$jscomp$1\n );\n } catch (thrownValue) {\n resetHooksState();\n request$jscomp$1.children.length = childrenLength;\n request$jscomp$1.chunks.length = chunkLength;\n var x$jscomp$0 =\n thrownValue === SuspenseException\n ? getSuspendedThenable()\n : 12 === request.status\n ? request.fatalError\n : thrownValue;\n if (12 === request.status && null !== request.trackedPostpones) {\n var trackedPostpones = request.trackedPostpones,\n thrownInfo = getThrownInfo(task.componentStack);\n task.abortSet.delete(task);\n logRecoverableError(request, x$jscomp$0, thrownInfo);\n trackPostpone(request, trackedPostpones, task, request$jscomp$1);\n finishedTask(\n request,\n task.blockedBoundary,\n task.row,\n request$jscomp$1\n );\n } else if (\n \"object\" === typeof x$jscomp$0 &&\n null !== x$jscomp$0 &&\n \"function\" === typeof x$jscomp$0.then\n ) {\n request$jscomp$1.status = 0;\n task.thenableState =\n thrownValue === SuspenseException\n ? getThenableStateAfterSuspending()\n : null;\n var ping$jscomp$0 = task.ping;\n x$jscomp$0.then(ping$jscomp$0, ping$jscomp$0);\n } else {\n var errorInfo$jscomp$0 = getThrownInfo(task.componentStack);\n task.abortSet.delete(task);\n request$jscomp$1.status = 4;\n var boundary$jscomp$0 = task.blockedBoundary,\n row = task.row;\n null !== row &&\n 0 === --row.pendingTasks &&\n finishSuspenseListRow(request, row);\n request.allPendingTasks--;\n request$jscomp$0 = logRecoverableError(\n request,\n x$jscomp$0,\n errorInfo$jscomp$0\n );\n if (null === boundary$jscomp$0) fatalError(request, x$jscomp$0);\n else if (\n (boundary$jscomp$0.pendingTasks--,\n 4 !== boundary$jscomp$0.status)\n ) {\n boundary$jscomp$0.status = 4;\n boundary$jscomp$0.errorDigest = request$jscomp$0;\n untrackBoundary(request, boundary$jscomp$0);\n var boundaryRow = boundary$jscomp$0.row;\n null !== boundaryRow &&\n 0 === --boundaryRow.pendingTasks &&\n finishSuspenseListRow(request, boundaryRow);\n boundary$jscomp$0.parentFlushed &&\n request.clientRenderedBoundaries.push(boundary$jscomp$0);\n 0 === request.pendingRootTasks &&\n null === request.trackedPostpones &&\n null !== boundary$jscomp$0.contentPreamble &&\n preparePreamble(request);\n }\n 0 === request.allPendingTasks && completeAll(request);\n }\n } finally {\n }\n }\n }\n pingedTasks.splice(0, i);\n null !== request$jscomp$2.destination &&\n flushCompletedQueues(request$jscomp$2, request$jscomp$2.destination);\n } catch (error) {\n logRecoverableError(request$jscomp$2, error, {}),\n fatalError(request$jscomp$2, error);\n } finally {\n (currentResumableState = prevResumableState),\n (ReactSharedInternals.H = prevDispatcher),\n (ReactSharedInternals.A = prevAsyncDispatcher),\n prevDispatcher === HooksDispatcher && switchContext(prevContext),\n (currentRequest = prevRequest);\n }\n }\n}\nfunction preparePreambleFromSubtree(\n request,\n segment,\n collectedPreambleSegments\n) {\n segment.preambleChildren.length &&\n collectedPreambleSegments.push(segment.preambleChildren);\n for (var pendingPreambles = !1, i = 0; i < segment.children.length; i++)\n pendingPreambles =\n preparePreambleFromSegment(\n request,\n segment.children[i],\n collectedPreambleSegments\n ) || pendingPreambles;\n return pendingPreambles;\n}\nfunction preparePreambleFromSegment(\n request,\n segment,\n collectedPreambleSegments\n) {\n var boundary = segment.boundary;\n if (null === boundary)\n return preparePreambleFromSubtree(\n request,\n segment,\n collectedPreambleSegments\n );\n var preamble = boundary.contentPreamble,\n fallbackPreamble = boundary.fallbackPreamble;\n if (null === preamble || null === fallbackPreamble) return !1;\n switch (boundary.status) {\n case 1:\n hoistPreambleState(request.renderState, preamble);\n request.byteSize += boundary.byteSize;\n segment = boundary.completedSegments[0];\n if (!segment) throw Error(formatProdErrorMessage(391));\n return preparePreambleFromSubtree(\n request,\n segment,\n collectedPreambleSegments\n );\n case 5:\n if (null !== request.trackedPostpones) return !0;\n case 4:\n if (1 === segment.status)\n return (\n hoistPreambleState(request.renderState, fallbackPreamble),\n preparePreambleFromSubtree(\n request,\n segment,\n collectedPreambleSegments\n )\n );\n default:\n return !0;\n }\n}\nfunction preparePreamble(request) {\n if (\n request.completedRootSegment &&\n null === request.completedPreambleSegments\n ) {\n var collectedPreambleSegments = [],\n originalRequestByteSize = request.byteSize,\n hasPendingPreambles = preparePreambleFromSegment(\n request,\n request.completedRootSegment,\n collectedPreambleSegments\n ),\n preamble = request.renderState.preamble;\n !1 === hasPendingPreambles || (preamble.headChunks && preamble.bodyChunks)\n ? (request.completedPreambleSegments = collectedPreambleSegments)\n : (request.byteSize = originalRequestByteSize);\n }\n}\nfunction flushSubtree(request, destination, segment, hoistableState) {\n segment.parentFlushed = !0;\n switch (segment.status) {\n case 0:\n segment.id = request.nextSegmentId++;\n case 5:\n return (\n (hoistableState = segment.id),\n (segment.lastPushedText = !1),\n (segment.textEmbedded = !1),\n (request = request.renderState),\n writeChunk(destination, placeholder1),\n writeChunk(destination, request.placeholderPrefix),\n (request = stringToChunk(hoistableState.toString(16))),\n writeChunk(destination, request),\n writeChunkAndReturn(destination, placeholder2)\n );\n case 1:\n segment.status = 2;\n var r = !0,\n chunks = segment.chunks,\n chunkIdx = 0;\n segment = segment.children;\n for (var childIdx = 0; childIdx < segment.length; childIdx++) {\n for (r = segment[childIdx]; chunkIdx < r.index; chunkIdx++)\n writeChunk(destination, chunks[chunkIdx]);\n r = flushSegment(request, destination, r, hoistableState);\n }\n for (; chunkIdx < chunks.length - 1; chunkIdx++)\n writeChunk(destination, chunks[chunkIdx]);\n chunkIdx < chunks.length &&\n (r = writeChunkAndReturn(destination, chunks[chunkIdx]));\n return r;\n case 3:\n return !0;\n default:\n throw Error(formatProdErrorMessage(390));\n }\n}\nvar flushedByteSize = 0;\nfunction flushSegment(request, destination, segment, hoistableState) {\n var boundary = segment.boundary;\n if (null === boundary)\n return flushSubtree(request, destination, segment, hoistableState);\n boundary.parentFlushed = !0;\n if (4 === boundary.status) {\n var row = boundary.row;\n null !== row &&\n 0 === --row.pendingTasks &&\n finishSuspenseListRow(request, row);\n boundary = boundary.errorDigest;\n writeChunkAndReturn(destination, startClientRenderedSuspenseBoundary);\n writeChunk(destination, clientRenderedSuspenseBoundaryError1);\n boundary &&\n (writeChunk(destination, clientRenderedSuspenseBoundaryError1A),\n writeChunk(destination, stringToChunk(escapeTextForBrowser(boundary))),\n writeChunk(\n destination,\n clientRenderedSuspenseBoundaryErrorAttrInterstitial\n ));\n writeChunkAndReturn(destination, clientRenderedSuspenseBoundaryError2);\n flushSubtree(request, destination, segment, hoistableState);\n } else if (1 !== boundary.status)\n 0 === boundary.status && (boundary.rootSegmentID = request.nextSegmentId++),\n 0 < boundary.completedSegments.length &&\n request.partialBoundaries.push(boundary),\n writeStartPendingSuspenseBoundary(\n destination,\n request.renderState,\n boundary.rootSegmentID\n ),\n hoistableState && hoistHoistables(hoistableState, boundary.fallbackState),\n flushSubtree(request, destination, segment, hoistableState);\n else if (\n !flushingPartialBoundaries &&\n isEligibleForOutlining(request, boundary) &&\n (flushedByteSize + boundary.byteSize > request.progressiveChunkSize ||\n hasSuspenseyContent(boundary.contentState))\n )\n (boundary.rootSegmentID = request.nextSegmentId++),\n request.completedBoundaries.push(boundary),\n writeStartPendingSuspenseBoundary(\n destination,\n request.renderState,\n boundary.rootSegmentID\n ),\n flushSubtree(request, destination, segment, hoistableState);\n else {\n flushedByteSize += boundary.byteSize;\n hoistableState && hoistHoistables(hoistableState, boundary.contentState);\n segment = boundary.row;\n null !== segment &&\n isEligibleForOutlining(request, boundary) &&\n 0 === --segment.pendingTasks &&\n finishSuspenseListRow(request, segment);\n writeChunkAndReturn(destination, startCompletedSuspenseBoundary);\n segment = boundary.completedSegments;\n if (1 !== segment.length) throw Error(formatProdErrorMessage(391));\n flushSegment(request, destination, segment[0], hoistableState);\n }\n return writeChunkAndReturn(destination, endSuspenseBoundary);\n}\nfunction flushSegmentContainer(request, destination, segment, hoistableState) {\n writeStartSegment(\n destination,\n request.renderState,\n segment.parentFormatContext,\n segment.id\n );\n flushSegment(request, destination, segment, hoistableState);\n return writeEndSegment(destination, segment.parentFormatContext);\n}\nfunction flushCompletedBoundary(request, destination, boundary) {\n flushedByteSize = boundary.byteSize;\n for (\n var completedSegments = boundary.completedSegments, i = 0;\n i < completedSegments.length;\n i++\n )\n flushPartiallyCompletedSegment(\n request,\n destination,\n boundary,\n completedSegments[i]\n );\n completedSegments.length = 0;\n completedSegments = boundary.row;\n null !== completedSegments &&\n isEligibleForOutlining(request, boundary) &&\n 0 === --completedSegments.pendingTasks &&\n finishSuspenseListRow(request, completedSegments);\n writeHoistablesForBoundary(\n destination,\n boundary.contentState,\n request.renderState\n );\n completedSegments = request.resumableState;\n request = request.renderState;\n i = boundary.rootSegmentID;\n boundary = boundary.contentState;\n var requiresStyleInsertion = request.stylesToHoist;\n request.stylesToHoist = !1;\n writeChunk(destination, request.startInlineScript);\n writeChunk(destination, endOfStartTag);\n requiresStyleInsertion\n ? (0 === (completedSegments.instructions & 4) &&\n ((completedSegments.instructions |= 4),\n writeChunk(destination, clientRenderScriptFunctionOnly)),\n 0 === (completedSegments.instructions & 2) &&\n ((completedSegments.instructions |= 2),\n writeChunk(destination, completeBoundaryScriptFunctionOnly)),\n 0 === (completedSegments.instructions & 8)\n ? ((completedSegments.instructions |= 8),\n writeChunk(destination, completeBoundaryWithStylesScript1FullPartial))\n : writeChunk(destination, completeBoundaryWithStylesScript1Partial))\n : (0 === (completedSegments.instructions & 2) &&\n ((completedSegments.instructions |= 2),\n writeChunk(destination, completeBoundaryScriptFunctionOnly)),\n writeChunk(destination, completeBoundaryScript1Partial));\n completedSegments = stringToChunk(i.toString(16));\n writeChunk(destination, request.boundaryPrefix);\n writeChunk(destination, completedSegments);\n writeChunk(destination, completeBoundaryScript2);\n writeChunk(destination, request.segmentPrefix);\n writeChunk(destination, completedSegments);\n requiresStyleInsertion\n ? (writeChunk(destination, completeBoundaryScript3a),\n writeStyleResourceDependenciesInJS(destination, boundary))\n : writeChunk(destination, completeBoundaryScript3b);\n boundary = writeChunkAndReturn(destination, completeBoundaryScriptEnd);\n return writeBootstrap(destination, request) && boundary;\n}\nfunction flushPartiallyCompletedSegment(\n request,\n destination,\n boundary,\n segment\n) {\n if (2 === segment.status) return !0;\n var hoistableState = boundary.contentState,\n segmentID = segment.id;\n if (-1 === segmentID) {\n if (-1 === (segment.id = boundary.rootSegmentID))\n throw Error(formatProdErrorMessage(392));\n return flushSegmentContainer(request, destination, segment, hoistableState);\n }\n if (segmentID === boundary.rootSegmentID)\n return flushSegmentContainer(request, destination, segment, hoistableState);\n flushSegmentContainer(request, destination, segment, hoistableState);\n boundary = request.resumableState;\n request = request.renderState;\n writeChunk(destination, request.startInlineScript);\n writeChunk(destination, endOfStartTag);\n 0 === (boundary.instructions & 1)\n ? ((boundary.instructions |= 1),\n writeChunk(destination, completeSegmentScript1Full))\n : writeChunk(destination, completeSegmentScript1Partial);\n writeChunk(destination, request.segmentPrefix);\n segmentID = stringToChunk(segmentID.toString(16));\n writeChunk(destination, segmentID);\n writeChunk(destination, completeSegmentScript2);\n writeChunk(destination, request.placeholderPrefix);\n writeChunk(destination, segmentID);\n destination = writeChunkAndReturn(destination, completeSegmentScriptEnd);\n return destination;\n}\nvar flushingPartialBoundaries = !1;\nfunction flushCompletedQueues(request, destination) {\n currentView = new Uint8Array(2048);\n writtenBytes = 0;\n try {\n if (!(0 < request.pendingRootTasks)) {\n var i,\n completedRootSegment = request.completedRootSegment;\n if (null !== completedRootSegment) {\n if (5 === completedRootSegment.status) return;\n var completedPreambleSegments = request.completedPreambleSegments;\n if (null === completedPreambleSegments) return;\n flushedByteSize = request.byteSize;\n var resumableState = request.resumableState,\n renderState = request.renderState,\n preamble = renderState.preamble,\n htmlChunks = preamble.htmlChunks,\n headChunks = preamble.headChunks,\n i$jscomp$0;\n if (htmlChunks) {\n for (i$jscomp$0 = 0; i$jscomp$0 < htmlChunks.length; i$jscomp$0++)\n writeChunk(destination, htmlChunks[i$jscomp$0]);\n if (headChunks)\n for (i$jscomp$0 = 0; i$jscomp$0 < headChunks.length; i$jscomp$0++)\n writeChunk(destination, headChunks[i$jscomp$0]);\n else\n writeChunk(destination, startChunkForTag(\"head\")),\n writeChunk(destination, endOfStartTag);\n } else if (headChunks)\n for (i$jscomp$0 = 0; i$jscomp$0 < headChunks.length; i$jscomp$0++)\n writeChunk(destination, headChunks[i$jscomp$0]);\n var charsetChunks = renderState.charsetChunks;\n for (i$jscomp$0 = 0; i$jscomp$0 < charsetChunks.length; i$jscomp$0++)\n writeChunk(destination, charsetChunks[i$jscomp$0]);\n charsetChunks.length = 0;\n renderState.preconnects.forEach(flushResource, destination);\n renderState.preconnects.clear();\n var viewportChunks = renderState.viewportChunks;\n for (i$jscomp$0 = 0; i$jscomp$0 < viewportChunks.length; i$jscomp$0++)\n writeChunk(destination, viewportChunks[i$jscomp$0]);\n viewportChunks.length = 0;\n renderState.fontPreloads.forEach(flushResource, destination);\n renderState.fontPreloads.clear();\n renderState.highImagePreloads.forEach(flushResource, destination);\n renderState.highImagePreloads.clear();\n currentlyFlushingRenderState = renderState;\n renderState.styles.forEach(flushStylesInPreamble, destination);\n currentlyFlushingRenderState = null;\n var importMapChunks = renderState.importMapChunks;\n for (i$jscomp$0 = 0; i$jscomp$0 < importMapChunks.length; i$jscomp$0++)\n writeChunk(destination, importMapChunks[i$jscomp$0]);\n importMapChunks.length = 0;\n renderState.bootstrapScripts.forEach(flushResource, destination);\n renderState.scripts.forEach(flushResource, destination);\n renderState.scripts.clear();\n renderState.bulkPreloads.forEach(flushResource, destination);\n renderState.bulkPreloads.clear();\n htmlChunks || headChunks || (resumableState.instructions |= 32);\n var hoistableChunks = renderState.hoistableChunks;\n for (i$jscomp$0 = 0; i$jscomp$0 < hoistableChunks.length; i$jscomp$0++)\n writeChunk(destination, hoistableChunks[i$jscomp$0]);\n for (\n resumableState = hoistableChunks.length = 0;\n resumableState < completedPreambleSegments.length;\n resumableState++\n ) {\n var segments = completedPreambleSegments[resumableState];\n for (renderState = 0; renderState < segments.length; renderState++)\n flushSegment(request, destination, segments[renderState], null);\n }\n var preamble$jscomp$0 = request.renderState.preamble,\n headChunks$jscomp$0 = preamble$jscomp$0.headChunks;\n (preamble$jscomp$0.htmlChunks || headChunks$jscomp$0) &&\n writeChunk(destination, endChunkForTag(\"head\"));\n var bodyChunks = preamble$jscomp$0.bodyChunks;\n if (bodyChunks)\n for (\n completedPreambleSegments = 0;\n completedPreambleSegments < bodyChunks.length;\n completedPreambleSegments++\n )\n writeChunk(destination, bodyChunks[completedPreambleSegments]);\n flushSegment(request, destination, completedRootSegment, null);\n request.completedRootSegment = null;\n var renderState$jscomp$0 = request.renderState;\n if (\n 0 !== request.allPendingTasks ||\n 0 !== request.clientRenderedBoundaries.length ||\n 0 !== request.completedBoundaries.length ||\n (null !== request.trackedPostpones &&\n (0 !== request.trackedPostpones.rootNodes.length ||\n null !== request.trackedPostpones.rootSlots))\n ) {\n var resumableState$jscomp$0 = request.resumableState;\n if (0 === (resumableState$jscomp$0.instructions & 64)) {\n resumableState$jscomp$0.instructions |= 64;\n writeChunk(destination, renderState$jscomp$0.startInlineScript);\n if (0 === (resumableState$jscomp$0.instructions & 32)) {\n resumableState$jscomp$0.instructions |= 32;\n var shellId = \"_\" + resumableState$jscomp$0.idPrefix + \"R_\";\n writeChunk(destination, completedShellIdAttributeStart);\n writeChunk(\n destination,\n stringToChunk(escapeTextForBrowser(shellId))\n );\n writeChunk(destination, attributeEnd);\n }\n writeChunk(destination, endOfStartTag);\n writeChunk(destination, shellTimeRuntimeScript);\n writeChunkAndReturn(destination, endInlineScript);\n }\n }\n writeBootstrap(destination, renderState$jscomp$0);\n }\n var renderState$jscomp$1 = request.renderState;\n completedRootSegment = 0;\n var viewportChunks$jscomp$0 = renderState$jscomp$1.viewportChunks;\n for (\n completedRootSegment = 0;\n completedRootSegment < viewportChunks$jscomp$0.length;\n completedRootSegment++\n )\n writeChunk(destination, viewportChunks$jscomp$0[completedRootSegment]);\n viewportChunks$jscomp$0.length = 0;\n renderState$jscomp$1.preconnects.forEach(flushResource, destination);\n renderState$jscomp$1.preconnects.clear();\n renderState$jscomp$1.fontPreloads.forEach(flushResource, destination);\n renderState$jscomp$1.fontPreloads.clear();\n renderState$jscomp$1.highImagePreloads.forEach(\n flushResource,\n destination\n );\n renderState$jscomp$1.highImagePreloads.clear();\n renderState$jscomp$1.styles.forEach(preloadLateStyles, destination);\n renderState$jscomp$1.scripts.forEach(flushResource, destination);\n renderState$jscomp$1.scripts.clear();\n renderState$jscomp$1.bulkPreloads.forEach(flushResource, destination);\n renderState$jscomp$1.bulkPreloads.clear();\n var hoistableChunks$jscomp$0 = renderState$jscomp$1.hoistableChunks;\n for (\n completedRootSegment = 0;\n completedRootSegment < hoistableChunks$jscomp$0.length;\n completedRootSegment++\n )\n writeChunk(destination, hoistableChunks$jscomp$0[completedRootSegment]);\n hoistableChunks$jscomp$0.length = 0;\n var clientRenderedBoundaries = request.clientRenderedBoundaries;\n for (i = 0; i < clientRenderedBoundaries.length; i++) {\n var boundary = clientRenderedBoundaries[i];\n renderState$jscomp$1 = destination;\n var resumableState$jscomp$1 = request.resumableState,\n renderState$jscomp$2 = request.renderState,\n id = boundary.rootSegmentID,\n errorDigest = boundary.errorDigest;\n writeChunk(\n renderState$jscomp$1,\n renderState$jscomp$2.startInlineScript\n );\n writeChunk(renderState$jscomp$1, endOfStartTag);\n 0 === (resumableState$jscomp$1.instructions & 4)\n ? ((resumableState$jscomp$1.instructions |= 4),\n writeChunk(renderState$jscomp$1, clientRenderScript1Full))\n : writeChunk(renderState$jscomp$1, clientRenderScript1Partial);\n writeChunk(renderState$jscomp$1, renderState$jscomp$2.boundaryPrefix);\n writeChunk(renderState$jscomp$1, stringToChunk(id.toString(16)));\n writeChunk(renderState$jscomp$1, clientRenderScript1A);\n errorDigest &&\n (writeChunk(\n renderState$jscomp$1,\n clientRenderErrorScriptArgInterstitial\n ),\n writeChunk(\n renderState$jscomp$1,\n stringToChunk(\n escapeJSStringsForInstructionScripts(errorDigest || \"\")\n )\n ));\n var JSCompiler_inline_result = writeChunkAndReturn(\n renderState$jscomp$1,\n clientRenderScriptEnd\n );\n if (!JSCompiler_inline_result) {\n request.destination = null;\n i++;\n clientRenderedBoundaries.splice(0, i);\n return;\n }\n }\n clientRenderedBoundaries.splice(0, i);\n var completedBoundaries = request.completedBoundaries;\n for (i = 0; i < completedBoundaries.length; i++)\n if (\n !flushCompletedBoundary(request, destination, completedBoundaries[i])\n ) {\n request.destination = null;\n i++;\n completedBoundaries.splice(0, i);\n return;\n }\n completedBoundaries.splice(0, i);\n completeWriting(destination);\n currentView = new Uint8Array(2048);\n writtenBytes = 0;\n flushingPartialBoundaries = !0;\n var partialBoundaries = request.partialBoundaries;\n for (i = 0; i < partialBoundaries.length; i++) {\n var boundary$70 = partialBoundaries[i];\n a: {\n clientRenderedBoundaries = request;\n boundary = destination;\n flushedByteSize = boundary$70.byteSize;\n var completedSegments = boundary$70.completedSegments;\n for (\n JSCompiler_inline_result = 0;\n JSCompiler_inline_result < completedSegments.length;\n JSCompiler_inline_result++\n )\n if (\n !flushPartiallyCompletedSegment(\n clientRenderedBoundaries,\n boundary,\n boundary$70,\n completedSegments[JSCompiler_inline_result]\n )\n ) {\n JSCompiler_inline_result++;\n completedSegments.splice(0, JSCompiler_inline_result);\n var JSCompiler_inline_result$jscomp$0 = !1;\n break a;\n }\n completedSegments.splice(0, JSCompiler_inline_result);\n var row = boundary$70.row;\n null !== row &&\n row.together &&\n 1 === boundary$70.pendingTasks &&\n (1 === row.pendingTasks\n ? unblockSuspenseListRow(\n clientRenderedBoundaries,\n row,\n row.hoistables\n )\n : row.pendingTasks--);\n JSCompiler_inline_result$jscomp$0 = writeHoistablesForBoundary(\n boundary,\n boundary$70.contentState,\n clientRenderedBoundaries.renderState\n );\n }\n if (!JSCompiler_inline_result$jscomp$0) {\n request.destination = null;\n i++;\n partialBoundaries.splice(0, i);\n return;\n }\n }\n partialBoundaries.splice(0, i);\n flushingPartialBoundaries = !1;\n var largeBoundaries = request.completedBoundaries;\n for (i = 0; i < largeBoundaries.length; i++)\n if (!flushCompletedBoundary(request, destination, largeBoundaries[i])) {\n request.destination = null;\n i++;\n largeBoundaries.splice(0, i);\n return;\n }\n largeBoundaries.splice(0, i);\n }\n } finally {\n (flushingPartialBoundaries = !1),\n 0 === request.allPendingTasks &&\n 0 === request.clientRenderedBoundaries.length &&\n 0 === request.completedBoundaries.length\n ? ((request.flushScheduled = !1),\n (i = request.resumableState),\n i.hasBody && writeChunk(destination, endChunkForTag(\"body\")),\n i.hasHtml && writeChunk(destination, endChunkForTag(\"html\")),\n completeWriting(destination),\n (request.status = 14),\n destination.close(),\n (request.destination = null))\n : completeWriting(destination);\n }\n}\nfunction startWork(request) {\n request.flushScheduled = null !== request.destination;\n scheduleMicrotask(function () {\n return performWork(request);\n });\n scheduleWork(function () {\n 10 === request.status && (request.status = 11);\n null === request.trackedPostpones &&\n safelyEmitEarlyPreloads(request, 0 === request.pendingRootTasks);\n });\n}\nfunction enqueueFlush(request) {\n !1 === request.flushScheduled &&\n 0 === request.pingedTasks.length &&\n null !== request.destination &&\n ((request.flushScheduled = !0),\n scheduleWork(function () {\n var destination = request.destination;\n destination\n ? flushCompletedQueues(request, destination)\n : (request.flushScheduled = !1);\n }));\n}\nfunction startFlowing(request, destination) {\n if (13 === request.status)\n (request.status = 14), closeWithError(destination, request.fatalError);\n else if (14 !== request.status && null === request.destination) {\n request.destination = destination;\n try {\n flushCompletedQueues(request, destination);\n } catch (error) {\n logRecoverableError(request, error, {}), fatalError(request, error);\n }\n }\n}\nfunction abort(request, reason) {\n if (11 === request.status || 10 === request.status) request.status = 12;\n try {\n var abortableTasks = request.abortableTasks;\n if (0 < abortableTasks.size) {\n var error =\n void 0 === reason\n ? Error(formatProdErrorMessage(432))\n : \"object\" === typeof reason &&\n null !== reason &&\n \"function\" === typeof reason.then\n ? Error(formatProdErrorMessage(530))\n : reason;\n request.fatalError = error;\n abortableTasks.forEach(function (task) {\n return abortTask(task, request, error);\n });\n abortableTasks.clear();\n }\n null !== request.destination &&\n flushCompletedQueues(request, request.destination);\n } catch (error$72) {\n logRecoverableError(request, error$72, {}), fatalError(request, error$72);\n }\n}\nfunction addToReplayParent(node, parentKeyPath, trackedPostpones) {\n if (null === parentKeyPath) trackedPostpones.rootNodes.push(node);\n else {\n var workingMap = trackedPostpones.workingMap,\n parentNode = workingMap.get(parentKeyPath);\n void 0 === parentNode &&\n ((parentNode = [parentKeyPath[1], parentKeyPath[2], [], null]),\n workingMap.set(parentKeyPath, parentNode),\n addToReplayParent(parentNode, parentKeyPath[0], trackedPostpones));\n parentNode[2].push(node);\n }\n}\nfunction getPostponedState(request) {\n var trackedPostpones = request.trackedPostpones;\n if (\n null === trackedPostpones ||\n (0 === trackedPostpones.rootNodes.length &&\n null === trackedPostpones.rootSlots)\n )\n return (request.trackedPostpones = null);\n if (\n null === request.completedRootSegment ||\n (5 !== request.completedRootSegment.status &&\n null !== request.completedPreambleSegments)\n ) {\n var nextSegmentId = request.nextSegmentId;\n var replaySlots = trackedPostpones.rootSlots;\n var resumableState = request.resumableState;\n resumableState.bootstrapScriptContent = void 0;\n resumableState.bootstrapScripts = void 0;\n resumableState.bootstrapModules = void 0;\n } else {\n nextSegmentId = 0;\n replaySlots = -1;\n resumableState = request.resumableState;\n var renderState = request.renderState;\n resumableState.nextFormID = 0;\n resumableState.hasBody = !1;\n resumableState.hasHtml = !1;\n resumableState.unknownResources = { font: renderState.resets.font };\n resumableState.dnsResources = renderState.resets.dns;\n resumableState.connectResources = renderState.resets.connect;\n resumableState.imageResources = renderState.resets.image;\n resumableState.styleResources = renderState.resets.style;\n resumableState.scriptResources = {};\n resumableState.moduleUnknownResources = {};\n resumableState.moduleScriptResources = {};\n resumableState.instructions = 0;\n }\n return {\n nextSegmentId: nextSegmentId,\n rootFormatContext: request.rootFormatContext,\n progressiveChunkSize: request.progressiveChunkSize,\n resumableState: request.resumableState,\n replayNodes: trackedPostpones.rootNodes,\n replaySlots: replaySlots\n };\n}\nfunction ensureCorrectIsomorphicReactVersion() {\n var isomorphicReactPackageVersion = React.version;\n if (\"19.2.1\" !== isomorphicReactPackageVersion)\n throw Error(\n formatProdErrorMessage(\n 527,\n isomorphicReactPackageVersion,\n \"19.2.1\"\n )\n );\n}\nensureCorrectIsomorphicReactVersion();\nensureCorrectIsomorphicReactVersion();\nexports.prerender = function (children, options) {\n return new Promise(function (resolve, reject) {\n var onHeaders = options ? options.onHeaders : void 0,\n onHeadersImpl;\n onHeaders &&\n (onHeadersImpl = function (headersDescriptor) {\n onHeaders(new Headers(headersDescriptor));\n });\n var resources = createResumableState(\n options ? options.identifierPrefix : void 0,\n options ? options.unstable_externalRuntimeSrc : void 0,\n options ? options.bootstrapScriptContent : void 0,\n options ? options.bootstrapScripts : void 0,\n options ? options.bootstrapModules : void 0\n ),\n request = createPrerenderRequest(\n children,\n resources,\n createRenderState(\n resources,\n void 0,\n options ? options.unstable_externalRuntimeSrc : void 0,\n options ? options.importMap : void 0,\n onHeadersImpl,\n options ? options.maxHeadersLength : void 0\n ),\n createRootFormatContext(options ? options.namespaceURI : void 0),\n options ? options.progressiveChunkSize : void 0,\n options ? options.onError : void 0,\n function () {\n var stream = new ReadableStream(\n {\n type: \"bytes\",\n pull: function (controller) {\n startFlowing(request, controller);\n },\n cancel: function (reason) {\n request.destination = null;\n abort(request, reason);\n }\n },\n { highWaterMark: 0 }\n );\n stream = { postponed: getPostponedState(request), prelude: stream };\n resolve(stream);\n },\n void 0,\n void 0,\n reject,\n options ? options.onPostpone : void 0\n );\n if (options && options.signal) {\n var signal = options.signal;\n if (signal.aborted) abort(request, signal.reason);\n else {\n var listener = function () {\n abort(request, signal.reason);\n signal.removeEventListener(\"abort\", listener);\n };\n signal.addEventListener(\"abort\", listener);\n }\n }\n startWork(request);\n });\n};\nexports.renderToReadableStream = function (children, options) {\n return new Promise(function (resolve, reject) {\n var onFatalError,\n onAllReady,\n allReady = new Promise(function (res, rej) {\n onAllReady = res;\n onFatalError = rej;\n }),\n onHeaders = options ? options.onHeaders : void 0,\n onHeadersImpl;\n onHeaders &&\n (onHeadersImpl = function (headersDescriptor) {\n onHeaders(new Headers(headersDescriptor));\n });\n var resumableState = createResumableState(\n options ? options.identifierPrefix : void 0,\n options ? options.unstable_externalRuntimeSrc : void 0,\n options ? options.bootstrapScriptContent : void 0,\n options ? options.bootstrapScripts : void 0,\n options ? options.bootstrapModules : void 0\n ),\n request = createRequest(\n children,\n resumableState,\n createRenderState(\n resumableState,\n options ? options.nonce : void 0,\n options ? options.unstable_externalRuntimeSrc : void 0,\n options ? options.importMap : void 0,\n onHeadersImpl,\n options ? options.maxHeadersLength : void 0\n ),\n createRootFormatContext(options ? options.namespaceURI : void 0),\n options ? options.progressiveChunkSize : void 0,\n options ? options.onError : void 0,\n onAllReady,\n function () {\n var stream = new ReadableStream(\n {\n type: \"bytes\",\n pull: function (controller) {\n startFlowing(request, controller);\n },\n cancel: function (reason) {\n request.destination = null;\n abort(request, reason);\n }\n },\n { highWaterMark: 0 }\n );\n stream.allReady = allReady;\n resolve(stream);\n },\n function (error) {\n allReady.catch(function () {});\n reject(error);\n },\n onFatalError,\n options ? options.onPostpone : void 0,\n options ? options.formState : void 0\n );\n if (options && options.signal) {\n var signal = options.signal;\n if (signal.aborted) abort(request, signal.reason);\n else {\n var listener = function () {\n abort(request, signal.reason);\n signal.removeEventListener(\"abort\", listener);\n };\n signal.addEventListener(\"abort\", listener);\n }\n }\n startWork(request);\n });\n};\nexports.resume = function (children, postponedState, options) {\n return new Promise(function (resolve, reject) {\n var onFatalError,\n onAllReady,\n allReady = new Promise(function (res, rej) {\n onAllReady = res;\n onFatalError = rej;\n }),\n request = resumeRequest(\n children,\n postponedState,\n createRenderState(\n postponedState.resumableState,\n options ? options.nonce : void 0,\n void 0,\n void 0,\n void 0,\n void 0\n ),\n options ? options.onError : void 0,\n onAllReady,\n function () {\n var stream = new ReadableStream(\n {\n type: \"bytes\",\n pull: function (controller) {\n startFlowing(request, controller);\n },\n cancel: function (reason) {\n request.destination = null;\n abort(request, reason);\n }\n },\n { highWaterMark: 0 }\n );\n stream.allReady = allReady;\n resolve(stream);\n },\n function (error) {\n allReady.catch(function () {});\n reject(error);\n },\n onFatalError,\n options ? options.onPostpone : void 0\n );\n if (options && options.signal) {\n var signal = options.signal;\n if (signal.aborted) abort(request, signal.reason);\n else {\n var listener = function () {\n abort(request, signal.reason);\n signal.removeEventListener(\"abort\", listener);\n };\n signal.addEventListener(\"abort\", listener);\n }\n }\n startWork(request);\n });\n};\nexports.resumeAndPrerender = function (children, postponedState, options) {\n return new Promise(function (resolve, reject) {\n var request = resumeAndPrerenderRequest(\n children,\n postponedState,\n createRenderState(\n postponedState.resumableState,\n void 0,\n void 0,\n void 0,\n void 0,\n void 0\n ),\n options ? options.onError : void 0,\n function () {\n var stream = new ReadableStream(\n {\n type: \"bytes\",\n pull: function (controller) {\n startFlowing(request, controller);\n },\n cancel: function (reason) {\n request.destination = null;\n abort(request, reason);\n }\n },\n { highWaterMark: 0 }\n );\n stream = { postponed: getPostponedState(request), prelude: stream };\n resolve(stream);\n },\n void 0,\n void 0,\n reject,\n options ? options.onPostpone : void 0\n );\n if (options && options.signal) {\n var signal = options.signal;\n if (signal.aborted) abort(request, signal.reason);\n else {\n var listener = function () {\n abort(request, signal.reason);\n signal.removeEventListener(\"abort\", listener);\n };\n signal.addEventListener(\"abort\", listener);\n }\n }\n startWork(request);\n });\n};\nexports.version = \"19.2.1\";\n","'use strict';\n\nvar l, s;\nif (process.env.NODE_ENV === 'production') {\n l = require('./cjs/react-dom-server-legacy.browser.production.js');\n s = require('./cjs/react-dom-server.browser.production.js');\n} else {\n l = require('./cjs/react-dom-server-legacy.browser.development.js');\n s = require('./cjs/react-dom-server.browser.development.js');\n}\n\nexports.version = l.version;\nexports.renderToString = l.renderToString;\nexports.renderToStaticMarkup = l.renderToStaticMarkup;\nexports.renderToReadableStream = s.renderToReadableStream;\nexports.resume = s.resume;\n","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/** @license React v17.0.2\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var b=60103,c=60106,d=60107,e=60108,f=60114,g=60109,h=60110,k=60112,l=60113,m=60120,n=60115,p=60116,q=60121,r=60122,u=60117,v=60129,w=60131;\nif(\"function\"===typeof Symbol&&Symbol.for){var x=Symbol.for;b=x(\"react.element\");c=x(\"react.portal\");d=x(\"react.fragment\");e=x(\"react.strict_mode\");f=x(\"react.profiler\");g=x(\"react.provider\");h=x(\"react.context\");k=x(\"react.forward_ref\");l=x(\"react.suspense\");m=x(\"react.suspense_list\");n=x(\"react.memo\");p=x(\"react.lazy\");q=x(\"react.block\");r=x(\"react.server.block\");u=x(\"react.fundamental\");v=x(\"react.debug_trace_mode\");w=x(\"react.legacy_hidden\")}\nfunction y(a){if(\"object\"===typeof a&&null!==a){var t=a.$$typeof;switch(t){case b:switch(a=a.type,a){case d:case f:case e:case l:case m:return a;default:switch(a=a&&a.$$typeof,a){case h:case k:case p:case n:case g:return a;default:return t}}case c:return t}}}var z=g,A=b,B=k,C=d,D=p,E=n,F=c,G=f,H=e,I=l;exports.ContextConsumer=h;exports.ContextProvider=z;exports.Element=A;exports.ForwardRef=B;exports.Fragment=C;exports.Lazy=D;exports.Memo=E;exports.Portal=F;exports.Profiler=G;exports.StrictMode=H;\nexports.Suspense=I;exports.isAsyncMode=function(){return!1};exports.isConcurrentMode=function(){return!1};exports.isContextConsumer=function(a){return y(a)===h};exports.isContextProvider=function(a){return y(a)===g};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===b};exports.isForwardRef=function(a){return y(a)===k};exports.isFragment=function(a){return y(a)===d};exports.isLazy=function(a){return y(a)===p};exports.isMemo=function(a){return y(a)===n};\nexports.isPortal=function(a){return y(a)===c};exports.isProfiler=function(a){return y(a)===f};exports.isStrictMode=function(a){return y(a)===e};exports.isSuspense=function(a){return y(a)===l};exports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===d||a===f||a===v||a===e||a===l||a===m||a===w||\"object\"===typeof a&&null!==a&&(a.$$typeof===p||a.$$typeof===n||a.$$typeof===g||a.$$typeof===h||a.$$typeof===k||a.$$typeof===u||a.$$typeof===q||a[0]===r)?!0:!1};\nexports.typeOf=y;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","import { jsx as G, jsxs as Ut, Fragment as ao } from \"react/jsx-runtime\";\nimport E, { createElement as $t } from \"react\";\nimport fo from \"react-dom\";\nconst ve = 0, At = 1, Jt = 2, zn = 4;\nfunction un(t) {\n return () => t;\n}\nfunction mo(t) {\n t();\n}\nfunction se(t, e) {\n return (n) => t(e(n));\n}\nfunction an(t, e) {\n return () => t(e);\n}\nfunction po(t, e) {\n return (n) => t(e, n);\n}\nfunction Ae(t) {\n return t !== void 0;\n}\nfunction ho(...t) {\n return () => {\n t.map(mo);\n };\n}\nfunction Qt() {\n}\nfunction ye(t, e) {\n return e(t), t;\n}\nfunction go(t, e) {\n return e(t);\n}\nfunction tt(...t) {\n return t;\n}\nfunction Y(t, e) {\n return t(At, e);\n}\nfunction D(t, e) {\n t(ve, e);\n}\nfunction We(t) {\n t(Jt);\n}\nfunction rt(t) {\n return t(zn);\n}\nfunction F(t, e) {\n return Y(t, po(e, ve));\n}\nfunction Et(t, e) {\n const n = t(At, (o) => {\n n(), e(o);\n });\n return n;\n}\nfunction dn(t) {\n let e, n;\n return (o) => (r) => {\n e = r, n && clearTimeout(n), n = setTimeout(() => {\n o(e);\n }, t);\n };\n}\nfunction On(t, e) {\n return t === e;\n}\nfunction J(t = On) {\n let e;\n return (n) => (o) => {\n t(e, o) || (e = o, n(o));\n };\n}\nfunction P(t) {\n return (e) => (n) => {\n t(n) && e(n);\n };\n}\nfunction k(t) {\n return (e) => se(e, t);\n}\nfunction Ft(t) {\n return (e) => () => {\n e(t);\n };\n}\nfunction x(t, ...e) {\n const n = Io(...e);\n return (o, r) => {\n switch (o) {\n case Jt:\n We(t);\n return;\n case At:\n return Y(t, n(r));\n }\n };\n}\nfunction Lt(t, e) {\n return (n) => (o) => {\n n(e = t(e, o));\n };\n}\nfunction Kt(t) {\n return (e) => (n) => {\n t > 0 ? t-- : e(n);\n };\n}\nfunction Gt(t) {\n let e = null, n;\n return (o) => (r) => {\n e = r, !n && (n = setTimeout(() => {\n n = void 0, o(e);\n }, t));\n };\n}\nfunction $(...t) {\n const e = new Array(t.length);\n let n = 0, o = null;\n const r = Math.pow(2, t.length) - 1;\n return t.forEach((s, i) => {\n const l = Math.pow(2, i);\n Y(s, (c) => {\n const d = n;\n n = n | l, e[i] = c, d !== r && n === r && o && (o(), o = null);\n });\n }), (s) => (i) => {\n const l = () => {\n s([i].concat(e));\n };\n n === r ? l() : o = l;\n };\n}\nfunction Io(...t) {\n return (e) => t.reduceRight(go, e);\n}\nfunction xo(t) {\n let e, n;\n const o = () => e == null ? void 0 : e();\n return function(r, s) {\n switch (r) {\n case At:\n return s ? n === s ? void 0 : (o(), n = s, e = Y(t, s), e) : (o(), Qt);\n case Jt:\n o(), n = null;\n return;\n }\n };\n}\nfunction C(t) {\n let e = t;\n const n = U();\n return (o, r) => {\n switch (o) {\n case ve:\n e = r;\n break;\n case At: {\n r(e);\n break;\n }\n case zn:\n return e;\n }\n return n(o, r);\n };\n}\nfunction ht(t, e) {\n return ye(C(e), (n) => F(t, n));\n}\nfunction U() {\n const t = [];\n return (e, n) => {\n switch (e) {\n case ve:\n t.slice().forEach((o) => {\n o(n);\n });\n return;\n case Jt:\n t.splice(0, t.length);\n return;\n case At:\n return t.push(n), () => {\n const o = t.indexOf(n);\n o > -1 && t.splice(o, 1);\n };\n }\n };\n}\nfunction bt(t) {\n return ye(U(), (e) => F(t, e));\n}\nfunction K(t, e = [], { singleton: n } = { singleton: !0 }) {\n return {\n constructor: t,\n dependencies: e,\n id: So(),\n singleton: n\n };\n}\nconst So = () => Symbol();\nfunction To(t) {\n const e = /* @__PURE__ */ new Map(), n = ({ constructor: o, dependencies: r, id: s, singleton: i }) => {\n if (i && e.has(s))\n return e.get(s);\n const l = o(r.map((c) => n(c)));\n return i && e.set(s, l), l;\n };\n return n(t);\n}\nfunction ut(...t) {\n const e = U(), n = new Array(t.length);\n let o = 0;\n const r = Math.pow(2, t.length) - 1;\n return t.forEach((s, i) => {\n const l = Math.pow(2, i);\n Y(s, (c) => {\n n[i] = c, o = o | l, o === r && D(e, n);\n });\n }), function(s, i) {\n switch (s) {\n case Jt: {\n We(e);\n return;\n }\n case At:\n return o === r && i(n), Y(e, i);\n }\n };\n}\nfunction V(t, e = On) {\n return x(t, J(e));\n}\nfunction Fe(...t) {\n return function(e, n) {\n switch (e) {\n case Jt:\n return;\n case At:\n return ho(...t.map((o) => Y(o, n)));\n }\n };\n}\nvar Ct = /* @__PURE__ */ ((t) => (t[t.DEBUG = 0] = \"DEBUG\", t[t.INFO = 1] = \"INFO\", t[t.WARN = 2] = \"WARN\", t[t.ERROR = 3] = \"ERROR\", t))(Ct || {});\nconst Co = {\n 0: \"debug\",\n 3: \"error\",\n 1: \"log\",\n 2: \"warn\"\n}, wo = () => typeof globalThis > \"u\" ? window : globalThis, Wt = K(\n () => {\n const t = C(\n 3\n /* ERROR */\n );\n return {\n log: C((n, o, r = 1) => {\n var i;\n const s = (i = wo().VIRTUOSO_LOG_LEVEL) != null ? i : rt(t);\n r >= s && console[Co[r]](\n \"%creact-virtuoso: %c%s %o\",\n \"color: #0253b3; font-weight: bold\",\n \"color: initial\",\n n,\n o\n );\n }),\n logLevel: t\n };\n },\n [],\n { singleton: !0 }\n);\nfunction Vt(t, e, n) {\n return _e(t, e, n).callbackRef;\n}\nfunction _e(t, e, n) {\n const o = E.useRef(null);\n let r = (i) => {\n };\n const s = E.useMemo(() => typeof ResizeObserver < \"u\" ? new ResizeObserver((i) => {\n const l = () => {\n const c = i[0].target;\n c.offsetParent !== null && t(c);\n };\n n ? l() : requestAnimationFrame(l);\n }) : null, [t, n]);\n return r = (i) => {\n i && e ? (s == null || s.observe(i), o.current = i) : (o.current && (s == null || s.unobserve(o.current)), o.current = null);\n }, { callbackRef: r, ref: o };\n}\nfunction Fn(t, e, n, o, r, s, i, l, c) {\n const d = E.useCallback(\n (m) => {\n const S = vo(m.children, e, l ? \"offsetWidth\" : \"offsetHeight\", r);\n let h = m.parentElement;\n for (; !h.dataset.virtuosoScroller; )\n h = h.parentElement;\n const T = h.lastElementChild.dataset.viewportType === \"window\";\n let w;\n T && (w = h.ownerDocument.defaultView);\n const R = i ? l ? i.scrollLeft : i.scrollTop : T ? l ? w.scrollX || w.document.documentElement.scrollLeft : w.scrollY || w.document.documentElement.scrollTop : l ? h.scrollLeft : h.scrollTop, g = i ? l ? i.scrollWidth : i.scrollHeight : T ? l ? w.document.documentElement.scrollWidth : w.document.documentElement.scrollHeight : l ? h.scrollWidth : h.scrollHeight, f = i ? l ? i.offsetWidth : i.offsetHeight : T ? l ? w.innerWidth : w.innerHeight : l ? h.offsetWidth : h.offsetHeight;\n o({\n scrollHeight: g,\n scrollTop: Math.max(R, 0),\n viewportHeight: f\n }), s == null || s(\n l ? fn(\"column-gap\", getComputedStyle(m).columnGap, r) : fn(\"row-gap\", getComputedStyle(m).rowGap, r)\n ), S !== null && t(S);\n },\n [t, e, r, s, i, o, l]\n );\n return _e(d, n, c);\n}\nfunction vo(t, e, n, o) {\n const r = t.length;\n if (r === 0)\n return null;\n const s = [];\n for (let i = 0; i < r; i++) {\n const l = t.item(i);\n if (l.dataset.index === void 0)\n continue;\n const c = parseInt(l.dataset.index), d = parseFloat(l.dataset.knownSize), m = e(l, n);\n if (m === 0 && o(\"Zero-sized element, this should not happen\", { child: l }, Ct.ERROR), m === d)\n continue;\n const S = s[s.length - 1];\n s.length === 0 || S.size !== m || S.endIndex !== c - 1 ? s.push({ endIndex: c, size: m, startIndex: c }) : s[s.length - 1].endIndex++;\n }\n return s;\n}\nfunction fn(t, e, n) {\n return e !== \"normal\" && !(e != null && e.endsWith(\"px\")) && n(`${t} was not resolved to pixel value correctly`, e, Ct.WARN), e === \"normal\" ? 0 : parseInt(e != null ? e : \"0\", 10);\n}\nfunction Ne(t, e, n) {\n const o = E.useRef(null), r = E.useCallback(\n (c) => {\n if (!(c != null && c.offsetParent))\n return;\n const d = c.getBoundingClientRect(), m = d.width;\n let S, h;\n if (e) {\n const T = e.getBoundingClientRect(), w = d.top - T.top;\n h = T.height - Math.max(0, w), S = w + e.scrollTop;\n } else {\n const T = i.current.ownerDocument.defaultView;\n h = T.innerHeight - Math.max(0, d.top), S = d.top + T.scrollY;\n }\n o.current = {\n offsetTop: S,\n visibleHeight: h,\n visibleWidth: m\n }, t(o.current);\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [t, e]\n ), { callbackRef: s, ref: i } = _e(r, !0, n), l = E.useCallback(() => {\n r(i.current);\n }, [r, i]);\n return E.useEffect(() => {\n var c;\n if (e) {\n e.addEventListener(\"scroll\", l);\n const d = new ResizeObserver(() => {\n requestAnimationFrame(l);\n });\n return d.observe(e), () => {\n e.removeEventListener(\"scroll\", l), d.unobserve(e);\n };\n } else {\n const d = (c = i.current) == null ? void 0 : c.ownerDocument.defaultView;\n return d == null || d.addEventListener(\"scroll\", l), d == null || d.addEventListener(\"resize\", l), () => {\n d == null || d.removeEventListener(\"scroll\", l), d == null || d.removeEventListener(\"resize\", l);\n };\n }\n }, [l, e, i]), s;\n}\nconst It = K(\n () => {\n const t = U(), e = U(), n = C(0), o = U(), r = C(0), s = U(), i = U(), l = C(0), c = C(0), d = C(0), m = C(0), S = U(), h = U(), T = C(!1), w = C(!1), R = C(!1);\n return F(\n x(\n t,\n k(({ scrollTop: g }) => g)\n ),\n e\n ), F(\n x(\n t,\n k(({ scrollHeight: g }) => g)\n ),\n i\n ), F(e, r), {\n deviation: n,\n fixedFooterHeight: d,\n fixedHeaderHeight: c,\n footerHeight: m,\n headerHeight: l,\n horizontalDirection: w,\n scrollBy: h,\n // input\n scrollContainerState: t,\n scrollHeight: i,\n scrollingInProgress: T,\n // signals\n scrollTo: S,\n scrollTop: e,\n skipAnimationFrameInResizeObserver: R,\n smoothScrollTargetReached: o,\n // state\n statefulScrollTop: r,\n viewportHeight: s\n };\n },\n [],\n { singleton: !0 }\n), ie = { lvl: 0 };\nfunction Ln(t, e) {\n const n = t.length;\n if (n === 0)\n return [];\n let { index: o, value: r } = e(t[0]);\n const s = [];\n for (let i = 1; i < n; i++) {\n const { index: l, value: c } = e(t[i]);\n s.push({ end: l - 1, start: o, value: r }), o = l, r = c;\n }\n return s.push({ end: 1 / 0, start: o, value: r }), s;\n}\nfunction X(t) {\n return t === ie;\n}\nfunction le(t, e) {\n if (!X(t))\n return e === t.k ? t.v : e < t.k ? le(t.l, e) : le(t.r, e);\n}\nfunction kt(t, e, n = \"k\") {\n if (X(t))\n return [-1 / 0, void 0];\n if (Number(t[n]) === e)\n return [t.k, t.v];\n if (Number(t[n]) < e) {\n const o = kt(t.r, e, n);\n return o[0] === -1 / 0 ? [t.k, t.v] : o;\n }\n return kt(t.l, e, n);\n}\nfunction yt(t, e, n) {\n return X(t) ? Gn(e, n, 1) : e === t.k ? dt(t, { k: e, v: n }) : e < t.k ? mn(dt(t, { l: yt(t.l, e, n) })) : mn(dt(t, { r: yt(t.r, e, n) }));\n}\nfunction Zt() {\n return ie;\n}\nfunction Xt(t, e, n) {\n if (X(t))\n return [];\n const o = kt(t, e)[0];\n return yo(Ve(t, o, n));\n}\nfunction Le(t, e) {\n if (X(t)) return ie;\n const { k: n, l: o, r } = t;\n if (e === n) {\n if (X(o))\n return r;\n if (X(r))\n return o;\n {\n const [s, i] = Pn(o);\n return Se(dt(t, { k: s, l: Vn(o), v: i }));\n }\n } else return e < n ? Se(dt(t, { l: Le(o, e) })) : Se(dt(t, { r: Le(r, e) }));\n}\nfunction Dt(t) {\n return X(t) ? [] : [...Dt(t.l), { k: t.k, v: t.v }, ...Dt(t.r)];\n}\nfunction Ve(t, e, n) {\n if (X(t))\n return [];\n const { k: o, l: r, r: s, v: i } = t;\n let l = [];\n return o > e && (l = l.concat(Ve(r, e, n))), o >= e && o <= n && l.push({ k: o, v: i }), o <= n && (l = l.concat(Ve(s, e, n))), l;\n}\nfunction Se(t) {\n const { l: e, lvl: n, r: o } = t;\n if (o.lvl >= n - 1 && e.lvl >= n - 1)\n return t;\n if (n > o.lvl + 1) {\n if (Ee(e))\n return Mn(dt(t, { lvl: n - 1 }));\n if (!X(e) && !X(e.r))\n return dt(e.r, {\n l: dt(e, { r: e.r.l }),\n lvl: n,\n r: dt(t, {\n l: e.r.r,\n lvl: n - 1\n })\n });\n throw new Error(\"Unexpected empty nodes\");\n } else {\n if (Ee(t))\n return Pe(dt(t, { lvl: n - 1 }));\n if (!X(o) && !X(o.l)) {\n const r = o.l, s = Ee(r) ? o.lvl - 1 : o.lvl;\n return dt(r, {\n l: dt(t, {\n lvl: n - 1,\n r: r.l\n }),\n lvl: r.lvl + 1,\n r: Pe(dt(o, { l: r.r, lvl: s }))\n });\n } else\n throw new Error(\"Unexpected empty nodes\");\n }\n}\nfunction dt(t, e) {\n return Gn(\n e.k !== void 0 ? e.k : t.k,\n e.v !== void 0 ? e.v : t.v,\n e.lvl !== void 0 ? e.lvl : t.lvl,\n e.l !== void 0 ? e.l : t.l,\n e.r !== void 0 ? e.r : t.r\n );\n}\nfunction Vn(t) {\n return X(t.r) ? t.l : Se(dt(t, { r: Vn(t.r) }));\n}\nfunction Ee(t) {\n return X(t) || t.lvl > t.r.lvl;\n}\nfunction Pn(t) {\n return X(t.r) ? [t.k, t.v] : Pn(t.r);\n}\nfunction Gn(t, e, n, o = ie, r = ie) {\n return { k: t, l: o, lvl: n, r, v: e };\n}\nfunction mn(t) {\n return Pe(Mn(t));\n}\nfunction Mn(t) {\n const { l: e } = t;\n return !X(e) && e.lvl === t.lvl ? dt(e, { r: dt(t, { l: e.r }) }) : t;\n}\nfunction Pe(t) {\n const { lvl: e, r: n } = t;\n return !X(n) && !X(n.r) && n.lvl === e && n.r.lvl === e ? dt(n, { l: dt(t, { r: n.l }), lvl: e + 1 }) : t;\n}\nfunction yo(t) {\n return Ln(t, ({ k: e, v: n }) => ({ index: e, value: n }));\n}\nfunction An(t, e) {\n return !!(t && t.startIndex === e.startIndex && t.endIndex === e.endIndex);\n}\nfunction ce(t, e) {\n return !!(t && t[0] === e[0] && t[1] === e[1]);\n}\nconst De = K(\n () => ({ recalcInProgress: C(!1) }),\n [],\n { singleton: !0 }\n);\nfunction Wn(t, e, n) {\n return t[Ce(t, e, n)];\n}\nfunction Ce(t, e, n, o = 0) {\n let r = t.length - 1;\n for (; o <= r; ) {\n const s = Math.floor((o + r) / 2), i = t[s], l = n(i, e);\n if (l === 0)\n return s;\n if (l === -1) {\n if (r - o < 2)\n return s - 1;\n r = s - 1;\n } else {\n if (r === o)\n return s;\n o = s + 1;\n }\n }\n throw new Error(`Failed binary finding record in array - ${t.join(\",\")}, searched for ${e}`);\n}\nfunction bo(t, e, n, o) {\n const r = Ce(t, e, o), s = Ce(t, n, o, r);\n return t.slice(r, s + 1);\n}\nfunction zt(t, e) {\n return Math.round(t.getBoundingClientRect()[e]);\n}\nfunction be(t) {\n return !X(t.groupOffsetTree);\n}\nfunction $e({ index: t }, e) {\n return e === t ? 0 : e < t ? -1 : 1;\n}\nfunction Ro() {\n return {\n groupIndices: [],\n groupOffsetTree: Zt(),\n lastIndex: 0,\n lastOffset: 0,\n lastSize: 0,\n offsetTree: [],\n sizeTree: Zt()\n };\n}\nfunction Ho(t, e) {\n let n = X(t) ? 0 : 1 / 0;\n for (const o of e) {\n const { endIndex: r, size: s, startIndex: i } = o;\n if (n = Math.min(n, i), X(t)) {\n t = yt(t, 0, s);\n continue;\n }\n const l = Xt(t, i - 1, r + 1);\n if (l.some(Lo(o)))\n continue;\n let c = !1, d = !1;\n for (const { end: m, start: S, value: h } of l)\n c ? (r >= S || s === h) && (t = Le(t, S)) : (d = h !== s, c = !0), m > r && r >= S && h !== s && (t = yt(t, r + 1, h));\n d && (t = yt(t, i, s));\n }\n return [t, n];\n}\nfunction Eo(t) {\n return typeof t.groupIndex < \"u\";\n}\nfunction Bo({ offset: t }, e) {\n return e === t ? 0 : e < t ? -1 : 1;\n}\nfunction ue(t, e, n) {\n if (e.length === 0)\n return 0;\n const { index: o, offset: r, size: s } = Wn(e, t, $e), i = t - o, l = s * i + (i - 1) * n + r;\n return l > 0 ? l + n : l;\n}\nfunction _n(t, e) {\n if (!be(e))\n return t;\n let n = 0;\n for (; e.groupIndices[n] <= t + n; )\n n++;\n return t + n;\n}\nfunction Nn(t, e, n) {\n if (Eo(t))\n return e.groupIndices[t.groupIndex] + 1;\n {\n const o = t.index === \"LAST\" ? n : t.index;\n let r = _n(o, e);\n return r = Math.max(0, r, Math.min(n, r)), r;\n }\n}\nfunction ko(t, e, n, o = 0) {\n return o > 0 && (e = Math.max(e, Wn(t, o, $e).offset)), Ln(bo(t, e, n, Bo), Fo);\n}\nfunction zo(t, [e, n, o, r]) {\n e.length > 0 && o(\"received item sizes\", e, Ct.DEBUG);\n const s = t.sizeTree;\n let i = s, l = 0;\n if (n.length > 0 && X(s) && e.length === 2) {\n const h = e[0].size, T = e[1].size;\n i = n.reduce((w, R) => yt(yt(w, R, h), R + 1, T), i);\n } else\n [i, l] = Ho(i, e);\n if (i === s)\n return t;\n const { lastIndex: c, lastOffset: d, lastSize: m, offsetTree: S } = Ge(t.offsetTree, l, i, r);\n return {\n groupIndices: n,\n groupOffsetTree: n.reduce((h, T) => yt(h, T, ue(T, S, r)), Zt()),\n lastIndex: c,\n lastOffset: d,\n lastSize: m,\n offsetTree: S,\n sizeTree: i\n };\n}\nfunction Oo(t) {\n return Dt(t).map(({ k: e, v: n }, o, r) => {\n const s = r[o + 1];\n return { endIndex: s ? s.k - 1 : 1 / 0, size: n, startIndex: e };\n });\n}\nfunction pn(t, e) {\n let n = 0, o = 0;\n for (; n < t; )\n n += e[o + 1] - e[o] - 1, o++;\n return o - (n === t ? 0 : 1);\n}\nfunction Ge(t, e, n, o) {\n let r = t, s = 0, i = 0, l = 0, c = 0;\n if (e !== 0) {\n c = Ce(r, e - 1, $e), l = r[c].offset;\n const m = kt(n, e - 1);\n s = m[0], i = m[1], r.length && r[c].size === kt(n, e)[1] && (c -= 1), r = r.slice(0, c + 1);\n } else\n r = [];\n for (const { start: d, value: m } of Xt(n, e, 1 / 0)) {\n const S = d - s, h = S * i + l + S * o;\n r.push({\n index: d,\n offset: h,\n size: m\n }), s = d, l = h, i = m;\n }\n return {\n lastIndex: s,\n lastOffset: l,\n lastSize: i,\n offsetTree: r\n };\n}\nfunction Fo(t) {\n return { index: t.index, value: t };\n}\nfunction Lo(t) {\n const { endIndex: e, size: n, startIndex: o } = t;\n return (r) => r.start === o && (r.end === e || r.end === 1 / 0) && r.value === n;\n}\nconst Vo = {\n offsetHeight: \"height\",\n offsetWidth: \"width\"\n}, Pt = K(\n ([{ log: t }, { recalcInProgress: e }]) => {\n const n = U(), o = U(), r = ht(o, 0), s = U(), i = U(), l = C(0), c = C([]), d = C(void 0), m = C(void 0), S = C(void 0), h = C(void 0), T = C((u, p) => zt(u, Vo[p])), w = C(void 0), R = C(0), g = Ro(), f = ht(\n x(n, $(c, t, R), Lt(zo, g), J()),\n g\n ), a = ht(\n x(\n c,\n J(),\n Lt((u, p) => ({ current: p, prev: u.current }), {\n current: [],\n prev: []\n }),\n k(({ prev: u }) => u)\n ),\n []\n );\n F(\n x(\n c,\n P((u) => u.length > 0),\n $(f, R),\n k(([u, p, v]) => {\n const O = u.reduce((B, W, _) => yt(B, W, ue(W, p.offsetTree, v) || _), Zt());\n return {\n ...p,\n groupIndices: u,\n groupOffsetTree: O\n };\n })\n ),\n f\n ), F(\n x(\n o,\n $(f),\n P(([u, { lastIndex: p }]) => u < p),\n k(([u, { lastIndex: p, lastSize: v }]) => [\n {\n endIndex: p,\n size: v,\n startIndex: u\n }\n ])\n ),\n n\n ), F(d, m);\n const I = ht(\n x(\n d,\n k((u) => u === void 0)\n ),\n !0\n );\n F(\n x(\n m,\n P((u) => u !== void 0 && X(rt(f).sizeTree)),\n k((u) => {\n const p = rt(S), v = rt(c).length > 0;\n return p ? v ? [\n { endIndex: 0, size: p, startIndex: 0 },\n { endIndex: 1, size: u, startIndex: 1 }\n ] : [] : [{ endIndex: 0, size: u, startIndex: 0 }];\n })\n ),\n n\n ), F(\n x(\n h,\n P((u) => u !== void 0 && u.length > 0 && X(rt(f).sizeTree)),\n k((u) => {\n const p = [];\n let v = u[0], O = 0;\n for (let B = 1; B < u.length; B++) {\n const W = u[B];\n W !== v && (p.push({\n endIndex: B - 1,\n size: v,\n startIndex: O\n }), v = W, O = B);\n }\n return p.push({\n endIndex: u.length - 1,\n size: v,\n startIndex: O\n }), p;\n })\n ),\n n\n ), F(\n x(\n c,\n $(S, m),\n P(([, u, p]) => u !== void 0 && p !== void 0),\n k(([u, p, v]) => {\n const O = [];\n for (let B = 0; B < u.length; B++) {\n const W = u[B], _ = u[B + 1];\n O.push({\n startIndex: W,\n endIndex: W,\n size: p\n }), _ !== void 0 && O.push({\n startIndex: W + 1,\n endIndex: _ - 1,\n size: v\n });\n }\n return O;\n })\n ),\n n\n );\n const b = bt(\n x(\n n,\n $(f),\n Lt(\n ({ sizes: u }, [p, v]) => ({\n changed: v !== u,\n sizes: v\n }),\n { changed: !1, sizes: g }\n ),\n k((u) => u.changed)\n )\n );\n Y(\n x(\n l,\n Lt(\n (u, p) => ({ diff: u.prev - p, prev: p }),\n { diff: 0, prev: 0 }\n ),\n k((u) => u.diff)\n ),\n (u) => {\n const { groupIndices: p } = rt(f);\n if (u > 0)\n D(e, !0), D(s, u + pn(u, p));\n else if (u < 0) {\n const v = rt(a);\n v.length > 0 && (u -= pn(-u, v)), D(i, u);\n }\n }\n ), Y(x(l, $(t)), ([u, p]) => {\n u < 0 && p(\n \"`firstItemIndex` prop should not be set to less than zero. If you don't know the total count, just use a very high value\",\n { firstItemIndex: l },\n Ct.ERROR\n );\n });\n const y = bt(s);\n F(\n x(\n s,\n $(f),\n k(([u, p]) => {\n const v = p.groupIndices.length > 0, O = [], B = p.lastSize;\n if (v) {\n const W = le(p.sizeTree, 0);\n let _ = 0, j = 0;\n for (; _ < u; ) {\n const M = p.groupIndices[j], et = p.groupIndices.length === j + 1 ? 1 / 0 : p.groupIndices[j + 1] - M - 1;\n O.push({\n endIndex: M,\n size: W,\n startIndex: M\n }), O.push({\n endIndex: M + 1 + et - 1,\n size: B,\n startIndex: M + 1\n }), j++, _ += et + 1;\n }\n const L = Dt(p.sizeTree);\n return _ !== u && L.shift(), L.reduce(\n (M, { k: et, v: wt }) => {\n let ft = M.ranges;\n return M.prevSize !== 0 && (ft = [\n ...M.ranges,\n {\n endIndex: et + u - 1,\n size: M.prevSize,\n startIndex: M.prevIndex\n }\n ]), {\n prevIndex: et + u,\n prevSize: wt,\n ranges: ft\n };\n },\n {\n prevIndex: u,\n prevSize: 0,\n ranges: O\n }\n ).ranges;\n }\n return Dt(p.sizeTree).reduce(\n (W, { k: _, v: j }) => ({\n prevIndex: _ + u,\n prevSize: j,\n ranges: [...W.ranges, { endIndex: _ + u - 1, size: W.prevSize, startIndex: W.prevIndex }]\n }),\n {\n prevIndex: 0,\n prevSize: B,\n ranges: []\n }\n ).ranges;\n })\n ),\n n\n );\n const z = bt(\n x(\n i,\n $(f, R),\n k(([u, { offsetTree: p }, v]) => {\n const O = -u;\n return ue(O, p, v);\n })\n )\n );\n return F(\n x(\n i,\n $(f, R),\n k(([u, p, v]) => {\n if (p.groupIndices.length > 0) {\n if (X(p.sizeTree))\n return p;\n let B = Zt();\n const W = rt(a);\n let _ = 0, j = 0, L = 0;\n for (; _ < -u; ) {\n L = W[j];\n const M = W[j + 1] - L - 1;\n j++, _ += M + 1;\n }\n if (B = Dt(p.sizeTree).reduce((M, { k: et, v: wt }) => yt(M, Math.max(0, et + u), wt), B), _ !== -u) {\n const M = le(p.sizeTree, L);\n B = yt(B, 0, M);\n const et = kt(p.sizeTree, -u + 1)[1];\n B = yt(B, 1, et);\n }\n return {\n ...p,\n sizeTree: B,\n ...Ge(p.offsetTree, 0, B, v)\n };\n } else {\n const B = Dt(p.sizeTree).reduce((W, { k: _, v: j }) => yt(W, Math.max(0, _ + u), j), Zt());\n return {\n ...p,\n sizeTree: B,\n ...Ge(p.offsetTree, 0, B, v)\n };\n }\n })\n ),\n f\n ), {\n beforeUnshiftWith: y,\n // input\n data: w,\n defaultItemSize: m,\n firstItemIndex: l,\n fixedItemSize: d,\n fixedGroupSize: S,\n gap: R,\n groupIndices: c,\n heightEstimates: h,\n itemSize: T,\n listRefresh: b,\n shiftWith: i,\n shiftWithOffset: z,\n sizeRanges: n,\n // output\n sizes: f,\n statefulTotalCount: r,\n totalCount: o,\n trackItemSizes: I,\n unshiftWith: s\n };\n },\n tt(Wt, De),\n { singleton: !0 }\n);\nfunction Po(t) {\n return t.reduce(\n (e, n) => (e.groupIndices.push(e.totalCount), e.totalCount += n + 1, e),\n {\n groupIndices: [],\n totalCount: 0\n }\n );\n}\nconst Dn = K(\n ([{ groupIndices: t, sizes: e, totalCount: n }, { headerHeight: o, scrollTop: r }]) => {\n const s = U(), i = U(), l = bt(x(s, k(Po)));\n return F(\n x(\n l,\n k((c) => c.totalCount)\n ),\n n\n ), F(\n x(\n l,\n k((c) => c.groupIndices)\n ),\n t\n ), F(\n x(\n ut(r, e, o),\n P(([c, d]) => be(d)),\n k(([c, d, m]) => kt(d.groupOffsetTree, Math.max(c - m, 0), \"v\")[0]),\n J(),\n k((c) => [c])\n ),\n i\n ), { groupCounts: s, topItemsIndexes: i };\n },\n tt(Pt, It)\n), _t = K(\n ([{ log: t }]) => {\n const e = C(!1), n = bt(\n x(\n e,\n P((o) => o),\n J()\n )\n );\n return Y(e, (o) => {\n o && rt(t)(\"props updated\", {}, Ct.DEBUG);\n }), { didMount: n, propsReady: e };\n },\n tt(Wt),\n { singleton: !0 }\n), Go = typeof document < \"u\" && \"scrollBehavior\" in document.documentElement.style;\nfunction $n(t) {\n const e = typeof t == \"number\" ? { index: t } : t;\n return e.align || (e.align = \"start\"), (!e.behavior || !Go) && (e.behavior = \"auto\"), e.offset || (e.offset = 0), e;\n}\nconst me = K(\n ([\n { gap: t, listRefresh: e, sizes: n, totalCount: o },\n {\n fixedFooterHeight: r,\n fixedHeaderHeight: s,\n footerHeight: i,\n headerHeight: l,\n scrollingInProgress: c,\n scrollTo: d,\n smoothScrollTargetReached: m,\n viewportHeight: S\n },\n { log: h }\n ]) => {\n const T = U(), w = U(), R = C(0);\n let g = null, f = null, a = null;\n function I() {\n g && (g(), g = null), a && (a(), a = null), f && (clearTimeout(f), f = null), D(c, !1);\n }\n return F(\n x(\n T,\n $(n, S, o, R, l, i, h),\n $(t, s, r),\n k(\n ([\n [b, y, z, u, p, v, O, B],\n W,\n _,\n j\n ]) => {\n const L = $n(b), { align: xt, behavior: M, offset: et } = L, wt = u - 1, ft = Nn(L, y, wt);\n let St = ue(ft, y.offsetTree, W) + v;\n xt === \"end\" ? (St += _ + kt(y.sizeTree, ft)[1] - z + j, ft === wt && (St += O)) : xt === \"center\" ? St += (_ + kt(y.sizeTree, ft)[1] - z + j) / 2 : St -= p, et && (St += et);\n const Mt = (pt) => {\n I(), pt ? (B(\"retrying to scroll to\", { location: b }, Ct.DEBUG), D(T, b)) : (D(w, !0), B(\"list did not change, scroll successful\", {}, Ct.DEBUG));\n };\n if (I(), M === \"smooth\") {\n let pt = !1;\n a = Y(e, (qt) => {\n pt = pt || qt;\n }), g = Et(m, () => {\n Mt(pt);\n });\n } else\n g = Et(x(e, Mo(150)), Mt);\n return f = setTimeout(() => {\n I();\n }, 1200), D(c, !0), B(\"scrolling from index to\", { behavior: M, index: ft, top: St }, Ct.DEBUG), { behavior: M, top: St };\n }\n )\n ),\n d\n ), {\n scrollTargetReached: w,\n scrollToIndex: T,\n topListHeight: R\n };\n },\n tt(Pt, It, Wt),\n { singleton: !0 }\n);\nfunction Mo(t) {\n return (e) => {\n const n = setTimeout(() => {\n e(!1);\n }, t);\n return (o) => {\n o && (e(!0), clearTimeout(n));\n };\n };\n}\nfunction Ue(t, e) {\n t == 0 ? e() : requestAnimationFrame(() => {\n Ue(t - 1, e);\n });\n}\nfunction Ke(t, e) {\n const n = e - 1;\n return typeof t == \"number\" ? t : t.index === \"LAST\" ? n : t.index;\n}\nconst pe = K(\n ([{ defaultItemSize: t, listRefresh: e, sizes: n }, { scrollTop: o }, { scrollTargetReached: r, scrollToIndex: s }, { didMount: i }]) => {\n const l = C(!0), c = C(0), d = C(!0);\n return F(\n x(\n i,\n $(c),\n P(([m, S]) => !!S),\n Ft(!1)\n ),\n l\n ), F(\n x(\n i,\n $(c),\n P(([m, S]) => !!S),\n Ft(!1)\n ),\n d\n ), Y(\n x(\n ut(e, i),\n $(l, n, t, d),\n P(([[, m], S, { sizeTree: h }, T, w]) => m && (!X(h) || Ae(T)) && !S && !w),\n $(c)\n ),\n ([, m]) => {\n Et(r, () => {\n D(d, !0);\n }), Ue(4, () => {\n Et(o, () => {\n D(l, !0);\n }), D(s, m);\n });\n }\n ), {\n initialItemFinalLocationReached: d,\n initialTopMostItemIndex: c,\n scrolledToInitialItem: l\n };\n },\n tt(Pt, It, me, _t),\n { singleton: !0 }\n);\nfunction Un(t, e) {\n return Math.abs(t - e) < 1.01;\n}\nconst ae = \"up\", oe = \"down\", Ao = \"none\", Wo = {\n atBottom: !1,\n notAtBottomBecause: \"NOT_SHOWING_LAST_ITEM\",\n state: {\n offsetBottom: 0,\n scrollHeight: 0,\n scrollTop: 0,\n viewportHeight: 0\n }\n}, _o = 0, he = K(([{ footerHeight: t, headerHeight: e, scrollBy: n, scrollContainerState: o, scrollTop: r, viewportHeight: s }]) => {\n const i = C(!1), l = C(!0), c = U(), d = U(), m = C(4), S = C(_o), h = ht(\n x(\n Fe(x(V(r), Kt(1), Ft(!0)), x(V(r), Kt(1), Ft(!1), dn(100))),\n J()\n ),\n !1\n ), T = ht(\n x(Fe(x(n, Ft(!0)), x(n, Ft(!1), dn(200))), J()),\n !1\n );\n F(\n x(\n ut(V(r), V(S)),\n k(([a, I]) => a <= I),\n J()\n ),\n l\n ), F(x(l, Gt(50)), d);\n const w = bt(\n x(\n ut(o, V(s), V(e), V(t), V(m)),\n Lt((a, [{ scrollHeight: I, scrollTop: b }, y, z, u, p]) => {\n const v = b + y - I > -p, O = {\n scrollHeight: I,\n scrollTop: b,\n viewportHeight: y\n };\n if (v) {\n let W, _;\n return b > a.state.scrollTop ? (W = \"SCROLLED_DOWN\", _ = a.state.scrollTop - b) : (W = \"SIZE_DECREASED\", _ = a.state.scrollTop - b || a.scrollTopDelta), {\n atBottom: !0,\n atBottomBecause: W,\n scrollTopDelta: _,\n state: O\n };\n }\n let B;\n return O.scrollHeight > a.state.scrollHeight ? B = \"SIZE_INCREASED\" : y < a.state.viewportHeight ? B = \"VIEWPORT_HEIGHT_DECREASING\" : b < a.state.scrollTop ? B = \"SCROLLING_UPWARDS\" : B = \"NOT_FULLY_SCROLLED_TO_LAST_ITEM_BOTTOM\", {\n atBottom: !1,\n notAtBottomBecause: B,\n state: O\n };\n }, Wo),\n J((a, I) => a && a.atBottom === I.atBottom)\n )\n ), R = ht(\n x(\n o,\n Lt(\n (a, { scrollHeight: I, scrollTop: b, viewportHeight: y }) => {\n if (Un(a.scrollHeight, I))\n return {\n changed: !1,\n jump: 0,\n scrollHeight: I,\n scrollTop: b\n };\n {\n const z = I - (b + y) < 1;\n return a.scrollTop !== b && z ? {\n changed: !0,\n jump: a.scrollTop - b,\n scrollHeight: I,\n scrollTop: b\n } : {\n changed: !0,\n jump: 0,\n scrollHeight: I,\n scrollTop: b\n };\n }\n },\n { changed: !1, jump: 0, scrollHeight: 0, scrollTop: 0 }\n ),\n P((a) => a.changed),\n k((a) => a.jump)\n ),\n 0\n );\n F(\n x(\n w,\n k((a) => a.atBottom)\n ),\n i\n ), F(x(i, Gt(50)), c);\n const g = C(oe);\n F(\n x(\n o,\n k(({ scrollTop: a }) => a),\n J(),\n Lt(\n (a, I) => rt(T) ? { direction: a.direction, prevScrollTop: I } : { direction: I < a.prevScrollTop ? ae : oe, prevScrollTop: I },\n { direction: oe, prevScrollTop: 0 }\n ),\n k((a) => a.direction)\n ),\n g\n ), F(x(o, Gt(50), Ft(Ao)), g);\n const f = C(0);\n return F(\n x(\n h,\n P((a) => !a),\n Ft(0)\n ),\n f\n ), F(\n x(\n r,\n Gt(100),\n $(h),\n P(([a, I]) => !!I),\n Lt(([a, I], [b]) => [I, b], [0, 0]),\n k(([a, I]) => I - a)\n ),\n f\n ), {\n atBottomState: w,\n atBottomStateChange: c,\n atBottomThreshold: m,\n atTopStateChange: d,\n atTopThreshold: S,\n isAtBottom: i,\n isAtTop: l,\n isScrolling: h,\n lastJumpDueToItemResize: R,\n scrollDirection: g,\n scrollVelocity: f\n };\n}, tt(It)), de = \"top\", fe = \"bottom\", hn = \"none\";\nfunction gn(t, e, n) {\n return typeof t == \"number\" ? n === ae && e === de || n === oe && e === fe ? t : 0 : n === ae ? e === de ? t.main : t.reverse : e === fe ? t.main : t.reverse;\n}\nfunction In(t, e) {\n var n;\n return typeof t == \"number\" ? t : (n = t[e]) != null ? n : 0;\n}\nconst je = K(\n ([{ deviation: t, fixedHeaderHeight: e, headerHeight: n, scrollTop: o, viewportHeight: r }]) => {\n const s = U(), i = C(0), l = C(0), c = C(0), d = ht(\n x(\n ut(\n V(o),\n V(r),\n V(n),\n V(s, ce),\n V(c),\n V(i),\n V(e),\n V(t),\n V(l)\n ),\n k(\n ([\n m,\n S,\n h,\n [T, w],\n R,\n g,\n f,\n a,\n I\n ]) => {\n const b = m - a, y = g + f, z = Math.max(h - b, 0);\n let u = hn;\n const p = In(I, de), v = In(I, fe);\n return T -= a, T += h + f, w += h + f, w -= a, T > m + y - p && (u = ae), w < m - z + S + v && (u = oe), u !== hn ? [\n Math.max(b - h - gn(R, de, u) - p, 0),\n b - z - f + S + gn(R, fe, u) + v\n ] : null;\n }\n ),\n P((m) => m != null),\n J(ce)\n ),\n [0, 0]\n );\n return {\n increaseViewportBy: l,\n // input\n listBoundary: s,\n overscan: c,\n topListHeight: i,\n // output\n visibleRange: d\n };\n },\n tt(It),\n { singleton: !0 }\n);\nfunction No(t, e, n) {\n if (be(e)) {\n const o = _n(t, e);\n return [\n { index: kt(e.groupOffsetTree, o)[0], offset: 0, size: 0 },\n { data: n == null ? void 0 : n[0], index: o, offset: 0, size: 0 }\n ];\n }\n return [{ data: n == null ? void 0 : n[0], index: t, offset: 0, size: 0 }];\n}\nconst Be = {\n bottom: 0,\n firstItemIndex: 0,\n items: [],\n offsetBottom: 0,\n offsetTop: 0,\n top: 0,\n topItems: [],\n topListHeight: 0,\n totalCount: 0\n};\nfunction Te(t, e, n, o, r, s) {\n const { lastIndex: i, lastOffset: l, lastSize: c } = r;\n let d = 0, m = 0;\n if (t.length > 0) {\n d = t[0].offset;\n const R = t[t.length - 1];\n m = R.offset + R.size;\n }\n const S = n - i, h = l + S * c + (S - 1) * o, T = d, w = h - m;\n return {\n bottom: m,\n firstItemIndex: s,\n items: xn(t, r, s),\n offsetBottom: w,\n offsetTop: d,\n top: T,\n topItems: xn(e, r, s),\n topListHeight: e.reduce((R, g) => g.size + R, 0),\n totalCount: n\n };\n}\nfunction Kn(t, e, n, o, r, s) {\n let i = 0;\n if (n.groupIndices.length > 0)\n for (const m of n.groupIndices) {\n if (m - i >= t)\n break;\n i++;\n }\n const l = t + i, c = Ke(e, l), d = Array.from({ length: l }).map((m, S) => ({\n data: s[S + c],\n index: S + c,\n offset: 0,\n size: 0\n }));\n return Te(d, [], l, r, n, o);\n}\nfunction xn(t, e, n) {\n if (t.length === 0)\n return [];\n if (!be(e))\n return t.map((d) => ({ ...d, index: d.index + n, originalIndex: d.index }));\n const o = t[0].index, r = t[t.length - 1].index, s = [], i = Xt(e.groupOffsetTree, o, r);\n let l, c = 0;\n for (const d of t) {\n (!l || l.end < d.index) && (l = i.shift(), c = e.groupIndices.indexOf(l.start));\n let m;\n d.index === l.start ? m = {\n index: c,\n type: \"group\"\n } : m = {\n groupIndex: c,\n index: d.index - (c + 1) + n\n }, s.push({\n ...m,\n data: d.data,\n offset: d.offset,\n originalIndex: d.index,\n size: d.size\n });\n }\n return s;\n}\nfunction Sn(t, e) {\n var n;\n return t === void 0 ? 0 : typeof t == \"number\" ? t : (n = t[e]) != null ? n : 0;\n}\nconst jt = K(\n ([\n { data: t, firstItemIndex: e, gap: n, sizes: o, totalCount: r },\n s,\n { listBoundary: i, topListHeight: l, visibleRange: c },\n { initialTopMostItemIndex: d, scrolledToInitialItem: m },\n { topListHeight: S },\n h,\n { didMount: T },\n { recalcInProgress: w }\n ]) => {\n const R = C([]), g = C(0), f = U(), a = C(0);\n F(s.topItemsIndexes, R);\n const I = ht(\n x(\n ut(\n T,\n w,\n V(c, ce),\n V(r),\n V(o),\n V(d),\n m,\n V(R),\n V(e),\n V(n),\n V(a),\n t\n ),\n P(([u, p, , v, , , , , , , , O]) => {\n const B = O && O.length !== v;\n return u && !p && !B;\n }),\n k(\n ([\n ,\n ,\n [u, p],\n v,\n O,\n B,\n W,\n _,\n j,\n L,\n xt,\n M\n ]) => {\n var q, at, gt, Tt;\n const et = O, { offsetTree: wt, sizeTree: ft } = et, St = rt(g);\n if (v === 0)\n return { ...Be, totalCount: v };\n if (u === 0 && p === 0)\n return St === 0 ? { ...Be, totalCount: v } : Kn(St, B, O, j, L, M || []);\n if (X(ft))\n return St > 0 ? null : Te(\n No(Ke(B, v), et, M),\n [],\n v,\n L,\n et,\n j\n );\n const Mt = [];\n if (_.length > 0) {\n const st = _[0], it = _[_.length - 1];\n let mt = 0;\n for (const lt of Xt(ft, st, it)) {\n const Z = lt.value, nt = Math.max(lt.start, st), vt = Math.min(lt.end, it);\n for (let ct = nt; ct <= vt; ct++)\n Mt.push({ data: M == null ? void 0 : M[ct], index: ct, offset: mt, size: Z }), mt += Z;\n }\n }\n if (!W)\n return Te([], Mt, v, L, et, j);\n const pt = _.length > 0 ? _[_.length - 1] + 1 : 0, qt = ko(wt, u, p, pt);\n if (qt.length === 0)\n return null;\n const ee = v - 1, Ot = ye([], (st) => {\n for (const it of qt) {\n const mt = it.value;\n let lt = mt.offset, Z = it.start;\n const nt = mt.size;\n if (mt.offset < u) {\n Z += Math.floor((u - mt.offset + L) / (nt + L));\n const ct = Z - it.start;\n lt += ct * nt + ct * L;\n }\n Z < pt && (lt += (pt - Z) * nt, Z = pt);\n const vt = Math.min(it.end, ee);\n for (let ct = Z; ct <= vt && !(lt >= p); ct++)\n st.push({ data: M == null ? void 0 : M[ct], index: ct, offset: lt, size: nt }), lt += nt + L;\n }\n }), ne = Sn(xt, de), H = Sn(xt, fe);\n if (Ot.length > 0 && (ne > 0 || H > 0)) {\n const st = Ot[0], it = Ot[Ot.length - 1];\n if (ne > 0 && st.index > pt) {\n const mt = Math.min(ne, st.index - pt), lt = [];\n let Z = st.offset;\n for (let nt = st.index - 1; nt >= st.index - mt; nt--) {\n const ct = (at = (q = Xt(ft, nt, nt)[0]) == null ? void 0 : q.value) != null ? at : st.size;\n Z -= ct + L, lt.unshift({ data: M == null ? void 0 : M[nt], index: nt, offset: Z, size: ct });\n }\n Ot.unshift(...lt);\n }\n if (H > 0 && it.index < ee) {\n const mt = Math.min(H, ee - it.index);\n let lt = it.offset + it.size + L;\n for (let Z = it.index + 1; Z <= it.index + mt; Z++) {\n const vt = (Tt = (gt = Xt(ft, Z, Z)[0]) == null ? void 0 : gt.value) != null ? Tt : it.size;\n Ot.push({ data: M == null ? void 0 : M[Z], index: Z, offset: lt, size: vt }), lt += vt + L;\n }\n }\n }\n return Te(Ot, Mt, v, L, et, j);\n }\n ),\n //@ts-expect-error filter needs to be fixed\n P((u) => u !== null),\n J()\n ),\n Be\n );\n F(\n x(\n t,\n P(Ae),\n k((u) => u == null ? void 0 : u.length)\n ),\n r\n ), F(\n x(\n I,\n k((u) => u.topListHeight)\n ),\n S\n ), F(S, l), F(\n x(\n I,\n k((u) => [u.top, u.bottom])\n ),\n i\n ), F(\n x(\n I,\n k((u) => u.items)\n ),\n f\n );\n const b = bt(\n x(\n I,\n P(({ items: u }) => u.length > 0),\n $(r, t),\n P(([{ items: u }, p]) => u[u.length - 1].originalIndex === p - 1),\n k(([, u, p]) => [u - 1, p]),\n J(ce),\n k(([u]) => u)\n )\n ), y = bt(\n x(\n I,\n Gt(200),\n P(({ items: u, topItems: p }) => u.length > 0 && u[0].originalIndex === p.length),\n k(({ items: u }) => u[0].index),\n J()\n )\n ), z = bt(\n x(\n I,\n P(({ items: u }) => u.length > 0),\n k(({ items: u }) => {\n let p = 0, v = u.length - 1;\n for (; u[p].type === \"group\" && p < v; )\n p++;\n for (; u[v].type === \"group\" && v > p; )\n v--;\n return {\n endIndex: u[v].index,\n startIndex: u[p].index\n };\n }),\n J(An)\n )\n );\n return {\n endReached: b,\n initialItemCount: g,\n itemsRendered: f,\n listState: I,\n minOverscanItemCount: a,\n rangeChanged: z,\n startReached: y,\n topItemsIndexes: R,\n ...h\n };\n },\n tt(\n Pt,\n Dn,\n je,\n pe,\n me,\n he,\n _t,\n De\n ),\n { singleton: !0 }\n), jn = K(\n ([{ fixedFooterHeight: t, fixedHeaderHeight: e, footerHeight: n, headerHeight: o }, { listState: r }]) => {\n const s = U(), i = ht(\n x(\n ut(n, t, o, e, r),\n k(([l, c, d, m, S]) => l + c + d + m + S.offsetBottom + S.bottom)\n ),\n 0\n );\n return F(V(i), s), { totalListHeight: i, totalListHeightChanged: s };\n },\n tt(It, jt),\n { singleton: !0 }\n), Do = K(\n ([{ viewportHeight: t }, { totalListHeight: e }]) => {\n const n = C(!1), o = ht(\n x(\n ut(n, t, e),\n P(([r]) => r),\n k(([, r, s]) => Math.max(0, r - s)),\n Gt(0),\n J()\n ),\n 0\n );\n return { alignToBottom: n, paddingTopAddition: o };\n },\n tt(It, jn),\n { singleton: !0 }\n), qn = K(() => ({\n context: C(null)\n})), $o = ({\n itemBottom: t,\n itemTop: e,\n locationParams: { align: n, behavior: o, ...r },\n viewportBottom: s,\n viewportTop: i\n}) => e < i ? { ...r, align: n != null ? n : \"start\", behavior: o } : t > s ? { ...r, align: n != null ? n : \"end\", behavior: o } : null, Yn = K(\n ([\n { gap: t, sizes: e, totalCount: n },\n { fixedFooterHeight: o, fixedHeaderHeight: r, headerHeight: s, scrollingInProgress: i, scrollTop: l, viewportHeight: c },\n { scrollToIndex: d }\n ]) => {\n const m = U();\n return F(\n x(\n m,\n $(e, c, n, s, r, o, l),\n $(t),\n k(([[S, h, T, w, R, g, f, a], I]) => {\n const { align: b, behavior: y, calculateViewLocation: z = $o, done: u, ...p } = S, v = Nn(S, h, w - 1), O = ue(v, h.offsetTree, I) + R + g, B = O + kt(h.sizeTree, v)[1], W = a + g, _ = a + T - f, j = z({\n itemBottom: B,\n itemTop: O,\n locationParams: { align: b, behavior: y, ...p },\n viewportBottom: _,\n viewportTop: W\n });\n return j ? u && Et(\n x(\n i,\n P((L) => !L),\n // skips the initial publish of false, and the cleanup call.\n // but if scrollingInProgress is true, we skip the initial publish.\n Kt(rt(i) ? 1 : 2)\n ),\n u\n ) : u && u(), j;\n }),\n P((S) => S !== null)\n ),\n d\n ), {\n scrollIntoView: m\n };\n },\n tt(Pt, It, me, jt, Wt),\n { singleton: !0 }\n);\nfunction Tn(t) {\n return t ? t === \"smooth\" ? \"smooth\" : \"auto\" : !1;\n}\nconst Uo = (t, e) => typeof t == \"function\" ? Tn(t(e)) : e && Tn(t), Ko = K(\n ([\n { listRefresh: t, totalCount: e, fixedItemSize: n, data: o },\n { atBottomState: r, isAtBottom: s },\n { scrollToIndex: i },\n { scrolledToInitialItem: l },\n { didMount: c, propsReady: d },\n { log: m },\n { scrollingInProgress: S },\n { context: h },\n { scrollIntoView: T }\n ]) => {\n const w = C(!1), R = U();\n let g = null;\n function f(y) {\n D(i, {\n align: \"end\",\n behavior: y,\n index: \"LAST\"\n });\n }\n Y(\n x(\n ut(x(V(e), Kt(1)), c),\n $(V(w), s, l, S),\n k(([[y, z], u, p, v, O]) => {\n let B = z && v, W = \"auto\";\n return B && (W = Uo(u, p || O), B = B && !!W), { followOutputBehavior: W, shouldFollow: B, totalCount: y };\n }),\n P(({ shouldFollow: y }) => y)\n ),\n ({ followOutputBehavior: y, totalCount: z }) => {\n g && (g(), g = null), rt(n) ? requestAnimationFrame(() => {\n rt(m)(\"following output to \", { totalCount: z }, Ct.DEBUG), f(y);\n }) : g = Et(t, () => {\n rt(m)(\"following output to \", { totalCount: z }, Ct.DEBUG), f(y), g = null;\n });\n }\n );\n function a(y) {\n const z = Et(r, (u) => {\n y && !u.atBottom && u.notAtBottomBecause === \"SIZE_INCREASED\" && !g && (rt(m)(\"scrolling to bottom due to increased size\", {}, Ct.DEBUG), f(\"auto\"));\n });\n setTimeout(z, 100);\n }\n Y(\n x(\n ut(V(w), e, d),\n P(([y, , z]) => y && z),\n Lt(\n ({ value: y }, [, z]) => ({ refreshed: y === z, value: z }),\n { refreshed: !1, value: 0 }\n ),\n P(({ refreshed: y }) => y),\n $(w, e)\n ),\n ([, y]) => {\n rt(l) && a(y !== !1);\n }\n ), Y(R, () => {\n a(rt(w) !== !1);\n }), Y(ut(V(w), r), ([y, z]) => {\n y && !z.atBottom && z.notAtBottomBecause === \"VIEWPORT_HEIGHT_DECREASING\" && f(\"auto\");\n });\n const I = C(null), b = U();\n return F(\n Fe(\n x(\n V(o),\n k((y) => {\n var z;\n return (z = y == null ? void 0 : y.length) != null ? z : 0;\n })\n ),\n x(V(e))\n ),\n b\n ), Y(\n x(\n ut(x(b, Kt(1)), c),\n $(V(I), l, S, h),\n k(([[y, z], u, p, v, O]) => z && p && (u == null ? void 0 : u({ context: O, totalCount: y, scrollingInProgress: v }))),\n P((y) => !!y),\n Gt(0)\n ),\n (y) => {\n g && (g(), g = null), rt(n) ? requestAnimationFrame(() => {\n rt(m)(\"scrolling into view\", {}), D(T, y);\n }) : g = Et(t, () => {\n rt(m)(\"scrolling into view\", {}), D(T, y), g = null;\n });\n }\n ), { autoscrollToBottom: R, followOutput: w, scrollIntoViewOnChange: I };\n },\n tt(\n Pt,\n he,\n me,\n pe,\n _t,\n Wt,\n It,\n qn,\n Yn\n )\n), jo = K(\n ([{ data: t, firstItemIndex: e, gap: n, sizes: o }, { initialTopMostItemIndex: r }, { initialItemCount: s, listState: i }, { didMount: l }]) => (F(\n x(\n l,\n $(s),\n P(([, c]) => c !== 0),\n $(r, o, e, n, t),\n k(([[, c], d, m, S, h, T = []]) => Kn(c, d, m, S, h, T))\n ),\n i\n ), {}),\n tt(Pt, pe, jt, _t),\n { singleton: !0 }\n), qo = K(\n ([{ didMount: t }, { scrollTo: e }, { listState: n }]) => {\n const o = C(0);\n return Y(\n x(\n t,\n $(o),\n P(([, r]) => r !== 0),\n k(([, r]) => ({ top: r }))\n ),\n (r) => {\n Et(\n x(\n n,\n Kt(1),\n P((s) => s.items.length > 1)\n ),\n () => {\n requestAnimationFrame(() => {\n D(e, r);\n });\n }\n );\n }\n ), {\n initialScrollTop: o\n };\n },\n tt(_t, It, jt),\n { singleton: !0 }\n), Zn = K(\n ([{ scrollVelocity: t }]) => {\n const e = C(!1), n = U(), o = C(!1);\n return F(\n x(\n t,\n $(o, e, n),\n P(([r, s]) => !!s),\n k(([r, s, i, l]) => {\n const { enter: c, exit: d } = s;\n if (i) {\n if (d(r, l))\n return !1;\n } else if (c(r, l))\n return !0;\n return i;\n }),\n J()\n ),\n e\n ), Y(\n x(ut(e, t, n), $(o)),\n ([[r, s, i], l]) => {\n r && l && l.change && l.change(s, i);\n }\n ), { isSeeking: e, scrollSeekConfiguration: o, scrollSeekRangeChanged: n, scrollVelocity: t };\n },\n tt(he),\n { singleton: !0 }\n), qe = K(([{ scrollContainerState: t, scrollTo: e }]) => {\n const n = U(), o = U(), r = U(), s = C(!1), i = C(void 0);\n return F(\n x(\n ut(n, o),\n k(([{ scrollHeight: l, scrollTop: c, viewportHeight: d }, { offsetTop: m }]) => ({\n scrollHeight: l,\n scrollTop: Math.max(0, c - m),\n viewportHeight: d\n }))\n ),\n t\n ), F(\n x(\n e,\n $(o),\n k(([l, { offsetTop: c }]) => ({\n ...l,\n top: l.top + c\n }))\n ),\n r\n ), {\n customScrollParent: i,\n // config\n useWindowScroll: s,\n // input\n windowScrollContainerState: n,\n // signals\n windowScrollTo: r,\n windowViewportRect: o\n };\n}, tt(It)), Yo = K(\n ([\n { sizeRanges: t, sizes: e },\n { headerHeight: n, scrollTop: o },\n { initialTopMostItemIndex: r },\n { didMount: s },\n { useWindowScroll: i, windowScrollContainerState: l, windowViewportRect: c }\n ]) => {\n const d = U(), m = C(void 0), S = C(null), h = C(null);\n return F(l, S), F(c, h), Y(\n x(\n d,\n $(e, o, i, S, h, n)\n ),\n ([T, w, R, g, f, a, I]) => {\n const b = Oo(w.sizeTree);\n g && f !== null && a !== null && (R = f.scrollTop - a.offsetTop), R -= I, T({ ranges: b, scrollTop: R });\n }\n ), F(x(m, P(Ae), k(Zo)), r), F(\n x(\n s,\n $(m),\n P(([, T]) => T !== void 0),\n J(),\n k(([, T]) => T.ranges)\n ),\n t\n ), {\n getState: d,\n restoreStateFrom: m\n };\n },\n tt(Pt, It, pe, _t, qe)\n);\nfunction Zo(t) {\n return { align: \"start\", index: 0, offset: t.scrollTop };\n}\nconst Xo = K(([{ topItemsIndexes: t }]) => {\n const e = C(0);\n return F(\n x(\n e,\n P((n) => n >= 0),\n k((n) => Array.from({ length: n }).map((o, r) => r))\n ),\n t\n ), { topItemCount: e };\n}, tt(jt));\nfunction Xn(t) {\n let e = !1, n;\n return () => (e || (e = !0, n = t()), n);\n}\nconst Jo = Xn(() => /iP(ad|od|hone)/i.test(navigator.userAgent) && /WebKit/i.test(navigator.userAgent)), Qo = K(\n ([\n { deviation: t, scrollBy: e, scrollingInProgress: n, scrollTop: o },\n { isAtBottom: r, isScrolling: s, lastJumpDueToItemResize: i, scrollDirection: l },\n { listState: c },\n { beforeUnshiftWith: d, gap: m, shiftWithOffset: S, sizes: h },\n { log: T },\n { recalcInProgress: w }\n ]) => {\n const R = bt(\n x(\n c,\n $(i),\n Lt(\n ([, f, a, I], [{ bottom: b, items: y, offsetBottom: z, totalCount: u }, p]) => {\n const v = b + z;\n let O = 0;\n return a === u && f.length > 0 && y.length > 0 && (y[0].originalIndex === 0 && f[0].originalIndex === 0 || (O = v - I, O !== 0 && (O += p))), [O, y, u, v];\n },\n [0, [], 0, 0]\n ),\n P(([f]) => f !== 0),\n $(o, l, n, r, T, w),\n P(([, f, a, I, , , b]) => !b && !I && f !== 0 && a === ae),\n k(([[f], , , , , a]) => (a(\"Upward scrolling compensation\", { amount: f }, Ct.DEBUG), f))\n )\n );\n function g(f) {\n f > 0 ? (D(e, { behavior: \"auto\", top: -f }), D(t, 0)) : (D(t, 0), D(e, { behavior: \"auto\", top: -f }));\n }\n return Y(x(R, $(t, s)), ([f, a, I]) => {\n I && Jo() ? D(t, a - f) : g(-f);\n }), Y(\n x(\n ut(ht(s, !1), t, w),\n P(([f, a, I]) => !f && !I && a !== 0),\n k(([f, a]) => a),\n Gt(1)\n ),\n g\n ), F(\n x(\n S,\n k((f) => ({ top: -f }))\n ),\n e\n ), Y(\n x(\n d,\n $(h, m),\n k(([f, { groupIndices: a, lastSize: I, sizeTree: b }, y]) => {\n function z(u) {\n return u * (I + y);\n }\n if (a.length === 0)\n return z(f);\n {\n let u = 0;\n const p = le(b, 0);\n let v = 0, O = 0;\n for (; v < f; ) {\n v++, u += p;\n let B = a.length === O + 1 ? 1 / 0 : a[O + 1] - a[O] - 1;\n v + B > f && (u -= p, B = f - v + 1), v += B, u += z(B), O++;\n }\n return u;\n }\n })\n ),\n (f) => {\n D(t, f), requestAnimationFrame(() => {\n D(e, { top: f }), requestAnimationFrame(() => {\n D(t, 0), D(w, !1);\n });\n });\n }\n ), { deviation: t };\n },\n tt(It, he, jt, Pt, Wt, De)\n), tr = K(\n ([\n t,\n e,\n n,\n o,\n r,\n s,\n i,\n l,\n c,\n d,\n m\n ]) => ({\n ...t,\n ...e,\n ...n,\n ...o,\n ...r,\n ...s,\n ...i,\n ...l,\n ...c,\n ...d,\n ...m\n }),\n tt(\n je,\n jo,\n _t,\n Zn,\n jn,\n qo,\n Do,\n qe,\n Yn,\n Wt,\n qn\n )\n), Jn = K(\n ([\n {\n data: t,\n defaultItemSize: e,\n firstItemIndex: n,\n fixedItemSize: o,\n fixedGroupSize: r,\n gap: s,\n groupIndices: i,\n heightEstimates: l,\n itemSize: c,\n sizeRanges: d,\n sizes: m,\n statefulTotalCount: S,\n totalCount: h,\n trackItemSizes: T\n },\n { initialItemFinalLocationReached: w, initialTopMostItemIndex: R, scrolledToInitialItem: g },\n f,\n a,\n I,\n b,\n { scrollToIndex: y },\n z,\n { topItemCount: u },\n { groupCounts: p },\n v\n ]) => {\n const { listState: O, minOverscanItemCount: B, topItemsIndexes: W, rangeChanged: _, ...j } = b;\n return F(_, v.scrollSeekRangeChanged), F(\n x(\n v.windowViewportRect,\n k((L) => L.visibleHeight)\n ),\n f.viewportHeight\n ), {\n data: t,\n defaultItemHeight: e,\n firstItemIndex: n,\n fixedItemHeight: o,\n fixedGroupHeight: r,\n gap: s,\n groupCounts: p,\n heightEstimates: l,\n initialItemFinalLocationReached: w,\n initialTopMostItemIndex: R,\n scrolledToInitialItem: g,\n sizeRanges: d,\n topItemCount: u,\n topItemsIndexes: W,\n // input\n totalCount: h,\n ...I,\n groupIndices: i,\n itemSize: c,\n listState: O,\n minOverscanItemCount: B,\n scrollToIndex: y,\n // output\n statefulTotalCount: S,\n trackItemSizes: T,\n // exported from stateFlagsSystem\n rangeChanged: _,\n ...j,\n // the bag of IO from featureGroup1System\n ...v,\n ...f,\n sizes: m,\n ...a\n };\n },\n tt(\n Pt,\n pe,\n It,\n Yo,\n Ko,\n jt,\n me,\n Qo,\n Xo,\n Dn,\n tr\n )\n);\nfunction er(t, e) {\n const n = {}, o = {};\n let r = 0;\n const s = t.length;\n for (; r < s; )\n o[t[r]] = 1, r += 1;\n for (const i in e)\n Object.hasOwn(o, i) || (n[i] = e[i]);\n return n;\n}\nconst Ie = typeof document < \"u\" ? E.useLayoutEffect : E.useEffect;\nfunction Ye(t, e, n) {\n const o = Object.keys(e.required || {}), r = Object.keys(e.optional || {}), s = Object.keys(e.methods || {}), i = Object.keys(e.events || {}), l = E.createContext({});\n function c(f, a) {\n f.propsReady && D(f.propsReady, !1);\n for (const I of o) {\n const b = f[e.required[I]];\n D(b, a[I]);\n }\n for (const I of r)\n if (I in a) {\n const b = f[e.optional[I]];\n D(b, a[I]);\n }\n f.propsReady && D(f.propsReady, !0);\n }\n function d(f) {\n return s.reduce((a, I) => (a[I] = (b) => {\n const y = f[e.methods[I]];\n D(y, b);\n }, a), {});\n }\n function m(f) {\n return i.reduce((a, I) => (a[I] = xo(f[e.events[I]]), a), {});\n }\n const S = E.forwardRef((f, a) => {\n const { children: I, ...b } = f, [y] = E.useState(() => ye(To(t), (p) => {\n c(p, b);\n })), [z] = E.useState(an(m, y));\n Ie(() => {\n for (const p of i)\n p in b && Y(z[p], b[p]);\n return () => {\n Object.values(z).map(We);\n };\n }, [b, z, y]), Ie(() => {\n c(y, b);\n }), E.useImperativeHandle(a, un(d(y)));\n const u = n;\n return /* @__PURE__ */ G(l.Provider, { value: y, children: n ? /* @__PURE__ */ G(u, { ...er([...o, ...r, ...i], b), children: I }) : I });\n }), h = (f) => {\n const a = E.useContext(l);\n return E.useCallback(\n (I) => {\n D(a[f], I);\n },\n [a, f]\n );\n }, T = (f) => {\n const I = E.useContext(l)[f], b = E.useCallback(\n (y) => Y(I, y),\n [I]\n );\n return E.useSyncExternalStore(\n b,\n () => rt(I),\n () => rt(I)\n );\n }, w = (f) => {\n const I = E.useContext(l)[f], [b, y] = E.useState(an(rt, I));\n return Ie(\n () => Y(I, (z) => {\n z !== b && y(un(z));\n }),\n [I, b]\n ), b;\n }, R = E.version.startsWith(\"18\") ? T : w;\n return {\n Component: S,\n useEmitter: (f, a) => {\n const b = E.useContext(l)[f];\n Ie(() => Y(b, a), [a, b]);\n },\n useEmitterValue: R,\n usePublisher: h\n };\n}\nconst Re = E.createContext(void 0), Qn = E.createContext(void 0), to = typeof document < \"u\" ? E.useLayoutEffect : E.useEffect;\nfunction ke(t) {\n return \"self\" in t;\n}\nfunction nr(t) {\n return \"body\" in t;\n}\nfunction eo(t, e, n, o = Qt, r, s) {\n const i = E.useRef(null), l = E.useRef(null), c = E.useRef(null), d = E.useCallback(\n (h) => {\n let T, w, R;\n const g = h.target;\n if (nr(g) || ke(g)) {\n const a = ke(g) ? g : g.defaultView;\n R = s ? a.scrollX : a.scrollY, T = s ? a.document.documentElement.scrollWidth : a.document.documentElement.scrollHeight, w = s ? a.innerWidth : a.innerHeight;\n } else\n R = s ? g.scrollLeft : g.scrollTop, T = s ? g.scrollWidth : g.scrollHeight, w = s ? g.offsetWidth : g.offsetHeight;\n const f = () => {\n t({\n scrollHeight: T,\n scrollTop: Math.max(R, 0),\n viewportHeight: w\n });\n };\n h.suppressFlushSync ? f() : fo.flushSync(f), l.current !== null && (R === l.current || R <= 0 || R === T - w) && (l.current = null, e(!0), c.current && (clearTimeout(c.current), c.current = null));\n },\n [t, e, s]\n );\n E.useEffect(() => {\n const h = r || i.current;\n return o(r || i.current), d({ suppressFlushSync: !0, target: h }), h.addEventListener(\"scroll\", d, { passive: !0 }), () => {\n o(null), h.removeEventListener(\"scroll\", d);\n };\n }, [i, d, n, o, r]);\n function m(h) {\n const T = i.current;\n if (!T || (s ? \"offsetWidth\" in T && T.offsetWidth === 0 : \"offsetHeight\" in T && T.offsetHeight === 0))\n return;\n const w = h.behavior === \"smooth\";\n let R, g, f;\n ke(T) ? (g = Math.max(\n zt(T.document.documentElement, s ? \"width\" : \"height\"),\n s ? T.document.documentElement.scrollWidth : T.document.documentElement.scrollHeight\n ), R = s ? T.innerWidth : T.innerHeight, f = s ? window.scrollX : window.scrollY) : (g = T[s ? \"scrollWidth\" : \"scrollHeight\"], R = zt(T, s ? \"width\" : \"height\"), f = T[s ? \"scrollLeft\" : \"scrollTop\"]);\n const a = g - R;\n if (h.top = Math.ceil(Math.max(Math.min(a, h.top), 0)), Un(R, g) || h.top === f) {\n t({ scrollHeight: g, scrollTop: f, viewportHeight: R }), w && e(!0);\n return;\n }\n w ? (l.current = h.top, c.current && clearTimeout(c.current), c.current = setTimeout(() => {\n c.current = null, l.current = null, e(!0);\n }, 1e3)) : l.current = null, s && (h = { behavior: h.behavior, left: h.top }), T.scrollTo(h);\n }\n function S(h) {\n s && (h = { behavior: h.behavior, left: h.top }), i.current.scrollBy(h);\n }\n return { scrollByCallback: S, scrollerRef: i, scrollToCallback: m };\n}\nconst ze = \"-webkit-sticky\", Cn = \"sticky\", Ze = Xn(() => {\n if (typeof document > \"u\")\n return Cn;\n const t = document.createElement(\"div\");\n return t.style.position = ze, t.style.position === ze ? ze : Cn;\n});\nfunction Xe(t) {\n return t;\n}\nconst or = /* @__PURE__ */ K(() => {\n const t = C((l) => `Item ${l}`), e = C((l) => `Group ${l}`), n = C({}), o = C(Xe), r = C(\"div\"), s = C(Qt), i = (l, c = null) => ht(\n x(\n n,\n k((d) => d[l]),\n J()\n ),\n c\n );\n return {\n components: n,\n computeItemKey: o,\n EmptyPlaceholder: i(\"EmptyPlaceholder\"),\n FooterComponent: i(\"Footer\"),\n GroupComponent: i(\"Group\", \"div\"),\n groupContent: e,\n HeaderComponent: i(\"Header\"),\n HeaderFooterTag: r,\n ItemComponent: i(\"Item\", \"div\"),\n itemContent: t,\n ListComponent: i(\"List\", \"div\"),\n ScrollerComponent: i(\"Scroller\", \"div\"),\n scrollerRef: s,\n ScrollSeekPlaceholder: i(\"ScrollSeekPlaceholder\"),\n TopItemListComponent: i(\"TopItemList\")\n };\n}), rr = /* @__PURE__ */ K(\n ([t, e]) => ({ ...t, ...e }),\n tt(Jn, or)\n), sr = ({ height: t }) => /* @__PURE__ */ G(\"div\", { style: { height: t } }), ir = { overflowAnchor: \"none\", position: Ze(), zIndex: 1 }, no = { overflowAnchor: \"none\" }, lr = { ...no, display: \"inline-block\", height: \"100%\" }, wn = /* @__PURE__ */ E.memo(function({ showTopList: e = !1 }) {\n const n = A(\"listState\"), o = Rt(\"sizeRanges\"), r = A(\"useWindowScroll\"), s = A(\"customScrollParent\"), i = Rt(\"windowScrollContainerState\"), l = Rt(\"scrollContainerState\"), c = s || r ? i : l, d = A(\"itemContent\"), m = A(\"context\"), S = A(\"groupContent\"), h = A(\"trackItemSizes\"), T = A(\"itemSize\"), w = A(\"log\"), R = Rt(\"gap\"), g = A(\"horizontalDirection\"), { callbackRef: f } = Fn(\n o,\n T,\n h,\n e ? Qt : c,\n w,\n R,\n s,\n g,\n A(\"skipAnimationFrameInResizeObserver\")\n ), [a, I] = E.useState(0);\n tn(\"deviation\", (L) => {\n a !== L && I(L);\n });\n const b = A(\"EmptyPlaceholder\"), y = A(\"ScrollSeekPlaceholder\") || sr, z = A(\"ListComponent\"), u = A(\"ItemComponent\"), p = A(\"GroupComponent\"), v = A(\"computeItemKey\"), O = A(\"isSeeking\"), B = A(\"groupIndices\").length > 0, W = A(\"alignToBottom\"), _ = A(\"initialItemFinalLocationReached\"), j = e ? {} : {\n boxSizing: \"border-box\",\n ...g ? {\n display: \"inline-block\",\n height: \"100%\",\n marginLeft: a !== 0 ? a : W ? \"auto\" : 0,\n paddingLeft: n.offsetTop,\n paddingRight: n.offsetBottom,\n whiteSpace: \"nowrap\"\n } : {\n marginTop: a !== 0 ? a : W ? \"auto\" : 0,\n paddingBottom: n.offsetBottom,\n paddingTop: n.offsetTop\n },\n ..._ ? {} : { visibility: \"hidden\" }\n };\n return !e && n.totalCount === 0 && b ? /* @__PURE__ */ G(b, { ...Q(b, m) }) : /* @__PURE__ */ G(\n z,\n {\n ...Q(z, m),\n \"data-testid\": e ? \"virtuoso-top-item-list\" : \"virtuoso-item-list\",\n ref: f,\n style: j,\n children: (e ? n.topItems : n.items).map((L) => {\n const xt = L.originalIndex, M = v(xt + n.firstItemIndex, L.data, m);\n return O ? /* @__PURE__ */ $t(\n y,\n {\n ...Q(y, m),\n height: L.size,\n index: L.index,\n key: M,\n type: L.type || \"item\",\n ...L.type === \"group\" ? {} : { groupIndex: L.groupIndex }\n }\n ) : L.type === \"group\" ? /* @__PURE__ */ $t(\n p,\n {\n ...Q(p, m),\n \"data-index\": xt,\n \"data-item-index\": L.index,\n \"data-known-size\": L.size,\n key: M,\n style: ir\n },\n S(L.index, m)\n ) : /* @__PURE__ */ $t(\n u,\n {\n ...Q(u, m),\n ...oo(u, L.data),\n \"data-index\": xt,\n \"data-item-group-index\": L.groupIndex,\n \"data-item-index\": L.index,\n \"data-known-size\": L.size,\n key: M,\n style: g ? lr : no\n },\n B ? d(L.index, L.groupIndex, L.data, m) : d(L.index, L.data, m)\n );\n })\n }\n );\n}), cr = {\n height: \"100%\",\n outline: \"none\",\n overflowY: \"auto\",\n position: \"relative\",\n WebkitOverflowScrolling: \"touch\"\n}, ur = {\n outline: \"none\",\n overflowX: \"auto\",\n position: \"relative\"\n}, te = (t) => ({\n height: \"100%\",\n position: \"absolute\",\n top: 0,\n width: \"100%\",\n ...t ? { display: \"flex\", flexDirection: \"column\" } : {}\n}), ar = {\n position: Ze(),\n top: 0,\n width: \"100%\",\n zIndex: 1\n};\nfunction Q(t, e) {\n if (typeof t != \"string\")\n return { context: e };\n}\nfunction oo(t, e) {\n return { item: typeof t == \"string\" ? void 0 : e };\n}\nconst dr = /* @__PURE__ */ E.memo(function() {\n const e = A(\"HeaderComponent\"), n = Rt(\"headerHeight\"), o = A(\"HeaderFooterTag\"), r = Vt(\n E.useMemo(\n () => (i) => {\n n(zt(i, \"height\"));\n },\n [n]\n ),\n !0,\n A(\"skipAnimationFrameInResizeObserver\")\n ), s = A(\"context\");\n return e ? /* @__PURE__ */ G(o, { ref: r, children: /* @__PURE__ */ G(e, { ...Q(e, s) }) }) : null;\n}), fr = /* @__PURE__ */ E.memo(function() {\n const e = A(\"FooterComponent\"), n = Rt(\"footerHeight\"), o = A(\"HeaderFooterTag\"), r = Vt(\n E.useMemo(\n () => (i) => {\n n(zt(i, \"height\"));\n },\n [n]\n ),\n !0,\n A(\"skipAnimationFrameInResizeObserver\")\n ), s = A(\"context\");\n return e ? /* @__PURE__ */ G(o, { ref: r, children: /* @__PURE__ */ G(e, { ...Q(e, s) }) }) : null;\n});\nfunction Je({ useEmitter: t, useEmitterValue: e, usePublisher: n }) {\n return E.memo(function({ children: s, style: i, context: l, ...c }) {\n const d = n(\"scrollContainerState\"), m = e(\"ScrollerComponent\"), S = n(\"smoothScrollTargetReached\"), h = e(\"scrollerRef\"), T = e(\"horizontalDirection\") || !1, { scrollByCallback: w, scrollerRef: R, scrollToCallback: g } = eo(\n d,\n S,\n m,\n h,\n void 0,\n T\n );\n return t(\"scrollTo\", g), t(\"scrollBy\", w), /* @__PURE__ */ G(\n m,\n {\n \"data-testid\": \"virtuoso-scroller\",\n \"data-virtuoso-scroller\": !0,\n ref: R,\n style: { ...T ? ur : cr, ...i },\n tabIndex: 0,\n ...c,\n ...Q(m, l),\n children: s\n }\n );\n });\n}\nfunction Qe({ useEmitter: t, useEmitterValue: e, usePublisher: n }) {\n return E.memo(function({ children: s, style: i, context: l, ...c }) {\n const d = n(\"windowScrollContainerState\"), m = e(\"ScrollerComponent\"), S = n(\"smoothScrollTargetReached\"), h = e(\"totalListHeight\"), T = e(\"deviation\"), w = e(\"customScrollParent\"), R = E.useRef(null), g = e(\"scrollerRef\"), { scrollByCallback: f, scrollerRef: a, scrollToCallback: I } = eo(\n d,\n S,\n m,\n g,\n w\n );\n return to(() => {\n var b;\n return a.current = w || ((b = R.current) == null ? void 0 : b.ownerDocument.defaultView), () => {\n a.current = null;\n };\n }, [a, w]), t(\"windowScrollTo\", I), t(\"scrollBy\", f), /* @__PURE__ */ G(\n m,\n {\n ref: R,\n \"data-virtuoso-scroller\": !0,\n style: { position: \"relative\", ...i, ...h !== 0 ? { height: h + T } : {} },\n ...c,\n ...Q(m, l),\n children: s\n }\n );\n });\n}\nconst mr = ({ children: t }) => {\n const e = E.useContext(Re), n = Rt(\"viewportHeight\"), o = Rt(\"fixedItemHeight\"), r = A(\"alignToBottom\"), s = A(\"horizontalDirection\"), i = E.useMemo(\n () => se(n, (c) => zt(c, s ? \"width\" : \"height\")),\n [n, s]\n ), l = Vt(i, !0, A(\"skipAnimationFrameInResizeObserver\"));\n return E.useEffect(() => {\n e && (n(e.viewportHeight), o(e.itemHeight));\n }, [e, n, o]), /* @__PURE__ */ G(\"div\", { \"data-viewport-type\": \"element\", ref: l, style: te(r), children: t });\n}, pr = ({ children: t }) => {\n const e = E.useContext(Re), n = Rt(\"windowViewportRect\"), o = Rt(\"fixedItemHeight\"), r = A(\"customScrollParent\"), s = Ne(\n n,\n r,\n A(\"skipAnimationFrameInResizeObserver\")\n ), i = A(\"alignToBottom\");\n return E.useEffect(() => {\n e && (o(e.itemHeight), n({ offsetTop: 0, visibleHeight: e.viewportHeight, visibleWidth: 100 }));\n }, [e, n, o]), /* @__PURE__ */ G(\"div\", { \"data-viewport-type\": \"window\", ref: s, style: te(i), children: t });\n}, hr = ({ children: t }) => {\n const e = A(\"TopItemListComponent\") || \"div\", n = A(\"headerHeight\"), o = { ...ar, marginTop: `${n}px` }, r = A(\"context\");\n return /* @__PURE__ */ G(e, { style: o, ...Q(e, r), children: t });\n}, gr = /* @__PURE__ */ E.memo(function(e) {\n const n = A(\"useWindowScroll\"), o = A(\"topItemsIndexes\").length > 0, r = A(\"customScrollParent\"), s = A(\"context\");\n return /* @__PURE__ */ Ut(r || n ? xr : Ir, { ...e, context: s, children: [\n o && /* @__PURE__ */ G(hr, { children: /* @__PURE__ */ G(wn, { showTopList: !0 }) }),\n /* @__PURE__ */ Ut(r || n ? pr : mr, { children: [\n /* @__PURE__ */ G(dr, {}),\n /* @__PURE__ */ G(wn, {}),\n /* @__PURE__ */ G(fr, {})\n ] })\n ] });\n}), {\n Component: ro,\n useEmitter: tn,\n useEmitterValue: A,\n usePublisher: Rt\n} = /* @__PURE__ */ Ye(\n rr,\n {\n required: {},\n optional: {\n restoreStateFrom: \"restoreStateFrom\",\n context: \"context\",\n followOutput: \"followOutput\",\n scrollIntoViewOnChange: \"scrollIntoViewOnChange\",\n itemContent: \"itemContent\",\n groupContent: \"groupContent\",\n overscan: \"overscan\",\n increaseViewportBy: \"increaseViewportBy\",\n minOverscanItemCount: \"minOverscanItemCount\",\n totalCount: \"totalCount\",\n groupCounts: \"groupCounts\",\n topItemCount: \"topItemCount\",\n firstItemIndex: \"firstItemIndex\",\n initialTopMostItemIndex: \"initialTopMostItemIndex\",\n components: \"components\",\n atBottomThreshold: \"atBottomThreshold\",\n atTopThreshold: \"atTopThreshold\",\n computeItemKey: \"computeItemKey\",\n defaultItemHeight: \"defaultItemHeight\",\n fixedGroupHeight: \"fixedGroupHeight\",\n // Must be set above 'fixedItemHeight'\n fixedItemHeight: \"fixedItemHeight\",\n heightEstimates: \"heightEstimates\",\n itemSize: \"itemSize\",\n scrollSeekConfiguration: \"scrollSeekConfiguration\",\n headerFooterTag: \"HeaderFooterTag\",\n data: \"data\",\n initialItemCount: \"initialItemCount\",\n initialScrollTop: \"initialScrollTop\",\n alignToBottom: \"alignToBottom\",\n useWindowScroll: \"useWindowScroll\",\n customScrollParent: \"customScrollParent\",\n scrollerRef: \"scrollerRef\",\n logLevel: \"logLevel\",\n horizontalDirection: \"horizontalDirection\",\n skipAnimationFrameInResizeObserver: \"skipAnimationFrameInResizeObserver\"\n },\n methods: {\n scrollToIndex: \"scrollToIndex\",\n scrollIntoView: \"scrollIntoView\",\n scrollTo: \"scrollTo\",\n scrollBy: \"scrollBy\",\n autoscrollToBottom: \"autoscrollToBottom\",\n getState: \"getState\"\n },\n events: {\n isScrolling: \"isScrolling\",\n endReached: \"endReached\",\n startReached: \"startReached\",\n rangeChanged: \"rangeChanged\",\n atBottomStateChange: \"atBottomStateChange\",\n atTopStateChange: \"atTopStateChange\",\n totalListHeightChanged: \"totalListHeightChanged\",\n itemsRendered: \"itemsRendered\",\n groupIndices: \"groupIndices\"\n }\n },\n gr\n), Ir = /* @__PURE__ */ Je({ useEmitter: tn, useEmitterValue: A, usePublisher: Rt }), xr = /* @__PURE__ */ Qe({ useEmitter: tn, useEmitterValue: A, usePublisher: Rt }), Yr = ro, Zr = ro, Sr = /* @__PURE__ */ K(() => {\n const t = C((d) => /* @__PURE__ */ Ut(\"td\", { children: [\n \"Item $\",\n d\n ] })), e = C(null), n = C((d) => /* @__PURE__ */ Ut(\"td\", { colSpan: 1e3, children: [\n \"Group \",\n d\n ] })), o = C(null), r = C(null), s = C({}), i = C(Xe), l = C(Qt), c = (d, m = null) => ht(\n x(\n s,\n k((S) => S[d]),\n J()\n ),\n m\n );\n return {\n components: s,\n computeItemKey: i,\n context: e,\n EmptyPlaceholder: c(\"EmptyPlaceholder\"),\n FillerRow: c(\"FillerRow\"),\n fixedFooterContent: r,\n fixedHeaderContent: o,\n itemContent: t,\n groupContent: n,\n ScrollerComponent: c(\"Scroller\", \"div\"),\n scrollerRef: l,\n ScrollSeekPlaceholder: c(\"ScrollSeekPlaceholder\"),\n TableBodyComponent: c(\"TableBody\", \"tbody\"),\n TableComponent: c(\"Table\", \"table\"),\n TableFooterComponent: c(\"TableFoot\", \"tfoot\"),\n TableHeadComponent: c(\"TableHead\", \"thead\"),\n TableRowComponent: c(\"TableRow\", \"tr\"),\n GroupComponent: c(\"Group\", \"tr\")\n };\n}), Tr = /* @__PURE__ */ K(\n ([t, e]) => ({ ...t, ...e }),\n tt(Jn, Sr)\n), Cr = ({ height: t }) => /* @__PURE__ */ G(\"tr\", { children: /* @__PURE__ */ G(\"td\", { style: { height: t } }) }), wr = ({ height: t }) => /* @__PURE__ */ G(\"tr\", { children: /* @__PURE__ */ G(\"td\", { style: { border: 0, height: t, padding: 0 } }) }), vr = { overflowAnchor: \"none\" }, vn = { position: Ze(), zIndex: 2, overflowAnchor: \"none\" }, yn = /* @__PURE__ */ E.memo(function({ showTopList: e = !1 }) {\n const n = N(\"listState\"), o = N(\"computeItemKey\"), r = N(\"firstItemIndex\"), s = N(\"context\"), i = N(\"isSeeking\"), l = N(\"fixedHeaderHeight\"), c = N(\"groupIndices\").length > 0, d = N(\"itemContent\"), m = N(\"groupContent\"), S = N(\"ScrollSeekPlaceholder\") || Cr, h = N(\"GroupComponent\"), T = N(\"TableRowComponent\"), w = (e ? n.topItems : []).reduce((g, f, a) => (a === 0 ? g.push(f.size) : g.push(g[a - 1] + f.size), g), []), R = (e ? n.topItems : n.items).map((g) => {\n const f = g.originalIndex, a = o(f + r, g.data, s), I = e ? f === 0 ? 0 : w[f - 1] : 0;\n return i ? /* @__PURE__ */ $t(\n S,\n {\n ...Q(S, s),\n height: g.size,\n index: g.index,\n key: a,\n type: g.type || \"item\"\n }\n ) : g.type === \"group\" ? /* @__PURE__ */ $t(\n h,\n {\n ...Q(h, s),\n \"data-index\": f,\n \"data-item-index\": g.index,\n \"data-known-size\": g.size,\n key: a,\n style: {\n ...vn,\n top: l\n }\n },\n m(g.index, s)\n ) : /* @__PURE__ */ $t(\n T,\n {\n ...Q(T, s),\n ...oo(T, g.data),\n \"data-index\": f,\n \"data-item-index\": g.index,\n \"data-known-size\": g.size,\n \"data-item-group-index\": g.groupIndex,\n key: a,\n style: e ? { ...vn, top: l + I } : vr\n },\n c ? d(g.index, g.groupIndex, g.data, s) : d(g.index, g.data, s)\n );\n });\n return /* @__PURE__ */ G(ao, { children: R });\n}), yr = /* @__PURE__ */ E.memo(function() {\n const e = N(\"listState\"), n = N(\"topItemsIndexes\").length > 0, o = Bt(\"sizeRanges\"), r = N(\"useWindowScroll\"), s = N(\"customScrollParent\"), i = Bt(\"windowScrollContainerState\"), l = Bt(\"scrollContainerState\"), c = s || r ? i : l, d = N(\"trackItemSizes\"), m = N(\"itemSize\"), S = N(\"log\"), { callbackRef: h, ref: T } = Fn(\n o,\n m,\n d,\n c,\n S,\n void 0,\n s,\n !1,\n N(\"skipAnimationFrameInResizeObserver\")\n ), [w, R] = E.useState(0);\n en(\"deviation\", (B) => {\n w !== B && (T.current.style.marginTop = `${B}px`, R(B));\n });\n const g = N(\"EmptyPlaceholder\"), f = N(\"FillerRow\") || wr, a = N(\"TableBodyComponent\"), I = N(\"paddingTopAddition\"), b = N(\"statefulTotalCount\"), y = N(\"context\");\n if (b === 0 && g)\n return /* @__PURE__ */ G(g, { ...Q(g, y) });\n const z = (n ? e.topItems : []).reduce((B, W) => B + W.size, 0), u = e.offsetTop + I + w - z, p = e.offsetBottom, v = u > 0 ? /* @__PURE__ */ G(f, { context: y, height: u }, \"padding-top\") : null, O = p > 0 ? /* @__PURE__ */ G(f, { context: y, height: p }, \"padding-bottom\") : null;\n return /* @__PURE__ */ Ut(a, { \"data-testid\": \"virtuoso-item-list\", ref: h, ...Q(a, y), children: [\n v,\n n && /* @__PURE__ */ G(yn, { showTopList: !0 }),\n /* @__PURE__ */ G(yn, {}),\n O\n ] });\n}), br = ({ children: t }) => {\n const e = E.useContext(Re), n = Bt(\"viewportHeight\"), o = Bt(\"fixedItemHeight\"), r = Vt(\n E.useMemo(() => se(n, (s) => zt(s, \"height\")), [n]),\n !0,\n N(\"skipAnimationFrameInResizeObserver\")\n );\n return E.useEffect(() => {\n e && (n(e.viewportHeight), o(e.itemHeight));\n }, [e, n, o]), /* @__PURE__ */ G(\"div\", { \"data-viewport-type\": \"element\", ref: r, style: te(!1), children: t });\n}, Rr = ({ children: t }) => {\n const e = E.useContext(Re), n = Bt(\"windowViewportRect\"), o = Bt(\"fixedItemHeight\"), r = N(\"customScrollParent\"), s = Ne(\n n,\n r,\n N(\"skipAnimationFrameInResizeObserver\")\n );\n return E.useEffect(() => {\n e && (o(e.itemHeight), n({ offsetTop: 0, visibleHeight: e.viewportHeight, visibleWidth: 100 }));\n }, [e, n, o]), /* @__PURE__ */ G(\"div\", { \"data-viewport-type\": \"window\", ref: s, style: te(!1), children: t });\n}, Hr = /* @__PURE__ */ E.memo(function(e) {\n const n = N(\"useWindowScroll\"), o = N(\"customScrollParent\"), r = Bt(\"fixedHeaderHeight\"), s = Bt(\"fixedFooterHeight\"), i = N(\"fixedHeaderContent\"), l = N(\"fixedFooterContent\"), c = N(\"context\"), d = Vt(\n E.useMemo(() => se(r, (a) => zt(a, \"height\")), [r]),\n !0,\n N(\"skipAnimationFrameInResizeObserver\")\n ), m = Vt(\n E.useMemo(() => se(s, (a) => zt(a, \"height\")), [s]),\n !0,\n N(\"skipAnimationFrameInResizeObserver\")\n ), S = o || n ? Br : Er, h = o || n ? Rr : br, T = N(\"TableComponent\"), w = N(\"TableHeadComponent\"), R = N(\"TableFooterComponent\"), g = i ? /* @__PURE__ */ G(\n w,\n {\n ref: d,\n style: { position: \"sticky\", top: 0, zIndex: 2 },\n ...Q(w, c),\n children: i()\n },\n \"TableHead\"\n ) : null, f = l ? /* @__PURE__ */ G(\n R,\n {\n ref: m,\n style: { bottom: 0, position: \"sticky\", zIndex: 1 },\n ...Q(R, c),\n children: l()\n },\n \"TableFoot\"\n ) : null;\n return /* @__PURE__ */ G(S, { ...e, ...Q(S, c), children: /* @__PURE__ */ G(h, { children: /* @__PURE__ */ Ut(T, { style: { borderSpacing: 0, overflowAnchor: \"none\" }, ...Q(T, c), children: [\n g,\n /* @__PURE__ */ G(yr, {}, \"TableBody\"),\n f\n ] }) }) });\n}), {\n Component: so,\n useEmitter: en,\n useEmitterValue: N,\n usePublisher: Bt\n} = /* @__PURE__ */ Ye(\n Tr,\n {\n required: {},\n optional: {\n restoreStateFrom: \"restoreStateFrom\",\n context: \"context\",\n followOutput: \"followOutput\",\n firstItemIndex: \"firstItemIndex\",\n itemContent: \"itemContent\",\n groupContent: \"groupContent\",\n fixedHeaderContent: \"fixedHeaderContent\",\n fixedFooterContent: \"fixedFooterContent\",\n overscan: \"overscan\",\n increaseViewportBy: \"increaseViewportBy\",\n minOverscanItemCount: \"minOverscanItemCount\",\n totalCount: \"totalCount\",\n topItemCount: \"topItemCount\",\n initialTopMostItemIndex: \"initialTopMostItemIndex\",\n components: \"components\",\n groupCounts: \"groupCounts\",\n atBottomThreshold: \"atBottomThreshold\",\n atTopThreshold: \"atTopThreshold\",\n computeItemKey: \"computeItemKey\",\n defaultItemHeight: \"defaultItemHeight\",\n fixedGroupHeight: \"fixedGroupHeight\",\n // Must be set above 'fixedItemHeight'\n fixedItemHeight: \"fixedItemHeight\",\n itemSize: \"itemSize\",\n scrollSeekConfiguration: \"scrollSeekConfiguration\",\n data: \"data\",\n initialItemCount: \"initialItemCount\",\n initialScrollTop: \"initialScrollTop\",\n alignToBottom: \"alignToBottom\",\n useWindowScroll: \"useWindowScroll\",\n customScrollParent: \"customScrollParent\",\n scrollerRef: \"scrollerRef\",\n logLevel: \"logLevel\"\n },\n methods: {\n scrollToIndex: \"scrollToIndex\",\n scrollIntoView: \"scrollIntoView\",\n scrollTo: \"scrollTo\",\n scrollBy: \"scrollBy\",\n getState: \"getState\"\n },\n events: {\n isScrolling: \"isScrolling\",\n endReached: \"endReached\",\n startReached: \"startReached\",\n rangeChanged: \"rangeChanged\",\n atBottomStateChange: \"atBottomStateChange\",\n atTopStateChange: \"atTopStateChange\",\n totalListHeightChanged: \"totalListHeightChanged\",\n itemsRendered: \"itemsRendered\",\n groupIndices: \"groupIndices\"\n }\n },\n Hr\n), Er = /* @__PURE__ */ Je({ useEmitter: en, useEmitterValue: N, usePublisher: Bt }), Br = /* @__PURE__ */ Qe({ useEmitter: en, useEmitterValue: N, usePublisher: Bt }), Xr = so, Jr = so, bn = {\n bottom: 0,\n itemHeight: 0,\n items: [],\n itemWidth: 0,\n offsetBottom: 0,\n offsetTop: 0,\n top: 0\n}, kr = {\n bottom: 0,\n itemHeight: 0,\n items: [{ index: 0 }],\n itemWidth: 0,\n offsetBottom: 0,\n offsetTop: 0,\n top: 0\n}, { ceil: Rn, floor: we, max: re, min: Oe, round: Hn } = Math;\nfunction En(t, e, n) {\n return Array.from({ length: e - t + 1 }).map((o, r) => ({ data: n === null ? null : n[r + t], index: r + t }));\n}\nfunction zr(t) {\n return {\n ...kr,\n items: t\n };\n}\nfunction xe(t, e) {\n return t && t.width === e.width && t.height === e.height;\n}\nfunction Or(t, e) {\n return t && t.column === e.column && t.row === e.row;\n}\nconst Fr = /* @__PURE__ */ K(\n ([\n { increaseViewportBy: t, listBoundary: e, overscan: n, visibleRange: o },\n { footerHeight: r, headerHeight: s, scrollBy: i, scrollContainerState: l, scrollTo: c, scrollTop: d, smoothScrollTargetReached: m, viewportHeight: S },\n h,\n T,\n { didMount: w, propsReady: R },\n { customScrollParent: g, useWindowScroll: f, windowScrollContainerState: a, windowScrollTo: I, windowViewportRect: b },\n y\n ]) => {\n const z = C(0), u = C(0), p = C(bn), v = C({ height: 0, width: 0 }), O = C({ height: 0, width: 0 }), B = U(), W = U(), _ = C(0), j = C(null), L = C({ column: 0, row: 0 }), xt = U(), M = U(), et = C(!1), wt = C(0), ft = C(!0), St = C(!1), Mt = C(!1);\n Y(\n x(\n w,\n $(wt),\n P(([H, q]) => !!q)\n ),\n () => {\n D(ft, !1);\n }\n ), Y(\n x(\n ut(w, ft, O, v, wt, St),\n P(([H, q, at, gt, , Tt]) => H && !q && at.height !== 0 && gt.height !== 0 && !Tt)\n ),\n ([, , , , H]) => {\n D(St, !0), Ue(1, () => {\n D(B, H);\n }), Et(x(d), () => {\n D(e, [0, 0]), D(ft, !0);\n });\n }\n ), F(\n x(\n M,\n P((H) => H != null && H.scrollTop > 0),\n Ft(0)\n ),\n u\n ), Y(\n x(\n w,\n $(M),\n P(([, H]) => H != null)\n ),\n ([, H]) => {\n H && (D(v, H.viewport), D(O, H.item), D(L, H.gap), H.scrollTop > 0 && (D(et, !0), Et(x(d, Kt(1)), (q) => {\n D(et, !1);\n }), D(c, { top: H.scrollTop })));\n }\n ), F(\n x(\n v,\n k(({ height: H }) => H)\n ),\n S\n ), F(\n x(\n ut(\n V(v, xe),\n V(O, xe),\n V(L, (H, q) => H && H.column === q.column && H.row === q.row),\n V(d)\n ),\n k(([H, q, at, gt]) => ({\n gap: at,\n item: q,\n scrollTop: gt,\n viewport: H\n }))\n ),\n xt\n ), F(\n x(\n ut(\n V(z),\n o,\n V(L, Or),\n V(O, xe),\n V(v, xe),\n V(j),\n V(u),\n V(et),\n V(ft),\n V(wt)\n ),\n P(([, , , , , , , H]) => !H),\n k(\n ([\n H,\n [q, at],\n gt,\n Tt,\n st,\n it,\n mt,\n ,\n lt,\n Z\n ]) => {\n const { column: nt, row: vt } = gt, { height: ct, width: He } = Tt, { width: nn } = st;\n if (mt === 0 && (H === 0 || nn === 0))\n return bn;\n if (He === 0) {\n const cn = Ke(Z, H), uo = cn + Math.max(mt - 1, 0);\n return zr(En(cn, uo, it));\n }\n const ge = io(nn, He, nt);\n let Yt, Nt;\n lt ? q === 0 && at === 0 && mt > 0 ? (Yt = 0, Nt = mt - 1) : (Yt = ge * we((q + vt) / (ct + vt)), Nt = ge * Rn((at + vt) / (ct + vt)) - 1, Nt = Oe(H - 1, re(Nt, ge - 1)), Yt = Oe(Nt, re(0, Yt))) : (Yt = 0, Nt = -1);\n const on = En(Yt, Nt, it), { bottom: rn, top: sn } = Bn(st, gt, Tt, on), ln = Rn(H / ge), co = ln * ct + (ln - 1) * vt - rn;\n return { bottom: rn, itemHeight: ct, items: on, itemWidth: He, offsetBottom: co, offsetTop: sn, top: sn };\n }\n )\n ),\n p\n ), F(\n x(\n j,\n P((H) => H !== null),\n k((H) => H.length)\n ),\n z\n ), F(\n x(\n ut(v, O, p, L),\n P(([H, q, { items: at }]) => at.length > 0 && q.height !== 0 && H.height !== 0),\n k(([H, q, { items: at }, gt]) => {\n const { bottom: Tt, top: st } = Bn(H, gt, q, at);\n return [st, Tt];\n }),\n J(ce)\n ),\n e\n );\n const pt = C(!1);\n F(\n x(\n d,\n $(pt),\n k(([H, q]) => q || H !== 0)\n ),\n pt\n );\n const qt = bt(\n x(\n ut(p, z),\n P(([{ items: H }]) => H.length > 0),\n $(pt),\n P(([[H, q], at]) => {\n const Tt = H.items[H.items.length - 1].index === q - 1;\n return (at || H.bottom > 0 && H.itemHeight > 0 && H.offsetBottom === 0 && H.items.length === q) && Tt;\n }),\n k(([[, H]]) => H - 1),\n J()\n )\n ), ee = bt(\n x(\n V(p),\n P(({ items: H }) => H.length > 0 && H[0].index === 0),\n Ft(0),\n J()\n )\n ), Ot = bt(\n x(\n V(p),\n $(et),\n P(([{ items: H }, q]) => H.length > 0 && !q),\n k(([{ items: H }]) => ({\n endIndex: H[H.length - 1].index,\n startIndex: H[0].index\n })),\n J(An),\n Gt(0)\n )\n );\n F(Ot, T.scrollSeekRangeChanged), F(\n x(\n B,\n $(v, O, z, L),\n k(([H, q, at, gt, Tt]) => {\n const st = $n(H), { align: it, behavior: mt, offset: lt } = st;\n let Z = st.index;\n Z === \"LAST\" && (Z = gt - 1), Z = re(0, Z, Oe(gt - 1, Z));\n let nt = Me(q, Tt, at, Z);\n return it === \"end\" ? nt = Hn(nt - q.height + at.height) : it === \"center\" && (nt = Hn(nt - q.height / 2 + at.height / 2)), lt && (nt += lt), { behavior: mt, top: nt };\n })\n ),\n c\n );\n const ne = ht(\n x(\n p,\n k((H) => H.offsetBottom + H.bottom)\n ),\n 0\n );\n return F(\n x(\n b,\n k((H) => ({ height: H.visibleHeight, width: H.visibleWidth }))\n ),\n v\n ), {\n customScrollParent: g,\n // input\n data: j,\n deviation: _,\n footerHeight: r,\n gap: L,\n headerHeight: s,\n increaseViewportBy: t,\n initialItemCount: u,\n itemDimensions: O,\n overscan: n,\n restoreStateFrom: M,\n scrollBy: i,\n scrollContainerState: l,\n scrollHeight: W,\n scrollTo: c,\n scrollToIndex: B,\n scrollTop: d,\n smoothScrollTargetReached: m,\n totalCount: z,\n useWindowScroll: f,\n viewportDimensions: v,\n windowScrollContainerState: a,\n windowScrollTo: I,\n windowViewportRect: b,\n ...T,\n // output\n gridState: p,\n horizontalDirection: Mt,\n initialTopMostItemIndex: wt,\n totalListHeight: ne,\n ...h,\n endReached: qt,\n propsReady: R,\n rangeChanged: Ot,\n startReached: ee,\n stateChanged: xt,\n stateRestoreInProgress: et,\n ...y\n };\n },\n tt(je, It, he, Zn, _t, qe, Wt)\n);\nfunction io(t, e, n) {\n return re(1, we((t + n) / (we(e) + n)));\n}\nfunction Bn(t, e, n, o) {\n const { height: r } = n;\n if (r === void 0 || o.length === 0)\n return { bottom: 0, top: 0 };\n const s = Me(t, e, n, o[0].index);\n return { bottom: Me(t, e, n, o[o.length - 1].index) + r, top: s };\n}\nfunction Me(t, e, n, o) {\n const r = io(t.width, n.width, e.column), s = we(o / r), i = s * n.height + re(0, s - 1) * e.row;\n return i > 0 ? i + e.row : i;\n}\nconst Lr = /* @__PURE__ */ K(() => {\n const t = C((S) => `Item ${S}`), e = C({}), n = C(null), o = C(\"virtuoso-grid-item\"), r = C(\"virtuoso-grid-list\"), s = C(Xe), i = C(\"div\"), l = C(Qt), c = (S, h = null) => ht(\n x(\n e,\n k((T) => T[S]),\n J()\n ),\n h\n ), d = C(!1), m = C(!1);\n return F(V(m), d), {\n components: e,\n computeItemKey: s,\n context: n,\n FooterComponent: c(\"Footer\"),\n HeaderComponent: c(\"Header\"),\n headerFooterTag: i,\n itemClassName: o,\n ItemComponent: c(\"Item\", \"div\"),\n itemContent: t,\n listClassName: r,\n ListComponent: c(\"List\", \"div\"),\n readyStateChanged: d,\n reportReadyState: m,\n ScrollerComponent: c(\"Scroller\", \"div\"),\n scrollerRef: l,\n ScrollSeekPlaceholder: c(\"ScrollSeekPlaceholder\", \"div\")\n };\n}), Vr = /* @__PURE__ */ K(\n ([t, e]) => ({ ...t, ...e }),\n tt(Fr, Lr)\n), Pr = /* @__PURE__ */ E.memo(function() {\n const e = ot(\"gridState\"), n = ot(\"listClassName\"), o = ot(\"itemClassName\"), r = ot(\"itemContent\"), s = ot(\"computeItemKey\"), i = ot(\"isSeeking\"), l = Ht(\"scrollHeight\"), c = ot(\"ItemComponent\"), d = ot(\"ListComponent\"), m = ot(\"ScrollSeekPlaceholder\"), S = ot(\"context\"), h = Ht(\"itemDimensions\"), T = Ht(\"gap\"), w = ot(\"log\"), R = ot(\"stateRestoreInProgress\"), g = Ht(\"reportReadyState\"), f = Vt(\n E.useMemo(\n () => (a) => {\n const I = a.parentElement.parentElement.scrollHeight;\n l(I);\n const b = a.firstChild;\n if (b) {\n const { height: y, width: z } = b.getBoundingClientRect();\n h({ height: y, width: z });\n }\n T({\n column: kn(\"column-gap\", getComputedStyle(a).columnGap, w),\n row: kn(\"row-gap\", getComputedStyle(a).rowGap, w)\n });\n },\n [l, h, T, w]\n ),\n !0,\n !1\n );\n return to(() => {\n e.itemHeight > 0 && e.itemWidth > 0 && g(!0);\n }, [e]), R ? null : /* @__PURE__ */ G(\n d,\n {\n className: n,\n ref: f,\n ...Q(d, S),\n \"data-testid\": \"virtuoso-item-list\",\n style: { paddingBottom: e.offsetBottom, paddingTop: e.offsetTop },\n children: e.items.map((a) => {\n const I = s(a.index, a.data, S);\n return i ? /* @__PURE__ */ G(\n m,\n {\n ...Q(m, S),\n height: e.itemHeight,\n index: a.index,\n width: e.itemWidth\n },\n I\n ) : /* @__PURE__ */ $t(\n c,\n {\n ...Q(c, S),\n className: o,\n \"data-index\": a.index,\n key: I\n },\n r(a.index, a.data, S)\n );\n })\n }\n );\n}), Gr = E.memo(function() {\n const e = ot(\"HeaderComponent\"), n = Ht(\"headerHeight\"), o = ot(\"headerFooterTag\"), r = Vt(\n E.useMemo(\n () => (i) => {\n n(zt(i, \"height\"));\n },\n [n]\n ),\n !0,\n !1\n ), s = ot(\"context\");\n return e ? /* @__PURE__ */ G(o, { ref: r, children: /* @__PURE__ */ G(e, { ...Q(e, s) }) }) : null;\n}), Mr = E.memo(function() {\n const e = ot(\"FooterComponent\"), n = Ht(\"footerHeight\"), o = ot(\"headerFooterTag\"), r = Vt(\n E.useMemo(\n () => (i) => {\n n(zt(i, \"height\"));\n },\n [n]\n ),\n !0,\n !1\n ), s = ot(\"context\");\n return e ? /* @__PURE__ */ G(o, { ref: r, children: /* @__PURE__ */ G(e, { ...Q(e, s) }) }) : null;\n}), Ar = ({ children: t }) => {\n const e = E.useContext(Qn), n = Ht(\"itemDimensions\"), o = Ht(\"viewportDimensions\"), r = Vt(\n E.useMemo(\n () => (s) => {\n o(s.getBoundingClientRect());\n },\n [o]\n ),\n !0,\n !1\n );\n return E.useEffect(() => {\n e && (o({ height: e.viewportHeight, width: e.viewportWidth }), n({ height: e.itemHeight, width: e.itemWidth }));\n }, [e, o, n]), /* @__PURE__ */ G(\"div\", { ref: r, style: te(!1), children: t });\n}, Wr = ({ children: t }) => {\n const e = E.useContext(Qn), n = Ht(\"windowViewportRect\"), o = Ht(\"itemDimensions\"), r = ot(\"customScrollParent\"), s = Ne(n, r, !1);\n return E.useEffect(() => {\n e && (o({ height: e.itemHeight, width: e.itemWidth }), n({ offsetTop: 0, visibleHeight: e.viewportHeight, visibleWidth: e.viewportWidth }));\n }, [e, n, o]), /* @__PURE__ */ G(\"div\", { ref: s, style: te(!1), children: t });\n}, _r = /* @__PURE__ */ E.memo(function({ ...e }) {\n const n = ot(\"useWindowScroll\"), o = ot(\"customScrollParent\"), r = o || n ? $r : Dr, s = o || n ? Wr : Ar, i = ot(\"context\");\n return /* @__PURE__ */ G(r, { ...e, ...Q(r, i), children: /* @__PURE__ */ Ut(s, { children: [\n /* @__PURE__ */ G(Gr, {}),\n /* @__PURE__ */ G(Pr, {}),\n /* @__PURE__ */ G(Mr, {})\n ] }) });\n}), {\n Component: Nr,\n useEmitter: lo,\n useEmitterValue: ot,\n usePublisher: Ht\n} = /* @__PURE__ */ Ye(\n Vr,\n {\n optional: {\n context: \"context\",\n totalCount: \"totalCount\",\n overscan: \"overscan\",\n itemContent: \"itemContent\",\n components: \"components\",\n computeItemKey: \"computeItemKey\",\n data: \"data\",\n initialItemCount: \"initialItemCount\",\n scrollSeekConfiguration: \"scrollSeekConfiguration\",\n headerFooterTag: \"headerFooterTag\",\n listClassName: \"listClassName\",\n itemClassName: \"itemClassName\",\n useWindowScroll: \"useWindowScroll\",\n customScrollParent: \"customScrollParent\",\n scrollerRef: \"scrollerRef\",\n logLevel: \"logLevel\",\n restoreStateFrom: \"restoreStateFrom\",\n initialTopMostItemIndex: \"initialTopMostItemIndex\",\n increaseViewportBy: \"increaseViewportBy\"\n },\n methods: {\n scrollTo: \"scrollTo\",\n scrollBy: \"scrollBy\",\n scrollToIndex: \"scrollToIndex\"\n },\n events: {\n isScrolling: \"isScrolling\",\n endReached: \"endReached\",\n startReached: \"startReached\",\n rangeChanged: \"rangeChanged\",\n atBottomStateChange: \"atBottomStateChange\",\n atTopStateChange: \"atTopStateChange\",\n stateChanged: \"stateChanged\",\n readyStateChanged: \"readyStateChanged\"\n }\n },\n _r\n), Dr = /* @__PURE__ */ Je({ useEmitter: lo, useEmitterValue: ot, usePublisher: Ht }), $r = /* @__PURE__ */ Qe({ useEmitter: lo, useEmitterValue: ot, usePublisher: Ht });\nfunction kn(t, e, n) {\n return e !== \"normal\" && !(e != null && e.endsWith(\"px\")) && n(`${t} was not resolved to pixel value correctly`, e, Ct.WARN), e === \"normal\" ? 0 : parseInt(e != null ? e : \"0\", 10);\n}\nconst Qr = Nr;\nexport {\n Jr as GroupedTableVirtuoso,\n Zr as GroupedVirtuoso,\n Ct as LogLevel,\n Xr as TableVirtuoso,\n Yr as Virtuoso,\n Qr as VirtuosoGrid,\n Qn as VirtuosoGridMockContext,\n Re as VirtuosoMockContext\n};\n","/*! *****************************************************************************\nCopyright (C) Microsoft. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */\nvar Reflect;\n(function (Reflect) {\n // Metadata Proposal\n // https://rbuckton.github.io/reflect-metadata/\n (function (factory) {\n var root = typeof global === \"object\" ? global :\n typeof self === \"object\" ? self :\n typeof this === \"object\" ? this :\n Function(\"return this;\")();\n var exporter = makeExporter(Reflect);\n if (typeof root.Reflect === \"undefined\") {\n root.Reflect = Reflect;\n }\n else {\n exporter = makeExporter(root.Reflect, exporter);\n }\n factory(exporter);\n function makeExporter(target, previous) {\n return function (key, value) {\n if (typeof target[key] !== \"function\") {\n Object.defineProperty(target, key, { configurable: true, writable: true, value: value });\n }\n if (previous)\n previous(key, value);\n };\n }\n })(function (exporter) {\n var hasOwn = Object.prototype.hasOwnProperty;\n // feature test for Symbol support\n var supportsSymbol = typeof Symbol === \"function\";\n var toPrimitiveSymbol = supportsSymbol && typeof Symbol.toPrimitive !== \"undefined\" ? Symbol.toPrimitive : \"@@toPrimitive\";\n var iteratorSymbol = supportsSymbol && typeof Symbol.iterator !== \"undefined\" ? Symbol.iterator : \"@@iterator\";\n var supportsCreate = typeof Object.create === \"function\"; // feature test for Object.create support\n var supportsProto = { __proto__: [] } instanceof Array; // feature test for __proto__ support\n var downLevel = !supportsCreate && !supportsProto;\n var HashMap = {\n // create an object in dictionary mode (a.k.a. \"slow\" mode in v8)\n create: supportsCreate\n ? function () { return MakeDictionary(Object.create(null)); }\n : supportsProto\n ? function () { return MakeDictionary({ __proto__: null }); }\n : function () { return MakeDictionary({}); },\n has: downLevel\n ? function (map, key) { return hasOwn.call(map, key); }\n : function (map, key) { return key in map; },\n get: downLevel\n ? function (map, key) { return hasOwn.call(map, key) ? map[key] : undefined; }\n : function (map, key) { return map[key]; },\n };\n // Load global or shim versions of Map, Set, and WeakMap\n var functionPrototype = Object.getPrototypeOf(Function);\n var usePolyfill = typeof process === \"object\" && process[\"env\" + \"\"] && process[\"env\" + \"\"][\"REFLECT_METADATA_USE_MAP_POLYFILL\"] === \"true\";\n var _Map = !usePolyfill && typeof Map === \"function\" && typeof Map.prototype.entries === \"function\" ? Map : CreateMapPolyfill();\n var _Set = !usePolyfill && typeof Set === \"function\" && typeof Set.prototype.entries === \"function\" ? Set : CreateSetPolyfill();\n var _WeakMap = !usePolyfill && typeof WeakMap === \"function\" ? WeakMap : CreateWeakMapPolyfill();\n // [[Metadata]] internal slot\n // https://rbuckton.github.io/reflect-metadata/#ordinary-object-internal-methods-and-internal-slots\n var Metadata = new _WeakMap();\n /**\n * Applies a set of decorators to a property of a target object.\n * @param decorators An array of decorators.\n * @param target The target object.\n * @param propertyKey (Optional) The property key to decorate.\n * @param attributes (Optional) The property descriptor for the target key.\n * @remarks Decorators are applied in reverse order.\n * @example\n *\n * class Example {\n * // property declarations are not part of ES6, though they are valid in TypeScript:\n * // static staticProperty;\n * // property;\n *\n * constructor(p) { }\n * static staticMethod(p) { }\n * method(p) { }\n * }\n *\n * // constructor\n * Example = Reflect.decorate(decoratorsArray, Example);\n *\n * // property (on constructor)\n * Reflect.decorate(decoratorsArray, Example, \"staticProperty\");\n *\n * // property (on prototype)\n * Reflect.decorate(decoratorsArray, Example.prototype, \"property\");\n *\n * // method (on constructor)\n * Object.defineProperty(Example, \"staticMethod\",\n * Reflect.decorate(decoratorsArray, Example, \"staticMethod\",\n * Object.getOwnPropertyDescriptor(Example, \"staticMethod\")));\n *\n * // method (on prototype)\n * Object.defineProperty(Example.prototype, \"method\",\n * Reflect.decorate(decoratorsArray, Example.prototype, \"method\",\n * Object.getOwnPropertyDescriptor(Example.prototype, \"method\")));\n *\n */\n function decorate(decorators, target, propertyKey, attributes) {\n if (!IsUndefined(propertyKey)) {\n if (!IsArray(decorators))\n throw new TypeError();\n if (!IsObject(target))\n throw new TypeError();\n if (!IsObject(attributes) && !IsUndefined(attributes) && !IsNull(attributes))\n throw new TypeError();\n if (IsNull(attributes))\n attributes = undefined;\n propertyKey = ToPropertyKey(propertyKey);\n return DecorateProperty(decorators, target, propertyKey, attributes);\n }\n else {\n if (!IsArray(decorators))\n throw new TypeError();\n if (!IsConstructor(target))\n throw new TypeError();\n return DecorateConstructor(decorators, target);\n }\n }\n exporter(\"decorate\", decorate);\n // 4.1.2 Reflect.metadata(metadataKey, metadataValue)\n // https://rbuckton.github.io/reflect-metadata/#reflect.metadata\n /**\n * A default metadata decorator factory that can be used on a class, class member, or parameter.\n * @param metadataKey The key for the metadata entry.\n * @param metadataValue The value for the metadata entry.\n * @returns A decorator function.\n * @remarks\n * If `metadataKey` is already defined for the target and target key, the\n * metadataValue for that key will be overwritten.\n * @example\n *\n * // constructor\n * @Reflect.metadata(key, value)\n * class Example {\n * }\n *\n * // property (on constructor, TypeScript only)\n * class Example {\n * @Reflect.metadata(key, value)\n * static staticProperty;\n * }\n *\n * // property (on prototype, TypeScript only)\n * class Example {\n * @Reflect.metadata(key, value)\n * property;\n * }\n *\n * // method (on constructor)\n * class Example {\n * @Reflect.metadata(key, value)\n * static staticMethod() { }\n * }\n *\n * // method (on prototype)\n * class Example {\n * @Reflect.metadata(key, value)\n * method() { }\n * }\n *\n */\n function metadata(metadataKey, metadataValue) {\n function decorator(target, propertyKey) {\n if (!IsObject(target))\n throw new TypeError();\n if (!IsUndefined(propertyKey) && !IsPropertyKey(propertyKey))\n throw new TypeError();\n OrdinaryDefineOwnMetadata(metadataKey, metadataValue, target, propertyKey);\n }\n return decorator;\n }\n exporter(\"metadata\", metadata);\n /**\n * Define a unique metadata entry on the target.\n * @param metadataKey A key used to store and retrieve metadata.\n * @param metadataValue A value that contains attached metadata.\n * @param target The target object on which to define metadata.\n * @param propertyKey (Optional) The property key for the target.\n * @example\n *\n * class Example {\n * // property declarations are not part of ES6, though they are valid in TypeScript:\n * // static staticProperty;\n * // property;\n *\n * constructor(p) { }\n * static staticMethod(p) { }\n * method(p) { }\n * }\n *\n * // constructor\n * Reflect.defineMetadata(\"custom:annotation\", options, Example);\n *\n * // property (on constructor)\n * Reflect.defineMetadata(\"custom:annotation\", options, Example, \"staticProperty\");\n *\n * // property (on prototype)\n * Reflect.defineMetadata(\"custom:annotation\", options, Example.prototype, \"property\");\n *\n * // method (on constructor)\n * Reflect.defineMetadata(\"custom:annotation\", options, Example, \"staticMethod\");\n *\n * // method (on prototype)\n * Reflect.defineMetadata(\"custom:annotation\", options, Example.prototype, \"method\");\n *\n * // decorator factory as metadata-producing annotation.\n * function MyAnnotation(options): Decorator {\n * return (target, key?) => Reflect.defineMetadata(\"custom:annotation\", options, target, key);\n * }\n *\n */\n function defineMetadata(metadataKey, metadataValue, target, propertyKey) {\n if (!IsObject(target))\n throw new TypeError();\n if (!IsUndefined(propertyKey))\n propertyKey = ToPropertyKey(propertyKey);\n return OrdinaryDefineOwnMetadata(metadataKey, metadataValue, target, propertyKey);\n }\n exporter(\"defineMetadata\", defineMetadata);\n /**\n * Gets a value indicating whether the target object or its prototype chain has the provided metadata key defined.\n * @param metadataKey A key used to store and retrieve metadata.\n * @param target The target object on which the metadata is defined.\n * @param propertyKey (Optional) The property key for the target.\n * @returns `true` if the metadata key was defined on the target object or its prototype chain; otherwise, `false`.\n * @example\n *\n * class Example {\n * // property declarations are not part of ES6, though they are valid in TypeScript:\n * // static staticProperty;\n * // property;\n *\n * constructor(p) { }\n * static staticMethod(p) { }\n * method(p) { }\n * }\n *\n * // constructor\n * result = Reflect.hasMetadata(\"custom:annotation\", Example);\n *\n * // property (on constructor)\n * result = Reflect.hasMetadata(\"custom:annotation\", Example, \"staticProperty\");\n *\n * // property (on prototype)\n * result = Reflect.hasMetadata(\"custom:annotation\", Example.prototype, \"property\");\n *\n * // method (on constructor)\n * result = Reflect.hasMetadata(\"custom:annotation\", Example, \"staticMethod\");\n *\n * // method (on prototype)\n * result = Reflect.hasMetadata(\"custom:annotation\", Example.prototype, \"method\");\n *\n */\n function hasMetadata(metadataKey, target, propertyKey) {\n if (!IsObject(target))\n throw new TypeError();\n if (!IsUndefined(propertyKey))\n propertyKey = ToPropertyKey(propertyKey);\n return OrdinaryHasMetadata(metadataKey, target, propertyKey);\n }\n exporter(\"hasMetadata\", hasMetadata);\n /**\n * Gets a value indicating whether the target object has the provided metadata key defined.\n * @param metadataKey A key used to store and retrieve metadata.\n * @param target The target object on which the metadata is defined.\n * @param propertyKey (Optional) The property key for the target.\n * @returns `true` if the metadata key was defined on the target object; otherwise, `false`.\n * @example\n *\n * class Example {\n * // property declarations are not part of ES6, though they are valid in TypeScript:\n * // static staticProperty;\n * // property;\n *\n * constructor(p) { }\n * static staticMethod(p) { }\n * method(p) { }\n * }\n *\n * // constructor\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example);\n *\n * // property (on constructor)\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example, \"staticProperty\");\n *\n * // property (on prototype)\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example.prototype, \"property\");\n *\n * // method (on constructor)\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example, \"staticMethod\");\n *\n * // method (on prototype)\n * result = Reflect.hasOwnMetadata(\"custom:annotation\", Example.prototype, \"method\");\n *\n */\n function hasOwnMetadata(metadataKey, target, propertyKey) {\n if (!IsObject(target))\n throw new TypeError();\n if (!IsUndefined(propertyKey))\n propertyKey = ToPropertyKey(propertyKey);\n return OrdinaryHasOwnMetadata(metadataKey, target, propertyKey);\n }\n exporter(\"hasOwnMetadata\", hasOwnMetadata);\n /**\n * Gets the metadata value for the provided metadata key on the target object or its prototype chain.\n * @param metadataKey A key used to store and retrieve metadata.\n * @param target The target object on which the metadata is defined.\n * @param propertyKey (Optional) The property key for the target.\n * @returns The metadata value for the metadata key if found; otherwise, `undefined`.\n * @example\n *\n * class Example {\n * // property declarations are not part of ES6, though they are valid in TypeScript:\n * // static staticProperty;\n * // property;\n *\n * constructor(p) { }\n * static staticMethod(p) { }\n * method(p) { }\n * }\n *\n * // constructor\n * result = Reflect.getMetadata(\"custom:annotation\", Example);\n *\n * // property (on constructor)\n * result = Reflect.getMetadata(\"custom:annotation\", Example, \"staticProperty\");\n *\n * // property (on prototype)\n * result = Reflect.getMetadata(\"custom:annotation\", Example.prototype, \"property\");\n *\n * // method (on constructor)\n * result = Reflect.getMetadata(\"custom:annotation\", Example, \"staticMethod\");\n *\n * // method (on prototype)\n * result = Reflect.getMetadata(\"custom:annotation\", Example.prototype, \"method\");\n *\n */\n function getMetadata(metadataKey, target, propertyKey) {\n if (!IsObject(target))\n throw new TypeError();\n if (!IsUndefined(propertyKey))\n propertyKey = ToPropertyKey(propertyKey);\n return OrdinaryGetMetadata(metadataKey, target, propertyKey);\n }\n exporter(\"getMetadata\", getMetadata);\n /**\n * Gets the metadata value for the provided metadata key on the target object.\n * @param metadataKey A key used to store and retrieve metadata.\n * @param target The target object on which the metadata is defined.\n * @param propertyKey (Optional) The property key for the target.\n * @returns The metadata value for the metadata key if found; otherwise, `undefined`.\n * @example\n *\n * class Example {\n * // property declarations are not part of ES6, though they are valid in TypeScript:\n * // static staticProperty;\n * // property;\n *\n * constructor(p) { }\n * static staticMethod(p) { }\n * method(p) { }\n * }\n *\n * // constructor\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example);\n *\n * // property (on constructor)\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example, \"staticProperty\");\n *\n * // property (on prototype)\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example.prototype, \"property\");\n *\n * // method (on constructor)\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example, \"staticMethod\");\n *\n * // method (on prototype)\n * result = Reflect.getOwnMetadata(\"custom:annotation\", Example.prototype, \"method\");\n *\n */\n function getOwnMetadata(metadataKey, target, propertyKey) {\n if (!IsObject(target))\n throw new TypeError();\n if (!IsUndefined(propertyKey))\n propertyKey = ToPropertyKey(propertyKey);\n return OrdinaryGetOwnMetadata(metadataKey, target, propertyKey);\n }\n exporter(\"getOwnMetadata\", getOwnMetadata);\n /**\n * Gets the metadata keys defined on the target object or its prototype chain.\n * @param target The target object on which the metadata is defined.\n * @param propertyKey (Optional) The property key for the target.\n * @returns An array of unique metadata keys.\n * @example\n *\n * class Example {\n * // property declarations are not part of ES6, though they are valid in TypeScript:\n * // static staticProperty;\n * // property;\n *\n * constructor(p) { }\n * static staticMethod(p) { }\n * method(p) { }\n * }\n *\n * // constructor\n * result = Reflect.getMetadataKeys(Example);\n *\n * // property (on constructor)\n * result = Reflect.getMetadataKeys(Example, \"staticProperty\");\n *\n * // property (on prototype)\n * result = Reflect.getMetadataKeys(Example.prototype, \"property\");\n *\n * // method (on constructor)\n * result = Reflect.getMetadataKeys(Example, \"staticMethod\");\n *\n * // method (on prototype)\n * result = Reflect.getMetadataKeys(Example.prototype, \"method\");\n *\n */\n function getMetadataKeys(target, propertyKey) {\n if (!IsObject(target))\n throw new TypeError();\n if (!IsUndefined(propertyKey))\n propertyKey = ToPropertyKey(propertyKey);\n return OrdinaryMetadataKeys(target, propertyKey);\n }\n exporter(\"getMetadataKeys\", getMetadataKeys);\n /**\n * Gets the unique metadata keys defined on the target object.\n * @param target The target object on which the metadata is defined.\n * @param propertyKey (Optional) The property key for the target.\n * @returns An array of unique metadata keys.\n * @example\n *\n * class Example {\n * // property declarations are not part of ES6, though they are valid in TypeScript:\n * // static staticProperty;\n * // property;\n *\n * constructor(p) { }\n * static staticMethod(p) { }\n * method(p) { }\n * }\n *\n * // constructor\n * result = Reflect.getOwnMetadataKeys(Example);\n *\n * // property (on constructor)\n * result = Reflect.getOwnMetadataKeys(Example, \"staticProperty\");\n *\n * // property (on prototype)\n * result = Reflect.getOwnMetadataKeys(Example.prototype, \"property\");\n *\n * // method (on constructor)\n * result = Reflect.getOwnMetadataKeys(Example, \"staticMethod\");\n *\n * // method (on prototype)\n * result = Reflect.getOwnMetadataKeys(Example.prototype, \"method\");\n *\n */\n function getOwnMetadataKeys(target, propertyKey) {\n if (!IsObject(target))\n throw new TypeError();\n if (!IsUndefined(propertyKey))\n propertyKey = ToPropertyKey(propertyKey);\n return OrdinaryOwnMetadataKeys(target, propertyKey);\n }\n exporter(\"getOwnMetadataKeys\", getOwnMetadataKeys);\n /**\n * Deletes the metadata entry from the target object with the provided key.\n * @param metadataKey A key used to store and retrieve metadata.\n * @param target The target object on which the metadata is defined.\n * @param propertyKey (Optional) The property key for the target.\n * @returns `true` if the metadata entry was found and deleted; otherwise, false.\n * @example\n *\n * class Example {\n * // property declarations are not part of ES6, though they are valid in TypeScript:\n * // static staticProperty;\n * // property;\n *\n * constructor(p) { }\n * static staticMethod(p) { }\n * method(p) { }\n * }\n *\n * // constructor\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example);\n *\n * // property (on constructor)\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example, \"staticProperty\");\n *\n * // property (on prototype)\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example.prototype, \"property\");\n *\n * // method (on constructor)\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example, \"staticMethod\");\n *\n * // method (on prototype)\n * result = Reflect.deleteMetadata(\"custom:annotation\", Example.prototype, \"method\");\n *\n */\n function deleteMetadata(metadataKey, target, propertyKey) {\n if (!IsObject(target))\n throw new TypeError();\n if (!IsUndefined(propertyKey))\n propertyKey = ToPropertyKey(propertyKey);\n var metadataMap = GetOrCreateMetadataMap(target, propertyKey, /*Create*/ false);\n if (IsUndefined(metadataMap))\n return false;\n if (!metadataMap.delete(metadataKey))\n return false;\n if (metadataMap.size > 0)\n return true;\n var targetMetadata = Metadata.get(target);\n targetMetadata.delete(propertyKey);\n if (targetMetadata.size > 0)\n return true;\n Metadata.delete(target);\n return true;\n }\n exporter(\"deleteMetadata\", deleteMetadata);\n function DecorateConstructor(decorators, target) {\n for (var i = decorators.length - 1; i >= 0; --i) {\n var decorator = decorators[i];\n var decorated = decorator(target);\n if (!IsUndefined(decorated) && !IsNull(decorated)) {\n if (!IsConstructor(decorated))\n throw new TypeError();\n target = decorated;\n }\n }\n return target;\n }\n function DecorateProperty(decorators, target, propertyKey, descriptor) {\n for (var i = decorators.length - 1; i >= 0; --i) {\n var decorator = decorators[i];\n var decorated = decorator(target, propertyKey, descriptor);\n if (!IsUndefined(decorated) && !IsNull(decorated)) {\n if (!IsObject(decorated))\n throw new TypeError();\n descriptor = decorated;\n }\n }\n return descriptor;\n }\n function GetOrCreateMetadataMap(O, P, Create) {\n var targetMetadata = Metadata.get(O);\n if (IsUndefined(targetMetadata)) {\n if (!Create)\n return undefined;\n targetMetadata = new _Map();\n Metadata.set(O, targetMetadata);\n }\n var metadataMap = targetMetadata.get(P);\n if (IsUndefined(metadataMap)) {\n if (!Create)\n return undefined;\n metadataMap = new _Map();\n targetMetadata.set(P, metadataMap);\n }\n return metadataMap;\n }\n // 3.1.1.1 OrdinaryHasMetadata(MetadataKey, O, P)\n // https://rbuckton.github.io/reflect-metadata/#ordinaryhasmetadata\n function OrdinaryHasMetadata(MetadataKey, O, P) {\n var hasOwn = OrdinaryHasOwnMetadata(MetadataKey, O, P);\n if (hasOwn)\n return true;\n var parent = OrdinaryGetPrototypeOf(O);\n if (!IsNull(parent))\n return OrdinaryHasMetadata(MetadataKey, parent, P);\n return false;\n }\n // 3.1.2.1 OrdinaryHasOwnMetadata(MetadataKey, O, P)\n // https://rbuckton.github.io/reflect-metadata/#ordinaryhasownmetadata\n function OrdinaryHasOwnMetadata(MetadataKey, O, P) {\n var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ false);\n if (IsUndefined(metadataMap))\n return false;\n return ToBoolean(metadataMap.has(MetadataKey));\n }\n // 3.1.3.1 OrdinaryGetMetadata(MetadataKey, O, P)\n // https://rbuckton.github.io/reflect-metadata/#ordinarygetmetadata\n function OrdinaryGetMetadata(MetadataKey, O, P) {\n var hasOwn = OrdinaryHasOwnMetadata(MetadataKey, O, P);\n if (hasOwn)\n return OrdinaryGetOwnMetadata(MetadataKey, O, P);\n var parent = OrdinaryGetPrototypeOf(O);\n if (!IsNull(parent))\n return OrdinaryGetMetadata(MetadataKey, parent, P);\n return undefined;\n }\n // 3.1.4.1 OrdinaryGetOwnMetadata(MetadataKey, O, P)\n // https://rbuckton.github.io/reflect-metadata/#ordinarygetownmetadata\n function OrdinaryGetOwnMetadata(MetadataKey, O, P) {\n var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ false);\n if (IsUndefined(metadataMap))\n return undefined;\n return metadataMap.get(MetadataKey);\n }\n // 3.1.5.1 OrdinaryDefineOwnMetadata(MetadataKey, MetadataValue, O, P)\n // https://rbuckton.github.io/reflect-metadata/#ordinarydefineownmetadata\n function OrdinaryDefineOwnMetadata(MetadataKey, MetadataValue, O, P) {\n var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ true);\n metadataMap.set(MetadataKey, MetadataValue);\n }\n // 3.1.6.1 OrdinaryMetadataKeys(O, P)\n // https://rbuckton.github.io/reflect-metadata/#ordinarymetadatakeys\n function OrdinaryMetadataKeys(O, P) {\n var ownKeys = OrdinaryOwnMetadataKeys(O, P);\n var parent = OrdinaryGetPrototypeOf(O);\n if (parent === null)\n return ownKeys;\n var parentKeys = OrdinaryMetadataKeys(parent, P);\n if (parentKeys.length <= 0)\n return ownKeys;\n if (ownKeys.length <= 0)\n return parentKeys;\n var set = new _Set();\n var keys = [];\n for (var _i = 0, ownKeys_1 = ownKeys; _i < ownKeys_1.length; _i++) {\n var key = ownKeys_1[_i];\n var hasKey = set.has(key);\n if (!hasKey) {\n set.add(key);\n keys.push(key);\n }\n }\n for (var _a = 0, parentKeys_1 = parentKeys; _a < parentKeys_1.length; _a++) {\n var key = parentKeys_1[_a];\n var hasKey = set.has(key);\n if (!hasKey) {\n set.add(key);\n keys.push(key);\n }\n }\n return keys;\n }\n // 3.1.7.1 OrdinaryOwnMetadataKeys(O, P)\n // https://rbuckton.github.io/reflect-metadata/#ordinaryownmetadatakeys\n function OrdinaryOwnMetadataKeys(O, P) {\n var keys = [];\n var metadataMap = GetOrCreateMetadataMap(O, P, /*Create*/ false);\n if (IsUndefined(metadataMap))\n return keys;\n var keysObj = metadataMap.keys();\n var iterator = GetIterator(keysObj);\n var k = 0;\n while (true) {\n var next = IteratorStep(iterator);\n if (!next) {\n keys.length = k;\n return keys;\n }\n var nextValue = IteratorValue(next);\n try {\n keys[k] = nextValue;\n }\n catch (e) {\n try {\n IteratorClose(iterator);\n }\n finally {\n throw e;\n }\n }\n k++;\n }\n }\n // 6 ECMAScript Data Typ0es and Values\n // https://tc39.github.io/ecma262/#sec-ecmascript-data-types-and-values\n function Type(x) {\n if (x === null)\n return 1 /* Null */;\n switch (typeof x) {\n case \"undefined\": return 0 /* Undefined */;\n case \"boolean\": return 2 /* Boolean */;\n case \"string\": return 3 /* String */;\n case \"symbol\": return 4 /* Symbol */;\n case \"number\": return 5 /* Number */;\n case \"object\": return x === null ? 1 /* Null */ : 6 /* Object */;\n default: return 6 /* Object */;\n }\n }\n // 6.1.1 The Undefined Type\n // https://tc39.github.io/ecma262/#sec-ecmascript-language-types-undefined-type\n function IsUndefined(x) {\n return x === undefined;\n }\n // 6.1.2 The Null Type\n // https://tc39.github.io/ecma262/#sec-ecmascript-language-types-null-type\n function IsNull(x) {\n return x === null;\n }\n // 6.1.5 The Symbol Type\n // https://tc39.github.io/ecma262/#sec-ecmascript-language-types-symbol-type\n function IsSymbol(x) {\n return typeof x === \"symbol\";\n }\n // 6.1.7 The Object Type\n // https://tc39.github.io/ecma262/#sec-object-type\n function IsObject(x) {\n return typeof x === \"object\" ? x !== null : typeof x === \"function\";\n }\n // 7.1 Type Conversion\n // https://tc39.github.io/ecma262/#sec-type-conversion\n // 7.1.1 ToPrimitive(input [, PreferredType])\n // https://tc39.github.io/ecma262/#sec-toprimitive\n function ToPrimitive(input, PreferredType) {\n switch (Type(input)) {\n case 0 /* Undefined */: return input;\n case 1 /* Null */: return input;\n case 2 /* Boolean */: return input;\n case 3 /* String */: return input;\n case 4 /* Symbol */: return input;\n case 5 /* Number */: return input;\n }\n var hint = PreferredType === 3 /* String */ ? \"string\" : PreferredType === 5 /* Number */ ? \"number\" : \"default\";\n var exoticToPrim = GetMethod(input, toPrimitiveSymbol);\n if (exoticToPrim !== undefined) {\n var result = exoticToPrim.call(input, hint);\n if (IsObject(result))\n throw new TypeError();\n return result;\n }\n return OrdinaryToPrimitive(input, hint === \"default\" ? \"number\" : hint);\n }\n // 7.1.1.1 OrdinaryToPrimitive(O, hint)\n // https://tc39.github.io/ecma262/#sec-ordinarytoprimitive\n function OrdinaryToPrimitive(O, hint) {\n if (hint === \"string\") {\n var toString_1 = O.toString;\n if (IsCallable(toString_1)) {\n var result = toString_1.call(O);\n if (!IsObject(result))\n return result;\n }\n var valueOf = O.valueOf;\n if (IsCallable(valueOf)) {\n var result = valueOf.call(O);\n if (!IsObject(result))\n return result;\n }\n }\n else {\n var valueOf = O.valueOf;\n if (IsCallable(valueOf)) {\n var result = valueOf.call(O);\n if (!IsObject(result))\n return result;\n }\n var toString_2 = O.toString;\n if (IsCallable(toString_2)) {\n var result = toString_2.call(O);\n if (!IsObject(result))\n return result;\n }\n }\n throw new TypeError();\n }\n // 7.1.2 ToBoolean(argument)\n // https://tc39.github.io/ecma262/2016/#sec-toboolean\n function ToBoolean(argument) {\n return !!argument;\n }\n // 7.1.12 ToString(argument)\n // https://tc39.github.io/ecma262/#sec-tostring\n function ToString(argument) {\n return \"\" + argument;\n }\n // 7.1.14 ToPropertyKey(argument)\n // https://tc39.github.io/ecma262/#sec-topropertykey\n function ToPropertyKey(argument) {\n var key = ToPrimitive(argument, 3 /* String */);\n if (IsSymbol(key))\n return key;\n return ToString(key);\n }\n // 7.2 Testing and Comparison Operations\n // https://tc39.github.io/ecma262/#sec-testing-and-comparison-operations\n // 7.2.2 IsArray(argument)\n // https://tc39.github.io/ecma262/#sec-isarray\n function IsArray(argument) {\n return Array.isArray\n ? Array.isArray(argument)\n : argument instanceof Object\n ? argument instanceof Array\n : Object.prototype.toString.call(argument) === \"[object Array]\";\n }\n // 7.2.3 IsCallable(argument)\n // https://tc39.github.io/ecma262/#sec-iscallable\n function IsCallable(argument) {\n // NOTE: This is an approximation as we cannot check for [[Call]] internal method.\n return typeof argument === \"function\";\n }\n // 7.2.4 IsConstructor(argument)\n // https://tc39.github.io/ecma262/#sec-isconstructor\n function IsConstructor(argument) {\n // NOTE: This is an approximation as we cannot check for [[Construct]] internal method.\n return typeof argument === \"function\";\n }\n // 7.2.7 IsPropertyKey(argument)\n // https://tc39.github.io/ecma262/#sec-ispropertykey\n function IsPropertyKey(argument) {\n switch (Type(argument)) {\n case 3 /* String */: return true;\n case 4 /* Symbol */: return true;\n default: return false;\n }\n }\n // 7.3 Operations on Objects\n // https://tc39.github.io/ecma262/#sec-operations-on-objects\n // 7.3.9 GetMethod(V, P)\n // https://tc39.github.io/ecma262/#sec-getmethod\n function GetMethod(V, P) {\n var func = V[P];\n if (func === undefined || func === null)\n return undefined;\n if (!IsCallable(func))\n throw new TypeError();\n return func;\n }\n // 7.4 Operations on Iterator Objects\n // https://tc39.github.io/ecma262/#sec-operations-on-iterator-objects\n function GetIterator(obj) {\n var method = GetMethod(obj, iteratorSymbol);\n if (!IsCallable(method))\n throw new TypeError(); // from Call\n var iterator = method.call(obj);\n if (!IsObject(iterator))\n throw new TypeError();\n return iterator;\n }\n // 7.4.4 IteratorValue(iterResult)\n // https://tc39.github.io/ecma262/2016/#sec-iteratorvalue\n function IteratorValue(iterResult) {\n return iterResult.value;\n }\n // 7.4.5 IteratorStep(iterator)\n // https://tc39.github.io/ecma262/#sec-iteratorstep\n function IteratorStep(iterator) {\n var result = iterator.next();\n return result.done ? false : result;\n }\n // 7.4.6 IteratorClose(iterator, completion)\n // https://tc39.github.io/ecma262/#sec-iteratorclose\n function IteratorClose(iterator) {\n var f = iterator[\"return\"];\n if (f)\n f.call(iterator);\n }\n // 9.1 Ordinary Object Internal Methods and Internal Slots\n // https://tc39.github.io/ecma262/#sec-ordinary-object-internal-methods-and-internal-slots\n // 9.1.1.1 OrdinaryGetPrototypeOf(O)\n // https://tc39.github.io/ecma262/#sec-ordinarygetprototypeof\n function OrdinaryGetPrototypeOf(O) {\n var proto = Object.getPrototypeOf(O);\n if (typeof O !== \"function\" || O === functionPrototype)\n return proto;\n // TypeScript doesn't set __proto__ in ES5, as it's non-standard.\n // Try to determine the superclass constructor. Compatible implementations\n // must either set __proto__ on a subclass constructor to the superclass constructor,\n // or ensure each class has a valid `constructor` property on its prototype that\n // points back to the constructor.\n // If this is not the same as Function.[[Prototype]], then this is definately inherited.\n // This is the case when in ES6 or when using __proto__ in a compatible browser.\n if (proto !== functionPrototype)\n return proto;\n // If the super prototype is Object.prototype, null, or undefined, then we cannot determine the heritage.\n var prototype = O.prototype;\n var prototypeProto = prototype && Object.getPrototypeOf(prototype);\n if (prototypeProto == null || prototypeProto === Object.prototype)\n return proto;\n // If the constructor was not a function, then we cannot determine the heritage.\n var constructor = prototypeProto.constructor;\n if (typeof constructor !== \"function\")\n return proto;\n // If we have some kind of self-reference, then we cannot determine the heritage.\n if (constructor === O)\n return proto;\n // we have a pretty good guess at the heritage.\n return constructor;\n }\n // naive Map shim\n function CreateMapPolyfill() {\n var cacheSentinel = {};\n var arraySentinel = [];\n var MapIterator = /** @class */ (function () {\n function MapIterator(keys, values, selector) {\n this._index = 0;\n this._keys = keys;\n this._values = values;\n this._selector = selector;\n }\n MapIterator.prototype[\"@@iterator\"] = function () { return this; };\n MapIterator.prototype[iteratorSymbol] = function () { return this; };\n MapIterator.prototype.next = function () {\n var index = this._index;\n if (index >= 0 && index < this._keys.length) {\n var result = this._selector(this._keys[index], this._values[index]);\n if (index + 1 >= this._keys.length) {\n this._index = -1;\n this._keys = arraySentinel;\n this._values = arraySentinel;\n }\n else {\n this._index++;\n }\n return { value: result, done: false };\n }\n return { value: undefined, done: true };\n };\n MapIterator.prototype.throw = function (error) {\n if (this._index >= 0) {\n this._index = -1;\n this._keys = arraySentinel;\n this._values = arraySentinel;\n }\n throw error;\n };\n MapIterator.prototype.return = function (value) {\n if (this._index >= 0) {\n this._index = -1;\n this._keys = arraySentinel;\n this._values = arraySentinel;\n }\n return { value: value, done: true };\n };\n return MapIterator;\n }());\n return /** @class */ (function () {\n function Map() {\n this._keys = [];\n this._values = [];\n this._cacheKey = cacheSentinel;\n this._cacheIndex = -2;\n }\n Object.defineProperty(Map.prototype, \"size\", {\n get: function () { return this._keys.length; },\n enumerable: true,\n configurable: true\n });\n Map.prototype.has = function (key) { return this._find(key, /*insert*/ false) >= 0; };\n Map.prototype.get = function (key) {\n var index = this._find(key, /*insert*/ false);\n return index >= 0 ? this._values[index] : undefined;\n };\n Map.prototype.set = function (key, value) {\n var index = this._find(key, /*insert*/ true);\n this._values[index] = value;\n return this;\n };\n Map.prototype.delete = function (key) {\n var index = this._find(key, /*insert*/ false);\n if (index >= 0) {\n var size = this._keys.length;\n for (var i = index + 1; i < size; i++) {\n this._keys[i - 1] = this._keys[i];\n this._values[i - 1] = this._values[i];\n }\n this._keys.length--;\n this._values.length--;\n if (key === this._cacheKey) {\n this._cacheKey = cacheSentinel;\n this._cacheIndex = -2;\n }\n return true;\n }\n return false;\n };\n Map.prototype.clear = function () {\n this._keys.length = 0;\n this._values.length = 0;\n this._cacheKey = cacheSentinel;\n this._cacheIndex = -2;\n };\n Map.prototype.keys = function () { return new MapIterator(this._keys, this._values, getKey); };\n Map.prototype.values = function () { return new MapIterator(this._keys, this._values, getValue); };\n Map.prototype.entries = function () { return new MapIterator(this._keys, this._values, getEntry); };\n Map.prototype[\"@@iterator\"] = function () { return this.entries(); };\n Map.prototype[iteratorSymbol] = function () { return this.entries(); };\n Map.prototype._find = function (key, insert) {\n if (this._cacheKey !== key) {\n this._cacheIndex = this._keys.indexOf(this._cacheKey = key);\n }\n if (this._cacheIndex < 0 && insert) {\n this._cacheIndex = this._keys.length;\n this._keys.push(key);\n this._values.push(undefined);\n }\n return this._cacheIndex;\n };\n return Map;\n }());\n function getKey(key, _) {\n return key;\n }\n function getValue(_, value) {\n return value;\n }\n function getEntry(key, value) {\n return [key, value];\n }\n }\n // naive Set shim\n function CreateSetPolyfill() {\n return /** @class */ (function () {\n function Set() {\n this._map = new _Map();\n }\n Object.defineProperty(Set.prototype, \"size\", {\n get: function () { return this._map.size; },\n enumerable: true,\n configurable: true\n });\n Set.prototype.has = function (value) { return this._map.has(value); };\n Set.prototype.add = function (value) { return this._map.set(value, value), this; };\n Set.prototype.delete = function (value) { return this._map.delete(value); };\n Set.prototype.clear = function () { this._map.clear(); };\n Set.prototype.keys = function () { return this._map.keys(); };\n Set.prototype.values = function () { return this._map.values(); };\n Set.prototype.entries = function () { return this._map.entries(); };\n Set.prototype[\"@@iterator\"] = function () { return this.keys(); };\n Set.prototype[iteratorSymbol] = function () { return this.keys(); };\n return Set;\n }());\n }\n // naive WeakMap shim\n function CreateWeakMapPolyfill() {\n var UUID_SIZE = 16;\n var keys = HashMap.create();\n var rootKey = CreateUniqueKey();\n return /** @class */ (function () {\n function WeakMap() {\n this._key = CreateUniqueKey();\n }\n WeakMap.prototype.has = function (target) {\n var table = GetOrCreateWeakMapTable(target, /*create*/ false);\n return table !== undefined ? HashMap.has(table, this._key) : false;\n };\n WeakMap.prototype.get = function (target) {\n var table = GetOrCreateWeakMapTable(target, /*create*/ false);\n return table !== undefined ? HashMap.get(table, this._key) : undefined;\n };\n WeakMap.prototype.set = function (target, value) {\n var table = GetOrCreateWeakMapTable(target, /*create*/ true);\n table[this._key] = value;\n return this;\n };\n WeakMap.prototype.delete = function (target) {\n var table = GetOrCreateWeakMapTable(target, /*create*/ false);\n return table !== undefined ? delete table[this._key] : false;\n };\n WeakMap.prototype.clear = function () {\n // NOTE: not a real clear, just makes the previous data unreachable\n this._key = CreateUniqueKey();\n };\n return WeakMap;\n }());\n function CreateUniqueKey() {\n var key;\n do\n key = \"@@WeakMap@@\" + CreateUUID();\n while (HashMap.has(keys, key));\n keys[key] = true;\n return key;\n }\n function GetOrCreateWeakMapTable(target, create) {\n if (!hasOwn.call(target, rootKey)) {\n if (!create)\n return undefined;\n Object.defineProperty(target, rootKey, { value: HashMap.create() });\n }\n return target[rootKey];\n }\n function FillRandomBytes(buffer, size) {\n for (var i = 0; i < size; ++i)\n buffer[i] = Math.random() * 0xff | 0;\n return buffer;\n }\n function GenRandomBytes(size) {\n if (typeof Uint8Array === \"function\") {\n if (typeof crypto !== \"undefined\")\n return crypto.getRandomValues(new Uint8Array(size));\n if (typeof msCrypto !== \"undefined\")\n return msCrypto.getRandomValues(new Uint8Array(size));\n return FillRandomBytes(new Uint8Array(size), size);\n }\n return FillRandomBytes(new Array(size), size);\n }\n function CreateUUID() {\n var data = GenRandomBytes(UUID_SIZE);\n // mark as random - RFC 4122 § 4.4\n data[6] = data[6] & 0x4f | 0x40;\n data[8] = data[8] & 0xbf | 0x80;\n var result = \"\";\n for (var offset = 0; offset < UUID_SIZE; ++offset) {\n var byte = data[offset];\n if (offset === 4 || offset === 6 || offset === 8)\n result += \"-\";\n if (byte < 16)\n result += \"0\";\n result += byte.toString(16).toLowerCase();\n }\n return result;\n }\n }\n // uses a heuristic used by v8 and chakra to force an object into dictionary mode.\n function MakeDictionary(obj) {\n obj.__ = undefined;\n delete obj.__;\n return obj;\n }\n });\n})(Reflect || (Reflect = {}));\n","/*jshint node:true*/\n'use strict';\n\n/**\n * Replaces characters in strings that are illegal/unsafe for filenames.\n * Unsafe characters are either removed or replaced by a substitute set\n * in the optional `options` object.\n *\n * Illegal Characters on Various Operating Systems\n * / ? < > \\ : * | \"\n * https://kb.acronis.com/content/39790\n *\n * Unicode Control codes\n * C0 0x00-0x1f & C1 (0x80-0x9f)\n * http://en.wikipedia.org/wiki/C0_and_C1_control_codes\n *\n * Reserved filenames on Unix-based systems (\".\", \"..\")\n * Reserved filenames in Windows (\"CON\", \"PRN\", \"AUX\", \"NUL\", \"COM1\",\n * \"COM2\", \"COM3\", \"COM4\", \"COM5\", \"COM6\", \"COM7\", \"COM8\", \"COM9\",\n * \"LPT1\", \"LPT2\", \"LPT3\", \"LPT4\", \"LPT5\", \"LPT6\", \"LPT7\", \"LPT8\", and\n * \"LPT9\") case-insesitively and with or without filename extensions.\n *\n * Capped at 255 characters in length.\n * http://unix.stackexchange.com/questions/32795/what-is-the-maximum-allowed-filename-and-folder-size-with-ecryptfs\n *\n * @param {String} input Original filename\n * @param {Object} options {replacement: String | Function }\n * @return {String} Sanitized filename\n */\n\nvar truncate = require(\"truncate-utf8-bytes\");\n\nvar illegalRe = /[\\/\\?<>\\\\:\\*\\|\"]/g;\nvar controlRe = /[\\x00-\\x1f\\x80-\\x9f]/g;\nvar reservedRe = /^\\.+$/;\nvar windowsReservedRe = /^(con|prn|aux|nul|com[0-9]|lpt[0-9])(\\..*)?$/i;\nvar windowsTrailingRe = /[\\. ]+$/;\n\nfunction sanitize(input, replacement) {\n if (typeof input !== 'string') {\n throw new Error('Input must be string');\n }\n var sanitized = input\n .replace(illegalRe, replacement)\n .replace(controlRe, replacement)\n .replace(reservedRe, replacement)\n .replace(windowsReservedRe, replacement)\n .replace(windowsTrailingRe, replacement);\n return truncate(sanitized, 255);\n}\n\nmodule.exports = function (input, options) {\n var replacement = (options && options.replacement) || '';\n var output = sanitize(input, replacement);\n if (replacement === '') {\n return output;\n }\n return sanitize(output, '');\n};\n","// A library of seedable RNGs implemented in Javascript.\n//\n// Usage:\n//\n// var seedrandom = require('seedrandom');\n// var random = seedrandom(1); // or any seed.\n// var x = random(); // 0 <= x < 1. Every bit is random.\n// var x = random.quick(); // 0 <= x < 1. 32 bits of randomness.\n\n// alea, a 53-bit multiply-with-carry generator by Johannes Baagøe.\n// Period: ~2^116\n// Reported to pass all BigCrush tests.\nvar alea = require('./lib/alea');\n\n// xor128, a pure xor-shift generator by George Marsaglia.\n// Period: 2^128-1.\n// Reported to fail: MatrixRank and LinearComp.\nvar xor128 = require('./lib/xor128');\n\n// xorwow, George Marsaglia's 160-bit xor-shift combined plus weyl.\n// Period: 2^192-2^32\n// Reported to fail: CollisionOver, SimpPoker, and LinearComp.\nvar xorwow = require('./lib/xorwow');\n\n// xorshift7, by François Panneton and Pierre L'ecuyer, takes\n// a different approach: it adds robustness by allowing more shifts\n// than Marsaglia's original three. It is a 7-shift generator\n// with 256 bits, that passes BigCrush with no systmatic failures.\n// Period 2^256-1.\n// No systematic BigCrush failures reported.\nvar xorshift7 = require('./lib/xorshift7');\n\n// xor4096, by Richard Brent, is a 4096-bit xor-shift with a\n// very long period that also adds a Weyl generator. It also passes\n// BigCrush with no systematic failures. Its long period may\n// be useful if you have many generators and need to avoid\n// collisions.\n// Period: 2^4128-2^32.\n// No systematic BigCrush failures reported.\nvar xor4096 = require('./lib/xor4096');\n\n// Tyche-i, by Samuel Neves and Filipe Araujo, is a bit-shifting random\n// number generator derived from ChaCha, a modern stream cipher.\n// https://eden.dei.uc.pt/~sneves/pubs/2011-snfa2.pdf\n// Period: ~2^127\n// No systematic BigCrush failures reported.\nvar tychei = require('./lib/tychei');\n\n// The original ARC4-based prng included in this library.\n// Period: ~2^1600\nvar sr = require('./seedrandom');\n\nsr.alea = alea;\nsr.xor128 = xor128;\nsr.xorwow = xorwow;\nsr.xorshift7 = xorshift7;\nsr.xor4096 = xor4096;\nsr.tychei = tychei;\n\nmodule.exports = sr;\n","// A port of an algorithm by Johannes Baagøe <baagoe@baagoe.com>, 2010\n// http://baagoe.com/en/RandomMusings/javascript/\n// https://github.com/nquinlan/better-random-numbers-for-javascript-mirror\n// Original work is under MIT license -\n\n// Copyright (C) 2010 by Johannes Baagøe <baagoe@baagoe.org>\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\n\n\n(function(global, module, define) {\n\nfunction Alea(seed) {\n var me = this, mash = Mash();\n\n me.next = function() {\n var t = 2091639 * me.s0 + me.c * 2.3283064365386963e-10; // 2^-32\n me.s0 = me.s1;\n me.s1 = me.s2;\n return me.s2 = t - (me.c = t | 0);\n };\n\n // Apply the seeding algorithm from Baagoe.\n me.c = 1;\n me.s0 = mash(' ');\n me.s1 = mash(' ');\n me.s2 = mash(' ');\n me.s0 -= mash(seed);\n if (me.s0 < 0) { me.s0 += 1; }\n me.s1 -= mash(seed);\n if (me.s1 < 0) { me.s1 += 1; }\n me.s2 -= mash(seed);\n if (me.s2 < 0) { me.s2 += 1; }\n mash = null;\n}\n\nfunction copy(f, t) {\n t.c = f.c;\n t.s0 = f.s0;\n t.s1 = f.s1;\n t.s2 = f.s2;\n return t;\n}\n\nfunction impl(seed, opts) {\n var xg = new Alea(seed),\n state = opts && opts.state,\n prng = xg.next;\n prng.int32 = function() { return (xg.next() * 0x100000000) | 0; }\n prng.double = function() {\n return prng() + (prng() * 0x200000 | 0) * 1.1102230246251565e-16; // 2^-53\n };\n prng.quick = prng;\n if (state) {\n if (typeof(state) == 'object') copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nfunction Mash() {\n var n = 0xefc8249d;\n\n var mash = function(data) {\n data = String(data);\n for (var i = 0; i < data.length; i++) {\n n += data.charCodeAt(i);\n var h = 0.02519603282416938 * n;\n n = h >>> 0;\n h -= n;\n h *= n;\n n = h >>> 0;\n h -= n;\n n += h * 0x100000000; // 2^32\n }\n return (n >>> 0) * 2.3283064365386963e-10; // 2^-32\n };\n\n return mash;\n}\n\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.alea = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n\n","// A Javascript implementaion of the \"Tyche-i\" prng algorithm by\n// Samuel Neves and Filipe Araujo.\n// See https://eden.dei.uc.pt/~sneves/pubs/2011-snfa2.pdf\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this, strseed = '';\n\n // Set up generator function.\n me.next = function() {\n var b = me.b, c = me.c, d = me.d, a = me.a;\n b = (b << 25) ^ (b >>> 7) ^ c;\n c = (c - d) | 0;\n d = (d << 24) ^ (d >>> 8) ^ a;\n a = (a - b) | 0;\n me.b = b = (b << 20) ^ (b >>> 12) ^ c;\n me.c = c = (c - d) | 0;\n me.d = (d << 16) ^ (c >>> 16) ^ a;\n return me.a = (a - b) | 0;\n };\n\n /* The following is non-inverted tyche, which has better internal\n * bit diffusion, but which is about 25% slower than tyche-i in JS.\n me.next = function() {\n var a = me.a, b = me.b, c = me.c, d = me.d;\n a = (me.a + me.b | 0) >>> 0;\n d = me.d ^ a; d = d << 16 ^ d >>> 16;\n c = me.c + d | 0;\n b = me.b ^ c; b = b << 12 ^ d >>> 20;\n me.a = a = a + b | 0;\n d = d ^ a; me.d = d = d << 8 ^ d >>> 24;\n me.c = c = c + d | 0;\n b = b ^ c;\n return me.b = (b << 7 ^ b >>> 25);\n }\n */\n\n me.a = 0;\n me.b = 0;\n me.c = 2654435769 | 0;\n me.d = 1367130551;\n\n if (seed === Math.floor(seed)) {\n // Integer seed.\n me.a = (seed / 0x100000000) | 0;\n me.b = seed | 0;\n } else {\n // String seed.\n strseed += seed;\n }\n\n // Mix in string seed, then discard an initial batch of 64 values.\n for (var k = 0; k < strseed.length + 20; k++) {\n me.b ^= strseed.charCodeAt(k) | 0;\n me.next();\n }\n}\n\nfunction copy(f, t) {\n t.a = f.a;\n t.b = f.b;\n t.c = f.c;\n t.d = f.d;\n return t;\n};\n\nfunction impl(seed, opts) {\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (typeof(state) == 'object') copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.tychei = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n\n","// A Javascript implementaion of the \"xor128\" prng algorithm by\n// George Marsaglia. See http://www.jstatsoft.org/v08/i14/paper\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this, strseed = '';\n\n me.x = 0;\n me.y = 0;\n me.z = 0;\n me.w = 0;\n\n // Set up generator function.\n me.next = function() {\n var t = me.x ^ (me.x << 11);\n me.x = me.y;\n me.y = me.z;\n me.z = me.w;\n return me.w ^= (me.w >>> 19) ^ t ^ (t >>> 8);\n };\n\n if (seed === (seed | 0)) {\n // Integer seed.\n me.x = seed;\n } else {\n // String seed.\n strseed += seed;\n }\n\n // Mix in string seed, then discard an initial batch of 64 values.\n for (var k = 0; k < strseed.length + 64; k++) {\n me.x ^= strseed.charCodeAt(k) | 0;\n me.next();\n }\n}\n\nfunction copy(f, t) {\n t.x = f.x;\n t.y = f.y;\n t.z = f.z;\n t.w = f.w;\n return t;\n}\n\nfunction impl(seed, opts) {\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (typeof(state) == 'object') copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.xor128 = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n\n","// A Javascript implementaion of Richard Brent's Xorgens xor4096 algorithm.\n//\n// This fast non-cryptographic random number generator is designed for\n// use in Monte-Carlo algorithms. It combines a long-period xorshift\n// generator with a Weyl generator, and it passes all common batteries\n// of stasticial tests for randomness while consuming only a few nanoseconds\n// for each prng generated. For background on the generator, see Brent's\n// paper: \"Some long-period random number generators using shifts and xors.\"\n// http://arxiv.org/pdf/1004.3115v1.pdf\n//\n// Usage:\n//\n// var xor4096 = require('xor4096');\n// random = xor4096(1); // Seed with int32 or string.\n// assert.equal(random(), 0.1520436450538547); // (0, 1) range, 53 bits.\n// assert.equal(random.int32(), 1806534897); // signed int32, 32 bits.\n//\n// For nonzero numeric keys, this impelementation provides a sequence\n// identical to that by Brent's xorgens 3 implementaion in C. This\n// implementation also provides for initalizing the generator with\n// string seeds, or for saving and restoring the state of the generator.\n//\n// On Chrome, this prng benchmarks about 2.1 times slower than\n// Javascript's built-in Math.random().\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this;\n\n // Set up generator function.\n me.next = function() {\n var w = me.w,\n X = me.X, i = me.i, t, v;\n // Update Weyl generator.\n me.w = w = (w + 0x61c88647) | 0;\n // Update xor generator.\n v = X[(i + 34) & 127];\n t = X[i = ((i + 1) & 127)];\n v ^= v << 13;\n t ^= t << 17;\n v ^= v >>> 15;\n t ^= t >>> 12;\n // Update Xor generator array state.\n v = X[i] = v ^ t;\n me.i = i;\n // Result is the combination.\n return (v + (w ^ (w >>> 16))) | 0;\n };\n\n function init(me, seed) {\n var t, v, i, j, w, X = [], limit = 128;\n if (seed === (seed | 0)) {\n // Numeric seeds initialize v, which is used to generates X.\n v = seed;\n seed = null;\n } else {\n // String seeds are mixed into v and X one character at a time.\n seed = seed + '\\0';\n v = 0;\n limit = Math.max(limit, seed.length);\n }\n // Initialize circular array and weyl value.\n for (i = 0, j = -32; j < limit; ++j) {\n // Put the unicode characters into the array, and shuffle them.\n if (seed) v ^= seed.charCodeAt((j + 32) % seed.length);\n // After 32 shuffles, take v as the starting w value.\n if (j === 0) w = v;\n v ^= v << 10;\n v ^= v >>> 15;\n v ^= v << 4;\n v ^= v >>> 13;\n if (j >= 0) {\n w = (w + 0x61c88647) | 0; // Weyl.\n t = (X[j & 127] ^= (v + w)); // Combine xor and weyl to init array.\n i = (0 == t) ? i + 1 : 0; // Count zeroes.\n }\n }\n // We have detected all zeroes; make the key nonzero.\n if (i >= 128) {\n X[(seed && seed.length || 0) & 127] = -1;\n }\n // Run the generator 512 times to further mix the state before using it.\n // Factoring this as a function slows the main generator, so it is just\n // unrolled here. The weyl generator is not advanced while warming up.\n i = 127;\n for (j = 4 * 128; j > 0; --j) {\n v = X[(i + 34) & 127];\n t = X[i = ((i + 1) & 127)];\n v ^= v << 13;\n t ^= t << 17;\n v ^= v >>> 15;\n t ^= t >>> 12;\n X[i] = v ^ t;\n }\n // Storing state as object members is faster than using closure variables.\n me.w = w;\n me.X = X;\n me.i = i;\n }\n\n init(me, seed);\n}\n\nfunction copy(f, t) {\n t.i = f.i;\n t.w = f.w;\n t.X = f.X.slice();\n return t;\n};\n\nfunction impl(seed, opts) {\n if (seed == null) seed = +(new Date);\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (state.X) copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.xor4096 = impl;\n}\n\n})(\n this, // window object or global\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n","// A Javascript implementaion of the \"xorshift7\" algorithm by\n// François Panneton and Pierre L'ecuyer:\n// \"On the Xorgshift Random Number Generators\"\n// http://saluc.engr.uconn.edu/refs/crypto/rng/panneton05onthexorshift.pdf\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this;\n\n // Set up generator function.\n me.next = function() {\n // Update xor generator.\n var X = me.x, i = me.i, t, v, w;\n t = X[i]; t ^= (t >>> 7); v = t ^ (t << 24);\n t = X[(i + 1) & 7]; v ^= t ^ (t >>> 10);\n t = X[(i + 3) & 7]; v ^= t ^ (t >>> 3);\n t = X[(i + 4) & 7]; v ^= t ^ (t << 7);\n t = X[(i + 7) & 7]; t = t ^ (t << 13); v ^= t ^ (t << 9);\n X[i] = v;\n me.i = (i + 1) & 7;\n return v;\n };\n\n function init(me, seed) {\n var j, w, X = [];\n\n if (seed === (seed | 0)) {\n // Seed state array using a 32-bit integer.\n w = X[0] = seed;\n } else {\n // Seed state using a string.\n seed = '' + seed;\n for (j = 0; j < seed.length; ++j) {\n X[j & 7] = (X[j & 7] << 15) ^\n (seed.charCodeAt(j) + X[(j + 1) & 7] << 13);\n }\n }\n // Enforce an array length of 8, not all zeroes.\n while (X.length < 8) X.push(0);\n for (j = 0; j < 8 && X[j] === 0; ++j);\n if (j == 8) w = X[7] = -1; else w = X[j];\n\n me.x = X;\n me.i = 0;\n\n // Discard an initial 256 values.\n for (j = 256; j > 0; --j) {\n me.next();\n }\n }\n\n init(me, seed);\n}\n\nfunction copy(f, t) {\n t.x = f.x.slice();\n t.i = f.i;\n return t;\n}\n\nfunction impl(seed, opts) {\n if (seed == null) seed = +(new Date);\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (state.x) copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.xorshift7 = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n","// A Javascript implementaion of the \"xorwow\" prng algorithm by\n// George Marsaglia. See http://www.jstatsoft.org/v08/i14/paper\n\n(function(global, module, define) {\n\nfunction XorGen(seed) {\n var me = this, strseed = '';\n\n // Set up generator function.\n me.next = function() {\n var t = (me.x ^ (me.x >>> 2));\n me.x = me.y; me.y = me.z; me.z = me.w; me.w = me.v;\n return (me.d = (me.d + 362437 | 0)) +\n (me.v = (me.v ^ (me.v << 4)) ^ (t ^ (t << 1))) | 0;\n };\n\n me.x = 0;\n me.y = 0;\n me.z = 0;\n me.w = 0;\n me.v = 0;\n\n if (seed === (seed | 0)) {\n // Integer seed.\n me.x = seed;\n } else {\n // String seed.\n strseed += seed;\n }\n\n // Mix in string seed, then discard an initial batch of 64 values.\n for (var k = 0; k < strseed.length + 64; k++) {\n me.x ^= strseed.charCodeAt(k) | 0;\n if (k == strseed.length) {\n me.d = me.x << 10 ^ me.x >>> 4;\n }\n me.next();\n }\n}\n\nfunction copy(f, t) {\n t.x = f.x;\n t.y = f.y;\n t.z = f.z;\n t.w = f.w;\n t.v = f.v;\n t.d = f.d;\n return t;\n}\n\nfunction impl(seed, opts) {\n var xg = new XorGen(seed),\n state = opts && opts.state,\n prng = function() { return (xg.next() >>> 0) / 0x100000000; };\n prng.double = function() {\n do {\n var top = xg.next() >>> 11,\n bot = (xg.next() >>> 0) / 0x100000000,\n result = (top + bot) / (1 << 21);\n } while (result === 0);\n return result;\n };\n prng.int32 = xg.next;\n prng.quick = prng;\n if (state) {\n if (typeof(state) == 'object') copy(state, xg);\n prng.state = function() { return copy(xg, {}); }\n }\n return prng;\n}\n\nif (module && module.exports) {\n module.exports = impl;\n} else if (define && define.amd) {\n define(function() { return impl; });\n} else {\n this.xorwow = impl;\n}\n\n})(\n this,\n (typeof module) == 'object' && module, // present in node.js\n (typeof define) == 'function' && define // present with an AMD loader\n);\n\n\n","/*\nCopyright 2019 David Bau.\n\nPermission is hereby granted, free of charge, to any person obtaining\na copy of this software and associated documentation files (the\n\"Software\"), to deal in the Software without restriction, including\nwithout limitation the rights to use, copy, modify, merge, publish,\ndistribute, sublicense, and/or sell copies of the Software, and to\npermit persons to whom the Software is furnished to do so, subject to\nthe following conditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\nMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\nIN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY\nCLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,\nTORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE\nSOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n*/\n\n(function (global, pool, math) {\n//\n// The following constants are related to IEEE 754 limits.\n//\n\nvar width = 256, // each RC4 output is 0 <= x < 256\n chunks = 6, // at least six RC4 outputs for each double\n digits = 52, // there are 52 significant digits in a double\n rngname = 'random', // rngname: name for Math.random and Math.seedrandom\n startdenom = math.pow(width, chunks),\n significance = math.pow(2, digits),\n overflow = significance * 2,\n mask = width - 1,\n nodecrypto; // node.js crypto module, initialized at the bottom.\n\n//\n// seedrandom()\n// This is the seedrandom function described above.\n//\nfunction seedrandom(seed, options, callback) {\n var key = [];\n options = (options == true) ? { entropy: true } : (options || {});\n\n // Flatten the seed string or build one from local entropy if needed.\n var shortseed = mixkey(flatten(\n options.entropy ? [seed, tostring(pool)] :\n (seed == null) ? autoseed() : seed, 3), key);\n\n // Use the seed to initialize an ARC4 generator.\n var arc4 = new ARC4(key);\n\n // This function returns a random double in [0, 1) that contains\n // randomness in every bit of the mantissa of the IEEE 754 value.\n var prng = function() {\n var n = arc4.g(chunks), // Start with a numerator n < 2 ^ 48\n d = startdenom, // and denominator d = 2 ^ 48.\n x = 0; // and no 'extra last byte'.\n while (n < significance) { // Fill up all significant digits by\n n = (n + x) * width; // shifting numerator and\n d *= width; // denominator and generating a\n x = arc4.g(1); // new least-significant-byte.\n }\n while (n >= overflow) { // To avoid rounding up, before adding\n n /= 2; // last byte, shift everything\n d /= 2; // right using integer math until\n x >>>= 1; // we have exactly the desired bits.\n }\n return (n + x) / d; // Form the number within [0, 1).\n };\n\n prng.int32 = function() { return arc4.g(4) | 0; }\n prng.quick = function() { return arc4.g(4) / 0x100000000; }\n prng.double = prng;\n\n // Mix the randomness into accumulated entropy.\n mixkey(tostring(arc4.S), pool);\n\n // Calling convention: what to return as a function of prng, seed, is_math.\n return (options.pass || callback ||\n function(prng, seed, is_math_call, state) {\n if (state) {\n // Load the arc4 state from the given state if it has an S array.\n if (state.S) { copy(state, arc4); }\n // Only provide the .state method if requested via options.state.\n prng.state = function() { return copy(arc4, {}); }\n }\n\n // If called as a method of Math (Math.seedrandom()), mutate\n // Math.random because that is how seedrandom.js has worked since v1.0.\n if (is_math_call) { math[rngname] = prng; return seed; }\n\n // Otherwise, it is a newer calling convention, so return the\n // prng directly.\n else return prng;\n })(\n prng,\n shortseed,\n 'global' in options ? options.global : (this == math),\n options.state);\n}\n\n//\n// ARC4\n//\n// An ARC4 implementation. The constructor takes a key in the form of\n// an array of at most (width) integers that should be 0 <= x < (width).\n//\n// The g(count) method returns a pseudorandom integer that concatenates\n// the next (count) outputs from ARC4. Its return value is a number x\n// that is in the range 0 <= x < (width ^ count).\n//\nfunction ARC4(key) {\n var t, keylen = key.length,\n me = this, i = 0, j = me.i = me.j = 0, s = me.S = [];\n\n // The empty key [] is treated as [0].\n if (!keylen) { key = [keylen++]; }\n\n // Set up S using the standard key scheduling algorithm.\n while (i < width) {\n s[i] = i++;\n }\n for (i = 0; i < width; i++) {\n s[i] = s[j = mask & (j + key[i % keylen] + (t = s[i]))];\n s[j] = t;\n }\n\n // The \"g\" method returns the next (count) outputs as one number.\n (me.g = function(count) {\n // Using instance members instead of closure state nearly doubles speed.\n var t, r = 0,\n i = me.i, j = me.j, s = me.S;\n while (count--) {\n t = s[i = mask & (i + 1)];\n r = r * width + s[mask & ((s[i] = s[j = mask & (j + t)]) + (s[j] = t))];\n }\n me.i = i; me.j = j;\n return r;\n // For robust unpredictability, the function call below automatically\n // discards an initial batch of values. This is called RC4-drop[256].\n // See http://google.com/search?q=rsa+fluhrer+response&btnI\n })(width);\n}\n\n//\n// copy()\n// Copies internal state of ARC4 to or from a plain object.\n//\nfunction copy(f, t) {\n t.i = f.i;\n t.j = f.j;\n t.S = f.S.slice();\n return t;\n};\n\n//\n// flatten()\n// Converts an object tree to nested arrays of strings.\n//\nfunction flatten(obj, depth) {\n var result = [], typ = (typeof obj), prop;\n if (depth && typ == 'object') {\n for (prop in obj) {\n try { result.push(flatten(obj[prop], depth - 1)); } catch (e) {}\n }\n }\n return (result.length ? result : typ == 'string' ? obj : obj + '\\0');\n}\n\n//\n// mixkey()\n// Mixes a string seed into a key that is an array of integers, and\n// returns a shortened string seed that is equivalent to the result key.\n//\nfunction mixkey(seed, key) {\n var stringseed = seed + '', smear, j = 0;\n while (j < stringseed.length) {\n key[mask & j] =\n mask & ((smear ^= key[mask & j] * 19) + stringseed.charCodeAt(j++));\n }\n return tostring(key);\n}\n\n//\n// autoseed()\n// Returns an object for autoseeding, using window.crypto and Node crypto\n// module if available.\n//\nfunction autoseed() {\n try {\n var out;\n if (nodecrypto && (out = nodecrypto.randomBytes)) {\n // The use of 'out' to remember randomBytes makes tight minified code.\n out = out(width);\n } else {\n out = new Uint8Array(width);\n (global.crypto || global.msCrypto).getRandomValues(out);\n }\n return tostring(out);\n } catch (e) {\n var browser = global.navigator,\n plugins = browser && browser.plugins;\n return [+new Date, global, plugins, global.screen, tostring(pool)];\n }\n}\n\n//\n// tostring()\n// Converts an array of charcodes to a string\n//\nfunction tostring(a) {\n return String.fromCharCode.apply(0, a);\n}\n\n//\n// When seedrandom.js is loaded, we immediately mix a few bits\n// from the built-in RNG into the entropy pool. Because we do\n// not want to interfere with deterministic PRNG state later,\n// seedrandom will not call math.random on its own again after\n// initialization.\n//\nmixkey(math.random(), pool);\n\n//\n// Nodejs and AMD support: export the implementation as a module using\n// either convention.\n//\nif ((typeof module) == 'object' && module.exports) {\n module.exports = seedrandom;\n // When in node.js, try using crypto package for autoseeding.\n try {\n nodecrypto = require('crypto');\n } catch (ex) {}\n} else if ((typeof define) == 'function' && define.amd) {\n define(function() { return seedrandom; });\n} else {\n // When included as a plain script, set up Math.seedrandom global.\n math['seed' + rngname] = seedrandom;\n}\n\n\n// End anonymous scope, and pass initial values.\n})(\n // global: `self` in browsers (including strict mode and web workers),\n // otherwise `this` in Node and other environments\n (typeof self !== 'undefined') ? self : this,\n [], // pool: entropy pool starts empty\n Math // math: package containing random, pow, and seedrandom\n);\n","'use strict';\n\nvar truncate = require(\"./lib/truncate\");\nvar getLength = require(\"utf8-byte-length/browser\");\nmodule.exports = truncate.bind(null, getLength);\n","'use strict';\n\nfunction isHighSurrogate(codePoint) {\n return codePoint >= 0xd800 && codePoint <= 0xdbff;\n}\n\nfunction isLowSurrogate(codePoint) {\n return codePoint >= 0xdc00 && codePoint <= 0xdfff;\n}\n\n// Truncate string by size in bytes\nmodule.exports = function truncate(getLength, string, byteLength) {\n if (typeof string !== \"string\") {\n throw new Error(\"Input must be string\");\n }\n\n var charLength = string.length;\n var curByteLength = 0;\n var codePoint;\n var segment;\n\n for (var i = 0; i < charLength; i += 1) {\n codePoint = string.charCodeAt(i);\n segment = string[i];\n\n if (isHighSurrogate(codePoint) && isLowSurrogate(string.charCodeAt(i + 1))) {\n i += 1;\n segment += string[i];\n }\n\n curByteLength += getLength(segment);\n\n if (curByteLength === byteLength) {\n return string.slice(0, i + 1);\n }\n else if (curByteLength > byteLength) {\n return string.slice(0, i - segment.length + 1);\n }\n }\n\n return string;\n};\n\n","'use strict';\n\nfunction isHighSurrogate(codePoint) {\n return codePoint >= 0xd800 && codePoint <= 0xdbff;\n}\n\nfunction isLowSurrogate(codePoint) {\n return codePoint >= 0xdc00 && codePoint <= 0xdfff;\n}\n\n// Truncate string by size in bytes\nmodule.exports = function getByteLength(string) {\n if (typeof string !== \"string\") {\n throw new Error(\"Input must be string\");\n }\n\n var charLength = string.length;\n var byteLength = 0;\n var codePoint = null;\n var prevCodePoint = null;\n for (var i = 0; i < charLength; i++) {\n codePoint = string.charCodeAt(i);\n // handle 4-byte non-BMP chars\n // low surrogate\n if (isLowSurrogate(codePoint)) {\n // when parsing previous hi-surrogate, 3 is added to byteLength\n if (prevCodePoint != null && isHighSurrogate(prevCodePoint)) {\n byteLength += 1;\n }\n else {\n byteLength += 3;\n }\n }\n else if (codePoint <= 0x7f ) {\n byteLength += 1;\n }\n else if (codePoint >= 0x80 && codePoint <= 0x7ff) {\n byteLength += 2;\n }\n else if (codePoint >= 0x800 && codePoint <= 0xffff) {\n byteLength += 3;\n }\n prevCodePoint = codePoint;\n }\n\n return byteLength;\n};\n","/**\n * what-input - A global utility for tracking the current input method (mouse, keyboard or touch).\n * @version v5.2.12\n * @link https://github.com/ten1seven/what-input\n * @license MIT\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"whatInput\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"whatInput\"] = factory();\n\telse\n\t\troot[\"whatInput\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n\n\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports) {\n\n\t'use strict';\n\n\tmodule.exports = function () {\n\t /*\n\t * bail out if there is no document or window\n\t * (i.e. in a node/non-DOM environment)\n\t *\n\t * Return a stubbed API instead\n\t */\n\t if (typeof document === 'undefined' || typeof window === 'undefined') {\n\t return {\n\t // always return \"initial\" because no interaction will ever be detected\n\t ask: function ask() {\n\t return 'initial';\n\t },\n\n\t // always return null\n\t element: function element() {\n\t return null;\n\t },\n\n\t // no-op\n\t ignoreKeys: function ignoreKeys() {},\n\n\t // no-op\n\t specificKeys: function specificKeys() {},\n\n\t // no-op\n\t registerOnChange: function registerOnChange() {},\n\n\t // no-op\n\t unRegisterOnChange: function unRegisterOnChange() {}\n\t };\n\t }\n\n\t /*\n\t * variables\n\t */\n\n\t // cache document.documentElement\n\t var docElem = document.documentElement;\n\n\t // currently focused dom element\n\t var currentElement = null;\n\n\t // last used input type\n\t var currentInput = 'initial';\n\n\t // last used input intent\n\t var currentIntent = currentInput;\n\n\t // UNIX timestamp of current event\n\t var currentTimestamp = Date.now();\n\n\t // check for a `data-whatpersist` attribute on either the `html` or `body` elements, defaults to `true`\n\t var shouldPersist = false;\n\n\t // form input types\n\t var formInputs = ['button', 'input', 'select', 'textarea'];\n\n\t // empty array for holding callback functions\n\t var functionList = [];\n\n\t // list of modifier keys commonly used with the mouse and\n\t // can be safely ignored to prevent false keyboard detection\n\t var ignoreMap = [16, // shift\n\t 17, // control\n\t 18, // alt\n\t 91, // Windows key / left Apple cmd\n\t 93 // Windows menu / right Apple cmd\n\t ];\n\n\t var specificMap = [];\n\n\t // mapping of events to input types\n\t var inputMap = {\n\t keydown: 'keyboard',\n\t keyup: 'keyboard',\n\t mousedown: 'mouse',\n\t mousemove: 'mouse',\n\t MSPointerDown: 'pointer',\n\t MSPointerMove: 'pointer',\n\t pointerdown: 'pointer',\n\t pointermove: 'pointer',\n\t touchstart: 'touch',\n\t touchend: 'touch'\n\n\t // boolean: true if the page is being scrolled\n\t };var isScrolling = false;\n\n\t // store current mouse position\n\t var mousePos = {\n\t x: null,\n\t y: null\n\n\t // map of IE 10 pointer events\n\t };var pointerMap = {\n\t 2: 'touch',\n\t 3: 'touch', // treat pen like touch\n\t 4: 'mouse'\n\n\t // check support for passive event listeners\n\t };var supportsPassive = false;\n\n\t try {\n\t var opts = Object.defineProperty({}, 'passive', {\n\t get: function get() {\n\t supportsPassive = true;\n\t }\n\t });\n\n\t window.addEventListener('test', null, opts);\n\t } catch (e) {}\n\t // fail silently\n\n\n\t /*\n\t * set up\n\t */\n\n\t var setUp = function setUp() {\n\t // add correct mouse wheel event mapping to `inputMap`\n\t inputMap[detectWheel()] = 'mouse';\n\n\t addListeners();\n\t };\n\n\t /*\n\t * events\n\t */\n\n\t var addListeners = function addListeners() {\n\t // `pointermove`, `MSPointerMove`, `mousemove` and mouse wheel event binding\n\t // can only demonstrate potential, but not actual, interaction\n\t // and are treated separately\n\t var options = supportsPassive ? { passive: true, capture: true } : true;\n\n\t document.addEventListener('DOMContentLoaded', setPersist, true);\n\n\t // pointer events (mouse, pen, touch)\n\t if (window.PointerEvent) {\n\t window.addEventListener('pointerdown', setInput, true);\n\t window.addEventListener('pointermove', setIntent, true);\n\t } else if (window.MSPointerEvent) {\n\t window.addEventListener('MSPointerDown', setInput, true);\n\t window.addEventListener('MSPointerMove', setIntent, true);\n\t } else {\n\t // mouse events\n\t window.addEventListener('mousedown', setInput, true);\n\t window.addEventListener('mousemove', setIntent, true);\n\n\t // touch events\n\t if ('ontouchstart' in window) {\n\t window.addEventListener('touchstart', setInput, options);\n\t window.addEventListener('touchend', setInput, true);\n\t }\n\t }\n\n\t // mouse wheel\n\t window.addEventListener(detectWheel(), setIntent, options);\n\n\t // keyboard events\n\t window.addEventListener('keydown', setInput, true);\n\t window.addEventListener('keyup', setInput, true);\n\n\t // focus events\n\t window.addEventListener('focusin', setElement, true);\n\t window.addEventListener('focusout', clearElement, true);\n\t };\n\n\t // checks if input persistence should happen and\n\t // get saved state from session storage if true (defaults to `false`)\n\t var setPersist = function setPersist() {\n\t shouldPersist = !(docElem.getAttribute('data-whatpersist') === 'false' || document.body.getAttribute('data-whatpersist') === 'false');\n\n\t if (shouldPersist) {\n\t // check for session variables and use if available\n\t try {\n\t if (window.sessionStorage.getItem('what-input')) {\n\t currentInput = window.sessionStorage.getItem('what-input');\n\t }\n\n\t if (window.sessionStorage.getItem('what-intent')) {\n\t currentIntent = window.sessionStorage.getItem('what-intent');\n\t }\n\t } catch (e) {\n\t // fail silently\n\t }\n\t }\n\n\t // always run these so at least `initial` state is set\n\t doUpdate('input');\n\t doUpdate('intent');\n\t };\n\n\t // checks conditions before updating new input\n\t var setInput = function setInput(event) {\n\t var eventKey = event.which;\n\t var value = inputMap[event.type];\n\n\t if (value === 'pointer') {\n\t value = pointerType(event);\n\t }\n\n\t var ignoreMatch = !specificMap.length && ignoreMap.indexOf(eventKey) === -1;\n\n\t var specificMatch = specificMap.length && specificMap.indexOf(eventKey) !== -1;\n\n\t var shouldUpdate = value === 'keyboard' && eventKey && (ignoreMatch || specificMatch) || value === 'mouse' || value === 'touch';\n\n\t // prevent touch detection from being overridden by event execution order\n\t if (validateTouch(value)) {\n\t shouldUpdate = false;\n\t }\n\n\t if (shouldUpdate && currentInput !== value) {\n\t currentInput = value;\n\n\t persistInput('input', currentInput);\n\t doUpdate('input');\n\t }\n\n\t if (shouldUpdate && currentIntent !== value) {\n\t // preserve intent for keyboard interaction with form fields\n\t var activeElem = document.activeElement;\n\t var notFormInput = activeElem && activeElem.nodeName && (formInputs.indexOf(activeElem.nodeName.toLowerCase()) === -1 || activeElem.nodeName.toLowerCase() === 'button' && !checkClosest(activeElem, 'form'));\n\n\t if (notFormInput) {\n\t currentIntent = value;\n\n\t persistInput('intent', currentIntent);\n\t doUpdate('intent');\n\t }\n\t }\n\t };\n\n\t // updates the doc and `inputTypes` array with new input\n\t var doUpdate = function doUpdate(which) {\n\t docElem.setAttribute('data-what' + which, which === 'input' ? currentInput : currentIntent);\n\n\t fireFunctions(which);\n\t };\n\n\t // updates input intent for `mousemove` and `pointermove`\n\t var setIntent = function setIntent(event) {\n\t var value = inputMap[event.type];\n\n\t if (value === 'pointer') {\n\t value = pointerType(event);\n\t }\n\n\t // test to see if `mousemove` happened relative to the screen to detect scrolling versus mousemove\n\t detectScrolling(event);\n\n\t // only execute if scrolling isn't happening\n\t if ((!isScrolling && !validateTouch(value) || isScrolling && event.type === 'wheel' || event.type === 'mousewheel' || event.type === 'DOMMouseScroll') && currentIntent !== value) {\n\t currentIntent = value;\n\n\t persistInput('intent', currentIntent);\n\t doUpdate('intent');\n\t }\n\t };\n\n\t var setElement = function setElement(event) {\n\t if (!event.target.nodeName) {\n\t // If nodeName is undefined, clear the element\n\t // This can happen if click inside an <svg> element.\n\t clearElement();\n\t return;\n\t }\n\n\t currentElement = event.target.nodeName.toLowerCase();\n\t docElem.setAttribute('data-whatelement', currentElement);\n\n\t if (event.target.classList && event.target.classList.length) {\n\t docElem.setAttribute('data-whatclasses', event.target.classList.toString().replace(' ', ','));\n\t }\n\t };\n\n\t var clearElement = function clearElement() {\n\t currentElement = null;\n\n\t docElem.removeAttribute('data-whatelement');\n\t docElem.removeAttribute('data-whatclasses');\n\t };\n\n\t var persistInput = function persistInput(which, value) {\n\t if (shouldPersist) {\n\t try {\n\t window.sessionStorage.setItem('what-' + which, value);\n\t } catch (e) {\n\t // fail silently\n\t }\n\t }\n\t };\n\n\t /*\n\t * utilities\n\t */\n\n\t var pointerType = function pointerType(event) {\n\t if (typeof event.pointerType === 'number') {\n\t return pointerMap[event.pointerType];\n\t } else {\n\t // treat pen like touch\n\t return event.pointerType === 'pen' ? 'touch' : event.pointerType;\n\t }\n\t };\n\n\t // prevent touch detection from being overridden by event execution order\n\t var validateTouch = function validateTouch(value) {\n\t var timestamp = Date.now();\n\n\t var touchIsValid = value === 'mouse' && currentInput === 'touch' && timestamp - currentTimestamp < 200;\n\n\t currentTimestamp = timestamp;\n\n\t return touchIsValid;\n\t };\n\n\t // detect version of mouse wheel event to use\n\t // via https://developer.mozilla.org/en-US/docs/Web/API/Element/wheel_event\n\t var detectWheel = function detectWheel() {\n\t var wheelType = null;\n\n\t // Modern browsers support \"wheel\"\n\t if ('onwheel' in document.createElement('div')) {\n\t wheelType = 'wheel';\n\t } else {\n\t // Webkit and IE support at least \"mousewheel\"\n\t // or assume that remaining browsers are older Firefox\n\t wheelType = document.onmousewheel !== undefined ? 'mousewheel' : 'DOMMouseScroll';\n\t }\n\n\t return wheelType;\n\t };\n\n\t // runs callback functions\n\t var fireFunctions = function fireFunctions(type) {\n\t for (var i = 0, len = functionList.length; i < len; i++) {\n\t if (functionList[i].type === type) {\n\t functionList[i].fn.call(undefined, type === 'input' ? currentInput : currentIntent);\n\t }\n\t }\n\t };\n\n\t // finds matching element in an object\n\t var objPos = function objPos(match) {\n\t for (var i = 0, len = functionList.length; i < len; i++) {\n\t if (functionList[i].fn === match) {\n\t return i;\n\t }\n\t }\n\t };\n\n\t var detectScrolling = function detectScrolling(event) {\n\t if (mousePos.x !== event.screenX || mousePos.y !== event.screenY) {\n\t isScrolling = false;\n\n\t mousePos.x = event.screenX;\n\t mousePos.y = event.screenY;\n\t } else {\n\t isScrolling = true;\n\t }\n\t };\n\n\t // manual version of `closest()`\n\t var checkClosest = function checkClosest(elem, tag) {\n\t var ElementPrototype = window.Element.prototype;\n\n\t if (!ElementPrototype.matches) {\n\t ElementPrototype.matches = ElementPrototype.msMatchesSelector || ElementPrototype.webkitMatchesSelector;\n\t }\n\n\t if (!ElementPrototype.closest) {\n\t do {\n\t if (elem.matches(tag)) {\n\t return elem;\n\t }\n\n\t elem = elem.parentElement || elem.parentNode;\n\t } while (elem !== null && elem.nodeType === 1);\n\n\t return null;\n\t } else {\n\t return elem.closest(tag);\n\t }\n\t };\n\n\t /*\n\t * init\n\t */\n\n\t // don't start script unless browser cuts the mustard\n\t // (also passes if polyfills are used)\n\t if ('addEventListener' in window && Array.prototype.indexOf) {\n\t setUp();\n\t }\n\n\t /*\n\t * api\n\t */\n\n\t return {\n\t // returns string: the current input type\n\t // opt: 'intent'|'input'\n\t // 'input' (default): returns the same value as the `data-whatinput` attribute\n\t // 'intent': includes `data-whatintent` value if it's different than `data-whatinput`\n\t ask: function ask(opt) {\n\t return opt === 'intent' ? currentIntent : currentInput;\n\t },\n\n\t // returns string: the currently focused element or null\n\t element: function element() {\n\t return currentElement;\n\t },\n\n\t // overwrites ignored keys with provided array\n\t ignoreKeys: function ignoreKeys(arr) {\n\t ignoreMap = arr;\n\t },\n\n\t // overwrites specific char keys to update on\n\t specificKeys: function specificKeys(arr) {\n\t specificMap = arr;\n\t },\n\n\t // attach functions to input and intent \"events\"\n\t // funct: function to fire on change\n\t // eventType: 'input'|'intent'\n\t registerOnChange: function registerOnChange(fn, eventType) {\n\t functionList.push({\n\t fn: fn,\n\t type: eventType || 'input'\n\t });\n\t },\n\n\t unRegisterOnChange: function unRegisterOnChange(fn) {\n\t var position = objPos(fn);\n\n\t if (position || position === 0) {\n\t functionList.splice(position, 1);\n\t }\n\t },\n\n\t clearStorage: function clearStorage() {\n\t window.sessionStorage.clear();\n\t }\n\t };\n\t}();\n\n/***/ })\n/******/ ])\n});\n;","module.exports = {\n\th32: require(\"./xxhash\")\n,\th64: require(\"./xxhash64\")\n}\n","/**\nxxHash implementation in pure Javascript\n\nCopyright (C) 2013, Pierre Curto\nMIT license\n*/\nvar UINT32 = require('cuint').UINT32\n\n/*\n\tMerged this sequence of method calls as it speeds up\n\tthe calculations by a factor of 2\n */\n// this.v1.add( other.multiply(PRIME32_2) ).rotl(13).multiply(PRIME32_1);\nUINT32.prototype.xxh_update = function (low, high) {\n\tvar b00 = PRIME32_2._low\n\tvar b16 = PRIME32_2._high\n\n\tvar c16, c00\n\tc00 = low * b00\n\tc16 = c00 >>> 16\n\n\tc16 += high * b00\n\tc16 &= 0xFFFF\t\t// Not required but improves performance\n\tc16 += low * b16\n\n\tvar a00 = this._low + (c00 & 0xFFFF)\n\tvar a16 = a00 >>> 16\n\n\ta16 += this._high + (c16 & 0xFFFF)\n\n\tvar v = (a16 << 16) | (a00 & 0xFFFF)\n\tv = (v << 13) | (v >>> 19)\n\n\ta00 = v & 0xFFFF\n\ta16 = v >>> 16\n\n\tb00 = PRIME32_1._low\n\tb16 = PRIME32_1._high\n\n\tc00 = a00 * b00\n\tc16 = c00 >>> 16\n\n\tc16 += a16 * b00\n\tc16 &= 0xFFFF\t\t// Not required but improves performance\n\tc16 += a00 * b16\n\n\tthis._low = c00 & 0xFFFF\n\tthis._high = c16 & 0xFFFF\n}\n\n/*\n * Constants\n */\nvar PRIME32_1 = UINT32( '2654435761' )\nvar PRIME32_2 = UINT32( '2246822519' )\nvar PRIME32_3 = UINT32( '3266489917' )\nvar PRIME32_4 = UINT32( '668265263' )\nvar PRIME32_5 = UINT32( '374761393' )\n\n/**\n* Convert string to proper UTF-8 array\n* @param str Input string\n* @returns {Uint8Array} UTF8 array is returned as uint8 array\n*/\nfunction toUTF8Array (str) {\n\tvar utf8 = []\n\tfor (var i=0, n=str.length; i < n; i++) {\n\t\tvar charcode = str.charCodeAt(i)\n\t\tif (charcode < 0x80) utf8.push(charcode)\n\t\telse if (charcode < 0x800) {\n\t\t\tutf8.push(0xc0 | (charcode >> 6),\n\t\t\t0x80 | (charcode & 0x3f))\n\t\t}\n\t\telse if (charcode < 0xd800 || charcode >= 0xe000) {\n\t\t\tutf8.push(0xe0 | (charcode >> 12),\n\t\t\t0x80 | ((charcode>>6) & 0x3f),\n\t\t\t0x80 | (charcode & 0x3f))\n\t\t}\n\t\t// surrogate pair\n\t\telse {\n\t\t\ti++;\n\t\t\t// UTF-16 encodes 0x10000-0x10FFFF by\n\t\t\t// subtracting 0x10000 and splitting the\n\t\t\t// 20 bits of 0x0-0xFFFFF into two halves\n\t\t\tcharcode = 0x10000 + (((charcode & 0x3ff)<<10)\n\t\t\t| (str.charCodeAt(i) & 0x3ff))\n\t\t\tutf8.push(0xf0 | (charcode >>18),\n\t\t\t0x80 | ((charcode>>12) & 0x3f),\n\t\t\t0x80 | ((charcode>>6) & 0x3f),\n\t\t\t0x80 | (charcode & 0x3f))\n\t\t}\n\t}\n\n\treturn new Uint8Array(utf8)\n}\n\n/**\n * XXH object used as a constructor or a function\n * @constructor\n * or\n * @param {Object|String} input data\n * @param {Number|UINT32} seed\n * @return ThisExpression\n * or\n * @return {UINT32} xxHash\n */\nfunction XXH () {\n\tif (arguments.length == 2)\n\t\treturn new XXH( arguments[1] ).update( arguments[0] ).digest()\n\n\tif (!(this instanceof XXH))\n\t\treturn new XXH( arguments[0] )\n\n\tinit.call(this, arguments[0])\n}\n\n/**\n * Initialize the XXH instance with the given seed\n * @method init\n * @param {Number|Object} seed as a number or an unsigned 32 bits integer\n * @return ThisExpression\n */\n function init (seed) {\n\tthis.seed = seed instanceof UINT32 ? seed.clone() : UINT32(seed)\n\tthis.v1 = this.seed.clone().add(PRIME32_1).add(PRIME32_2)\n\tthis.v2 = this.seed.clone().add(PRIME32_2)\n\tthis.v3 = this.seed.clone()\n\tthis.v4 = this.seed.clone().subtract(PRIME32_1)\n\tthis.total_len = 0\n\tthis.memsize = 0\n\tthis.memory = null\n\n\treturn this\n}\nXXH.prototype.init = init\n\n/**\n * Add data to be computed for the XXH hash\n * @method update\n * @param {String|Buffer|ArrayBuffer} input as a string or nodejs Buffer or ArrayBuffer\n * @return ThisExpression\n */\nXXH.prototype.update = function (input) {\n\tvar isString = typeof input == 'string'\n\tvar isArrayBuffer\n\n\t// Convert all strings to utf-8 first (issue #5)\n\tif (isString) {\n\t\tinput = toUTF8Array(input)\n\t\tisString = false\n\t\tisArrayBuffer = true\n\t}\n\n\tif (typeof ArrayBuffer !== \"undefined\" && input instanceof ArrayBuffer)\n\t{\n\t\tisArrayBuffer = true\n\t\tinput = new Uint8Array(input);\n\t}\n\n\tvar p = 0\n\tvar len = input.length\n\tvar bEnd = p + len\n\n\tif (len == 0) return this\n\n\tthis.total_len += len\n\n\tif (this.memsize == 0)\n\t{\n\t\tif (isString) {\n\t\t\tthis.memory = ''\n\t\t} else if (isArrayBuffer) {\n\t\t\tthis.memory = new Uint8Array(16)\n\t\t} else {\n\t\t\tthis.memory = new Buffer(16)\n\t\t}\n\t}\n\n\tif (this.memsize + len < 16) // fill in tmp buffer\n\t{\n\t\t// XXH_memcpy(this.memory + this.memsize, input, len)\n\t\tif (isString) {\n\t\t\tthis.memory += input\n\t\t} else if (isArrayBuffer) {\n\t\t\tthis.memory.set( input.subarray(0, len), this.memsize )\n\t\t} else {\n\t\t\tinput.copy( this.memory, this.memsize, 0, len )\n\t\t}\n\n\t\tthis.memsize += len\n\t\treturn this\n\t}\n\n\tif (this.memsize > 0) // some data left from previous update\n\t{\n\t\t// XXH_memcpy(this.memory + this.memsize, input, 16-this.memsize);\n\t\tif (isString) {\n\t\t\tthis.memory += input.slice(0, 16 - this.memsize)\n\t\t} else if (isArrayBuffer) {\n\t\t\tthis.memory.set( input.subarray(0, 16 - this.memsize), this.memsize )\n\t\t} else {\n\t\t\tinput.copy( this.memory, this.memsize, 0, 16 - this.memsize )\n\t\t}\n\n\t\tvar p32 = 0\n\t\tif (isString) {\n\t\t\tthis.v1.xxh_update(\n\t\t\t\t(this.memory.charCodeAt(p32+1) << 8) | this.memory.charCodeAt(p32)\n\t\t\t,\t(this.memory.charCodeAt(p32+3) << 8) | this.memory.charCodeAt(p32+2)\n\t\t\t)\n\t\t\tp32 += 4\n\t\t\tthis.v2.xxh_update(\n\t\t\t\t(this.memory.charCodeAt(p32+1) << 8) | this.memory.charCodeAt(p32)\n\t\t\t,\t(this.memory.charCodeAt(p32+3) << 8) | this.memory.charCodeAt(p32+2)\n\t\t\t)\n\t\t\tp32 += 4\n\t\t\tthis.v3.xxh_update(\n\t\t\t\t(this.memory.charCodeAt(p32+1) << 8) | this.memory.charCodeAt(p32)\n\t\t\t,\t(this.memory.charCodeAt(p32+3) << 8) | this.memory.charCodeAt(p32+2)\n\t\t\t)\n\t\t\tp32 += 4\n\t\t\tthis.v4.xxh_update(\n\t\t\t\t(this.memory.charCodeAt(p32+1) << 8) | this.memory.charCodeAt(p32)\n\t\t\t,\t(this.memory.charCodeAt(p32+3) << 8) | this.memory.charCodeAt(p32+2)\n\t\t\t)\n\t\t} else {\n\t\t\tthis.v1.xxh_update(\n\t\t\t\t(this.memory[p32+1] << 8) | this.memory[p32]\n\t\t\t,\t(this.memory[p32+3] << 8) | this.memory[p32+2]\n\t\t\t)\n\t\t\tp32 += 4\n\t\t\tthis.v2.xxh_update(\n\t\t\t\t(this.memory[p32+1] << 8) | this.memory[p32]\n\t\t\t,\t(this.memory[p32+3] << 8) | this.memory[p32+2]\n\t\t\t)\n\t\t\tp32 += 4\n\t\t\tthis.v3.xxh_update(\n\t\t\t\t(this.memory[p32+1] << 8) | this.memory[p32]\n\t\t\t,\t(this.memory[p32+3] << 8) | this.memory[p32+2]\n\t\t\t)\n\t\t\tp32 += 4\n\t\t\tthis.v4.xxh_update(\n\t\t\t\t(this.memory[p32+1] << 8) | this.memory[p32]\n\t\t\t,\t(this.memory[p32+3] << 8) | this.memory[p32+2]\n\t\t\t)\n\t\t}\n\n\t\tp += 16 - this.memsize\n\t\tthis.memsize = 0\n\t\tif (isString) this.memory = ''\n\t}\n\n\tif (p <= bEnd - 16)\n\t{\n\t\tvar limit = bEnd - 16\n\n\t\tdo\n\t\t{\n\t\t\tif (isString) {\n\t\t\t\tthis.v1.xxh_update(\n\t\t\t\t\t(input.charCodeAt(p+1) << 8) | input.charCodeAt(p)\n\t\t\t\t,\t(input.charCodeAt(p+3) << 8) | input.charCodeAt(p+2)\n\t\t\t\t)\n\t\t\t\tp += 4\n\t\t\t\tthis.v2.xxh_update(\n\t\t\t\t\t(input.charCodeAt(p+1) << 8) | input.charCodeAt(p)\n\t\t\t\t,\t(input.charCodeAt(p+3) << 8) | input.charCodeAt(p+2)\n\t\t\t\t)\n\t\t\t\tp += 4\n\t\t\t\tthis.v3.xxh_update(\n\t\t\t\t\t(input.charCodeAt(p+1) << 8) | input.charCodeAt(p)\n\t\t\t\t,\t(input.charCodeAt(p+3) << 8) | input.charCodeAt(p+2)\n\t\t\t\t)\n\t\t\t\tp += 4\n\t\t\t\tthis.v4.xxh_update(\n\t\t\t\t\t(input.charCodeAt(p+1) << 8) | input.charCodeAt(p)\n\t\t\t\t,\t(input.charCodeAt(p+3) << 8) | input.charCodeAt(p+2)\n\t\t\t\t)\n\t\t\t} else {\n\t\t\t\tthis.v1.xxh_update(\n\t\t\t\t\t(input[p+1] << 8) | input[p]\n\t\t\t\t,\t(input[p+3] << 8) | input[p+2]\n\t\t\t\t)\n\t\t\t\tp += 4\n\t\t\t\tthis.v2.xxh_update(\n\t\t\t\t\t(input[p+1] << 8) | input[p]\n\t\t\t\t,\t(input[p+3] << 8) | input[p+2]\n\t\t\t\t)\n\t\t\t\tp += 4\n\t\t\t\tthis.v3.xxh_update(\n\t\t\t\t\t(input[p+1] << 8) | input[p]\n\t\t\t\t,\t(input[p+3] << 8) | input[p+2]\n\t\t\t\t)\n\t\t\t\tp += 4\n\t\t\t\tthis.v4.xxh_update(\n\t\t\t\t\t(input[p+1] << 8) | input[p]\n\t\t\t\t,\t(input[p+3] << 8) | input[p+2]\n\t\t\t\t)\n\t\t\t}\n\t\t\tp += 4\n\t\t} while (p <= limit)\n\t}\n\n\tif (p < bEnd)\n\t{\n\t\t// XXH_memcpy(this.memory, p, bEnd-p);\n\t\tif (isString) {\n\t\t\tthis.memory += input.slice(p)\n\t\t} else if (isArrayBuffer) {\n\t\t\tthis.memory.set( input.subarray(p, bEnd), this.memsize )\n\t\t} else {\n\t\t\tinput.copy( this.memory, this.memsize, p, bEnd )\n\t\t}\n\n\t\tthis.memsize = bEnd - p\n\t}\n\n\treturn this\n}\n\n/**\n * Finalize the XXH computation. The XXH instance is ready for reuse for the given seed\n * @method digest\n * @return {UINT32} xxHash\n */\nXXH.prototype.digest = function () {\n\tvar input = this.memory\n\tvar isString = typeof input == 'string'\n\tvar p = 0\n\tvar bEnd = this.memsize\n\tvar h32, h\n\tvar u = new UINT32\n\n\tif (this.total_len >= 16)\n\t{\n\t\th32 = this.v1.rotl(1).add( this.v2.rotl(7).add( this.v3.rotl(12).add( this.v4.rotl(18) ) ) )\n\t}\n\telse\n\t{\n\t\th32 = this.seed.clone().add( PRIME32_5 )\n\t}\n\n\th32.add( u.fromNumber(this.total_len) )\n\n\twhile (p <= bEnd - 4)\n\t{\n\t\tif (isString) {\n\t\t\tu.fromBits(\n\t\t\t\t(input.charCodeAt(p+1) << 8) | input.charCodeAt(p)\n\t\t\t,\t(input.charCodeAt(p+3) << 8) | input.charCodeAt(p+2)\n\t\t\t)\n\t\t} else {\n\t\t\tu.fromBits(\n\t\t\t\t(input[p+1] << 8) | input[p]\n\t\t\t,\t(input[p+3] << 8) | input[p+2]\n\t\t\t)\n\t\t}\n\t\th32\n\t\t\t.add( u.multiply(PRIME32_3) )\n\t\t\t.rotl(17)\n\t\t\t.multiply( PRIME32_4 )\n\t\tp += 4\n\t}\n\n\twhile (p < bEnd)\n\t{\n\t\tu.fromBits( isString ? input.charCodeAt(p++) : input[p++], 0 )\n\t\th32\n\t\t\t.add( u.multiply(PRIME32_5) )\n\t\t\t.rotl(11)\n\t\t\t.multiply(PRIME32_1)\n\t}\n\n\th = h32.clone().shiftRight(15)\n\th32.xor(h).multiply(PRIME32_2)\n\n\th = h32.clone().shiftRight(13)\n\th32.xor(h).multiply(PRIME32_3)\n\n\th = h32.clone().shiftRight(16)\n\th32.xor(h)\n\n\t// Reset the state\n\tthis.init( this.seed )\n\n\treturn h32\n}\n\nmodule.exports = XXH\n","/**\nxxHash64 implementation in pure Javascript\n\nCopyright (C) 2016, Pierre Curto\nMIT license\n*/\nvar UINT64 = require('cuint').UINT64\n\n/*\n * Constants\n */\nvar PRIME64_1 = UINT64( '11400714785074694791' )\nvar PRIME64_2 = UINT64( '14029467366897019727' )\nvar PRIME64_3 = UINT64( '1609587929392839161' )\nvar PRIME64_4 = UINT64( '9650029242287828579' )\nvar PRIME64_5 = UINT64( '2870177450012600261' )\n\n/**\n* Convert string to proper UTF-8 array\n* @param str Input string\n* @returns {Uint8Array} UTF8 array is returned as uint8 array\n*/\nfunction toUTF8Array (str) {\n\tvar utf8 = []\n\tfor (var i=0, n=str.length; i < n; i++) {\n\t\tvar charcode = str.charCodeAt(i)\n\t\tif (charcode < 0x80) utf8.push(charcode)\n\t\telse if (charcode < 0x800) {\n\t\t\tutf8.push(0xc0 | (charcode >> 6),\n\t\t\t0x80 | (charcode & 0x3f))\n\t\t}\n\t\telse if (charcode < 0xd800 || charcode >= 0xe000) {\n\t\t\tutf8.push(0xe0 | (charcode >> 12),\n\t\t\t0x80 | ((charcode>>6) & 0x3f),\n\t\t\t0x80 | (charcode & 0x3f))\n\t\t}\n\t\t// surrogate pair\n\t\telse {\n\t\t\ti++;\n\t\t\t// UTF-16 encodes 0x10000-0x10FFFF by\n\t\t\t// subtracting 0x10000 and splitting the\n\t\t\t// 20 bits of 0x0-0xFFFFF into two halves\n\t\t\tcharcode = 0x10000 + (((charcode & 0x3ff)<<10)\n\t\t\t| (str.charCodeAt(i) & 0x3ff))\n\t\t\tutf8.push(0xf0 | (charcode >>18),\n\t\t\t0x80 | ((charcode>>12) & 0x3f),\n\t\t\t0x80 | ((charcode>>6) & 0x3f),\n\t\t\t0x80 | (charcode & 0x3f))\n\t\t}\n\t}\n\n\treturn new Uint8Array(utf8)\n}\n\n/**\n * XXH64 object used as a constructor or a function\n * @constructor\n * or\n * @param {Object|String} input data\n * @param {Number|UINT64} seed\n * @return ThisExpression\n * or\n * @return {UINT64} xxHash\n */\nfunction XXH64 () {\n\tif (arguments.length == 2)\n\t\treturn new XXH64( arguments[1] ).update( arguments[0] ).digest()\n\n\tif (!(this instanceof XXH64))\n\t\treturn new XXH64( arguments[0] )\n\n\tinit.call(this, arguments[0])\n}\n\n/**\n * Initialize the XXH64 instance with the given seed\n * @method init\n * @param {Number|Object} seed as a number or an unsigned 32 bits integer\n * @return ThisExpression\n */\n function init (seed) {\n\tthis.seed = seed instanceof UINT64 ? seed.clone() : UINT64(seed)\n\tthis.v1 = this.seed.clone().add(PRIME64_1).add(PRIME64_2)\n\tthis.v2 = this.seed.clone().add(PRIME64_2)\n\tthis.v3 = this.seed.clone()\n\tthis.v4 = this.seed.clone().subtract(PRIME64_1)\n\tthis.total_len = 0\n\tthis.memsize = 0\n\tthis.memory = null\n\n\treturn this\n}\nXXH64.prototype.init = init\n\n/**\n * Add data to be computed for the XXH64 hash\n * @method update\n * @param {String|Buffer|ArrayBuffer} input as a string or nodejs Buffer or ArrayBuffer\n * @return ThisExpression\n */\nXXH64.prototype.update = function (input) {\n\tvar isString = typeof input == 'string'\n\tvar isArrayBuffer\n\n\t// Convert all strings to utf-8 first (issue #5)\n\tif (isString) {\n\t\tinput = toUTF8Array(input)\n\t\tisString = false\n\t\tisArrayBuffer = true\n\t}\n\n\tif (typeof ArrayBuffer !== \"undefined\" && input instanceof ArrayBuffer)\n\t{\n\t\tisArrayBuffer = true\n\t\tinput = new Uint8Array(input);\n\t}\n\n\tvar p = 0\n\tvar len = input.length\n\tvar bEnd = p + len\n\n\tif (len == 0) return this\n\n\tthis.total_len += len\n\n\tif (this.memsize == 0)\n\t{\n\t\tif (isString) {\n\t\t\tthis.memory = ''\n\t\t} else if (isArrayBuffer) {\n\t\t\tthis.memory = new Uint8Array(32)\n\t\t} else {\n\t\t\tthis.memory = new Buffer(32)\n\t\t}\n\t}\n\n\tif (this.memsize + len < 32) // fill in tmp buffer\n\t{\n\t\t// XXH64_memcpy(this.memory + this.memsize, input, len)\n\t\tif (isString) {\n\t\t\tthis.memory += input\n\t\t} else if (isArrayBuffer) {\n\t\t\tthis.memory.set( input.subarray(0, len), this.memsize )\n\t\t} else {\n\t\t\tinput.copy( this.memory, this.memsize, 0, len )\n\t\t}\n\n\t\tthis.memsize += len\n\t\treturn this\n\t}\n\n\tif (this.memsize > 0) // some data left from previous update\n\t{\n\t\t// XXH64_memcpy(this.memory + this.memsize, input, 16-this.memsize);\n\t\tif (isString) {\n\t\t\tthis.memory += input.slice(0, 32 - this.memsize)\n\t\t} else if (isArrayBuffer) {\n\t\t\tthis.memory.set( input.subarray(0, 32 - this.memsize), this.memsize )\n\t\t} else {\n\t\t\tinput.copy( this.memory, this.memsize, 0, 32 - this.memsize )\n\t\t}\n\n\t\tvar p64 = 0\n\t\tif (isString) {\n\t\t\tvar other\n\t\t\tother = UINT64(\n\t\t\t\t\t(this.memory.charCodeAt(p64+1) << 8) | this.memory.charCodeAt(p64)\n\t\t\t\t,\t(this.memory.charCodeAt(p64+3) << 8) | this.memory.charCodeAt(p64+2)\n\t\t\t\t,\t(this.memory.charCodeAt(p64+5) << 8) | this.memory.charCodeAt(p64+4)\n\t\t\t\t,\t(this.memory.charCodeAt(p64+7) << 8) | this.memory.charCodeAt(p64+6)\n\t\t\t\t)\n\t\t\tthis.v1.add( other.multiply(PRIME64_2) ).rotl(31).multiply(PRIME64_1);\n\t\t\tp64 += 8\n\t\t\tother = UINT64(\n\t\t\t\t\t(this.memory.charCodeAt(p64+1) << 8) | this.memory.charCodeAt(p64)\n\t\t\t\t,\t(this.memory.charCodeAt(p64+3) << 8) | this.memory.charCodeAt(p64+2)\n\t\t\t\t,\t(this.memory.charCodeAt(p64+5) << 8) | this.memory.charCodeAt(p64+4)\n\t\t\t\t,\t(this.memory.charCodeAt(p64+7) << 8) | this.memory.charCodeAt(p64+6)\n\t\t\t\t)\n\t\t\tthis.v2.add( other.multiply(PRIME64_2) ).rotl(31).multiply(PRIME64_1);\n\t\t\tp64 += 8\n\t\t\tother = UINT64(\n\t\t\t\t\t(this.memory.charCodeAt(p64+1) << 8) | this.memory.charCodeAt(p64)\n\t\t\t\t,\t(this.memory.charCodeAt(p64+3) << 8) | this.memory.charCodeAt(p64+2)\n\t\t\t\t,\t(this.memory.charCodeAt(p64+5) << 8) | this.memory.charCodeAt(p64+4)\n\t\t\t\t,\t(this.memory.charCodeAt(p64+7) << 8) | this.memory.charCodeAt(p64+6)\n\t\t\t\t)\n\t\t\tthis.v3.add( other.multiply(PRIME64_2) ).rotl(31).multiply(PRIME64_1);\n\t\t\tp64 += 8\n\t\t\tother = UINT64(\n\t\t\t\t\t(this.memory.charCodeAt(p64+1) << 8) | this.memory.charCodeAt(p64)\n\t\t\t\t,\t(this.memory.charCodeAt(p64+3) << 8) | this.memory.charCodeAt(p64+2)\n\t\t\t\t,\t(this.memory.charCodeAt(p64+5) << 8) | this.memory.charCodeAt(p64+4)\n\t\t\t\t,\t(this.memory.charCodeAt(p64+7) << 8) | this.memory.charCodeAt(p64+6)\n\t\t\t\t)\n\t\t\tthis.v4.add( other.multiply(PRIME64_2) ).rotl(31).multiply(PRIME64_1);\n\t\t} else {\n\t\t\tvar other\n\t\t\tother = UINT64(\n\t\t\t\t\t(this.memory[p64+1] << 8) | this.memory[p64]\n\t\t\t\t,\t(this.memory[p64+3] << 8) | this.memory[p64+2]\n\t\t\t\t,\t(this.memory[p64+5] << 8) | this.memory[p64+4]\n\t\t\t\t,\t(this.memory[p64+7] << 8) | this.memory[p64+6]\n\t\t\t\t)\n\t\t\tthis.v1.add( other.multiply(PRIME64_2) ).rotl(31).multiply(PRIME64_1);\n\t\t\tp64 += 8\n\t\t\tother = UINT64(\n\t\t\t\t\t(this.memory[p64+1] << 8) | this.memory[p64]\n\t\t\t\t,\t(this.memory[p64+3] << 8) | this.memory[p64+2]\n\t\t\t\t,\t(this.memory[p64+5] << 8) | this.memory[p64+4]\n\t\t\t\t,\t(this.memory[p64+7] << 8) | this.memory[p64+6]\n\t\t\t\t)\n\t\t\tthis.v2.add( other.multiply(PRIME64_2) ).rotl(31).multiply(PRIME64_1);\n\t\t\tp64 += 8\n\t\t\tother = UINT64(\n\t\t\t\t\t(this.memory[p64+1] << 8) | this.memory[p64]\n\t\t\t\t,\t(this.memory[p64+3] << 8) | this.memory[p64+2]\n\t\t\t\t,\t(this.memory[p64+5] << 8) | this.memory[p64+4]\n\t\t\t\t,\t(this.memory[p64+7] << 8) | this.memory[p64+6]\n\t\t\t\t)\n\t\t\tthis.v3.add( other.multiply(PRIME64_2) ).rotl(31).multiply(PRIME64_1);\n\t\t\tp64 += 8\n\t\t\tother = UINT64(\n\t\t\t\t\t(this.memory[p64+1] << 8) | this.memory[p64]\n\t\t\t\t,\t(this.memory[p64+3] << 8) | this.memory[p64+2]\n\t\t\t\t,\t(this.memory[p64+5] << 8) | this.memory[p64+4]\n\t\t\t\t,\t(this.memory[p64+7] << 8) | this.memory[p64+6]\n\t\t\t\t)\n\t\t\tthis.v4.add( other.multiply(PRIME64_2) ).rotl(31).multiply(PRIME64_1);\n\t\t}\n\n\t\tp += 32 - this.memsize\n\t\tthis.memsize = 0\n\t\tif (isString) this.memory = ''\n\t}\n\n\tif (p <= bEnd - 32)\n\t{\n\t\tvar limit = bEnd - 32\n\n\t\tdo\n\t\t{\n\t\t\tif (isString) {\n\t\t\t\tvar other\n\t\t\t\tother = UINT64(\n\t\t\t\t\t\t(input.charCodeAt(p+1) << 8) | input.charCodeAt(p)\n\t\t\t\t\t,\t(input.charCodeAt(p+3) << 8) | input.charCodeAt(p+2)\n\t\t\t\t\t,\t(input.charCodeAt(p+5) << 8) | input.charCodeAt(p+4)\n\t\t\t\t\t,\t(input.charCodeAt(p+7) << 8) | input.charCodeAt(p+6)\n\t\t\t\t\t)\n\t\t\t\tthis.v1.add( other.multiply(PRIME64_2) ).rotl(31).multiply(PRIME64_1);\n\t\t\t\tp += 8\n\t\t\t\tother = UINT64(\n\t\t\t\t\t\t(input.charCodeAt(p+1) << 8) | input.charCodeAt(p)\n\t\t\t\t\t,\t(input.charCodeAt(p+3) << 8) | input.charCodeAt(p+2)\n\t\t\t\t\t,\t(input.charCodeAt(p+5) << 8) | input.charCodeAt(p+4)\n\t\t\t\t\t,\t(input.charCodeAt(p+7) << 8) | input.charCodeAt(p+6)\n\t\t\t\t\t)\n\t\t\t\tthis.v2.add( other.multiply(PRIME64_2) ).rotl(31).multiply(PRIME64_1);\n\t\t\t\tp += 8\n\t\t\t\tother = UINT64(\n\t\t\t\t\t\t(input.charCodeAt(p+1) << 8) | input.charCodeAt(p)\n\t\t\t\t\t,\t(input.charCodeAt(p+3) << 8) | input.charCodeAt(p+2)\n\t\t\t\t\t,\t(input.charCodeAt(p+5) << 8) | input.charCodeAt(p+4)\n\t\t\t\t\t,\t(input.charCodeAt(p+7) << 8) | input.charCodeAt(p+6)\n\t\t\t\t\t)\n\t\t\t\tthis.v3.add( other.multiply(PRIME64_2) ).rotl(31).multiply(PRIME64_1);\n\t\t\t\tp += 8\n\t\t\t\tother = UINT64(\n\t\t\t\t\t\t(input.charCodeAt(p+1) << 8) | input.charCodeAt(p)\n\t\t\t\t\t,\t(input.charCodeAt(p+3) << 8) | input.charCodeAt(p+2)\n\t\t\t\t\t,\t(input.charCodeAt(p+5) << 8) | input.charCodeAt(p+4)\n\t\t\t\t\t,\t(input.charCodeAt(p+7) << 8) | input.charCodeAt(p+6)\n\t\t\t\t\t)\n\t\t\t\tthis.v4.add( other.multiply(PRIME64_2) ).rotl(31).multiply(PRIME64_1);\n\t\t\t} else {\n\t\t\t\tvar other\n\t\t\t\tother = UINT64(\n\t\t\t\t\t\t(input[p+1] << 8) | input[p]\n\t\t\t\t\t,\t(input[p+3] << 8) | input[p+2]\n\t\t\t\t\t,\t(input[p+5] << 8) | input[p+4]\n\t\t\t\t\t,\t(input[p+7] << 8) | input[p+6]\n\t\t\t\t\t)\n\t\t\t\tthis.v1.add( other.multiply(PRIME64_2) ).rotl(31).multiply(PRIME64_1);\n\t\t\t\tp += 8\n\t\t\t\tother = UINT64(\n\t\t\t\t\t\t(input[p+1] << 8) | input[p]\n\t\t\t\t\t,\t(input[p+3] << 8) | input[p+2]\n\t\t\t\t\t,\t(input[p+5] << 8) | input[p+4]\n\t\t\t\t\t,\t(input[p+7] << 8) | input[p+6]\n\t\t\t\t\t)\n\t\t\t\tthis.v2.add( other.multiply(PRIME64_2) ).rotl(31).multiply(PRIME64_1);\n\t\t\t\tp += 8\n\t\t\t\tother = UINT64(\n\t\t\t\t\t\t(input[p+1] << 8) | input[p]\n\t\t\t\t\t,\t(input[p+3] << 8) | input[p+2]\n\t\t\t\t\t,\t(input[p+5] << 8) | input[p+4]\n\t\t\t\t\t,\t(input[p+7] << 8) | input[p+6]\n\t\t\t\t\t)\n\t\t\t\tthis.v3.add( other.multiply(PRIME64_2) ).rotl(31).multiply(PRIME64_1);\n\t\t\t\tp += 8\n\t\t\t\tother = UINT64(\n\t\t\t\t\t\t(input[p+1] << 8) | input[p]\n\t\t\t\t\t,\t(input[p+3] << 8) | input[p+2]\n\t\t\t\t\t,\t(input[p+5] << 8) | input[p+4]\n\t\t\t\t\t,\t(input[p+7] << 8) | input[p+6]\n\t\t\t\t\t)\n\t\t\t\tthis.v4.add( other.multiply(PRIME64_2) ).rotl(31).multiply(PRIME64_1);\n\t\t\t}\n\t\t\tp += 8\n\t\t} while (p <= limit)\n\t}\n\n\tif (p < bEnd)\n\t{\n\t\t// XXH64_memcpy(this.memory, p, bEnd-p);\n\t\tif (isString) {\n\t\t\tthis.memory += input.slice(p)\n\t\t} else if (isArrayBuffer) {\n\t\t\tthis.memory.set( input.subarray(p, bEnd), this.memsize )\n\t\t} else {\n\t\t\tinput.copy( this.memory, this.memsize, p, bEnd )\n\t\t}\n\n\t\tthis.memsize = bEnd - p\n\t}\n\n\treturn this\n}\n\n/**\n * Finalize the XXH64 computation. The XXH64 instance is ready for reuse for the given seed\n * @method digest\n * @return {UINT64} xxHash\n */\nXXH64.prototype.digest = function () {\n\tvar input = this.memory\n\tvar isString = typeof input == 'string'\n\tvar p = 0\n\tvar bEnd = this.memsize\n\tvar h64, h\n\tvar u = new UINT64\n\n\tif (this.total_len >= 32)\n\t{\n\t\th64 = this.v1.clone().rotl(1)\n\t\th64.add( this.v2.clone().rotl(7) )\n\t\th64.add( this.v3.clone().rotl(12) )\n\t\th64.add( this.v4.clone().rotl(18) )\n\n\t\th64.xor( this.v1.multiply(PRIME64_2).rotl(31).multiply(PRIME64_1) )\n\t\th64.multiply(PRIME64_1).add(PRIME64_4)\n\n\t\th64.xor( this.v2.multiply(PRIME64_2).rotl(31).multiply(PRIME64_1) )\n\t\th64.multiply(PRIME64_1).add(PRIME64_4)\n\n\t\th64.xor( this.v3.multiply(PRIME64_2).rotl(31).multiply(PRIME64_1) )\n\t\th64.multiply(PRIME64_1).add(PRIME64_4)\n\n\t\th64.xor( this.v4.multiply(PRIME64_2).rotl(31).multiply(PRIME64_1) )\n\t\th64.multiply(PRIME64_1).add(PRIME64_4)\n\t}\n\telse\n\t{\n\t\th64 = this.seed.clone().add( PRIME64_5 )\n\t}\n\n\th64.add( u.fromNumber(this.total_len) )\n\n\twhile (p <= bEnd - 8)\n\t{\n\t\tif (isString) {\n\t\t\tu.fromBits(\n\t\t\t\t(input.charCodeAt(p+1) << 8) | input.charCodeAt(p)\n\t\t\t,\t(input.charCodeAt(p+3) << 8) | input.charCodeAt(p+2)\n\t\t\t,\t(input.charCodeAt(p+5) << 8) | input.charCodeAt(p+4)\n\t\t\t,\t(input.charCodeAt(p+7) << 8) | input.charCodeAt(p+6)\n\t\t\t)\n\t\t} else {\n\t\t\tu.fromBits(\n\t\t\t\t(input[p+1] << 8) | input[p]\n\t\t\t,\t(input[p+3] << 8) | input[p+2]\n\t\t\t,\t(input[p+5] << 8) | input[p+4]\n\t\t\t,\t(input[p+7] << 8) | input[p+6]\n\t\t\t)\n\t\t}\n\t\tu.multiply(PRIME64_2).rotl(31).multiply(PRIME64_1)\n\t\th64\n\t\t\t.xor(u)\n\t\t\t.rotl(27)\n\t\t\t.multiply( PRIME64_1 )\n\t\t\t.add( PRIME64_4 )\n\t\tp += 8\n\t}\n\n\tif (p + 4 <= bEnd) {\n\t\tif (isString) {\n\t\t\tu.fromBits(\n\t\t\t\t(input.charCodeAt(p+1) << 8) | input.charCodeAt(p)\n\t\t\t,\t(input.charCodeAt(p+3) << 8) | input.charCodeAt(p+2)\n\t\t\t,\t0\n\t\t\t,\t0\n\t\t\t)\n\t\t} else {\n\t\t\tu.fromBits(\n\t\t\t\t(input[p+1] << 8) | input[p]\n\t\t\t,\t(input[p+3] << 8) | input[p+2]\n\t\t\t,\t0\n\t\t\t,\t0\n\t\t\t)\n\t\t}\n\t\th64\n\t\t\t.xor( u.multiply(PRIME64_1) )\n\t\t\t.rotl(23)\n\t\t\t.multiply( PRIME64_2 )\n\t\t\t.add( PRIME64_3 )\n\t\tp += 4\n\t}\n\n\twhile (p < bEnd)\n\t{\n\t\tu.fromBits( isString ? input.charCodeAt(p++) : input[p++], 0, 0, 0 )\n\t\th64\n\t\t\t.xor( u.multiply(PRIME64_5) )\n\t\t\t.rotl(11)\n\t\t\t.multiply(PRIME64_1)\n\t}\n\n\th = h64.clone().shiftRight(33)\n\th64.xor(h).multiply(PRIME64_2)\n\n\th = h64.clone().shiftRight(29)\n\th64.xor(h).multiply(PRIME64_3)\n\n\th = h64.clone().shiftRight(32)\n\th64.xor(h)\n\n\t// Reset the state\n\tthis.init( this.seed )\n\n\treturn h64\n}\n\nmodule.exports = XXH64\n"],"names":["WrapperLifecycle","exports","ArrowLeftIcon","props","ref","xmlns","width","height","fill","viewBox","children","d","displayName","forwardRef","BugIcon","CheckCircleIcon","CircleIcon","ComposeIcon","fillRule","clipRule","ComputerIcon","DevicesIcon","EmailSolidIcon","EndCallIcon","ExploreIcon","ExportArchiveIcon","ExtensionsIcon","FavouriteIcon","HelpIcon","HomeIcon","KeySolidIcon","KeyIcon","KeyboardIcon","ListViewIcon","LockOffIcon","MicOffSolidIcon","MicOnSolidIcon","MicOnIcon","MinusIcon","MobileIcon","PinSolidIcon","PresenceOutline8X8Icon","clipPath","id","PresenceSolid8X8Icon","PresenceStrikethrough8X8Icon","QrCodeIcon","ReactionIcon","SendSolidIcon","ShareScreenSolidIcon","SidebarIcon","SignOutIcon","SpaceIcon","SpotlightViewIcon","StickerIcon","StopSolidIcon","TextFormattingIcon","ThemeIcon","ThreadsSolidIcon","UserProfileIcon","VideoCallOffSolidIcon","VideoCallIcon","WebBrowserIcon","Unread","jsx","_objectSpread","className","styles","unread","UnreadCounter","_ref","count","_objectWithoutProperties","_excluded","Alert","type","title","actions","onClose","classes","classNames","alert","renderIcon","useCallback","props2","ErrorIcon","InfoIcon","jsxs","icon","content","Text","size","weight","IconButton","onClick","role","close","CloseIcon","Breadcrumb","backLabel","onBackClick","pages","onPageClick","breadcrumb","kind","Chevron","map","page","index","Page","isLastPage","length","Link","onKeyDown","event","key","tabIndex","ChatFilter","selected","UnstyledButton","as","CONTEXT_MENU_NAME","createContextMenuContext","createContextMenuScope","useMenuScope","ContextMenuProvider","useContextMenuContext","ContextMenu","__scopeContextMenu","onOpenChange","dir","modal","open","setOpen","menuScope","handleOpenChangeProp","handleOpenChange","open2","scope","TRIGGER_NAME","ContextMenuTrigger","forwardedRef","disabled","triggerProps","context","pointRef","x","y","virtualRef","getBoundingClientRect","DOMRect","fromRect","current","longPressTimerRef","clearLongPress","window","clearTimeout","handleOpen","clientX","clientY","Fragment","span","style","WebkitTouchCallout","onContextMenu","preventDefault","onPointerDown","whenTouchOrPen","setTimeout","onPointerMove","onPointerCancel","onPointerUp","ContextMenuPortal","portalProps","CONTENT_NAME","ContextMenuContent","contentProps","hasInteractedOutsideRef","side","sideOffset","align","onCloseAutoFocus","defaultPrevented","onInteractOutside","ContextMenuGroup","groupProps","ContextMenuLabel","labelProps","ContextMenuItem","itemProps","ContextMenuCheckboxItem","checkboxItemProps","ContextMenuRadioGroup","radioGroupProps","ContextMenuRadioItem","radioItemProps","ContextMenuItemIndicator","itemIndicatorProps","ContextMenuSeparator","separatorProps","ContextMenuArrow","arrowProps","SUB_NAME","ContextMenuSub","openProp","defaultOpen","prop","defaultProp","onChange","caller","ContextMenuSubTrigger","triggerItemProps","ContextMenuSubContent","subContentProps","handler","pointerType","Root2","Trigger","Portal2","Content2","ContextMenuItemWrapper","onSelect","asChild","showTitle","onOpenChangeProp","trigger","triggerProp","hasAccessibleAlternative","childrenProp","useState","value","platform","getPlatform","drawer","useMemo","MenuItemWrapper","MenuContext","Provider","Root","Drawer","Portal","Overlay","drawerMenu","Content","DrawerMenu","contextStyles","FloatingMenu","RadioMenuItem","label","checked","toggleId","useId","MenuItem","Icon","RadioInput","ToggleMenuItem","hideChevron","ToggleInput","Search","placeholder","name","Field","Label","htmlFor","SearchIcon","Toast","VisualList","VisualListItem","success","destructive","chars","lookup","Uint8Array","i","charCodeAt","encode","arraybuffer","bytes","len","base64","substring","decode","encoded1","encoded2","encoded3","encoded4","bufferLength","p","ArrayBuffer","__importDefault","this","mod","__esModule","Object","defineProperty","seedrandom_1","hashing_1","utils_1","BaseFilter","_seed","getDefaultSeed","_rng","default","concat","_hashing","prototype","get","set","seed","enumerable","configurable","nextInt32","int32","saveAsJSON","Error","fromJSON","json","base64_arraybuffer_1","BitSet","diff","includes","array","Math","ceil","has","wordIndex","floor","mask","add","max","bits","highBit","bitCount","result","countBits","equals","other","export","import","data","buffer","bitsPerWord","extendStatics","__extends","b","setPrototypeOf","__proto__","Array","hasOwnProperty","call","TypeError","String","__","constructor","create","__decorate","decorators","target","desc","c","arguments","r","getOwnPropertyDescriptor","Reflect","decorate","__metadata","k","v","metadata","__param","paramIndex","decorator","base_filter_1","exportable_1","bit_set_1","PartitionedBloomFilter","_super","nbHashes","loadFactor","capacity","_this","_size","_nbHashes","_loadFactor","_m","_filter","allocateArray","_capacity","undefined","totalBits","log","computeNumberOfItems","PartitionedBloomFilter_1","errorRate","rate","computeOptimalNumberOfCells","computeOptimalNumberOfhashes","from","items","filter","forEach","element","indexes","getIndexes","_currentload","pow","every","outerIndex","bucket","reduce","a","Number","sets","s","isArray","bs_1","val","AutoExportable","Parameter","partitioned_bloom_filter_1","ScalableBloomFilter","_initial_size","_error_rate","_ratio","_filters","push","ScalableBloomFilter_1","currentFilter","newSize","_s","LN2","newErrorRate","some","f","filters","__read","o","n","m","Symbol","iterator","e","ar","next","done","error","__spreadArray","to","pack","l","slice","cloneField","assign","Exportable","cloneObject","fields","_i","obj","field","specs","METADATA_CLASSNAME","METADATA_FIELDS","METADATA_PARAMETERS","exporter","importer","propertyKey","hasMetadata","getMetadata","defineMetadata","fieldName","parameterIndex","parameters","Map","otherFields","SyntaxError","constructorArgs","copyFields","bind","apply","arg","xxhashjs_1","Hashing","doubleHashing","hashA","hashB","abs","getDistinctIndexes","number","Set","hashes","hashTwice","ind","first","second","values","hashCount","arr","serialize","h64","toNumber","hashTwiceAsString","_a","numberToHex","hashTwiceIntAndString","one","hashIntAndString","two","int","string","hashAsInt","elem","hash","__values","isEmptyBuffer","xorBuffer","randomInt","BufferError","defaultValue","getDefault","toString","repeat","min","random","rn","Buffer","allocUnsafe","start","it","e_1","buffer_1","buffer_1_1","e_1_1","return","UINT32","UINT64","h","_low","_high","remainder","fromNumber","fromString","fromBits","radix","parseInt","a00","a16","subtract","clone","negate","multiply","c16","c00","b16","b00","div","gt","eq","_other","lt","shiftLeft","shiftRight","greaterThan","lessThan","or","and","not","xor","shiftr","shiftl","allowOverflow","rotateLeft","rotl","rotateRight","rotr","radixPowerCache","radixCache","a32","a48","_a00","_a16","_a32","_a48","radixUint","self","res","join","b32","c32","c48","high","low","autoBom","console","warn","test","Blob","XMLHttpRequest","responseType","onload","response","onerror","send","status","dispatchEvent","MouseEvent","document","createEvent","initMouseEvent","g","global","navigator","userAgent","saveAs","HTMLAnchorElement","URL","webkitURL","createElement","download","rel","href","origin","location","createObjectURL","revokeObjectURL","msSaveOrOpenBlob","body","innerText","HTMLElement","safari","FileReader","onloadend","replace","readAsDataURL","module","reactIs","REACT_STATICS","childContextTypes","contextType","contextTypes","defaultProps","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","propTypes","KNOWN_STATICS","callee","arity","MEMO_STATICS","compare","TYPE_STATICS","getStatics","component","isMemo","ForwardRef","render","Memo","getOwnPropertyNames","getOwnPropertySymbols","getPrototypeOf","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","keys","targetStatics","sourceStatics","descriptor","globalThis","__js_sdk_entrypoint","indexedDB","matrixcs","RoomHierarchy","root","pageSize","maxDepth","suggestedOnly","_defineProperty","noSupport","serverSupportError","canLoadMore","nextBatch","_rooms","loading","loadRequest","rooms","load","then","client","getRoomHierarchy","roomId","next_batch","errcode","room","roomMap","room_id","children_state","ev","EventType","SpaceChild","childRoomId","state_key","backRefs","via","viaMap","vias","getRelation","parentId","childId","_this$roomMap$get","find","isSuggested","_this$getRelation","suggested","removeRelation","delete","ownKeys","t","_objectSpread2","getOwnPropertyDescriptors","defineProperties","formatProdErrorMessage","code","$$observable","observable","randomString","split","ActionTypes","INIT","REPLACE","PROBE_UNKNOWN_ACTION","isPlainObject","proto","createStore","reducer","preloadedState","enhancer","_ref2","currentReducer","currentState","currentListeners","nextListeners","isDispatching","ensureCanMutateNextListeners","getState","subscribe","listener","isSubscribed","indexOf","splice","dispatch","action","listeners","replaceReducer","nextReducer","outerSubscribe","observer","observeState","unsubscribe","bindActionCreator","actionCreator","bindActionCreators","actionCreators","boundActionCreators","compose","_len","funcs","_key","batch","callback","getBatch","nullListeners","notify","store","parentSub","handleChangeWrapper","subscription","onStateChange","trySubscribe","addNestedSub","last","clear","prev","createListenerCollection","notifyNestedSubs","Boolean","tryUnsubscribe","getListeners","useLayoutEffect","useEffect","contextValue","previousState","Context","_excluded2","EMPTY_ARRAY","NO_SUBSCRIPTION_ARRAY","storeStateUpdatesReducer","state","updateCount","payload","useIsomorphicLayoutEffectWithArgs","effectFunc","effectArgs","dependencies","captureWrapperProps","lastWrapperProps","lastChildProps","renderIsScheduled","wrapperProps","actualChildProps","childPropsFromStoreUpdate","subscribeUpdates","shouldHandleStateChanges","childPropsSelector","forceComponentUpdateDispatch","didUnsubscribe","lastThrownError","checkForUpdates","newChildProps","latestStoreState","initStateUpdates","connectAdvanced","selectorFactory","_ref2$getDisplayName","getDisplayName","_ref2$methodName","methodName","_ref2$renderCountProp","renderCountProp","_ref2$shouldHandleSta","_ref2$storeKey","storeKey","_ref2$forwardRef","withRef","_ref2$context","connectOptions","WrappedComponent","wrappedComponentName","selectorFactoryOptions","pure","usePureOnlyMemo","ConnectFunction","_useMemo","reactReduxForwardedRef","propsContext","ContextToUse","Consumer","isContextConsumer","useContext","didStoreComeFromProps","createChildSelector","_useMemo2","overriddenContextValue","_useReducer","useReducer","previousStateUpdateResult","useRef","renderedWrappedComponent","Connect","forwarded","is","shallowEqual","objA","objB","keysA","keysB","wrapMapToPropsConstant","getConstant","options","constant","constantSelector","dependsOnOwnProps","getDependsOnOwnProps","mapToProps","wrapMapToPropsFunc","proxy","stateOrDispatch","ownProps","mapDispatchToProps","_loop","mapStateToProps","defaultMergeProps","stateProps","dispatchProps","mergeProps","mergedProps","areMergedPropsEqual","hasRunOnce","nextMergedProps","wrapMergePropsFunc","impureFinalPropsSelectorFactory","pureFinalPropsSelectorFactory","areStatesEqual","areOwnPropsEqual","areStatePropsEqual","hasRunAtLeastOnce","handleSubsequentCalls","nextState","nextOwnProps","nextStateProps","statePropsChanged","propsChanged","stateChanged","finalPropsSelectorFactory","initMapStateToProps","initMapDispatchToProps","initMergeProps","match","factories","strictEqual","createConnect","_temp","_ref$connectHOC","connectHOC","_ref$mapStateToPropsF","mapStateToPropsFactories","_ref$mapDispatchToPro","mapDispatchToPropsFactories","_ref$mergePropsFactor","mergePropsFactories","_ref$selectorFactory","_ref3","_ref3$pure","_ref3$areStatesEqual","_ref3$areOwnPropsEqua","_ref3$areStatePropsEq","_ref3$areMergedPropsE","extraOptions","newBatch","useMemoOne","getResult","inputs","initial","isFirstRun","committed","cache","newInputs","lastInputs","areInputsEqual","prefix","getRect","top","right","bottom","left","center","expand","expandBy","shrink","shrinkBy","noSpacing","createBox","borderBox","_ref2$margin","margin","_ref2$border","border","_ref2$padding","padding","marginBox","paddingBox","contentBox","parse","raw","isNaN","condition","invariant","offset","original","change","shiftBy","shifted","withScroll","scroll","pageXOffset","pageYOffset","calculateBox","marginTop","marginRight","marginBottom","marginLeft","paddingTop","paddingRight","paddingBottom","paddingLeft","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","getBox","el","getComputedStyle","safeIsNaN","isEqual","resultFn","lastThis","lastResult","lastArgs","calledOnce","newArgs","fn","frameId","wrapperFn","args","requestAnimationFrame","cancel","cancelAnimationFrame","message","noop","bindEvents","bindings","sharedOptions","unbindings","binding","shared","fromBinding","getOptions","addEventListener","eventName","removeEventListener","unbind","isProduction$1","RbdInvariant","ErrorBoundary","_React$Component","callbacks","onWindowError","getCallbacks","isDragging","tryAbort","setCallbacks","_proto","componentDidMount","componentDidCatch","err","setState","componentWillUnmount","position","withLocation","source","destination","isInHomeList","droppableId","startPosition","endPosition","withCombine","combine","draggableId","returnedToStart","preset","dragHandleUsageInstructions","onDragStart","onDragUpdate","update","onDragEnd","reason","point1","point2","point","patch","line","otherValue","distance","sqrt","closest","points","offsetByPosition","spacing","getCorners","clip","frame","shouldClipSubject","subject","executeClip","pageMarginBox","getSubject","withPlaceholder","axis","scrolled","displacement","increased","_extends2","increasedBy","end","increase","active","scrollDroppable","droppable","newScroll","scrollable","scrollDiff","scrollDisplacement","findIndex","list","predicate","toArray","toDroppableMap","droppables","previous","toDraggableMap","draggables","toDroppableList","toDraggableList","getDraggablesInsideDroppable","draggable","sort","tryGetDestination","impact","at","tryGetCombine","removeDraggableFromList","remove","item","isHomeOf","noDisplacedBy","emptyGroups","invisible","visible","all","noImpact","displaced","displacedBy","isWithin","lowerBound","upperBound","isPartiallyVisibleThroughFrame","isWithinVertical","isWithinHorizontal","isPartiallyVisibleVertically","isPartiallyVisibleHorizontally","isBiggerVertically","isBiggerHorizontally","isTotallyVisibleThroughFrame","vertical","direction","crossAxisLine","crossAxisStart","crossAxisEnd","crossAxisSize","horizontal","isVisible","toBeDisplaced","viewport","withDroppableDisplacement","isVisibleThroughFrameFn","displacedTarget","getDroppableDisplaced","isVisibleInDroppable","isVisibleInViewport","isPartiallyVisible","isTotallyVisible","getDisplacementGroups","afterDragging","forceShouldAnimate","groups","getTarget","shouldAnimate","getShouldAnimate","goAtEnd","insideDestination","inHomeList","newIndex","indexOfLastItem","getIndexOfLastItem","calculateReorderImpact","withoutDragging","sliceFrom","didStartAfterCritical","afterCritical","effected","moveToNextIndex","isMovingForward","previousImpact","wasAt","_newIndex","currentIndex","proposedIndex","firstIndex","lastIndex","fromReorder","isCombineEnabled","combineId","combineWithIndex","fromCombine","whenCombining","combineWith","displaceBy","isDisplaced","getCombinedItemDisplacement","distanceFromStartToBorderBoxCenter","box","getCrossAxisBorderBoxCenter","isMoving","goAfter","moveRelativeTo","goBefore","distanceFromEndToBorderBoxCenter","whenReordering","draggablePage","moveInto","goIntoStart","closestAfter","withDisplacement","getPageBorderBoxCenterFromImpact","withoutDisplacement","getResultWithoutDroppableDisplacement","scrollViewport","getDraggables","ids","getClientFromPageBorderBoxCenter","pageBorderBoxCenter","withoutPageScrollChange","withViewportDisplacement","isTotallyVisibleInNewLocation","newPageBorderBoxCenter","_ref$onlyOnMainAxis","onlyOnMainAxis","changeNeeded","isTotallyVisibleOnAxis","moveToNextPlace","previousPageBorderBoxCenter","previousClientSelection","isEnabled","getImpact","closestId","withoutDraggable","indexOfClosest","moveToNextCombine","clientSelection","scrollJumpRequest","cautious","maxScrollChange","scrolledViewport","scrolledDroppable","withViewportScroll","withDroppableScroll","tryGetVisible","speculativelyIncrease","getKnownActive","rect","getCurrentPageBorderBoxCenter","getCurrentPageBorderBox","getDisplacedBy","withMaxScroll","addPlaceholder","placeholderSize","requiredGrowth","mode","availableSpace","needsToGrowBy","sum","dimension","getRequiredGrowthForPlaceholder","added","oldFrameMaxScroll","_subject","maxScroll","newFrame","moveCrossAxis","isOver","isBetweenSourceClipped","candidates","activeOfTarget","isBetweenDestinationClipped","contains","isWithinDroppable","getBestCrossAxisDroppable","sorted","distanceToA","distanceToB","getClosestDraggable","proposed","proposedPageBorderBoxCenter","relativeTo","isGoingBeforeTarget","moveToNewDroppable","whatIsDraggedOver","moveInDirection","isActuallyOver","getDroppableOver","dimensions","isMainAxisMovementAllowed","home","critical","isMovingOnMainAxis","borderBoxCenter","_state$dimensions","selection","isMovementAllowed","phase","isPositionInFrame","getDroppableOver$1","pageBorderBox","childCenter","isContained","isStartContained","isEndContained","startCenter","candidate","getFurthestAway","offsetRectByPosition","getIsDisplaced","getDragImpact","pageOffset","destinationId","pageBorderBoxWithDroppableScroll","area","targetRect","targetStart","targetEnd","child","childRect","threshold","didStartAfterCritical$1","getCombineImpact","atIndex","getReorderImpact","patchDroppableMap","updated","clearUnusedPlaceholder","now","lastDroppable","_subject2","oldMaxScroll","removePlaceholder","forcedClientSelection","forcedDimensions","forcedViewport","forcedImpact","newImpact","withUpdatedPlaceholders","cleaned","patched","recomputePlaceholders","recompute","getDraggables$1","getClientBorderBoxCenter","refreshSnap","movementMode","needsVisibilityCheck","getLiftEffect","insideHome","rawIndex","inVirtualList","finish","adjustAdditionsForScrollChanges","additions","updatedDroppables","windowScrollChange","getFrame","droppableScrollChange","moved","offset$1","initialWindowScroll","offsetDraggable","isSnapping","postDroppableChange","isEnabledChanging","patchDimensionMap","removeScrollJumpRequest","idle","completed","shouldFlush","_action$payload","isWindowScrollAllowed","isFixedOnPage","_getLiftEffect","onLiftImpact","published","withScrollChange","modified","existing","updatedAdditions","removals","wasOverId","wasOver","draggingState","isWaiting","publishWhileDraggingInVirtual","_clientSelection","_action$payload2","_action$payload3","_id","_target","_action$payload4","_id2","_target2","_updated","_newScroll","_viewport","_result2","_action$payload5","dropDuration","newHomeClientOffset","lift","publishWhileDragging","collectionStarting","updateDroppableScroll","updateDroppableIsEnabled","updateDroppableIsCombineEnabled","move","moveUp","moveDown","moveRight","moveLeft","flush","completeDrop","drop","dropAnimationFinished","curves","combining","outOfTheWayTiming","transitions","fluid","snap","duration","timing","outOfTheWay","moveTo","transforms","isCombining","translate","minDropTime","maxDropTime","dropTimeRange","drop$1","_getDropImpact","lastImpact","didDropInsideDroppable","getDropImpact","newClientCenter","getNewHomeClientOffset","distance$1","toFixed","getDropDuration","animateDrop","dropPending","getScrollListener","onWindowScroll","scheduled","passive","capture","getWindowScrollBinding","isActive","stop","scrollListener","shouldEnd","getAsyncMarshal","entries","timerId","execute","entry","shallow","withTimings","getDragStart","responder","announce","getDefaultMessage","willExpire","wasCalled","isExpired","timeoutId","getExpiringAnnounce","responders","getResponders","publisher","asyncMarshal","dragging","beforeCapture","onBeforeCapture","beforeStart","onBeforeDragStart","lastCritical","lastLocation","lastCombine","hasCriticalChanged","isDraggableEqual","isDroppableEqual","isCriticalEqual","hasLocationChanged","hasGroupingChanged","isCombineEqual","abort","getPublisher","dropAnimationFinish","dropAnimationFlushOnScroll","once","pendingDrop","postActionState","composeEnhancers","marshal","dimensionMarshal","focusMarshal","styleMarshal","autoScroller","middlewares","_dispatch","middlewareAPI","chain","middleware","applyMiddleware","dropping","resting","stopPublishing","dimensionMarshalStopper","request","scrollOptions","shouldPublishImmediately","_marshal$startPublish","startPublishing","lift$1","shouldStop","autoScroll","isWatching","tryRecordFocus","tryRestoreFocusRecorded","tryShiftRecord","getMaxScroll","scrollHeight","scrollWidth","getDocumentElement","doc","documentElement","getMaxWindowScroll","clientWidth","clientHeight","getInitialPublish","registry","windowScroll","getAllByType","getDimensionAndWatchScroll","getDimension","shouldPublishUpdate","getById","getRemainder","base","createDimensionMarshal","collection","staging","collect","_staging","getScrollWhileDragging","publish","createPublisher","subscriber","exists","dragStopped","canStartDrag","scrollWindow","scrollBy","getScrollableDroppables","getBestScrollableDroppable","_dimension","maybe","getScrollableDroppableOver","config","percentage","stopDampeningAt","accelerateAt","getPercentage","startOfRange","endOfRange","range","stopAt","getValue","distanceToEdge","thresholds","dragStartTime","shouldUseTimeDampening","startScrollingFrom","maxScrollValueAt","percentageFromMaxScrollValueAt","getValueFromDistance","proposedScroll","runTime","Date","betweenAccelerateAtAndStopAtPercentage","dampenValueByTime","getScrollOnAxis","container","distanceToEdges","getDistanceThresholds","clean$2","getScroll","required","limited","isTooBigVertically","isTooBigHorizontally","adjustForSizeLimits","smallestSigned","getOverlap","targetScroll","overlap","canPartiallyScroll","rawMax","smallestChange","canScrollWindow","canScrollDroppable","scroll$1","_change","getWindowScrollChange","getDroppableScrollChange","createJumpScroller","scrollDroppableAsMuchAsItCan","getDroppableOverlap","whatTheDroppableCanScroll","scrollWindowAsMuchAsItCan","getWindowOverlap","whatTheWindowCanScroll","droppableRemainder","windowRemainder","moveByOffset","createAutoScroller","fluidScroller","scheduleWindowScroll","scheduleDroppableScroll","tryScroll","_dragging","wasScrollNeeded","fakeScrollCallback","createFluidScroller","jumpScroll","prefix$1","dragHandle","contextId","scrollContainer","getStyles","rules","property","rule","selector","getStyles$1","grabCursor","transition","getSelector","attribute","dragHandle$1","always","dropAnimating","userCancel","getHead","head","querySelector","createStyleEl","nonce","setAttribute","getWindowFromEl","ownerDocument","defaultView","isHtmlElement","findDragHandle","possible","querySelectorAll","handle","getAttribute","createRegistry","subscribers","cb","findDraggableById","findDroppableById","register","uniqueId","unregister","findById","clean","StoreContext","getBodyElement","visuallyHidden","overflow","getId","defaults","separator","useUniqueId","AppContext","useDev","useHook","useDevSetupWarning","usePrevious","_preventedKeys","preventedKeys","preventStandardKeyEvents","keyCode","supportedEventName","_scrollJumpKeys","idle$1","getCaptureBindings","getPhase","setPhase","button","pending","fluidLift","shouldBlockNextClick","shouldRespectForcePress","noop$1","scrollJumpKeys","getDraggingBindings","idle$2","interactiveTagNames","input","textarea","select","option","optgroup","video","audio","isAnInteractiveElement","parent","tagName","toLowerCase","parentElement","isEventInInteractiveElement","getBorderBoxCenterPosition","supportedMatchesName","Element","closestPonyfill","closest$1","findClosestDragHandleFromEvent","_isActive","expected","isLockActive","shouldWarn","canStart","lockAPI","isClaimed","tryStart","forceSensorStop","sourceEvent","draggable$1","findDraggable","canDragInteractiveElements","lock","claim","getShouldRespectForcePress","tryDispatchWhenDragging","getAction","release","cleanup","liftActionArgs","move$1","api","snapLift","defaultSensors","phaseRef","unbindEventsRef","startCaptureBinding","ctrlKey","metaKey","shiftKey","altKey","findClosestDraggableId","tryGetLock","startPendingDrag","preventForcePressBinding","findOptionsForDraggable","canGetLock","listenForCapture","bindCapturingEvents","preDrag","isCapturing","touch","touches","longPressTimerId","unbindTarget","hasMoved","_event$touches$","force","shouldRespect","getHandleBindings","unbindWindow","getWindowBindings","startDragging","useSensorMarshal","_ref4","customSensors","enableDefaultSensors","useSensors","abandon","newLock","tryAbandon","tryAbandonLock","forceStop","tryGetClosestDraggableIdFromEvent","tryReleaseLock","isLockClaimed","createResponders","getStore","lazyRef","App","sensors","lazyStoreRef","lastPropsRef","appendChild","removeChild","textContent","useAnnouncer","dragHandleUsageInstructionsId","text","display","useHiddenTextElement","alwaysRef","dynamicRef","setDynamicStyle","setAlwaysStyle","dynamic","useStyleMarshal","lazyDispatch","marshalCallbacks","useRegistry","entriesRef","recordRef","restoreFocusFrameRef","isMountedRef","focus","tryGiveFocus","tryGiveFocusTo","activeElement","redirectTo","record","focused","useFocusMarshal","tryResetStore","getCanLift","getIsMovementAllowed","appContext","canLift","count$1","DragDropContext","isEqual$1","isScroll","isAuto","isEither","overflowX","overflowY","getClosestScrollable","isElementScrollable","getScroll$1","scrollLeft","scrollTop","getIsFixed","getEnv","closestScrollable","env","isDropDisabled","targetRef","getClient","frameClient","scrollSize","getDroppableDimension","immediate","delayed","getListenerOptions","useRequiredContext","getClosestScrollableFromDrag","noop$2","empty","getStyle","isAnimatingOpenOnMount","animate","getSize","boxSizing","flexShrink","flexGrow","pointerEvents","Placeholder$1","animateOpenTimerRef","tryClearAnimateOpenTimer","onTransitionEnd","_useState","setIsAnimatingOpenOnMount","onSizeChangeEnd","propertyName","innerRef","DroppableContext","AnimateInOut","_React$PureComponent","on","provided","zIndexOptions","getDraggingTransition","shouldAnimateDragMovement","getDraggingOpacity","isDropAnimating","getStyle$1","mapped","getShouldDraggingAnimate","transform","opacity","zIndex","getDraggingStyle","secondary","shouldAnimateDisplacement","useDraggablePublisher","getDraggableRef","computedStyles","getDimension$1","publishedRef","isFirstPublishRef","useValidation$1","getRef","preventHtml5Dnd","isStrictEqual","whatIsDraggedOverFromResult","getSecondarySnapshot","combineTargetFor","isClone","dropAnimation","draggingOver","atRest","snapshot","ConnectedDraggable","connect","memoizedOffset","getMemoizedSnapshot","getMemoizedProps","draggingSelector","_draggingOver","_combineWith","getCombineWithFromResult","curve","scale","secondarySelector","getFallback","getProps","ownId","draggingId","visualDisplacement","isAfterCriticalInVirtualList","_offset","getSecondarySelector","setRef","_useRequiredContext","_useRequiredContext2","dropAnimationFinishedAction","dragHandleProps","onMoveEnd","draggableProps","rubric","PrivateDraggable","isUsingCloneFor","PublicDraggable","isDragDisabled","disableInteractiveElementBlocking","isMatchingType","getDraggable","ignoreContainerClipping","renderClone","getContainerForClone","ConnectedDroppable","idleWithAnimation","shouldAnimatePlaceholder","isDraggingOver","draggingOverWith","draggingFromThisWith","isUsingPlaceholder","useClone","idleWithoutAnimation","getDraggableRubric","getMapProps","isDraggingOverForConsumer","isDraggingOverForImpact","_snapshot","_completed","wasCombining","isHome","updateViewportMaxScroll","droppableRef","placeholderRef","getDroppableRef","setDroppableRef","setPlaceholderRef","onPlaceholderTransitionEnd","whileDraggingRef","previousRef","publishedDescriptorRef","memoizedUpdateScroll","getClosestScroll","updateScroll","scheduleScrollUpdate","onClosestScroll","removeAttribute","useDroppablePublisher","droppableProps","droppableContext","node","draggableProvided","draggableSnapshot","getClone","React","ReactDOM","url","encodeURIComponent","REACT_ELEMENT_TYPE","for","REACT_PORTAL_TYPE","REACT_FRAGMENT_TYPE","REACT_STRICT_MODE_TYPE","REACT_PROFILER_TYPE","REACT_CONSUMER_TYPE","REACT_CONTEXT_TYPE","REACT_FORWARD_REF_TYPE","REACT_SUSPENSE_TYPE","REACT_SUSPENSE_LIST_TYPE","REACT_MEMO_TYPE","REACT_LAZY_TYPE","REACT_SCOPE_TYPE","REACT_ACTIVITY_TYPE","REACT_LEGACY_HIDDEN_TYPE","REACT_MEMO_CACHE_SENTINEL","REACT_VIEW_TRANSITION_TYPE","MAYBE_ITERATOR_SYMBOL","getIteratorFn","maybeIterable","isArrayImpl","murmurhash3_32_gc","h1","k1","VALID_ATTRIBUTE_NAME_REGEX","RegExp","illegalAttributeNameCache","validatedAttributeNameCache","isAttributeNameSafe","attributeName","unitlessNumbers","aliases","matchHtmlRegExp","escapeTextForBrowser","exec","html","uppercasePattern","msPattern","isJavaScriptProtocol","sanitizeURL","ReactSharedInternals","__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE","ReactDOMSharedInternals","__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE","sharedNotPendingObject","method","previousDispatcher","D","currentRequest","resumableState","renderState","header","JSCompiler_temp","dnsResources","headers","remainingCapacity","regexForHrefInLinkHeaderURLContext","escapeHrefForLinkHeaderURLContextReplacer","resets","dns","preconnects","pushLinkImpl","enqueueFlush","C","crossOrigin","connectResources","regexForLinkHeaderQuotedParamValueContext","escapeStringForLinkHeaderQuotedParamValueContextReplacer","L","imageSrcSet","imageSizes","fetchPriority","imageResources","PRELOAD_NO_CREDS","getPreloadAsHeader","image","highImagePreloads","bulkPreloads","preloads","images","styleResources","integrity","stylesheets","scriptResources","scripts","unknownResources","font","fontPreloads","moduleScriptResources","moduleScripts","moduleUnknownResources","resources","X","src","resourceState","async","adoptPreloadCredentials","pushScriptImpl","S","precedence","styleQueue","hrefs","sheets","M","currentlyFlushingRenderState","scriptRegex","scriptReplacer","suffix","createFormatContext","insertionMode","selectedValue","tagScope","viewTransition","getChildFormatContext","parentContext","subtreeScope","getSuspenseViewTransition","parentViewTransition","enter","exit","share","autoName","nameIdx","getSuspenseFallbackFormatContext","instructions","getSuspenseContentFormatContext","styleNameCache","pushStyleAttribute","styleName","isFirst","styleValue","nameChunk","trim","pushBooleanAttribute","pushStringAttribute","actionJavaScriptURL","pushAdditionalFormField","validateAdditionalFormField","getCustomFormFields","formAction","$$FORM_ACTION","nextFormID","idPrefix","customFields","formData","pushFormActionAttribute","formEncType","formMethod","formTarget","encType","injectFormReplayingRuntime","pushAttribute","prefix$8","pushInnerHTML","innerHTML","__html","preamble","bootstrapChunks","htmlChunks","headChunks","startInlineScript","pushCompletedShellIdAttribute","unshift","propKey","startChunkForTag","propValue","styleRegex","styleReplacer","pushSelfClosing","tag","pushTitleImpl","endChunkForTag","pushStartSingletonElement","pushStartGenericElement","VALID_TAG_REGEX","validatedTagCache","tagStartChunk","pushStartInstance","target$jscomp$0","preambleState","hoistableState","formatContext","textEmbedded","JSCompiler_inline_result","propKey$jscomp$0","children$jscomp$0","innerHTML$jscomp$0","propValue$jscomp$0","propKey$jscomp$1","children$jscomp$1","innerHTML$jscomp$1","propValue$jscomp$1","stringValue","Children","flattenOptionChildren","propKey$jscomp$2","value$jscomp$0","children$jscomp$2","propValue$jscomp$2","propKey$jscomp$3","value$jscomp$1","defaultValue$jscomp$0","defaultChecked","propValue$jscomp$3","propKey$jscomp$4","children$jscomp$3","innerHTML$jscomp$2","name$jscomp$0","formAction$jscomp$0","formEncType$jscomp$0","formMethod$jscomp$0","formTarget$jscomp$0","propValue$jscomp$4","formData$jscomp$0","JSCompiler_inline_result$jscomp$0","propKey$jscomp$5","children$jscomp$4","innerHTML$jscomp$3","formAction$jscomp$1","formEncType$jscomp$1","formMethod$jscomp$1","formTarget$jscomp$1","propValue$jscomp$5","formData$jscomp$1","formActionName","JSCompiler_inline_result$jscomp$1","propKey$jscomp$6","propValue$jscomp$6","propKey$jscomp$7","children$jscomp$5","innerHTML$jscomp$4","propValue$jscomp$7","sanitizedValue","JSCompiler_inline_result$jscomp$2","noscriptTagInScope","isFallback","itemProp","JSCompiler_inline_result$jscomp$3","hoistableChunks","noscriptTagInScope$jscomp$0","isFallback$jscomp$0","JSCompiler_inline_result$jscomp$4","onLoad","onError","resource","preloadResource","resource$9","noscriptTagInScope$jscomp$1","asyncProp","JSCompiler_inline_result$jscomp$5","resourceState$jscomp$0","scriptProps","preloadResource$jscomp$0","resource$jscomp$0","noscriptTagInScope$jscomp$2","precedence$jscomp$0","href$jscomp$0","propKey$jscomp$8","children$jscomp$6","innerHTML$jscomp$5","propValue$jscomp$8","JSCompiler_inline_result$jscomp$6","styleQueue$jscomp$0","nonceStyle","propKey$jscomp$9","children$jscomp$7","innerHTML$jscomp$6","propValue$jscomp$9","child$jscomp$0","noscriptTagInScope$jscomp$3","isFallback$jscomp$1","JSCompiler_inline_result$jscomp$7","charSet","charsetChunks","viewportChunks","propKey$jscomp$10","children$jscomp$8","innerHTML$jscomp$7","propValue$jscomp$10","pictureOrNoScriptTagInScope","srcSet","suspenseyImages","sizes","key$jscomp$0","promotablePreloads","resource$jscomp$1","JSCompiler_inline_result$jscomp$8","referrerPolicy","refererPolicy","JSCompiler_inline_result$jscomp$9","preamble$jscomp$0","bodyChunks","JSCompiler_inline_result$jscomp$10","preamble$jscomp$1","JSCompiler_inline_result$jscomp$11","propKey$jscomp$11","children$jscomp$9","innerHTML$jscomp$8","propValue$jscomp$11","endTagCache","chunk","hoistPreambleState","writeBootstrap","writeStartPendingSuspenseBoundary","boundaryPrefix","regexForJSStringsInInstructionScripts","escapeJSStringsForInstructionScripts","JSON","stringify","regexForJSStringsInScripts","escapeJSObjectForInstructionScripts","currentlyRenderingBoundaryHasStylesToHoist","destinationHasCapacity","flushStyleTagsLateForBoundary","startInlineStyle","hasStylesToHoist","stylesheet","writeHoistablesForBoundary","stylesToHoist","flushResource","stylesheetFlushingQueue","flushStyleInPreamble","flushStylesInPreamble","hasStylesheets","preloadLateStyle","media","hrefLang","preloadLateStyles","writeStyleResourceAttributeInJS","createHoistableState","preloadState","params","paramName","hoistStyleQueueDependency","hoistStylesheetDependency","hoistHoistables","parentState","childState","pushTextInstance","generateStaticMarkup","pushSegmentFinale","lastPushedText","Function","REACT_CLIENT_REFERENCE","getComponentNameFromType","$$typeof","_context","innerType","_payload","_init","emptyContextObject","currentActiveSnapshot","popToNearestCommonAncestor","_currentValue2","parentValue","parentNext","popAllPrevious","pushAllNext","popPreviousToCommonLevel","depth","popNextToCommonLevel","switchContext","newSnapshot","classComponentUpdater","enqueueSetState","inst","_reactInternals","queue","enqueueReplaceState","enqueueForceUpdate","emptyTreeContext","pushTreeContext","baseContext","totalChildren","baseIdWithLeadingBit","baseLength","clz32","numberOfOverflowBits","SuspenseException","suspendedThenable","getSuspendedThenable","thenable","objectIs","currentlyRenderingComponent","currentlyRenderingTask","currentlyRenderingRequest","currentlyRenderingKeyPath","firstWorkInProgressHook","workInProgressHook","isReRender","didScheduleRenderPhaseUpdate","localIdCounter","actionStateCounter","actionStateMatchingIndex","thenableIndexCounter","thenableState","renderPhaseUpdates","numberOfReRenders","resolveCurrentlyRenderingComponent","createHook","memoizedState","createWorkInProgressHook","getThenableStateAfterSuspending","resetHooksState","basicStateReducer","initialArg","init","dispatchAction","nextCreate","deps","prevState","prevDeps","componentIdentity","throwOnUseEffectEventCall","unsupportedStartTransition","unsupportedSetOptimisticState","useActionState","initialState","permalink","actionStateHookIndex","nextPostbackStateKey","componentKeyPath","formState","isSignatureEqual","$$IS_SIGNATURE_EQUAL","postbackKey","boundAction","append","boundAction$22","unwrapThenable","fulfilledValue","fulfilledThenable","rejectedThenable","trackUsedThenable","unsupportedRefresh","HooksDispatcher","readContext","use","usable","initialValue","useInsertionEffect","useImperativeHandle","useDebugValue","useDeferredValue","useTransition","treeContext","currentResumableState","useSyncExternalStore","getSnapshot","getServerSnapshot","useOptimistic","passthrough","useFormState","useHostTransitionStatus","useMemoCache","useCacheRefresh","useEffectEvent","DefaultAsyncDispatcher","getCacheForType","cacheSignal","describeBuiltInComponentFrame","stack","reentry","describeNativeComponentFrame","construct","previousPrepareStackTrace","prepareStackTrace","RunInRootFrame","DetermineComponentFrameRoot","Fake","control","x$24","x$25","catch","sample","namePropDescriptor","_RunInRootFrame$Deter","sampleStack","controlStack","sampleLines","controlLines","describeComponentStackByType","isReactComponent","lazyComponent","debugLocation","startsWith","lastIndexOf","isEligibleForOutlining","boundary","byteSize","contentPreamble","defaultErrorHandler","environmentName","RequestInstance","rootFormatContext","progressiveChunkSize","onAllReady","onShellReady","onShellError","onFatalError","onPostpone","abortSet","flushScheduled","fatalError","pendingRootTasks","allPendingTasks","nextSegmentId","completedPreambleSegments","completedRootSegment","abortableTasks","pingedTasks","clientRenderedBoundaries","completedBoundaries","partialBoundaries","trackedPostpones","pingTask","task","performWork","createSuspenseBoundary","row","fallbackAbortableTasks","fallbackPreamble","rootSegmentID","parentFlushed","pendingTasks","completedSegments","errorDigest","contentState","fallbackState","trackedContentKeyPath","trackedFallbackNode","boundaries","inheritedHoistables","createRenderTask","childIndex","blockedBoundary","blockedSegment","blockedPreamble","keyPath","componentStack","replay","ping","createReplayTask","createPendingSegment","parentFormatContext","chunks","preambleChildren","pushComponentStack","replaceSuspenseComponentStackWithSuspenseFallbackStack","getThrownInfo","node$jscomp$0","errorInfo","info","logRecoverableError","destroy","finishSuspenseListRow","unblockSuspenseListRow","hoistables","unblockedRow","unblockedBoundaries","unblockedBoundary","finishedTask","tryToResolveTogetherRow","togetherRow","allCompleteAndInlinable","rowBoundary","createSuspenseListRow","previousRow","newRow","together","renderSuspenseListRows","rows","revealOrder","prevKeyPath","prevTreeContext","prevRow","previousSuspenseListRow","resumeSlots","slots","resumeSegmentID","resumeNode","renderNode","thrownValue","renderWithHooks","Component","secondArg","prevThenableState","finishFunctionComponent","hasId","actionStateCount","didEmitActionStateMarkers","segment","renderNodeDestructive","renderElement","newProps","propName","propName$43","updater","getSnapshotBeforeUpdate","UNSAFE_componentWillMount","componentWillMount","parentBoundary","parentHoistableState","fallback","fallbackAbortSet","newBoundary","boundarySegment","contentRootSegment","workingMap","queueCompletedSegment","preparePreamble","thrownValue$30","untrackBoundary","hasBody","hasHtml","segmentId","prevReplay","resumedSegment","retryNode","keyOrIndex","nodes","childNodes","abortRemainingReplayNodes","prevContext","previousReplaySet","renderChildrenArray","replayNodes","j","trackPostponedBoundary","fallbackReplayNode","boundaryNode","addToReplayParent","trackPostpone","rootSlots","spawnNewSuspendedReplayTask","spawnNewSuspendedRenderTask","newSegment","previousFormatContext","previousContext","previousKeyPath","previousTreeContext","previousComponentStack","childrenLength","chunkLength","thrownValue$62","abortTaskSoft","request$jscomp$0","errorDigest$jscomp$0","resumedBoundary","abortTask","completeShell","trackedPostpones$63","fallbackTask","completeAll","safelyEmitEarlyPreloads","shellComplete","onHeaders","linkHeader","queueIter","queueStep","sheetIter","sheetStep","sheet","props$jscomp$0","childSegment","postponedRow","postponedBoundary","request$jscomp$2","prevDispatcher","H","prevAsyncDispatcher","A","prevRequest","prevResumableState","request$jscomp$1","error$jscomp$0","x$jscomp$0","thrownInfo","ping$jscomp$0","errorInfo$jscomp$0","boundary$jscomp$0","boundaryRow","flushCompletedQueues","preparePreambleFromSubtree","collectedPreambleSegments","pendingPreambles","preparePreambleFromSegment","originalRequestByteSize","hasPendingPreambles","flushSubtree","placeholderPrefix","chunkIdx","childIdx","flushSegment","flushedByteSize","flushingPartialBoundaries","flushSegmentContainer","segmentPrefix","writeStartSegment","writeEndSegment","flushCompletedBoundary","flushPartiallyCompletedSegment","requiresStyleInsertion","nextArrayOpenBrackChunk","coercedHref","writeStyleResourceDependenciesInJS","segmentID","i$jscomp$0","importMapChunks","bootstrapScripts","segments","headChunks$jscomp$0","chunk$jscomp$0","renderState$jscomp$0","rootNodes","resumableState$jscomp$0","shellId","chunk$jscomp$1","renderState$jscomp$1","viewportChunks$jscomp$0","hoistableChunks$jscomp$0","resumableState$jscomp$1","renderState$jscomp$2","chunk$jscomp$2","chunk$jscomp$3","boundary$69","largeBoundaries","startFlowing","error$71","parentKeyPath","parentNode","renderToStringImpl","abortReason","identifierPrefix","bootstrapScriptContent","bootstrapModules","didFatal","readyToStream","createRequest","streamingFormat","anonymous","credentials","JSCompiler_object_inline_segmentPrefix_1673","JSCompiler_object_inline_preconnects_1687","JSCompiler_object_inline_fontPreloads_1688","JSCompiler_object_inline_highImagePreloads_1689","JSCompiler_object_inline_styles_1690","JSCompiler_object_inline_bootstrapScripts_1691","JSCompiler_object_inline_scripts_1692","JSCompiler_object_inline_bulkPreloads_1693","JSCompiler_object_inline_preloads_1694","scriptConfig","externalRuntimeScript","script","createRenderState","Infinity","renderToStaticMarkup","renderToString","version","channel","MessageChannel","taskQueue","scheduleWork","port2","postMessage","handleErrorInNextTick","port1","onmessage","shift","LocalPromise","Promise","scheduleMicrotask","queueMicrotask","resolve","currentView","writtenBytes","writeChunk","byteLength","enqueue","allowableBytes","subarray","writeChunkAndReturn","completeWriting","textEncoder","TextEncoder","stringToChunk","stringToPrecomputedChunk","byteLengthOfChunk","closeWithError","endInlineScript","startScriptSrc","startModuleSrc","scriptNonce","scriptIntegirty","scriptCrossOrigin","endAsyncScript","importMapScriptStart","importMapScriptEnd","externalRuntimeConfig","importMap","maxHeadersLength","inlineScriptWithNonce","inlineStyleWithNonce","endOfStartTag","attributeEnd","createResumableState","createPreambleState","createRootFormatContext","namespaceURI","textSeparator","styleAttributeStart","styleAssign","styleSeparator","attributeSeparator","attributeAssign","attributeEmptyString","startHiddenInputChunk","endOfStartTagSelfClosing","selectedMarkerAttribute","formReplayingRuntimeScript","formStateMarkerIsMatching","formStateMarkerIsNotMatching","headPreambleContributionChunk","bodyPreambleContributionChunk","htmlPreambleContributionChunk","leadingNewline","doctypeChunk","shellTimeRuntimeScript","placeholder1","placeholder2","startActivityBoundary","endActivityBoundary","startCompletedSuspenseBoundary","startPendingSuspenseBoundary1","startPendingSuspenseBoundary2","startClientRenderedSuspenseBoundary","endSuspenseBoundary","clientRenderedSuspenseBoundaryError1","clientRenderedSuspenseBoundaryErrorAttrInterstitial","clientRenderedSuspenseBoundaryError1A","clientRenderedSuspenseBoundaryError2","startSegmentHTML","startSegmentHTML2","endSegmentHTML","startSegmentSVG","startSegmentSVG2","endSegmentSVG","startSegmentMathML","startSegmentMathML2","endSegmentMathML","startSegmentTable","startSegmentTable2","endSegmentTable","startSegmentTableBody","startSegmentTableBody2","endSegmentTableBody","startSegmentTableRow","startSegmentTableRow2","endSegmentTableRow","startSegmentColGroup","startSegmentColGroup2","endSegmentColGroup","completeSegmentScript1Full","completeSegmentScript1Partial","completeSegmentScript2","completeSegmentScriptEnd","completeBoundaryScriptFunctionOnly","completeBoundaryScript1Partial","completeBoundaryWithStylesScript1FullPartial","completeBoundaryWithStylesScript1Partial","completeBoundaryScript2","completeBoundaryScript3a","completeBoundaryScript3b","completeBoundaryScriptEnd","clientRenderScriptFunctionOnly","clientRenderScript1Full","clientRenderScript1Partial","clientRenderScript1A","clientRenderErrorScriptArgInterstitial","clientRenderScriptEnd","lateStyleTagResourceOpen1","lateStyleTagResourceOpen2","lateStyleTagResourceOpen3","lateStyleTagTemplateClose","spaceSeparator","styleTagResourceOpen1","styleTagResourceOpen2","styleTagResourceOpen3","styleTagResourceClose","completedShellIdAttributeStart","arrayFirstOpenBracket","arraySubsequentOpenBracket","arrayInterstitial","arrayCloseBracket","hasSuspenseyContent","_currentValue","resumeRequest","postponedState","replaySlots","finishedSegment","propName$44","parentSegment","thrownValue$31","thrownValue$63","trackedPostpones$64","segmentByteSize","boundary$70","startWork","error$72","getPostponedState","ensureCorrectIsomorphicReactVersion","isomorphicReactPackageVersion","prerender","reject","onHeadersImpl","headersDescriptor","Headers","unstable_externalRuntimeSrc","createPrerenderRequest","stream","ReadableStream","pull","controller","highWaterMark","postponed","prelude","signal","aborted","renderToReadableStream","allReady","rej","resume","resumeAndPrerender","resumeAndPrerenderRequest","q","w","z","u","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Lazy","Profiler","StrictMode","Suspense","isAsyncMode","isConcurrentMode","isContextProvider","isElement","isForwardRef","isFragment","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","un","mo","se","an","Ae","Qt","ye","go","tt","Y","We","rt","F","po","Et","dn","On","J","P","Ft","reduceRight","Io","Lt","Kt","Gt","$","U","ht","bt","K","singleton","So","ut","V","Fe","ho","Ct","DEBUG","INFO","WARN","ERROR","Co","Wt","VIRTUOSO_LOG_LEVEL","logLevel","Vt","_e","callbackRef","ResizeObserver","offsetParent","observe","unobserve","Fn","dataset","parseFloat","knownSize","endIndex","startIndex","vo","virtuosoScroller","T","lastElementChild","viewportType","R","scrollX","scrollY","offsetWidth","offsetHeight","innerWidth","innerHeight","viewportHeight","columnGap","rowGap","endsWith","Ne","offsetTop","visibleHeight","visibleWidth","It","deviation","fixedFooterHeight","fixedHeaderHeight","footerHeight","headerHeight","horizontalDirection","scrollContainerState","scrollingInProgress","scrollTo","skipAnimationFrameInResizeObserver","smoothScrollTargetReached","statefulScrollTop","ie","lvl","Ln","le","kt","yt","Gn","dt","mn","Zt","Xt","yo","Ve","Le","Pn","Se","Vn","Dt","Ee","Mn","Pe","An","ce","De","recalcInProgress","Wn","Ce","zt","round","be","groupOffsetTree","$e","Bo","ue","_n","groupIndices","Nn","groupIndex","Eo","ko","bo","Fo","zo","sizeTree","Lo","Ho","lastOffset","lastSize","offsetTree","Ge","pn","Vo","Pt","O","B","W","_","I","changed","firstItemIndex","et","wt","ft","ranges","prevSize","prevIndex","beforeUnshiftWith","defaultItemSize","fixedItemSize","fixedGroupSize","gap","heightEstimates","itemSize","listRefresh","shiftWith","shiftWithOffset","sizeRanges","statefulTotalCount","totalCount","trackItemSizes","unshiftWith","Po","Dn","groupCounts","topItemsIndexes","_t","didMount","propsReady","Go","$n","behavior","me","xt","St","Mt","pt","qt","Mo","scrollTargetReached","scrollToIndex","topListHeight","Ue","Ke","pe","initialItemFinalLocationReached","initialTopMostItemIndex","scrolledToInitialItem","Un","ae","oe","Wo","atBottom","notAtBottomBecause","offsetBottom","he","scrollTopDelta","atBottomBecause","jump","prevScrollTop","atBottomState","atBottomStateChange","atBottomThreshold","atTopStateChange","atTopThreshold","isAtBottom","isAtTop","isScrolling","lastJumpDueToItemResize","scrollDirection","scrollVelocity","de","fe","hn","gn","main","reverse","In","je","increaseViewportBy","listBoundary","overscan","visibleRange","Be","topItems","Te","xn","Kn","originalIndex","Sn","jt","Tt","No","st","mt","Z","nt","vt","ct","ee","Ot","ne","endReached","initialItemCount","itemsRendered","listState","minOverscanItemCount","rangeChanged","startReached","jn","totalListHeight","totalListHeightChanged","Do","alignToBottom","paddingTopAddition","qn","$o","itemBottom","itemTop","locationParams","viewportBottom","viewportTop","Yn","calculateViewLocation","scrollIntoView","Tn","Ko","Uo","followOutputBehavior","shouldFollow","refreshed","autoscrollToBottom","followOutput","scrollIntoViewOnChange","jo","qo","initialScrollTop","Zn","isSeeking","scrollSeekConfiguration","scrollSeekRangeChanged","qe","customScrollParent","useWindowScroll","windowScrollContainerState","windowScrollTo","windowViewportRect","Yo","Oo","Zo","restoreStateFrom","Xo","topItemCount","Xn","Jo","Qo","amount","tr","Jn","defaultItemHeight","fixedItemHeight","fixedGroupHeight","er","hasOwn","Ie","Ye","optional","methods","events","xo","To","useEmitter","useEmitterValue","usePublisher","Re","Qn","ke","eo","nr","suppressFlushSync","scrollByCallback","scrollerRef","scrollToCallback","ze","Cn","Ze","Xe","rr","components","computeItemKey","EmptyPlaceholder","FooterComponent","GroupComponent","groupContent","HeaderComponent","HeaderFooterTag","ItemComponent","itemContent","ListComponent","ScrollerComponent","ScrollSeekPlaceholder","TopItemListComponent","sr","ir","overflowAnchor","no","lr","wn","showTopList","Rt","tn","whiteSpace","visibility","Q","oo","cr","outline","WebkitOverflowScrolling","ur","te","flexDirection","dr","fr","Je","Qe","mr","itemHeight","pr","hr","gr","xr","Ir","ro","headerFooterTag","Yr","Tr","colSpan","FillerRow","fixedFooterContent","fixedHeaderContent","TableBodyComponent","TableComponent","TableFooterComponent","TableHeadComponent","TableRowComponent","Cr","wr","vr","vn","yn","N","yr","Bt","en","br","Rr","Hr","Br","Er","borderSpacing","so","itemWidth","kr","Rn","we","re","Oe","Hn","En","xe","Or","column","Fr","bn","He","nn","cn","zr","ge","io","Yt","Nt","sn","Bn","ln","Me","itemDimensions","viewportDimensions","gridState","stateRestoreInProgress","Vr","itemClassName","listClassName","readyStateChanged","reportReadyState","Pr","ot","Ht","firstChild","kn","Gr","Mr","Ar","viewportWidth","Wr","_r","$r","Dr","Nr","lo","makeExporter","writable","supportsSymbol","toPrimitiveSymbol","toPrimitive","iteratorSymbol","supportsCreate","supportsProto","downLevel","HashMap","MakeDictionary","functionPrototype","usePolyfill","process","_Map","CreateMapPolyfill","_Set","CreateSetPolyfill","Metadata","WeakMap","CreateWeakMapPolyfill","attributes","IsUndefined","IsArray","IsConstructor","DecorateConstructor","IsObject","IsNull","DecorateProperty","ToPropertyKey","metadataKey","metadataValue","IsPropertyKey","OrdinaryDefineOwnMetadata","OrdinaryHasMetadata","hasOwnMetadata","OrdinaryHasOwnMetadata","OrdinaryGetMetadata","getOwnMetadata","OrdinaryGetOwnMetadata","getMetadataKeys","OrdinaryMetadataKeys","getOwnMetadataKeys","OrdinaryOwnMetadataKeys","deleteMetadata","metadataMap","GetOrCreateMetadataMap","targetMetadata","decorated","Create","MetadataKey","OrdinaryGetPrototypeOf","ToBoolean","MetadataValue","parentKeys","ownKeys_1","parentKeys_1","GetIterator","IteratorStep","nextValue","IteratorValue","IteratorClose","Type","IsSymbol","ToPrimitive","PreferredType","hint","exoticToPrim","GetMethod","OrdinaryToPrimitive","toString_1","IsCallable","valueOf","toString_2","argument","ToString","func","iterResult","prototypeProto","cacheSentinel","arraySentinel","MapIterator","_index","_keys","_values","_selector","throw","_cacheKey","_cacheIndex","_find","getKey","getEntry","insert","_map","UUID_SIZE","rootKey","CreateUniqueKey","table","GetOrCreateWeakMapTable","CreateUUID","FillRandomBytes","GenRandomBytes","crypto","getRandomValues","msCrypto","byte","factory","truncate","illegalRe","controlRe","reservedRe","windowsReservedRe","windowsTrailingRe","sanitize","replacement","sanitized","output","alea","xor128","xorwow","xorshift7","xor4096","tychei","Alea","mash","Mash","s0","s1","s2","copy","impl","opts","xg","prng","double","quick","XorGen","strseed","limit","pool","math","nodecrypto","startdenom","significance","seedrandom","shortseed","mixkey","flatten","entropy","tostring","out","randomBytes","browser","plugins","screen","autoseed","arc4","ARC4","pass","is_math_call","keylen","typ","smear","stringseed","fromCharCode","ex","getLength","isHighSurrogate","codePoint","isLowSurrogate","charLength","curByteLength","prevCodePoint","modules","installedModules","moduleId","loaded","ask","ignoreKeys","specificKeys","registerOnChange","unRegisterOnChange","docElem","currentElement","currentInput","currentIntent","currentTimestamp","shouldPersist","formInputs","functionList","ignoreMap","specificMap","inputMap","keydown","keyup","mousedown","mousemove","MSPointerDown","MSPointerMove","pointerdown","pointermove","touchstart","touchend","mousePos","pointerMap","supportsPassive","addListeners","setPersist","PointerEvent","setInput","setIntent","MSPointerEvent","detectWheel","setElement","clearElement","sessionStorage","getItem","doUpdate","eventKey","which","ignoreMatch","specificMatch","shouldUpdate","validateTouch","persistInput","activeElem","nodeName","checkClosest","fireFunctions","detectScrolling","classList","setItem","timestamp","touchIsValid","onmousewheel","screenX","screenY","ElementPrototype","matches","msMatchesSelector","webkitMatchesSelector","nodeType","opt","eventType","objPos","clearStorage","h32","xxh_update","PRIME32_2","PRIME32_1","PRIME32_3","PRIME32_4","PRIME32_5","XXH","digest","v1","v2","v3","v4","total_len","memsize","memory","isArrayBuffer","isString","str","utf8","charcode","toUTF8Array","bEnd","p32","PRIME64_1","PRIME64_2","PRIME64_3","PRIME64_4","PRIME64_5","XXH64","p64"],"ignoreList":[],"sourceRoot":""}